ELK GAMEVERSE
Commencer

Huit langues dès le premier jour, et ce que cela coûte vraiment

Les mots sont la partie bon marché. Les pluriels, les dates, le sens de lecture et les phrases stockées : voilà ce que coûte vraiment une plateforme en huit langues.

ELK GameVerse existe en anglais, français, allemand, espagnol, russe, arabe, hindi et kiswahili, sur huit préfixes d'URL, avec la prise en charge de l'écriture de droite à gauche pour l'arabe. Et ce depuis avant qu'il y ait un deuxième jeu.

Cette décision est facile à annoncer et coûteuse à tenir — et le coût n'est pas là où on l'attend.

Le pas cher, ce sont les mots

Un catalogue de messages, c'est un fichier JSON par langue et une fonction qui le lit. Cinq cent cinquante clés, huit fichiers, un test qui échoue si un fichier perd une clé qu'un autre possède. Ce test vaut plus qu'il n'en a l'air : ce qu'il empêche n'est pas une traduction manquante — l'interface retombe sur l'anglais et le dit — mais une clé présente dans un seul fichier, que personne ne remarque tant que quelqu'un ne lit pas la page en hindi.

Le cher, c'est tout ce qui n'est pas des mots

Le pluriel n'est pas un suffixe. L'anglais a deux formes, le français deux avec des seuils différents, le russe quatre, l'arabe six. « 3 amis » est une phrase différente dans chaque langue, et la seule réponse saine est la syntaxe ICU dans le catalogue plutôt que de la concaténation dans le code.

Les dates sont ambiguës. 9/5/2026, c'est le 9 mai dans six de ces langues et le 5 septembre dans une. Une liste de notifications est partie avec toLocaleDateString() sans options, et il a fallu regarder la capture d'écran pour le voir. Un mois écrit en toutes lettres est non ambigu partout et ne coûte rien.

Le sens de lecture est une question de mise en page, pas de texte. L'arabe inverse toute la page : le fil d'Ariane, le sens de remplissage d'une barre de progression, le côté où se place une icône. Tout ce qui est positionné avec left au lieu de start est faux en arabe et paraît correct dans les sept autres langues — donc ce sera trouvé par un lecteur arabophone ou par un test, et par rien entre les deux.

L'interface n'est pas la seule chose qui contient de la langue. Une notification stocke la phrase avec laquelle elle a été rendue. La resservir telle quelle laisse à un joueur passé du français à l'anglais un historique en français. Les notifications sont donc reconstruites depuis leur modèle à la lecture, dans la langue de la page — et ce correctif a été trouvé par un test de navigateur, parce que dix-huit tests d'intégration étaient au vert.

Ce qui n'est honnêtement pas fait

Les cinq documents légaux sont rédigés en anglais et en français. Les six autres langues portent le titre et le résumé et retombent sur l'anglais pour le corps, et les pages le disent au lieu de faire semblant. Le juridique est le seul endroit où une traduction que personne de qualifié n'a relue est pire qu'un repli honnête.

Il en va de même pour un article comme celui-ci. Quand un texte n'existe que dans une langue, l'index affiche un badge indiquant laquelle — parce qu'un article que vous ne pouvez pas lire mérite quand même d'être signalé, et qu'un lecteur mérite d'être prévenu avant de commencer.