Нередко встаёт вопрос: каким образом можно добавить в панель управления новый язык и перевести панель не него? Рассмотрим в текущей статье как добавить, например, шведский язык в ISPmanager.

Обратите внимание!

Описанный способ не применим для интерфейса BILLmanager 6.

Как добавить свой язык?


Чтобы в поле выбора языков появился шведский язык необходимо создать файл /usr/local/mgr5/etc/xml/ispmgr_msg_sv.xml со следующим содержанием:

<?xml version="1.0" encoding="UTF-8"?>
<mgrdata>
<lang name="sv">
</lang>
</mgrdata>
BASH

Где — sv произвольное значение. Обычно соответствует коду языка.

Чтобы язык отображался не как sv, а в панели отображалось название языка, необходимо добавить файл /usr/local/mgr5/etc/xml/core_mod_sv.xml со следующим содержанием:

<?xml version="1.0" encoding="UTF-8"?>
<mgrdata>
<lang name="en">
       <messages name="label_langs">
       <msg name="sv">Svenska</msg>
       </messages>
</lang>
</mgrdata>
BASH

Где Svenska — название языка.

После того, как оба файла добавлены, необходимо перезапустить панель командой:

killall core
BASH

В ISPmanager появится возможность выбрать шведский язык на странице логина и на странице изменения языка пользователя.

Как изменить язык панели управления


Аналогично добавляется новый язык в любую другую панель управления ISPsystem. Единственным отличием будет то, что файл ispmgr_msg_<язык>.xml нужно называть в соответствии с именем панели, то есть для BILLmanager файл будет называться billmgr_msg__<язык>.xml, для VMmanager файл будет называться vmmgr_msg__<язык>.xml и т.д.

Как сделать перевод панели на этот язык?


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

Первый способ

В панели управления переключаемся на новый язык. Это можно сделать на странице логина или в настройках пользователя. Так как мы ещё не создавали сообщения для шведского языка, то весь интерфейс будет на английском. Потому что английский — язык по-умолчанию.

Выделяем в панели любой текст, который хотим перевести и нажимаем Ctrl + Enter, откроется окно, в котором вводим перевод.

Как перевести нужный элемент в панели управления на другой язык


После того, как введено новое сообщение и изменения сохранены (на форме нажали Ok), то в интерфейсе моментально изменится сообщение на новое.

Как перевести нужный элемент в панели управления на другой язык


Все изменения, которые будут производиться с помощью Ctrl + Enter будут сохраняться в файл /usr/local/mgr5/etc/xml/ispmgr_mod_local_msg.xml.

Впоследствии, как перевод будет завершён, получится, что все сообщения языка находятся в файле ispmgr_mod_local_msg.xml.

В итоге получится три файла языка:

  • core_mod_sv.xml — содержит название языка. Файл необходим, чтобы в списке выбора языка отображалось название языка, а не его короткое обозначение;
  • ispmgr_msg_sv_msg.xml — файл с описанием языка;
  • ispmgr_mod_local_msg.xml — файл с описанием языка и всеми переведёнными сообщениями.

Можно объединить файлы ispmgr_msg_sv_msg.xml и ispmgr_mod_local_msg.xml. То есть скопировать все сообщения из ispmgr_mod_local_msg.xml в ispmgr_msg_sv_msg.xml. Либо переименовать ispmgr_mod_local_msg.xml в ispmgr_msg_sv_msg.xml, но тогда новые правки по Ctrl + Enter запишутся в новый файл ispmgr_mod_local_msg.xml.

Второй способ

Первый способ позволяет делать перевод напрямую из интерфейса панели, но не всегда это удобно и не все сообщения удаётся перевести таким образом. Рассмотрим ещё один вариант перевода панели на какой-либо язык, в нашем примере это шведский.

Берём за основу файл с английскими сообщениями ispmgr_msg_en.xml и копируем его.

cp /usr/local/mgr5/etc/xml/ispmgr_msg_en.xml /usr/local/mgr5/etc/xml/ispmgr_msg_sv.xml
BASH

В новом файле ispmgr_msg_sv.xml меняем <lang name="en"> на <lang name="sv">.

В итоге мы получаем файл шведского языка, в котором уже есть все возможные сообщения, которые используются в панели управления. Остаётся только перевести сообщения в файле с английского на шведский язык.

Чтобы изменения вступили в силу требуется перезапуск панели управления.