الأرقام الغربية أم الهندية في الواجهة العربية؟
مجموعتان من الأرقام
يمكن أن يستخدم النص العربي الأرقام الغربية (0 1 2 3 4 5 6 7 8 9) وتُسمّى أيضًا الأرقام اللاتينية، أو الأرقام الهندية (٠ ١ ٢ ٣ ٤ ٥ ٦ ٧ ٨ ٩). وكلتاهما صحيحة. يختلف التفضيل بحسب البلد والعمر والسياق، فلا توجد إجابة واحدة تناسب كل جمهور عربي.
المجموعتان نظامان مستقلان للترقيم بأشكال مختلفة، وليستا لغتين مختلفتين. يمكن للمنتج أن يعرض نصًا عربيًا مع أرقام غربية، أو أرقامًا هندية بجوار نص لاتيني. اعتبر اختيار الأرقام قرار تصميم مستقلًا بذاته.
قواعد عملية
- التزم بالاتساق في الشاشة. خلط المجموعتين في عرض واحد يبدو كأنه خطأ.
- أرقام الهواتف والأسعار والمعرّفات تحتاج عناية أكبر. فالناس تنسخها وتقارنها وتكتبها في أنظمة أخرى، فاختر المجموعة التي يتوقعها الجمهور.
- راجع المخططات والجداول. يجب أن تستخدم تسميات المحاور ووسائل الإيضاح ومجاميع الأعمدة الأرقام نفسها المستخدمة في النص المحيط، وإلا بدت البيانات كأنها من مصدرين.
- احسم الأمر مرة واحدة في نظام التصميم. دوّن القرار مع أمثلة للأسعار والتواريخ والأوقات والكميات لتتبعه كل الشاشات.
- تأكد من وضوح الأرقام في الخط المختار. راجع أن المجموعتين موجودتان في الخط وأنهما متناسقتان مع الحروف العربية.
اختيار المجموعة في الشيفرة
تختار واجهة <code>Intl.NumberFormat</code> الأرقام من وسم اللغة (locale). والأرقام التي ينتجها وسم مثل <code>ar-EG</code> تعتمد على المتصفح وبياناته، فلا تفترض. ولفرض الأرقام اللاتينية أضف امتداد نظام الترقيم إلى الوسم.
مثلًا، <code>new Intl.NumberFormat('ar-u-nu-latn').format(1234)</code> يطلب أرقامًا لاتينية في السياق العربي، بينما <code>nu-arab</code> يطلب الأرقام الهندية.
وتنطبق الفكرة نفسها على التواريخ والأوقات والنسب المئوية. مرّر اللغة ونظام الترقيم صراحةً في دالة مساعدة مشتركة واحدة، فتنسّق كل الشاشات القيم بالطريقة نفسها ويمسّ أي تغيير لاحق مكانًا واحدًا فقط.
نسّق الأرقام عبر واجهة Intl بدل بناء النصوص يدويًا.
دع الجمهور يقرّر
لا تعتمد على افتراضات عن بلد أو فئة عمرية. اسأل المستخدمين المستهدفين عن الأرقام التي يتوقعونها، وراقب كيف يكتبون الأرقام في النماذج، وانظر إلى الأرقام التي تستخدمها المنتجات المحلية المعروفة في الفئة نفسها.
ويستحق البحث والإدخال خطة أيضًا. فقد يكتب المستخدمون أرقامًا من أي مجموعة، لذلك قرّر هل يقبل المنتج المجموعتين ويحوّلهما قبل التحقق، بدل رفض إحداهما برسالة خطأ.
وإذا كان الجمهور متنوعًا، فاترك للمستخدم الاختيار من الإعدادات وطبّقه في كل مكان.
المصادر
- MDN Web Docs. Intl.NumberFormat. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat
صيغ هذا الدليل بمساعدة الذكاء الاصطناعي اعتمادًا على معايير ومراجع عامة. وللنص الدقيق لأي معيار، ارجع إلى المصادر المذكورة أعلاه.