Могу ли я создать приложение для iPhone, которое использует язык, отличный от настроек пользователя? - PullRequest
0 голосов
/ 27 июня 2011

Я разрабатываю приложение для iPhone и хочу указать для него местоположение, отличное от местоположения пользователя.Я хочу, чтобы все файлы для интернационализации были предложены Apple, но я хочу иметь возможность выбирать язык.

Пример: пользователь использует немецкий, но я хочу, чтобы мое приложение было на английском!

Я хочу, чтобы пользователь устанавливал язык только для приложения, независимо от того, какой язык выбран в телефоне, как мне это сделать?

Ответы [ 2 ]

1 голос
/ 28 июня 2011

Язык загружается из NSUserDefaults. В соответствии с this , вы можете переопределить его, например, [[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObject:@"en"] forKey:@"AppleLanguage"] и перезапустить приложение.

Теперь проблема в том, что вам нужно перезапустить приложение! Один ужасный способ может быть примерно таким (непроверенным):

UIApplication * app = [UIApplication sharedApplication];
[app openURL:...];
[[NSNotificationCenter defaultCenter] postNotificationName:UIApplicationWillTerminateNotification object:nil userInfo:nil];
[app.delegate applicationWillTerminate:app];
exit(0);

, где ... - это URL-адрес HTTP, который перенаправляет на пользовательскую схему URL, которую обрабатывает ваше приложение (ewwww).

Я не знаю простого способа перезагрузить интерфейс / языки без перезапуска приложения.

1 голос
/ 27 июня 2011

Не использует рамочные классы для интернационализации. Вам нужно будет создать собственный трубопровод для смены надписей, кнопок и т. Д. Во всем приложении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...