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

By | 2013年11月11日

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

入正题,项目要用到国际化,很早以前也做过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:想偷个懒都不行,还得HTML编辑排版。。。

 

如果您还不清楚可以到凯豪软件的淘宝店上去看看,对应源代码链接:http://item.taobao.com/item.htm?id=36091736885

 

本文中提到的所有代码,均可以在凯豪软件淘宝店中找到,而且更加齐全,功能更加完善,自主版权,已支持最新iOS7.0以上版本。

 

=====================================

版权声明:

本站所有关于iOS技术的文章皆为原创,如需要转截,请注明出处。如果你有疑惑,可以到凯豪软件的淘宝店挖挖宝贝,里面或许有你想要的东西。

凯豪软件淘宝店:http://appfish.taobao.com

主营iOS软件开发服务,代理申请iOS开发者帐号(个人、公司、企业),代理申请邓白氏编码。顺便还卖一些小渔具,有需要的朋友可以进来凯豪软件的淘宝店看看

One thought on “原创:吐槽iOS国际化:关于NSLocalizedString的使用

  1. aries4u Post author

    这篇文章是我之前写于我的csdn blog中,因兽捕鸟csdn的当年的密码门事件,现在已经放弃csdn的更新,以后所有的关于iOS的原创技术文章都会收录在本站中,欢迎新老读者收藏。

Comments are closed.