Multi-language pyqt application
Translating Applications:
Qt Linguistبرنامج ال علشان تخلي التطبيق بتاعك يدعم كذا لغة(يترجم لكذا لغة) نستخدم
لربط ملف الترجمة بالبرنامج(الكود). QTranslatorلتوليد ملف ترجمة الواجهة وكلاس ال
For Multi-language application: لإعادة تحميل الترجمة المطلوبة للبرنامج self.retranslateUi(mainclass)نستخدم دال لإزالة الترجمة القديمة removeTranslator()ونستخدم دالة Example for multi-translation: |
الخطوات:
:من خلال كتابة الأمر التاليmain.tsإلي ملفuntitled.uiنستخرج النصوص المراد ترجمتها في البرنامج بتحويل ملف ال-1
In Cmd:>>> cd path of untitled.ui
In Cmd:>>> pyside6-lupdate untitled.ui -ts main.ts
والكود كله في ملف بايثون بنحول ملف البايثون كالتالي:untitled.uiوفي حالة لو مش بنستخدم ملف
In Cmd:>>> pyside6-lupdate main.py -ts main.ts
إلي اللغة المطلوبة: Qt Linguist من خلال برنامج الmain.ts نترجم ملف ال -2
نذهب إلي مسار الملف ونختار الملف ثم نقوم main.tsثم تظهر لنا نافذة لفتح ملف الopenنقوم بفتح البرنامج ونذهب إلي قائمة
source languageتظهر لنا قائمة نختار ال Translation File Settingsثم نختار منها Editبفتح البرنامج ونذهب إلي قائمة
اللغة المراد الترجمة إليها ثم نضغط موافق,يتم تحميل واجهة البرنامج بتاعك وتحميلtarget language اللغة الإنجليزية ونختار ال
من جوا نافذة Translation to نختار كل نص ونكتب ترجمته في خانة stringsجميع النصوص اللي في برنامجك داخل نافذة ال
ثم نضغط علي الأداة اللي عليها رمز صح+سهم يمين لتأكيد الترجمة والإنتقال للنص التالي وفي النهاية نحفظSource textال
.Saveالملف من أداة
من خلال الأمر التالي: اللذي يفهمه البايثونmain.qmمرة ثانية إلي ملف main.ts نقوم بتحويل ملف ال-3
In Cmd:>>> cd path of main.ts
In Cmd:>>> pyside6-lrelease main.ts -qm main.qm
ونخزن فيه ملف الترجمة كالتالي: qrcنعمل ملف بإمتداد -4
<!DOCTYPE RCC><RCC version="1.0">
<qresource>
<file>main.qm</file>
</qresource>
</RCC>
:self.setupUi(self5-يتم تحميل الترجمة إلي البرنامج بإستخدام الكود التالي ويجب وضعه قبل دالة (
t = QTranslator(app)
t.load('translations/example_de.qm')
app.installTranslator(t)
يظهر في بداية تشغيل البرنامج ويمكنك من خلاله إختيار اللغة QInputBoxيمكن عمل
قم بتنزيل الصورة في الأسفل وتكبيرها حتي تستطيع قراءة المقال باللغة العربية بشكل أوضح:
Comments
Post a Comment