مشاركة ترجمات الثيم (المكون)

:information_source: ملخص ساهم في ترجمة السمات ومكونات السمة من خلال مشاركة الترجمات التي تم إجراؤها في واجهة Discourse بسهولة
:eyeglasses: معاينة مشاركة السمات على منشئ السمات غير ممكنة حاليًا
:hammer_and_wrench: المستودع GitHub - moin-Jana/share-theme-translations
:question: دليل التثبيت كيفية تثبيت سمة أو مكون سمة
:open_book: جديد في سمات Discourse؟ دليل المبتدئين لاستخدام سمات Discourse

ثبت مكون السمة هذا

تجعل Discourse من السهل ترجمة السمات ومكونات السمة. لكن غالبًا ما تظل هذه الترجمات محصورة في موقعك المحلي فقط.
يساعدك هذا المكون على مشاركة ترجماتك مع المجتمع والمؤلف كطلب سحب (pull request) إلى المستودع أو عن طريق نشرها في الموضوع هنا على Meta.


كيف يعمل

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

:warning: ملاحظة حول الفروع الافتراضية
يفترض المكون أن الفرع الافتراضي للمستودع يُسمى main. إذا كان المستودع يستخدم اسمًا مختلفًا (مثل master)، فقد لا تعمل بعض الروابط بشكل صحيح وقد تتطلب تعديلًا يدويًا.

إنشاء ملفات ترجمة جديدة على GitHub

إذا كانت السمة مستضافة على GitHub ولم تكن اللغة تحتوي بعد على ملف ترجمة، فسيقوم الزر بـ:

  • فتح محرر GitHub بالمسار الصحيح (مثل locales/de.yml)
  • ملء المحرر مسبقًا بترجماتك بتنسيق صحيح
  • تضمين أوصاف السمة وإعداداتها (اختياري)

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

خطوات مفصلة
  1. بعد الترجمة، انقر فوق الزر لفتح النافذة المنبثقة
  2. انقر فوق “إنشاء طلب سحب”
  3. انسخ المستودع (Fork)
  4. سيفتح المحرر بترجماتك المملوءة مسبقًا. إذا رغبت، يمكنك ترجمة الأوصاف مباشرة في الملف.

    عند تعطيل مربع الاختيار لاستبعاد الأوصاف، لن يتم تضمينها، مما يبسط النص في المحرر.
  5. عندما تكون جاهزًا، انقر فوق “Commit changes…”، ثم “Propose changes”، وأخيرًا “Create pull request” (مرتين).
  6. :partying_face: هذا كل شيء - لقد شاركت ترجماتك!

تحسين وإضافة ترجمات على GitHub

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

  • فتح محرر GitHub بالمسار الصحيح (مثل locales/en_GB.yml)
  • بدلاً من ملء محرر GitHub مسبقًا، سيتم نسخ الترجمات إلى الحافظة حتى تتمكن من لصقها بسهولة.
  • يمكن تضمين معلومات إضافية مثل وصف السمة والإعدادات إذا كانت لغة واجهتك هي نفسها الترجمات التي تقوم بتحريرها. وإلا، فلن يتمكن المكون من الحصول على الأوصاف باللغة الصحيحة، وسيتم استبعادها، وستنسخ فقط النصوص المترجمة. في هذه الحالة، تأكد من عدم استبدال الأوصاف عند لصق التغييرات. سيقوم المكون بتحذيرك مسبقًا، حتى تتمكن بسهولة من تغيير لغة واجهتك وتضمين الأوصاف.
خطوات مفصلة
  1. عندما لا تتطابق لغة واجهتك مع لغة الترجمة (في هذه الحالة لغتي الواجهة هي الإنجليزية الأمريكية وأنا أترجم إلى الإنجليزية البريطانية) لديك خياران:

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

    ب. وإلا، سيتم تعطيل مربع الاختيار.
  3. انقر فوق “Copy & open GitHub” وانسخ المستودع
  4. سترى المحرر مع الترجمات المحفوظة حاليًا على GitHub.
    أ. إذا تم تضمين الأوصاف، يمكنك ببساطة استبدال محتوى الملف بالكامل.

    ب. في حال لم تقم بتغيير الإعدادات المحلية أو ألغيت تحديد المربع، فقد تم نسخ ترجمات السمة فقط. لذا استبدلها فقط بترجماتك. انتبه إلى أن كل شيء محاذٍ بشكل صحيح.
  5. يمكنك أيضًا تحرير الأوصاف. عندما تكون جاهزًا، انقر فوق “Commit changes…”، ثم “Propose changes”، وأخيرًا “Create pull request” (مرتين).
  6. :partying_face: هذا كل شيء - لقد شاركت ترجماتك!

:warning: تستخدم بعض مكونات السمات منصة ترجمة للترجمات. على سبيل المثال، يتم ترجمة العديد من المكونات official على Crowdin. تحتوي هذه الملفات على تحذير في الأعلى يخبرك أين يمكنك المساهمة بترجماتك بدلاً من ذلك.

مشاركة الترجمات على Meta

عندما لا تملك حساب GitHub ومتوفر رابط موضوع Meta، يمكنك أيضًا نشر ترجماتك هناك وطلب من المؤلف تضمينها في التحديث التالي. عند النقر فوق “Copy & open Meta”، سيتم تنسيق ترجماتك ونسخها إلى الحافظة وفتح موضوع Meta في علامة تبويب جديدة. ثم انقر ببساطة فوق Reply والصق الترجمات المنسقة التي تم نسخها لك.

خطوات مفصلة
  1. بعد الترجمة، انقر فوق الزر لفتح النافذة المنبثقة.
  2. انقر فوق “Copy & open Meta”.
  3. انقر فوق “Reply” لفتح المحرر والصق ترجماتك.
  4. إذا لم تستبعد الأوصاف، يمكنك تحريرها مباشرة قبل نشر ترجماتك.
  5. :partying_face: لقد شاركت ترجماتك

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

مشاركة الترجمات على منصات أخرى

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

الإعدادات

يتضمن هذا المكون إعدادًا واحدًا: hide_texts
يخفي هذا الإعداد الشرح التمهيدي ويعرض رسالة أقصر تظهر عندما لا تتطابق لغة واجهتك مع اللغة التي تترجم إليها.

أفكار للمستقبل

حاليًا، لا يمكن للمكون اكتشاف ما إذا كانت السمة مترجمة خارجيًا - على سبيل المثال، عبر Crowdin. سيكون ذلك ممكنًا تقنيًا إذا كان ملف about.json يحتوي على حقل اختياري translation_url، تمامًا كما يمكنه بالفعل تضمين رابط رخصة أو موضوع تعريفي. على سبيل المثال:

"translation_url": "https://discourse.crowdin.com/discotoc"

مع وجود ذلك، يمكن للمكون:

  • إخفاء زر المشاركة عندما تتم معالجة الترجمات في مكان آخر
  • عرض رسالة توضح أين يمكن المساهمة بدلاً من ذلك
  • تجنب طلبات السحب غير الضرورية أو الارتباك

هذا لن يساعد فقط هذا المكون - بل سيكون مفيدًا بشكل عام للمسؤولين للعثور على مكان المساهمة بالترجمات.

11 إعجابًا

عمل رائع يا معين. شكراً على بناء هذا. :astronaut: :clap:

6 إعجابات