iOS:多语言国际化

我们所开发的应用可能还会被不同国家不同人群使用,所以应用也该支持多语言。当用户切换系统语言时,应用程序自动变成和系统语言一致的行为叫语言国际化或本地化。
话不多说,开撸:

打开info,找到Localization,添加想要扩展的语言
添加语言

之后点完成,然后command+n新建String File文件,文件名为InfoPlist,注意就只能是这个名字
createfile.jpg

完成后点击新建的文件,打开右边的属性检查器


3.jpg
点击Localize
4.jpg
接着点Localize,然后勾选我们要扩展的语言
5.jpg
此时我们刚才新建好的InfoPlist文件变成了多个文件
image.png

打开下面的文件,在English写入:
// 后面是英文版的应用名称
CFBundleDisplayName = "LocalizableDemo";

在Chinese文件中写入:

CFBundleDisplayName = "本地化demo";

此时,分别切换系统语言可以看到App的名称自动变为我们设置的。
以上是设置不同语言的App名称,接下来是应用中的文字:
和上述操作一样,直接新建String File文件,名称为Localizable(注:该文件的后缀都是.string,如果系统没有隐藏后缀名则要输入Localizable.string),创建完成后跟上面一样的操作,点击该文件的Localize,勾选语言复选框,然后依然看到该文件下有多个文件。
在不同的文件中配置不同的语言,如中文:


image.png

由于我们的开发环境是英文,在English文件下面可以不用写。
在程序代码中这样使用:

NSLocalizedString(@"Home", nil)

效果:


英文环境

中文环境

你可能感兴趣的:(iOS:多语言国际化)