بتـــــاريخ : 2/26/2011 12:06:47 AM
الفــــــــئة
  • الحـــــــــــاسب
  • التعليقات المشاهدات التقييمات
    0 1484 0


    الأداة Linguist وملفات الترجمة هل يكفي هذا لتنطلق الى Qt

    الناقل : elmasry | العمر :42 | الكاتب الأصلى : مصفوفة | المصدر : www.arabteam2000-forum.com

    كلمات مفتاحية  :

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

    الترجمة
    ملفات الترجمة هي ملفات تقوم بتحويل برنامجك الى اللغة التي تريدها معتمدة في ترميزها على 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 بمعرف كيف تحدد لغة الترجمة
     
    ارفق صورة
     
    • Resized to 51% (was 1280 x 800) - Click image to enlargeارفق صورة : monthly_07_2008/post-164107-1215181239.jpg
    • Resized to 51% (was 1280 x 800) - Click image to enlargeارفق صورة : monthly_07_2008/post-164107-1215181253.jpg
    • Resized to 51% (was 1280 x 800) - Click image to enlargeارفق صورة : monthly_07_2008/post-164107-1215181284.jpg
    • Resized to 51% (was 1280 x 800) - Click image to enlargeارفق صورة : monthly_07_2008/post-164107-1215181300.jpg

    كلمات مفتاحية  :

    تعليقات الزوار ()