Как добавить новый язык в панель управления
Нередко встаёт вопрос: каким образом можно добавить в панель управления новый язык и перевести панель не него? Рассмотрим в текущей статье как добавить, например, шведский язык в 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>
Где — 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>
Где Svenska — название языка.
После того, как оба файла добавлены, необходимо перезапустить панель командой:
killall core
В 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
В новом файле ispmgr_msg_sv.xml меняем <lang name="en"> на <lang name="sv">.
В итоге мы получаем файл шведского языка, в котором уже есть все возможные сообщения, которые используются в панели управления. Остаётся только перевести сообщения в файле с английского на шведский язык.
Чтобы изменения вступили в силу требуется перезапуск панели управления.