При совместном использовании обычного и управляемого интерфейса в режиме толстого клиента разработчики нередко сталкиваются с ситуацией, когда стандартные или вновь созданные управляемые формы неожиданно открываются на английском языке. При этом основная конфигурация разработана на русском языке, а параметры командной строки принудительно задают русскую локаль. Проанализируем ситуацию детально, выясним причины такого поведения платформы и разберем по шагам все возможные способы устранения неполадки.
Первым делом проверим базовые параметры самой информационной базы, которые определяют язык интерфейса сеанса:
ОсновнойЯзык указан русский язык./L ru и /VL ru_RU.Если базовые настройки заданы верно, но управляемые формы продолжают открываться на английском языке, необходимо исследовать метаданные конфигурации:
КодЯзыка. Стандартное значение для платформы — двухбуквенный код ru. Если там указано нестандартное значение (например, rus), платформа при обработке ключа /L ru не сможет сопоставить системный язык с языком метаданных и переключится на альтернативный вариант.Заголовок и Подсказка.Платформа «1С:Предприятие» считывает глобальные настройки из файла conf.cfg, который может переопределять поведение локализации независимо от параметров запуска конкретной базы.
Рассмотрим, где находится этот файл и что в нем нужно проверить:
%ProgramFiles%\1cv8\conf (или bin\conf в папке конкретной версии платформы).conf.cfg в текстовом редакторе.SystemLanguage. Если операционная система имеет англоязычный интерфейс, а параметр установлен в значение SystemLanguage=System или SystemLanguage=EN, платформа принудительно переключает системные элементы форм на английский.SystemLanguage=RU
Сохраним изменения в файле и перезапустим сеанс «1С:Предприятия».
Когда приложение запускается в режиме обычного приложения (RunModeOrdinaryApplication), управляемые формы функционируют через специальный встроенный хост. При этом контекст запуска имеет важные архитектурные особенности:
МодульУправляемогоПриложения в таком режиме не вызываются.ПриНачалеРаботыСистемы модуля управляемого приложения или модуля обычного приложения, встроенный хост управляемых форм может не получить эти данные вовремя.МодульСеанса в обработчик события УстановкаПараметровСеанса:
Процедура УстановкаПараметровСеанса(ТребуемыеПараметры)
// Инициализация общих параметров сеанса,
// доступных как в обычном, так и в управляемом контексте
КонецПроцедуры
Для проверки этой гипотезы запустим приложение принудительно в режиме чистого управляемого приложения, добавив в строку запуска параметр /RunModeManagedApplication. Если в этом режиме формы открываются корректно на русском языке, причину следует искать в разделении контекстов обычного и управляемого приложения.
Системные кнопки («Save and Close», «More actions» и стандартные команды) отображаются на английском языке, если в самой операционной системе отсутствует требуемый языковой пакет платформы «1С:Предприятие»:
1cv8.exe и очистим каталоги пользовательского кэша в папках %LocalAppData%\1C\1cv8 и %AppData%\1C\1cv8.Последовательная проверка метаданных конфигурации, настроек файла conf.cfg и установленных языковых пакетов позволяет гарантированно локализовать сбой и вернуть русскоязычный интерфейс управляемых форм.