Konzepte und Jetpack Compose-Implementierung
Der Übersetzungseditor bietet eine konsolidierte und bearbeitbare Ansicht aller Ihrer Standard- und übersetzten String-Ressourcen.
Eine Einführung in die Übersetzung Ihrer App in verschiedene Sprachen finden Sie unter Verschiedene Sprachen und Kulturen unterstützen.
Abbildung 1. Der Übersetzungseditor mit App-Text vor der Übersetzung
Übersetzungseditor über den Design-Editor öffnen
Sie können den Übersetzungseditor über den Design-Editor des Layout-Editors öffnen, um den Standardtext und übersetzten Text so zu bearbeiten, dass er besser in Ihr Layout passt. Informationen zum Wechseln der Sprache im Design-Editor finden Sie unter Übersetzten Text im Design-Editor anzeigen.
- Wählen Sie im Bereich Project > Android auf der linken Seite ModuleName > res > layout aus.
- Doppelklicken Sie auf content_main.xml, um die Datei zur Bearbeitung zu öffnen.
- Klicken Sie links unten auf den Tab Design, um den Design-Editor aufzurufen.
- Wählen Sie im Design-Editor die Drop-down-Liste Sprache
aus.
- Wählen Sie Übersetzungen bearbeiten
aus.
Übersetzten Text im Design-Editor anzeigen
So sehen Sie, wie der übersetzte Text im App-Layout angezeigt wird: Wechseln Sie im Design-Editor zwischen der Standard- und der übersetzten Version des Texts:
- Wählen Sie im Bereich Project > Android auf der linken Seite ModuleName > res > layout aus.
- Doppelklicken Sie auf content_main.xml, um die Datei zur Bearbeitung zu öffnen.
- Klicken Sie links unten auf den Tab Design, um den Design-Editor aufzurufen.
- Wählen Sie im Design-Editor die Drop-down-Liste Sprache
aus.
- Wählen Sie Übersetzungen bearbeiten
aus. - Wählen Sie die Sprache aus, in der Sie sich die App ansehen möchten.
Abbildung 2: Drop-down-Liste für die Sprache mit ausgewählter spanischer Sprache
Im Design-Editor wird das App-Layout in der ausgewählten Sprache angezeigt, in diesem Fall Spanisch.
Abbildung 3: Der Designeditor mit übersetztem Text auf Spanisch
Design-Editor auf die Standardsprache einstellen
Wenn Sie die Sprache auf die Standardsprache zurücksetzen möchten, wählen Sie es > Sprache
aus.
Lokalisierten Text verwalten und testen
Die Android-Plattform und Android Studio bieten mehrere Funktionen, mit denen Sie lokalisierbaren App-Text verwalten und testen können. Diese Funktionen bieten Optionen, mit denen Sie Probleme mit linksläufigen (RTL) Schriftsystemen wie Arabisch oder Hebräisch beheben können. Wenn Sie Ihren lokalisierbaren Text testen, können Sie Anpassungen am UI-Text und seinem Layout vornehmen, bevor Sie Ihre Nachrichten im Quell-Repository speichern, damit sie später übersetzt werden können.
Projekt für die Unterstützung von RTL refaktorieren
Android Studio bietet einen Refactoring-Befehl, mit dem bidirektionaler Text in den Elementen TextView, ConstraintLayout und LinearLayout unterstützt wird. So können Ihre Apps Text sowohl in LTR- als auch in RTL-Schriftarten anzeigen und bearbeiten lassen. Der Befehl bietet auch eine automatische Spiegelung von App-UI-Layouts und allen Ansichts-Widgets. Damit die Änderung der Textrichtung und die Spiegelung des Layouts sichtbar werden, müssen Sie auch die Eigenschaften für Text- und Layoutrichtung im Layout-Editor festlegen.
Im folgenden Verfahren wird beschrieben, wie Sie Ihr Projekt für die Unterstützung von RTL umgestalten:
- Wählen Sie Refactor > Add RTL support where possible (Refaktorieren > RTL-Unterstützung hinzufügen, falls möglich) aus, um das in Abbildung 4 gezeigte Dialogfeld aufzurufen.
Abbildung 4: Unterstützung für RTL hinzufügen
- Wenn das Element
<application>in Ihrer DateiAndroidManifest.xmlnicht das Attributandroid:supportsRTL="true"hat, aktivieren Sie das Kästchen AndroidManifest.xml aktualisieren. - Wenn die
targetSdkVersionIhrer App mindestens 17 ist, wählen Sie Eigenschaften für links/rechts durch Eigenschaften für Start/Ende ersetzen aus. In diesem Fall sollten Sie in Ihren Eigenschaften „start“ und „end“ anstelle von „left“ und „right“ verwenden. Ausandroid:paddingLeftwird beispielsweiseandroid:paddingStart. - Wenn
targetSdkVersionIhrer App 16 oder niedriger ist, wählen Sie Generate -v17 Versions (Versionen für -v17 generieren) aus. In diesem Fall sollte Ihr XML beide Gruppen von Eigenschaften verwenden. In Ihrem XML sollten beispielsweise sowohlandroid:paddingLeftals auchandroid:paddingStartverwendet werden.
- Wenn das Element
- Klicken Sie auf Ausführen, um das Fenster Vorschau für Refactoring suchen aufzurufen.
Abbildung 5: Vorschau ansehen
- Klicken Sie auf Refactor (Umgestalten).
Weitere Informationen zum Refactoring Ihres Projekts für die Unterstützung von RTL finden Sie unter Native RTL support in Android 4.2.
Eigenschaften für Text- und Layoutrichtung
Im Eigenschaftenfenster auf der rechten Seite finden Sie das Attribut textDirection für Text-Widgets und das Attribut layoutDirection für Layout-Widgets, mit denen Sie die Richtung von Text- und Layoutkomponenten ändern können. Die Richtungseigenschaften werden rechts im Fenster Properties (Eigenschaften) aufgeführt und funktionieren mit API-Level 17 oder höher.
Damit sich die Textrichtung ändert und das Layout gespiegelt wird, müssen Sie das Projekt auch für die Unterstützung von RTL umgestalten. Im Deutschen wird bei einer Änderung der Textrichtung nur die Interpunktion von der rechten Seite auf die linke Seite des Textes verschoben. Aus „Hallo Welt!“ wird beispielsweise „!Hallo Welt“. Damit LTR-Text in RTL-Text umgewandelt wird, müssen Sie in Ihrer App eine RTL-Sprache verwenden. Wenn Sie Englisch verwenden und den Text zu Testzwecken in RTL-Text umwandeln möchten, verwenden Sie Pseudolokalisierungen. Pseudolokalisierungen sind unabhängig vom Refactoring-Befehl und den Richtungseigenschaften.
So greifen Sie auf die Richtungseigenschaften zu und verwenden sie:
- Wählen Sie im Layout-Editor ein Text-Widget aus.
Öffnen Sie das Fenster Eigenschaften und suchen Sie nach der RTL-Eigenschaft, die Sie verwenden möchten. Wählen Sie eine der folgenden Optionen aus, um den Property-Wert festzulegen:
- firstStrong: Standardeinstellung für die Stammansicht. Das erste starke bidirektionale Zeichen bestimmt die Richtung des Absatzes. Wenn es kein starkes Richtungszeichen gibt, ist die Absatzrichtung die aufgelöste Layoutrichtung der Ansicht.
- anyRtl: Die Absatzrichtung ist RTL, wenn er ein starkes RTL-Zeichen enthält. Andernfalls ist sie LTR, wenn er ein starkes LTR-Zeichen enthält. Wenn keines von beiden vorhanden ist, ist die Absatzrichtung die aufgelöste Layoutrichtung der Ansicht.
- ltr: Die Absatzrichtung ist LTR.
- rtl: Die Absatzrichtung ist RTL.
- locale: Die Absatzrichtung wird von der Systemsprache bestimmt.
- inherit: Standardeinstellung. Die im übergeordneten Element festgelegte Richtung verwenden.
Hinweis: Starke Richtungszeichen haben eine eigene vordefinierte Richtung, z. B. die meisten alphabetischen und silbischen Zeichen, nicht europäische und nicht arabische Ziffern, Han-Ideogramme und Satzzeichen, die nur für diese Schriftsysteme spezifisch sind.
Um den umgekehrten Text und das umgekehrte Layout zu prüfen, führen Sie die App aus.