Importation de traductions

Jeux et internationalisation

Le monde regorge de marchés et de cultures différents et, pour maximiser les profits™, les jeux sont aujourd’hui disponibles en plusieurs langues. Pour résoudre ce problème, le texte internationalisé doit être pris en charge dans tout moteur de jeu moderne.

Dans les applications de bureau ou mobiles habituelles, les traductions de texte se trouvent généralement dans des fichiers de ressources (ou des fichiers .po pour les applications GNU). Les jeux, cependant, peuvent utiliser plusieurs ordres de grandeur de plus de texte que les applications, ils doivent donc supporter des méthodes efficaces pour traiter de grandes quantités de texte multilingue.

Il existe deux approches pour créer des jeux et des applications multilingues. Les deux reposent sur un principe clé : un système de valeur. La première consiste à utiliser l’une des langues comme clé (généralement l’anglais), la seconde consiste à utiliser un identifiant spécifique. La première approche est probablement plus facile pour le développement si un jeu est publié en premier en anglais puis plus tard dans d’autres langues, là où la seconde est un véritable cauchemar de travailler avec plusieurs langues en même temps.

En général, les jeux utilisent la deuxième approche et un identifiant unique est utilisé pour chaque chaîne. Cela vous permet de réviser le texte pendant qu’il est traduit dans d’autres langues. L’identifiant unique peut être un nombre, une chaîne ou une chaîne avec un numéro (il ne s’agit que d’une chaîne unique).

Les traducteurs préfèrent aussi généralement travailler avec des feuilles de calcul.

Format de traduction

Pour compléter le tableau et permettre un support efficace des traductions, Godot dispose d’un importateur spécial capable de lire les fichiers CSV. Tous les éditeurs de tableurs (que ce soit Libreoffice, Microsoft Office, Google Docs, etc.) peuvent exporter vers ce format. La seule exigence est que les fichiers aient un arrangement spécial. Les fichiers CSV doivent être enregistrés au format UTF-8 et être formatés comme suit :

  <lang1> <lang2> <langN>
KEY1 chaîne chaîne chaîne
KEY2 chaîne chaîne chaîne
KEYN chaîne chaîne chaîne

Les balises « lang » doivent représenter un langage, qui doit être l’un des locales valides supportées par le moteur. Les balises « KEY » doivent être uniques et représenter une chaîne universellement (elles sont généralement en majuscules pour se différencier des autres chaînes). Voici un exemple :

id en es ja
GREET Hello, friend! Hola, Amigo! こんにちは
ASK How are you? Cómo está? 元気ですか
BYE Good Bye Adiós さようなら

Import CSV

Par défaut, Godot traitera les fichiers CSV comme des traductions. Il les importera et générera un fichier ressource ou plus de traduction.

L’importation ajoutera aussi la traduction à la liste des traduction à charger lorsque le jeu s’éxécute, spécifiée dans project.godot (ou dans les configurations du projet). Godot permet le chargement et la suppression de traduction pendant l’éxécution également.