Jak zmienić język aplikacji iPhone'a w czasie wykonywania?
Czy istnieje sposób na zmianę języka aplikacji w czasie wykonywania?
Więc po zmianieNSLocalizedString
natychmiast zwraca ciąg dla nowego języka.
Teraz zmieniam język, używając poniższego kodu:
- (void)onChangeLanguage: (id)sender
{
NSArray *lang = [NSArray arrayWithObjects:((InfoWhatever *)sender).language, nil];
[[NSUserDefaults standardUserDefaults] setObject:lang forKey:@"AppleLanguages"];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSArray *languages = [defaults objectForKey:@"AppleLanguages"];
NSString *currentLanguage = [languages objectAtIndex:0];
NSLog(@"Current language: %@", currentLanguage);
}
Język się zmieni, aletylko po ponownym uruchomieniu Aplikacja.