دعم تنسيق الرسائل للتوطين

إرشادات للمترجمين

في Discourse، تنتهي جميع مفاتيح نصوص Message Format بـ “_MF”. يحتوي محرر Crowdin على معاينة تتيح لك تجربة قيم مختلفة، وهو مفيد جدًا للتحقق من ترجماتك.

مهم: يجب عليك تعديل صيغ الجمع في ترجمتك إذا كانت لغتك تستخدم صيغًا أخرى غير “واحد” و"أخرى". يمكنك إضافة أو إزالة الصيغ داخل كتلة { FOO, plural, ... } لجعلها تعمل بلغتك. ستعرض المعاينة في محرر Crowdin رسالة “Syntax error” (خطأ في الصياغة) في المعاينة إذا كانت هناك مشكلة في ترجمتك.

صيغ الجمع المتاحة هي:

  • zero
  • one
  • two
  • few
  • many
  • other (مطلوب — صيغة الجمع العامة — تُستخدم أيضًا للغة التي لا تميز بين المفرد والجمع)

في بعض الأحيان، قد ترى كتلة فارغة =0 {} في نص المصدر الإنجليزي، مما يعني أن المتغير لا يمكن أن يكون له قيمة 0.

إرشادات للمطورين

نصوص Message Format متاحة حاليًا فقط لترجمات جانب العميل (client-side). وهي مفيدة إذا كان نصك يحتوي على أكثر من رقم واحد أو العديد من المتغيرات التي قد تؤدي إلى عدد كبير من التباديل.

  • يجب أن تنتهي مفاتيح نصوص Message Format بـ “_MF”

  • استخدم الصيغة التالية للأرقام (# سيُستبدل بالرقم):

    { variable_name, plural,
        one: {# singular text}
      other: {# plural text}
    }
    
  • استخدم الصيغة التالية للخيارات:

    { variable_name, select,
      foo: {This is foo}
      bar: {This is bar}
      baz: {This is baz}
    }
    
  • إليك كيفية استخدامه في JavaScript:

    I18n.messageFormat("key_MF", {
      variable1: "foo",
      variable2: 42,
    });
    
  • :loudspeaker: توصية: إذا أمكن، استخدم الحقائق المعقدة كهيكل خارجي للرسالة، واكتب جملًا كاملة في رسائلها الفرعية. إذا كان لديك حقائق select وplural متداخلة، ضع حقائق select (بمجموعاتها الثابتة من الخيارات) في الخارج وداخلي حقائق plural (أرجو أن تكون واحدة على الأكثر) داخلها. راجع Formatting Messages | ICU Documentation

  • اجعلها قابلة للقراءة – راجع الأمثلة الموجودة في client.en.yml

    :cross_mark: سيء

    There {currentTopics, plural, one {is <strong>#</strong> topic} other {are <strong>#</strong> topics}}. Visitors need more to read and reply to – we recommend at least { requiredTopics, plural, one {<strong>#</strong> topic} other {<strong>#</strong> topics}}. Only staff can see this message.
    

    :green_heart: جيد

    There { currentTopics, plural,
        one {is <strong>#</strong> topic}
      other {are <strong>#</strong> topics}
    }. Visitors need more to read and reply to – we recommend at least { requiredTopics, plural,
        one {<strong>#</strong> topic}
      other {<strong>#</strong> topics}
    }. Only staff can see this message.
    

الأدوات والمزيد من المعلومات


هذا المستند مُدار بالإصدارات - اقترح تغييرات على github.

10 إعجابات