Übersetzungen importieren
Spiele und Internationalisierung
Die Gaming-Community ist weder einsprachig noch monokulturell. Sie setzt sich aus vielen verschiedenen Sprachen und Kulturen zusammen - genau wie die Godot-Community! Wenn Sie den Spielern die Möglichkeit geben wollen, Ihr Spiel in ihrer Sprache zu erleben, müssen Sie unter anderem Textübersetzungen bereitstellen, die Godot durch internationalisierten Text unterstützt.
In normalen Desktop- oder Mobile-Anwendungen befindet sich internationalisierter Text normalerweise in Ressourcendateien (oder .po Dateien für GNU-Inhalte). Spiele können jedoch immens mehr Text als Anwendungen verwenden, daher müssen sie effiziente Methoden für den Umgang mit viel mehrsprachigem Text unterstützen.
Es gibt zwei Ansätze, um mehrsprachige Spiele und Anwendungen zu generieren. Beide basieren auf einem Key-Value-System. Die erste besteht darin, eine der Sprachen als Key zu verwenden (normalerweise Englisch), die zweite darin, eine bestimmte Kennung zu verwenden. Der erste Ansatz ist wahrscheinlich einfacher für die Entwicklung, wenn ein Spiel zuerst auf Englisch, später in anderen Sprachen veröffentlicht wird, aber ein Albtraum, wenn mit vielen Sprachen gleichzeitig gearbeitet wird.
Im Allgemeinen verwenden Spiele den zweiten Ansatz und für jede Zeichenfolge wird eine eindeutige ID verwendet. Auf diese Weise können Sie den Text überarbeiten, während er in andere Sprachen übersetzt wird. Die eindeutige ID kann eine Zahl, eine Zeichenfolge oder eine Zeichenfolge mit einer Nummer sein (es ist sowieso nur ein eindeutiger String).
Bemerkung
Wenn Sie ein leistungsfähigeres Dateiformat benötigen, unterstützt Godot auch das Laden von Übersetzungen im gettext .po-Format. Siehe Lokalisierung mittels gettext für Details.
Übersetzungsformat
Um das Bild zu vervollständigen und eine effiziente Unterstützung für Übersetzungen zu ermöglichen, verfügt Godot über einen speziellen Importer, der CSV-Dateien lesen kann. Die meisten Tabellenkalkulationseditoren können in dieses Format exportieren. Die einzige Voraussetzung ist, dass die Dateien eine spezielle Anordnung haben. Die CSV-Dateien müssen mit UTF-8-Codierung ohne byte order mark gespeichert werden.
CSV-Dateien müssen wie folgt aufgebaut sein:
keys |
<Sprache1> |
<Sprache2> |
<SpracheN> |
|---|---|---|---|
KEY1 |
String |
String |
String |
KEY2 |
String |
String |
String |
KEYN |
String |
String |
String |
Die "lang"-Tags müssen eine Sprache repräsentieren, die eine der von der Engine unterstützten gültigen Locales sein muss, oder sie müssen mit einem Unterstrich (_) beginnen, was bedeutet, dass die entsprechende Spalte als Kommentar dient und nicht importiert wird. Die "KEY"-Tags müssen eindeutig sein und einen universelle String darstellen (sie werden normalerweise in Großbuchstaben geschrieben, um sie von anderen Strings zu unterscheiden). Diese Keys werden zur Laufzeit durch die passende übersetzte Strings ersetzt. Beachten Sie, dass die Groß- und Kleinschreibung wichtig ist, "KEY1" und "Key1" stellen unterschiedliche Keys dar. Die Zelle oben links wird ignoriert und kann leer gelassen werden oder einen beliebigen Inhalt haben. Hier ist ein Beispiel:
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. |
「こんにちは」男は言いました |
Das gleiche Beispiel wird unten als kommaseparierte reine Text-Datei gezeigt, die das Ergebnis der Bearbeitung des obigen Beispiels in einer Tabelle sein sollte. Stellen Sie beim Bearbeiten der reinen Text-Version sicher, dass alle Nachrichten, die Kommas, Zeilenumbrüche oder doppelte Anführungszeichen enthalten, in doppelte Anführungszeichen gesetzt werden, damit Kommas nicht als Trennzeichen analysiert werden, Zeilenumbrüche keine neuen Einträge erstellen und doppelte Anführungszeichen nicht als eingeschlossene Zeichen analysiert werden. Vermeiden Sie doppelte Anführungszeichen in einer Nachricht, indem Sie ihnen ein weiteres doppeltes Anführungszeichen voranstellen. Alternativ können Sie in den Import-Optionen ein anderes Trennzeichen als Komma auswählen.
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.",「こんにちは」男は言いました
CSV-Importer
Godot behandelt CSV-Dateien standardmäßig als Übersetzungen. Es importiert sie und erzeugt daneben eine oder mehrere komprimierte Übersetzungs-Ressourcendateien.
Beim Importieren wird die Übersetzung auch zur Liste der Übersetzungen hinzugefügt, die beim Ausführen des Spiels geladen werden sollen. Dies wird in project.godot (oder in den Projekteinstellungen) angegeben. Mit Godot können Übersetzungen auch zur Laufzeit geladen und entfernt werden.
Wählen Sie die Datei .csv und greifen Sie auf das Import-Dock zu, um Importoptionen zu definieren. Sie können die Komprimierung der importierten Übersetzungen ein- und ausschalten und das Trennzeichen wählen, das beim Parsen der CSV-Datei verwendet werden soll.
Achten Sie darauf, nach jeder Änderung dieser Optionen auf Neuimport zu klicken.