1. 基本设置


Localizable.strings的Strings File文件


创建一个名字为Localizable.strings的Strings File文件(名字不可以错).在各个语言文件里面编写自定义的键值对,然后使用系统函数NSLocalizedString(@"自定义的key", "描述可为nil")通过key拿到对应的value值;

ios 添加语言资源文件 ios语言包_自定义



第二步:在Project的info里添加所需要支持的语言,这里选择的是Chinese(Simplified)和English-Development Language,会让你勾选语言适配方式,点击Finish。

ios 添加语言资源文件 ios语言包_ios_02

ios 添加语言资源文件 ios语言包_文件名_03

第三步:创建Localizable.strings文件(注意:文件名最好不要随意更改)作为多语言对应的词典,存储多种语言。

(1)点击Localizable.strings文件右侧Localize…

(2)继续在Localization里添加所要支持的语言,将其勾选上。

ios 添加语言资源文件 ios语言包_自定义_04


ios 添加语言资源文件 ios语言包_文件名_05

第三步:最后就可以在Localizable.strings里随意设置所需要支持的语言啦。

ios 添加语言资源文件 ios语言包_语言_06


如下图:

ios 添加语言资源文件 ios语言包_语言_07

ios 添加语言资源文件 ios语言包_ios_08

ios 添加语言资源文件 ios语言包_自定义_09

第四步:应用

如下图:

ios 添加语言资源文件 ios语言包_ios_10

(2)  自定义一个.strings文件在里面适配,然后通过NSLocalizedStringFromTable(@"自定义的KEY",@"文件名" , @"描述内容可为nil")获取不同的文件内容,应用内语言切换使用的就是这一种方式。

例子:

我们先创建用于中英文适配的两个Localizable_CN.strings和Localizable_EN.strings文件(名字可自定义)。

在Localizable_CN.strings自定义内容

在Localizable_EN.strings自定义内容

然后在storyboard中拖入两个按钮并添加点击事件,通过文件名来切换不同的语言.




项目中可以通过对全局文件名的更改来切换不同的语言.

2.StoryBoard设置

storyboard同Localizable.strings类似。

第一步:选中storyboard,选择ShowtheFileInspector,在Localization选择所需要支持的语言。

ios 添加语言资源文件 ios语言包_ios 添加语言资源文件_11


第二步:在Main.strings(Chinese(Simplified))和Main.strings(English)里设置语言。

Main.strings里的格式比较特殊,如下所示:获得Object ID 的方法:

ios 添加语言资源文件 ios语言包_ios_12

3. XML

我们自定义创建个名为Localize_XML.strings的文件

如果你不会XML格式的话也没事,在info.plist 右键->Open As ->Source Code中可以看见这种格式.

然后复制过来删掉中间的内容留下一对键值对来进行操作

4.图片设置

图片设置也和Localizable.strings类似,图片资源存放在Images.xcassets里,使用时将不同语言的图片资源在Localizable.strings里一一对应设置;

第一步:添加图片

ios 添加语言资源文件 ios语言包_文件名_13

第二步:往Localizable.strings中添加图片名

ios 添加语言资源文件 ios语言包_ios 添加语言资源文件_14

第三步:应用

ios 添加语言资源文件 ios语言包_ios_15

5 应用名设置

第一步:添加InfoPlist.strings

文件名命名为:InfoPlist.strings (注意取名字的时候必须是InfoPlist.strings,否则的话是无效的。创建完之后点击InfoPlist.strings文件在右部选项框有个localization的本地化选项)

ios 添加语言资源文件 ios语言包_ios_16

第二步:添加应用名

ios 添加语言资源文件 ios语言包_自定义_17

6 货币值设置

货币显示在不同的国家是有区别的,例如:10000可以写作”10,000”也能写作”10.000”。针对这种情况可以使用NSNumberFormatter格式化,例如:

7 启动页设置

根据内容去判断: