Outil pour la gestion de traduction

Quels outils utilisé vous pour gérer la traduction de votre application ?

a marqué ce sujet comme résolu.

Bonjour,

Pour les applications que je créer dans mon cadre professionnel, je vais devoir les traduire dans plusieurs langues. Ce seront mes collègues qui pratiquent ces langues qui feront les traductions/vérifications.

L’idéal serait une page web ou chacun peut apporter sa contribution et faire de la traduction quand il en a le temps, tout en permettant l’évolution de l’application à côté.

Après plusieurs recherches et essais, je suis tombé sur Tolgee, qui correspond à ce que j’attends. Mais il semble un petit peu pauvre en fonctionnalité et est relativement lourd (+500Mo RAM avec une app Java qui tourne dans Docker, même si c’est pas trop grave, je doute qu’une app comme celle-ci ait vraiment la nécessité d’être aussi gourmande).

J’ai aussi testé Weblate, qui a l’inverse me semble bien trop complexe, et je n’aime pas l’interface.

Il y a aussi Pontoon de Mozilla, mais ça semble aussi être une usine à gaz, et il est développé spécifiquement pour Heroku, ce qui complique son installation sur d’autres systèmes.

Si il y a possibilité de goupiller ça avec gitlab pour push automatiquement les fichiers de traduction dans le projet, ça peut être top. Ou alors un simple trigger qui lance un appel à la CI de Gitlab qui va s’occuper de rapatrier les fichiers de traductions.


J’aimerais ainsi avoir votre avis sur comment est-ce que vous gérer la chose ? Quels outils utilisez-vous ? Comment la gestion de la traduction est organisée dans votre entreprise ? etc.

Merci :D

(edit: je ne suis pas sur pour la catégorie, j’ai mis ça dans programmation étant donné que le public visée est plutôt les développeurs qui font appel à des outils de traduction.)

+0 -0

Hello!

Dans mon entreprise, on utilise Phrase (https://phrase.com/).

L’UX de l’outil n’est pas super (à mon goût), mais ça fonctionne. Une interface en ligne de commandes est également fourni. Elle permet de push/pull le contenu traduit, donc à partir de là tu peux l’intégrer sans trop de soucis dans ton contexte.

Dans mon entreprise, on a mis en place une tâche récurrente qui pull les nouvelles traductions tous les X temps, les intègre au système de traductions de notre framework (Ruby On Rails) et ouvre automatiquement une nouvelle PR pour envoyer ça en production. On peut également activer cette tâche manuellement si besoin.

Merci !

A ce que je vois, c’est pas donné :(

L’idéal étant quelque chose d’auto-hébergeable open-source..
Je suis aussi tombé sur Accent, qui a l’air pas trop mal. Il gère plus de format que Tolgee, mais ne permet pas l’insertion de clé directement, il faut les insérer dans les fichiers et les synchroniser par la suite.

Hello,

Tu as besoin de quelles fonctionnalités au juste ? Tes fichiers sont dans quel format ?

Dans mon ancienne boîte on utilisait BabelEdit qui sait lire du JSON (et du YAML), qu’on utilisait via un package Angular.

On avait juste à ouvrir un fichier de métadonnées (.babel) et le soft détectait les .json du même dossier comme langues. Le fichier de métadonnées permettant de valider les traductions.

Et il y a une fonctionnalité de traduction automatique qui fonctionne pas trop mal (sauf quelques phrases qui manquent de contexte métier, comme souvent) histoire de gagner du temps.

Tu as besoin de quelles fonctionnalités au juste ? Tes fichiers sont dans quel format ?

Ce sera en majorité des projets Flutter (mais pas forcément que ça, possible que j’ai aussi à gérer pour mon Backend en Go, ou certaines App en VueJS).

Flutter traite les fichiers .arb pour la localisation par défaut, mais certaines lib permettent d’utiliser ou transformer du JSON. Peut-être utilisé une biliothèque comme slang qui propose quelques trucs sympas.


Merci pour BabelEdit, effectivement ça peut être une solution, le seul petit bémole à mon avis, c’est le fait de ne pas avoir ça via une app Web.

L’avantage d’une application Web, c’est d’avoir un point central, tous les traducteurs pour s’y connecter, faire leur traduction, quand ils le veulent. Et éventuellement gérer l’intégration dans le soft via une CI (donc pas d’action manuel, ou alors une action du développeur).

Avoir un logiciel qui traite les fichiers en local, ça enlève tout ce mécanisme et demande un peu plus de rigueur pour que tout le monde ne se marche pas sur les pieds (et apprendre à utiliser Git à tout le monde, sera plus compliqué que de leur montré une petite page web ou il remplisse leur traduction…)

Effectivement, si vous avez un process avec des traducteurs détachés de l’équipe de dev ça peut vite être compliqué.

J’avais mis BabelEdit en place dans une petite équipe, donc la traduction était gérée assez facilement :

  1. Les devs définissent les clés dans leur code
  2. Ils créent les clés dans BabelEdit avec le texte correspondant en français, voire en d’autres langues s’ils peuvent (au moins pour tester en local) sans les valider dans le logiciel
  3. Avant une mise en préprod on fait un export des fichiers de traduction (qui sont tous dans un dossier dédié) pour l’envoyer aux traducteurs
  4. Les traducteurs retournent les fichiers complétés (peu de risque de conflits vu la petite équipe) en indiquant les traductions validées
  5. Les devs intègrent les fichiers à jour et poussent sur l’environnement de test/préprod

C’est effectivement compliqué à adapter à une équipe plus large, mais ça pourrait peut-être se tenter avec une solution type disque réseau : le dossier de traduction est partagé depuis une machine avec tout le monde qui peut travailler dessus. Reste à trouver un dev volontaire pour faire des synchros régulières dans l’outil de gestion de version.

Bonjour, J’utilise gettext https://www.gnu.org/software/gettext/manual/gettext.pdf. C’est un outil très utilisé dont on peut détecter l’utilisation par la présence de fichiers avec les extensions .po et .mo. Il fonctionne aussi bien en bash, qu’en C, C++, Java, Php, python (https://docs.python.org/fr/3/library/gettext.html), et d’autres langages encore.

La prise en main à partir de la documentation officielle donnée en référence plus haut peut être un peu longue ou pénible. Un tutoriel tel que celui-ci peut grandement faciliter la compréhension en allant à l’essentiel et en proposant des exemple de code source en C: https://www.labri.fr/perso/fleury/posts/programming/a-quick-gettext-tutorial.html

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte