Mehrsprachige Anwendungen
Lokalisierte Ressourcen
-
Ressourcen-Dateien einer Anwendung lassen sich in mehreren Sprachen ablegen:
Get Info > General > Make File LocalizableGet Info > General > Add Localizationfür jede Übersetzung
-
Texte werden in
.strings-Dateien abgelegt:Localizable.stringsfür TextbausteineInfoPlist.stringsfür einige Konfigurationselemente
Localizable.strings
-
Localizable.stringsenthält Anwendungstexte. -
Zugriff im Code erfolgt über:
NSString *text = NSLocalizedString(@"some_key", @"comment for translators"); // identisch zu NSString *text = [[NSBundle mainBundle] localizedStringForKey:@"some_key" value:@"" table:nil];
InfoPlist.strings
- Schlüsselnamen entsprechend
Info.plist(inInfo.plisteinsehbar via Rechtsklick mitShow Raw Keys/Values) - Typischerweise übersetzt: Anwendungsname (
CFBundleName,CFBundleDisplayName) - Das Anwendungsicon ist nicht lokalisierbar.
CFBundleDevelopmentRegion
-
Die
Info.plist-EigenschaftCFBundleDevelopmentRegionbestimmt bei Projekten ohne Übersetzungen die native Sprache zur Darstellung der Systemtexte:
Texte im Interface Builder
-
XIBs werden als Ressource übersetzt, d.h. für jede Sprache separat abgelegt.
-
ibtoolerlaubt das Extrahieren und Einpflegen von.strings-Dateien für XIBs. -
Strings aus XIB extrahieren:
ibtool some.xib --generate-strings-file some.strings some.xib
-
Strings in XIB einpflegen:
ibtool --strings-file some.strings some.xib some_new.xib
-
Inkrementelle Übersetzung bei Aktualisierung des “Master”-XIBs wird ebenfalls durch
ibtoolunterstützt.
Sonstiges
- Default-Images, 512 x 512 Pixel Icon sowie Texte für App Store sind in iTunes Connect lokalisierbar.
- Apple stellt Tools für den Übersetzungsworkflow zur Verfügung. (Localization tools: http://developer.apple.com/internationalization/localization/tools.html)
Einstellungen > Allgemein > Landeseinstellungen > Sprache

