تخطَّ إلى المحتوى
العربية وواجهات RTL

الـ RTL أكبر من `direction: rtl`

سطر CSS واحد يعكس النص، لكنه لا يعكس الأيقونات ولا الشرائح ولا أشرطة التقدّم ولا الظلال ولا المحتوى اللاتيني المختلط ولا تخطيطًا بُني على افتراضات من اليسار لليمين. قائمة فحص عملية.

ما الذي ينكسر فعليًا حين تقلب واجهة إلى اليمين؟

مصطفى نوح — صورة شخصيةمصطفى نوحنُشر 7 دقيقة قراءة

أغلب الواجهات العربية التي تبدو «غير مضبوطة» ليست كذلك بسبب اللغة العربية، بل لأن أحدهم ضبط الاتجاه وافترض أن المهمة انتهت. المتصفّح يعكس لك الكثير فعلًا — والأشياء التي لا يعكسها هي بالضبط ما يلاحظه الناس.

ما يعكسه المتصفّح نيابةً عنك

بمجرّد ضبط dir="rtl" تحصل على تدفّق النص وترتيب الصناديق السطرية، وكذلك كل خصائص CSS المنطقية إن كنت قد كتبتها. وهذه النقطة الأخيرة وحدها تستحق تغيير عاداتك.

بدلًا مناكتبالسبب
margin-leftmargin-inline-startينعكس تلقائيًا مع الاتجاه
padding-rightpadding-inline-endينعكس تلقائيًا مع الاتجاه
left / rightinset-inline-start / -endالتموضع يتبع الاتجاه
text-align: lefttext-align: startالمحاذاة تتبع الاتجاه
border-leftborder-inline-startالخطوط واللمسات تبقى على حافة القراءة
الخصائص المنطقية تلغي أغلب عمل العكس اليدوي قبل أن ينشأ.

ما لا يعكسه — وما يلاحظه الناس

هذه هي القائمة الحقيقية. وكل بند فيها يحتاج قرارًا من إنسان.

  • الأيقونات الاتجاهية. سهم الرجوع وسهم «التالي» وأيقونة الإرسال وسهم التراجع كلها تحمل اتجاهًا. أما علامة الصح والعدسة وسلّة المهملات فلا. وعكس كل شيء خطأ بقدر عدم عكس أي شيء.
  • الشرائح والمنزلقات. اتجاه المسار واتجاه السحب وترتيب النقاط وزر «التالي» يجب أن تتفق جميعها مع بعضها ومع اتجاه القراءة.
  • أشرطة التقدّم والخطوات. صفحة دفع تتقدّم من اليسار لليمين داخل تخطيط عربي تُقرأ وكأنها تعود إلى الوراء.
  • الظلال ومصدر الضوء. الظل المزاح يمينًا يفترض مصدر ضوء. وعكس التخطيط دون عكس الضوء يجعل نموذج العمق غير متماسك.
  • الأرقام والمقاطع اللاتينية. الأسعار وأرقام الموديلات والأكواد والروابط وأسماء العلامات تبقى من اليسار لليمين داخل جملة من اليمين لليسار. هذا نصّ ثنائي الاتجاه، وفيه يعيش أغلب الأعطال المرئية.
  • الجداول. يتحرّك العمود الأول إلى اليمين، لكن الأعمدة الرقمية غالبًا يجب أن تبقى محاذاة كأرقام. وهذا قرار محتوى لا قرار CSS.
  • موضع التمرير. الحاوية القابلة للتمرير أفقيًا تبدأ من اليمين في RTL، والمتصفّحات اختلفت تاريخيًا في معنى scrollLeft هناك.
  1. يعكسه المتصفّح

    تدفّق النص والترتيب السطري وخصائص CSS المنطقية

  2. تعكسه أنت

    الأيقونات الاتجاهية والشرائح والخطوات والظلال ونقطة بدء التمرير

  3. لا يُعكس أبدًا

    الأرقام والمقاطع اللاتينية والأكواد والشعارات وعلامات الصح

ثلاث فئات: ما يعكسه المتصفّح، وما تعكسه أنت، وما لا يُعكس أبدًا.

مشكلة النص ثنائي الاتجاه

الجملة العربية التي تحتوي اسم منتج لاتيني أو رقم إصدار أو رابطًا ليست ذات اتجاه واحد. خوارزمية Unicode ثنائية الاتجاه تحلّ أغلبها بشكل صحيح، ثم تفشل بوضوح عند الحواف — غالبًا حول علامات الترقيم الأخيرة والأقواس والسلاسل مختلطة الحروف.

عزل الاتجاه
تغليف مقطع مخالف للاتجاه بحيث لا يُعيد ترتيب النص المحيط به. في HTML يتم ذلك بوسم <bdi>، وفي CSS بـ unicode-bidi: isolate. استخدمه مع أي قيمة لم تكتبها بنفسك — أسماء المستخدمين وعناوين المنتجات وأي شيء قادم من قاعدة بيانات.
html
<!-- The product name reorders the sentence around it -->
<p>وصل المنتج Galaxy S24 Ultra إلى المخزون.</p>

<!-- Isolated: the sentence stays stable whatever the value is -->
<p>وصل المنتج <bdi>Galaxy S24 Ultra</bdi> إلى المخزون.</p>
استخدم <bdi> مع أي قيمة مُدرَجة لا تتحكّم في نوع حروفها.

قائمة المراجعة

قبل إطلاق أي واجهة عربية

  • كل أيقونات الرجوع والتالي والإرسال والتراجع تشير للاتجاه الصحيح
  • اتجاه مسار الشرائح واتجاه السحب وترتيب النقاط متفقة
  • الخطوات وأشرطة التقدّم تتقدّم نحو حافة القراءة
  • المقاطع اللاتينية داخل الجمل العربية معزولة
  • أعمدة الجداول الرقمية محاذاة كأرقام لا كنصوص
  • تسميات النماذج وحقولها ورسائل التحقّق محاذاة للحافة نفسها
  • الظلال واتجاه الضوء متسقان مع التخطيط المعكوس
  • حاويات التمرير الأفقي تبدأ من الحافة الصحيحة
  • فُحص التخطيط عند 320 و375 و768 و1440 — فأعطال الاتجاه مرتبطة بالعرض
  • ارتفاع السطر وحجم الخط مناسبان للعربية، وهي أطول من اللاتينية بالحجم نفسه

المصادر

التواصل

لديك موقع أو متجر يحتاج أن يعمل بشكل أفضل؟

أخبرني بما يحدث وفي أي صفحة. فالتشخيص وحده مُخرَج أول مفيد.

أقرأ كل رسالة بنفسي وأردّ خلال يوم عمل — غالبًا بسؤال أو اثنين أولًا، لأن أي نطاق يستحق تسعيرة يحتاج إجابتهما.

متاح للعمل عن بُعد بما يتوافق مع توقيت EST
مصطفى نوح — صورة شخصية

مصطفى نوح

مطوّر ويب متكامل وبانٍ للمنتجات

الموقع الجغرافي
مصر · عن بُعد