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

吐槽iOS国际化:关于NSLocalizedString的使用

2012-11-15 10:56 253 查看
最近换了家新公司,启动了一个新项目,我爱新项目,自由发挥天马行空的感觉,大概也只有用足球场上的大师皮尔洛来形容了。我不是大师,也不是大牛,码农而已。

入正题,项目要用到国际化,很早以前也做过C/C++和java的,心想不过如此,真正搞起来才让我有了重新提笔延续吐槽的动力。由于iOS和XCode版本更新得太快的原因,导致网上很多文章都失去了时效性,也许再过两三个月我这篇文章也将走上这条路,但起码可以让现阶段看到的人对iOS的国际化有个比较清楚的认识。



NSLocalizedString的定义

来看宏定义部分:

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

第二个参数comment可以是nil,可以是一段为空的字符串,也可以是对key的注释

第一个参数key是从Localizable.strings这个文件中读取对应的key-value值。



认识Localizable.strings文件

XCode4和之前的版本已经变化太大,之前被诸多文章提及的Get Info之类的已完全失效,请采用本文方法进行重新配置Localizable.strings

如果觉得图片太小的话,可以右击复制图片到新窗口看





















NSLocalizedString槽点

使用NSLocalizedString的时候,文件名必须是Localizable.strings,大小写我没测试过,有兴趣的朋友可以自已测试下,如果文件名不对,就只能显示key的名称,而不是value。就这个小问题,困扰了我2个小时,次奥,必须吐槽!BTW:CSDN的排版也很渣啊,想偷个懒都不行,还得HTML编辑排版。。。如果还有不明白的地方可以参考这位朋友的博客链接点击打开链接

稍后会公布源代码。让大牛们见笑了。。。



下载链接

由于以前的CSDN帐号泄漏事件,我已经停用原来的帐号,密码也不记得啦,上传至csdn资源分填了个5分,大家有分的帮忙贡献点给我小号=。=
CSDN没分的同学可以到我的微盘去下载


CSDN:CSDN资源下载
微盘:微盘下载



小广告

博主的淘宝小店新开张,主营渔具和iOS开发者服务。
觉得文章写得不错的同学可以到小店里去看看,也许有适合你的东东额。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: