最近公司把公司产品中的国际化给去掉了,以后就不维护了国际化了,在这里写下国际化的处理,长时间不用怕给忘记了。这里就写个小例子来实现app名称的国际化和app启动页的国际化。(xcode8.1)
APP名称的国际化
-
首先向app中加入app支持的语言
image.png
添加后在出现如图后:
image.png
这里可以不用选择
-
向程序中的Info.plist中添加”Bundle display name”字段,并且命名为”幽灵”,大家都知道这里的display name就是app显示在iphone手机上面的名字
image.png
重新编译后后显示的为:
image.png
-
在程序中创建InfoPlist.strings文件用来处理桌面现实的国际化,创建如图:(注意这里的名字不要修改,否则会出现app无法读取这个strings)
image.png
创建后选中InfoPlist.strings,然后点击Localize…
image.png
点击会出现要你选择的你要支持的语言,选择简体中文如图:
image.png
完成后,在InfoPlist.strings自动生成的两个文件中分别写入:
“CFBundleDisplayName” = “幽灵”;
“CFBundleDisplayName” = “YouLing”;
如图:
image.png
image.png
重新运行一次就可以了,在英文的情况下效果图是:
image.png
中文下的效果图是:
image.png
APP启动页的国际化
1、如果上面的1、2还没有做那么就按照app名称国际化的1、2进行操作,完成之后选中程序中app的plist文件,任意选中一项点击右键选择:show Raw Keys/Valuses如图:
image.png
你会发现UILaunchStoryboardName这个属性,如果没有这个属性那么就添加,然后将系统的启动页设置Storyboard:
image.png
2、创建两个启动的.storyboard分别命名为:LaunchScreen-English和LaunchScreen-Chinese(当然这里你也可以只创建一个storyboard,然后在启动的时候对storyboard加载的图片的名字国家化,就不具体写了)创建方法如下:
(1)新建和命名
image.png
image.png
(2)向storyboard中添加viewcontroller,并且设置为启动项 如图:
image.png
(3)添加imageView
image.pngimage.png
(4)对两个storyboard中的viewImage进行图片的设置
3、向InfoPlist.strings,的中文和英文的文档中分别加入
/*
*启动的storyboard
*/
"UILaunchStoryboardName" = "LaunchScreen-Chinese";
/*
*启动的storyboard
*/
“UILaunchStoryboardName” = “LaunchScreen-English”;
如图:
image.png
image.png
4、启动页不同系统下的启动界面效果图:
中文启动页:
image.png
英文的启动页:
image.png
代码地址:github
网友评论