كيفية جعل بلدي .صافي التطبيق دعم لغات مختلفة

StackOverflow https://stackoverflow.com/questions/90061

  •  01-07-2019
  •  | 
  •  

سؤال

تطبيق أنا أكتب كاملة تقريبا و أحب الناس الذين يتكلمون لغات مختلفة لاستخدامها.

أنا لست متأكدا من أين تبدأ ، ما الفرق بين العولمة والثقافة في ما يخص البرمجة ؟

كيف تأخذ من غير المألوف عبارات مثل "هذا التطبيق بنيت أن تفعل هذا وذاك" بدلا من ملف فتح ، حفظ الخ...وتحويلها إلى القول الإسبانية ؟

شكرا :-)

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

المحلول

مايكروسوفت لديها بالفعل جيدة جدا البرنامج التعليمي

نصائح أخرى

لديك بمختلف الأمور إلى "العولمة" التطبيق.

1) ترجمة كل تسمية في النماذج الخاصة بك و التحكم في التطبيق الخاص بك

تحتاج إلى تعيين الخاصية "القابلة للترجمة" إلى true على كل شكل و التحكم.هذه الخاصية تمكن من خلق موارد الملفات في كل لغة و المنطقة.الآن, مع خاصية "اللغة" ، يمكنك اختيار اللغة التي تريد الدعم.عند تحديد لغة في قائمة مربع التحرير والسرد إلى النموذج الخاص بك (أو التحكم) سوف تحول تلقائيا إلى هذه اللغة.الآن هو العمل من أجل ترجمة كل كلمة في التحكم.في أقرب وقت كما كنت تفعل تعديل Visual Studio سيتم إنشاء ملف الموارد لغة معينة.(في المثال ، MyForm.fr-FR.resx الفرنسية-فرنسا).

2) استيراد كل سلسلة ضمنية في التعليمات البرمجية في الملف resx

إنشاء ملف الموارد (شخصيا, أنا استخدم StringTable.resx) و إضافة كل سلسلة ترجمة في هذا الملف.بعد ذلك قم بإنشاء ملف الموارد لكل اللغة التي تريد دعم ترجمة السلاسل في كل ملف.في سبيل المثال ، إذا كنت ترغب في دعم الفرنسية ، يمكنك إنشاء StringTable.fr.resx أو StringTable.fr-FR.resx الفرنسية-فرنسا.مع ResourceManager الفئة يمكنك تحميل كل سلسلة.

ملاحظة: إذا كنت تستخدم Visual Studio 2005 أو 2008, لديك ملفات الموارد التي تم إنشاؤها بشكل افتراضي.

3) تحتاج إلى وضع النماذج الخاصة بك و التحكم بحكمة

المبادئ التوجيهية من مايكروسوفت: المبادئ التوجيهية مايكروسوفت

4) التعامل مع التاريخ والأرقام

إذا كان التطبيق الخاص بك بإنشاء ملفات البيانات التي يمكن إرسالها إلى مستخدم آخر في منطقة أخرى ، عليك أن تفكر في ذلك عند حفظ البيانات في ملف.لذا دائما الأسهم الخاصة بك التاريخ والوقت في UTC و التحويل المحلية فقط عند تحميل المعلومات.نفس الشيء ينطبق على عدد عشري خاصة إذا تم تخزينها في النص.


عندما كنت سوف ترجمة التطبيق الخاص بك البصرية استوديو سيتم إنشاء ملف قنوات مثل MyApplication.fr.dll في مجلد فرعي fr.لتحميل هذا dll تحتاج إلى تبديل اللغة من الترابط الحالي في بدء تشغيل التطبيق الخاص بك.

هنا كود:

CultureInfo ci = new CultureInfo("fr");
Thread.CurrentThread.CurrentUICulture = ci;

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

http://www.amazon.com/NET-Internationalization-Developers-Applications-Development/dp/0321341384 Image

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

يجب أن يكون هذا جيد جدا حل في أي مكان من 10-1000 السلاسل:

لدي ملف الموارد لكل لغة.أنا لا أعرف .صافي ولكن أنا متأكد من أن هناك بعض الطرق شيوعا للقيام بذلك.ثم في الموارد الخاصة بك جلب الكود, تحميل مناسبة واحدة على أساس المستخدم الخاص بك المتصفح لغة الإعداد.نسأل هذا الكود لجلب لك السليم سلسلة لبعض الرئيسية.

مثال محتويات الملف, إذا كنت على تنفيذها من الصفر:

الموارد.en:

save=Save
close=Close
ok=OK
areYouSure=Are you sure?

الموارد.es:

save=I don't know how to say anything in Spanish, oops
close=...
ok=...
areYouSure=...
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top