Проблема
Добавлен новый язык (локализация) через веб-интерфейс в меню Настройки → Локализации, но он не появляется в выпадающем списке языков на странице авторизации.
Это ожидаемое поведение. Локализация, добавленная через веб-интерфейс, по умолчанию недоступна на странице входа. Для её отображения требуется дополнительная настройка в базе данных (БД).
Если язык добавляется вручную по инструкции Добавление нового языка в платформу, то он сразу появляется на странице авторизации. Это происходит, потому что при ручном создании языкового файла billmgr_msg_<locale_name>.xml в таблицу БД locale автоматически добавляется запись embedded='on'. При добавлении через веб-интерфейс эта запись не создаётся.
Решение
Вмешательство в базу данных предполагает потенциальный риск. Мы не рекомендуем вносить ручные правки в базу, поскольку это может нарушить корректную работу платформы.
Перед внесением изменений в БД создайте резервную копию платформы.
Чтобы добавленная через веб-интерфейс локализация была доступна на странице авторизации, добавьте запись о ней в БД BILLmanager:
- Определите locale_id нужной локализации в разделе Настройки → Локализации. Если столбец id отсутствует, включите его в меню
→ Отображать поля → включите опцию Id → кнопка Выбрать.
- Подключитесь к серверу с платформой по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
-
Введите команду:
mysql billmgr -e 'update locale set embedded="on" where id="locale_id"'Пояснения - Очистите кеш БД BILLmanager:
rm /usr/local/mgr5/var/.db.cache.* -f -
Перезапустите BILLmanager:
/usr/local/mgr5/sbin/mgrctl -m billmgr exit
Связанные статьи: