Überschreiben Sie eine Basisdatei „localizable.strings“.
-
26-12-2019 - |
Frage
Gibt es eine Möglichkeit, eine einzige localizable.strings-Basisdatei für mehrere Ziele innerhalb eines Projekts sowie eine zweite localizable.string-Datei für jedes Ziel zu haben, die einzelne Werte überschreibt und an die Basisdatei anhängt?
BEARBEITEN
Ich möchte, dass meine App zwei .strings-Dateien hat – Localizable.string und Override.strings.Wenn eine Zeichenfolge, Title.Welcome, nicht in OverrideLocalizable.strings gefunden wird, möchte ich, dass die App Localizable.strings nach Title.Welcome durchsucht.Im Wesentlichen wird Localizable als Fallback angegeben, aber standardmäßig OverrideLocalizable.strings verwendet.
Lösung
Hier ist die Lösung, die ich gefunden habe:
NSString *PSILocalizedString(NSString *key, NSString *comment)
{
return NSLocalizedStringWithDefaultValue(key,
@"OverrideLocalizable",
[NSBundle mainBundle],
NSLocalizedString(key, nil),
comment);
}
Dadurch wird eine Datei mit dem Namen durchsucht OverrideLocalizable.strings
für die key
.Wenn der Wert für key
ist nicht in zu finden OverrideLocalizable.strings
, es wird gesucht localizable.strings
für key
. NSLocalizedString(key, nil)
Standardmäßig wird gesucht localizable.strings
Ziemlich einfache und elegante Lösung
Andere Tipps
Für schnelle 4 Benutzer, die auf diese Ausgabe stoßen ...
generasacodicetagpre.