Добавление признака мультиязычия в схему объекта
Glossary Item Box
Общие сведения
Зачастую возникает необходимость в локализации одной или нескольких колонок схемы объекта. То есть некоторые данные записи должны быть представлены в базе данных на нескольких языках. Соответствующие значения должны отображаться в зависимости от культуры пользователя. Для этих целей существует механизм мультиязычия данных.
Для создания схемы объекта с локализуемыми колонками необходимо выполнить такие действия:
1. Создать новую или замещающую схему объекта.
2. При необходимости добавить колонки, которые должны быть локализованы. В свойствах колонок установить признак [Локализуемый текст].
ВАЖНО Локализовать можно только текстовые колонки. |
Описание кейса
Создать схему объекта [Локализуемый объект], в которой колонка [Название] должна быть локализуемой.
Алгоритм выполнения кейса
1. Создание схемы объекта
Подробно создание схемы объекта рассмотрено в статье "Создание схемы объекта". По условиям кейса необходимо создать схему объекта со следующими свойствами (рис. 1):
- [Заголовок] — "Локализуемый объект";
- [Название] — "UsrEntityToLocalize";
- [Родительский объект] — "Базовый объект".
Рис. 1. — Свойства схемы [Локализуемый объект]
2. Добавление колонок, которые должны быть локализованы
По условию кейса для созданной схемы необходимо добавить колонку со следующими свойствами:
- [Заголовок] — "Название";
- [Название] — "UsrName". Префикс Usr должен соответствовать системной настройке [Префикс названия объекта];
- [Тип данных] — "Строка 50 символов".
Как добавить колонку в схему объекта описано в статье "Создание схемы объекта".
В свойствах добавленной колонки объекта необходимо установить признак [Локализуемый объект] (рис. 2). Этот признак отображается в расширенном режиме дизайнера объектов (см. "Дизайнер объектов").
Рис. 2. — Свойства колонки [Название]
Для применения установленных значений схему необходимо опубликовать.
После публикации схемы объекта UsrEntityToLocalize в базе данных для нее будет создана специальная таблица локализации SysUsrEntityToLocalizeLcz, в которой будут храниться локализованные данные для всех колонок, отмеченных как локализуемые.
Примеры добавления данных в таблицу локализации с помощью экземпляров класса Entity, а также примеры чтения таких данных приведены в статье "Работа с локализуемыми данными с помощью Entity". Примеры чтения локализуемых данных с помощью EntitySchemaQuery рассмотрены в статье "Чтение мультиязычных данных с помощью EntitySchemaQuery".