الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تشغيل ملفات الصوت ذات الأسماء العربية

بدأه mohamd4 في 1 أكتوبر 2011 · 7 رد · 1,278 مشاهدة · في قسم البرمجة بــ Javascript
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

قد يكون البعض منكم جرّب الويندوز 8 في نسخته التجريبية.

من برامج الميترو المدمجة "flashcards" وقد أعجبتني وأعجبت الأطفال وأحببت أن أضيف إليه اللغة العربية. وقد وجدت طريقة لفتح المجلد الخاص بالبرنامج.

المشكلة التي تواجهني الآن هي في تشغيل ملفات الصوت التي تحمل أسماء عربية في ملف الجافا سكربت (colors) عندما يكون المسار كامل يقبل العربي، أما إذا كان ناقص فلا يقبل.

FlashCards.Util.soundOnClick(colorDiv,path + "audio/" + card.answer + ".mp3");

FlashCards.Util.soundOnClick(colorDiv,"C:/ProgramFiles/Applications/microsoft.flashcards_1.0.0.32_neutral_neutral_8wekyb3d8bbwe/audio/مربع.mp3");

FlashCards.Util.soundOnClick(colorDiv,path + "audio/square.mp3");

FlashCards.Util.soundOnClick(colorDiv,path + "audio/مربع.mp3");

- "answer" هو اسم متغير للبطاقات في عدة مجلدات (ألوان - أشكال - حيوانات).

- "FlashCards.Util.soundOnClick" هي وظيفة في ملف جافا سكربت آخر (Util).

- جربت أكثر من كود وفقط الكود الأخير لا يعمل وأنا في الأصل لا أريد التغيير في الملف وأريد الكود الأول (الأصلي) أن يعمل مع أسماء الملفات العربية، لأنّ طريقة البرنامج أن يكون اسم الحيوان (مثلاً) مثل اسم الصورة والملف الصوتي وهذا يعمل مع الملفات الانجليزية وليس العربية.

colors.js

util.js

#2

لم استوضح ماهي المشكلة بالضبط ان كانت في تشغيل الملفات ذات الاسماء العربية

استخدم مافي الشرح التاليس لضبط اعدادات اللغة على الـ windows 8

http://www.tech-wd.com/wd/2011/09/23/windows-8-4/

other ESTJ thing

اقتباس
Help Me To Help You

0xBAD00DAD.png

#3

شكراً أخي ihope على الرد السريع.

المشكلة ليست في استخدام اللغة العربية في ويندوز 8 فذلك الأمر سهل، ولكن المشكلة خاصة بالجافا سكربت (أنا أقل من مبتدئ فيها) ولهذا السبب وضعت المشاركة في هذا القسم.

برنامج "flashcards" برنامج جميل لتعليم الأطفال الأشكال والألوان والحيوانات وغيرها، ولكن كل ذلك باللغة الإنجليزية.أحببت أن أضيف اللغة العربية إلى البرنامج، وبعد محاولات نجحت في جعل البرنامج يقبل الكلمات العربية.

بقي الآن الصوت. بإمكاني جعل أسماء ملفات الأصوات العربية باللغة الإنجليزية، ولكن هذا سيتطلب تغييراً كبيراً في البرنامج -كما أعتقد- لأن البرنامج مصمم على أساس تطابق أسماء الملفات، أي يكون اسم الشكل مثلاً داخل الكود -ملف جاسون- هو نفس اسم الصورة ونفس اسم الملف:

(square,square.jpg,square.mp3).يفترض بي أن أجعل الملفات العربية هكذا (مربع، مربع.jpg،مربع.mp3) من دون تغيير على ملف الجافا سكربت المرفق.

ملف السكربت يستخدم الكود التالي لمعرفة مسار الملف الصحيح:

FlashCards.Util.soundOnClick(colorDiv,path + "audio/" + card.answer + ".mp3");

تلاحظ أنّ المسار ديناميكي وهو يعمل عندما يكون اسم الملف انجليزي ولكن لا يعمل عندما يكون اسم الملف العربي، حتى ولو وضعت اسم الملف في الملف:

FlashCards.Util.soundOnClick(colorDiv,path + "audio/مربع.mp3");

الطريقة الوحيدة التي تعمل فيها الملفات العربية هي عندما يكون المسار ثابت وكامل:

FlashCards.Util.soundOnClick(colorDiv,"C:/ProgramFiles/Applications/microsoft.flashcards_1.0.0.32_neutral_neutral_8wekyb3d8bbwe/audio/مربع.mp3");

أنا أريد أن يعمل الكود الأول سواءً كانت أسماء الملفات إنجليزية أو عربية، فماذا علي أن أعمل لحل المشكلة؟ هل أضيف كود معين في الملف حتى يتعرف على غير الحروف الإنجليزية (charset="UTF-8")، أو ماذا؟

قد تكون المشكلة عند دمج النصين لتكوين المسار للملف:

path + "audio/" + card.answer + ".mp3"

تم تعديل هذه المشاركة بواسطة mohamd4 في 2 أكتوبر 2011 في 22:08

#4

افترضت ان المشكلة من الظهور الاحرف العربية في ملفات الجافاسكريبت او الجاسون

الكود التالي يحول الاحرف الى قيمها الرقمية

انسخ الكود التالي واضفه الى المفضلة (مثل الـ bookmarklet في الـ Firefox ) الانترنت اكسبلورر قد يعطيك رسالة ان الجافا سكرريبت بروتوكول لا ينتمي الى برنامج معين ويسال هل تريد ترك جهة الرابط كما هي اقبلها بـ yes

انسخ اسم كل ملف الى النافذة التي ستخرج بعد الضعط على المفضلة (الكود) اعتقد لن يكون هناك مشكلة حتى مع اسماء الملفات كلها

ان كان لديك مشكله في ذلك ارفق الملف الذي يحوي اسماء الملفات

javascript:function decimalToHex(d, padding) {var hex = Number(d).toString(16);padding = typeof (padding) === "undefined" || padding === null ? adding = 2 : padding;while (hex.length < padding) {hex = "0" + hex;}return hex;}p = prompt("\u0623\u062f\u062e\u0644\u0020\u0627\u0644\u0646\u0635\u0020\u0627\u0644\u0639\u0631\u0628\u064a");var i=0 ;s="";while (p) {s+=("\\u" + decimalToHex(p.charCodeAt(i),4) );i++}prompt("\u0627\u0646\u0633\u062e\u0020\u0627\u0644\u062a\u0627\u0644\u064a",s);

املائي

تم تعديل هذه المشاركة بواسطة ihope في 2 أكتوبر 2011 في 23:26

other ESTJ thing

اقتباس
Help Me To Help You

0xBAD00DAD.png

#5

شكراً أخي الكريم على تجاوبك معي.

لست متأكداً كيف استخدم الكود الذي أضفته، ولكني لا أعتقد أنه سيحل مشكلتي.

أنا أتكلم عن برامج الميترو في ويندوز8. لعمل برامج الميترو بإلإمكان استخدام عدة لغات (C#, HTML5 with javascript,etc).

لتشغيل البرنامج نضغط على أيقونته في شاشة البداية. فنحن لا نفتح المتصفح سواءً انترنت اكسبلورر أو فايرفوكس أوغيره.

لفهم مشكلتي تحتاج أن تستخدم ويندوز 8.

أنا أحاول الآن رفع مجلد البرنامج كاملاً إلى أحد المواقع، وسأضع الرابط عند اكتمال العملية إن شاء الله.

تم تعديل هذه المشاركة بواسطة mohamd4 في 3 أكتوبر 2011 في 22:21

#6

رفعت مجلد البرنامج على الميديافاير.

أضف إلى الملفات الأصلية مجلد (xxxcolors) وهو يعرض أسماء الألوان العربية. في بعض المجلدات أحتاج أن أجعل أسماء الصور داخل المجلد باللغة العربية، بالنسبة للألوان فلا حاجة للصور لأنّ البرنامج ينتجها بنفسه.

لتشغيل ملفات الصوت ملف الجافاسكربت (colors.js) يختار اسم الملف والمسار حسب اسم اللون أو الشكل في ملف (deck.json).

كما قلت أعتقد أنّ المشكلة لأسماء الملفات العربية تحدث عند تكوين المسار :

path + "audio/" + card.answer + ".mp3"

تم تعديل هذه المشاركة بواسطة mohamd4 في 4 أكتوبر 2011 في 19:53

#7

جرب تغيير ملف xxxcolors/deck.json

بالملف في المرفقات

deck.rar

other ESTJ thing

اقتباس
Help Me To Help You

0xBAD00DAD.png

#8

جربت تغيير الملف ولكن لم يتغير شيء.

لا أعتقد أنّ ملف الجاسون له علاقة مباشرة بالصوت وإنما بعرض الأسماء وبيانات الشرائح (decks).

ملفك المرفق يساعد في عرض الحروف العربية، ولكني أستطيع فعل ذلك بالكتابة باللغة العربية مباشرة والحفظ بترميز (UTF-8). في البداية لم يعمل الملف بسبب أنّ المفكرة (notepad) يحفظ مع شيء يدعى (BOM)، لا أعرف معناه ولكن بعد البحث عرفت المشكلة واستخدمت محرر آخر لتحويل الملف إلى (UTF-8 Without BOM).

فالآن لا مشكلة عندي في عرض اللغة العربية.

المشكلة هي تشغيل ملف الصوت عندما يكون اسم الملف عربي وفقط عند لا يكون المسار كاملاً وتعيين المسار في ملف الجافا سكربت.

الغريب في الأمر أنّ اختيار الصورة ومسارها يتم بطريقة متشابهة وقد جربت تسمية بعض الحيوانات في ملف الجاسون باللغة العربية وتسمية الصور المرتبطة بنفس الأسماء العربية ولا مشكلة في العرض، ولكن المشكلة في الصوت فقط. المف المرتبط بالحيوانات (Vocabulary.js).

الملف المرفق فيه صورة للشاشة الرئيسية للبرنامج وصور داخلية لأحد الألوان. (تقطيع الاسم في شاشة الألوان لنطق كل حرف لوحده في اللغة الانجليزية).

FC-Screenshots.rar

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…