Локализация
Локализация приложения позволяет пользователю видеть надписи в интерфейсе приложения на том языке, который он использует для работы (порядок определения языка локализации). Подобные надписи могут располагаться на таких элементах, как:
- команды меню;
- заголовки кнопок, полей, переключателей и т. д.;
- строки, формируемые алгоритмами на встроенном языке.
Полный список компонентов, поддерживающих подстановку готовых локализованных строк, можно посмотреть здесь.
Языки локализации и язык по умолчанию
Чтобы локализация приложения стала возможной, в описании проекта должны быть заданы языки локализации и один из них должен быть указан как язык по умолчанию. Например:
Ид: 64d5452a-9771-4623-b589-c440739364a4
РежимСовместимости: 5.0
Поставщик: e1c
Имя: DemoProject
Версия: 1.0
Представление: "Demo CRM"
ЯзыкиЛокализации:
- Русский
- Английский
ЯзыкПоУмолчанию: Русский
Если не указать ни одного языка, это будет означать, что проект не нуждается в локализации. В качестве языков локализации можно выбрать только те, которые являются значениями перечисления Язык.
Элемент проекта вида «ЛокализованныеСтроки»
Используйте элемент проекта вида ЛокализованныеСтроки для хранения строк, которые должны быть переведены на другие языки. Эти строки могут использоваться в различных элементах и модулях проекта.
Чтобы создать элемент проекта вида ЛокализованныеСтроки, выполните след ующие действия:
-
Щелкните правой кнопкой мыши по имени нужной подсистемы и выберите Новый ⟶ Элемент проекта в контекстном меню.

-
В открывшемся меню нажмите Локализованные Строки.

-
Введите имя создаваемого элемента проекта.
-
«1С:Исполнитель» предложит вам добавить файлы локализации на других языках. Нажмите Создать, чтобы автоматически добавить раздел локализации к проекту. Если вы хотите создать этот раздел позднее, нажмите Закрыть.

Элемент проекта вида ЛокализованныеСтроки содержит имена локализуемых строк и их значения на языке по умолчанию. Блоки идентификаторов разделены на две секции:
-
Строки
Строки можно использовать в описании элементов проекта и во встроенном языке.
-
Шаблоны
Шаблоны можно использовать только во встроенном языке. В них можно подставлять значения переменных.
Пример:
ВидЭлемента: ЛокализованныеСтроки
Ид: d0adc076-d030-4546-bd1a-8b497668b0fc
Имя: ЛокализованныеСтроки
ОбластьВидимости: ВПроекте
Строки:
Мероприятия: Мероприятия
Задачи: Задачи
События: События
Событие: Событие
Роль: Роль
Шаблоны:
ТекущееВремя: "Текущее время: %0"
СозданаЗадача: "Создана задача \"$0\""
СозданоСобытие: "Создано событие \"$0\""
Вы можете указать нужные строки как в YAML-файле, так и в палитре свойств элемента проекта вида ЛокализованныеСтроки.

Раздел проекта «Локализация»
Строки, которые должны быть локализованы, указываются в элементе проекта ЛокализованныеСтроки. Чтобы сохранить в проекте их значения на другом языке (язык может быть только тот, который вы указали в описании проекта в свойстве ЯзыкиЛокализации), вы должны добавить к проекту раздел Локализация. Если вы не сделали этого при создании элемента проекта вида ЛокализованныеСтроки, вы можете добавить этот раздел следующим образом:
-
Щелкните правой кнопкой мыши по имени нужной подсистемы и выберите Новый ⟶ Локализации в контекстном меню.

-
Добавьте язык локализации, на который нужно перевести строки. Для этого щелкните правой кнопкой мыши по разделу Локализация и нажмите Новый ⟶ Язык локализации.

-
Выберите язык локализации в открывшемся меню.
-
Создайте новый элемент локализации. Щелкните правой кнопкой мыши по разделу с языком локализации и выберите Новый ⟶ Элемент локализации.

-
Введите имя элемента локализации. Оно должно совпадать с именем элемента проекта вида ЛокализованныеСтроки. «1С:Исполнитель» отобразит список существующих элементов проекта типа Локализованные Строки, из которого вы можете выбрать нужное имя.
В результате структура проекта будет выглядеть следующим образом:

Элемент локализации должен содержать только секции с именами и значениями локализуемых строк. Например:
Строки:
Мероприятия: Activities
Задачи: Tasks
События: Events
Событие: Event
Роль: Role
Шаблоны:
ТекущееВремя: "Current time: %0"
СозданаЗадача: "Task \"$0\" created"
СозданоСобытие: "Event \"$0\" created"