إضافة متعددة اللغات :کرہ مع خطوط الطول والعرض:

لقد فتحت طلب سحب (PR) يقوم (في الغالب) بإصلاح هذه المشكلة!

إنه يعمل على أسماء الفئات والأوصاف والفئات الفرعية عندما يكون الخيار show_subcategory_list نشطًا في فئة!
المشكلة الوحيدة المتبقية هي الفئات الفرعية عندما يكون show_subcategory_list معطلاً :purple_heart:

4 إعجابات

إذا كنت أرغب في ترجمة الفئات، وأوصاف الفئات، والعلامات في منتداي إلى 10 لغات مختلفة، فسيتعين عليّ إنشاء وتحميل 30 ملفًا منفصلاً للتكوين والتحديثات (3 × 10 = 30).

أفكر في وضع جميع الترجمات في ملف واحد بالبنية التالية:

categories:
  slug:
    _de: الاسم الألماني
    _en: الاسم الإنجليزي
    .description:
       _de: الوصف الألماني
       _en: الوصف الإنجليزي
tags:
  tag:
     ...

هذا سيكون له فوائد عديدة:

  • يمكن تحديث جميع الترجمات دفعة واحدة
  • يرى المترجمون السياق أثناء الترجمة
  • تبسيط مهام الترجمة باستخدام نماذج اللغة الكبيرة

هل جرب أحد هذا من قبل؟

هل هناك أي سلبيات لا أراها؟

فيما يتعلق بالتنفيذ الأولي، سأحاول كتابة إضافة تنشئ وتحدث جميع الإدخالات المطلوبة في Multilingual::CustomTranslation.

3 إعجابات

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

  • أستخدم الإضافة وأريد فقط أن تستمر في العمل.
  • أستخدم الإضافة وأريد وظائف أو تجربة مستخدم أفضل/مختلفة.
  • أريد وظائف أفضل متعددة اللغات في Discourse ولكن لا أستخدم هذه الإضافة (يرجى الشرح أدناه).
  • لا شيء مما سبق (يرجى الشرح أدناه سبب تصويتك).
0 voters
إعجابَين (2)

إجابتي “أريد وظائف أفضل متعددة اللغات في Discourse ولكن لا تستخدم هذا المكون الإضافي (يرجى الشرح أدناه)” هي لأننا نقوم بتقييم خيار لغات متعددة جيد. سيكون من الرائع أن تكون أداتك هي الأداة المناسبة.

كما طلبت ما هو مطلوب، قمت بنشر ما كتبته للسؤال العام عن دعم اللغات المتعددة هنا:

لدينا موقع ويب بنطاق واحد ولغتين (الألمانية والإنجليزية). يتم تقسيم المحتوى حسب domain.org/de/[nameofsite] و domain.org/en/[nameofsite].
لدينا منتدى discourse باللغة الألمانية على النطاق الفرعي [germankeyword]-forum.domain.org
الآن نريد إضافة نسخة منتدى باللغة الإنجليزية.
للأسف، الكلمة المفتاحية الإنجليزية، التي تصف الموضوع بدقة، والتي نريد استخدامها للمنتدى الإنجليزي ([englishkeyword]-forum.domain.org) تختلف عن الكلمة المفتاحية الألمانية. الكلمة المفتاحية الألمانية لا تعمل باللغة الإنجليزية والكلمة المفتاحية الإنجليزية لا تعمل باللغة الألمانية.

سؤال:
هل من الممكن تشغيل منتدى discourse (واحد) بنطاقات فرعية مختلفة للغات مختلفة مع استخدام إدارة حساب واحدة فقط؟
أم يتعين علينا بناء منتدى إنجليزي جديد تمامًا بنطاقه الفرعي الخاص وإدارة حساباته الخاصة؟

