Falta botón de traducción con libretranslate

Estimado Grupo de Discourse,

Primero, a los autores de este proyecto, mi más profundo agradecimiento y respeto. Siendo yo mismo programador, puedo apreciar las muchas horas dedicadas a la creación de este proyecto.

En los últimos días, he instalado discourse en:

https://discourse.newcity.mx/

y también he añadido el plugin de traducción. Aquí está la parte relevante de mi archivo 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.

Primero, la configuración regional predeterminada de mi instancia de discourse está establecida en inglés en https://discourse.newcity.mx/admin/site_settings/category/required

Cuando accedo a la pestaña del plugin/LibreTranslate de mi pantalla de administración, marco:
Permitir la traducción en línea de las publicaciones.
y establezco el traductor en LibreTranslate
No estoy seguro de qué (si acaso) debería poner en el campo
Endpoint de la API de LibreTranslate.

La pestaña del plugin dice que discourse-translator está habilitado, la versión es 0.4.0, hay una marca de verificación verde y una Y en la columna habilitada. Hasta ahora todo bien, ¿no?

Sin embargo, cuando accedo a una página, no veo ningún icono/opción para hacer una traducción. El icono más a la izquierda en la parte inferior del mensaje es “compartir un enlace a la publicación”.

Instalé libretranslate siguiendo las instrucciones en:

GitHub - LibreTranslate/LibreTranslate: Free and Open Source Machine Translation API. Self-hosted, offline capable and easy to setup.

lo cual puede verificar yendo a http://nadineloveshenry.com:5000/

Leí:

Donde descubrí “El botón de traducción solo aparecerá si detectamos que el idioma de la publicación es diferente de la configuración regional actual que ese usuario ha seleccionado.”

Así que eliminé el inglés como idioma de Firefox y lo cambié a Español (MX), y me conecté a mi sitio a través de una VPN a través de España solo para asegurarme de que no quedara rastro de EE. UU. Los encabezados de solicitud que se enviaron fueron:

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

Pero todavía sin suerte.

¿Alguien puede decirme qué me falta?

En otra nota, y quizás relacionada, cuando ejecuto:

./launcher enter app

La respuesta que obtengo es:

Se detectó la arquitectura x86_64.
OCI runtime exec failed: exec failed: unable to start container process: open /dev/pts/1: operation not permitted: unknown

Gracias de antemano por su ayuda.
Saludos cordiales,
Henry Laxen

1 me gusta

mi suposición sería http://nadineloveshenry.com:5000/translate
ya que parece funcionar:

Gracias Benjamin por la idea, pero no parece funcionar. Puse
http://nadineloveshenry.com:5000/translate
en el campo del punto final de la API de LibreTranslate,

cambié la configuración de mi Firefox a alemán:

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

Pero todavía no aparece ningún botón de mundo pequeño. ¿Hay alguna otra idea, o incluso una pista sobre cómo puedo rastrear esto? ¿Alguien tiene un sitio de discourse con libretranslate funcionando? Gracias de nuevo Benjamin.

1 me gusta

ja, lo siento, el endpoint debería ser:
http://nadineloveshenry.com:5000

Aún no sé si funciona o cómo funciona :sweat_smile:

Hola @henrylaxen. :wave:

No sé cómo solucionar tu problema, pero quería señalar que estamos muy cerca de dar soporte oficial a LibreTranslate en nuestro plugin, mira LibreTranslate provider support by pierotofy · Pull Request #36 · discourse/discourse-translator · GitHub para ver lo que hay que hacer. :slight_smile:

3 Me gusta

parece que hay algo mal aquí:

Debería ser SUPPORTED_LANG_MAPPING creo (y de ahí en adelante)

también parece que el método POST no está permitido para la URL /languages llamada aquí:

necesita GET

Estimados Benjamin, Maiki y compañía:

Vaya. Muchas gracias por investigar esto. Benjamin, intenté cambiar el endpoint a http://nadineloveshenry.com:5000, pero no tuvo ningún efecto. Después de leer la discusión del pull request 36, parece que se fusionará inminentemente, así que preferiría esperar unos días en lugar de intentar usar tu rama en GitHub - LibreTranslate/discourse-translator: Discourse translator with LibreTranslate support., que no estoy seguro de cómo hacer. Por favor, háganme saber si puedo ayudarles en algo.

Acabo de notar que hay una nueva versión disponible, 2.9.0.beta5. La actualicé y ahora, cuando tengo la traducción habilitada, marcando la casilla etiquetada

Permitir traducción en línea de las publicaciones.

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

cuando voy a https://discourse.newcity.mx/t/test-libretranslate/17/2
o, de hecho, a cualquier página, obtengo un error interno del servidor.


Solicitud:
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


Respuesta:
HTTP/1.1 500 Error interno del servidor
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

Lamento mucho todos los problemas. De nuevo, háganme saber si puedo ser de ayuda.

Saludos cordiales,
Henry Laxen

No interpretaría esa discusión para formar esa línea de tiempo; mi respuesta fue más para que más personas vieran ese problema, no estoy seguro de que LibreTranslate se fusione tan rápido. :slight_smile:

1 me gusta

Hola Henry:
Sí, el error interno del servidor proviene del problema SUPPORTED_LANG_MAPPING.
Acabo de mencionárselo al autor de la PR.

Estimado Maiki:
Entiendo. Si cambiara a tu rama, ¿simplemente clonaría tu repositorio, arreglaría app.yml y reconstruiría, o hay algo más? Vivo en Tijuana, por lo que ejecutar una instancia de Discourse sin inglés y español es un impedimento para mí. Gracias por las respuestas.

1 me gusta

Aquí tienes una lista de espejos públicos de LibreTranslate:

1 me gusta

Esos funcionan bien. Desafortunadamente, tuve problemas con la imagen arm64 al probar en casa, lo que parece ser un problema en los últimos lanzamientos.

Este error debería estar solucionado ahora:

2 Me gusta

Sí, las traducciones funcionan en latest en Docker arm64 en Raspberry Pi 4.

¡Muchas gracias!

1 me gusta