2013-12-02 2 views
0

Я хочу обратиться: Change iOS app's language on the fly во-первых, в котором можно изменить язык, я использовал его, он работает, но для этого требуется два повторного запуска приложения для внесения изменений в приложение , Я хочу сделать что-то, в котором, как раз на кнопку мыши мой язык должен изменитьЗаставляет NSLocalizedString изменить язык - не работает

[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"de", nil] 
              forKey:@"AppleLanguages"]; 

ответ

0

Используйте это ->[[NSUserDefaults standardUserDefaults] synchronize];

Edited Сообщение

Поместите этот макрос в Prefix.pch:

#define currentLanguageBundle [NSBundle bundleWithPath:[[NSBundle mainBundle] pathForResource:[[NSLocale preferredLanguages] objectAtIndex:0] ofType:@"lproj"]] 

и где вам понадобится локализованная строка:

NSLocalizedStringFromTableInBundle(@"GalleryTitleKey", nil, currentLanguageBundle, @"") 

Для настройки использования этого, как вы уже используете: -

[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"de", nil] 
              forKey:@"AppleLanguages"]; 
+0

Я делаю это также. но хотя отражение наблюдается после двух запусков – Mrug

+0

@ Mrug- Отредактировано сообщение – Vizllx

Смежные вопросы