При работе с веб-клиентом 1С:Предприятия пользователи нередко сталкиваются с ситуацией, когда элементы интерфейса, такие как кнопки или системные меню, отображаются на английском языке (например, "Create" вместо "Создать"), несмотря на то что в настройках пользователя явно указан русский язык. Более того, региональные настройки могут влиять на форматирование дат, чисел и даже на вывод сумм прописью в печатных формах, что приводит к некорректному отображению информации. Давайте разберем, как можно решить эту проблему и принудительно установить желаемый язык и региональные настройки, игнорируя системные установки операционной системы или браузера.
Для эффективного управления языком и региональными параметрами в веб-клиенте 1С:Предприятия, нам необходимо понимать приоритет, с которым система определяет эти настройки. Система использует многоступенчатый механизм, где одни настройки могут переопределять другие. Мы рассмотрим различные подходы, начиная с наиболее приоритетных.
Прежде чем перейти к решениям, выясним, как система определяет язык пользовательского интерфейса платформы и региональные настройки. Этот процесс имеет следующую иерархию приоритетов (от высшего к низшему):
Accept-Language браузера.Понимание этой иерархии позволит нам выбрать наиболее подходящий и эффективный метод для решения нашей задачи.
Самый надежный способ принудительно установить язык интерфейса и региональные настройки — это использовать специальные параметры в адресной строке браузера при запуске веб-клиента. Этот метод имеет наивысший приоритет и переопределяет все остальные настройки.
LДля указания языка интерфейса платформы используйте параметр L=<код языка>. Этот параметр определяет, на каком языке будут отображаться системные элементы управления, меню, стандартные команды и т.д.
Рассмотрим примеры кодов языков, которые вы можете использовать:
azenarhybghuvieskaesitkkzhlvltdeplrorutrukfrЕсли вы хотите, чтобы интерфейс отображался на русском языке, даже если у пользователя системные настройки английские, вы должны добавить ?L=ru к адресу вашей информационной базы.
Пример:
Предположим, адрес вашей информационной базы: http://localhost/myApp.
Для запуска с русским интерфейсом:
http://localhost/myApp?L=ru
Для запуска с английским интерфейсом:
http://localhost/myApp?L=en
VLПросто установка языка интерфейса не всегда решает проблему с форматированием дат, чисел или выводом сумм прописью в печатных формах. За эти аспекты отвечают региональные установки. Для их принудительного задания используйте параметр VL=<код локализации сеанса>.
Параметр VL влияет на:
ЧислоПрописью() и ПредставлениеПериода().Коды локализации обычно состоят из кода языка и кода страны, разделенных нижним подчеркиванием. Например, ru_RU для русского языка и России, en_US для английского языка и США.
Пример:
Для запуска с русским интерфейсом и русскими региональными настройками (даты, суммы прописью):
http://localhost/myApp?L=ru&VL=ru_RU
Этот метод является наиболее мощным и позволяет вам полностью контролировать языковые и региональные параметры для каждого запуска веб-клиента. Вы можете создать закладки в браузере с этими параметрами для каждого пользователя или настроить ярлыки на рабочем столе.
Если вы хотите установить язык для конкретного пользователя, но не желаете каждый раз передавать параметры в адресной строке, мы можем использовать настройки пользователя в режиме "Конфигуратор". Этот метод имеет более низкий приоритет, чем параметры в URL, но более высокий, чем настройки браузера или ОС.
Разберем по шагам, как это сделать:
Важный момент: Эти настройки влияют только на язык интерфейса платформы для данного пользователя. Они не влияют напрямую на региональные настройки (формат дат, чисел, суммы прописью), которые могут быть определены другими механизмами или параметром VL из предыдущего решения.
Мы также можем повлиять на региональные установки для всей информационной базы. Этот способ особенно полезен, если вы хотите, чтобы все пользователи по умолчанию использовали определенные форматы даты, времени и чисел, независимо от их локальных системных настроек.
Рассмотрим, как настроить региональные установки информационной базы:
Этот метод позволяет обеспечить единообразное форматирование данных для всех пользователей, работающих с данной информационной базой, исключая влияние локальных настроек. Однако, как мы помним, параметры L и VL в адресной строке имеют более высокий приоритет и могут переопределить даже эти настройки.
Помимо явного указания языка и региональных установок, система 1С также учитывает предпочтения веб-браузера и настройки операционной системы, но с более низким приоритетом. Проанализируем эти аспекты:
Если параметры L и VL не указаны в адресной строке, и настройки в конфигураторе не переопределяют их, система 1С анализирует HTTP-заголовок Accept-Language, который веб-браузер отправляет веб-серверу. Этот заголовок содержит список предпочтительных языков, настроенных в браузере пользователя.
Посмотрим, как это работает:
Accept-Language (например, en-US,en;q=0.9,ru;q=0.8).en-US, а доступен только en), система усекает искомое название языка (из en-US ищет en).en).Именно из-за этих настроек браузера часто возникает ситуация, когда часть интерфейса отображается на английском, если в браузере первым стоит английский язык.
Настройки операционной системы имеют самый низкий приоритет. Если язык платформы не прописан явно ни одним из вышеописанных способов, 1С использует региональные настройки и язык, установленные по умолчанию в операционной системе, на которой запущен веб-сервер и/или браузер (хотя для веб-клиента это менее критично, чем для тонкого/толстого клиента).
conf.cfgМы также можем глобально задать язык платформы на сервере или клиентской машине (если речь идет о толстом/тонком клиенте, но это менее применимо к веб-клиенту). Это делается путем добавления строки SystemLanguage=RU в файл conf.cfg. Обычно этот файл находится по пути C:\Program Files (x86)\1cv8\conf\conf.cfg. Изменения в этом файле влияют на язык платформы в целом для всех информационных баз, запускаемых с данного экземпляра платформы.
Критически важно учитывать, что языки, поддерживаемые конфигурацией, определяются на этапе ее разработки. Если конфигурация изначально не содержит перевода на русский язык, то полностью переключить ее интерфейс на русский язык только средствами платформы не получится. В таком случае потребуется доработка конфигурации.
Для гарантированного запуска 1С через веб-клиент с русским языком интерфейса и русскими региональными настройками, мы рекомендуем использовать комбинацию подходов:
L=ru&VL=ru_RU. Это обеспечивает максимальный контроль и переопределяет все остальные настройки. Вы можете создать для пользователей готовые ярлыки или ссылки.VL не указан, форматы будут соответствовать вашим требованиям.Применяя эти шаги, мы можем быть уверены, что интерфейс 1С:Предприятия и все региональные настройки будут корректно отображаться на русском языке, независимо от локальных настроек браузера или операционной системы пользователя. Всегда тестируйте изменения, чтобы убедиться в желаемом результате.