تخطَّ إلى المحتوى الرئيسي

قواعد اللغة والـ RTL

سلوك تبديل اللغة

سلوك تبديل اللغة — التوثيق قيد الإعداد.

مكتمل

مبدّل اللغة في شريط الأدوات بالـ Header (ديسكتوب) و drawer الموبايل. هو globe-icon dropdown يعرض كل الـ 3 locales المدعومة — EN و AR فقط نشطتان؛ FR تحمل شارة "Soon" ومعطّلة.

الخيارات الـ 3 في الـ Dropdown

✨ العربية (Arabic)
تسمية أصلية "العربية". تبدّل الـ URL إلى `/ar/...` وتضبط `dir="rtl"`. نشطة فوراً.
✨ English
تسمية أصلية "English". تبدّل الـ URL إلى `/en/...` وتضبط `dir="ltr"`. نشطة فوراً.
Français (مع شارة "Soon")
معطّلة. تحمل شارة "Soon" برتقالية صغيرة. النقر لا يفعل شيئاً — العنصر غير قابل للاختيار حتى يصل تأليف محتوى FR.

سلوك التبديل (تقني)

  1. المستخدم ينقر خيار locale.
  2. `I18nService.setLocale(next)` يحدّث `locale` signal.
  3. الـ Header يقرأ الـ URL الحالي عبر `window.location.pathname`.
  4. بديل regex (`/^\/(ar|en)(?=\/|$)/`) يستبدل قطعة الـ locale بالجديدة، مع حفظ باقي المسار + query + hash.
  5. `router.navigateByUrl(swapped)` يطلق توجيه Angular؛ الـ locale الجديد يُعرض، `dir` ينقلب، lookups القاموس تأخذ الـ locale الجديد.
  6. الـ Dropdown يُغلق تلقائياً عبر `@HostListener("document:click")` عند النقر خارجاً أو الاختيار صريحاً.