دليل الرسائل القصيرة السريعة للمطورين/التدويل
يفسر هذا القسم كيفية ترجمة التطبيق الخاص بك. هذا يصف كيفية التحول من لغة واحدة (اللغة البرمجية والانكليزية عادة) إلى لغة أخرى. أو إذا كنت تريد أن تخدم لغات متعددة في نفس الوقت.
تغيير تعليمات البرمجية لدعم الترجمة
عدل- قم بإنشاء مجلد جديد داخل التطبيق الخاص بك وقم بتسميته locale. في حالتنا :apps/survey/locale
- نحتاج لاستيراد حزم لترجمة النص لدينا في كل ملف الذي يحتوي على سلاسل نصية أو رسائل للترجمة.
- في app.py وmodels.py يجب استيراد مكتبة الترجمة gettext من دجانغو التي تحتوي على ugettext :
from django.utils.translation import ugettext as _
نعطي اسم مستعار لugettext : _ لجعل رمز أكثر وضوحا وأسهل في الكتابة.
- ملاحظة : من المستحسن في واجهة النماذج استيراد وظيفة ugettext_lazy بدلا من ugettext
- لكل رسالة تريد ترجمتها، قم بطلب دالة _() ومرر النص. على سبيل المثال :
message.respond(u"Hello World!") message.respond(_(u"Hello World !"))
لترجمة رسالة مع قيم مدخله، تأكد من ترجمة فقط الشكل :
message.respond(u"Thank you %s. for your opinion" % lname) message.respond(_(u"Thank you %s. for your opinion") % lname)
إذا وجد دجانغو هذه الجملة في ملف django.mo سوف يقوم بالبحث عن الترجمه وإلا فإنه سوف يأخذ النص الافتراضي والذي هو الإنجليزية .
إنشاء ملف الترجمة
عدلوبمجرد الانتهاء من وضع علامة للترجمة في التطبيق الخاص بك، إنشاء ترجمة الملف باستخدام الأمر التالي :
cd apps/myapp mkdir locale django-admin.py makemessages –l ar
دخلت
Compile ملف الترجمة
عدلdjango-admin.py compilemessages
تفعيل الترجمة
عدللتكون قادرة على استخدام الإصدار الخاص للترجمة، تحتاج لتكوين نظام الرسائل القصيرة السريع لاستخدام تلك اللغة.
[bonjour] lang=ar