Bouton de traduction manquant avec libretranslate

Cher groupe Discourse,

Tout d’abord, aux auteurs de ce projet, mes profonds remerciements et mon respect. Étant moi-même programmeur, j’apprécie les nombreuses heures consacrées à la création de ce projet.

Au cours des derniers jours, j’ai installé Discourse à l’adresse :

https://discourse.newcity.mx/

et j’ai également ajouté le plugin de traduction. Voici la partie pertinente de mon fichier app.yml.

hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/LibreTranslate/discourse-translator

Premièrement, la locale par défaut de mon instance Discourse est définie sur l’anglais à l’adresse https://discourse.newcity.mx/admin/site_settings/category/required

Lorsque j’accède à l’onglet du plugin/LibreTranslate de mon écran d’administration, je coche :
Autoriser la traduction en ligne des publications.
et je définis le traducteur sur LibreTranslate.
Je ne suis pas sûr de ce que je devrais mettre (le cas échéant) dans le champ
Point de terminaison de l’API LibreTranslate.

L’onglet du plugin indique que discourse-translator est activé, la version est 0.4.0, il y a une coche verte et un Y sous la colonne activée. Jusqu’ici tout va bien, n’est-ce pas ?

Cependant, lorsque j’accède à une page, je ne vois aucune icône/option pour effectuer une traduction. L’icône la plus à gauche en bas du message est le « partage d’un lien vers la publication ».

J’ai installé LibreTranslate en suivant les instructions à l’adresse :

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

ce que vous pouvez vérifier en allant sur http://nadineloveshenry.com:5000/

J’ai lu :

Où j’ai découvert « Le bouton de traduction ne s’affichera que si nous détectons que la langue de la publication est différente de la locale actuelle que cet utilisateur a sélectionnée. »

J’ai donc supprimé l’anglais comme langue de Firefox et l’ai remplacé par Español (MX), et je me suis connecté à mon site via un VPN passant par l’Espagne juste pour m’assurer qu’il ne restait aucune trace des États-Unis. Les en-têtes de requête envoyés étaient :

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

Mais toujours pas de succès.

Quelqu’un peut-il me dire ce qui me manque ?

Sur une autre note, peut-être liée, lorsque j’exécute :

./launcher enter app

La réponse que j’obtiens est :

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

Merci d’avance pour votre aide.
Meilleurs vœux,
Henry Laxen

1 « J'aime »

je suppose que ce serait http://nadineloveshenry.com:5000/translate
car cela semble fonctionner :

Merci Benjamin pour l’idée, mais elle ne semble pas fonctionner. J’ai mis
http://nadineloveshenry.com:5000/translate
dans le champ LibreTranslate API Endpoint,

changé mes paramètres Firefox en allemand :

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

Mais aucun petit bouton mondial n’apparaît toujours. Y a-t-il d’autres idées, ou même une piste pour que je puisse suivre cela. Quelqu’un a-t-il un site libretranslate discourse qui fonctionne ? Merci encore Benjamin.

1 « J'aime »

ha, my bad, the endpoint should be:
http://nadineloveshenry.com:5000

Still don’t know if and how it works though :sweat_smile:

Salut @henrylaxen. :wave:

Je ne sais pas comment résoudre votre problème, mais je voulais signaler que nous sommes potentiellement sur le point de supporter officiellement LibreTranslate dans notre plugin, voir LibreTranslate provider support by pierotofy · Pull Request #36 · discourse/discourse-translator · GitHub pour ce qui doit être fait. :slight_smile:

3 « J'aime »

Il semble qu’il y ait un problème ici :

Devrait être SUPPORTED_LANG_MAPPING je pense (et par la suite)

il semble également que la méthode POST ne soit pas autorisée pour l’URL /languages appelée ici :

elle a besoin de GET

Cher Benjamin, Maiki et al.,
Wow. Merci beaucoup d’avoir creusé le sujet. Benjamin, j’ai essayé de changer le point de terminaison en http://nadineloveshenry.com:5000 mais cela n’a eu aucun effet. Après avoir lu la discussion sur la pull request 36, il semble qu’elle sera fusionnée imminemment, donc je préférerais attendre quelques jours plutôt que d’essayer d’utiliser votre branche sur GitHub - LibreTranslate/discourse-translator: Discourse translator with LibreTranslate support., ce que je ne sais pas comment faire. S’il vous plaît, faites-moi savoir si je peux vous aider d’une quelconque manière.

Je viens de remarquer qu’une nouvelle version est disponible, 2.9.0.beta5. Je l’ai mise à jour, et maintenant, lorsque la traduction est activée, en cochant la case intitulée

Autoriser la traduction en ligne des publications.

sur la page https://discourse.newcity.mx/admin/site_settings/category/plugins?filter=plugin%3Adiscourse-translator,

quand je vais sur https://discourse.newcity.mx/t/test-libretranslate/17/2
ou en fait sur n’importe quelle page, j’obtiens une erreur de serveur interne.


Requête :
GET /t/test-libretranslate/17 HTTP/1.1
Hôte : 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


Réponse :
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

Désolé pour tous ces désagréments. Encore une fois, faites-moi savoir si je peux être utile.

Meilleurs vœux,
Henry Laxen

Je n’interpréterais pas cette discussion pour former cette chronologie ; ma réponse visait plutôt à attirer plus d’attention pour faire avancer ce problème, je ne suis pas sûr que LibreTranslate sera fusionné aussi rapidement. :slight_smile:

1 « J'aime »

Salut Henry,
oui, l’erreur interne du serveur provient du problème SUPPORTED_LANG_MAPPING,
je viens de le mentionner à l’auteur de la PR.

Cher Maiki,

Je vois. Si je devais passer à votre branche, devrais-je simplement cloner votre dépôt, corriger app.yml et reconstruire, ou y a-t-il plus que cela ? J’habite à Tijuana, donc faire fonctionner une instance de discourse sans anglais et espagnol est un problème majeur pour moi. Merci pour vos réponses.

1 « J'aime »

Voici une liste de miroirs publics de LibreTranslate :

1 « J'aime »

Ceux-ci fonctionnent bien. Malheureusement, j’ai rencontré des problèmes avec l’image arm64 lors des tests à la maison, ce qui semble être un problème pour les dernières versions.

Ce bug devrait être corrigé maintenant :

2 « J'aime »

Oui, les traductions fonctionnent sur latest sur Docker arm64 sur Raspberry Pi 4.

Merci beaucoup !

1 « J'aime »