iOS 多语言的实现(本地化和国际化)

时间:2022-05-20 15:54:04

配置需要国际化的语言

配置需要国际化的语言,这也是国际化之前的准备工作,无论我们是国际化App名称、代码中的字符串、图片、还是storyboard和xib,都需要进行这一步的准备工作(一个项目中需要且仅需要配置一次)。

选中project->Info->Localizations,然后点击"+",添加需要国际化/本地化的语言,如下图(默认需要勾选Use Base Internationalization):

iOS 多语言的实现(本地化和国际化)

如下图选择你需要添加的语言

iOS 多语言的实现(本地化和国际化)

 

弹出如下对话框,直接点击finish,如下图:

iOS 多语言的实现(本地化和国际化)

同理,添加简体中文、繁体中文、韩语,以及其他的语言你都可以这样做,最终结果如下图:

iOS 多语言的实现(本地化和国际化)

备注: “zh-Hans”和“zh-Hant”是简体中文和繁体中文的缩写。这是标准的缩写。H可大写也可小写。"en"是英语的缩写。ko是韩语的缩写,fr是法语的缩写。其他语言请百度各国语言缩写即可查询。

(一)应用名称本地化/国际化

应用名称本地化,是指同一个App的名称,在不同的语言环境下(也就是手机设备的语言设置)显示不同的名称。比如,微信在简体中文环境下App名称显示为“微信”,在英语环境下显示为“weChat”。下面就开始进行应用名称本地化。

选中Info.plist,按下键盘上的command + N,选择Strings File(iOS->Resource->Strings File)

iOS 多语言的实现(本地化和国际化)

文件名字命名为InfoPlist,且必须是这个名字(因每个人电脑设置差异,此处本人电脑没有显示strings后缀名):

 

iOS 多语言的实现(本地化和国际化)

点击create后,Xcode左侧导航列表就会出现名为InfoPlist.strings的文件,如下图:

iOS 多语言的实现(本地化和国际化)

 

选中InfoPlist.strings,在Xcode的File inspection(Xcode右侧文件检查器)中点击Localize,目的是选择我们需要本地化的语言,如下图:

注意:在点击Localize之前,一定要保证我们已经添加了需要本地化的语言,也就是上面配置需要国际化的语言那一步(步骤:project->Info->Localizations,然后点击"+",添加需要国际化/本地化的语言)。

 

iOS 多语言的实现(本地化和国际化)

 

点击Localize后,会弹出一个对话框,展开对话框列表,发现下拉列表所展示的语言正是我们在上面配置的需要国际化的语言,选择我们需要本地化的语言,然后点击对话框的Localize按钮,如下图:

 

iOS 多语言的实现(本地化和国际化)

 

 

iOS 多语言的实现(本地化和国际化)

iOS 多语言的实现(本地化和国际化)

此时,Xcode左侧的Localizable.stirings左侧多了一个箭头,展开后,如下图所示:

 

iOS 多语言的实现(本地化和国际化)

然后我们只需要在Localizable.strings下对应的文件中,分别以Key-Value的形式,为代码中每一个需要本地化的字符串赋值,如下图:

iOS 多语言的实现(本地化和国际化)

iOS 多语言的实现(本地化和国际化)

iOS 多语言的实现(本地化和国际化)

iOS 多语言的实现(本地化和国际化)

我们只需要使用Foundation框架自带的NSLocalizedString(key, comment)这个宏根据Key获取对应的字符串,然后赋值给代码中的字符串。

 

以上就是实现多语言的简单步骤。

这个是cocochina上更详细的连接:http://www.cocoachina.com/ios/20170123/18609.html