اللغات
كيف يعمل الموقع بالإنجليزية والعربية، وأين يوجد كل نص، وما الذي تغيّره لإضافة لغة.
اللغات المتوفرة
| اللغة | العنوان | الاتجاه |
|---|---|---|
| الإنجليزية، اللغة الافتراضية | بلا بادئة: / و/pricing و/contact | من اليسار إلى اليمين |
| العربية | /ar, /ar/pricing, /ar/contact | من اليمين إلى اليسار |
كل نص وعنوان زر ووصف صورة ورسالة نموذج وعنوان صفحة موجود باللغتين.
كيف تُختار اللغة
- الصفحات الإنجليزية بلا لغة في العنوان، والصفحات العربية تبدأ بـ
/ar. - الزائر الذي يفتح
/بمتصفح يفضّل العربية يُوجَّه إلى/ar. وهذا يتم فيsrc/proxy.ts. - قائمة اللغة في الترويسة، وفي القائمة على الهواتف، تبدّل اللغة وتُبقي الزائر في الصفحة نفسها. ويتذكر الموقع الاختيار للزيارة التالية.
- لكل لغة عنوانها ووصفها وعنوانها الأساسي الخاص، وكل صفحة تخبر محركات البحث بمكان اللغة الأخرى.
من اليمين إلى اليسار
في الصفحات العربية، يضبط src/app/[locale]/layout.tsx القيمتين lang="ar" وdir="rtl" على الصفحة، فينعكس التخطيط كله: الترويسة والبطاقات ونموذج لوحة التحكم وإمالته ثلاثية الأبعاد، وتُقرأ النماذج من اليمين إلى اليسار.
تستخدم المكوّنات أصناف Tailwind المنطقية التي تتبع الاتجاه، مثل ms-2 وpe-4 وstart-0 وtext-start. عندما تضيف عناصر، استخدم هذه بدلًا من ml-* أو pr-* أو left-* أو text-left، وإلا ظهرت الصفحة العربية بشكل خاطئ.
تبقى بعض العناصر من اليسار إلى اليمين في اللغتين عمدًا: الطرفية وشجرة الملفات في بطاقات الميزات، والرسوم البيانية، وأرقام الهواتف في صفحة التواصل.
أين توجد النصوص
النصوص مقسمة إلى أربعة مجلدات تحت messages/، في كل منها en.json وar.json:
| المجلد | ما الذي يحتويه |
|---|---|
messages/common/ | اسم الموقع وعنوانه ووصفه، والترويسة، وقائمة اللغة، وسطر حقوق النشر، والشريط السفلي للشراء |
messages/home/ | كل قسم في الصفحة الرئيسية، ونموذج لوحة التحكم، وبطاقات الميزات |
messages/pricing/ | صفحة الأسعار |
messages/contact/ | صفحة التواصل |
غيّر نصًا
- غيّر القيمة في الملف الإنجليزي وما يقابلها في الملف العربي. أبقِ المفاتيح نفسها في الملفين.
- المفتاح المفقود من أحد الملفين يظهر اسمه بدل النص في صفحة تلك اللغة.
- الكلمات بين الأقواس المعقوفة، مثل
{year}و{count}و{name}، يملؤها الموقع. أبقها كما هي.
تسميات الموقع بالعربية
عندما تكتب عن الموقع بالعربية، استخدم التسميات التي يعرضها:
| الإنجليزية | العربية |
|---|---|
Features | المميزات |
Pricing | الأسعار |
Contact | تواصل معنا |
Login | تسجيل الدخول |
Book a call | احجز مكالمة |
Get Started | ابدأ الآن |
Learn More | اعرف المزيد |
Monthly | شهري |
Annual | سنوي |
Send Message | إرسال الرسالة |
أضف لغة
أضف رمزها إلى التوجيه
أضف رمز اللغة إلى
localesفيsrc/i18n/routing.ts. مثلًا الفرنسية:src/i18n/routing.tslocales: ["en", "ar", "fr"],أضف ملفات رسائلها
في كل مجلد من المجلدات الأربعة تحت
messages/، انسخen.jsonبرمز اللغة الجديدة وترجم القيم. أبقِ كل مفتاح وكل كلمة بين أقواس معقوفة، واضبطmetadata.ogLocaleفيmessages/common/fr.json، مثلfr_FR. لمجلد home:الطرفيةفيPublino-templatecp messages/home/en.json messages/home/fr.jsonأضفها إلى قوائم اللغة
أعطها علمًا ورمزًا في
src/components/LanguageSwitcher/index.tsx(flagComponentsوlocaleIsoCodes)، وعلمًا واسمًا فيsrc/layouts/Navbar/components/MobileLanguageSwitcher.tsx(flagComponentsوlocaleNames). تأتي الأعلام منcountry-flag-icons، مثلFR.اضبط اتجاهها، إن احتاجت إلى ذلك
تُعامل العربية وحدها على أنها من اليمين إلى اليسار. للغة أخرى بهذا الاتجاه، وسّع فحوص
locale === "ar"فيsrc/app/[locale]/layout.tsxوsrc/features/home/DashboardMockup/components/index.tsxوsrc/features/home/WhyChooseUs/index.tsx.
أعد تشغيل yarn dev أو ابنِ من جديد، فتعمل اللغة الجديدة على عنوانها، وهو هنا /fr. وتلتقطها الروابط الأساسية وروابط اللغات وخريطة الموقع تلقائيًا.