Вход для клиентовВход для клиентов О компании

Помощь » База знаний » Общие вопросы » Полезная информация для владельцев скриптов »

Перевод интерфейса новых приложений WebAsyst

В новых приложениях WebAsyst (Поддержка, Контакты, Фото, раздел «Команда») используется новый механизм локализации интерфейса, использующий программную библиотеку gettext. Для нового механизма локализации еще не создан специальный инструмент, поэтому, чтобы перевести интерфейс таких приложений на другой язык, следуйте данной инструкции. В этой статье в качестве примера описано добавление перевода на французский язык для приложения WebAsyst Поддержка.

В скриптах WebAsyst отдельные приложения обозначаются двухбуквенными кодами. Используйте следующие коды для выполнения данной инструкции:

Поддержка — ST
Фото — PD
Команда — UG

Примечание: для перевода интерфейса приложения Контакты необходимо выполнить перевод раздела «Команда».
  1. Чтобы добавить новый язык в аккаунт пользователя WebAsyst, добавьте в файл kernel/languages.csv строку вида

    код_языка    Название_языка    utf-8

    Например, так выглядит содержимое этого файла с добавленным французским языком:

    eng    English    utf-8
    rus    Russian    utf-8
    gem    German    utf-8
    fra    French    utf-8
    Внимание: между элементами строки в этом файле необходимо вставлять символ табуляции. Это удобно сделать, скопировав одну из имеющихся в файле строк и изменив ее содержимое.
    Совет: если при попытке сохранить изменения в каком-либо файле вы увидите сообщение о недостаточных правах доступа, увеличьте права доступа к такому файлу, например, на 664 или 666 и права доступа к директории, в которой он находится, на 775 или 777. После редактирования файла права доступа можно вернуть на первоначальные.
  2. Активируйте вновь добавленный язык на странице «Installer -> Настройки -> MySQL-сервер» и сохраните изменения.

  3. Скачайте на свой компьютер файл с именем вида webasystID_ПРИЛОЖЕНИЯ.po из одной из поддиректорий внутри директории published/ID_ПРИЛОЖЕНИЯ/locale/ - например, файл для английского языка published/ST/locale/en/LC_MESSAGES/webasystST.po. На основе этого файла позже будет создан аналогичный файл для нового (в данном случае французского) языка.

  4. Установите на своем компьютере программу Poedit, которая используется для редактирования строк локализации, обрабатываемых библиотекой gettext. Откройте с помощью этой программы скачанный файл ранее webasystST.po. В окне программы отобразятся строки, используемые в интерфейсе приложения. Выделите курсором строку, которую необходимо перевести, и введите в нижнем окне текст на вновь добавленном языке, как показано на рисунке:

  5. После перевода всех строк используйте пункт меню «Файл -> Сохранить», чтобы сохранить сделанные изменения. При сохранении программа создаст в той же папке на вашем компьютере еще один файл с расширением .mo, т.е., webasystST.mo.

  6. Создайте на сервере в директории published/ID_ПРИЛОЖЕНИЯ/locale/ поддиректорию вида код_языка/LC_MESSAGES/, например, published/ST/locale/fr/LC_MESSAGES/ и загрузите в нее оба файла: webasystST.po и webasystST.mo.

  7. Внимание: для перевода на новый язык строк, не связанных непосредственно с определенным приложением WebAsyst (например, элементов общего интерфейса аккаунта или системных сообщений) следует использовать аналогичные файлы локализации (system.mo и system.po) в директории system/locale/, например, system/locale/fr/LC_MESSAGES/system.mo и system/locale/fr/LC_MESSAGES/system.po.
  8. Раскомментируйте в файле system/app_mode.php следующую строку, как показано ниже:

    define("DEVELOPER", true);
  9. Запустите функцию перевода JavaScript-файлов WebAsyst. Для этого откройте в новой вкладке браузера адрес (URL) вида http://АДРЕС_УСТАНОВКИ_WEBASYST/published/ID_ПРИЛОЖЕНИЯ/lc.php, например,  http://mydomain.ru/published/ST/lc.php.

    Для перевода системных строк локализации в директории system/locale/ необходимо также запустить файл system/lib/localization/localization.php, например, http://mydomain.ru/system/lib/localization/localization.php.

Внимание: если WebAsyst установлен на Windows-сервере, переведенные файлы могут не подключиться автоматически. В этом случае необходимо перезапустить веб-сервер.

После загрузки страницы перевод интерфейса будет завершен. Чтобы увидеть сделанные изменения в аккаунте WebAsyst, выберите для вашего пользователя вновь добавленный язык в разделе «Мои настройки» или «Команда» в секции «Аккаунт пользователя» и откройте приложение, для которого выполнялся перевод интерфейса на другой язык — в данном примере WebAsyst Поддержку.