码迷,mamicode.com
首页 > 移动开发 > 详细

iOS多语言设置

时间:2018-07-18 17:05:46      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:err   idt   文件的   MTA   width   oftype   mtab   界面   添加   

最近公司做的项目需要向国外推广,因此app需要添加相应的语言设置,为此整理记录下多语言设置的过程。如有不对的地方,欢迎各位大神指正。下面就详细介绍下设置的过程:

1、基本设置

第一步:首先在 项目工程-PTROJECT-Info中添加需要支持的语言

技术分享图片

 

如上点击“+”号会弹出提供的语言列表,我们选择项目需要支持的语言就可以了

技术分享图片

第二步:创建Localizable.strings(??:该文件名不要随意更改)作为多语言资源对应的词典,存储多语言

技术分享图片

 

创建好后,接下来需要继续做如下操作:

(1)选中Localizable.strings文件,点击右侧栏对应的Localize...

技术分享图片

 

(2)在Localization里添加所要支持的语言,并勾选

第三步,经过以上几步,前期的基本设置完成了,可以在Localizable.strings里设置所需要的语言了。如下所示

技术分享图片

第四步,设置好对应的语言后,就可以去使用了。那么可以按以下方式去使用

NSString * tempStr = NSLocalizedString(@"test_label", nil); 

??:

以上是对应的创建以Localizable为名字的文件调用方式。如果设置的是自定义的名字,如test.strings,调用的方式为:

NSLocalizedStringFromTable("name", "test", nil);

2、StoryBoard和Xib设置

storyBoard和xib设置同Localizable.strings类似。点那个我们创建Localizable.strings对应的语言文件时,系统自动的生成了app中现有storyBoard对应的系统文件。对于后加的文件,我们可以选中文件,点击右侧的Localize...并勾选对应的语言即可。

比如在storyBoard和xib中有一个Label,它对以会有一个Object ID了。我们可以通过这个ID来设置对应的语言文本

技术分享图片   技术分享图片

不过这个建议是所有的UI界面都设置完成后,再去设置多语言。当然可以通过对控件拖线,在代码实现中设置多语言

3、应用名等相关权限多语言设置

应用名等设置与上面的几个多语言设置的步骤是基本一致的,只是在创建strings文件的时候文件名要为InfoPlist。

这里以中文为例,设置app名称:"CFBundleDisplayName" = "测试";

技术分享图片

4、判断系统的语言

NSArray *languages = [NSLocale preferredLanguages];

NSString *currentLanguage = [languages objectAtIndex:0];

NSLog(@"%@", currentLanguage);

??:通过[NSBundle bundleWithPath:[[NSBundle mainBundle] pathForResource:language ofType:@"lproj"]]设置app语言后,一定要记得重新设置window的rootViewController

好了,以上就是iOS多语言的相关内容

iOS多语言设置

标签:err   idt   文件的   MTA   width   oftype   mtab   界面   添加   

原文地址:https://www.cnblogs.com/wanli-leon/p/9328378.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!