العربية والاتجاه
العربية والاتجاه، مصممة كلغة أولى.
تكتفي أغلب المكتبات بخاصية dir="rtl"، بينما يتعامل dev-dga مع العربية كلغة أولى: تقويم هجري، وترقيم عربي للقوائم، واتصال حروف محمي، ودلالات لوحة مفاتيح منعكسة، وبيانات سعودية سليمة الاتجاه، كلها حية أدناه. بدّل الاتجاه وشاهد الصفحة كلها تستجيب.
الاتجاه ليس مجرد خانة تختارها.
يعكس قلب dir الصناديق فقط، لكنه لا يعطيك تقويم أم القرى، ولا ترقيم القوائم بالعربية، ولا اتصال حروف يصمد أمام رموز التصميم، ولا أسهماً تتبع اتجاه القراءة، ولا رقم هوية يبقى مقروءاً داخل جملة عربية. هذه أول ما يلاحظه أي فريق حكومي سعودي، ولذلك يهتم بها هذا النظام.
تقويم هجري / أم القرى، مدمج أصلاً
يتضمن DatePicker وDateRangePicker مبدلاً بين الميلادي والهجري داخل التقويم. عند الانتقال إلى الهجري تعرض خانة كل يوم تاريخ أم القرى وتحته اليوم الميلادي، مما يتيح المقابلة بين التقويمين دون مغادرة الحقل. وتبقى القيمة المخزنة Date أصلية دائماً، والهجري للعرض فقط.
- مبدل ميلادي ↔ هجريعنصر داخل النافذة، مفعل افتراضياً. ويمكنك تثبيت تقويم واحد بخاصية calendar.
- خلايا بتقويمينتعرض الخاصية showSecondaryCalendar رقم اليوم في التقويم الآخر صغيراً أسفل كل يوم.
- أرقام لاتينية دائماًتعرض الأرقام 0-9 بدل الأرقام العربية-الهندية، وهذا هو العرف في النماذج والهويات الحكومية السعودية.
- ترويسة أيام بلغة صحيحةتظهر أوائل الأيام حروفاً حقيقية: ح ن ث ر خ ج س.
صدر إصلاح أوائل الأيام في @dev-dga 0.12.2. كانت النسخ الأقدم تختزل عدة أيام إلى "ال".
ترقيم عربي للقوائم المتداخلة
ترقم القائمة المرتبة مستواها الأعلى 1-2-3 في الاتجاهين، بينما تتبع العناصر المتداخلة اللغة: a-b-c في اليسار، وأ-ب-ج-د-ه في اليمين بالترتيب الأبجدي العربي. ويعتمد ذلك كله على @counter-style في CSS.
- Eligibility
- National ID
- Proof of address
- Review
- Submit
- الأهلية
- رقم الهوية
- إثبات العنوان
- المراجعة
- الإرسال
تستخدم القائمتان أدناه الترميز نفسه؛ الفارق هو الاتجاه فقط.
اتصال الحروف محمي
العربية خط متصل تترابط حروفه. والمباعدة (letter-spacing) التي تحسن الخط اللاتيني تمزق الكلمة العربية إلى حروف منفصلة. لذا يعيد النظام letter-spacing إلى normal في اليمين ولا يحول العربية إلى أحرف كبيرة، مما يبقي العناوين مقروءة.
الحكومة الرقمية
الحكومة الرقمية
تضيف العينة الثانية letter-spacing: 0.25em، وهذا تماماً ما تفعله أدوات الخط اللاتيني. لا تطبقها على العربية أبداً.
الأسهم تتبع اتجاه القراءة
تنعكس دلالات لوحة المفاتيح مع التخطيط. في التبويبات والمنزلق والتقييم وشريط القوائم وشبكة التقويم، يتبع سهم الانتقال إلى التالي اتجاه القراءة: في اليمين يتقدم السهم الأيسر ويرجع الأيمن. وينقل Home وEnd إلى الأول والأخير، مع محطة تنقل واحدة.
- ← →التنقل بين العناصر، منعكساً في اليمين ليطابق اتجاه القراءة.
- Home Endالقفز إلى العنصر الأول / الأخير في المجموعة.
- Tabمحطة واحدة للمجموعة كلها، والأسهم تنقل داخلها.
تنقل الأسهم بين التبويبات، وينعكس اتجاهها في الواجهة العربية.
ركز على عنصر أدناه وجرب الأسهم، ثم بدّل الاتجاه ولاحظ انعكاسها.
تخطيط واحد، تعكسه الخصائص المنطقية
لا يستخدم أي شيء في هذه الصفحة left أو right أو margin-left أو text-align: left. تعتمد المسافات والحدود والمحاذاة كلها على خصائص منطقية: margin-inline وinset-inline-start وtext-align: start. لذا يكفي قلب dir مرة واحدة لعكس الشجرة كلها دون أي عمل لكل مكون. والبطاقة أدناه مكون واحد ينعكس تلقائياً.
تتبع مكونات @dev-dga الأسلوب نفسه: خصائص منطقية للتخطيط. لذا يعكس قلب الاتجاه كل صندوق دون فروع خاصة بالRTL.
تبقى المعرفات السعودية يسارية الاتجاه داخل النص العربي
رقم الهوية والآيبان ورقم الجوال +966 بيانات من اليسار إلى اليمين، حتى داخل جملة عربية. لو تركت لخوارزمية الاتجاه، لقفزت + أو SA إلى الطرف الخطأ وصار الرقم غير مقروء. لذا يثبت كل حقل قيمته بـ dir="ltr" و inputMode المناسب، لتنعكس التسمية ويبقى الرقم سليماً.
تتبع التسميات والتخطيط اتجاه الصفحة، وتبقى القيم مثبتة يسارية. القيم المعروضة نموذجية.
ابن منتجك العربي على نظام يفكر بالاتجاه أصلاً.