Языковые файлы (интернационализация)

Вызов значения из языкового файла осуществляется с использованием статичного метода Core::_(), аргументом передается ключ и название значения, например:

echo Core::_('Supermodule.title');

Языковые файлы размещаются в директории modules, путь к языковому файлу содержит имя ключа, разделителем служит символ «_», директории i18n и файла с названием языка.

Например, при выводе значения для Supermodule и русского языка будет загружен файл modules/supermodule/i18n/ru.php

Расширение языковых файлов для модулей

В случае добавления пользовательских полей в стандартные модули возникает необходимость расширить или переопределить языковые файлы, добавив в них требуемые значения. Расширение производится вызовом метода expandLng(), в который передается имя ключа и массив значений.

Core_I18n::instance()->expandLng('shop',
    array(
        'title' => 'Новый заголовок',
        'myfield' => 'Мое поле',
    )
);

Не нашли ответ на свой вопрос в документации? Направьте обращение в службу поддержки или онлайн чат.

Комментарии

  • Без темы

    А как быть, если разные переопределения нужны для разных сайтов?

    01.02.2017 12:52:38
    EZ-Web

    Без темы

    Третьим аргументом передается язык, по умолчанию будет текущий.
    function expandLng($className, array $value, $lng = NULL)

    01.02.2017 13:00:09
    hostcms

    Без темы

    имелось ввиду не для разных языковых версий, а для разных сайтов в рамках одной установки CMS

    01.02.2017 16:10:06
    EZ-Web

    Без темы

    Так эта интернационализация модулей общая, она целиком для центра администрирования, а не для разных сайтов.

    01.02.2017 16:37:02
    hostcms

    Без темы

    ок, там есть определение заголовов писем при заказе и оплате.
    если нужно для разных сайтов переопределить эти заголовки, но они должны быть разные, то как быть в этом случае?

    01.02.2017 16:51:14
    EZ-Web

    Без темы

    Этот вопрос уже не для этого раздела. Обратитесь в поддержку.

    01.02.2017 16:55:29
    hostcms

    Без темы

    уже есть запрос [1994]

    01.02.2017 17:06:43
    EZ-Web
  • Без темы

    Расширение языковых файлов для стандартных модулей - не понятно куда загружать этот файл и как подключать?

    01.02.2016 16:55:21
    Владимир

    Без темы

    Чаще всего подключают в bootstrap.php внутри условия if (Core_Auth::logged()),
    чтобы при генерации клиентского раздела не использовалось.

    02.02.2016 16:43:16
    hostcms