5.1 Язык интерфейса платформы и локализация в 1С
❓ 5.1 В процессе разработки прикладного решения можно использовать:
📚 Документация
Заголовок раздела «📚 Документация»-
1С:Предприятие 8 — Язык интерфейса платформы
— https://v8.1c.ru/platforma/yazyk-interfeysa-platformy/ -
1С:Предприятие 8 — Язык
— https://v8.1c.ru/platforma/yazyk/ -
1С:Предприятие 8 — НСтр()
— https://v8.1c.ru/platforma/nstr/
🧠 Краткая теория
Заголовок раздела «🧠 Краткая теория»В вопросе 1.12 см. Язык интерфейса в 1С мы уже разбирали, каким образом можно локализовать интерфейс в 1С.
В 1С есть несколько разных механизмов, связанных с языком.
Их важно не смешивать между собой:
- язык интерфейса платформы;
- языки прикладного решения;
- региональные установки;
- язык пользователя;
- язык разработки.
Язык интерфейса платформы
Заголовок раздела «Язык интерфейса платформы»Язык интерфейса платформы определяет, на каком языке будут отображаться элементы самой платформы.
Например:
- меню;
- системные диалоги;
- системные сообщения;
- справка;
- часть интерфейсных элементов платформы.

То есть это язык не конкретной конфигурации, а именно технологической платформы 1С:Предприятие.
На данный момент интерфейс платформы локализован на 24 языка:
- Азербайджанский;
- Английский;
- Арабский;
- Армянский;
- Болгарский;
- Венгерский;
- Вьетнамский;
- Греческий;
- Грузинский;
- Испанский;
- Итальянский;
- Казахский;
- Китайский;
- Латышский;
- Литовский;
- Немецкий;
- Польский;
- Португальский;
- Румынский;
- Русский;
- Турецкий;
- Туркменский;
- Украинский;
- Французский.
Как выбирается язык платформы
Заголовок раздела «Как выбирается язык платформы»Язык интерфейса платформы может быть выбран несколькими способами.
При установке платформы
Заголовок раздела «При установке платформы»Во время установки можно выбрать языки интерфейса, которые будут доступны пользователю.

Через конфигурационный файл
Заголовок раздела «Через конфигурационный файл»Язык платформы можно указать в конфигурационном файле conf.cfg
Обычно он расположен в каталоге: C:\Program Files\1cv8\conf.
Для этого используется параметр:
SystemLanguage=RUНапример, значение RU означает русский язык интерфейса платформы.
Через параметр запуска
Заголовок раздела «Через параметр запуска»Язык интерфейса платформы можно указать и при запуске 1С.
Для этого используется параметр запуска:
/LНапример:
/L EN
Через настройки запуска в конфигураторе
Заголовок раздела «Через настройки запуска в конфигураторе»В конфигураторе язык интерфейса системы можно указать через меню:
Сервис → Параметры → Запуск 1С:Предприятия → Дополнительные → Язык интерфейса системы
Язык прикладного решения
Заголовок раздела «Язык прикладного решения»Отдельно от языка платформы в конфигурации существует объект метаданных Язык.
Он используется для локализации интерфейса прикладного решения.
С его помощью можно задавать разные варианты текстов для:
- форм;
- команд;
- заголовков;
- подсказок;
- сообщений;
- других интерфейсных элементов конфигурации.
Например, одна и та же форма может иметь русские и английские заголовки, если в конфигурации добавлены соответствующие языки.
Язык пользователя
Заголовок раздела «Язык пользователя»Для каждого пользователя информационной базы можно указать язык интерфейса.
Этот язык выбирается из объектов метаданных Язык, которые есть в конфигурации.
Именно язык пользователя используется при работе с прикладным решением:
- для отображения интерфейса;
- для вывода пользовательских сообщений;
- для выбора нужного варианта локализованных строк.
Если язык у пользователя не задан, используется основной язык конфигурации.
Локализация сообщений в коде
Заголовок раздела «Локализация сообщений в коде»Если сообщение формируется в коде, его тоже нужно локализовать.
Для этого используется функция НСтр.
Она позволяет задать варианты одной строки на разных языках конфигурации.
Неправильно
Заголовок раздела «Неправильно»ОбщегоНазначения.Сообщить("Все ок");Такой текст будет всегда выводиться одинаково, независимо от языка пользователя.
Правильно
Заголовок раздела «Правильно»ОбщегоНазначения.Сообщить( НСтр("ru='Все ок'; en='Everything is all right'"));В этом случае пользователь увидит сообщение на том языке, который определен для него в информационной базе.
Региональные установки
Заголовок раздела «Региональные установки»Еще один отдельный механизм — региональные установки.
Они отвечают не за перевод интерфейса, а за правила представления данных.
Например:
- формат даты;
- формат времени;
- формат чисел;
- представление логических значений;
- правила сортировки.
То есть язык интерфейса и региональные настройки — это не одно и то же.
Язык разработки
Заголовок раздела «Язык разработки»Отдельно существует язык разработки.
Встроенный язык 1С поддерживает два варианта написания конструкций:
- русский;
- английский.
Например, в коде можно использовать русские или английские ключевые слова.
Но язык разработки не определяет язык интерфейса пользователя.
Можно писать код на русском языке, а интерфейс прикладного решения показывать пользователю на английском. И наоборот.
Ключевой момент
Заголовок раздела «Ключевой момент»Язык платформы, язык конфигурации, региональные установки и язык разработки — это разные механизмы.
Язык платформы отвечает за интерфейс самой платформы.
Объект Язык в конфигурации отвечает за локализацию прикладного решения.
Язык пользователя определяет, какой вариант интерфейсных текстов увидит конкретный пользователь.
А язык разработки влияет только на то, как разработчик пишет код.
Главное
Заголовок раздела «Главное»Язык интерфейса пользователя определяется не только языком установленной платформы.
Для прикладного решения важны:
- какие объекты Язык есть в конфигурации;
- какой язык выбран у пользователя;
- локализованы ли интерфейсные тексты;
- применяет ли разработчик функцию НСтр для сообщений в коде.
Поэтому при разработке мультиязычного решения недостаточно просто установить платформу на другом языке.
