Перейти к содержимому

❓ 5.1 В процессе разработки прикладного решения можно использовать:


В вопросе 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С поддерживает два варианта написания конструкций:

  • русский;
  • английский.

Например, в коде можно использовать русские или английские ключевые слова.

Но язык разработки не определяет язык интерфейса пользователя.

Можно писать код на русском языке, а интерфейс прикладного решения показывать пользователю на английском. И наоборот.


Язык платформы, язык конфигурации, региональные установки и язык разработки — это разные механизмы.

Язык платформы отвечает за интерфейс самой платформы.

Объект Язык в конфигурации отвечает за локализацию прикладного решения.

Язык пользователя определяет, какой вариант интерфейсных текстов увидит конкретный пользователь.

А язык разработки влияет только на то, как разработчик пишет код.


Язык интерфейса пользователя определяется не только языком установленной платформы.

Для прикладного решения важны:

  • какие объекты Язык есть в конфигурации;
  • какой язык выбран у пользователя;
  • локализованы ли интерфейсные тексты;
  • применяет ли разработчик функцию НСтр для сообщений в коде.

Поэтому при разработке мультиязычного решения недостаточно просто установить платформу на другом языке.