改变iOS语言设置和区域设置,在手机或模拟器的设置--->通用--->多语言环境--->语言/区域格式
一.国际化目录结构
进行国际化处理时,支持特定语言的文件都放在都放在特定目录下,这些目录的命名是<本地代号>.lproj,例如 en-US.lproj , en-GB.lproj 和 en.lproj等。
本地代号由“语言代号+国家(或地区)代号”组成。例如 en-US.lproj 中的 en 是语言(英语)代号,US(美国)是国家代号。语言代号可以遵守ISO 639-1 和 ISO 639-2 代号规范,国家(或地区)代号遵守ISO 3166-1 规范
中文分为简体中文(zh-Hans)和繁体中文(zh-Hant)
地区:美国(US) 中国(CN) 法国(FR) 英国(GB)
2.1 文本信息国际化
2.1.1 系统按钮和信息国际化
project ---> info ---> localizations ---> + chinese
这样就添加了简体中文国际化文件,把手机设置成中文输入法就可以看到程序的系统按钮和信息都变成中文的了
2.2.2 应用名称国际化
先进行上面的操作,添加简体中文文件,选中storyboard,打开文件检查器,选中Localization 下的Base ,English,Chinese。这时可以看到左边多了 Main.strings的简体中文和英文文件,在简体中文文件下输入:CFBundleDisplayName = "国际化"; 英文文件下输入: CFBundleDisplayName = "Internationalization";
如果字太多的话,可能会显示不全
2.2.3 程序代码输出的静态文本国际化
如果是已经创建的控件,Main.strings 的英文文件中,会有默认设置,你可以更改,然后再在中文文件中翻译成中文。如果是新添加的控件,选中该控件,并打开其标识检查器,找到 Document ---> Object ID ,然后按照之前的范例,设置静态文本。
2.2 资源文件国际化
这里的资源文件包括,图片文件,音频文件。
先将资源文件国际化:选中需要国际化的图片(或音频),打开文件检查器,在Localization 下勾选你要设置的国家,比如 English,这样文件就被移动到 en.lproj 目录下了。同理,设置中文下的图片。
如果是图片,可在storyboard中拖imageView,然后设置imageView的图片,这样就可以在不同语言环境下自动切换了。
如果是音频,可以通过 [NSBudle mainBundle].pathForResourse 方法访问,该方法可根据当前语言的设定,读取对应文件夹中的资源文件。