【发布时间】:2016-05-27 07:27:34
【问题描述】:
我正在开发一个支持多种语言的应用。一切进行得都很顺利。但我需要在运行时更改语言。
我就是这样做的——
NSArray* languages = [NSArray arrayWithObjects:@"es",@"en" nil];
[[NSUserDefaults standardUserDefaults] setObject:languages forKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults] synchronize];
它运行良好。
NSString *langID = [[NSLocale preferredLanguages] objectAtIndex:0];
这个langID 显示的是正确的语言。但该应用在重新启动之前不会更改其语言。
有没有办法刷新 localizable.strings 文件或 NSLocalizedString(key, comment)?或者有什么其他方法可以在不重新启动的情况下做到这一点?
【问题讨论】:
-
github.com/maximbilan/ios_language_manager 你可以用这个解决方案做到这一点。
标签: objective-c localization ios9 localizable.strings