Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

Pseudolokalisierung

Einführung

Bei der Entwicklung eines Spiels beginnt der Lokalisierungsprozess in der Regel, wenn die Entwicklung abgeschlossen ist. Das bedeutet, dass während der Entwicklung keine Übersetzungen zur Verfügung stehen, um zu testen, ob das Projekt richtig internationalisiert ist.

Godot bietet die Pseudolokalisierung an, um zu testen, wie robust das Projekt gegenüber Änderungen der Sprachumgebung ist. Die Pseudolokalisierung simuliert Änderungen, die während der Lokalisierung auftreten können. Auf diese Weise können etwaige Probleme bei der Internationalisierung bereits in einem frühen Stadium der Entwicklung erkannt werden.

Siehe auch

Sie können sehen, wie die Pseudolokalisierung in Aktion funktioniert, indem Sie das Pseudolocalizaton-Demoprojekt verwenden.

Aktivieren und Konfigurieren der Pseudolokalisierung

Enabling pseudolocalization and the configurations related to it is as simple as toggling a checkbox in the project settings. These settings can be found in Project > Project Settings > General > Internationalization > Pseudolocalization after enabling the Advanced toggle in the project settings dialog:

../../_images/pseudolocalization_settings.webp

Die Pseudolokalisierung kann auch zur Laufzeit von einem Skript ein- oder ausgeschaltet werden.

Konfigurationen der Pseudolokalisierung

Die Pseudolokalisierung in Godot kann je nach dem spezifischen Anwendungsfall des Projekts eingerichtet werden. Im Folgenden sind die Property der Pseudolokalisierung aufgeführt, die über die Projekteinstellungen konfiguriert werden können:

  • replace_with_accents: Ersetzt alle Zeichen im String durch Akzentvarianten. "The quick brown fox jumped over the lazy dog " wird in "Ŧh̀é q́üíćḱ ḅŕôŵή f́ôx́ ǰüm̀ṕéd́ ôṽéŕ ŧh̀é łáźý d́ôǵ " umgewandelt, wenn diese Einstellung aktiviert ist. Dies kann verwendet werden, um unübersetzte Strings zu erkennen, die keine Akzente haben, ist aber auch nützlich, um nach fehlenden Glyphen in der/den vom Projekt verwendeten Schriftart(en) zu suchen.

  • double_vowels: Verdoppelt alle Vokale im String. Dies ist eine gute Annäherung, um die Expansion von Text während der Lokalisierung zu simulieren. Dies kann verwendet werden, um auf Text zu prüfen, der seinen Container überlaufen würde (z. B. Buttons).

  • fake_bidi: Fake-bidirektionaler Text (simuliert Rechts-nach-Links-Text). Dies ist nützlich, um Rechts-nach-Links-Schreibsysteme zu simulieren, um mögliche Layout-Probleme zu überprüfen, die in Sprachen mit Rechts-nach-Links-Schriften auftreten würden.

  • override: Ersetzt alle Zeichen im String durch ein Sternchen (*). Dies ist nützlich, um schnell Text zu finden, der nicht lokalisiert wird.

  • expansion_ratio: Kann in Fällen verwendet werden, in denen die Verdopplung der Vokale keine ausreichende Annäherung darstellt. Diese Einstellung füllt den String mit Unterstrichen (_) auf. Ein Expansionsverhältnis von 0.3 ist für die meisten praktischen Fälle ausreichend; es wird die Länge des Strings um 30% erhöhen.

  • prefix und suffix: Diese Propertys können verwendet werden, um ein Präfix und ein Suffix anzugeben, in die der Text eingebettet werden soll.

  • skip_placeholders: Überspringt Platzhalter für die String-Formatierung wie %s und %f. Dies ist nützlich, um Stellen zu identifizieren, an denen mehr Argumente erforderlich sind, damit der formatierte String korrekt angezeigt wird.

Alle diese Propertys können je nach Anwendungsfall des Projekts nach Bedarf ein- und ausgeschaltet werden.

Konfigurieren der Pseudolokalisierung zur Laufzeit

Pseudolocalization can be toggled at runtime using the pseudolocalization_enabled property in TranslationServer. However, if runtime configuration of pseudolocalization properties is required, they can be directly configured using ProjectSettings.set_setting(property, value) and then calling TranslationServer.reload_pseudolocalization() which reparses the pseudolocalization properties and reloads the pseudolocalization. The following code snippet shall turn on replace_with_accents and double_vowels properties and then call reload_pseudolocalization() for the changes to get reflected:

ProjectSettings.set_setting("internationalization/pseudolocalization/replace_with_accents", true)
ProjectSettings.set_setting("internationalization/pseudolocalization/double_vowels", true)
TranslationServer.reload_pseudolocalization()