10. Добавить языковую переменную¶
О языках, переводах и языковых переменных¶
CS-Cart — мультиязычная платформа. Поддержка нескольких языков осуществляется с помощью специальных «языковых переменных». Практически все статические тексты представляют из себя языковые переменные. Каждая языковая переменная имеет значение для разных языков. При этом описания объектов (товаров, страниц и т.д.) не являются языковыми переменными.
Все языковые переменные в коде платформы имеют специальный синтаксис и перед названием имеют два нижних подчёркивания, например {__("first_addon.video")}
.
Если у языковой переменной нет значения в базе данных, то она выглядит в браузере так:
Крайне рекомендуется вставлять любые тексты с помощью языковых переменных.
Вы можете просмотреть, создать или изменить языковые переменные на странице «Переводы» в панели администратора.
Примечание
Администрирование → Языки → Перевод
Есть несколько способов создать языковые переменные:
В панели администратора.
Для исправления существующих текстов.
С помощью импорта .po файла.
Для массового перевода платформы
С помощью модуля
Практически каждый модуль содержит и создаёт языковые переменные
Создадим языковую переменную с помощью модуля¶
Нам нужно создать языковую переменную first_addon.video
.
Создайте po файл с именем вашего модуля в папке
/var/langs
для нужных языков./var/langs/en/addons/first_addon.po
- для английского языкаВ созданном файле добавьте заголовок и языковые переменные:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
msgid "" msgstr "Project-Id-Version: tygh" "Content-Type: text/plain; charset=UTF-8\n" "Language-Team: English\n" "Language: en_US" msgctxt "Addons::name::first_addon" msgid "first addon" msgstr "first addon" msgctxt "Addons::description::first_addon" msgid "description first addon" msgstr "description first addon" msgctxt "Languages::first_addon.video" msgid "YouTube Embed Code" msgstr "Код от видео с YouTube"
Обязательно добавляйте значения для английского и русского языков.
Addons::name::
- используется для названия аддона.Addons::description::
- используется для описания аддона.Languages::
- используется для языковых переменных.В
msgid
указывается ид переменной, вmsgstr
указывается значение переменной, которое будет отображаться.Примечание
При использовании в переводе
"
экранируйте их. В конце po файла обязательно оставляйте одну пустую строку.Переустановите модуль в панели администратора
Было Стало
Отлично теперь Вы умеете добавлять языковые переменные.
Идём дальше.