Die Internationalisierung und Lokalisierung von Android-Apps ermöglicht es, eine breitere Benutzerbasis zu erreichen und eine verbesserte Benutzererfahrung für Menschen in verschiedenen Ländern oder mit unterschiedlichen Muttersprachen zu bieten.
Alle Texte und lokalisierten Ressourcen (Bilder, Sounds) sollten außerhalb des Codes in Ressourcendateien gespeichert werden.
Texte werden in strings.xml
-Dateien unter
res/values
gespeichert. Für jede Sprache können alternative
strings.xml
-Dateien in sprachspezifischen Ressourcenordnern
erstellt werden, z.B. res/values-fr
für Französisch.
Erstellen Sie für jede unterstützte Sprache einen spezifischen
Ressourcenordner (values-[Sprachcode]
) mit einer
angepassten strings.xml
.
Im Code werden Texte über ihre Namen mittels
R.string.text_name
referenziert. Android wählt basierend
auf der Gerätesprache automatisch den passenden Text aus.
Für Sprachen, die von rechts nach links geschrieben werden (z.B. Arabisch, Hebräisch), unterstützt Android automatische Layoutumkehrungen.
Verwenden Sie Klassen wie NumberFormat
und
DateFormat
, um Zahlen, Daten und Währungen korrekt zu
formatieren und kulturellen Unterschieden gerecht zu werden.
resources>
<string name="welcome_message">Willkommen bei unserer App!</string>
<resources> </
val welcomeMessage = getString(R.string.welcome_message)
val textView: TextView = findViewById(R.id.my_text_view)
.text = welcomeMessage textView
Für den Zugriff auf Ressourcen ist der Kontext erforderlich. In einer
Aktivität kann this
oder applicationContext
verwendet werden, in einem Fragment activity
oder
requireContext()
. In anderen Komponenten, wie Services oder
BroadcastReceivers, nutzen Sie den bereitgestellten Kontext.
Die Unterstützung mehrerer Sprachen erfordert sorgfältige Planung und Implementierung, insbesondere bei der Übersetzung und Anpassung an kulturelle Unterschiede. Es ist ein entscheidender Schritt, um Ihre App weltweit zugänglich und nützlich zu machen.