Topics

Suite de notre actualité : Liberogic face aux premiers essais de traduction multilingue avec Google Cloud Translation API

  • column

Comme annoncé dans notre actualité, nous avons rendu le site web de Liberogic multilingue !

Pour le moment, seules six langues sont proposées, mais une fois la première en place, les autres ne posent franchement pas de difficulté : on peut en théorie prendre en charge l'ensemble des langues disponibles dans Google.

Une expérimentation née de « essayons simplement de traduire »

L'idée était simple.
« Avec l'essor de l'accessibilité web et de plus en plus de visiteurs venus de l'étranger, si on essayait de traduire le site ? »
C'était une idée lancée un peu à la légère.
Mais en la mettant réellement en œuvre, la tâche s'est révélée plus complexe que prévu : API de traduction, cache, build, coûts, mise à jour du cache… les coulisses se sont avérées bien plus délicates que ce qu'on imaginait.
C'est pourquoi cette mise en place multilingue repose sur Google Cloud Translation API, avec un système qui traduit automatiquement lors du build.

Le fonctionnement

Lors du build, le script scripts/translate-html-cache.mjs est exécuté.
Le cache (translate-cache.json) est consulté en premier : si la traduction existe déjà, elle est réutilisée. Sinon, l'API de traduction de Google est sollicitée.
Les nouvelles traductions sont ajoutées au cache et réutilisées lors des builds suivants. Point important : le cache n'est pas pris en compte dans l'environnement de déploiement automatique, il faut donc effectuer un build et un push en local.

Cette approche permet d'éviter des appels API inutiles et donc des coûts superflus. (Au début, on passe pas mal de temps sur la console de facturation de Google… 😅)

Composer avec les travers de la traduction automatique

Les résultats de traduction réservent parfois des surprises.
« Liberogic Inc. » est devenu « Liberlogic Inc. », voire « Libelogic » à certains moments…

Ça y est, on est perdus ! J'ai aussi essayé la fonctionnalité Glossary (glossaire) de Google, mais elle ne fonctionne qu'au niveau de la phrase, ce qui rend difficile le contrôle du seul terme « Liberogic Inc. ».
Au final, j'ai donc implémenté ma propre logique de remplacement.

en: [
  { from: /Liberlogic/g, to: 'Liberogic' },
  { from: /Libelogic/g, to: 'Liberogic' },
],
de: [
  { from: /Liberlogic/g, to: 'Liberogic' },
  { from: /Libelogic/g, to: 'Liberogic' },
],

Ensuite, j'ai connecté le tout à Google Sheets afin que les règles qui y sont enregistrées soient appliquées automatiquement. Ainsi, « Liberogic » comme « Liberozee » sont protégés.

Comment choisir les langues

Pour commencer, nous avons retenu l'anglais, le chinois (traditionnel et simplifié), le français et l'espagnol. Le japonais étant déjà disponible, cela fait 6 langues.
Sur Slack, on a aussi eu cet échange.

« Et le russe, on fait quoi ? Le coréen et le thaï, ça vous dit ? »

« L'arabe, c'est pénible à cause du CSS, on le fera plus tard. »

« Non, le hindi, ça risque de faire exploser les accès, mieux vaut s'en passer. »

... Voilà comment nous avons choisi nos langues, un peu au feeling.
Cela dit, on a lu quelque part que ces 6 langues permettent de couvrir plus de 75 % des utilisateurs dans le monde.

Bref, on se mondialise petit à petit ?

Voici les exemples d'URL à ce jour :

Nous prévoyons d'étendre le site à environ 30 langues à terme (à confirmer).
Nous envisageons également de nous attaquer prochainement à l'arabe (écrit de droite à gauche, prise en charge RTL).
Restez à l'écoute !

En résumé : une mise en place simple du multilinguisme

Cette solution convient parfaitement aux clients qui souhaitent simplement
tester la traduction de leur site. Avec Google Cloud Translation API et une gestion de cache, il est possible de créer un site multilingue à un coût relativement modéré.
C'est également une option idéale comme phase d'expérimentation avant de lancer une localisation complète.

✳️ À noter :

Nous corrigeons progressivement les formulations et mises en page un peu bizarres qui peuvent subsister suite à la traduction multilingue. Merci de votre indulgence ! (Les détails seront ajustés en CSS ultérieurement, la mise en ligne étant notre priorité !)

🌏 Un petit mot pour finir

« Une traduction n'a pas besoin d'être parfaite pour que le message passe dans le monde. »
C'est avec cet esprit que Liberogic continue, aujourd'hui encore, de construire le Web. Une traduction n'a pas besoin d'être parfaite pour transmettre un message. C'est pourquoi nous essayons d'abord nous-mêmes, avant de le présenter à nos clients. Échouer ne pose aucun problème, expérimenter non plus. Liberogic continue aujourd'hui encore de multiplier les tests à la pointe du Web.
Pendant qu'on le dit, Google Traduction, lui, ne cesse d'évoluer chaque jour ! Fin de l'histoire.

Auteur de cet article

Président de l'entreprise, mais toujours du côté des praticiens. Passionné de terrain, j'éprouve une véritable joie à comprendre les nouvelles technologies ou à voir un outil devenir plus pratique, et je m'y plonge sans compter. Enthousiaste face aux technologies de demain, j'aime continuer à découvrir de nouvelles expériences, quel que soit mon âge.

Tadanori Morimoto

Chef de projet / Directeur artistique / Fondée en 2007

Voir les articles de cet auteur

Une équipe fiable et une réactivité rapide, qui font notre fierté

Chez Liberogic, nos collaborateurs expérimentés pilotent activement les projets, ce qui vaut à l'entreprise une grande satisfaction de la part de ses clients.
Nous veillons à désigner des chefs de projet et des directeurs de projet qualifiés afin de faire avancer l'ensemble du projet en douceur. Grâce à un modèle d'allocation des ressources au plus juste, évitant une hausse inutile des coûts liée à un engagement à temps plein, nous sommes également reconnus pour la rapidité avec laquelle nous comprenons les besoins et établissons/soumettons les devis.

Remarque : Liberogic ne propose pas de prestations de type SES (mise à disposition de personnel sur site) et vous remercie de bien vouloir en tenir compte.

Nous prenons en charge pratiquement tous les principaux outils de gestion de projet et de messagerie, notamment Slack, Teams, Redmine, Backlog, Asana, Jira, Notion, Google Workspace, Zoom, Webex, etc.

Contactez-nous pour toute question sur vos problématiques Web.

Études de cas