1分钟教你实现iOS国际化

1分钟教你实现iOS国际化

144 
作者  ruiying 
2016.11.30 19:07  字数 1026  阅读 318 评论 2

官方文档:
https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPInternational/Introduction/Introduction.html)

国际化的介绍

说到国际化,大家必定联想到本地化,个人的理解,两者是相辅相成的,本地化是你的APP转化为多种语言的过程,而在本地化之前你的APP必须支持国际化。那么国际化便是使你的APP具有适应不同地域的能力。那么为什么要设置国际化呢?顾名思义根据不同的地域选择不同的语言,使得不同语言不同国家的用户看懂我们的APP所想要传递的信息。

下面进入正题,完成国际化的设置

设置产品所需要的国际化的语言

仅需配置一次,若后来想要加另一种直接点击加号即可

※ project--->info---> Localizations,点击“+”号,添加产品所需的语言


屏幕快照 2016-11-30 下午5.29.44.png


※ 比如选择繁体中文,然后弹出这个框,直接点击finish即可


屏幕快照 2016-11-30 下午5.37.02.png


※ 同理,我添加了简体中文,繁体中文,法语,作为例子,最终呈现这种效果:


屏幕快照 2016-11-30 下午5.41.45.png

(一)应用名称的国际化

应用名称国际化就是指:在不同的语言设置下,显示相应的语言,比如系统中的设置,在简体中文下是“设置”,如果设置成英文语言,那么显示为“setting”。
※ 选中info.plist--->快捷键(control+N)--->弹出框中选择String File--->点击next--->Save As名称写成InfoPlist(注:名字一定不能错,否则无效)--->create


屏幕快照 2016-11-30 下午5.48.45.png

屏幕快照 2016-11-30 下午5.53.30.png

※ 选中上一步创建好的InfoPlist.strings文件(在info.plist文件下面),点击Xcode右上角按钮 展示右栏,点击Localization按钮,如图:


屏幕快照 2016-11-30 下午5.57.22.png

※ 在上步的弹出框里 选择自己要本地化的语言,点击Localize.如图:


屏幕快照 2016-11-30 下午6.00.18.png

※ 同样选中InfoPlist.strings文件,展示右栏,选中自己所要本地化的语言,打上对勾


屏幕快照 2016-11-30 下午6.03.34.png

※ 这时你会发现InfoPlist.strings变成了一个目录,点开三角号,如图:


屏幕快照 2016-11-30 下午6.06.01.png

※ 我们以英文为例,点开English的strings,我们需要按照CFBundleDisplayName = “ ”这种方式写入这个语言所要展示字段,那么比如在英文语言里,名字为“hello,world” 如图:


屏幕快照 2016-11-30 下午6.49.29.png

※ 同理,在简体中文,繁体中文,法语中的设置


屏幕快照 2016-11-30 下午6.50.02.png

屏幕快照 2016-11-30 下午6.50.14.png

屏幕快照 2016-11-30 下午6.50.22.png

※ 到此,产品名称的国际化算是完成了,大家可以通过改变设备的语言,显示效果


Simulator Screen Shot 2016年11月30日 下午6.42.44.png

Simulator Screen Shot 2016年11月30日 下午6.43.25.png

Simulator Screen Shot 2016年11月30日 下午6.44.12.png

Simulator Screen Shot 2016年11月30日 下午6.45.08.png

产品内容 字符串的国际化

顾名思义,如果APP里有个按钮title为完后,那么在简体中文里应该是“完成”,在英文设置则是“finish”

※ 首先和APP名称准备是一样的(注添加语言不用),创建strings文件,不同的是名字必须是Localizable,如图:


屏幕快照 2016-11-30 下午6.21.41.png

※ 同样要选中新创建好的Localizable.string文件,点击Localize,选择要国际化的语言,然后打上对勾,结果如图:


屏幕快照 2016-11-30 下午6.25.01.png

※ 打开Localizable目录,设置不同语言的字段表示,在代码中运用,这里我以button的title为例,如图


屏幕快照 2016-11-30 下午6.30.02.png

屏幕快照 2016-11-30 下午6.30.29.png

屏幕快照 2016-11-30 下午6.30.51.png

屏幕快照 2016-11-30 下午6.31.22.png

※ 代码中表示:

[button setTitle:NSLocalizedString(@"buttonTitle", nil) forState:UIControlStateNormal];

※ 运行结果如下:


Simulator Screen Shot 2016年11月30日 下午6.42.29.png

Simulator Screen Shot 2016年11月30日 下午6.43.31.png

Simulator Screen Shot 2016年11月30日 下午6.44.16.png

Simulator Screen Shot 2016年11月30日 下午6.45.15.png

图片的国际化

有两种方式:
1.与国际化字符串的方法一样,通过NSLocalizedString来实现
2.与第一种方式不同,将图片加到工程里--->选中图片--->点击右侧的 Localize,选择语言。--->同样图片变成目录--->同样方式设置每个语言下的字段,此步骤与国际化字符串相同,同上。

喜欢这篇文章的请加关,有不同见解者请评论栏留言分享心得,谢谢亲的支持☺

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值