美文网首页
iOS-配置App多语言支持(跟随设备的系统语言变化)

iOS-配置App多语言支持(跟随设备的系统语言变化)

作者: 90de46ea2b08 | 来源:发表于2017-06-01 10:09 被阅读310次

“国际化”顾名思义,就是要让各国的人使用你的App应用时,显示用户本国的母语。但是国际化也分为两种情况:

  • 跟随设备的系统语言变化
  • 应用程序内部国际化自由切换,不跟随设备的系统语言变化

不多废话!本编文章介绍 :跟随设备的系统语言变化

**Xcode 8.1下生成“国际化”语言包。
**

**1.创建国际化语言文件:文件名必须为:Localizable.strings
**

iOS-生成国际化包-配置App多语言支持.png

**2.选中Localizable.strings文件,在Xcode右侧Utilites中,点击Localizable选项
**

iOS-生成国际化包-配置App多语言支持.png

**3.创建English语言包。
**
创建后,你的Localizable.strings文件下将挂在英文的语言支持文件。

iOS-生成国际化包-配置App多语言支持.png

**4.根据需要添加其他多国语言支持。
**
点击“+”添加其他多语言支持

iOS-生成国际化包-配置App多语言支持.png

直接点击Finish。

iOS-生成国际化包-配置App多语言支持.png

可能会有弹框提示,一路点击确定就好了,最后的效果图是这样的

iOS-生成国际化包-配置App多语言支持.png

**5.文件创建完,开始编码添加语言支持。
**

iOS-生成国际化包-配置App多语言支持.png

按照图中1,2,3的步骤操作完,Xcode左侧的工程中就会多出一个选项

iOS-生成国际化包-配置App多语言支持.png

以我的文件为例:
在Localizable.strings(Chinese(Simplified))中,加入如下代码:
"play"="播放";

iOS-生成国际化包-配置App多语言支持.png

在Localizable.strings(English)中,加入如下代码:
"play"="play";

iOS-生成国际化包-配置App多语言支持.png

其他语言支持,重复步骤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多语言支持(应用程序内部国际化,不跟随系统语言)进行查看哈

相关文章

网友评论

      本文标题:iOS-配置App多语言支持(跟随设备的系统语言变化)

      本文链接:https://www.haomeiwen.com/subject/ueusfxtx.html