#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)]
这样,就完成了在Xcode4.5上国际化的设置和操作,下面来看如何使用。
首先选择Localizable.strings(English)文件,添加如下内容:
"loading" ="Loading...";
然后选择Localizable.strings(Chinese)文件,添加如下内容:
"loading" ="加载中...";
内容注意一定要以分号结尾,否则无法识别。然后是在代码中使用:
NSString *loading = NSLocalizedString(@"loading",@"");
系统会根据当前设备的语言环境来识别使用中文还是英文,到此,在Xcode4.5上国际化的操作就完成了。
如果在命名.strings文件为 Localizable.strings 时,那么你就可以用以下方式调用即可:
1
|
NSLocalizedString(@
"title"
, nil) NSLocalizedString(@
"name"
, nil)
|
举例使用:
_statusLabel.text =NSLocalizedString(@"Pull down to refresh...",@"Pull down to refresh status");