Ich habe angefangen, einem Projekt von mir weitere Sprachen hinzuzufügen und habe Strings & amp; Grafiken lokalisiert ohne viel Ärger.
Ich habe ein letztes Problem und es ist mit einer Plist-Datei.
Diese Plist-Datei enthält standardmäßige Kategorienamen für die App und ist mit englischen Strings in einem Wörterbuch gefüllt.
Meine Frage ist: Gibt es eine Möglichkeit, eine PLIST-Datei zu lokalisieren? Ich habe zwar versucht, lokalisierte Strings hinzuzufügen, konnte aber nicht herausfinden, wie.
Ich möchte nicht im Code entscheiden müssen, welche plist-Datei zu nehmen ist, da die Standard-plist-Datei vom Benutzer beim ersten Gebrauch überschrieben wird.
Einfachere Lösung wäre hier die Lokalisierung des gesamten PLIST. Auf diese Weise erhalten Sie für jede unterstützte Sprache eine andere Plist-Datei.
Wählen Sie die plist-Datei in Ihrem Projekt aus, und wählen Sie Lokalisieren im Menü Dateiinspektor .
Es wird ein neuer Ordner erstellt, der eine Plist-Datei für jede unterstützte Sprache enthält.
Von:
dummy.plist
An:
%Vor% Eine andere Lösung wäre, lokalisierte Strings im plist zu verwenden und einfach NSLocalizedString
vor dem Ausdruck der extrahierten Zeichenkette aufzurufen.
Stellen Sie sich vor, Sie hätten ein Plist wie folgt:
Sie können die Strings einfach lokalisieren, indem Sie die Schlüssel zu Ihrer Localizable.strings
-Datei hinzufügen. Zum Beispiel auf Spanisch:
Oder, meine Empfehlung, verschiebe auch deine Zeichenketten aus dem Plist in eine String-Datei und ersetze die Plist-Strings durch einen lokalisierbaren Schlüssel:
Und Ihr Localizable.strings
für Engligh:
und Spanisch:
%Vor%Ich habe herausgefunden, dass das Neueste leichter zu verwalten und leichter für neue Sprachen zu lokalisieren ist, da sich alle erforderlichen Zeichenfolgen in derselben Datei befinden.
Und schließlich ändern Sie Ihren Code, um NSLocalizableString
anstelle der einfachen Zeichenfolge zu verwenden, die aus der Plist-Datei gelesen wird. Stellen Sie sich zum Beispiel vor, Sie hätten den Code:
Ändern Sie einfach zu:
%Vor%Wenn dies der Fall ist, könntest du die plist-Datei komplett loswerden:
%Vor%Tags und Links objective-c xcode localization plist