كيف لا تتجاهل التعريب والتدويل

حول موضوع هذه المقالة دفعتني قصة من ماض حديث جدًا. انتقلت إلى صفحة المنتج ، المسماة Supersite ، من شركة Let's Not Poke Fingers LLC (لكن الناس من صناعة المجال سوف يتعرفون عليها). ذهبت من مكتبي المريح في لاتفيا وفوجئت بالعثور على الصورة التالية:


وبتعبير معتدل ، كنت مرتبكًا بالعملة التي تم تحديد تكلفة الخدمات بها. في الواقع ، في الفناء النصف الثاني من عام 2018 ، وتوقف خط العرض اللاتفي عن الوجود رسميًا في يناير 2014 وتم استبداله باليورو. ولمدة 4 سنوات ، لم تهتم الشركة غير المذكورة أعلاه بتدقيق الإعدادات المحلية المستخدمة.

تحت هذا الخفض ، سأخبرك بما يجب أن تتذكره عند تدويل منتجك وتوطينه وأين تحصل على بيانات للمراجعات الدورية.

التعاريف


سيكون من المنطقي أن نفهم في البداية ما هو والاتفاق على ما سوف نسميه في المستقبل. لذا ...

  • التدويل (التدويل ، i18n) - إعداد منتج برمجي للعمل بلغات مختلفة والاختلافات المحلية دون الحاجة إلى الانتهاء من ملف أثناء تنفيذها. العديد من الرسائل ، لذلك سأشرح بأمثلة. ارسم موقع الويب الخاص بك بحيث أنه بدون تدخل إضافي من ملف التخطيط ، يعمل على الهجاء من اليسار إلى اليمين ومن اليمين إلى اليسار - التدويل. استبدل الرمز الصلب للنص بمتغيرات اللغة - نفس الشيء. لتعليم منتج لتنسيق التواريخ هو نفسه مرة أخرى. بالمناسبة ، الرقم 18 في i18n يعني فقط عدد الأحرف بين الأول والأخير في كلمة التدويل. أنا كسول للراحة ، سأستمر في استخدام i18n.
  • التعريب (الأقلمة ، L10n) - تكييف البرمجيات المدولة مع معايير منطقة معينة (اللغة). على سبيل المثال عند تقديم قائمة بمتغيرات اللغة للترجمة إلى اللغة الإنجليزية في Bushman وتحديد تنسيق الأرقام للهنود ، فهذا هو L10n.
  • اللغة هي مجموعة من المعلمات التي تحدد اللغة وإعدادات واجهة المستخدم المحددة التي تتوافق مع عادات المستخدمين من منطقة معينة.

لماذا تحتاج هذا؟


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

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

ما الجوانب التي تتضمنها اللغة؟


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

إذن ماذا تتضمن اللغة؟

شعبية وواضحة


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

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

    على سبيل المثال ، جميعكم (أو كثيرون) يعلمون أنه في اللغة الإنجليزية هناك ترتيب صارم لأجزاء الكلام. على حد علمي ، باللغة الصينية أيضًا. ولكن في اللغة الروسية ، قد لا يكون لترتيب الكلمات أي معنى على الإطلاق أو يغير المعنى ("أنت ذكي جدًا" يبدو مثل المديح ، و "أنت ذكي جدًا" يشبه التهديد). في اللغة العربية ، هناك اختلافات في التواصل مع الرجال والنساء ، باللغة اليابانية - بين الطبقات الاجتماعية. اعتمادًا على مدى أهمية هذا الجمهور أو ذاك بالنسبة لك ، يجب عليك إما دراسة هذه التفاصيل الدقيقة بالتفصيل مع متحدث أصلي أو تجاهلها.
  • يختلف التاريخ والوقت للجزء الأكبر بدقة في تنسيق التاريخ. الفرق في تنسيق الوقت هو بشكل رئيسي تنسيق 12 أو 24 ساعة. ولكن مع تاريخ الخيارات أكثر من ذلك بكثير. غالبًا ما يُفترض أن تنسيقات التاريخ متعددة. يوم وشهر يوم ، شهر ، سنة في تنسيق رقمي ؛ اليوم والشهر والسنة في شكل موسع. ثم ينمو عدد الخيارات بسرعة. في مكان ما ، يكون الفاصل نقطة ، في مكان ما - خط مائل ، في مكان ما بتنسيقات مختصرة ، الأول هو اليوم ، في مكان ما في الشهر. أكثر متعة مع التنسيق الموسع. خذ على سبيل المثال تاريخ ولادي (أنا متواضع ، نعم). لذا ، في 5 سبتمبر 1986 ، ولد رجل كان بايتات قذرة مع هذا التأليف. دعنا نذهب إلى المواقع. دولتان تتحدثان الإنجليزية في البداية.
    • الولايات المتحدة - 5 سبتمبر 1986.
    • المملكة المتحدة - 5 سبتمبر 1986.

    وهذه ليست سوى البداية. لا توجد حالات باللغة الإنجليزية ، ولكن حتى في بداية رحلتنا ، يختلف en_US و en_UK. ألقي نظرة فاحصة على لغات البلدان؟
    • روسيا - 5 سبتمبر 1986. لذلك ظهرت الحالات. وهنا يمكن أن تبدأ المفاجآت ، لأن قد لا تكون أدوات تنسيق التاريخ القياسية في لغة البرمجة الخاصة بك على دراية بالحالات الاسمية والأصيلة.
    • لاتفيا - هل تريد تسمية التاريخ أو تقول أن شيئًا ما حدث في ذلك التاريخ؟ بالروسية (اليوم) الخامس من سبتمبر و (المولود) في الخامس من سبتمبر ، كل شيء هو تناسلي. ولكن في لاتفيا ، الاسم البسيط للتاريخ هو 1986 gada 5.septembris. وإذا "ولدت" - 1986 gada 5.septembrī. السنة هي الأولى ، الرقم موجود في الحالة المحلية (الترجمة التقريبية هي "في 5 سبتمبر"). وبعد كل الأرقام الترتيبية في لاتفيا ، يتم وضع نقطة.

    هل تستهدف العالم كله؟ فكر في تنسيقات التاريخ التي يجب استخدامها. ربما من الأفضل عدم العبث بالوظائف المتقدمة ، فمن غير المحتمل أن تأخذ وظائف التنسيق المضمنة في الاعتبار جميع التفاصيل الدقيقة المذكورة أعلاه. وذهبت إلى 4 دول فقط من بين 195 دولة - أعضاء ومراقبين في الأمم المتحدة.
  • يحتوي تنسيق الأرقام أيضًا على الكثير من الارتباك. أنا أعرف فقط فاصل الأجزاء الصحيحة والكسرية (عادة ما تكون نقطة أو فاصلة) والفواصل داخل الجزء الصحيح (لقد قابلت الخيارات "لا فاصل" ، فاصلة ، مسافة ، أسمح أيضًا باستخدام الفترة والفاصلة العليا). يتم لعب الدور أيضًا من خلال المواضع حيث يتم وضع المحددات. لنفترض أننا (وليس فقط) اعتدنا على تعيين الفواصل كل 3 مواقع (الآلاف والملايين ، وما إلى ذلك). ولكن هنا يعيش سكان الهند والدول المجاورة المذكورة أعلاه حياتهم الخاصة. يأتي الفاصل الأول في الجزء الصحيح (العد من العلامة العشرية) بعد 3 مواضع (بالآلاف) ، ثم كل مركزين: لكح (100 ألف) ، كرور (10 مليون) وهكذا. وبالتالي ، سيبدو الرقم 42،000،000 في نظام التسجيل الهندي الخاص بنا مثل 4،20،00،000 . وكثيرا ما يقيسون الراتب السنوي في لاك روبية هناك. ومع ذلك ، في مسألة تنسيق الأرقام بدرجة عالية من الموثوقية ، يمكنك الاعتماد على لغة البرمجة.
  • إن تنسيق العملة هو في الأساس رقم منسق ، مذاق ببادئة أو لاحقة لرمز أو رمز العملة. الشيء الرئيسي هنا هو التأكد من عدم وجود مغامرات ، كما هو الحال في بداية المقالة. في الوقت الحاضر ، ينطبق بشكل خاص على دول الاتحاد الأوروبي ، كما قد ينضم البعض إلى منطقة دوران اليورو.
  • يغطي اتجاه الكتابة في الواقع أكثر من مجرد كتابة النص بالكامل في الاتجاه الآخر في بعض اللغات. هذا جزء من العمل لمصمم تخطيط أو مصمم واجهة المستخدم. عند توطين واجهة تم إنشاؤها للغات "من اليسار إلى اليمين" ، غالبًا ما يتم عكسها تمامًا للغات "من اليمين إلى اليسار" (على سبيل المثال ، سيكون الشعار والشريط الجانبي مع قائمة الموقع على اليمين).

