Obrigado pela sua resposta. O tradutor está funcionando agora. Seguem os detalhes de como cheguei à solução, caso essa informação seja útil para alguém.
Além disso, quando perguntei “deveria ver esse botão independentemente da situação”, minha intenção era mais sobre “se a chave da API está funcionando ou não”, e não “mesmo que o meu idioma preferido já esteja em uso”. Parece que a resposta é que o botão de tradução se esconde se a API falhar.
Quando fiz SSH na nossa máquina, executei cd /var/discourse/, depois ./launcher enter app, em seguida rails c e, por fim, DiscourseTranslator::Microsoft.detect(Post.last), a saída foi:
DiscourseTranslator::TranslatorError: :
from /var/www/discourse/plugins/discourse-translator/services/discourse_translator/microsoft.rb:70:in `access_token'
Então, executei este teste conforme a Documentação da Microsoft:
// Passe a chave secreta e a região usando os cabeçalhos
curl -X POST "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=es" \
-H "Ocp-Apim-Subscription-Key:<sua-chave>" \
-H "Ocp-Apim-Subscription-Region:<sua-regiao>" \
-H "Content-Type: application/json" \
-d "[{\"Text\":\"Hello, what is your name?\"}]"
A saída indicou sucesso:
[{"detectedLanguage":{"language":"en","score":1.0},"translations":[{"text":"Hola, ¿cómo te llamas?","to":"es"}]}]% ~ %
Percebi que a região estava incluída no comando curl, mas não no plugin do Discourse. Estou na Califórnia, mas meus usuários serão globais e a maioria estará na Europa Ocidental. Lembrei-me de que o processo da Microsoft para instanciar o Translator exigia que eu escolhesse uma região, e ela recomendava westeurope para uso geral por usuários da América do Norte e da Europa Ocidental.
Tentei alterá-lo para global agora, mas não consegui encontrar uma maneira de fazer isso. Então, criei um novo recurso, e ele me permitiu escolher global hoje. E agora, com essa nova chave, funciona.
Obrigado pela sua ajuda.