你知道iOS支持多语言开发吗

多语言支持

也称: i18n(国际化) 和 localization(本地化)

  • 字符串文字的本地化主要步骤

  • 新建strings文件(一个strings文件对应一种语言)

  • 让strings文件支持本地化

  • 给项目添加新的语言

具体步骤:

第一步:需要创建一个字符串文件,用来存放每个国家对应的文字

Snip20160420_3.png

第二步:需要让项目支持多种语言,首先要对文件进行本地化处理,把需要本地化的语言添加进去.

来到刚刚初始化的strings文件
![Uploading Snip20160420_9_331817.png . . .]](http://upload-images.jianshu.io/upload_images/1306620-5c44f703def97109.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

然后选择localize,为了让系统知道,这个文件将来要做本地化处理


Snip20160420_8.png

让应用支持其他语言


Snip20160420_5.png

然后,就会出现下面这个,把两个storyboard的勾弄掉,再Finish

Snip20160420_22.png
](http://upload-images.jianshu.io/upload_images/1306620-294c042bddeb96ea.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

这时候就会出现


Snip20160420_12.png

而文件名那里也可以展开了


Snip20160420_13.png

此时在右边勾选English的话


Snip20160420_16.png

左边就会出现相应的文件


Snip20160420_14.png

此时会根据用户手机的语言环境而去加载这里面相对应的文件(如果用户手机的语言环境不是上面文件的其中一种的话,就会加载Base文件夹)

第三步:往strings文件里面添加具体内容

格式:key = value;

比如说:


Snip20160420_21.png
Snip20160420_22.png
Snip20160420_23.png

第四步:把需要转换的文字,用[[NSBundle mainBundle]localizedStringForKey:key value:value table:table]这个方法转化.拿刚刚第三步传进去的cancel来说,这里的key,就是指处理的参数"cancel",value是指如果key等于nil,或者在文件中找不到相对应的key时会把value的值返回.table是文件名,在这里可以写Word,不用加后缀.

这样就可以实现你的文件进行多国语言转换.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容