最近换了家新公司,启动了一个新项目,我爱新项目,自由发挥天马行空的感觉,大概也只有用足球场上的大师皮尔洛来形容了。我不是大师,也不是大牛,码农而已。
入正题,项目要用到国际化,很早以前也做过C/C++和java的,心想不过如此,真正搞起来才让我有了重新提笔延续吐槽的动力。由于iOS和XCode版本更新得太快的原因,导致网上很多文章都失去了时效性,也许再过两三个月我这篇文章也将走上这条路,但起码可以让现阶段看到的人对iOS的国际化有个比较清楚的认识。
入正题,项目要用到国际化,很早以前也做过C/C++和java的,心想不过如此,真正搞起来才让我有了重新提笔延续吐槽的动力。由于iOS和XCode版本更新得太快的原因,导致网上很多文章都失去了时效性,也许再过两三个月我这篇文章也将走上这条路,但起码可以让现阶段看到的人对iOS的国际化有个比较清楚的认识。
- NSLocalizedString的定义
来看宏定义部分:
第二个参数c omment可以是nil,可以是一段为空的字符串,也可以是对key的注释#define NSLocalizedString(key, comment) \ [[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:nil]
第一个参数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开发者服务。 - 觉得文章写得不错的同学可以到小店里去看看,也许有适合你的东东额。
博主的淘宝小店新开张,主营渔具和iOS开发者服务。