Botão de tradução ausente com libretranslate

Prezado Grupo Discourse,

Primeiramente, aos autores deste projeto, meus profundos agradecimentos e respeito. Sendo eu mesmo um programador, posso apreciar as muitas horas dedicadas à criação deste projeto.

Nos últimos dias, instalei o discourse em:

https://discourse.newcity.mx/

e também adicionei o plugin de tradução. Aqui está a parte relevante do meu arquivo app.yml.

hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone GitHub - discourse/docker_manager: Plugin for use with discourse docker image
- git clone GitHub - LibreTranslate/discourse-translator: Discourse translator with LibreTranslate support.

Primeiro, a localidade padrão da minha instância do discourse está definida como Inglês em https://discourse.newcity.mx/admin/site_settings/category/required

Quando acesso a aba do plugin/LibreTranslate na minha tela de administrador, eu marco:
Permitir tradução inline de posts.
e defino o tradutor para LibreTranslate
Não tenho certeza do que (se alguma coisa) devo colocar no campo Ponto de extremidade da API LibreTranslate.

A aba do plugin diz que o discourse-translator está habilitado, a versão é 0.4.0, há uma marca de verificação verde e um Y na coluna habilitado. Até agora tudo bem, certo?

No entanto, quando acesso uma página, não vejo nenhum ícone/opção para fazer uma tradução. O ícone mais à esquerda na parte inferior da mensagem é “compartilhar um link para o post”.

Eu instalei o libretranslate seguindo as instruções em:

o que você pode verificar acessando http://nadineloveshenry.com:5000/

Eu li:

Onde descobri “O botão de tradução só aparecerá se detectarmos que o idioma do post é diferente da localidade atual que o usuário selecionou.”

Então, removi o inglês como idioma do Firefox e o alterei para Espanhol (MX), e me conectei ao meu site via VPN através da Espanha apenas para garantir que não houvesse nenhum vestígio dos EUA. Os cabeçalhos de solicitação que foram enviados foram:

GET /t/welcome-to-new-city-discourse/7 HTTP/1.1
Host: discourse.newcity.mx
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:101.0) Gecko/20100101 Firefox/101.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,/;q=0.8
Accept-Language: es-MX,es;q=0.5
Accept-Encoding: gzip, deflate, br

Mas ainda sem sucesso.

Alguém pode me dizer o que estou perdendo?

Em outra nota, talvez relacionada, quando executo:

./launcher enter app

A resposta que recebo é:

x86_64 arch detected.
OCI runtime exec failed: exec failed: unable to start container process: open /dev/pts/1: operation not permitted: unknown

Obrigado antecipadamente pela sua ajuda.
Melhores cumprimentos,
Henry Laxen

1 curtida

minha suposição seria http://nadineloveshenry.com:5000/translate
já que parece funcionar:

Obrigado Benjamin pela ideia, mas não parece funcionar. Coloquei
http://nadineloveshenry.com:5000/translate
no campo LibreTranslate API Endpoint,

mudei minhas configurações do Firefox para alemão:

GET /t/test-libretranslate/17 HTTP/1.1
Host: discourse.newcity.mx
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:101.0) Gecko/20100101 Firefox/101.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,/;q=0.8
Accept-Language: de

Mas ainda nenhum botão de pequeno mundo aparece. Existem outras ideias, ou mesmo uma dica sobre como posso rastrear isso. Alguém tem um site libretranslate discourse funcionando? Obrigado novamente Benjamin.

1 curtida

ha, meu erro, o endpoint deveria ser:
http://nadineloveshenry.com:5000

Ainda não sei se e como funciona :sweat_smile:

Olá @henrylaxen. :wave:

Não sei como corrigir seu problema, mas queria apontar que estamos potencialmente perto de dar suporte oficial ao LibreTranslate em nosso plugin, veja LibreTranslate provider support by pierotofy · Pull Request #36 · discourse/discourse-translator · GitHub para o que precisa ser feito. :slight_smile:

3 curtidas

parece que há algo errado aqui:

Deveria ser SUPPORTED_LANG_MAPPING eu acho (e daí em diante)

também parece que o método POST não é permitido para a URL /languages chamada aqui:

precisa de GET

Prezados Benjamin, Maiki e companhia,

Uau. Muito obrigado por investigarem isso. Benjamin, tentei alterar o endpoint para http://nadineloveshenry.com:5000, mas não teve efeito. Depois de ler a discussão do pull request 36, parece que ele será mesclado iminentemente, então prefiro esperar alguns dias do que tentar usar seu branch em GitHub - LibreTranslate/discourse-translator: Discourse translator with LibreTranslate support., que não tenho certeza de como fazer. Por favor, me avisem se eu puder ajudar vocês de alguma forma.

Acabei de notar que uma nova versão está disponível, 2.9.0.beta5. Eu atualizei para ela, e agora, quando a tradução está habilitada, marcando a caixa rotulada

Permitir tradução inline de posts.

na página https://discourse.newcity.mx/admin/site_settings/category/plugins?filter=plugin%3Adiscourse-translator,

quando vou para https://discourse.newcity.mx/t/test-libretranslate/17/2
ou, na verdade, qualquer página, recebo um erro interno do servidor.


Request:
GET /t/test-libretranslate/17 HTTP/1.1
Host: discourse.newcity.mx
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:101.0) Gecko/20100101 Firefox/101.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US
Accept-Encoding: gzip, deflate, br
DNT: 1
Connection: keep-alive
Cookie: _t=7TrnwomqGwDw359BMpi9EJo0cXFEYNpuysEJvGrkYwUG8D5zyJwVWd4iqKPmxUd2UUUG%2BH9hShgBeoCd7U51pJZg6CQYhKABm0AxQg0%2Bdqd9q1ODmRAPKp4INqAZHQuPZxWH9cObvpdaYaQFSbJiWRlfK0rRRgC%2FIqqgafn7w%2FAbTsO3N%2FmVLUIPj0t8PbJWDMYp1dDjevq4lpdNMYSViWbtHrFgXw89F5gTqgRjBBRdKRM81bwVFaUmqnHsPWgAWaeLapZxmrnfRqC%2F--HGGLHoE3sfXKcP7z--LfDlG3VIbZ0LSjwFoGl%2Bmw%3D%3D; _forum_session=NtilsRG2mkgUOmJGGgmGuCf4cGtxPHLLtE7sRkaRYP1gm6KA79fk6s6%2BBhYNTjoQz92x7pZljg9x1bGZYOTjuVDhzmeq5x7i7do7m3Iu4Z9jS6dSVGNJPaMi0p4uxHuqS4dfRLZ4JAODWZasTskcLq4gGXVUCOdybif89cg3dKNDyW3PAs%2Fp0D0uIRhWHJ49ws2uOQKbXVBvITyNdkKB7Ki%2BCTtLn8oCeTuq6rVxXcXuuaDh8jSz1CC3Cjw1I2jRVzm7ZVWdJMwRWCFbMb88AEGm2Mdh2Qx%2Fjwcexa6taXPuXR2LBuaUij5VmkRIzo0iRWya%2BJPVwhYR2jUJm9XR9cHKA6MUd87r%2FElyO9Aae7Vj0xP4ICt3KERZHUsidg%3D%3D--ZoSVywr0%2BfmX4s8w--E4TO4wELmgx%2BPdtHfufj2w%3D%3D; __profilin=p%3Dt%2Ca%3D6f2394e0167f915ab2fc46e5a6d45127%7C034d5170cc7d54c26ede324b2850a654
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1
Sec-GPC: 1
Pragma: no-cache
Cache-Control: no-cache


Response:
HTTP/1.1 500 Internal Server Error
Server: nginx/1.22.0
Date: Tue, 14 Jun 2022 04:08:05 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 658
Connection: keep-alive
X-Request-Id: d39e6252-1034-4e72-ae96-d20ebdb3a59e
Set-Cookie: __profilin=p%3Dt%2Ca%3D6f2394e0167f915ab2fc46e5a6d45127%7C034d5170cc7d54c26ede324b2850a654; path=/; secure; HttpOnly; SameSite=Lax
X-Runtime: 0.550344

Sinto muito por todo o incômodo. Novamente, me avisem se eu puder ser útil.

Melhores cumprimentos,
Henry Laxen

Eu não interpretaria essa discussão para formar essa linha do tempo; minha resposta foi mais para conseguir mais olhares para avançar nessa questão, não tenho certeza se o LibreTranslate será mesclado tão rapidamente. :slight_smile:

1 curtida

Oi Henry,
sim, o erro interno do servidor vem do problema SUPPORTED_LANG_MAPPING,
acabei de mencionar isso ao autor do PR.

Prezado Maiki,

Entendo. Se eu mudasse para o seu branch, eu apenas clonaria seu repositório, corrigiria o app.yml e reconstruiria, ou há mais alguma coisa? Eu moro em Tijuana, então rodar uma instância do Discourse sem inglês e espanhol é um impeditivo para mim. Obrigado pelas respostas.

1 curtida

Aqui está uma lista de espelhos públicos do LibreTranslate:

1 curtida

Eles estão funcionando bem. Infelizmente, tive problemas com a imagem arm64 ao testar em casa, o que parece ser um problema nas últimas versões.

Este bug deve ter sido corrigido agora:

2 curtidas

Sim, as traduções estão funcionando no latest no Docker arm64 no Raspberry Pi 4.

Muito obrigado!

1 curtida