Übersetzungen importieren

Spiele und Internationalisierung

Die Welt ist voll von verschiedenen Sprachen und Kulturen, daher werden heutzutage Spiele in mehreren Sprachen veröffentlicht. Um dies zu bewältigen, muss internationalisierter Text in jeder modernen Spiele-Engine unterstützt werden.

In normalen Desktop- oder Mobilanwendungen 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 Schlüssel-Wert-System. Die erste besteht darin, eine der Sprachen als Schlüssel 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 eine eindeutige Zeichenfolge).

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.

Warnung

Standardmäßig speichert Microsoft Excel CSV-Dateien immer mit ANSI-Codierung anstelle von UTF-8. Es gibt keine integrierte Möglichkeit dies zu tun, aber das Problem kann umgangen werden, wie hier beschrieben. <Https://stackoverflow.com/questions/4221176/excel-to-csv-with-utf8-encoding> `__.

Wir empfehlen stattdessen die Verwendung von LibreOffice or Google Sheets.

CSV Dateien müssen wie folgt aufgebaut sein:

Schlüssel

<Sprache_1>

<Sprache_2>

<Sprache_N>

Schlüssel1

Zeichenkette

Zeichenkette

Zeichenkette

Schlüssel2

Zeichenkette

Zeichenkette

Zeichenkette

SchlüsselN

Zeichenkette

Zeichenkette

Zeichenkette

Die "lang"-Tags müssen eine Sprache repräsentieren, die eine der von der Engine unterstützten valid locales sein muss. Die "KEY"-Tags müssen eindeutig sein und eine Zeichenkette universell repräsentieren (sie sind normalerweise in Großbuchstaben, um sie von anderen Zeichenketten zu unterscheiden). Diese Schlüssel werden zur Laufzeit durch die passende übersetzte Zeichenkette ersetzt. Beachten Sie, dass die Groß-/Kleinschreibung wichtig ist, "KEY1" und "Key1" werden unterschiedliche Schlüssel sein. Die Zelle oben links wird ignoriert und kann leer bleiben oder einen beliebigen Inhalt haben. Hier ist ein Beispiel:

Schlüssel

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 durch Kommas getrennte 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 wird CSV-Dateien standardmäßig als Übersetzungen behandeln. Es importiert sie und erzeugt daneben eine oder mehrere komprimierte Übersetzungsressourcendateien.

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 umschalten und das Trennzeichen wählen, das beim Parsen der CSV-Datei verwendet werden soll.

../../_images/import_csv.png

Achten Sie darauf, nach jeder Änderung dieser Optionen auf Reimport zu klicken.