本地化,即使APP能够适应用户不同语言的需求,下面介绍如何使应用本地化。

一、准备工作

1.创建项目工程

创建好的工程结构如图:

ios项目结构详解 ios开发项目化入门教程_ios开发

2.搭建界面

在StoryBoard中搭建好界面,这里简单起见,只用一个UILabel作演示,在控制器中创建输出口。

ios项目结构详解 ios开发项目化入门教程_本地化_02

3.硬编码展示

在视图控制器中添加代码
self.labelTest.text = @”This is a Demo”;
硬编码效果:

ios项目结构详解 ios开发项目化入门教程_本地化_03

二、本地化

1.创建strings文件

ios项目结构详解 ios开发项目化入门教程_ios项目结构详解_04

注意:Localizable.strings是iOS用来本地化文本默认的文件名称,避免使用其他文件名,否则每次调用本地化方法的时候都要手动指定本地化文件。

创建好的文件:

ios项目结构详解 ios开发项目化入门教程_国际化_05

2.设置语言

以同时支持英语和简体中文为例

ios项目结构详解 ios开发项目化入门教程_国际化_06

选择语言后选中弹窗里的所有需要本地化的文件,点击Finish。

ios项目结构详解 ios开发项目化入门教程_ios开发_07

3.创建多语言本地化文件

选中刚才创建的Localizable.strings文件—>打开file inspector—>在弹窗中下来选中English然后确定。这时候可以看到file inspector中的localization多了多选列表,选中目标语言,English和Chinese(Simplified)。

ios项目结构详解 ios开发项目化入门教程_本地化_08

选中后再来看Localizable.strings文件,多了两个子文件,这两个文件就是设置本地化内容的文件。

ios项目结构详解 ios开发项目化入门教程_硬编码_09

4.自定义本地化信息

分别在Localizable.strings(English)文件和Localizable.strings(Simplified)文件中输入大面内容:

ios项目结构详解 ios开发项目化入门教程_ios项目结构详解_10

ios项目结构详解 ios开发项目化入门教程_国际化_11

下面介绍刚刚输入的内容。内容的格式是”key”=”value”的格式,等号左边是关键字,用来查找对应的值。可以看到两个文件中key是一样的,值不同。这个值就是要在不同语言中显示的内容。

5.代替硬编码

一切工作都准备就绪,下面只要改一下开头的那句代码,就能实现本地化。
将self.labelTest.text = @”This is a Demo”用下面代码替换:

self.labelTest.text = NSLocalizedString(@"demoString", nil);

这是一定宏定义的方法,具体可以点进去看。第一个参数是刚才在本地化文件中设置的key,第二个参数通常用来备注,实际方法中并不会用到它,这里设置成nil即可。

在真机或模拟器中运行程序,加入你的设备当前语言是English,那么和之前的运行结果一致。这个时候你在设置中把语言切换成简体中文再打开app,surprise!

ios项目结构详解 ios开发项目化入门教程_ios开发_12

扩展–国际化APP名

创建名为InfoPlist.strings本地化文件,同前面介绍的一致。在InfoPlist.strings(English)文件中添加代码:

"CFBundleDisplayName" = "EnglishName";

在InfoPlist.strings(Simplified)文件中添加代码:

"CFBundleDisplayName" = "中文名";

这样在不同的语言环境下,APP就会显示不同的名字了。

关于ios本地化的介绍就是这些!