Topics

Suite : les essais et erreurs de Liberogic avec la multilingue via l'API Google Cloud Translation

  • column

Comme nous l'avons annoncé, nous avons rendu le site web de Liberogic multilingue!

Pour le moment, nous supportons seulement 6 langues, mais une fois qu'une langue est configurée, c'est essentiellement la même chose. Nous pourrions tout à fait étendre le support à toutes les langues proposées par Google si nécessaire.

Une expérience qui a commencé par « essayons d'abord la traduction »

Le point de départ était simple.
« Avec l'accessibilité web et l'augmentation des accès depuis l'étranger, pourquoi ne pas essayer une traduction pour voir ? »
C'était juste une idée légère.
Mais en y mettant du sérieux, ce s'est avéré plus compliqué que prévu. Traduction API, cache, builds, coûts, mises à jour du cache... et bien d'autres choses encore — en réalité, il y avait une arrière-scène
bien plus compliquée qu'imaginé. C'est pourquoi, pour cette multilingualisation, nous avons adopté une approche utilisant Google Cloud Translation API pour traduire automatiquement au moment du build.

Voici comment ça marche

Au moment du build, scripts/translate-html-cache.mjs s'exécute.
S'il existe une traduction déjà effectuée dans le cache (translate-cache.json), celle-ci est utilisée ; sinon, nous appelons l'API de traduction de Google.
Les nouvelles traductions sont ajoutées au cache et réutilisées par la suite. Cependant, le cache n'est pas appliqué dans l'environnement de déploiement automatique, donc l'astuce est de faire un build en local et de pousser le code.

En procédant ainsi, nous évitons les frais inutiles d'API. (Au début, on se retrouve pas mal à consulter l'écran de facturation de Google... ha ha!)

Affronter les caprices de la traduction

À l'usage, on obtient toutes sortes de traductions étranges.
« Liberogic Inc. » devient « Liberlogic Inc. », et parfois même « Libelogic »...

C'est devenu un peu n'importe quoi. J'ai aussi essayé la fonctionnalité Glossaire de Google, mais elle ne fonctionne qu'au niveau de la phrase, il est donc difficile de la contrôler pour « Liberogic » seul.
Donc finalement, j'ai 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' },
],

De plus, j'ai intégré Google Sheets pour que les règles enregistrées là-bas soient automatiquement reflétées. Maintenant « Liberogic » et même les variantes personnalisées peuvent être gérées.

Comment choisir les langues à supporter

Au départ, nous en avions 6, avec l'anglais, le chinois (traditionnel et simplifié), le français, l'espagnol et le japonais.
Nous avons eu ce genre de conversation sur Slack.

« Et le russe ? Qu'en est-il du coréen et du thaï ? »

« L'arabe, c'est compliqué avec CSS, on va laisser pour plus tard »

« Non, l'hindi pourrait faire exploser le trafic, laissons tomber »

…et voilà, nous avons sélectionné les langues sur le ton de la plaisanterie.
Cela dit, ces 6 langues couvrent plus de 75 % des utilisateurs mondiaux, d'après ce que j'ai lu quelque part.

Somme toute, la mondialisation est en cours ?

Voici un exemple d'URL pour le moment :

À l'avenir, nous prévoyons d'augmenter jusqu'à environ 30 langues.
Nous envisageons également de nous attaquer à l'arabe, qui se lit de droite à gauche (support rtl).
Restez à l'écoute !

Résumé : recommandation pour une localisation multilingue simple

Ce mécanisme est parfait pour les clients qui souhaitent « simplement commencer la traduction ! ».
Avec l'API Google Cloud Translation et la gestion du cache, il est possible de créer des sites multilingues à un coût relativement bas.
C'est également idéal comme phase d'expérimentation avant de viser une véritable localisation.

✳️ Au passage

Lors de la localisation multilingue, il peut y avoir certaines formulations ou mises en page un peu étranges, mais nous les corrigeons progressivement, alors merci de nous regarder avec bienveillance. (Priorité au lancement, les détails seront corrigés plus tard en CSS !)

🌏 Un dernier mot

«
La traduction n'a pas besoin d'être parfaite pour se faire comprendre dans le monde » — avec cette conviction, Liberogic crée le Web chaque jour. Même imparfaite, une communication peut passer. C'est pourquoi nous testons d'abord nous-mêmes avant nos clients. Pas de problème avec l'échec, pas de problème avec l'expérimentation. Liberogic continue chaque jour à vérifier et valider à la pointe du Web.
Et pendant ce temps, Google Traduction évolue chaque jour ! Fin de l'histoire

Auteur de cet article

Président tout en restant un homologue constant. Il aime comprendre les nouvelles technologies, ressent de la joie à l'instant où quelque chose devient pratique, et est un véritable passionné du terrain. Il s'enthousiasme pour les technologies futures et souhaite continuer à explorer de nouvelles expériences, quel que soit son âge.

Morimoto

Chef de projet / Directeur / Fondateur en 2007

Voir les articles de ce membre

Notre équipe fiable et nos capacités de réactivité font notre fierté

Chez Liberogic, nos équipes expérimentées sont reconnues pour diriger activement les projets et sont hautement appréciées par nos clients.
Nous assignons correctement un chef de projet et un directeur, et veillons à assurer le déroulement fluide de l'ensemble du projet. Nous évitons une augmentation inutile des coûts en engagements complets, en allouant les ressources de manière optimale. Notre approche est réputée pour sa rapidité dans la compréhension des besoins, la création et la soumission des devis.

* Veuillez noter que nous n'engageons pas activement de missions d'intégration type SES.

Slack, Teams, Redmine, Backlog, Asana, Jira, Notion, Google Workspace, Zoom, Webex, et pratiquement tous les principaux outils de gestion de projet et de communication que vous utilisez.

Consultez-nous pour toute question ou préoccupation concernant le web.

Études de cas