Локализация NSPredicateEditor / NSPredicateEditorRowTemplate
как сделать локализацию с NSPredicateEditorRowTemplate
это не хорошо задокументировано, это было полной болью, чтобы понять.
все написано программно
Я хотел бы французский, итальянский вариант и т. Д.
1 ответ
Локализация 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
имущество.
Смотрите этот блог для получения дополнительной информации.
Блогу несколько лет.
xcode улучшился за эти годы.
вопрос повторяется, но ответы могут отличаться через несколько лет.
ответ прост. это локализация XIB-файла, и она отлично работает