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

多语言支持

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

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

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

  • 让strings文件支持本地化

  • 给项目添加新的语言

具体步骤:

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

你知道iOS支持多语言开发吗_第1张图片
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,为了让系统知道,这个文件将来要做本地化处理


你知道iOS支持多语言开发吗_第2张图片
Snip20160420_8.png

让应用支持其他语言


你知道iOS支持多语言开发吗_第3张图片
Snip20160420_5.png

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

你知道iOS支持多语言开发吗_第4张图片
Snip20160420_22.png
]( http://upload-images.jianshu.io/upload_images/1306620-294c042bddeb96ea.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

这时候就会出现


你知道iOS支持多语言开发吗_第5张图片
Snip20160420_12.png

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


你知道iOS支持多语言开发吗_第6张图片
Snip20160420_13.png

此时在右边勾选English的话


你知道iOS支持多语言开发吗_第7张图片
Snip20160420_16.png

左边就会出现相应的文件


你知道iOS支持多语言开发吗_第8张图片
Snip20160420_14.png

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

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

格式:key = value;

比如说:


你知道iOS支持多语言开发吗_第9张图片
Snip20160420_21.png
你知道iOS支持多语言开发吗_第10张图片
Snip20160420_22.png
你知道iOS支持多语言开发吗_第11张图片
Snip20160420_23.png

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

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

你可能感兴趣的:(你知道iOS支持多语言开发吗)