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.

questionAnswers(3)

yourAnswerToTheQuestion