iphone - 如何在运行时更改iPhone应用程序语言?

标签 iphone internationalization performance

有没有办法在运行时更改应用程序语言?

因此,更改后 NSLocalizedString 立即返回新语言的字符串。

我现在正在做的是使用下面的代码更改语言:

- (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);
}

语言将会改变,但仅在重新启动应用程序后

最佳答案

NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults];
NSMutableArray* languages = [userDefaults objectForKey:@"AppleLanguages"];
[languages insertObject:@"de" atIndex:0]; // ISO639-1
[[NSUserDefaults standardUserDefaults] synchronize];

关于iphone - 如何在运行时更改iPhone应用程序语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1576904/

相关文章:

html - iphone 4 上的背景图像问题

iphone - 任何更改 UIScrollView 的 zoomToRect 持续时间的方法?

javascript - Angular2 Meteor Web 应用程序的国际化

java - 存储与处理时间

ios - 在线和离线管理 iPhone 应用程序

iOs - 无法识别的选择器发送到 TextAction 上的实例

django - 适用于 Appengine 或非 SQL 中 Django 模型国际化的任何应用程序?

dictionary - 免费提供中文、日文、中日韩字符字典数据

mysql - 优化 WordPress 插件 "Better WordPress Recent Comments"中的慢查询

.net - 我应该推出我自己的 ParseInt32 版本吗?