Плагин Translate установлен, но кнопки Translate нет

Я сделал следующее:

  • Установил плагин.
  • Поставил галочку «Разрешить перевод постов на лету».
  • Следовал инструкциям по получению ключа Microsoft.
  • Выбрал Microsoft в качестве переводчика и добавил ключ.
  • Создал тему на иностранном языке.

Однако я не вижу кнопки перевода (глобус) рядом с кнопкой вставки ссылки, как показано в инструкциях к плагину.

Я также пробовал удалить и переустановить плагин. Сейчас у меня установлен только этот плагин.

Должна ли эта кнопка отображаться в любом случае?

Может ли быть полезно проверить работу API Microsoft?

Есть ли какие-либо шаги по устранению неполадок для этого плагина?

Спасибо!




Приносим извинения за отсутствие ответов по проблеме с отсутствием кнопки перевода. Сложность с ответом на ваш вопрос заключается в том, что кому-то потребуется пройти шаги по настройке плагина для использования сервиса перевода Microsoft. Если мы не сможем найти никого, кто использует Microsoft Translator с плагином, я изучу, что могу сделать, чтобы настроить это на следующей неделе.

Я перемещу вашу тему в категорию #plugin:translator, чтобы посмотреть, поможет ли это привлечь к ней внимание.

Спасибо за ответ. Разве кнопка «Перевод» не отображалась бы как сломанная, если бы проблема, возможно, заключалась в сбое Microsoft? Я с радостью помогу устранить неполадки в API перевода Microsoft, но я не нашел для этого документации. Еще раз спасибо.

Кнопка перевода будет отображаться только в том случае, если мы обнаружим, что язык поста отличается от текущего локали, выбранной пользователем.

Вы можете протестировать его, выполнив следующие команды:

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

Если ключ подписки настроен неправильно, будет выдана ошибка.

Спасибо за ваш ответ. Переводчик теперь работает. Ниже приведены подробности о том, как я нашел решение, на случай, если эта информация будет кому-то полезна.

Кроме того, когда я спрашивал: «Должна ли я видеть эту кнопку в любом случае?», мой вопрос подразумевал скорее «работает ли API-ключ или нет», а не «даже если мой предпочтительный язык уже используется». Похоже, что кнопка перевода скрывается, если 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'

Тогда я выполнил этот тест в соответствии с документацией Microsoft:

// Передайте секретный ключ и регион через заголовки
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. Я нахожусь в Калифорнии, но мои пользователи будут по всему миру, в основном в Западной Европе. Я вспомнил, что процесс инициализации переводчика Microsoft требует выбора региона, и он рекомендовал westeurope для общего использования пользователями из Северной Америки и Западной Европы.

Я попытался изменить его на глобальный, но не смог найти способ сделать это. Поэтому я создал новый ресурс, и сегодня он позволил мне выбрать глобальный регион. И теперь с этим новым ключом всё работает.

Спасибо за вашу помощь.

Спасибо за это решение!