Translations: IRdsDictionaryTranslations;
Свойство Translations возвращает коллекцию настроек, содержащих параметры перевода справочники НСИ на различные языки.
Изначально в коллекции содержится настройка для языка, установленного по умолчанию для репозитория пользователя. Чтобы настройки из коллекции применялись к справочнику НСИ для него должен быть разрешен перевод на другие языки, т.е. свойство IRdsDictionaryTranslations.IsOn установлено в True.
Для выполнения примера предполагается наличие репозитория НСИ, содержащего справочник НСИ. Идентификатор репозитория - «RDS_REPO», справочника - «RDS_DICT». Для репозитория пользователя русский язык установлен по умолчанию. Также необходимо добавить ссылки на системные сборки «Metabase» и «Rds».
Sub UserSub;
Var
Mb: IMetabase;
RdsRepoDescr: IMetabaseObjectDescriptor;
RdsDict: IRdsDictionary;
DictTransl: IRdsDictionaryTranslations;
AttrTransl: IRdsAttributeTranslations;
Attr: IRdsAttribute;
Begin
Mb := MetabaseClass.Active;
RdsRepoDescr := Mb.ItemById("RDS_REPO");
RdsDict := Mb.ItemByIdNamespace("RDS_DICT", RdsRepoDescr.Key).Edit As IRdsDictionary;
DictTransl := RdsDict.Translations;
// Указываем, что справочник будет переводиться на различные языки
DictTransl.IsOn := True;
// Проверяем, существует ли настройка с параметрами перевода справочника на английский язык
If DictTransl.FindByLocale(LocaleCodeID.English_UnitedStates) = Null Then
// Настройка отсутствует,
добавляем ее
DictTransl.Add(LocaleCodeID.English_UnitedStates);
End If;
// Задаем наименование справочника для русского и английского языков
DictTransl.Name(LocaleCodeID.Russian) := "Справочник государств";
DictTransl.Name(LocaleCodeID.English_UnitedStates) := "States dictionary";
// Получаем параметры атрибута "NAME"
Attr := RdsDict.Attributes.FindById("NAME");
AttrTransl := Attr.Translations;
// Указываем, что атрибут будет переводиться на различные языки
AttrTransl.IsOn := True;
// Задаем наименование атрибута "NAME" для русского и английского языков
AttrTransl.Name(LocaleCodeID.Russian) := "Наименование государства";
AttrTransl.Name(LocaleCodeID.English_UnitedStates) := "State name";
// Сохраняем изменения
(RdsDict As IMetabaseObject).Save;
End Sub UserSub;
После выполнения примера справочник НСИ будет настроен для работы с русским и английским языками. Будут заданы наименования справочника и наименования атрибута «NAME» для отображения на данных языках.
См. также: