- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想将“NSLocalizedString”缩短为“_”,所以我正在使用宏_(x) NSLocalizedString(@x, @__FILE__)
.
但是现在,当我想生成用于本地化的字符串时找到。 -名称\*.m | xargs genstrings
它什么都不产生。
有什么帮助吗?
最佳答案
您可以使用“-s”参数告诉 genstrings 寻找不同的函数:
genstring -s MyFunctionName ....
但是,MyFunctionName 必须遵循与内置 NSLocalizeString 宏之一相同的命名和参数约定。
在您的情况下,您不能只指定字符串键,还必须指定文档字符串。事实上,您不应该永远生成没有字符串和文档的字符串文件。在许多语言中,实际的短语或单词将取决于上下文。德语是一个很好的例子,其中一辆汽车是“das auto”,不止一辆是“die autos”。还有更多示例,包括性别、数量、时间、问题与陈述以及是与否的变化。文档字符串可帮助您的翻译人员确定要使用的翻译。
此外,最佳做法是使用与母语单词不同的键。那就是说使用 NSLocalizedStringWithDefaultValue(key, table, bundle, val, comment)。您可以为表指定 nil 并为 bundle 参数指定 [NSBundle mainBundle]。
您可以用速记形式包装它,但您仍然必须遵循 StringWithDefaultValue 名称和 genstrings 工作的参数。
我强烈建议您查看有关本地化提示和技巧的 WWDC 2012 session 。
莫里斯
关于iphone - genstrings 不适用于 NSLocalizedString 的宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8941921/
我是一名优秀的程序员,十分优秀!