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

http://blog.csdn.net/aries4ever/article/details/8185405

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


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

  • NSLocalizedString的定义

     来看宏定义部分:

[cpp]  view plain copy print ?
  1. #define NSLocalizedString(key, comment) \  
  2.         [[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:nil]  
第二个参数c omment可以是nil,可以是一段为空的字符串,也可以是对key的注释

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

  • 认识Localizable.strings文件

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

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


吐槽iOS国际化:关于NSLocalizedString的使用_第1张图片


吐槽iOS国际化:关于NSLocalizedString的使用_第2张图片


吐槽iOS国际化:关于NSLocalizedString的使用_第3张图片


吐槽iOS国际化:关于NSLocalizedString的使用_第4张图片


吐槽iOS国际化:关于NSLocalizedString的使用_第5张图片


吐槽iOS国际化:关于NSLocalizedString的使用_第6张图片


吐槽iOS国际化:关于NSLocalizedString的使用_第7张图片


吐槽iOS国际化:关于NSLocalizedString的使用_第8张图片


吐槽iOS国际化:关于NSLocalizedString的使用_第9张图片


  • NSLocalizedString槽点

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

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


  • 下载链接

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

CSDN: CSDN资源下载

你可能感兴趣的:(吐槽iOS国际化:关于NSLocalizedString的使用)