Comment notre jeu a appris quatorze langues en une semaine 🌍
10 août 2026
Au début, Blocks Beyond the Stars parlait exactement deux langues : l'allemand, parce que nous vivons en Allemagne, et l'anglais, parce qu'Internet parle anglais. Aujourd'hui, il en parle quatorze. Voici comment c'est arrivé – et tout ce qui a cassé en chemin. 🌍
Tout a commencé avec Francesco. Il y a quelques semaines, une pull request est arrivée d'Italie : Francesco Quirino avait commencé à traduire le jeu en italien. À la main. Groupe par groupe, en commençant par les 290 noms de blocs et leurs descriptions. C'est à ce moment-là que nous avons compris qu'il fallait prendre les langues au sérieux – car jusque-là, la moitié des textes du jeu n'était même pas traduisible. Plus de 300 messages du serveur étaient écrits en anglais, en dur dans le code. Nous avons donc d'abord fait le ménage, simplement pour que le travail de Francesco puisse atterrir quelque part.
Puis est venue la question qui fâche. Traduire une langue à la main prend des semaines. Nous sommes une famille, pas un studio de localisation. Donc : la traduction automatique – mais faite proprement. Nous avons construit un petit outil qui découpe le fichier de langue en morceaux, les fait traduire par un modèle de langage, puis vérifie : est-ce qu'un texte manque ? Est-ce qu'un espace réservé comme {0} a disparu ? Est-ce qu'une clé qui n'existe pas a été inventée ? Si oui, c'est rejeté. Ce n'est qu'une fois l'outil fiable que nous avons ajouté des langues : le néerlandais, le portugais du Brésil, le polonais, le turc – puis le russe, l'ukrainien, le chinois, le japonais et le coréen.
Le ton était plus difficile que les mots. Par défaut, un modèle de langage traduit de façon polie et distante. Mais un jeu pour enfants qui vous parle comme une lettre de la banque, c'est juste bizarre. Chaque langue a donc reçu sa propre règle : « je/jij » en néerlandais, « ty » en polonais, « sen » en turc, « você » en portugais du Brésil, « ты » en russe, です/ます en japonais, 해요체 en coréen. Le néerlandais nous a coûté un passage de plus, parce qu'un IJ en début de mot prend une majuscule aux deux lettres – « IJzererts », pas « Ijzererts ». Aucune machine ne trouve ça toute seule ; on le trouve en lisant le résultat.
Et puis il y a eu les petits carrés vides. Le russe était entièrement traduit, nous avons lancé le jeu – et le menu n'affichait plus que des rectangles. Notre police maison, Rajdhani, n'a tout simplement pas de cyrillique. Avec le chinois, le japonais et le coréen, ça s'est vraiment compliqué : une police CJK complète pèse environ 16 mégaoctets. Fois trois, ça fait presque 50 Mo – impensable pour un jeu censé tourner aussi dans un navigateur. La solution : créer pour chaque langue une police partielle sur mesure, qui contient exactement les caractères présents dans nos textes. 16 Mo deviennent 800 Ko. Au lieu de 50 Mo, le jeu n'en prend que deux de plus. 🔤
Ce que ça nous a appris. Traduire, c'est 20 % de traduction et 80 % de tout le reste : d'abord sortir les textes du code, trouver des polices, vérifier que les phrases tiennent encore dans les boutons (l'allemand est long, mais le russe l'est encore plus), et faire en sorte que même la fenêtre d'erreur soit traduite – celle qui s'affiche avant le chargement des fichiers de langue. Ce dernier message, nous avons dû l'écrire en dur dans le code quatorze fois. Ça paraît mal – mais c'est le seul message qu'il faut absolument pouvoir lire.
Restons honnêtes : la première version est une traduction automatique. Elle est bonne, elle est complète, elle est vérifiée – mais aucune personne de langue maternelle ne l'a relue. Nous le disons exprès, plutôt que de faire comme si nous avions quatorze traducteurs. C'est justement pour ça que le travail de Francesco en italien est toujours conservé au caractère près : notre outil ne fait que combler les trous, il n'écrase jamais une traduction faite à la main. Là où un humain est passé, c'est l'humain qui gagne.
Si vous parlez l'une de ces langues : toute correction nous fait plaisir, même une seule. Le dépôt contient un guide de traduction qui explique pas à pas comment participer – et si GitHub, ce n'est pas votre truc, dites-nous simplement quelle phrase sonne bizarrement. Une personne de langue maternelle en repère plus en cinq minutes que nous en cinq heures. 🌍✨
Commentaires