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

لقد قمت بالتالي:

  • تثبيت الإضافة.
  • تفعيل خيار “السماح بالترجمة المباشرة للمشاركات”.
  • اتباع الخطوات للحصول على مفتاح Microsoft.
  • اختيار Microsoft كترجمان وإضافة المفتاح.
  • إنشاء موضوع بلغة أجنبية.

لكنني لا أرى أي زر ترجمة (كرة أرضية) بجوار زر الرابط كما هو موضح في تعليمات الإضافة.

لقد جربت أيضًا إلغاء تثبيت الإضافة وإعادة تثبيتها. وهذه هي الإضافة الوحيدة التي قمت بإضافتها حتى الآن.

هل يجب أن أرى هذا الزر في جميع الأحوال؟

هل يجب أن أجرب اختبار واجهة برمجة تطبيقات Microsoft بطريقة ما؟

هل توجد خطوات استكشاف الأخطاء وإصلاحها لهذه الإضافة؟

شكرًا لكم!




إعجابَين (2)

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

سأقوم بنقل موضوعك إلى فئة #plugin:translator لمعرفة ما إذا كان ذلك سيساعد في لفت الانتباه إليه.

3 إعجابات

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

سيظهر زر الترجمة فقط إذا اكتشفنا أن لغة المنشور تختلف عن اللغة الحالية التي اختارها المستخدم.

يمكنك تجربتها بتشغيل الأوامر التالية:

./launcher enter app
rails c
=> DiscourseTranslator::Microsoft.detect(Post.last)

سيتم طرح خطأ إذا لم يتم تكوين مفتاح الاشتراك بشكل صحيح.

3 إعجابات

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

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

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

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

7 إعجابات

شكرًا لك على هذا الحل!

إعجابَين (2)