ae
لغة
  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr
ترجمة AI
  • ee
  • ae
  • cn
  • vn
  • id
  • eu
  • il
  • gr
  • no
  • fi
  • dk
  • se
  • tr
  • bg
  • nl
  • it
  • pl
  • hu
  • ro
  • ua
  • cs

كيفية ترجمة ريدماين إلى أي لغة

12/16/2023
5 minutes
لوكاس بينا

واحدة من أعظم ميزات Redmine هي أنه يمكنك بسهولة ترجمة تطبيق إدارة المشاريع هذا إلى أي لغة تريدها.

تنويه: تنطبق المعلومات في هذه المقالة فقط على Redmine ولا تنطبق على Easy Redmine.

عندما يتعلق الأمر بترجمة Redmine ، يجب عليك ترجمة بعض الأشياء:

  • ملف اللغة الأساسي: يقع هذا الملف في الجذر الحالي في المصدر: /trunk/config/locales.
  • ملف لغة شريط أدوات الويكي: يقع هذا الملف في المصدر: trunk/public/javascripts/jstoolbar/lang
  • 4 ملفات مساعدة مجمعة: تقع جميع هذه الملفات في المصدر: trunk/public/help/ تحت مجلد يحمل اسم اللغة الفرعية

كحالة للإشارة ، فلنفترض أنك ترغب في ترجمة تطبيق Redmine إلى اللغة الفنلندية (يحدد سجل العلامة الفرعية للغة اللغة بأنها "fi"). للقيام بذلك ، يجب عليك اتباع الخطوات التالية:


الخطوات

  • الخطوة 1: انسخ والصق /config/locales/en.yml إلى /config/locales/fi.yml
  • الخطوة 2: انسخ والصق /public/javascripts/jstoolbar/lang/jstoolbar-en.js إلى /public/javascripts/jstoolbar/lang/jstoolbar-fi.js
  • الخطوة 3: انسخ والصق /public/help/en/* إلى /public/help/fi/*.
  • الخطوة 4: قم بتعديل مفتاح general_lang_name بالاسم الكامل للغة الجديدة في fi.yml (في هذا المثال: general_lang_name: Finnish)
  • الخطوة 5: بعد ذلك ، قم بمسح ذاكرة التخزين المؤقت للتطبيق. سيتيح هذا الأمر توفر اللغة الجديدة (الفنلندية) في برنامج Redmine (على سبيل المثال ، rake tmp: cache: clear)

بعد اتباع الخطوات المذكورة أعلاه ، قم بالمتابعة على النحو التالي:

  • الخطوة 6: قم بترجمة كل سلسلة في ملفات jstoolbar-fi.js و fi.yml وقم بترجمة محتوى 4 ملفات مساعدة (wiki_syntax_markdown.html ، wiki_syntax_textile.html ، wiki_syntax_detailed_markdown.html و wiki_syntax_detailed_textile.html)
  • الخطوة 7: استخدم مهام rake (تم تفصيلها أدناه) لاختبار الترجمة الخاصة بك. يجب إصلاح أي أخطاء (إذا حدثت) تتعلق باللغات.
  • الخطوة 8: قدم ترجمتك على شكل تصحيح أو ملف عادي (سيتطلب تسجيل الدخول). من قائمة الفئة ، حدد "الترجمة".
  • الخطوة 9: أخيرًا والأهم ، استمتع بعمل الترجمة الخاص بك!


مهام rake الاختبارية:

  • إذا كنت تستخدم إصدار Ruby 1.9 أو أحدث:

rake locales: check_parsing_by_psych

  • على جميع إصدارات Ruby:

rake locales: check_interpolation

  • اختبار كامل (اختياري): rake test

تذكر أن "rake test" يستغرق وقتًا طويلاً ويعمل تلقائيًا على خادم CI (التكامل المستمر).


القيود المفروضة

لاحظ أن هناك قيودًا معينة في المكان

  • يجب أن تكون جميع الملفات مشفرة بتنسيق تحويل الشكل العالمي لليونيكود (UTF-8). في السلاسل المترجمة ، لا تستخدم كيانات HTML (لغة ترميز النص الفائق).
  • تأكد من أن الملفات الخاصة بك لا تحتوي على علامة ترتيب البايت (BOM). يمكنك إزالة علامة ترتيب البايت باستخدام هذا الأمر: awk '{if(NR==1)sub(/^\xef\xbb\xbf/, "");print}' < oldfile > newfile
  • يجب عليك تقديم التحديثات فقط استنادًا إلى ملفات ترجمة جديدة (يمكنك العثور على هذه التحديثات في /config/locales)


تحديثات لملفات اللغة

يعمل ملف "en.yml" بصفته ملف اللغة الأساسي. باستخدام rake locales: update ، يمكنك التحقق مما إذا كان يحتوي على سلاسل جديدة. يقوم هذا الأمر بنسخ أي من السلاسل الجديدة إلى ملفات الترجمة الأخرى (القيمة الافتراضية هي الترجمة الإنجليزية).

في الترجمة في Redmine ، يمكنك أيضًا تمكين الوحدات الإضافية من الطرف الثالث لدعم الترجمات التي تتكون من مصطلحات قابلة للتخصيص.


تخصيص المصطلحات عبر الترجمة في ريدماين

  • قم بتعيين الدليل الحالي إلى config/overrides/<locale> داخل المكون الإضافي
  • انسخ الملف 000.yml الحالي إلى ./XXX.yml. هنا "XXX" هو رقم مكون من ثلاثة أرقام يحدد أولوية تعريفاتك: كلما زاد الرقم، زادت الأولوية. من الأفضل تجنب إنشاء 999.yml. سيتيح لك ذلك ترك مساحة أكبر للتعديلات الإضافية.
  • تصفية تلك التعريفات المحددة التي لا ترغب في تعديلها. بهذه الطريقة، سيتمكن الملف ذو الأولوية الأقل من تطبيق تعديلاته على العناصر التي لا ترغب في التدخل فيها.
  • على المصطلحات المتبقية، قم بتطبيق تعريفاتك الخاصة


المصطلحات التي يمكن تخصيصها في المكون الإضافي الخاص بك

  • كما هو معتاد، قدم ملفات الترجمة تحت config/locales، للعمل بشكل صحيح عندما لم تقم بتثبيت المكون الإضافي. إذا لم تفعل ذلك، يجب عليك طلب هذا المكون الإضافي بشكل صريح في init.rb الخاص بك. إذا كنت تبحث عن مزيد من المعلومات، تحقق من وثائق ريدماين
  • انسخ ملفات الترجمة الخاصة بك تحت config/locales
  • بالنسبة لكل مصطلح مدرج في 000.yml والذي يمكن تجاوزه، قم بتغيير الترجمات لتطبيق التداخل. على سبيل المثال، عندما تقوم بطباعة مسألة، يجب أن تقوم بتبديل الكلمة بـ %{issue}. علاوة على ذلك، عندما تقوم بطباعة مسألة(مسائل)، يجب أن تقوم بتبديل الكلمة بـ %{issue_or_issues}.
  • يمكنك دعم عدد أكبر من المصطلحات التي يمكن تجاوزها في المكون الإضافي الخاص بك. ومع ذلك، إذا كنت تستخدمه أيضًا في ريدماين الأساسية، يجب عليك إضافة تعريفات متداخلة لمصطلحات ريدماين.

على سبيل المثال، يمكنك دعم مصطلح جديد %{my_term} في ملفات الترجمة الخ

جرب Easy Redmine في تجربة مجانية لمدة 30 يومًا

ميزات كاملة، محمية SSL، نسخ احتياطية يومية، في موقعك الجغرافي