78. أساسيات التدويل (i18n)
التدويل (i18n) هو عملية تصميم تطبيق بحيث يمكن تكييفه مع لغات ومناطق مختلفة دون الحاجة إلى تغييرات هندسية. يوفر Angular أدوات قوية لذلك.
المفاهيم الرئيسية
- التعريب (Localization - l10n): عملية تكييف التطبيق مع لغة محلية محددة (على سبيل المثال، الألمانية، الفرنسية الكندية).
- اللغة المحلية (Locale): مجموعة من اللغة والمنطقة (على سبيل المثال،
en-US،fr-CA). - ملفات الترجمة (Translation Files): ملفات تحتوي على أزواج مفتاح-قيمة تربط النص المصدر بالنص المترجم (على سبيل المثال، XLIFF، JSON).
وضع علامات على النص للترجمة
يعتمد دعم i18n المدمج في Angular على سمة i18n لتحديد العناصر القابلة للترجمة.
html
Welcome to the App
Hello, {{ username }}!
الاستخراج والترجمة
-
الاستخراج: يقوم CLI باستخراج كل النص المُعلَّم إلى ملف ترجمة مصدر: bash ng extract-i18n --output-path src/locale
-
الترجمة: يوفر المترجمون ملفات مُعربة (على سبيل المثال،
messages.fr.xlf،messages.ar.xlf).
خدمة التطبيق المُعرَّب
يتطلب Angular عملية بناء منفصلة لكل لغة، يتم تهيئتها في angular.json.
bash
البناء للغة الفرنسية، باستخدام ملف الترجمة الفرنسي
ng build --configuration=production-fr
ملاحظة حول RTL (من اليمين إلى اليسار): بالنسبة للغات مثل العربية (ar)، يجب تكييف تهيئة البناء، غالباً عن طريق توفير ملف CSS خاص بـ RTL يقوم Angular بتحميله بشكل شرطي. تدعم مكونات Angular هذا بشكل طبيعي.