اللغات
كيف تعمل الصفحة بالإنجليزية والعربية، وكيف تُختار اللغة، وما الذي تغيّره لإضافة لغة.
اللغات المتوفرة
| اللغة | العنوان | الاتجاه | الخط |
|---|---|---|---|
| الإنجليزية، اللغة الافتراضية | /en | من اليسار إلى اليمين | Inter |
| العربية | /ar | من اليمين إلى اليسار | Noto Sans Arabic |
كل نص، ووصف صورة، وتسمية زر، وعنوان الصفحة ووصفها موجودة باللغتين، في messages/en.json وmessages/ar.json.
كيف تُختار اللغة
- اللغة هي الجزء الأول من العنوان،
/enأو/ar. - الزائر الذي يفتح
/يُرسَل إلى/arعندما يفضّل المتصفح العربية، وإلى/enفي غير ذلك. يتولىsrc/middleware.tsذلك. - يبدّل زر اللغة في الترويسة إلى اللغة الأخرى ويُبقي الزائر في الصفحة نفسها. تسمياته هي
LocaleSwitcher.namesفي ملفات الرسائل. - لكل لغة عنوانها ووصفها وعنوانها الأساسي الخاص، وكل صفحة تخبر محركات البحث بمكان اللغة الأخرى.
من اليمين إلى اليسار
في /ar، يضبط src/app/[locale]/layout.tsx القيمتين lang="ar" وdir="rtl" على الصفحة، فينعكس التخطيط كله: القائمة، والبطاقات، والأسهم، والجدول تُقرأ من اليمين إلى اليسار.
تستخدم المكونات أصناف Tailwind المنطقية التي تتبع الاتجاه، مثل ms-2 وpe-4 وstart-0 وtext-start. عندما تضيف عناصر، استخدم هذه بدلًا من ml-* أو pr-* أو left-* أو text-left، وإلا ستظهر الصفحة العربية بشكل خاطئ. والسهم الذي يجب أن يشير إلى الاتجاه المعاكس في العربية يأخذ rtl:rotate-180.
تُكتب الأسعار بلغة الصفحة بواسطة src/hooks/usePriceFormatter.ts.
غيّر نصًا
غيّر القيمة في messages/en.json والقيمة المقابلة لها في messages/ar.json. أبقِ المفاتيح نفسها في الملفين، وأبقِ الكلمات بين الأقواس المعقوصة، مثل {brand}، كما هي.
التسميات العربية الخاصة بالصفحة
عندما تكتب عن الصفحة بالعربية، استخدم التسميات التي تعرضها:
| الإنجليزية | العربية |
|---|---|
Products | المنتجات |
Resources | الموارد |
Features | المزايا |
Pricing | الأسعار |
Testimonials | آراء العملاء |
Log in | تسجيل الدخول |
Get Started | ابدأ الآن |
Start Free Trial | ابدأ تجربة مجانية |
Most Popular | الأكثر شعبية |
Frequently Asked Questions | الأسئلة الشائعة |
أضف لغة
أضف رمزها إلى التوجيه
أضف رمز اللغة إلى
localesفيsrc/i18n/routing.ts، مثلًا الفرنسية:src/i18n/routing.tslocales: ["en", "ar", "fr"],أضف ملف رسائلها
انسخ الملف الإنجليزي باسم الرمز الجديد وترجم كل قيمة. أبقِ كل مفتاح وكل كلمة بين الأقواس المعقوصة.
الطرفيةفيlanding-page-template-2cp messages/en.json messages/fr.jsonأضف اسمها إلى مبدّل اللغة
أضف اسم اللغة تحت
LocaleSwitcher.namesفي كل ملف رسائل، مثل"fr": "Français". ستعرض الترويسة عندها زرًا لكل لغة غير اللغة الحالية.اضبط اتجاهها وخطها، إذا احتاجت إليهما
اللغة التي تُكتب من اليمين إلى اليسار تُضاف إلى
RTL_LOCALESفيsrc/i18n/direction.ts. كل لغة غير العربية تستخدم Inter بالحروف اللاتينية؛ ولكتابة أخرى، أضف خطًا فيsrc/lib/fonts.tsواختره لتلك اللغة فيsrc/app/[locale]/layout.tsx.
أعد تشغيل yarn dev، أو ابنِ مجددًا، وستستجيب اللغة الجديدة على عنوانها الخاص، هنا /fr.