如何在iOS中更改应用程序语言阿拉伯语或英语?
我有一个选项,如阿拉伯语和英语在homepage.if用户选择一个阿比奇,那么整个应用程序将显示阿比奇language.i已听到关于nslocalizedstring我也找到了解决方案在here。 我不清楚如何显示一个enitre app.i可能有十个视图控制器那么我将如何从家里改变视图控制器。如何为此创建全局文件。如何在iOS中更改应用程序语言阿拉伯语或英语?
在此先感谢。
NSLocalizedString通过遵循OS语言设置工作。所以你为每种语言创建一个字符串文件,而不是硬编码你的字符串。然后,应用程序将根据用户设备设置自动显示正确的语言。我不认为(尽管我可能是错的),这种方法适用于一个按钮。您可以在按钮按下时手动加载字符串文件。另一种解决方案是充满if语句的应用程序来加载正确的语言。
感谢您的建议! !我已经完成了这个,不需要检查条件。 – karthikeyan 2014-10-13 09:27:24
如果这解决了您的问题,请将其标记为帮助他人的正确答案。 – 2014-10-21 08:44:37
试试这个tutorial它贯穿您需要创建的整个配置和文件。你不需要在ViewController中更改10个ViewController语言,只需要将用户选择的语言设置为NSUserDefault值,稍后在ViewController中检查它是否需要根据语言执行特定的操作。
这以后设置语言为阿拉伯语
NSUserDefaults*userDefaults=[NSUserDefaults standardUserDefaults];
[userDefaults setObject:[NSArray arrayWithObjects:@"ar", @"en", nil];
这对于英语
[userDefaults setObject:[NSArray arrayWithObjects:@"en", @"ar", nil];
然后在你的ViewControllers你可以检查使用此
- (NSString*) getLanguage{
NSArray* languages = [[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"];
NSString *preferredLang = [languages objectAtIndex:0];
return preferredLang;
}
,故事情节和NSLocalizedString知道它应该从其预期的字符串文件自动加载哪种语言使用您为AppleLanguages键值的位置。
感谢您的建议!!!我已经做到了这一点。 – karthikeyan 2014-10-13 09:27:55
那么这是否解决了您的问题,或者您仍然有问题? – 2014-10-17 15:14:47
http://stackoverflow.com/questions/34130853/how-to-force-an-app-to-change-language-in-ios-objective-c/34131794#34131794 – user3182143 2015-12-09 08:36:47