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

From Meta, a Wikimedia project coordination wiki
Jump to navigation Jump to search
This page is a translated version of the page ToolTranslate and the translation is 100% complete.

Other languages:
English • ‎dansk • ‎español • ‎français • ‎polski • ‎português • ‎português do Brasil • ‎svenska • ‎беларуская (тарашкевіца)‎ • ‎українська • ‎العربية • ‎مصرى • ‎ਪੰਜਾਬੀ • ‎ဖၠုံလိက် • ‎中文 • ‎한국어
ترجمة الأدوات وقت الاستخدام

هذا دليل مخصص لأداة ترجمة الأدوات. لا تتردد في ترجمته!

الغرض

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

الترجمة

  1. اذهب إلى الأداة
  2. لو طلب منك ذلك، امنح الأداة تصريحا
  3. اختر أداة كي تترجمها من القائمة المنسدلة في الجزء الأعلى أو القائمة الموجودة في الصفحة الرئيسية
  4. اختر أو أضف اللغة التي ترغب في الترجمة إليها
  5. انقر مرتين على «الخانة» التي يجب أن تذهب ترجمتها إليها أو الترجمة التي ترغب في تحسينها
  6. أدخل النص الذي ترغب في إضافته. يمكنك استخدام كود إتش تي إم إل (لا تستخدم جافاسكريبت!). قد يوجد اقتراح للترجمة من أداة أخرى يحتوي على «اسم رئيسي» والذي يمكنك استخدامه كأساس للنص الذي سوف تكتبه.
  7. اضغط على «OK». انتهى الأمر! بغض النظر عن حدوث توقف في متصفح الإنترنت، سوف تظهر ترجمتك في الأداة المعنية في المرة التالية التي تحملها فيها.

الموارد

تقنية

تخزن الترجمات في قاعدة بيانات على المعامل. تحفظ المراجعات السابقة للترجمات وتعزى الترجمات إلى المحرر المعني. (توجد أداة «أحدث التغييرات» متاحة).

كي نيسر الوصول إلى بيانات الترجمة تخزن كافة الترجمات في ملفات JSON والتي تحدث بعد كل تغيير. مثال «demotool1»:

  • toolinfo.json هو ملف JSON يحتوي على معلومات تتعلق بالأداة
  • en.json هو ملف JSON يحتوي على الترجمة الإنجليزية لتلك الأداة. اللغات الأخرى تستعين بذات الطريقة مستخدمة كود اللغة المعنية

يوجد أيضا ملف JSON يحتوي على كافة اللغات الصالحة للاستخدام.

قاعدة البيانات

تخزن البيانات المصدرية في قاعدة بيانات s53069__tooltranslate_p على قاعدة بيانات الأدوات (tools-db) الموجودة في معامل الأدوات (mysql --defaults-file=~/replica.my.cnf -h tools-db s53069__tooltranslate_p). يمكن الحصول على البيانات من هناك أيضا لو تطلب الأمر ذلك. الجداول التالية متاحة:

  • tool

  • id | name | label | url | owner

  • translation

  • id | tool_id | language | key | json | user | timestamp | current

كيفية الاستخدام: إتش تي إم إل/جافاسكريبت

كيفية الاستخدام: بي إتش بي

توجد فئة بي إتش بي يمكنك إضافتها على المعامل، كما يلي:

require_once ( "/data/project/tooltranslate/public_html/tt.php") ;

يمكنك بعد ذلك تمثيل الفئة:

$tt = new ToolTranslation ( array ( 'tool' => 'your_tool_key' , 'language' => 'de' , 'fallback' => 'en' , 'highlight_missing' => true ) ) ; // كل شيء عدا 'tool' هو أمر اختياري

الاستخدام مباشرة

يوجد سبيلين إثنين لاستخدام ترجمة الواجهة مستخدما بي إتش بي. الأولى هي الحصول على السلسلة النصية مترجمة مباشرة

print "<p>" . $tt->t('translation_key') . "</p>" ;

إلا أن هذا الأمر يحتوي على عيب وهو أن الترجمة لا يمكن تغييرها دون إعادة تحميل الصفحة.

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

يمكنك بدلا من ذلك إضافة «وسوم ترجمة» إتش تي إم إل (طالع ما سبق) ومن ثم تضيف الفئة استدعاء جافاسكريبت المطلوب. الميزة الأخرى هي أن فئة بي إتش بي لا تحتاج لتحميل أية ملفات ترجمة لو لم تستخدم مطلقا الترجمة «المباشرة» المذكورة فيما سبق. كي تستخدم ترجمات إتش تي إم إل/جافاسكريبت، يجب أن يحتوي قسم <head> من كود إتش تي إم إل المستخدم في صفحتك على

<script src="https://tools-static.wmflabs.org/tooltranslate/tt.js">

(سوف تحتاج أيضا jQuery). حينما تولد الصفحة اكتب ما يلي بدلا مما سبق:

print "<p tt='translation_key'></p>" ;

سوف تحتاج أن تكتب في مكان ما في المخرجات (ربما في النهاية) كود الاستدعاء:

print $tt->getJS() ;

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

<div id='tooltranslate_wrapper'></div>

ومن ثم ضع فاتح jQuery بصفته المتغير كي تحصل على استدعاء وسيلة جافاسكريبت:

print $tt->getJS('#tooltranslate_wrapper') ;

طالع هذه الأداة كي تشاهد مثال عملي.