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