读书人

iPhone开发兑现语言国际化

发布时间: 2012-07-26 12:01:08 作者: rapoo

iPhone开发实现语言国际化
以上内容来自互联网。

一、获取系统所支持的国际化信息
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSArray *languages = [defaults objectForKey:@"AppleLanguages"];
NSLog(@"%@", languages);
二、对字符串进行国际化
1. 应用NSLocalizedString宏
//括号里第一个参数是要显示的内容,第二个是对第一个参数的注释
NSString * testStr =NSLocalizedString (@"this is a test NSString",@"这是测试字符串");


2. 为每个支持的语言创建目录
在项目路径下,为所要支持的语言创建目录。比如要支持英语和中文,在项目下创建en.lproj和zh.lproj目录。

3. 使用Terminal的genstrings命令进行生成资源文件。
例如,项目的目录为:/user/documents/project/test01
命令如下:genstrings -o en.lproj ./classes/*.m
     genstrings -o zh.lproj ./classes/*.m
4. 修改对应的strings文件
打开项目,会发现Resource目录下多了个Localizable.strings, 点击展开,会看到名称为en,zh的文件,双击后可以发现如下格式的字符串:
/* 这是测试字符串 */
@"this is a test NSString" = @"这是测试字符串"

只要根据不同的地区修改右侧的字符串即可。
zh.strings下,为:@"this is a test NSString" = @"这是测试字符串"
en.strings下,为:@"this is a test NSString" = @"this is a test NSString"

最后一步,保存更改,编译并运行程序,就能看到结果了!

读书人网 >Iphone

热点推荐