美文网首页iOS进阶iOS开发iOS技术专题
你知道iOS支持多语言开发吗

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

作者: kray_Chan | 来源:发表于2016-04-20 17:34 被阅读700次

多语言支持

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

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

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

  • 让strings文件支持本地化

  • 给项目添加新的语言

具体步骤:

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

Snip20160420_3.png

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

来到刚刚初始化的strings文件
![Uploading Snip20160420_9_331817.png . . .]](http:https://img.haomeiwen.com/i1306620/5c44f703def97109.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

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


Snip20160420_8.png

让应用支持其他语言


Snip20160420_5.png

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

Snip20160420_22.png ](http:https://img.haomeiwen.com/i1306620/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,不用加后缀.

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

相关文章

网友评论

  • 叶舞清风:吓我一跳,原来是我的理解错误
    苹果平台不是只有两种语言吗?
    酋长身高一米八:@kray_Chan 楼上说的是oc和swift。。
    误导向的标题 :unamused:
    叶舞清风:@kray_Chan 嘿嘿
    kray_Chan:@叶舞清风 如果你的 app走国际化,那当然是要多种语言啦。:smile:

本文标题:你知道iOS支持多语言开发吗

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