![]() |
Мобильная Торговля
|
Версия
|
Начиная с версии 4.1.5 (55) внедрена новая система локализации расширений.
Основные изменения в новой системе локализации:
Для подключения локализации в Манифест необходимо добавить следующее поле:
"locales": { "ru_RU": "langs/my_ru.lng", "en_US": "langs/my_en.lng", ... }
где "ru_RU", "en_US" и т.п. соответствуют языку перевода, а значение поля соответствует имени файла с переводом.
С версии 4.6.31 появилась возможность использовать несколько файлов с переводами. Для этого в поле со значением необходимо указать массив путей к файлам:
"locales": { "ru_RU": [ "langs/my_ru.lng", "newLangs/my_ru.lng" ], "en_US": [ "langs/my_en.lng", "newLangs/my_en.lng" ] ... }
Приориет определяется расположением файла в массиве - чем ближе к концу, тем выше. Поиск файла ведется сначала относительно манифеста, затем в папке с ресурсными расширениями, затем в папке с индивидуальными расширениями. Если файл найден по одному из путей, поиск прекращается.
Поддерживаются следующие языки:
ru_RU - русский
en_US - английский
az_AZ - азербайджанский
uk_UA - украинский
ka_GE - грузинский
Формат файла перевода:
# Комментарий: Переводы для манифеста [manifest] Ключ = Значение Title = Название # Переводы для data-скрипта и шаблона [content] Ключ = Значение Amount = Сумма Price = Цена
Чтобы перевести строку в манифесте, необходимо написать функцию qsTr(Ключ):
"title": "qsTr(Outlet report)"
Обратите внимание, что ключ в манифесте передается без кавычек. На данный момент в манифесте перевод поддерживается для полей "title" и "group.group_title"
Чтобы перевести строку в data-скрипте, нужно написать функцию qsTr("Ключ"):
function data() { var str1_tr = qsTr("Sum") // В str1_tr попадет значение из файла перевода текущего языка var str2 = "Price" var str2_tr = qsTr(str2) // В str2_tr попадет значение из файла перевода текущего языка }
Чтобы перевести строку в шаблоне, необходимо интерполировать функцию qsTr("Ключ"):
<h3> {{ qsTr("Sum") }} </h3>
Если для заданного языка не будет найден файл перевода, или в файле не будет найдено значение, то будет возвращено значение ключа из функции qsTr, поэтому удобно в качестве ключей использовать слова для языка по умолчанию, но можно использовать и другие ключи, например "AMOUNT_STR".
Динамические переводы
Чтобы подключить динамический перевод, пропишите внутри тэга <head> в HTML-шаблоне {{ TRANSLATION|safe }}
После подключения станет доступна функция qsTr("Ключ")
, работающая аналогично статической версии.