NSLocalizedString和设备支持的语…

NSLocalizedString

是一个“宏”

#define NSLocalizedString(key, comment) \
        [[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:nil]

上边这个是原型。

 

亲自试下,在一个项目里

Add一个新的File,类型为StringFlie,步骤Flie->New->File->IOS下边的Resource里边的StringsFile。

单击新加的StringFile文件(*.strings),在属性中修改他的名字为“Localizable.strings”

并在Localization下边,点左下的加号,第一次点击会闪一下,然后会出现一个English或者Chinese取决于你当前的语言模式。随便添加一个例如我默认的是English,我添加了一个Chinese,然后右边的StringFile文件(Localizable.strings)下边多出两个文件:

1、Localizable.strings(English)

在这个文件中添加内容:

"Master" = "Master...";

"Detail" = "Detail...";

 

2、Localizable.strings(Chinese)

在这个文件中添加内容:

"Master" = "主视图";

"Detail" = "详细视图";

 

这样当你使用NSLocalizedString时,系统会自动在目录下的StringFile文件(Localizable.strings)中找到当前设备所使用的语言,比如说是English的,那么他就会按照"Master" = "Master...";的格式将其他文件中的所有使用NSLocalizedString方法的的"Master"在你运行的时候显示成"Master...".  举个栗子:

self.title = @"Master";

那么这个标题在任何语言的系统中都会显示出Master。

但是你要是使用:

self.title = NSLocalizedString(@"Master",@"this is Master");

那么这个标题在英文版本中就会显示:Master...

中文版本中就会显示:主视图

(@"Master",@"this is Master");前边那个是Key,对应strings文件中的Key,后边那个this is Master是备注,写不写都行,可以为nil。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值