翻訳プラグインがインストールされましたが、翻訳ボタンがありません

以下の手順を踏みました:

  • プラグインをインストールしました。
  • 「投稿のインライン翻訳を許可する」にチェックを入れました。
  • Microsoft キーを取得する手順に従いました。
  • 翻訳者として Microsoft を選択し、キーを追加しました。
  • 外国語のトピックを作成しました。

しかし、プラグインの指示に示されているように、リンクボタンの隣に翻訳(地球儀)ボタンが表示されません。

プラグインのアンインストールと再インストールも試みました。現在インストールされているのはこのプラグインのみです。

このボタンは常に表示されるべきでしょうか?

Microsoft API を何かしらテストする必要があるでしょうか?

このプラグインに関するトラブルシューティングの手順はありますか?

よろしくお願いいたします!




「いいね!」 2

翻訳ボタンが表示されないという問題への回答がなかったことをお詫び申し上げます。ご質問にお答えするのが難しいのは、プラグインをMicrosoft翻訳サービスで使用するように設定する手順を実行する必要があるためです。もしプラグインでMicrosoft Translatorを使用している方を見つけられない場合は、来週、私が設定できるようにできることを検討いたします。

話題を#plugin:translator カテゴリに移動させて、より多くの方に見ていただけるようにいたします。

「いいね!」 3

ご返信ありがとうございます。もし問題がマイクロソフト側の不具合にある可能性があるのであれば、壊れた翻訳ボタンは引き続き表示されるはずです。マイクロソフトの翻訳 API のトラブルシューティングをお手伝いできるのですが、そのためのドキュメントが見当たりませんでした。再度、ありがとうございます。

翻訳ボタンは、投稿の言語がユーザーが選択した現在のロケールと異なる場合にのみ表示されます。

以下のコマンドを実行してテストできます。

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

サブスクリプションキーが正しく設定されていない場合、エラーが発生します。

「いいね!」 3

ご返信ありがとうございます。翻訳機能が現在正常に動作しています。もしこの情報が誰かのお役に立つようであれば、私がどのように解決策に至ったかの詳細を以下に記します。

また、「そのボタンは常に表示されるべきでしょうか」と質問した際、私の意図した問いは「希望する言語が既に使用されているかどうか」ではなく、「API キーが機能しているかどうか」でした。どうやら、翻訳ボタンは API が失敗した際に非表示になるようです。

その後、SSH でサーバーにログインし、cd /var/discourse/./launcher enter apprails 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 Docs に従って以下のテストを実行しました。

// Pass secret key and region using headers
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 が推奨されていることを確認しました。

現在、これを「global」に変更しようと試みましたが、方法が見つかりませんでした。そのため、新しいリソースを作成したところ、今回は「global」を選択することができました。この新しいキーを使用すると、現在正常に動作しています。

ご支援いただき、ありがとうございました。

「いいね!」 7

この解決策をありがとうございます!

「いいね!」 2