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

Popular posts from this blog

QFormLayoutشرح ال

QGridLayoutشرح ال