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