iOS国际化

来源:互联网 发布:单片机tssop28封装尺寸 编辑:程序博客网 时间:2024/06/05 04:36

定义:

国际化其实都大同小异其核心思想就是为每种语言单独定义一份资源


国际化方式:

1、使用系统固定名称国际化(Localizable.strings)

1)添加支持的语言



2)APP名称国际化

创建InfoPlist.strings文件(注意:名字固定),选中InfoPlist.strings文件,在右边File inspector下的Localization中添加语言。添加完成后InfoPlist.strings文件会有个下拉三角形,打开后可以看到对应的语言.strings,在对应的文件中输入CFBundleDisplayName = "English APP";(key是固定的CFBundleDisplayName)。

 

3)字符串国际化

创建Localizable.strings文件(名称固定),添加语言支持(和InfoPlist.strings一样),注意各语言文件中的key一定要一致("key1" = "English style value";)。

使用方法:_showLabel.text = NSLocalizedString(@"key1", nil);,当找不到对应的语言strings或value时会直接返回key的值。

 

4)图片国际化

方案一:将图片的名称国际化(字符串国际化)。

方案二:首先添加一张图片资源,选中图片,在图片的File inspector中添加多语言支持。然后进入图片目录下,修改.lproj目录下的图片。图片的用法和普通用法一样,即可在xib中使用,也可代码调用。

 

5)应用内切换语言

应用启动时,首先会读取NSUserDefaults中的key为AppleLanguages的内容,该key返回一个String数组,存储着APP支持的语言列表,数组的第一项为APP当前默认的语言。

在安装后第一次打开APP时,会自动初始化该key为当前系统的语言编码,如简体中文就是zh-Hans。


0 0
原创粉丝点击