أقل وضوحا


يتم استخدام بعض البيانات المتعلقة بـ i18n في كثير من الأحيان ، ولكن في بعض الأحيان مع إغفال طفيف. هنا ، لا تساعدك لغة البرمجة ، عليك العمل مع الأقلام.

  • الرمز البريدي خمن كم عدد البلدان التي لا تستخدم الرمز البريدي على الإطلاق؟ بحسب مقال عن العظيم والمعروف ، 66! في الإنصاف ، ألاحظ أن 3 منهم يستخدمون نظامًا مشابهًا للرمز البريدي ، والذي يسمح لك بالترميز حتى الشارع / مجموعة المنازل / المنازل. ولكن يبقى 63 آخرون ، إما أنه لا يتم استخدام الرمز البريدي على الإطلاق ، أو تم التخطيط لتطبيقه أو التخطيط له. وهذا ما يقرب من ثلث دول العالم. تذكر الآن كم عدد المواقع التي التقيت بها ، وأين يكون الرمز البريدي حقلاً مطلوبًا؟ ولا يمكن فعل شيء حيال ذلك. على الرغم من أن النهج الصحيح هو جعلها إلزامية فقط لتلك البلدان حيث توجد على الإطلاق. بالإضافة إلى ذلك ، إذا رغبت في ذلك ، يمكنك التحقق من الإدخال لمعايير البلد الذي حدده المستخدمون. لحسن الحظ ، هذه المعلومات متاحة (بما في ذلك الرابط أعلاه).
  • المنطقة كخيارات - الدولة ، المنطقة ... حقل آخر يرغبون في جعله إلزاميًا ، مع عدم مراعاة الوضع الحقيقي مع العنوان البريدي في البلد. نعم ، حتى في أصغر البلدان ، يوجد نوع من التقسيم الإداري ( تفاصيل عن نفس الويكي ) ، ولكن لا يستحق دائمًا جعل المجال إلزاميًا.
  • رقم الهاتف يتكون من رمز الدولة ومعرف وطني. وإذا لم تكن مشكلة في الحصول على قائمة برموز البلدان ، فقد تنشأ فروق دقيقة مع التحقق من صحة معرف وطني. على سبيل المثال ، ما هو الحد الأدنى لطول الرقم في عملية التحقق؟ لكن الحد الأدنى لطول الرقم الحقيقي هو 4 أرقام. نعم ، هذا ينطبق فقط على منطقتين مصغرتين ، إحداهما خامسة في النهاية من حيث عدد السكان ، والأخرى أيضًا في مكان قريب. ولكن هنا أريد أن أركز على الصلاحية أكثر من التركيز على فرصة الحصول على واحد من حوالي 1600-1700 من سكان نيوي كمستخدم. بالإشارة ، يمكنك الحصول على فكرة عن طول المعرفات الوطنية حسب البلد.
  • الاسم والطعن. هنا الكثير من المتوسطات المعتادة كافية. حقول الاسم الأول والأخير بالإضافة إلى المعاملة المحترمة. كما هو الحال مع النقاط الأخرى في هذا القسم ، كل هذا يتوقف على مدى ما تريده. إذا كان بشكل عام ، الاسم واللقب إلزاميين (على الرغم من أنه في حالات نادرة ، يجوز للقانون إنشاء واحد فقط من هذا). من أجل الراحة ، يمكنك إنشاء حقول للتداول وأسماء أخرى ولاحقة (كل هذه هي "صغار" و "ثالثة"). إذا ذهبت بشكل خاص ، يمكن أن تختلف قواعد الكتابة بشكل كبير من ثقافة إلى أخرى ، من لغة إلى أخرى.
    • روسيا - نعلم جميعًا أن الاسم الكامل يتكون من لقب واسم وراعي. في اللغة ، كما هو الحال في البلد نفسه ، يكون الترتيب مشروطًا جدًا ، لذلك في العنوان قد يكون اللقب في المكان الأول أو الأخير ، وقد يتم حذف الاسم الأوسط. يمكن إضافة اختياري في بداية الطعن السيد / السيدة (السيد / السيدة).
    • الولايات المتحدة الأمريكية - يتكون الاسم الكامل غالبًا من الاسم نفسه (الاسم الأول ، الاسم "الأول") ، أو الاسم الوسيط أو الأسماء (الاسم الأوسط) ، أو الاسم الأول والأخير. هو مكتوب كمعيار في هذا الترتيب ، قد يتم حذف الأسماء الوسيطة. اختياريًا ، يمكن إضافة طلب اعتراض (الأكثر شعبية: السيد والسيدة والسيدة والدكتور).
    • لاتفيا - يتكون الاسم الكامل من الاسم واللقب ، دائمًا بهذا الترتيب. الأب موجود على هذا النحو فقط في شهادة الميلاد ، لا يستخدم في وثائق أخرى. هناك شكل من أشكال العلاج المهذب / kundze (تناظرية للرجل / العشيقة الروسية) ، والتي توضع بعد اللقب (أي في النهاية ، وليس في البداية ، كما في الإصدارات السابقة). ثم يتم تسجيل اللقب في المدفوعات التناسلية.
    • الصين - في السجل الصيني الأصلي ، دائمًا ما يكون اللقب أولاً ، ثم الاسم. هناك شكل مهذب من الالتماس يربط الاسم الأخير (يندمج معه ، وليس بكلمة واحدة). سيبدو لقبي Vasiliskov في السجل الصيني مثل 瓦西里斯科夫. والنظير الصيني "السيد باسيليسك" هو 瓦西里斯科夫 先生.
      تدليل مع الصينية
      ليست ذات صلة بموضوع المقال ، ولكن يمكن أن تجلب الكثير من lulz. إذا أخذت الكلمة ، وترجم مترجم Google إلى الصينية ، وقسمت النتيجة إلى 1-2 هيروغليفية وترجمت مرة أخرى ، يمكنك قضاء وقت ممتع للغاية. قل ، 瓦西 里 يترجم "باسيل" ، 斯科夫 باسم "خليج" ، 科夫 مثل "كراكوف". لكن المعنى السري للمعرفة القديمة يمكن الكشف عنه بكلمات عادية. لنفترض أن الهاتف يترجم إلى 电话. في هذه الحالة ، 电 - "كهرباء" ، 话 - "كلمات". كلمات أخرى بالكهرباء: 电池 - بطارية (池 - تجمع) ، 电脑 - كمبيوتر (脑 - دماغ) ، 电影 - فيلم (影 - ظل). لم أتحدث مع الصينيين الحقيقيين في هذا الجزء ، ولكن يمكن قضاء الوقت بهذه الطريقة بشكل جيد للغاية. بشكل عام ، لغة مثيرة للاهتمام. بعد اللاتفية والبولندية ، يجب على المرء أن يفعل ...
    • الفلبين - هنا اختلطت أنظمة تهجئة الأسماء الأمريكية والإسبانية تاريخياً. مأخوذة من أيام الاستعمار الإسباني ، اختلط تقليد هجاء أسماء الأم والأب مع الأمريكي لإعطاء أسماء وسيطة. في النسخة الحالية ، يتم تسجيل الاسم المسمى عند الولادة في عمود "الاسم" ، ويصبح اسم الطفل لقب الأب ، والاسم الأوسط هو اسم الأم قبل الزواج.

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

