При работе с базами данных 1С через веб-клиент часто возникает ситуация, когда интерфейс программы или форматы отображения дат и чисел не соответствуют ожиданиям пользователя. Даже если операционная система сервера и сама платформа установлены на русском языке, браузер может отображать элементы управления (кнопки «ОК», «Отмена», календари) на английском. Разберем подробно, как можно управлять локализацией веб-публикации и какие механизмы приоритетности существуют в платформе 1С:Предприятие.
Самый простой и быстрый способ изменить язык для конкретного сеанса — это добавление кода локализации непосредственно в адресную строку браузера. Рассмотрим, как это работает на практике. Стандартный путь к информационной базе выглядит так: http://server/base_name/. Чтобы принудительно запустить сеанс на русском языке, мы можем изменить путь, добавив код страны и языка.
Проанализируем примеры формирования ссылок:
http://localhost/DB/ru_RU/http://localhost/DB/en_US/Важный момент: Платформа чувствительна к регистру символов в URL. Использование ru_ru вместо ru_RU может не привести к желаемому результату. Код должен состоять из двух строчных букв языка, нижнего подчеркивания и двух прописных букв страны.
Также существуют дополнительные параметры запроса, которые можно передавать в конце URL после знака вопроса. Это особенно полезно, если структура пути не позволяет вставлять код языка в середину строки:
L=ru — устанавливает язык пользовательского интерфейса.V8HL=ru — устанавливает язык региональных настроек (форматы дат, чисел).Пример полной строки с параметрами: http://server/DB/?L=ru&V8HL=ru.
Рассмотрим ситуацию, когда пользователям неудобно каждый раз вводить код языка в адресной строке или когда внешние системы аутентификации (например, OIDC-провайдеры) «забывают» часть URL при перенаправлении. В этом случае нам поможет «жесткая» фиксация настроек на стороне веб-сервера.
Для этого нам необходимо отредактировать файл default.vrd, который создается в каталоге публикации при выполнении команды «Опубликовать на веб-сервере». Найдем в корневом элементе point атрибут vl (Virtual Language). Если его нет, добавим его вручную.
Пример конфигурации файла default.vrd с принудительной локализацией:
<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
base="/DB"
ib="Srvr="Server1C";Ref="DB";"
vl="ru_RU">
<ws>
<point name="WebServiceName" alias="ws1.1cws"/>
</ws>
</point>
Указание параметра vl="ru_RU" заставит веб-сервер игнорировать настройки браузера и всегда отдавать интерфейс на русском языке для всех пользователей данной публикации.
Иногда проблема кроется глубже: интерфейс переведен, а даты (например, в печатных формах или отчетах) все равно выводятся в западном формате. В этом случае нам нужно проанализировать настройки в Конфигураторе.
Эти настройки влияют на то, как платформа интерпретирует типы данных «Дата» и «Число» на уровне ядра системы.
Выясним причину, по которой настройки могут не подхватываться на серверах под управлением Ubuntu или других дистрибутивов Linux. Часто веб-сервер (например, Apache) запускается от имени пользователя www-data, профиль которого не содержит переменных окружения локали.
Проанализируем шаги по исправлению ситуации для Apache2:
/etc/default/apache2 или /etc/apache2/envvars).
export LANG=ru_RU.UTF-8
export LC_ALL=ru_RU.UTF-8
sudo systemctl restart apache2.Чтобы эффективно диагностировать проблемы с языком, важно понимать, в каком порядке платформа ищет настройки локализации. Проанализируем этот список от самого высокого приоритета к самому низкому:
/ru_RU/ или параметры ?L=ru. Это перекрывает всё остальное.vl в default.vrd.SystemLanguage в файле conf.cfg на сервере.Accept-Language, который браузер отправляет при каждом запросе. Платформа берет первый язык из списка предпочтений браузера.Практический совет: Если вы изменили настройки, но в браузере ничего не поменялось, обязательно очистите кэш браузера или попробуйте открыть базу в режиме инкогнито. Платформа 1С сохраняет информацию о выбранной локали в cookie, и старые данные могут мешать применению новых правил.