Der Übersetzungseditor bietet eine konsolidierte und bearbeitbare Ansicht aller Standard- und übersetzten String-Ressourcen.
Eine Einführung in die Übersetzung deiner App in verschiedene Sprachen findest du unter Verschiedene Sprachen und Kulturen unterstützen.
String-Ressourcen
Die String-Ressourcen für ein Projekt sind in strings.xml-Dateien enthalten. Ihr Projekt enthält eine Standarddatei strings.xml mit String-Ressourcen in der Standardsprache Ihrer App. Das ist die Sprache, die die meisten Nutzer Ihrer App voraussichtlich sprechen. Sie können auch übersetzte strings.xml-Dateien mit String-Ressourcen für andere Sprachen haben, die Ihre App unterstützen soll.
Sobald die Standarddatei strings.xml fertig ist, kannst du die Übersetzungen selbst hinzufügen oder professionelle Dienstleistungen damit beauftragen.
In jedem Fall sollten Sie die Android Studio-Funktionen nutzen, um lokalisierbaren Text zu verwalten und zu testen. Informationen zu professionellen Übersetzungsdiensten finden Sie unter Übersetzungsdienste.
Übersetzungseditor öffnen
Sie können den Übersetzungseditor an den folgenden Stellen in Android Studio aufrufen.
Über die Android-Ansicht öffnen
- Wählen Sie im Bereich Project > Android auf der linken Seite ModuleName > res > values aus.
Rechtsklicken Sie auf die Datei strings.xml und wählen Sie Open Translations Editor (Übersetzungseditor öffnen) aus.
Im Übersetzungseditor werden die Schlüssel/Wert-Paare aus der Datei
strings.xmlangezeigt.
Abbildung 1 zeigt den Standardtext der App (in diesem Fall Englisch) im Übersetzungseditor für eine App, bevor Übersetzungsarbeiten durchgeführt wurden. Der Inhalt der übersetzten strings.xml-Dateien wird rechts neben der Spalte Nicht übersetzbar angezeigt, wobei pro Sprache eine Spalte verwendet wird (siehe Abbildung 2).
In strings.xml öffnen
Sie können den Übersetzungseditor in jeder Ihrer strings.xml-Dateien aufrufen.
- Wählen Sie im Bereich Project > Android auf der linken Seite ModuleName > res > values aus.
- Doppelklicken Sie auf strings.xml, um die Datei zum Bearbeiten zu öffnen.
- Klicken Sie in strings.xml rechts oben auf den Link Open editor (Editor öffnen).
Nicht übersetzbare Zeilen konfigurieren
Im Übersetzungseditor können Sie Nicht übersetzbar auswählen, um anzugeben, dass der Text in dieser Zeile nicht übersetzt werden soll. Text, der nicht übersetzt werden soll, kann produktspezifischer Text wie Firmen- und Markennamen oder Fachbegriffe sein, für die es keine Übersetzung gibt.
Wenn Sie Nicht übersetzbar auswählen, wird der entsprechenden Zeile in der Standarddatei strings.xml der Wert translatable="false" hinzugefügt. Im folgenden Beispiel wird EasyApp in der obersten Zeile nicht übersetzt, da es sich um den Produktnamen handelt.
<resources>
<string name="app_name" translatable="false">EasyApp</string>
<string name="action_settings">Settings</string>
<string name="easy_app">I am a Simple App!</string>
<string name="next_page">Next Page</string>
<string name="second_page_message">I am the Second Page!</string>
<string name="title_activity_second">SecondActivity</string>
</resources>
Sprachen hinzufügen und löschen
Der Übersetzungseditor unterstützt BCP 47 und kombiniert Sprach- und Regionscodes (Ländercodes) zu einer einzigen Auswahl für gezielte Lokalisierungen. Ein Sprachcode definiert mehr als nur die Sprache. Ein Gebietsschema umfasst länderspezifische Formatierungen für Datum und Uhrzeit, Währungen und Dezimalzahlen.
So fügen Sie eine Sprache hinzu:
- Klicken Sie im Übersetzungseditor auf das Globussymbol
. Wählen Sie in der Drop-down-Liste die Sprache aus, die Sie hinzufügen möchten.
Die neue Sprache wird im Übersetzungseditor angezeigt und dem Projekt wird ein values-*-Ordner mit einer
strings.xml-Datei hinzugefügt. Beispiel: values-es für Spanisch.
So löschen Sie eine Sprache:
Du kannst eine Sprache im Übersetzungseditor löschen, indem du alle Werte in der Spalte löschst (siehe Text bearbeiten, hinzufügen und löschen). Alternativ kannst du den Projektordner für diese Sprache so löschen:
- Wählen Sie im Bereich Project > Android auf der linken Seite ModuleName > res aus.
- Rechtsklicken Sie auf den Ordner values-* für die Sprache, die Sie löschen möchten. Beispiel: values-hi für Hindi.
- Wählen Sie in der Liste Löschen aus, um den Ordner und die zugehörige Datei strings.xml zu löschen.
Text bearbeiten, hinzufügen und löschen
Sie können die Texteinstellungen direkt in der Datei strings.xml oder über den Übersetzungseditor bearbeiten. In diesem Abschnitt wird der Ansatz mit dem Übersetzungseditor beschrieben. Im Übersetzungseditor können Sie Text über die Listenansicht oder über das Feld Übersetzung unten im Übersetzungseditor bearbeiten, hinzufügen oder löschen.