خيارات أكثر ندرة


من غير المرجح أن يحتاج معظمكم إلى جوانب i18n من هذه الفئة. ولكن قد يكون من المفيد تذكرها.

  • نظام الوحدات. هل اعتاد المستخدمون على أمتار ، كيلوغرامات ، لترات ودرجات مئوية؟ أم قدم ، جنيه ، جالون ودرجات كلفن؟ أنا شخصياً لم أذهب إلى الولايات المتحدة بعد ، لكن أولئك الذين كانوا هناك أخبروني أنه بمجرد وصولك هناك ستجد نفسك في نارنيا ، العالم الرائع للوحدات "غير المنتظمة". وبعد قضاء وقت معين هناك ، تبدأ في نسيان النظام.
  • حجم الورق. وهي مرتبطة جزئيًا بالنسخة السابقة وهي مفيدة جدًا إذا قمت بإنشاء نوع من الفواتير ونماذج ورقية وشيء آخر يمكن طباعته ووضعه في مجلد للتسجيلات أو تسليمه لشخص ما. اعتادت معظم البلدان على تنسيق A4. لكن الولايات المتحدة ، على سبيل المثال ، تستخدم على نطاق واسع تنسيقات Letter (8 1⁄2 x 11 inch، 216 x 279 mm) و Legal (8 1⁄2 x 14 inches، 216 x 356 mm).
  • قواعد السلسلة المدمجة. أحد الجوانب التي يمكن أن تكون مفيدة في الواقع ، والتي يصعب تنفيذها. وفقًا لقواعد السلاسل المجمعة ، أعني تلك الحالات عندما تحتاج إلى تكوين جزء من النص ، وليس فقط إنتاج متغير لغة. تشمل الأمثلة على سبيل المثال لا الحصر:
    • انخفاض الكلمات المتعلقة بالعدد (في سلتك 3 منتجات / 5 منتجات) ؛
    • تشكيل الاسم الكامل من المثال أعلاه ؛
    • الاستخدام الصحيح للنوع النحوي باللغات الموجودة (عزيزي السيد إيفانوف / عزيزي السيدة إيفانوفا) ، إلخ.

    ماذا تفعل معهم؟ إذا استهدفت عددًا محدودًا من المناطق أو توسعت تدريجيًا ، يمكنك التفكير في الهندسة المعمارية لهذه البقع الزلقة. ولكن سيكون من الأفضل التحايل عليهم بحرص وحياد.

