Mit der Asset-Lokalisierung können Sie ein Asset innerhalb einer bestimmten Sprachregion vollständig durch ein anderes ersetzen.
Lokalisierte Assets existieren in Sprachregion-spezifischen Ordnern unter dem Ordner "L10N" innerhalb Ihres Projektinhaltsordners. Wenn Sie also ein Asset mit dem Namen /Game/MyFolder/MyAsset
haben und es für Französisch („fr“) lokalisieren möchten, dann heißt das lokalisierte Asset /Game/L10N/fr/MyFolder/MyAsset
.
Der Content Browser enthält Optionen, mit denen Sie lokalisierte Assets verwalten können. Diese finden Sie im Untermenü Asset-Lokalisierung. Um lokalisierte Assets mit den Inhaltsbrowser-Optionen zu erstellen oder zu verwalten, müssen Sie LocRes
-Dateien für die Sprachregionen zur Verfügung haben, für die Sie lokalisieren. Lokalisierte Assets sind im Inhaltsbrowser standardmäßig ausgeblendet. Klicken Sie auf Einstellungen > Lokalisierte Inhalte anzeigen, um sie anzuzeigen.
Lokalisierte Assets werden nicht im laufenden Betrieb neu geladen, wenn die Sprachregion zur Laufzeit geändert wird, da das Nachladen von Inhalten im laufenden Betrieb nur im Editor möglich ist. Wenn Sie vorhaben, einen dynamischen Wechsel der Sprachregion zur Laufzeit zu unterstützen, müssen Sie Ihr Spiel möglicherweise neu starten, damit diese Änderungen wirksam werden. Bei einem Neustart des Spiels werden lokalisierte Assets entfernt und neu geladen.
Assets, die Bytecode enthalten (wie z. B. Blueprints), können nicht lokalisiert werden, da diese in C++ nativiert werden können. Diese Assets können zur Laufzeit nicht ersetzt werden.
Lokalisierung von Schriftarten
Die Lokalisierung von Schriftarten kann auf zwei Arten erfolgen:
-
Sie können zusammengesetzte Schriftarten verwenden, um einen einzigen Schriftart-Asset zu erstellen, der für alle Sprachregionen funktioniert.
-
Mit der Asset-Lokalisierung können Sie separate Schriftarten-Assets für jede Sprachregion anlegen.
Die zweite Option wird nur empfohlen, wenn Ihr Projekt keinen dynamischen Wechsel der Sprachregion zur Laufzeit unterstützt und keinen beliebigen benutzerdefinierten Text anzeigt (z. B. Spielernamen oder ein Chat-Fenster). In allen anderen Fällen liefert die erste Option ein besseres Ergebnis.
Lokalisierung von Dialogen
Im Mittelpunkt der Dialoglokalisierung steht der Asset-Typ Dialogue Wave, mit dem Sie gesprochenen Text (und optional Untertitelüberschreibungen) definieren können, der über den standardmäßigen Erfassungsschritt der Lokalisierungspipeline erfasst wird.
Dialogwellen an sich sind kein vollständiges Dialog- oder Konversationssystem. Sie bieten lediglich eine Möglichkeit zu sagen „Zeile X wird von Person A zu den Personen B, C oder D gesprochen“, wobei für jede Kombination eine bestimmte Soundwelle verwendet wird. Die Anzahl der eindeutigen Klangwellen, die Sie für jede Sprache benötigen, kann je nach den Regeln der Sprache variieren. Dieses Problem wird aber in der Dialogwelle gekapselt. Daher müssen Sie sie nur im richtigen Kontext abspielen und Sie erhalten das genau lokalisierte Ergebnis.
Unreal Engine (UE) bietet auch eine Reihe von Hilfsmitteln, die Ihnen bei der Aufzeichnung und Verwaltung lokalisierter Dialoge helfen. Sie müssen diese Werkzeuge nicht verwenden, um Dialoge in UE zu lokalisieren, aber sie automatisieren einen Großteil der Arbeit.
Wenn Sie diese Hilfsmittel verwenden, erstellen diese eine zusätzliche Datei pro Sprachregion im Inhalt Ihres Lokalisierungsziels mit dem Namen {TargetName}Dialogue.csv
. Dialog-Sheets sind benutzerdefinierte CSV-Dateien, die die Dialogzeilen pro Sprachregion enthalten, die von der Lokalisierungspipeline aus Ihren Assets gesammelt wurden. Sie werden durch den Script-Schritt „Lokalisierungsexport“ erstellt und vom Script-Schritt „Lokalisierungsimport“ in die Archive re-importiert.
Beachten Sie die folgenden Informationen zu Dialog-Sheets:
-
Das Feld SpokenDialogue kann während der Aufzeichnung redigiert und als aktuelle Übersetzung re-importiert werden.
-
Das Feld AudioFileName definiert die WAV-Datei pro Sprachregion, die das aufgezeichnete Audio für die Zeile des Dialogs haben sollte (siehe unten).
Sobald Audio aus diesen Dialog-Sheets aufgezeichnet wurde, sollte die Audiodatei so benannt werden, wie sie im Feld AudioFileName definiert wurde, und in einem Sprachregion-Unterordner abgelegt werden (zum Beispiel, MyRecordedAudio/fr
). Diese können anschließend mithilfe des Schritts „Dialog importieren“ in UE importiert werden, um die korrekten Dialog- und Soundwellen-Assets zu erzeugen (dies kann iterativ durchgeführt werden, sobald neues Audio verfügbar wird).
Der standardmäßige Dateinamenformat des Dialogs garantiert Eindeutigkeit, ist aber für Nutzer nicht gut lesbar. Sie können dies mit der Einstellung Dateinamenformat des Dialogs in der Sektion Audio Ihrer Projekt-Einstellungen ändern. Sie sollten sich vor der Aufzeichnung von Audioelementen für das Dateinamenformat entscheiden, da Sie es später nur schwer ändern können.
Aufgrund der relativ hohen Kosten für die Übersetzung von Dialogen im Vergleich zur Übersetzung von Text wird erwartet, dass die Dialoglokalisierung erst nach Fertigstellung des Scripts beginnt und diesem Workflow folgt.
-
Für eine Dialogzeile ist ein muttersprachlicher Dialog festgelegt.
-
Muttersprachliche Dialoge werden aufgezeichnet und möglicherweise redigiert (möglicherweise in mehreren Iterationen). Wenn der Text redigiert wurde, wird der bearbeitete muttersprachliche Dialog für die Übersetzung re-importiert.
-
Der muttersprachliche Dialog wird als Text übersetzt und ist bereit für die Produktion lokalisierter Dialoge.
-
Lokalisierte Dialoge werden aufgezeichnet und möglicherweise redigiert (möglicherweise in mehreren Iterationen). Im Falle eines Redigierens werden die lokalisierten Dialoge erneut importiert, um korrekte Untertitel zu gewährleisten.
Wird der muttersprachliche Text während dieses Prozesses geändert, wird erwartet, dass der Workflow ab Schritt 1 neu gestartet wird.
Erstellen von Asset-Gruppen
Asset-Gruppen erlauben es Ihnen, Sets von Asset-Klassen zu erstellen, die einer anderen Sprachregion als der Rest Ihres Projekts zugewiesen werden können.
Ein häufiger Anwendungsfall wäre, dass der Spieler die Möglichkeit hat, das Audio in einer Sprache zu hören, während alles andere in einer anderen Sprache ist. Definieren Sie dazu eine neue Asset-Gruppe mit dem Namen Audio und legen Sie sie so fest, dass sie die Audio-Klassen Ihres Projekts verwendet (dies würde normalerweise in der Datei DefaultGame.ini
stehen):
[Internationalization.AssetGroupClasses]
+Audio=SoundWave
+Audio=DialogueWave
Nun können Sie dieser Asset-Gruppe eine eindeutige Sprachregion zuweisen, ohne den Rest Ihres Projekts zu beeinflussen. Weitere Informationen finden Sie auf der Seite Verwaltung der aktiven Sprachregion.