在飞行中将语言从英语改为阿拉伯语

时间:2014-05-06 15:45:23

标签: ios internationalization arabic

我正在尝试将我的应用程序的语言从英语转换为阿拉伯语,反之亦然。

在故事板中,我有几个水平约束,其中包含领先属性中的修复值,必须解决为英语语言的左侧,但对于阿拉伯语言则是正确的·

要动态更改语言我正在使用以下代码更新User Defaults属性中“AppleLanguages”的值:

NSString* newCode = "ar";
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:[NSArray arrayWithObjects:newCode, nil] forKey:@"AppleLanguages"];
[userDefaults synchronize];

在此之后,我的文本以阿拉伯语显示,但我的应用程序继续解决“领先”左侧(而不是右侧),首选本地化仍然是“en”而不是“ar”。

NSString * currentLocalization = [NSBundle mainBundle].preferredLocalizations[0]; 

但是当我停止/启动应用程序时,值是正确的(阿拉伯语中的app,右侧的“leading”和[NSBundle mainBundle] .preferredLocalizations [0] == @“ar”)。

如何在不重新启动应用的情况下进行这些更改? 提前谢谢。

0 个答案:

没有答案