2014-08-03 6 views
2

У меня есть вид с UITableView с одной секцией и одной ячейкой. Он используется исключительно для макета. Раздел имеет заголовок и нижний колонтитул, как с некоторым текстом в нем.Как локализовать статический раздел UITableView?

Я хочу локализовать этот текст, но не могу понять, как это сделать. В настоящее время единственным способом, который я знаю, является реализация titleForHeaderInSection:, но я бы предпочел не делать этого, поскольку это статическая таблица, и я бы предпочел не реализовывать UITableViewDelegate просто для этого. Есть ли другой способ?

ответ

2

Если вы внедрили UITableViewDataSource, вы можете использовать NSLocalizedString при реализации tableView: sectionIndexTitlesForTableView: и tableView: cellForRowAtIndexPath :.

Если вы используете построитель интерфейсов, xcode позволяет вам локализовать весь xib. Но недостатком является то, что он создаст один xib для каждой локали, которую вы должны поддерживать.

+1

Спасибо за ваш ответ. Я бы предпочел не реализовывать UITableViewDataSource (это было бы только для этого). У меня есть приложение, локализованное, но строки, установленные в XCode для заголовка/нижнего колонтитула, не отображаются в моих файлах .strings, и если я их добавлю вручную (через «Object-ID»), ничего не происходит. –

+1

Итак, если я правильно понял, файл строк не обновляется при обновлении xib. Попробуйте использовать ibtool (ibtool Base.lproj/file.xib --generate-strings-file file.strings). Проблема с ibtool заключается в том, что он не генерирует файл строк пошагово. Новые file.strings будут иметь все строки на базовом языке. Вам придется снова заменить их локализованными строками. Кроме того, вы можете попробовать AppleGlot (https://developer.apple.com/downloads/index.action?name=localization) –

+0

OK - Я нашел свою проблему. Спасибо, что подтвердили, что это можно сделать, и превратить меня в AppleGlot. –

Смежные вопросы