من أين تحصل على المعلومات؟


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

لقد تطرقت فقط إلى الجوانب الأساسية في رأيي. إذا كنت تعتقد أنني فاتني شيء ، اكتب في التعليقات ، سأضيف. شارك تجربتك مع المنتجات المترجمة في نفس الوقت.

شكرا لك على البقاء معنا. هل تحب مقالاتنا؟ هل تريد رؤية مواد أكثر إثارة للاهتمام؟ ادعمنا عن طريق تقديم طلب أو التوصية به لأصدقائك ، خصم 30 ٪ لمستخدمي Habr على نظير فريد من خوادم مستوى الدخول التي اخترعناها لك: الحقيقة الكاملة حول VPS (KVM) E5-2650 v4 (6 نوى) 10GB DDR4 240GB SSD 1Gbps من 20 $ أو كيفية تقسيم الخادم؟ (تتوفر الخيارات مع RAID1 و RAID10 ، حتى 24 مركزًا وحتى 40 جيجابايت DDR4).

VPS (KVM) E5-2650 v4 (6 نوى) 10GB DDR4 240GB SSD 1Gbps حتى ديسمبر مجانًا عند الدفع لمدة ستة أشهر ، يمكنك الطلب هنا .

ديل R730xd أرخص مرتين؟ فقط لدينا 2 x Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 TV من 249 دولارًا في هولندا والولايات المتحدة! اقرأ عن كيفية بناء مبنى البنية التحتية الطبقة باستخدام خوادم Dell R730xd E5-2650 v4 بتكلفة 9000 يورو مقابل سنت واحد؟

Source: https://habr.com/ru/post/ar427641/


All Articles