10. Добавить языковую переменную

О языках, переводах и языковых переменных

CS-Cart — мультиязычная платформа. Поддержка нескольких языков осуществляется с помощью специальных «языковых переменных». Практически все статические тексты представляют из себя языковые переменные. Каждая языковая переменная имеет значение для разных языков. При этом описания объектов (товаров, страниц и т.д.) не являются языковыми переменными.

Все языковые переменные в коде платформы имеют специальный синтаксис и перед названием имеют два нижних подчёркивания, например {__("first_addon.video")}.

Если у языковой переменной нет значения в базе данных, то она выглядит в браузере так:

Крайне рекомендуется вставлять любые тексты с помощью языковых переменных.

Вы можете просмотреть, создать или изменить языковые переменные на странице «Переводы» в панели администратора.

Примечание

Администрирование → Языки → Перевод

Есть несколько способов создать языковые переменные:

  • В панели администратора.

    Для исправления существующих текстов.

  • С помощью импорта .po файла.

    Для массового перевода платформы

  • С помощью модуля

    Практически каждый модуль содержит и создаёт языковые переменные

Создадим языковую переменную с помощью модуля

Нам нужно создать языковую переменную first_addon.video .

  1. Создайте po файл с именем вашего модуля в папке /var/langs для нужных языков.

    /var/langs/en/addons/first_addon.po - для английского языка

  2. В созданном файле добавьте заголовок и языковые переменные:

     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 файла обязательно оставляйте одну пустую строку.

  3. Переустановите модуль в панели администратора

    Было Стало
    Первый модуль Первый модуль

Отлично теперь Вы умеете добавлять языковые переменные.

Идём дальше.