Skip to content
Apothem

التدويل (i18n)

كيف يُعلِن موقع توثيق Apothem حزمة لغاته، ويُصدر روابط hreflang للغات البديلة، ويتعامل مع العرض من اليمين إلى اليسار، ويُبرز فجوة الترجمة بصدق.

توثّق هذه الصفحة كيف يتعامل موقع توثيق Apothem مع لغات متعددة: حزمة اللغات التي يُعلنها، وآلية hreflang التي يُصدرها، وجاهزيته للعرض من اليمين إلى اليسار، والحالة الصادقة للترجمة لكل لغة.

ملخّص القرار

  • المنصّة: Next.js App Router + Fumadocs. يُبنى الموقع من site/. تُعلَن حزمة اللغات في site/lib/i18n.ts، وتعيش آلية رابط اللغة البديلة في site/lib/hreflang.ts.
  • حزمة اللغات: مُعلَنة. تُعلَن حزمة المطوّر الحديثة المكوّنة من اثنتي عشرة لغة كمصدر الحقيقة المعياري، مع الإنجليزية كلغة المصدر.
  • التوجيه لكل لغة: غير مُفعَّل بعد. تفعيل المسارات المُسبَّقة باللغة عبر الحزمة بينما لا يوجد سوى محتوى إنجليزي سيُنشئ أحد عشر مسارًا بلا محتوى تعود بصمت إلى المصدر الإنجليزي. هذا هو نوع الانحراف الصامت نحو الإنجليزية فقط الذي يمنعه انضباط التدويل، لذا يبقى التوجيه بلغة واحدة حتى يصل محتوى مترجَم ومراجَع.
  • آلية hreflang: فعّالة. تُصدر كل صفحة مجموعة <link rel="alternate"> تغطّي كل لغة لها محتوى مؤلَّف، بالإضافة إلى بديل x-default. وتُحذَف اللغات التي لا تزال تنتظر الترجمة — ولا تُوجَّه أبدًا إلى البديل الإنجليزي — لكي تُخبَر محرّكات البحث بدقة بأنه لا توجد ترجمة.
  • جاهزية اليمين إلى اليسار: قائمة. تستخدم أوراق الأنماط المشتركة خصائص CSS المنطقية في كل مكان، لذا تُعرَض الصفحات العربية بشكل صحيح تحت dir="rtl" بمجرّد وصول المحتوى العربي.
  • سياسة الترجمة الآلية: لا شيء يُشحَن دون مراجعة. لا يُنشَر أيّ نثر صفحة مترجَم آليًا. تُبذَر الترجمة آليًا وتُحجَب على المراجعة البشرية قبل وسم أيّ لغة كمترجَمة.

حزمة اللغات

تُعلِن حزمة المطوّر الحديثة اثنتي عشرة لغة. تُقدَّم الإنجليزية في جذر الموقع؛ وتُعلَن اللغات الإحدى عشرة المستهدفة لكي تكون المنظومة جاهزة للتدويل وتكون فجوة الترجمة صريحة بدلًا من صامتة.

الرمزالمساراللغةالاتجاهالمحتوى
en/الإنجليزيةLTRمترجَم (المصدر)
zh-CN/zh-cn/الصينية المبسّطةLTRقيد الانتظار
es/es/الإسبانيةLTRقيد الانتظار
pt-BR/pt-br/البرتغالية البرازيليةLTRقيد الانتظار
fr/fr/الفرنسيةLTRقيد الانتظار
de/de/الألمانيةLTRقيد الانتظار
ja/ja/اليابانيةLTRقيد الانتظار
ko/ko/الكوريةLTRقيد الانتظار
ru/ru/الروسيةLTRقيد الانتظار
id/id/الإندونيسيةLTRقيد الانتظار
ar/ar/العربيةRTLقيد الانتظار
hi/hi/الهنديةLTRقيد الانتظار

الحزمة هي مصدر الحقيقة الوحيد؛ وتمرّ تعديلاتها عبر قرار متعمَّد، لا عبر تحرير صامت أبدًا.

كيف تعمل hreflang

يبني site/lib/hreflang.ts خريطة alternates.languages التي يُجسّدها Next.js في <head> كل صفحة. يحترم بناؤها قاعدة واحدة: يُصدَر رابط اللغة البديلة للغة ما فقط عندما يكون لتلك اللغة محتوى مؤلَّف. ولأن الإنجليزية هي اللغة المترجَمة الوحيدة اليوم، تُصدِر كل صفحة رابطين بالضبط:

<link rel="alternate" hreflang="en" href="https://apothem.ahmedgad.com/..." />
<link rel="alternate" hreflang="x-default" href="https://apothem.ahmedgad.com/..." />

رابط canonical للصفحة هو دائمًا عنوانها الخاص — ولا يُوجَّه أبدًا عبر اللغات. ومع وصول محتوى لغة وانقلاب حالتها إلى مترجَمة في site/lib/i18n.ts، يبدأ رابط hreflang لتلك اللغة في الإصدار تلقائيًا، ويُفعَّل التوجيه لكل لغة في مجموعة التغيير ذاتها.

العرض من اليمين إلى اليسار

العربية هي لغة الحزمة التي تُعرَض من اليمين إلى اليسار. والموقع جاهز لها:

  • خصائص CSS المنطقية فقط. تستخدم أوراق الأنماط والمكوّنات المشتركة خصائص منطقية (margin-inline-start، padding-inline-end, text-align: start، inset-inline-start) بدلًا من الفيزيائية (margin-left، text-align: left). تنقلب الخصائص المنطقية تلقائيًا تحت dir="rtl"، لذا تخدم ورقة الأنماط ذاتها كلا الاتجاهين بشكل صحيح.
  • سمة الاتجاه. تضبط الصفحات العربية dir="rtl" على عنصر <html> جنبًا إلى جنب مع lang="ar" بمجرّد وصول المحتوى العربي.
  • المحتوى ثنائي الاتجاه. السلاسل ثنائية الاتجاه — مثل أمر إنجليزي داخل فقرة عربية — تُغلَّف في <bdi> لكي يُعرَض المقطع المضمَّن من اليسار إلى اليمين بشكل صحيح ضمن التدفّق من اليمين إلى اليسار.

إضافة ترجمة

لترجمة الموقع إلى لغة من الحزمة:

  1. ألّف الصفحات المترجَمة المراجَعة لتلك اللغة.
  2. اقلب حالة محتوى اللغة إلى مترجَمة في site/lib/i18n.ts.
  3. يبدأ رابط hreflang لها في الإصدار وتصبح مساراتها قابلة للوصول.

أبقِ الصفحة الإنجليزية مصدر الحقيقة حتى تُؤلَّف ترجمة لغة وتُراجَع. لا يُشحَن أيّ محتوى مترجَم آليًا دون مراجعة.

الحالة الراهنة والطريق إلى مجموعة مترجَمة

الموقع اليوم جاهز للتدويل لكنه إنجليزي فقط في المحتوى. البنية التحتية — إعلان الحزمة، وآلية hreflang، وجاهزية CSS المنطقية للعرض من اليمين إلى اليسار — قائمة؛ أما المجموعة المترجَمة لكل لغة فليست كذلك. المجموعة المترجَمة بالكامل عمل بمستوى الميزة: تُبذَر صفحات كل لغة آليًا ثم تُراجَع بشريًا، ويكون الإصدار جاهزًا للإنتاج من ناحية التدويل فقط بمجرّد عبور كل لغة عتبة مراجعتها. حتى ذلك الحين، تُعلَن الحزمة، وتكون الفجوة مرئية، ولا تُشحَن أيّ ترجمة دون مراجعة.

On this page