الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

الأداة Linguist وملفات الترجمة

بدأه مصفوفة في 4 يوليو 2008 · 1 رد · 2,212 مشاهدة · في قسم Cross Platform GUI Libraries العام
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

الترجمة

ملفات الترجمة هي ملفات تقوم بتحويل برنامجك الى اللغة التي تريدها معتمدة في ترميزها على unicode وفي كتابتها على XML وينتهي مسارها ب ts .

تفيد هذه الملفات في ترجمة البرنامج الى اللغة المطلوبة

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

وسوف نناقش هذا الموضوع ونتطرق الى بعض الأمثلة لكن في البداية دعنا نتطرق الى محتوى ملف ts

 
<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE TS><TS version="1.1" language="ar">

<defaultcodec></defaultcodec>

<context>

<name>QPushButton</name>

<message>

<location filename="ui/dialog.ui" line="13"/>

<source>Dialog</source>

<translation>Dialogo</translation>

</message>

<message>

<source>ahmed</source>

<translation>احمد</translation>

</message>

<message>

<source>mohammed</source>

<translation>محمد</translation>

</message>

<message>

<source>alabdaly</source>

<translation>العبدلي</translation>

</message>

</context>

</TS>

ي هذا المثال لملف ts قمنا بفتح ملف xml وكأهم المتغيرات في الملف هو

1.

name ويجب ان تدخل اسم الصف الذي سيقوم بترجمته

2.

Message وتحوي على الكلمة source وترجمتها translation

اما مابقي فأطبعه مثل ماهو عليه

2-كيف نصنع الملف ثنائي دو امتداد qm انظر الصورة رقم 2

3 كيف نقوم بضم ملف الترجمة الى المشروع

اضف الى الملف pro الأمر التالي

TRANSLATIONS += myname.ts

او

TRANSLATIONS = myname.ts

ان كان هناك ملف واحد فقط

كيف نتعامل معها من داخل البرمج

يجب عليك استدعا الصف Qtranslator

ومن ثم استدعاء الدالة load واضافة ملف الترجمة اليها (الإسم فقط بدون المسار)

ومن ثم اضافة مؤشر من نوع Qtranslator الى الدالة Qapplication::setTranslator

وهكذا يصبح معك هذا الشكل

   	 	 	 	 	 	  
#include <QApplication>

#include <QtGui>

#include <QtCore>

//

int main(int argc, char ** argv)

{

QApplication app(argc, argv);

QTranslator translator;

translator.load("myname");

app.installTranslator(&translator);

QPushButton hello(QPushButton::tr("mohammed"));

hello.show();

return app.exec();

}

ولو قمت بترجمة المشروع سينتج معك الشكل التالي انظر الصورة رقم 3 وأنظر الصورة رقم 4 بمعرف كيف تحدد لغة الترجمة

post-164107-1215181239_thumb.jpg

post-164107-1215181253_thumb.jpg

post-164107-1215181284_thumb.jpg

post-164107-1215181300_thumb.jpg

بسم الله الرحمن الرحيم

مدونة دوال

كيوتي العربي

#2

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

,.,.,..,,.,.,.,,.,,.

اطيب المُنى

تم تعديل هذه المشاركة بواسطة رغـــــــــد في 5 يوليو 2008 في 10:21

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

مواضيع مشابهة