赞
踩
但是有的时候字符串很多,提取和编写起来很麻烦,此时我们可以借助于命令行工具genstring,从m或mm文件中扫描下面宏,并取出字符串输出到本地化文件中。
CFCopyLocalizedString
CFCopyLocalizedStringFromTable
CFCopyLocalizedStringFromTableInBundle
CFCopyLocalizedStringWithDefaultValue
NSLocalizedString
NSLocalizedStringFromTable
NSLocalizedStringFromTableInBundle
NSLocalizedStringWithDefaultValue
CF开头宏和NS开头宏两两对应,NS开头宏是Foundation 框架是基于Objective-C语言的,CF开头宏是Core Foundation 框架是基于c语言的。NSLocalizedStringFromTable和NSLocalizedStringFromTableInBundle函数是在自定义字符串资源文件名时使用。
下面是genstrings命名的基本语法:
genstrings [-a] [-q] [-o <outputDir>] sourcefile
其中参数:
-a 在存在的文件后面追加内容
-q 关闭多个键/值对的警告
-o 指定输出目录
因此如果我们想输出到en.lproj目录,则代码如下:
genstrings -o en.lproj *.m
这样就在en.lproj目录下面产生了Localizable.strings文件,需要注意的是上面的命令每次运行的时候都会覆盖Localizable.strings文件,如果内容不想覆盖可以使用-a参数,然后在文件中进行修改。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。