[FAQ] Как удалить ненужную локализацию из iOS-приложения

ipa-icon

Если вы хотите увидеть на нашем сайте ответы на интересующие вас вопросы обо всём, что связано с техникой, программами и сервисами Apple, iOS или Mac OS X, iTunes Store или App Store, задавайте их на форуме AppStudio. Ответы на самые интересные из них будут появляться в материалах данной рубрики. К нам поступил следующий вопрос:

Здравствуйте!

У меня необычный вопрос к вам) Можно ли как-нибудь выкинуть из приложения для iOS не нужные мне языки? Некоторые проги так переводят на русский, что ими пользоваться не хочется, потому что ни черта не понятно. И далеко не все шрифты адаптируются под кириллицу, из-за чего всё разъезжается и не умещается на своих местах.

Насколько я знаю, программы, которые качаются из App Store, подписываются эппловским сертификатом и поменять их содержимое невозможно. Локализаций это тоже касается?

Спасибо.

Здравствуйте!

Поддерживаем вас полностью. Про некоторые программы можно действительно сказать, что лучше бы их не пытались переводить. Если в результате русификации понятность интерфейса становится хуже, чем в английской локализации, то ценность такой русификации стремится к нулю.

К счастью, избавиться от кривых переводов программ можно. Вы правы в том, что программы из App Store защищаются от модификации цифровой подписью, и переподписать их без взлома этой цифровой подписи невозможно. Но цифровая подпись защищает файлы внутри программы от изменения, но не от удаления :)

План действий будет такой:

  • найдите нужное вам iOS-приложение в iTunes или скачайте его из App Store на компьютер
  • из списка приложений iTunes вытащите программу на рабочий стол
  • поменяйте расширение с IPA на ZIP и распакуйте программу любым архиватором
  • вы увидите примерно такую структуру файлов и папок (чего-то конкретно в вашем случае может не быть, но папка Payload присутствует всегда)

inside-ipa

  • если вы в Windows, то сам файл приложения, лежащий внутри папки Payload, будет восприниматься системой как папка. Если вы в OS X, в контекстном меню файла приложения нужно будет выбрать пункт «Показать содержимое пакета»
  • из начинки файла программы нужно будет выкинуть папку ru.lproj
  • после этого надо запаковать приложение обратно. Выделите все папки и файлы, которые были распакованы, и создайте из них ZIP-архив, сохранив их первоначальную структуру
  • поменяйте расширение с ZIP на IPA
  • по двойному клику откройте IPA в iTunes и согласитесь на перезапись старой версии программы новой

Останется залить обновлённый IPA-файл на устройство.

Минус всей вышеописанной процедуры в том, что после любого апдейта приложения вам придётся повторять её снова… если конечно разработчики случайно не подготовят нормальную локализацию :))