بمصطلح “إدارة حساب واحدة” أعني قاعدة بيانات واحدة فقط للمستخدمين وتسجيل دخول واحد فقط للغتين.
هل هناك أي إمكانية لتجنب قيام المستخدمين الذين يرغبون في استخدام اللغتين بالتسجيل مرتين؟

أم هل نحتاج حقًا إلى قصر أنفسنا على نطاق واحد إذا أردنا تقديم نفس عمليات تسجيل الدخول للغات مختلفة من نفس المنتدى؟

إذا كنا بحاجة إلى نطاق واحد ومنتدى واحد، فهل هناك إمكانية لعرض لغة المنشور في اسم الرابط للمنشور؟

تمامًا مثل
https://meta.discourse.org/t/multilingual-plugin/*en/*142740/125
للمنشورات الإنجليزية و
https://meta.discourse.org/t/multilingual-plugin/*de/*142740/125
لتلك الألمانية؟

آسف إذا كانت أسئلتي غبية جدًا…

إعجابَين (2)

باختصار، لا، هذا غير ممكن.

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

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

هذه ليست ميزة حالية للإضافة، ولكن من الممكن تحقيق ذلك ببعض العمل الإضافي. لتحقيق رؤيتك بالكامل، سيلزم عمل إضافي على أي حال. يمكنك إرسال رسالة خاصة لي على coop.pavilion.tech.

إعجابَين (2)

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

4 إعجابات

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

إعجاب واحد (1)

كجزء من عائلة لغات صغيرة وصعبة للغاية، أحتاج إلى ترجمات مدعومة بالذكاء الاصطناعي لمستخدمي الفنلندية والإستونية. خدمات الترجمة سيئة للغاية خارج اللغات الرئيسية.

الترجمات إلى اللغة الإنجليزية أفضل قليلاً، على الرغم من ذلك.

4 إعجابات

أحاول استخدام الإعداد multilingual guest language switcher footer visible لجعل اللغات الرئيسية للمجتمع متاحة بسرعة كلغات واجهة للمستخدمين الضيوف. إليك ما لاحظته:

  1. شريط قائمة اللغات المختصرة للواجهة يظهر فقط عندما يتم تعيين multilingual guest language switcher إلى footer، ولكن ليس عندما يتم تعيينه إلى header.

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

    ربما عندما يتم اختيار header وتحديد اللغات في multilingual guest language switcher footer visible، يمكن فرزها في أعلى القائمة وتمييزها إلى حد ما؟

  2. يسمح الإعداد بإعادة ترتيب اللغات المحددة للقائمة المختصرة في الشريط:

    ومع ذلك، يبدو أن الشريط يتجاهل هذا الترتيب ويبدو أنه يقوم بفرز اللغات أبجديًا حسب رمزها المكون من حرفين:
    لقطة شاشة لشريط تبديل لغة الضيف متعدد اللغات. اللغات هي (بهذا الترتيب)، العربية، الألمانية، الإنجليزية (الولايات المتحدة)، الفرنسية، الإيطالية، والصينية المبسطة: "اللغة العربية"، "Deutsch"، "English (US)"، "Français"، "Italiano"، و "简体中文"

    سيكون من الجيد لو تم احترام الترتيب المحدد في الإعداد (إما افتراضيًا، أو من خلال تبديل إعداد إضافي).

إعجاب واحد (1)

أوه، وعندما يتم تعيين multilingual guest language switcher على header، فإن القائمة التي تحتوي على قائمة اللغات غير قابلة للتمرير (ولا تقتصر على ارتفاع نافذة المتصفح)، لذلك لا يمكن تحديد بعض اللغات، لأنها تنتهي أسفل الحافة السفلية للمتصفح. (حل بديل في فايرفوكس: قم بالتصغير باستخدام Ctrl + عجلة الماوس، بحيث تتناسب القائمة بأكملها مع نافذة المتصفح.)

هذا مع الإصدار 0.2.9 (ba63f9a) من المكون الإضافي “Multilingual”.

