اللغات والكتابة
الواجهة متوفرة بالفرنسية والعربية؛ أما محتوى الكتالوج فيبقى بالعربية. ثلاثة أسطح، وثلاث آليات، يحملها وسيط (middleware) واحد:
| السطح | أين تُحدَّد اللغة | الافتراضي |
|---|---|---|
| الموقع العام | في العنوان (/ar/…، /fr/…)، وروابط hreflang، ثم ملف تعريف الارتباط فالمتصفح للمسار / |
العربية |
| لوحة الإدارة | تفضيل الحساب، ومحدِّد اللغة في القائمة، والجلسة قبل الدخول | الفرنسية |
| واجهة البرمجة (API) | الترويسة Accept-Language |
الفرنسية |
قواعد الكود
Section titled “قواعد الكود”- كل سلسلة واجهة تمرّ عبر
__('Texte français'). الفرنسية هي المفتاح؛ والعربية فيlang/ar.json. لا عربية ولا فرنسية مكتوبة مباشرة في القوالب أبدًا. - جملة واحدة، مفتاح واحد. الأجزاء المتغيرة معاملات مسمّاة (
:nom)، ولا يُلجأ أبدًا إلى ضمّ مقاطع. - تسميات النماذج (الأنواع، والحالات، والأدوار…) تبقى بالفرنسية في الثوابت؛ والدوال
…Label()تُرجع الترجمة؛ والعروض التي تمرّ على الثوابت تترجم عند العرض. - الإعدادات المزروعة في القاعدة تحتفظ بتسميتها الفرنسية، وتُترجم عند العرض.
- اختبار يعيد قراءة الكود والثوابت والإعدادات: مفتاح بلا ترجمة عربية، أو رقم عربي-هندي، يُفشل المجموعة.
الكتابة من اليمين إلى اليسار
Section titled “الكتابة من اليمين إلى اليسار”بالعربية، تنتقل الصفحة بأكملها إلى dir="rtl". ولكي تنقلب الشاشة على نحو صحيح:
- لا تُستعمل إلا الأدوات المنطقية:
ms-/me-بدلml-/mr-، وps-/pe-، وstart-/end-، وtext-start/text-end، وrounded-s-/rounded-e-، وborder-s/border-e؛ - يُعزل المقطع العربي داخل صفحة فرنسية بالصنف
ar(خط عربي،unicode-bidi: isolate)؛ - تُبقى الأرقام والأسعار والمعرّفات التقنية داخل
ltr-numأوdir="ltr"حتى لا يتحوّل « 1 200 DH » أبدًا إلى « DH 200 1 »؛ - الأرقام الأوروبية (0-9) في كل مكان، ولا أرقام عربية-هندية أبدًا — قاعدة من قواعد المشروع.