تم تثبيت المكون الإضافي للترجمة، ولكن لا يوجد زر ترجمة

شكرًا لك على ردك. يعمل المترجم الآن. فيما يلي تفاصيل كيفية وصولي إلى الحل، في حال كانت هذه المعلومات مفيدة لأي شخص.

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

عندما قمت بالاتصال عبر SSH إلى جهازنا، ثم نفذت cd /var/discourse/، ثم ./launcher enter app، ثم rails c، ثم DiscourseTranslator::Microsoft.detect(Post.last)، كان الناتج:

DiscourseTranslator::TranslatorError: : 
from /var/www/discourse/plugins/discourse-translator/services/discourse_translator/microsoft.rb:70:in `access_token'

لذلك قمت بتشغيل اختبار آخر وفقًا لـ توثيق مايكروسوفت:

// تمرير المفتاح السري والمنطقة باستخدام الرؤوس
curl -X POST "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=es" \
     -H "Ocp-Apim-Subscription-Key:<your-key>" \
     -H "Ocp-Apim-Subscription-Region:<your-region>" \
     -H "Content-Type: application/json" \
     -d "[{'Text':'Hello, what is your name?'}]"

أشار الناتج إلى النجاح:

[{"detectedLanguage":{"language":"en","score":1.0},"translations":[{"text":"Hola, ¿cómo te llamas?","to":"es"}]}]%                                            ~ % 

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

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

شكرًا لك على مساعدتك.