Listenansicht
So bearbeiten Sie Text oder fügen Text hinzu:
- Doppelklicken Sie auf die Zelle, in der Sie Text bearbeiten oder hinzufügen möchten.
- Kopieren Sie die Zeichen über die Tastatur und fügen Sie sie ein. Wenn Sie eine Tastatur haben, die diakritische Zeichen unterstützt, können Sie sie direkt in die Listenansicht eingeben.
- Drücken Sie die Tabulatortaste oder bewegen Sie den Cursor aus dem Feld.
So löschen Sie Text:
- Doppelklicken Sie auf die Zelle, die Sie löschen möchten.
- Wählen Sie in der Listenansicht den Text aus und drücken Sie die Entf-Taste.
- Drücken Sie die Tabulatortaste oder bewegen Sie den Cursor aus dem Feld.
Übersetzungsfeld
So bearbeiten Sie Text oder fügen Text hinzu:
- Klicken Sie in der Listenansicht einmal auf die Zelle, in der Sie Text bearbeiten oder hinzufügen möchten.
- Kopieren Sie den Text im Feld Übersetzung mit der Tastatur und fügen Sie ihn ein. Wenn Sie eine Tastatur haben, die diakritische Zeichen unterstützt, können Sie auch direkt in das Feld Übersetzung schreiben.
- Drücken Sie die Tabulatortaste oder bewegen Sie den Cursor aus dem Feld.
So löschen Sie Text:
- Klicken Sie einmal auf die Zelle, die Sie löschen möchten.
- Wählen Sie im Feld Übersetzung den Text aus und drücken Sie die Entf-Taste.
Schlüssel hinzufügen und löschen
Im Übersetzungseditor werden in der Spalte Schlüssel die eindeutigen Kennungen für jedes Datenelement in Ihren strings.xml-Dateien aufgeführt. Sie können Schlüssel über den Übersetzungseditor hinzufügen und löschen. Wenn Sie einen Schlüssel löschen, werden er und alle zugehörigen Übersetzungen im Übersetzungseditor gelöscht. Der Übersetzungseditor verwendet das Refactoring „Sicheres Löschen“, um einen Schlüssel zu löschen. So wissen Sie, ob der Schlüsseltext an anderer Stelle verwendet wird, und können die erforderlichen Anpassungen vornehmen, bevor Sie den Schlüssel löschen. Durch das Refactoring mit „Sicheres Löschen“ wird sichergestellt, dass Ihr Code nach dem Löschen des Schlüssels weiterhin kompiliert wird.
So fügen Sie einen Schlüssel hinzu:
- Klicken Sie im Übersetzungseditor auf Schlüssel hinzufügen
. Geben Sie im Dialogfeld einen Schlüsselnamen, einen Standardwert und den Speicherort der Standarddatei strings.xml ein.
Abbildung 3: Schlüssel hinzufügen
So löschen Sie einen Schlüssel:
- Wählen Sie im Übersetzungseditor den Schlüssel aus, den Sie löschen möchten.
- Klicken Sie auf Schlüssel entfernen
. Entscheiden Sie im Dialogfeld Löschen, ob Sie ein sicheres Löschen wünschen und ob Sie in Kommentaren und Strings suchen möchten, und klicken Sie auf OK.
Abbildung 4: Dialogfeld „Löschen“ Wenn es keine Verweise (Verwendungen) auf den gelöschten Schlüssel gibt oder wenn alle Verweise sicher minimiert werden können, wird der Schlüssel gelöscht. Andernfalls wird im Übersetzungseditor das Dialogfeld Verwendungen erkannt mit Informationen zu den erkannten Problemen angezeigt.
Abbildung 5. Dialogfeld „Verwendungen erkannt“ Wählen Sie Verwendungen ansehen aus, um zu sehen, was gelöscht wird. Im Dialogfeld Sichere Löschkonflikte finden werden alle Verwendungen angezeigt, die nicht sicher gelöscht werden können. Sie können dann den entsprechenden Code bearbeiten.
Abbildung 6: Unsichere Verwendungen Klicken Sie mit der rechten Maustaste auf eine Verwendung, um das Kontextmenü aufzurufen, und wählen Sie Zur Quelle springen aus, um die erforderlichen Änderungen vorzunehmen.
Wählen Sie im Bereich Konflikte beim sicheren Löschen finden die Option Sicheres Löschen noch einmal ausführen aus, um sicherzustellen, dass keine anderen Verwendungen vorhanden sind, die Aufmerksamkeit erfordern.
Wenn die Verwendungen bereinigt sind, klicken Sie auf Refaktorieren, um den Schlüssel zu löschen.
Fehler korrigieren
In Abbildung 7 sehen Sie den Übersetzungseditor mit den Inhalten der englischen, französischen und spanischen strings.xml-Dateien. Der rote Text weist auf Zeilen mit Fehlern hin.
Wenn Sie einen Fehler korrigieren möchten, bewegen Sie den Mauszeiger auf den roten Text, um eine Erklärung des Problems und seiner Lösung aufzurufen.
Wenn Sie Änderungen im Übersetzungseditor vornehmen, werden die zugrunde liegenden strings.xml-Dateien mit Ihren Änderungen aktualisiert. Wenn Sie Änderungen in einer strings.xml-Datei vornehmen, wird die entsprechende Spalte im Übersetzungseditor mit Ihren Änderungen aktualisiert.
Beispiele für Korrekturen im Übersetzungseditor:
- In Abbildung 7 ist zu sehen, dass für die Zeile app_name die Option Nicht übersetzbar aktiviert ist, aber eine spanische Übersetzung angegeben wurde. Löschen Sie die spanische Übersetzung, um den Fehler zu beheben.
- In Abbildung 7 ist zu sehen, dass in der Zeile next_page die französische Übersetzung fehlt. Kopieren Sie Page Suivante mit der Tastatur in die Zelle, um den Fehler zu korrigieren. Beim Kopieren und Einfügen über die Tastatur wird der Text mit allen diakritischen Zeichen in die Zelle kopiert.
Lokalisierbaren Text verwalten und testen
Die Android-Plattform und Android Studio bieten verschiedene Funktionen, mit denen Sie den lokalisierbaren App-Text verwalten und testen können. Diese Funktionen bieten Optionen, mit denen Sie Probleme mit linksläufigen Sprachen (RTL-Sprachen) wie Arabisch oder Hebräisch beheben können. Wenn Sie den lokalisierbaren Text testen, können Sie Anpassungen am UI-Text und am Layout vornehmen, bevor Sie die Nachrichten an das Quell-Repository senden, um sie später übersetzen zu lassen.
Unterstützung von Sprachen mit Schreibrichtung von rechts nach links
Jetpack Compose unterstützt linksläufige Layouts (RTL) nativ. Layoutmodifikatoren und APIs basieren auf Richtungskonzepten wie start und end und nicht auf absoluten Richtungen wie left und right. Wenn die Systemsprache in ein RTL-Gebietsschema geändert wird, spiegelt Compose diese Layouts automatisch für Sie.
Damit Ihre App die RTL-Sprache erkennt und diese Spiegelung auslöst, müssen Sie die Manifestdatei Ihrer App aktivieren.
So aktivieren Sie die Unterstützung von RTL-Sprachen:
- Öffnen Sie Ihre
AndroidManifest.xml-Datei. - Fügen Sie dem
<application>-Element das Attributandroid:supportsRtl="true"hinzu:
<manifest ... >
<application
...
android:supportsRtl="true">
</application>
</manifest>
Weitere Informationen dazu, wie Compose Textlayout, Spiegelung und benutzerdefinierte RTL-Konfigurationen verarbeitet, finden Sie unter Mit RTL-Sprachen arbeiten.
Textrichtung manuell festlegen
In Jetpack Compose verwenden Sie kein visuelles Eigenschaftenfenster, um Layout- oder Textrichtungen zu erzwingen. Compose übernimmt die RTL-Spiegelung automatisch basierend auf dem Systemgebietsschema.
Wenn Sie die Richtung für ein bestimmtes Textelement manuell überschreiben müssen (z. B. um einen LTR-String in einem RTL-Layout anzuzeigen), können Sie ein TextDirection-Objekt an TextStyle übergeben.
Unterstützte Werte sind:
TextDirection.Content: (Default): Die Richtung wird vom ersten Zeichen mit starker Richtung abgeleitet.TextDirection.Ltr: Erzwingt die Richtung von links nach rechts.TextDirection.Rtl: Erzwingt die Richtung von rechts nach links.
Weitere Informationen zum Formatieren von Text und zum Konfigurieren manueller Textrichtungen in Compose finden Sie unter Text formatieren.
Lokalisierte Strings in Ihrer App verwenden
Nachdem Sie Ihre Strings mit dem Übersetzungseditor hinzugefügt und übersetzt haben, werden die zugrunde liegenden res/values/strings.xml-Dateien automatisch aktualisiert und Sie können die lokalisierten Ressourcen direkt in Ihrer Benutzeroberfläche verwenden.
Informationen zum Anzeigen von lokalisiertem Text, zum nativen Umgang mit RTL und zum Verwenden von @Preview zum Testen verschiedener Sprachen und Pseudolocales findest du im Abschnitt „Strings“ unter „Ressourcen in Compose“.
Pseudolocales
Eine Pseudolocale ist eine simulierte Sprache, die die Merkmale von Sprachen annimmt, die bei der Übersetzung einer App Probleme mit der Benutzeroberfläche, dem Layout, der Leserichtung und anderen Übersetzungen verursachen. Pseudolocales bieten sofortige und automatische Übersetzungen, die für alle lokalisierbaren Nachrichten auf Englisch lesbar sind. So können Sie nicht übersetzbare Nachrichten in Ihrem Quellcode erkennen.
Informationen zur Verwendung von Pseudolocales finden Sie unter App mit Pseudolocales testen.