App语言国际化(iOS)

来源:互联网 发布:onenote mac版下载 编辑:程序博客网 时间:2024/06/05 10:13

这是一个互联网时代,现在的一些app项目中,会出现app语言的国际化。在网上也看到过很多的帖子。这里也仅供参考。

废话不多少。直接上。

1.创建国际化语言文件,但命名必须为Localizable.strings


2.选择新建的Localizable.strings文件,在Utilites中,点击Localizable选项。



3.然后创建语言包。创建后,你的Localizable.strings文件下将挂在英文的语言支持文件。添加多国语言,比如简体中文、英文,如下图



4.选择项目配置文件->Project->Info,下面有Localizations国际化配置信息,点击"+"号,添加多国语言,如下图,所示,

5.这里我选择了Simpled Chinese,表示添加了简体中文国际化,English英语国际化是默认添加的,点击以后出现下图,


6.这里只勾选Localizable.strings前面的复选框,表示只对Localizable.strings文件添加国际化,点击Finish。这时候我们发现成功添加了Localizable.strings国际化文件,看它分别对应有简体中文版和英文版的文件,如下图,


7.添加需要的不同语言字符串,

实现国际化,我们在对应的简体中文和英文的Localizable.strings中分别填写不同的内容,如下代码所示,

简体中文Localizable.strings文件,

"REMIND"="提示";"OK"="确定";"CANCEL"="取消";"NetworkConnectError"="网络连接失败";

英文版Localizable.strings文件,

"REMIND"="Remind";"OK"="OK";"CANCEL"="Cancel";"NetworkConnectError"="Cannot Connect Network";
以"OK"举例来说,如果在中文状态下,那么它表示“确定”;如果在英文状态下,它表示"OK"。需要注意的是,不要遗漏结尾的分号“;”


添加语言支持。


我们以我的文件为例:
在Localizable.strings(Chinese(Simplified))中,加入如下代码:

"login"="登录";


在Localizable.strings(English)中,加入如下代码:

"login"="Login";



使用语言支持

NSString *strPlay = NSLocalizedString(@"play",@"");

[self.btnPlay setTitle:strPlay forState:UIControlStateNormal];


获得当前设备的语言

//取得用户默认信息

   NSUserDefaults *defaults = [ NSUserDefaults standardUserDefaults];

// 取得iPhone支持的所有语言设置

NSArray *languages = [defaultsobjectForKey :@"AppleLanguages" ];

NSLog (@"%@", languages);

    

// 获得当前iPhone使用的语言

NSString* currentLanguage =[languagesobjectAtIndex:0];

NSLog(@"当前使用的语言:%@",currentLanguage);


怎么样?还能理解吧!!!!


0 0