看了很多有关应用程序的国际化的解释,感觉讲得有些晦涩,我说一下自己对这一名词的理解吧,不喜勿喷,谢谢。
而说到国际化,就不得不说本地化了,有的看官可能回想,为什么说到国际化就不得不说本地化,请看看这两个名词的定义,你就会发现他们之间关系很大。 应用程序国际化:应用程序的功能和代码设计不仅限于本国,考虑并适应于国际上的不同区域运行的要求,代码上简化了不同的本地版本。 软件本地化:是指将软件产品的用户界面和辅助文档,从其原产国语言向另一种语言转化,使之适应某一外国语言和文化的过程。 我认为,简单来说就是,本地化就是,将原产品的语言转为本地的语言,而国际化就是转化为国际上的多种语言,也就是很多个的本地化就构成了国际化。
这次,我就先从本地化App名开始,让看官很轻易地理解本地化、国际化。
1.首先,我们使用x-code新建一个Swift项目,取名为Like.这里的取名是随意的,但是因为模拟器的默认语言为English,也就是英语,所以名字为英文的比较好观察之后的结果。
新建完成之后,界面上会出现这个,
我们选择PROJECT的Like,然后下方会有一个Localizations(本地化),我们之前的App取名为英文,就是说无论手机上的语言如何更换,App的名字都不会随之变化,一直都是Like,我们就希望App的名字能够在我们切换手机语言的时候能够随之变化成相应的名字。这里我就举例将Like这个App名,在我将模拟器的语言切换为简体中文的时候,App名会变为‘喜欢’,在切换为法文的时候,会变为Aime。
既然我们想要App名能够随之变为法文和简体中文,那么我们就点击Localizations下面的'+',添加French(法文)和Chinese(Simplified)(简体中文)。
2.选中左侧项目文件列表中的Info.plist,右侧会出现这个界面,我们找到Bundle name,然后箭头指向这一行,这一行会出现一个加号和一个减号,我们点击加号,添加一个Bundle display name,Value为App的名字Like。
再新建String Flie类文件:我们新建文件,选择Resource中的String File,命名为InfoPlist;选中新建的文件InfoPlist.strings,
在右侧栏的File inspetion中点击Localize,会弹出一个小窗口,我们直接点击Localize就行,
然后右侧之前点击的位置会出现我们在第一步最后添加的语言,我们都选中,左侧的InfoPlist.strings文件左边出现一个三角形,点击一下,就会发现里面有出现了几个InfoPlist.string(语言)的文件。
3.接下来我们编辑InfoPlist.strings即可设置。格式为: "Key" = "Value"; 因为是C语言风格,所以一定要记得加分号哦,不然会报错的。
我们选中Info.plist,在任意条目中右击,选择Show Raw Keys/Values,将会看到左侧变为CFBundle开头的,复制其中的CFBundleDisplayName和右侧的value,
粘贴到InfoPlist.strings下面的几个文件中:
"CFBundleDisplayName" = "Like";
其中后缀为(Base)的文件中直接粘贴即可,不用修改,而其他的后缀为语言的文件中,修改对应的Value即可。比如: 后缀名为(Simplified)的文件中,Value改为简体中文的“LIke”,即“喜欢” "CFBundleDisplayName" = "喜欢"; 后缀名为(English)的文件中,Value改为简体中文的“LIke”,即“Like” "CFBundleDisplayName" = "Like"; 后缀名为(French)的文件中,Value改为法语的“LIke”,即“Aime” "CFBundleDisplayName" = "Aime"; 4.终于到了看成果的时候了,每次学习,虽然遇到错误的时候会很烦躁,但是错误也是一种积累,而当错误都解决了,到了看成果的时候,心中总是免不了有一点小激动。废话不多说,我们一起来看看在模拟器中,选择English(英语),French(法国),Chinese(Simplified)(简体中文)的时候,App的名字会不会有变化。
运行成功之后,会看到一片空白,那是因为这个App我们没有在界面加任何东西,我们只看他的App名字,所以按住command加shift和H,返回模拟器的主界面,就可以看到App的名字为Like,这是英文的,
我们可以看看手机的语言是什么的,找到Setting并点击进入,选择General,再点击Language & Region,就会看到一个iPhone Language,后面为English,说明默认的语言为English。
我们分别换成Francais(法语)、Chinese(Simplified)(简体中文),然后再看看App的名字有没有变化。
是不是感觉其实一点也不难,相信大家都有举一反三的能力,让我们共同学习,共同进步。