Plugin de tradução instalado, mas sem botão de tradução

Fiz o seguinte:

  • Instalei o plugin.
  • Marquei a opção “Permitir tradução inline de posts”.
  • Segui os passos para obter uma chave da Microsoft.
  • Selecionei a Microsoft como meu tradutor e adicionei a chave.
  • Criei um tópico em um idioma estrangeiro.

Mas não vejo nenhum botão de tradução (globo) ao lado do botão de link, conforme ilustrado nas instruções do plugin.

Também tentei desinstalar e reinstalar o plugin. E este é o único plugin que adicionei no momento.

Deveria ver esse botão em qualquer situação?

Devo testar a API da Microsoft de alguma forma?

Existem etapas de solução de problemas para este plugin?

Obrigado!




2 curtidas

Desculpe pela falta de respostas sobre o problema do botão de tradução não aparecer. A dificuldade em responder à sua pergunta é que alguém precisará seguir os passos para configurar o plugin para usar o serviço de tradução da Microsoft. Se não conseguirmos encontrar ninguém que esteja usando o Microsoft Translator com o plugin, vou verificar o que posso fazer para configurar isso na próxima semana.

Vou mover seu tópico para a categoria #plugin:translator para ver se isso ajuda a chamar a atenção.

3 curtidas

Obrigado pela resposta. Se o problema fosse possivelmente uma falha da Microsoft, o botão de Tradução quebrado ainda apareceria? Eu ficaria feliz em ajudar a solucionar problemas da API de Tradução da Microsoft, mas não encontrei documentação sobre isso. Obrigado novamente.

O botão de tradução só aparecerá se detectarmos que o idioma da postagem é diferente do locale atual selecionado pelo usuário.

Você pode testá-la executando os seguintes comandos:

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

Um erro será gerado se a chave de assinatura não tiver sido configurada corretamente.

3 curtidas

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.

7 curtidas

Obrigado por esta solução!

2 curtidas