انتقل إلى المحتوى

العربية والاتجاه من اليمين إلى اليسار

مشاريع حسنات عربية أولًا. العربية ليست ترجمة تُضاف في النهاية، والواجهة العربية ليست الواجهة الإنجليزية معكوسة.

  • اضبط lang وdir على عنصر html: lang="ar" dir="rtl" للعربية، وlang="en" dir="ltr" للإنجليزية. يفعل ذلك Layout.astro في القالب بحسب لغة الصفحة.
  • الاتجاه معلومة دلالية في HTML، لا مجرد تنسيق CSS.
  • للنص الذي يكتبه المستخدم ولا تعرف لغته، استخدم dir="auto"، أو العنصر <bdi> للأسماء داخل الجمل.
  • الروابط والأوامر والأكواد والأرقام اللاتينية داخل نص عربي قد تنقلب مواضعها. ضعها في عنصر بـ dir="ltr" أو داخل <code>، وجرّبها بنصوص حقيقية.

يدعم القالب العربية (الافتراضية) والإنجليزية:

  • الصفحات في src/pages/ar/ وsrc/pages/en/، والجذر يحوّل إلى /ar/.
  • النصوص في src/i18n/ar.json وsrc/i18n/en.json. أضف كل نص جديد إلى الملفين معًا، ولا تكتبه مباشرة في الصفحة.
  • في src/i18n/utils.ts: الدالة useTranslations(locale) لجلب النصوص، وgetDirection(locale) وisRTL(locale) للاتجاه، وgetTranslatedPath(path, locale) لرابط الصفحة نفسها في اللغة الأخرى.
---
import { useTranslations } from "@/i18n/utils";
const t = useTranslations("ar");
---
<h1>{t("hero.title")}</h1>

استخدم الخصائص المنطقية بدل اليسار واليمين، فتعمل الواجهة في الاتجاهين دون تعديل:

لا تستخدم استخدم
ml-4 ms-4
mr-4 me-4
pl-4 ps-4
pr-4 pe-4
left-0 start-0
right-0 end-0
text-left text-start
text-right text-end
border-l border-s
border-r border-e
rounded-l-lg rounded-s-lg
rounded-r-lg rounded-e-lg

وفي CSS العادي: margin-inline-start بدل margin-left، وpadding-inline-end بدل padding-right، وinset-inline-start بدل left.

  • الأسهم والأيقونات الاتجاهية: سهم «التالي» يشير إلى اليسار في العربية. اقلبه، ولا تقلب الأيقونات التي لا اتجاه لها.
  • ترتيب القراءة: راجع أن يتبع ترتيب العناصر منطق القراءة العربي، لا أن يكون مرآة شكلية للإنجليزية.
  • الأرقام والتواريخ: اختر تنسيقًا واحدًا واضحًا، وجرّبه مع النص المحيط به.
  • الرسوم والصور التي فيها نص أو اتجاه.
  • استخدم خطًا عربيًا واضحًا، مثل IBM Plex Sans Arabic. انظر نظام التصميم.
  • اجعل ارتفاع السطر واسعًا، ولا تضف تباعدًا بين الحروف العربية.
  • اكتب بعربية فصيحة بسيطة، وجمل قصيرة، وفكرة واحدة في كل فقرة.
  • اطلب من متحدث أصلي أن يراجع النصوص في اللغتين، كما في مهمة مراجعة الترجمة والاتجاه.
  • كل صفحة لها lang وdir صحيحان.
  • لا خصائص يسار أو يمين في التنسيق، إلا لسبب مقصود.
  • تعمل الصفحة على عرض 360 بكسل، ومع تكبير النص إلى 200%.
  • جرّبت أسماء وروابط وأرقامًا حقيقية داخل النص العربي.
  • الأسهم والأيقونات الاتجاهية صحيحة في اللغتين.
  • كل نص موجود في ملفي الترجمة معًا.