اللغة المحلية ولغة واجهة المستخدم

متابعة للنقاش من يوم أسبوع الأعمال:

كما ذكرت في المنشور المرتبط، فإن “الموقع” (Locale) ليس مطابقًا تمامًا لـ “لغة واجهة المستخدم”.

سأأخذ KDE (لينكس و Qt) كمثال هنا:

كما نرى، في لقطة الشاشة الأولى يمكن للمستخدم اختيار لغة واجهة المستخدم. وهذا، حسنًا، يحدد لغة الواجهة وكل ما تراه على الشاشة، باستثناء ما هو موضح في لقطة الشاشة الثانية.
تسمح لقطة الشاشة الثانية بتحديد موقع المستخدم (Locale)، وتجاوز الإعدادات الخاصة بالأرقام، والوقت، والعملة، والوحدات، والترتيب.
هذا مهم لأن العديد من المستخدمين يستخدمون النظام بلغتهم المفضلة، لكنهم يعيشون في بلد مختلف حيث تختلف تفضيلاتهم الخاصة بالموقع.

سأأخذ أمثلة من منطقتي، المنطقة العربية:

لذلك، تتأثر التواريخ بهذه الاختلافات:

  • جميع الدول تكتب من اليمين إلى اليسار.
  • دول المشرق: ⁨١٢ يناير ٢٠٢٠⁩ = 12 يناير 2020 (يُقرأ من اليمين إلى اليسار)
  • دول المغرب: ⁨12 جانفي 2020⁩ = 12 يناير 2020 (يُقرأ من اليمين إلى اليسار)
  • ببساطة: سواء كانت الأرقام شرقية أم غربية/عربية، فإنها تُكتب من اليمين إلى اليسار، مما يجعل اتخاذ قرار بشأن الأرقام أصعب، ناهيك عن التنسيق.

حتى فاصل الآلاف يختلف:


(الأرقام العربية الشرقية لديها أيضًا فاصل آخر: ١٠٬٠٠٠٫٠٠: image )

كيف يؤثر ذلك على Discourse:

  • تنسيقات التاريخ والوقت، والأرقام، وبداية أسبوع الأعمال.

ما الذي لا يتأثر:

  • التواريخ النسبية.

الحلول المثالية:

  • استخراج وتنسيق تنسيقات Unicode والسماح للمستخدم باختيار أي موقع (Locale) يفضله. وهذا يتطلب تفكيرًا حيث قد يتعارض مع Moment.JS.
  • توفير جميع الوسائل والطرق للمترجمين لاختيار التنسيق الذي سيتم عرضه في أي مكان في البرنامج.
3 إعجابات

لا توجد خطط لتقسيم نظام اللغة المحلي الحالي إلى لغة محلية ولغة واجهة المستخدم في المستقبل القريب. ومع ذلك، أوافق على أن هذا سيكون إجراءً جيدًا.

على أي حال، أعتقد أن النظام الحالي يمكن استخدامه بالفعل لإنشاء لغات محلية محددة حسب المنطقة. لدينا client.en_US.yml و server.en_US.yml اللذان يتجاوزان تنسيقات التاريخ والوقت والأرقام وما إلى ذلك.

أنا متأكد من أنه يمكن فعل شيء مماثل للغة العربية. بل إنه من الممكن القيام بذلك باستخدام إضافة.

إعجابَين (2)