Локализация строковых ресурсов
Кроме текста в .xib необходимо локализовать текстовые строки, которые будут выводиться приложением.
В карте действий приложения iBountyHunter пользователю предлагается выбрать между съемкой на камеру, выбором существующей фотографии и отменой. Текст кнопок генерируется на программном уровне и нуждается в переводе.
Для текстов такого рода, называемых строковыми ресурсами, в iOS используются строковые файлы. Обычно для каждого поддерживаемого языка создается отдельный файл с описанием смысла строки, ее версией на языке по умолчанию и переведенной версией.
Построение строковых файлов.
Строковые файлы можно создавать вручную, но намного проще сгенерировать их в Xcode. Для этого Xcode ищет макросы локализации, загружающие переведенный текст. Для поддержки локализованных строк используются макросы NSLocalizedString.
Если в коде используются макросы NSLocalizedString, то строковый файл генерируется командой genstrings в режиме командной строки genstringsо English.lproj .m /.m.
Команда выполняется для каждой поддерживаемой локализации. Она создает в заданном каталоге файл Localized.strings, который можно передать переводчикам. Строковые файлы включаются в проект Xcode так же, как и любые другие ресурсы; после их включения iOS во время выполнения использует тексты из соответствующего файла на основании языка, выбранного пользователем для своего устройства.
iOS обладает мощными средствами локализации, в числе которых управление представлением денежных сумм, времени и даты; наше описание дает лишь общее представление об этой теме. Фирма Apple прилагает к Xcode ряд документов по темам интернационализации и локализации, которые помогут вам в более сложных ситуациях.
iOS кэширует ресурсы!
Если вы установили приложение до локализации, система iOS могла закэшировать ресурсы в прежнем состоянии. Чтобы увидеть переводы, придется удалить приложение и установить его заново!
- Дата: 14-01-2015, 17:04