اللغات
كيف يعمل الموقع بالإنجليزية والعربية، وكيف تغيّر أي نص، وكيف تضيف لغة.
اللغات المتوفرة
الإنجليزية والعربية. الإنجليزية هي اللغة الافتراضية. وتعرض العربية الصفحة كاملة من اليمين إلى اليسار، بالخط Noto Sans Arabic.
| اللغة | العنوان | الاتجاه |
|---|---|---|
| الإنجليزية | /en | من اليسار إلى اليمين |
| العربية | /ar | من اليمين إلى اليسار |
كيف تُختار اللغة
- اللغة هي الجزء الأول من العنوان،
/enأو/ar. - يرسل العنوان
/الزوار إلى اللغة التي يفضّلها متصفحهم، الإنجليزية أو العربية، وإلى الإنجليزية في غير ذلك. - لمبدّل اللغة في الترويسة رابط لكل لغة أخرى. يبدّل هذا الجزء من العنوان ويُبقي الزائر على الصفحة نفسها.
- تضبط كل صفحة لغتها واتجاهها، وتذكر اللغة الأخرى لمحركات البحث.
غيّر نصًا
كل كلمة ظاهرة موجودة في messages/en.json وmessages/ar.json. للملفين المفاتيح نفسها: غيّر القيمة في كل منهما، ولا تغيّر المفتاح أبدًا. والمفتاح الناقص من أحد الملفين يظهر باسمه في صفحة تلك اللغة.
من اليمين إلى اليسار
يسرد src/i18n/direction.ts اللغات التي تُكتب من اليمين إلى اليسار، ويضبط التخطيط اتجاه الصفحة بناءً عليه. تستخدم المكونات أصناف Tailwind المنطقية مثل ms-* وpe-* وstart-* وtext-start، فتنعكس المسافات والمحاذاة تلقائيًا. والأسهم التي تشير في اتجاه القراءة تحمل rtl:rotate-180.
في العناصر التي تضيفها، استخدم الأصناف المنطقية نفسها بدلًا من ml-* أو pr-* أو left-* أو text-left. وإلا ستبدو صحيحة بالإنجليزية وخاطئة بالعربية.
أضف لغة
أضف رمزها
أضف رمز اللغة إلى
localesفيsrc/i18n/routing.ts، مثلًاfr.src/i18n/routing.tslocales: ["en", "ar", "fr"],أضف رسائلها
انسخ
messages/en.jsonإلىmessages/fr.jsonوترجم القيم. وأضف اسم اللغة تحتlocaleSwitcher.namesفي كل ملف رسائل.تُكتب من اليمين إلى اليسار؟
إذا كانت اللغة تُكتب من اليمين إلى اليسار، فأضف رمزها إلى
RTL_LOCALESفيsrc/i18n/direction.ts.تحقق من الخط
يستخدم
src/app/[locale]/layout.tsxالخط Noto Sans Arabic لـar، والخط Inter بالحروف اللاتينية فقط لكل لغة أخرى. واللغة المكتوبة بأبجدية أخرى تحتاج إلى خطها الخاص هناك.النتيجة المتوقعة: بعد إعادة التشغيل أو بناء جديد، تُفتح اللغة الجديدة على عنوانها الخاص، مثل
/fr، ويضم مبدّل اللغة في الترويسة رابطًا إليها.