Создание и хранение локализованных привязанных данных
Glossary Item Box
Таблица хранения локализованных привязанных данных SysPackageDataLcz
Для хранения локализированных данных привязок была создана дополнительная таблица, структура которой представлена ниже в таблице 1.
Табл. 1. — Основные колонки таблицы SysPackageDataLcz
Название колонки | Описание |
---|---|
Id | Уникальный идентификатор. |
SysPackageSchemaDataId | Ссылка на уникальный идентификатор привязки в таблице SysPackageSchemaData. |
SysCultureId | Ссылка на уникальный идентификатор культуры. |
Data | Локализированные данные. |
Создание привязанных данных
В случае если схема не содержит локализированных колонок, привязанные данные для этой схемы хранятся в таблице SysPackageSchemaData. Однако если в схеме присутствуют локализированные колонки, то созданная привязка данных для этой схемы будет храниться следующим образом:
- Нелокализированные данные содержатся в таблице SysPackageSchemaData.
- Локализированные данные размещены в таблице SysPackageDataLcz.
- Каждая запись в SysPackageDataLcz соответствует записи в SysPackageSchemaData, ссылаясь на уникальный идентификатор культуры SysCultureId. Например, если в системе установлены две культуры — английская и русская, то каждой записи в таблице SysPackageSchemaData будут соответствовать две записи в таблице SysPackageDataLcz со ссылкой на соответствующий идентификатор записи в таблице SysPackageSchemaData, а также на идентификатор культуры в таблице SysCulture.
Установка привязанных данных
Установка данных для схемы, которая не содержит локализированных колонок, происходит в таблицу соответствующей схемы. Если в привязанных данных есть локализированные значения, т.е. в таблице SysPackageDataLcz есть соответствующие записи, то установка происходит не только в таблицу соответствующей схемы, но и в ее локализированную таблицу Sys[имя схемы]Lcz.
Например, устанавливаются привязанные данные для схемы ContactType. Нелокализированные данные будут установлены в таблицу ContactType, а локализированные данные будут установлены и в таблицу ContactType (значения дефолтной культуры), и в таблицу SysContactTypeLcz (значения всех остальных культур, которые есть в привязке и в системе).
Если ваша схема является системной, т. е. ее название начинается с префикса "Sys", то для локализированной таблицы префикс "Sys" повторно добавлен не будет. Например, если схема называется SysTest1, то таблица локализированных данных будет называться не SysSysTest1Lcz, а SysTest1Lcz.
Хранение привязанных данных в SVN
Структура хранения привязанных данных схем в SVN отображена на рисунке 1.
Рис. 1. — Структура хранения привязанных данных в SVN
Нелокализированные данные хранятся в файле data.json. Все локализированные данные размещены в соответствующих файлах в подкаталоге Localization. Например, для схемы Country пакета Base данные локализированы только для двух языков и хранятся в соответсвующих файлах — data.en-US.json и data.ru-RU.json (рис. 1).