如何使用NSPredicateEditorRowTemplate进行本地化
它没有充分记录 想起来真是太痛苦了。
所有内容都是以编程方式编写的
我想要法语,意大利语版本等。
答案 0 :(得分:0)
本地化NSPredicateEditor比通常的本地化要复杂得多。
首先,您需要在代码中的某个地方进行NSLocalizedString()调用,以便genstrings能够找到它们。
第二,密钥需要遵循一种特殊的格式,该格式将指示genstrings产生给定行的所有组合:
NSLocalizedStringFromTable(@"%[Any, All, None]@ of the following are true", @"Predicate", @"localize the compound row template")
NSLocalizedStringFromTable(@"%[property]@ %[is, is not, contains, begins with, ends with, like, matches]@ %@", @"Predicate", @"localize the string row template")
NSLocalizedStringFromTable(@"%[birthMonth]@ %[is, is not]@ %[January, February, March, April, May, June, July, August, September, October, November, December]@", @"Predicate", @"localize the selection row template")
在上面的示例中,genstrings将查看方括号之间的选项,并为Predicate.strings文件中的所有组合生成一个本地化字符串。
最后,必须通过设置formattingStringsFilename
属性让NSPredicateEditor实例知道要使用哪个字符串文件。
有关更多信息,请参见此blog post。
答案 1 :(得分:-1)
该博客已有几年历史了。
xcode多年来得到了改善。
问题是重复的,但几年后答案可能会有所不同。
答案很简单。这是xib文件的本地化,效果很好