Андрей Субботин рассказал про ужасы локализации и как с ними бороться на пошаговом примере: от «Эврика, нам нужно перевести проект на язык Х!» до «Как не прострелить себе ногу, когда у вас есть Xcode, разработчики, переводчики и дедлайн».
Были рассмотрены все базовые инструментаы локализации (genstrings, ibtool) и способы их использования.
30. en.lproj/Localizable.strings
/* A text string to be output to the logs. */
"Some sample text" = "Some sample text";
ru.lproj/Localizable.strings
/* A text string to be output to the logs. */
"Some sample text" = "Некий примерный текст";
30
58. Babelyoda
избавляет от
рутинной ручной работы
сводит количество багов
при локализации к
минимуму
58
59. генерирует .strings
из кода и XIB’ов загружает .strings
в Tanker
забирает из Tanker’а
свежие переводы
обновляет
XIB файлы
аккуратно все
коммитит в git
PROFIT!!
101. Английский текст в качестве ключа
NSLocalizedString(@"Tap Here", @"Action button title");
NSLocalizedString(@"TapButtonTitle", @"Action button title");
101
102. Английский текст в качестве ключа
WelcomeButtonTitle
WelcomeTitle
ButtonTitleWelcome
WelcomeTITLE
WelcomeBtnTitle
102
111. Twine
“String Management for iOS,
Mac OS X, and Android
Development”
— http://www.mobiata.com/blog/2012/02/08/twine-string-management-ios-mac-os-x
111