سؤال

لدي العديد من تطبيقات MFC الكبيرة هنا، وتحويلها إلى أي تنسيق آخر غير من السؤال. نحن نتوسع في أسواق أخرى، وترغب في عمل التطبيقات بلغات وثقافات أخرى.

حتى الآن، وجدت مراجع عرضية فيما يتعلق بما يجب القيام به مع Visual C ++ الإصدار 6، مع ذكر واحد أن الإصدارات الأحدث من MFC لديها ميزات إضافية ذات صلة. يبحثني البحث عن MSDN تعليمات حول كيفية تحويل التطبيقات إلى Unicode، والتي فعلناها بالفعل. لم أجد شيئا على MSDN حول كيفية عمل اللغات متعددة اللغات بمجرد أن تكون في Unicode، فقط بعض الأشياء الأكبر سنا باستخدام Google وكتاب واحد حول التدويل باستخدام VC ++ 6. (نحن نستخدم Visual Studio 2008 الآن، على XP و Vista.)

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

هل من المعقول استخدام طرق VC ++ 6، أو يجب أن أستخدم ميزات لاحقة؟

إذا كان يجب عليك استخدام الميزات في وقت لاحق من ذلك، أين يمكنني العثور على بعض الإشارة إليها؟

هل هناك شيء ما يجب أن أشعر بالقلق بشأنه بخلاف تحديد اللغة، وتحويل جميع السلاسل إلى الموارد، وتكرار الموارد بلغات مختلفة؟

يمكنني العثور على المزيد من الأشياء حول تدويل .NET، لكنني عديم الخبرة في .NET. ما الذي سأجده هناك هذا ينطبق على VC ++ و MFC؟

تحرير: لقد ركضت للتو صعوبات في محاولة وضع سلاسل Unicode في مورد جدول السلسلة. (بقدر ما أستطيع أن أقول، يجب إدخال سلاسل Unicode في ملف .rc باستخدام محرر نصوص، في نموذج L "0x0034". لم أجد طريقة محرر الموارد للقيام بذلك.) أي نصائح حول ذلك؟ أي مورد آخر يمكنني استخدامه في VS2008 باستخدام VC ++ و MFC؟

تحرير: اقترح شخص ما على منتدى Microsoft أن أفتح ملف .rc المخالف في المفكرة، وحفظه في Unicode. لسوء الحظ، هذا لا يبدو أنه إصلاح الحوار، على الرغم من أن StringTable يبدو أنه يعمل باللغة اليابانية.

هل كانت مفيدة؟

المحلول

هناك الكثير أكثر من مجرد ترجمة "سلاسل" لتدويل الطلب.

ستحتاج إلى تحديث معظم واجهة المستخدم الخاصة بك أن تأخذ في الاعتبار أطوال النص المختلفة، واتجاه اللغة (شيء العبرية، الصينية، العربية، ...)

يجب تغيير بعض الصور أيضا لتناسب ثقافة مختلفة (لسوء الحظ، ليس لدي مثال لذلك)، إما أن التصاريح مختلف أو الألوان لا تناسب المواصفات المحلية.

نحن نستخدم أداة مثل apptranslator. لمساعدتنا في القيام بتوطين التجميل (إعادة التنسيق UI) واستخدام مترجم فني محترف للأسلوتات.

نصائح أخرى

يمكنك أيضا إنشاء مورد DLL فقط

يرى كيفية إنشاء dlls موارد موضعة لتطبيق MFC لمزيد من التفاصيل.

يمكنك تدويل التطبيق الخاص بك باستخدام الطرق التالية.

بعد تحويل التطبيق إلى Unicode (قمت بالفعل بفعل) ويجب تحميل جميع السلاسل من جدول السلسلة.

  1. لكل لغة تحتاج إلى تغيير جدول السلسلة وتجميعها

  2. هناك طريقة أخرى هي الحفاظ على ملف XML يحتوي على جميع السلاسل في التنسيق المتروي. قم بتحميل XML وسلاسل بناء على اللغة.

إليك مقالة Preproject من الألغام التي تصف طريقة "كفاءة الترميز" لسحب السلاسل من جدول السلسلة (مطلوب للنصوص القابلة للترجمة):http://www.codeproject.com/kb/string/stringtable.aspx.

إليك فئة أخرى تساعد تطبيقك على اختيار لغة UI المناسبة. كما أنه يساعدك في إنشاء قائمة اختيار اللغة:http://www.codeProject.com/kb/locale/languagemenu.aspx.

أخيرا وليس آخرا، APPTranslator هو أداة تساعدك على ترجمة واجهة المستخدم الخاصة بالتطبيق الخاص بك، والكشف عن التغييرات التي تم إجراؤها في الموارد منذ الإصدار الأخير، وإنشاء EXE المترجم أو DLLs DLLs وأكثر من ذلك بكثير:http://www.apptranslator.com.

(ملاحظة: أنا مؤلف apptranslator.)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top