Wie bekomme ich lokalisierte Storyboard-Strings, nachdem ich zur Laufzeit in IOS auf Sprache umgeschaltet habe?
Ich habe folgenden Code, um die Laufzeit der Sprache zu ändern:
-(void) switchToLanguage:(NSString *)lang{
self.language = lang;
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:self.language, nil]
forKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
Und ich habe eine Hilfefunktion, die lokalisierte Zeichenfolgen abruft:
+(NSString *) getLocalizedString:(NSString *)key{
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
NSString *path = [[NSBundle mainBundle] pathForResource:@"Localizable"
ofType:@"strings"
inDirectory:nil
forLocalization:appDelegate.language];
NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:path];
return [dict objectForKey:key];
}
Das funktioniert. Meine Storyboards sind ebenfalls lokalisiert, ändern sich jedoch nicht, wenn ich in eine andere Sprache wechsle.
Wie kann ich lokalisierte Werte für die Storyboard-Zeichenfolgen abrufen?