Справочный центр

Подготовка к локализации приложений Cordova

Как подготовить к локализации проект, разработанный в среде Cordova
При проектировании и разработке приложения с учетом его последующей локализации нужно следовать правилам, указанным ниже
Даже если вы разрабатываете приложение, которое предназначено для одной культуры или региона, необходимо использовать файлы для хранения строк и других ресурсов, отображаемых в пользовательском интерфейсе. Никогда не следует добавлять их непосредственно в код. При размещении текстовых ресурсов (и не только, бинарные данные можно хранить, к примеру, в виде base64 кода в тех же текстовых файлах) в отдельных файлах у вас есть возможность выбрать соответствующий языку и региональным параметрам. Для решения этой задачи применяются 2 расширения (plugin): Cordova Localization String Plugin и Cordova Globalization Plugin.
Cordova Localization String Plugin хранит все строки в json-файле. Пример содержимого json-файла приложения zh-Hans.json:
{
    "locale": {
        "ios": ["zh-Hans"],
        "android": ["zh-rCN"]
    },
    "config_ios": {
        "NSCameraUsageDescription": "扫描二维码",
        "CFBundleDisplayName": "应用程序名称",
        "CFBundleName": "应用程序名称"
    },
    "config_android": {
        "app_name": "应用程序名称"
    },
    "app": {
        "HAVE_MAIL_TITLE": "你收到了邮件",
        "HAVE_MAIL_MSG": "%1$@给您发送了封邮件,标题为\\\"%2$@\\\""
    }
}
Если вам нужно сменить язык, то вам необходимо добавить соответствующий json-файл со строками соответствующей локализации, а в коде описать класс менеджера ресурсов, который будет подгружать необходимый файл локализации.
При выводе строк, дат, чисел, валюты необходимо применять соответствующий текущей культуре формат вывода. Для этого и применяется расширение Cordova Globalization Plugin.
Все остальные параметры, такие как номера телефонов, адреса, единицы измерения (длины, веса, площади, объема и температуры и т.д.), а также специфические характеристики региона (такие как размеры (форматы) бумаги, используемой в стране и т.д.), вам надо уже рассчитывать программно, т.е. написав соответствующий код для преобразования.
Готовое к локализации приложение разделяется на два логических блока. Один из них (json-файлы и бинарные файлы) содержит все элементы пользовательского интерфейса, а другой — исполняемый код. Блок пользовательского интерфейса содержит только локализуемые элементы, например строки, сообщения об ошибках, текст в диалоговых окнах, пункты меню и т. д. для нейтрального языка и региональных параметров (английский по умолчанию, к примеру). Блок кода содержит только код приложения, который будет одинаковым для всех поддерживаемых языков и региональных параметров.
Для каждой локализованной версии приложения добавьте новый json-файл, который содержит локализованный блок пользовательского интерфейса, учитывающий все требования целевого языка и региональных параметров. Подготовьте отдельно бинарные файлы, такие как файлы аудио, изображения и видео. Блок кода должен оставаться одинаковым для всех языков и региональных параметров. Объединение локализованной версии блока пользовательского интерфейса с блоком кода создает новую локализованную версию приложения.
Формат json-файлов текстовый – это позволяет очень просто экспортировать и импортировать текстовые строки в эти файлы. Соответственно на перевод отдаются json-файлы.
Мы предлагаем для их локализации использовать наш онлайн-сервис alingvo (войти можно по кнопке ниже). Как загрузить файлы на перевод можно прочитать тут. Также можно настроить т.н. непрерывную локализацию, когда файлы из проекта передаются на перевод и собираются обратно по определенному расписанию.
После перевода json-файлы раскладываются по нужным папкам это также можно сделать вручную или автоматически.
Проект собирается и подготавливается к распространению, и вы получаете интернациональное приложение со встроенными функциями локализации и всеми необходимыми локализованными артефактами.