Локализация 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.
Наконец, вы должны сообщить своему экземпляру NSPredicateEditor, какой файл строк использовать, установив свойство formattingStringsFilename
.
См. это сообщение в блоге для получения дополнительной информации.