Abfragen und Anwenden von Sprachregionen
Die Aktive Sprachregion in Unreal Engine (UE) kann sich auf eines von drei Dingen beziehen:
-
Die Sprache - Die Sprache wird verwendet, um herauszufinden, welche Lokalisierungsdaten verwendet werden sollen.
-
Das Gebietsschema - Das Gebietsschema wird verwendet, um zu steuern, wie Zahlen/Daten/Zeiten usw. in unserer Internationalisierungsbibliothek formatiert werden.
-
Eine Asset-Gruppensprachregion - Asset-Gruppen erlauben Ihnen die Erstellung einer Gruppe von Asset-Klassen, die einer anderen Sprachregion als der Hauptsprache des Projekts zugewiesen werden können.
Es ist möglich, alle gleichzeitig einzurichten, indem Sie die aktive Sprachregion ändern. Wenn Ihr Projekt jedoch Asset-Gruppen verwenden soll, sollten Sie die Sprache und das Gebietsschema (die Spiele oft auf denselben Wert setzen) sowie Asset-Gruppen als separate Einstellungen behandeln.
UE macht diese Trennung einfach und bietet außerdem einige Hilfsmittel, die Sie in C++ und Blueprints nutzen können, um die Einstellungen zu verwalten.
Abrufen der aktiven Sprachregion
Die zugrundeliegenden Informationen zur aktiven Sprachregion werden im Singleton FInternationalization
gespeichert, aber UKismetInternationalizationLibrary
bietet einen kleinen Satz an Wrapper-Funktionen, mit denen Sie konsistent auf Informationen aus C++ und Blueprints zugreifen können.
Funktion | Beschreibung |
---|---|
GetCurrentLanguage | Holt die aktive Sprache als ein IETF-Sprachtag. |
GetCurrentLocale | Holt das aktive Gebietsschema als ein IETF-Sprachtag. |
GetCurrentAssetGroupCulture | Holt die Sprachregion für eine benannte Asset-Gruppe als IETF-Sprachtag. |
Festlegen der aktiven Sprachregion
Die zugrundeliegenden Informationen der aktiven Sprachregion werden im FInternationalization
-Singleton gespeichert, aber UKismetInternationalizationLibrary
bietet einen kleinen Satz an Wrapper-Funktionen, mit denen Sie Werte aus C++ und Blueprints festlegen können. Sie bieten auch eine Möglichkeit, die neuen Einstellungen optional in der nutzerspezifischen Konfigurationsdatei zu speichern.
Funktion | Beschreibung |
---|---|
SetCurrentCulture | Legt die aktive Sprachregion (Sprache, Gebietsschema und alle Asset-Gruppen) anhand eines IETF-Sprachtags fest. |
SetCurrentLanguage | Legt die aktive Sprache anhand eines IETF-Sprachtags fest. |
SetCurrentLocale | Legt das aktive Gebietsschema anhand eines IETF-Sprachtags fest. |
SetCurrentLanguageAndLocale | Legt die aktive Sprache und das Gebietsschema anhand eines IETF-Sprachtags fest. |
SetCurrentAssetGroupCulture | Legt die Sprachregion für eine benannte Asset-Gruppe anhand eines IETF-Sprachtags fest. |
ClearCurrentAssetGroupCulture | Löscht die Sprachregion für eine benannte Asset-Gruppe (kehrt zur Verwendung der aktiven Sprache zurück). |
Die Sprachregion kann auch mithilfe von Engine-Konsolenbefehlen in Nicht-Auslieferungs-Builds geändert werden.
Beispiel:
culture=fr
language=fr
locale=fr
Abfragen der verfügbaren Sprachen
Die zugrundeliegenden verfügbaren Sprachinformationen werden im Singleton FTextLocalizationManager
gespeichert, aber UKismetInternationalizationLibrary
bietet einen kleinen Satz an Wrapper-Funktionen, mit denen Sie konsistent auf Informationen aus C++ und Blueprints zugreifen können.
Funktion | Beschreibung |
---|---|
GetNativeCulture | Holt die primäre Sprachregion einer Lokalisierungskategorie als IETF-Sprachtag. |
GetLocalizedCultures | Holt die Liste der Sprachregionen, die über Lokalisierungsdaten als IETF-Sprachtags verfügen. |
GetSuitableCulture | Holt die am besten geeignete Sprachregion aus einer Liste verfügbarer Sprachregionen. |
GetCultureDisplayName | Holt den Anzeigennamen einer Sprachregion aus ihrem IETF-Sprachtag. |
Überschreiben der Standard-Sprachregion
UE bestimmt die Standard-Sprachregion durch Abfragen der zugrundeliegenden Plattform-Schicht nach der aktiven Sprache und dem aktiven Gebietsschema. Wenn die Sprache der Plattform nicht unterstützt wird, greift UE auf die Muttersprache Ihres Lokalisierungsziels zurück. In einem ausgelieferten Projekt möchten Sie dieses Verhalten wahrscheinlich nicht überschreiben. Während der Entwicklung können diese Überschreibungen jedoch nützlich sein, um andere Sprachen zu testen.
Die Standardeinstellungen für Ihr Projekt werden üblicherweise in der Datei DefaultGame.ini
definiert. Im Beispiel sehen Sie, wie Sie die Sprachregion auf Französisch festlegen.
Beispiel:
[Internationalization]
culture=fr
In diesem Beispiel sehen Sie, wie Sie als Sprache und Sprachregion Französisch verwenden und die Audio-Asset-Gruppe auf Japanisch festlegen.
Beispiel:
[Internationalization]
language=fr
locale=fr
[Internationalization.AssetGroupCultures]
+Audio=ja
Die Einstellungen können auch mit Befehlszeilen-Flags überschrieben werden.
Beispiel:
-culture=fr
-language=fr
-locale=fr
Lokalisierungsvorschau
Die Lokalisierungsvorschau bietet Ihnen die Möglichkeit, eine Vorschau Ihrer Projektlokalisierungsdaten zu betrachten, ohne den Editor zu verlassen. Konfiguriert wird sie über die Einstellung Preview Game Language. Folgen Sie diesen Schritten, um diese Einstellungen zu ändern.
-
Klicken Sie in der Menüleiste des Editors auf Edit > Editor Preferences.
-
Klicken im Dialogfenster Editor Preferences unter General auf Region and Language.
-
Klicken Sie auf die Dropdown-Liste neben Preview Game Language und wählen Sie die Sprache aus, für die Sie eine Vorschau sehen möchten.
Die Vorschau wird automatisch aktiviert, wenn Play in Editor (PIE) ausgeführt wird, und wird an alle eigenständigen Instanzen übergeben, die im Editor gestartet werden. Diese Vorschau kann auch im UMG Editor verwendet werden, um eine Vorschau von Widgets in verschiedenen Sprachen zu erhalten. Während eine Vorschau ausgeführt wird, werden alle bearbeitbaren Textfelder schreibgeschützt, um ein versehentliches Überschreiben der Quell-Daten mit Übersetzungsdaten zu verhindern.
Die PIE- und UMG-Vorschauen sind nicht immer eine absolut genaue Repräsentation dessen, wie Ihr Projekt zur Laufzeit aussehen wird, da sie nur die Lokalisierungsdaten laden, ohne die Einstellungen der Sprache oder des Gebietsschemas zu beeinflussen. Wenn Sie eine möglichst genaue Darstellung erhalten möchten, sollten Sie eine eigenständig Instanz im Editor ausführen (was dem Ausführen des Editors mit dem Attribut -game
entspricht).
Neuzuordnung der Sprachregion
Die Neuzuordnung der Sprachregion bietet eine Möglichkeit, einen Sprachregionscode auf einen anderen abzubilden, und kann bei regionalen Unterschieden, die nicht durch ein Script oder einen Ländercode abgedeckt werden können, nützlich sein. Neuzuordnungen von Sprachregionen finden Sie in der Datei DefaultGame.ini
. Sie sind ein Paar von IETF-Sprachtags, die durch Semikolons getrennt werden.
Beispiel:
[Internationalization]
+CultureMappings="es-MX;es-419"
Einschränkungen der Sprachregion
Einschränkungen der Sprachregion bieten eine Möglichkeit, bestimmte Sprachregionen zu aktivieren oder zu deaktivieren, was Sie für jede einzelne Build-Konfiguration vornehmen können. Einschränkungen der Sprachregion können nützlich sein, wenn Sie Sprachen deaktivieren möchten, die zum Testen erforderlich sind, aber nicht in der ausgelieferten Version Ihres Projekts enthalten sein sollen.
Einschränkungen der Sprachregion finden Sie normalerweise in der Datei DefaultGame.ini
. Sie sind mit einem IETF-Sprachtag festgelegt. Sie können eine Liste von Build-Konfigurationen einschließen, auf die die Einschränkung angewendet werden soll (wenn keine Build-Konfigurationen aufgelistet sind, bedeutet dies, dass die Einschränkungen für alle Build-Konfigurationen gelten).
Beispiel:
[Internationalization]
;Nur Französisch in allen Build-Konfigurationen aktivieren
+EnabledCultures="fr"
[Internationalization]
;Nur Französisch in den Build-Konfigurationen für Test und Auslieferung aktivieren
+EnabledCultures="fr;Test,Shipping"
[Internationalization]
;Deutsch in der Build-Konfiguration für die Auslieferung deaktivieren
+DisabledCultures="de;Shipping"