Moteur pris en charge · Gettext (.po / .mo)
Gettext est la façon dont la plupart des jeux indépendants non japonais sont localisés : jeux Python et pygame, Solarus, jeux SDL et GTK, et tout ce qui passe par Poedit, Weblate ou Crowdin. Les textes vivent dans un dossier locale sous forme de sources .po et de catalogues .mo compilés. RuneTranslate les détecte à la création du projet, traduit chaque chaîne et réécrit un .mo fonctionnel — le fichier que le jeu lit réellement à l'exécution.
Les catalogues gettext sont surtout de l'interface : menus, boutons, infobulles et lignes d'état qui reviennent d'un écran à l'autre. Ajoutez une fois vos noms, objets et verbes clés au glossaire et chaque occurrence sera rendue à l'identique — ce qui compte encore plus qu'en dialogue, car un menu qui dit « Enregistrer » ici et « Sauver » là se lit comme un bug. Le glossaire : les bases →
Pointez RuneTranslate vers le répertoire du jeu — celui qui contient un dossier locale/, lang/ ou i18n/. La détection cherche les catalogues d'après leurs octets réels, pas leur extension : un .mo qui est en fait une scène 3D est ignoré. Un dossier de fichiers .po isolés fonctionne aussi.
La fenêtre de nouveau projet indique combien de catalogues ont été lus, combien sont des .mo compilés plutôt que des .po sources, quelles langues le jeu propose déjà et le nombre total de chaînes — avant que vous ne créiez le projet.
Choisissez une langue cible et un fournisseur : Google ou DeepL gratuits, ou votre propre clé DeepL, OpenAI, Claude ou DeepSeek. Les marqueurs de format — %s, %d, %(player)s, {count} — sont masqués avant la traduction puis restaurés, afin qu'aucun fournisseur ne puisse les supprimer ou les reformuler.
Les chaînes sont regroupées par fichier de catalogue. Chaque entrée conserve son contexte gettext (msgctxt), c'est-à-dire la désambiguïsation écrite par le développeur pour cette chaîne précise : vous voyez pourquoi le même mot apparaît deux fois et pouvez traduire chacun correctement.
L'export écrit une copie complète du jeu avec un catalogue locale/<votre langue>/LC_MESSAGES/ correct ET une version mise à jour du catalogue que le jeu chargeait déjà, pour que la traduction apparaisse quelle que soit la façon dont le jeu choisit sa langue. Le .po et le .mo compilé sont tous deux écrits.