توطين المحتوى: يدوي وآلي باستخدام ذكاء Discourse

في هذا الموضوع، سنرشدك خلال ميزات “توطين المحتوى” (Content Localization) وكيفية تفعيلها. تنقسم الميزات إلى جزأين: ما هو متاح بشكل افتراضي في Discourse؛ و Discourse AI للترجمات التلقائية.

:warning: للوصول السريع إلى الأقسام ذات الصلة، استخدم عناوين الويكي :backhand_index_pointing_right:t2:

توطين محتوى مجتمعك

يمنحك Discourse الوصول إلى عدة ميزات توطين متاحة للتكوين في:

  • <your-site-url>/admin/site_settings/category/content_localization
توطين المحتوى في إعدادات الموقع 📸

التحضير

أولاً، من الجيد الحصول على بعض المعلومات حول مجتمعك عبر مستكشف البيانات (Data Explorer).

اللغة المفضلة عبر تفضيلات المستخدم

يمكن أن يعطيك الاستعلام التالي فكرة عن عدد المستخدمين الذين قد يكونون قد حددوا لغتهم في /my/preferences/interface.

SELECT locale, count(*) as count
FROM users
WHERE (locale IS NOT null AND locale <> '')
GROUP BY locale
ORDER BY count DESC
نتائج عينة من مستكشف البيانات

من أين يأتي مستخدموك

حل أفضل، إذا كان لديك أحداث عرض صفحات المتصفح مفعلة (إعداد الموقع)، هو هذا الاستعلام الذي يخبرك من أي بلد يأتي مستخدمك:

SELECT
  e.country_code AS country_code,
  COUNT(*) AS pageviews
FROM browser_pageview_events e
WHERE e.country_code IS NOT NULL
  AND e.country_code <> ''
GROUP BY e.country_code
ORDER BY pageviews DESC
نتائج عينة

الإعداد

بفضل المعلومات أعلاه، أصبحت الآن أكثر اطلاعاً على اللغات التي يجب أن يدعمها مجتمعك.

في <your-site-url>/admin/site_settings/category/content_localization، ابدأ في إعداد ذلك.

  • توطين المحتوى مفعّل - يفعّل الميزة التي تستبدل محتوى المستخدم المكتوب الأصلي بالمحتوى المُوَطَّن. اقرأ المزيد عن وضعَي التوطين التلقائي (AI) واليدوي (بشري).
  • اللغات المدعومة لتوطين المحتوى - قائمة اللغات التي يدعمها موقعك
  • معيار المتصفح لتوطين المحتوى - مغطى في قسم المتصفحات أدناه
  • مُبدِّل اللغة لتوطين المحتوى - مغطى مباشرة أدناه
قائمة اللغات في إعدادات الموقع 📸

مُبدِّل اللغة

تفعيل الإعداد التالي مُبدِّل اللغة لتوطين المحتوى يسمح لك أيضاً بجعل مجتمعك أكثر سهولة الوصول للمستخدمين غير المسجلين عن طريق إظهار قائمة اللغات التي اخترتها في قائمة اللغات المدعومة:

مُبدِّل اللغة في أعلى يمين الصفحة

عرض المحتوى المُوَطَّن

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

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

الترجمات التلقائية مع Discourse AI :sparkles:

تُعد Discourse AI ضرورية للغاية لميزة التوطين، وتزيل الحاجة إلى القيام بترجمات يدوية.

كمسؤول، سترغب في التوجه إلى منطقة Discourse AI المخصصة لـ الترجمات. تغطي هذه المنطقة المخصصة:

  • تقدم الترجمة
  • إعدادات الذكاء الاصطناعي
  • إعدادات لغة التطبيق

لتغطية بعض الإعدادات والتوصيات المهمة:

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

يمكنك الرجوع إلى AI bot - Agents لمعرفة كيفية تكوين وكلاء مناسبين وضبط الموجهات لكل وظيفة.

التوطين اليدوي

بما أن التوطين ميزة أساسية في Discourse، فإننا نوفر لك القدرة على ملء وتحرير التوطينات يدوياً في حال عدم توفر الترجمات التلقائية مع Discourse AI.

بشكل افتراضي، يتم إعداد المسؤولين والمشرفين لتحرير التوطينات.

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

توطين الفئات

الفئات المُوَطَّنة مرئية في المناطق التالية، مع توطين كل من اسم الفئة ووصفها:

الأماكن التي تُوطَّن فيها الفئات 📸
  1. الصفحة الرئيسية، الشريط الجانبي، وقائمة الفئات المنسدلة
  1. صفحة الفئات
  1. فئة محددة ذات فئات فرعية

كمسؤول، يجب أن تكون قادراً على الوصول إلى إعدادات الفئة كما هو معتاد، وإيجاد عنصر التنقل الجديد “التوطينات” على اليسار.

تحرير توطينات الفئة في إعدادات الفئة 📸

توطين الموضوعات والمنشورات

من لقطات الشاشة أعلاه في توطين الفئات، ربما لاحظت توطين عناوين الموضوعات والمقتطفات.

هناك بعض الإعدادات المسبقة

  • تأكد من أن مستخدمك موجود في مجموعات التوطين المسموح بها للمحتوى
  • يتم إضافة زر addTranslation تلقائياً إلى قائمة المنشور و عناصر قائمة المنشور المخفية عند تفعيل توطين المحتوى مفعّل. هذا يسمح لـ :globe_with_meridians: بالظهور في قائمة المنشور للمستخدمين في مجموعات التوطين المسموح بها للمحتوى.
  • السماح للمؤلف بتوطين المحتوى مفعّل بشكل افتراضي، ويسمح لمؤلفي المنشورات بتوطين محتواهم الخاص باستخدام نفس قائمة المنشور أعلاه.
إعداد قائمة المنشور

تحرير منشور مُوَطَّن

في حال كان المستخدم قد يكون يعرض منشوراً مُوَطَّناً، ويرغب في تحريره، ستظهر مربع حوار للسؤال عن النسخة التي يفضل تحريرها:

سيظهر محرر مناسب بعد اتخاذ القرار.

توطين الشريط الجانبي المخصص

أقسام الشريط الجانبي التي تكون “مرئية للجميع” تظهر أيضاً عناصر تحكم إضافية للترجمة:

المتصفحات (Crawlers)

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

النتيجة ستكون أن المتصفحات يمكنها رؤية ما يلي، حيث يكون لكل لغة مدعومة hreflang مطابق في رأس كل موضوع:

للإثبات / التحقق الإضافي

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

الأسئلة الشائعة

لقد قمت بالإعدادات، لكن الترجمة التلقائية لا تزال لا تعمل لدي
تأكد من أنك قمت بإعداد هذه العناصر

  • اللغات المدعومة لتوطين المحتوى تحتوي على لغة واحدة على الأقل
  • توطين المحتوى مفعّل هو :check_mark:
    • السماح بلغة المستخدم هو :check_mark: (مفعّل بشكل افتراضي)
    • تعيين اللغة من ملف تعريف الارتباط هو :check_mark:
  • ترجمة الذكاء الاصطناعي مفعّلة هو :check_mark:
  • يجب أن يكون لديك نموذج لغوي كبير (LLM) يعمل لكل وكيل ترجمة

إذا فشل كل شيء آخر، يمكنك تفعيل SiteSetting.ai_translation_verbose_logs.

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

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

إذا تم تعديل المنشور الأصلي، هل يتم إعادة ترجمته؟
نعم – بحد أقصى مرتين في اليوم. عند تعديل منشور، يتم إرساله لإعادة الترجمة بعد تأخير يساوي الأكبر بين 5 دقائق أو SiteSetting.editing_grace_period لمراعاة التعديلات السريعة. لدى المستخدمين المصرح لهم في مجموعات التوطين المسموح بها للمحتوى خيار إرسال منشور لإعادة الترجمة فوراً.

هل سيتم حذف الترجمات إذا قمت بتغيير الوكيل أو نموذج لغوي كبير (LLM)؟
لا، عادةً ما تستمر الترجمات عبر تغييرات الإعدادات ما لم يتم حذفها صراحةً باستخدام عنصر قائمة المنشور أو محرر الترجمة.


25 إعجابًا
Content Localization and Automatic Translations for Your Community
2 language site
Machine-translate messages so users can read without knowing sender's language
Anonymous user language selector for Discourse
Update or Replace Header Locale Selector for New Discourse Header (widgets-end-of-life) – Is Built-in Support Available?
Übersetzung wie hier auf Meta
Multilingual user feedback on Automatic Translations
Sharing approaches to using automation to send messages to members
Translate Discourse automatically (without a button)
Help which plugin is in the screenshot
About auto translation
Auto Country Translation
How to Add Automatic Multilingual Translation Interface in Discourse?
3.6.0.beta2: Built-in palette editing, live AI translation progress, and better wiki tracking
The usage problem after using AI translation
AI translation backfill not working after all settings configured
AI translation backfill not working after all settings configured
Single post/header only partially translated -issue
Language Switcher Problem, Not Translating Posts
配置好 ai 翻译后,帖子已经被自动翻译,但是在帖子顶部和右侧没有显示语言切换按钮
Feature Request: Allow Users to Localize Only Their Own Topics
How to configure ai translate of `Ai translation backfill hourly rate`?
Seeking experience: Supporting a multilingual Discourse community
Ongoing translation in threads
I need help to configure LLM DeepSeek R1 0528 - free for Automatic translations with Discourse AI
I need help to configure LLM DeepSeek R1 0528 - free for Automatic translations with Discourse AI
Not sure how to juggle languages while setting up my francophone community
Structuring a multilingual community
Why is Discourse AI translation not working
How to set up Discourse AI for internal-only usage
AI translation of all PMs
Content localization language switcher doesn't work
This Meta Branded theme is special. Can I use it on my forum too?
Feature Request: Translation of FAQ/Terms of Service/Privacy
Using Discourse and LibreTranslate without AI
Single post/header only partially translated -issue
Header Locale Selector
为啥的布署的discourse不支持修改语言
Topic list is shown in a language (DE) but has one (DE) topic not translated
If topic info is too long, tags are cut off and create a blank line
Content Localization and Automatic Translations for Your Community
Images break when the page is auto-translated by a browser translation extension (S3/R2 + CDN is configured correctly)
Bearbeitung von Übersetzen Beiträgen verbessern
Why Is the Discourse AI Translation Icon Not Appearing?
Why are posts in Swedish un-translated to Finnish, default locale?
Discourse AI Translator, Planet Icon Missing
Language switcher and language content