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).

Note

Si vous voulez utiliser un format de fichier plus puissant, Godot peut charger les traductions en format gettext .po. Voir Localisation à l'aide de gettext pour plus de détails.

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 sans une marque d'ordre de byte.

Avertissement

Par défaut, Microsoft Excel sauvegarde toujours les fichiers CSV avec un encodage ANSI, plutôt que UTF-8. Il n'y a pas manière intégrée de faire ça, mais des alternatives existent, comme décrit ici here.

Nous recommandons d'utiliser LibreOffice ou Google Sheets à la place.

Les fichiers CSV doivent être formatés comme suit :

clés <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 une langue, qui doit être une des valid locales supportée 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). Ces clés seront remplacées à l'exécution par la chaîne traduite correspondante. Notez que le cas est important, "KEY1" et "Key1" seront des clés différentes. La cellule en haut à gauche est ignorée et peut être laissée vide ou avoir un contenu quelconque. En voici un exemple :

clés en es ja
GREET Hello, friend! Hola, amigo ! こんにちは
ASK How are you? Cómo está? 元気ですか
BYE Goodbye Adiós さようなら
QUOTE "Hello" said the man. "Hola" dijo el hombre. 「こんにちは」男は言いました

Le même exemple est présenté plus bas comme un fichier texte dont les données sons séparées par des virgules, qui devrait être le résultat obtenu lorsqu'on édite les données précédentes dans un tableur. Lorsque vous éditez la version texte, assurez-vous d'ajouter des guillemets autour des messages qui contiennent des virgules, des sauts de lignes ou des guillemets, pour que les virgules ne soient pas considérées comme des délimiteurs, que les sauts de lignes ne créent pas de nouvelles entrées et que les guillemets ne soient pas considérés comme des caractères de fin. Sinon, vous pouvez désigner un autre délimiteur que la virgule dans les options d'import.

keys,en,es,ja
GREET,"Hello, friend!","Hola, amigo!",こんにちは
ASK,How are you?,Cómo está?,元気ですか
BYE,Goodbye,Adiós,さようなら
QUOTE,"""Hello"" said the man.","""Hola"" dijo el hombre.",「こんにちは」男は言いました

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.

Sélectionnez le fichier .csv puis allez dans le dock Import pour choisir les options d'import. Vous pouvez activer la compression des traductions importées et choisir le délimiteur que le logiciel utilisera en analysant le fichier CSV.

../../../_images/import_csv.png

N'oubliez pas de cliquer sur Réimporter pour appliquer les changements.