إعجاب واحد (1)

يبدو أن مسؤولاً سابقاً عن نسختنا قد قام بالفعل بتحميل بعض الملفات category_name.<language code>.yml في <discourse base URL>/admin/multilingual/translations.

لكن يبدو أنها لا تعمل. هل هناك طريقة لعرض أو تنزيل محتواها، حتى أتمكن من تعديلها وتحميلها مرة أخرى؟

تعديل:

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

إعجاب واحد (1)

مرحباً، لقد قمت بتثبيت discourse-multilingual في موقعين.
يوجد خطأ في require is not defined in i18n.js:

عندما قمت بتعطيل discourse-multilingual، لم يحدث الخطأ. هل يمكنك إخباري بما قد يكون السبب؟

شكراً لك.

لكنني أريد:

لقد صادفت خطأً ثانيًا في هذا الموضوع.

لقد استبدلت 简体中文 بـ 한국어.
ظهر رمز قلم رصاص، لإعلام بالتغيير.
ولكن إذا نظرت إلى إدخال سجل التعديل، فلن يظهر تغيير لغة الموضوع.
القبل وبعد متطابقان، حتى في الوضع الخام.

أعتقد أن هذه كانت المشكلة أيضًا في

إعجاب واحد (1)

مرحباً!

عذراً إذا كان هذا سؤالاً غريباً، ولكن هل هناك أي مكان يمكنني فيه رؤية المكون الإضافي أثناء عمله؟ لقد قرأت الوثائق ومررت بهذا الموضوع، ولكن يبدو أن معظم مواقع الأمثلة المرتبطة لا تعمل أو قد تغيرت. على سبيل المثال: Pavilion و http://try.thepavilion.io/ وبسبب هذا، لا يمكنني التحقق من الأمثلة المذكورة للمكون الإضافي، ومبدل اللغة، وما إلى ذلك.

إذا لم تكن هناك طريقة حالياً لاختباره، فهل سيكون أحدكم لطيفاً بما يكفي للإجابة على بعض الأسئلة؟ :slightly_smiling_face:

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

عذراً على كل الأسئلة! لقد بذلت قصارى جهدي لمعرفة كل شيء من خلال النظر إلى لقطات الشاشة والوثائق.

يبدو أن هذا المكون الإضافي لا يتوافق جيدًا مع Discourse 3.5.0beta1، اضطررت إلى تعطيله لاستعادة المنتدى. لم أجد شيئًا في السجلات إلا:

تنبيه التغييرات: لا ينبغي استخدام add_to_serializer لتجاوز طرق include_* مباشرة. استخدم بدلاً من ذلك معامل include_condition
في /var/www/discourse/plugins/discourse-multilingual/plugin.rb:314:in block in activate!

إعجابَين (2)

أنا أواجه خطأ 500 / عذرًا مع النسخة الحالية من discourse:

ArgumentError (عدد الحجج غير الصحيح (مُعطى 2، المتوقع 1))
app/controllers/extra_locales_controller.rb:44:in `url'

Backtrace

plugins/discourse-multilingual/extensions/extra_locales_controller.rb:21:in `bundle_js_hash'
app/controllers/extra_locales_controller.rb:44:in `url'
plugins/discourse-multilingual/lib/multilingual/locale_loader.rb:30:in `preload_tag_translations'
plugins/discourse-multilingual/plugin.rb:77:in `block (2 levels) in activate!'

لغتي المحلية مضبوطة على de_DE.UTF-8.

بالمناسبة: الرابط “Report a bug” أعلاه يوجه إلى نطاق غير معروف حاليًا discourse.pluginmanager.org.

إعجاب واحد (1)

هذا المكون الإضافي يتسبب بالتأكيد في تعطل موقعي الآن.

إعجاب واحد (1)

تم تحديث المكون الإضافي بحيث لا يتعطل على أحدث إصدار من Discourse.

14 إعجابًا