(本地化).strings文件与genstrings tool

Marcus  18:49:09

官方文档已经有了描述,我这里为自己做个标示,免得以后做些效率低的步骤

Environment:Xcode4.6.1


参考:https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/LoadingResources/Strings/Strings.html#//apple_ref/doc/uid/10000051i-CH6

http://my.oschina.net/junfrost/blog/138891     ios程序本地化

http://my.oschina.net/junfrost/blog/138683    ios程序本地化---nib版本

假设我们要写一个小demo,涉及1个非英文语言需要.strings文件,那用 ‘Creating Strings Files Manually’还不算工作量大,

但如果我们要用到的本地化字符串特别多,不论你是一个非英文语言还是多个,如果你用 Creating Strings Files Manually你要以下几步:

1. 先在不同 '语言.lproj' 下创建*.strings文件。

2. 文件里写一堆 "KEY"="对应本地化的字符串"以及comment;

3. 在所有要用到本地化字符串的源代码处写NSLocalizedStringxxx(key,comment) ,这时要把.strings里的KEY粘贴到这里的key

    反复copy-paste直到完成

这样其实效率很低

所以官方才特意提到  ‘ Using the genstrings Tool to Create Strings Files

如果用这个genstrings Tools,我们可以

  1. 用NSLocalizedStringxx()先完成source code,此时我们知道要用的Key.

  2. 完成所有源码后再用genstrings Tools自动生成需要的第一个.strings文件。按照官方推荐,我们生成Localizable.strings,这样NSLocalizedString()默认就是找它。

  3. 利用Xcode设置把这个.strings支持多语言

  4. 再在多个.strings里改本地化值。


我实验了下命令  ' genstrings -o . *.m'

步骤:

1. 创建一个singleView Project,叫sv

2. 打开terminal,进入 sv/sv

3. 在defaultAppDelegate.m里的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

里添加NSLocalizedStringXXX()方法

当前文件夹里没有.strings文件



实验1:

     用NSLocalizedString(key,comment)

     结果:在本地自动产生了一个Localizable.strings文件,里面是2行

                 “key1” = “key1”;

                "key2" = "key2" ;



实验2:

       用NSLocalizedStringFromTable(key1,MyTablename1,comment1),NSLocalizedStringFromTable(key2,MyTablename2,comment2)

      结果:自动产生了2个.strings的文件,对应每个NSLocalizedStringFromTable



实验3:

       第1处用NSLocalizedStringFromTableInBundle(key1,MyTablenameA,nilBundleName,comment)

       第2处用NSLocalizedStringFromTableInBundle(key2,MyTablenameB,nilBundleName,comment)

      结果:

              没试,哈哈
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值