В стандартном дистрибутиве Вебасиста доступны только 2 языка для отображения различных строк интерфейса пользователя: русский и английский. Для добавления дополнительных языков следуйте приведенной ниже инструкции.
-
Убедитесь, что на веб-сервере установлена локаль для языка, который вы добавляете. Например, в операционных системах на базе Linux список установленных локалей можно посмотреть, выполнив в консоли сервера команду
locale -a
Если локаль с требуемым идентификатором на сервере не установлена, установите ее самостоятельно, либо обратившись к администратору сервера. -
В конфигурационный файл wa-config/locale.php (если такого файла нет, его нужно создать) добавьте строку с идентификатором локали нового языка, общепринятым для POSIX-совместимых операционных систем, как показано в примере:
<?php return array( 'en_US', 'ru_RU', 'fr_FR', /* добавляем локаль французского языка */ );
- Создайте конфигурационный файл новой локали в директории wa-system/locale/data/, например, wa-system/locale/data/fr_FR.php — для французского языка. Содержимое файла необходимо сформировать по аналогии с существующими файлами других локалей.
-
Создайте системный файл локализации, расположив его на сервере по адресу вида wa-system/webasyst/locale/fr_FR/LC_MESSAGES/webasyst.po (пример для французского языка). Проще всего сделать это, скопировав аналогичную директорию с файлами локализации английского языка и заменив имя директории на идентификатор локали нового языка.
В созданном файле с расширением .po для поля Plural-Forms укажите условие определения формы множественного числа для добавляемого вами языка. Примеры таких условий можно найти на сайте проекта Translate Project.
Пример условия для французского языка:
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
В поле Language в этом файле укажите идентификатор локали, например:"Language: fr_FR\n"
Переведите все необходимые строки в этом файле с помощью редактора, предназначенного для обработки файлов в формате .po, например, Poedit, и с его помощью скомпилируйте файл с расширением .mo: wa-system/webasyst/locale/fr_FR/LC_MESSAGES/webasyst.mo. Для остальных приложений, используемых в вашем бекенде, создайте соответствующие копии файлов локализации, расположенные по адресам вида wa-apps/[app_id]/locale/[locale]/LC_MESSAGES/[app_id].po и wa-apps/[app_id]/locale/[locale]/LC_MESSAGES/[app_id].mo.После завершения перевода может потребоваться перезагрузка веб-сервера для применения переведенных строк локализации.
- Создайте копию файла локализации для инструментов выбора дат wa-content/js/jquery-ui/i18n/jquery.ui.datepicker-ru_RU.js с идентификатором новой локали вместо ru_RU в этом примере. Например: wa-content/js/jquery-ui/i18n/jquery.ui.datepicker-fr_FR.js. Переведите на новый язык строки локализации в созданной копии файла.
- Создайте копию файла локализации для визуального текстового редактора wa-content/js/redactor/ru.js с идентификатором новой локали вместо ru. Например: wa-content/js/jquery-ui/i18n/jquery.ui.datepicker-fr.js. Переведите на новый язык строки локализации в созданной копии файла.
- Очистите кеш в «Инсталлере».
- Выберите новый язык в профилях сотрудников, для которых нужно отображать интерфейс Вебасиста на этом языке.
1 комментарий