本地化面试

iOS国际化(二):Base Internationalizat

2016-10-26  本文已影响212人  金风细细

当用户在设置-通用-语言和地区中选了不同的语言时,Base Internationalization技术让你的app能适应这些变化.

一. 针对不同的语言,.storyboard和.xib文件可以有不同的界面

1-1 1-2 1-3

二.针对不同的语言,.storyboard和.xib文件一份基础界面,文字改变

这应该是我们大多数时候需要的:
在上面那一步的第二步中,选择第二个:Localizable Strings.
你会发现你的.storyboard文件长这个样子:

2-1

除了base,后面2个是strings文件.那么直接在里面指定每个控件的文本就好了.
然后点开.strings文件一看,你傻眼了,都是白板,这可不会写啊...
一定几率Xcode会在某个语言下,给你生成这种东西:那么你有福了,另一个语言的.string可以复制粘贴,翻译下就OK了:

2-2 2-3

但是如果你改了.storybord文件,新增了控件,这些.strings文件可不会自动跟着变,然后你又傻眼了.

所以需要Xcode提供的工具:

三.为.storyboard和.xib文件生成对应的.strings文件

打开命令行.到你的工程对应目录下
进入Base.lproj文件夹

3-1 3-2

执行语句

ibtool --generate-stringsfile MyNib.strings MyNib.nib

这个生成的.strings就是模板,于是其他语言的你把它们覆盖到对应的xx.lproj目录,照着改下翻译就好了.

四.加语言

在哪里加Localization的语言?一张图秒懂.
注意:选的是工程的project 不是target

4-1

参考:
参考一
参考二
官网

上一篇下一篇

猜你喜欢

热点阅读