Как стать автором
Обновить

Руководство по локализации для iOS

Время на прочтение6 мин
Количество просмотров31K
Всего голосов 14: ↑13 и ↓1+12
Комментарии13

Комментарии 13

А как же поддержка языков, где направление письма справа налево?
С недавних пор никаких проблем с RTL языками нет. Если интерфейс верстался с autolayout-ом и использованием Leading/Trailing constraints, то все будет работать из коробки — достаточно просто добавить файлы с переводами в точности как для европейских языков. Интерфейс будет отзеркаливаться автоматически.
Да и на обычных фреймах если верстать, то отзеркаливается арабский
Я немного не о том. Внутри своего фрейма — да, текст отзеркаливался всегда.Но если этот фрейм расположен, скажем, в левой половине экрана, то надпись остается слева и на арабском и на английском. И в результате визуально разметка «плывет» — появляются дырки пустого пространства в неожиданных местах, текст выравнивается криво и т.п.

Если же верстать с автолейаутом по феншую, то помимо авто-разворота самого текста в надписях, также автоматически будут меняться фреймы вьюшек. И вьюха, расположенная в английской локали слева, на иврите будет расположена справа (при чем, это не только для надписей работает). Намного меньше усилий в таком случае затрачивается на то, чтобы все выглядело хорошо независимо от направления письма. Единственная оставшаяся проблема, требующая особого внимания — это выравнивание текста, но и ее в большинстве случаев можно решить просто поставив выравнивание NSTextAlignmentNatural.
переключать языки только для приложения, когда оно запущено в симуляторе iOS.

Работает и при отладке на устройстве, т.е. не только в симуляторе.
Начиная с Xcode 7 (а может и раньше, не помню точно) появилась функция Editor -> Export for Localization. Это решает почти все проблемы, описанные в статье — создание Localizable.string, локализация сторибордов и имени приложения. Без необходимости всё это делать вручную.
на основе последней версии XCode (7.3.1)

последняя 8.2.1 )
Спасибо за внмиательность, зачеркнули)
Старая добрая статья про локализацию. А редактировать .strings можно на веб-сервисах типа Crowdin, Lokalise.
А как же рассказать про Localizable.stringsdict? Ведь так часто требуется локализация с плюрализацией. Сколько отважных разработчиков положило головы создавая свои велосипеды, а ведь можно было…
Я как раз один из таких разработчиков) Спасибо за подсказку.
Такое «руководство» было написано у ray wenderlich еще в 2011 году. Ценность статьи сомнительна, хотя любой труд нужно уважать. Кстати, почему ни слова не сказано о genstrings?
Странно публиковать этот пост в наши дни, чтоб описать процесс ручной локализации и не упомянуть ничего о утилитах.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий