您的位置:首页 > 移动开发 > IOS开发

iOS 本地化字符串—(妖妖随笔)

2015-09-08 16:21 381 查看
在NSBundle.h文件中的定义:

#define NSLocalizedString(key, comment) \

[[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:nil]

#define NSLocalizedStringFromTable(key, tbl, comment) \

[[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:(tbl)]

#define NSLocalizedStringFromTableInBundle(key, tbl, bundle, comment) \

[bundle localizedStringForKey:(key) value:@"" table:(tbl)]

#define NSLocalizedStringWithDefaultValue(key, tbl, bundle, val, comment) \

[bundle localizedStringForKey:(key) value:(val) table:(tbl)]

这是cocoa框架中用来实现字符串的本地化的宏。

1.第一个NSLocalizedString(key, comment) 根据当前设备的语言环境自动加载对应的资源文件“Localizablestrings”,返回文件中的key值,如果这个文件不存在,或者是key值不存在,会返回key值

2.NSLocalizedStringFromTable(key, tbl, comment) 根据当前设备的语言环境自动加载对应的资源文件 tbl ,返回文件中的key值,如果这个文件不存在,或者是key值不存在,会返回key值

例1:NSString *title = NSLocalizedString(@"LocalizableTest", nil);

例2: //从文件“locationTest”里读取key为“cancle”的值

1.在locationTest.string 文件中写上 "cancle" = "取消”;(在这里注意引号,等号和分号必须是英文的,不然会出现错误,提示你使用了错误的格式)

2.NSString *Str = NSLocalizedStringFromTable(@"cancle", @"locationTest", nil);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: