أداة قوية توفر القدرة على ترجمة النص أثناء الطيران ، والتي يمكن أن تكون مفيدة عند تطوير Restapi مع تعدد اللغات
dotnet add package OftobTech.AppLocalizator
أو عبر أدوات Nuget في Visual Studio
إنشاء مجلد Lang في جذر المشروع المنشور
داخل هذا المجلد ، يمكنك إنشاء ملفات ترجمة ، على سبيل المثال
en.txt
jp.txt
ar.txt
ثم لا يمكنك استخدام هذه الأدوات في الكود
using OftobTech . AppLocalizator ;
OftobTech . AppLocalizator . Reader . UpdateLangs ( ) ;
var message = T . Compile ( "[Text to transalete]" ) ;
Console . WriteLine ( message ) ;[sentence for translate] : [translated sentence]
[sentence for translate] : [translated sentence]
[sentence for translate] : [translated sentence]
....يجب أن تنتهي كل جملة مترجمة بالانتقال إلى سطر جديد ، وفاصل النص للترجمة والنص المترجم هو قولون
تدعم المكتبة أيضًا الحد الأدنى من التكوين ، والذي يتيح لك تكوين اللغة الافتراضية وموقع المجلد مع ملفات الترجمة بالنسبة للمشروع.
إذا لم يتم إنشاء ملف التكوين ، فسيتم أخذ الافتراضي:
# The default language will be used if it
# was not passed an additional parameter when using the library
DefaultLang: en
# The address of the language files can be either relative or absolute
LangsFilesPath: Langs يمكنك إنشاء بيانات الملف يدويًا باستخدام المسار التالي config/lang.conf
أو استدعاء البناء التالي:
using OftobTech . AppLocalizator ;
OftobTech . AppLocalizator . Config . PublishConfig ( ) ;الذي سيقوم تلقائيًا بإنشاء التكوين الافتراضي
لتغيير اللغة أثناء تنفيذ البرنامج ، تحتاج إلى استدعاء طريقة setLang(string lang)
using OftobTech . AppLocalizator ;
T . setLang ( item . DeviceLanguage ) ;يمكن أيضًا استدعاؤه في كل مرة قبل الترجمة ، (تجدر الإشارة إلى أن آخر لغة مكشوفة يتم تذكرها)
using OftobTech . AppLocalizator ;
T . setLang ( item . DeviceLanguage ) . Compile ( "[Text to transalete]" ) ; لترجمة السلاسل مع المعلمات في ملف الترجمة ، تحتاج إلى تضمين المعلمات في سلسلة الترجمة ، ويتم ذلك عن طريق لف بعض معرف المعلمة في أقواس مجعد مثال:
Hello : Hello {parametr_1} {parametr_2} لترجمة مثل هذه السلسلة إلى طريقة الترجمة ، تقوم سمة الاستبدال بتمرير كائن مع Dictionary<string, string> ، حيث يكون المفتاح هو معرف المعلمة (بدون قوسين مجعد) ويجب استبدال القيمة بـ
مثال
using OftobTech . AppLocalizator ;
var params = new Dictionary < string , string > ( ) {
{ "parametr_1" , "beautiful" } ,
{ "parametr_2" , "world!" } ,
}
T . setLang ( item . DeviceLanguage ) . Compile ( "Hello" , params ) ; تدعم المكتبة 2 وضعين ترجمة الوضع العادي والتوقيت ، في الوضع العادي ، إذا لم يتم العثور على سلاسل مناسبة في ملفات الترجمة ، يتم إرجاع السلسلة التي تم تمريرها ، في الوضع الصارم ، إذا لم يتم العثور على سلسلة الترجمة ، فسيتم إرجاع فارغة
مثال
using OftobTech . AppLocalizator ;
T . Compile ( "[Text to transalete]" , true ) ;
/// OR
T . Compile ( "[Text to transalete]" , params , true ) ; هناك حالات عندما تكون هناك حاجة إلى إضافة أو تحديث ملفات اللغة ، ولكن لا يمكنك إعادة تشغيل التطبيق ، ثم يمكن أن تصل طريقة updatelangs () إلى مساعدتك ، مما يتيح لك تحديث الترجمات في ذاكرة التطبيق أثناء الطيران
using OftobTech . AppLocalizator ;
OftobTech . AppLocalizator . Reader . UpdateLangs ( ) ;