Как я могу получить доступ к локализуемым строкам для стандартных системных терминов iOS (например, Избранное, Подробнее ...)? - PullRequest
7 голосов
/ 28 февраля 2011

Я не знаю, является ли мой подход в корне неверным, но я изо всех сил пытаюсь разобраться с (кажущейся тривиальной ?!) проблемой локализации.

Я хочу отобразить заголовок «System» UITabBarItem (More, Favorites, Featured и т. Д.) На панели навигации. Но откуда взять строку? Строковый файл MainWindow.nib не содержит строку (я этого не ожидал), и чтение заголовка TabBarItem возвращает nil, что меня и озадачило.

Мне сказали, что нет способа достичь этого, и мне просто нужно добавить собственную локализованную строку для рассматриваемых терминов. Но я просто не хочу в это верить! Это может быть достаточно просто в некоторых языках, но поиск, скажем, «Больше» в уже дает мне более одного возможного слова в некоторых языках. Я не рад, что просто отправляю эти слова для перевода, потому что это все еще зависит от переводчика, который точно знает, какой термин использует Apple. Так я что-то упустил здесь? Что делают другие люди?

Очевидно, что установка системного языка на моем тестовом устройстве и просто поиск, какие заголовки имеют элементы Tab Items, является еще одной «очевидной» возможностью. Но у меня действительно есть проблема с полусгоревшими обходными путями. Это будет работать для большинства языков, но я действительно получу удовольствие, когда дело доходит до русского или японского.

Я убежден, что должен быть более надежный способ сделать это. Конечно, где-то в SDK должен быть файл .strings, в котором определены эти строки?

Заранее спасибо ... Рич

1 Ответ

0 голосов
/ 13 февраля 2014

Простой и неудачный ответ заключается в том, что помимо очень небольшого количества стандартных элементов (например, кнопки «Назад»), вам необходимо локализовать все строки самостоятельно. Да, в UIKit есть собственный файл Localization.strings, но он явно находится вне изолированной программной среды вашего приложения, поэтому у вас нет к нему доступа.

Я подал ошибку в Apple несколько лет назад о предоставлении локализации на уровне ОС для общих заголовков кнопок, ярлыков элементов вкладок и т. Д. Эта ошибка все еще открыта, но, очевидно, они еще не сделали этого (извините, у меня нет радар # удобно).

...