iOS-配置App多语言支持(跟随设备的系统语言变化)
“国际化”顾名思义,就是要让各国的人使用你的App应用时,显示用户本国的母语。但是国际化也分为两种情况:
- 跟随设备的系统语言变化
- 应用程序内部国际化自由切换,不跟随设备的系统语言变化
不多废话!本编文章介绍 :跟随设备的系统语言变化
**Xcode 8.1下生成“国际化”语言包。
**
**1.创建国际化语言文件:文件名必须为:Localizable.strings
**
**2.选中Localizable.strings文件,在Xcode右侧Utilites中,点击Localizable选项
**
**3.创建English语言包。
**
创建后,你的Localizable.strings文件下将挂在英文的语言支持文件。
**4.根据需要添加其他多国语言支持。
**
点击“+”添加其他多语言支持
直接点击Finish。
iOS-生成国际化包-配置App多语言支持.png可能会有弹框提示,一路点击确定就好了,最后的效果图是这样的
iOS-生成国际化包-配置App多语言支持.png**5.文件创建完,开始编码添加语言支持。
**
按照图中1,2,3的步骤操作完,Xcode左侧的工程中就会多出一个选项
iOS-生成国际化包-配置App多语言支持.png以我的文件为例:
在Localizable.strings(Chinese(Simplified))中,加入如下代码:
"play"="播放";
在Localizable.strings(English)中,加入如下代码:
"play"="play";
其他语言支持,重复步骤1~5……
**6.使用语言支持
**
NSString *strPlay = NSLocalizedString(@"play",@"");
[self.btnPlay setTitle:strPlay forState:UIControlStateNormal];
**7.获得当前设备的语言
**
// 取得用户默认信息
NSUserDefaults *defaults = [ NSUserDefaults standardUserDefaults ];
// 取得 iPhone 支持的所有语言设置
NSArray *languages = [defaults objectForKey : @"AppleLanguages" ];
NSLog (@"%@", languages);
// 获得当前iPhone使用的语言
NSString* currentLanguage = [languages objectAtIndex:0];
NSLog(@"当前使用的语言:%@",currentLanguage);
最后,文章的第二部分可以点击iOS-配置App多语言支持(应用程序内部国际化,不跟随系统语言)进行查看哈