Translation: PP.Rds.Attribute;
Свойство Translation определяет специальный атрибут для перевода наименования атрибута.
Значение свойства устанавливается с помощью метода setTranslation, а возвращается методом getTranslation. Из JSON значение задать нельзя.
Метод setTranslation имеет два атрибута: lcid - код языка, attr - атрибут для перевода.
При вызове метода getTranslation используется атрибут lcid.
Для выполнения примера:
Создайте компонент DictionaryBox с наименованием «dictionaryBox» (см. «Пример создания компонента DictionaryBox»).
Добавьте перевод на английский язык в справочнике НСИ с наименованием «Time units», который создавался на русском языке.
Смените язык в компоненте DictionaryBox
с русского на английский:

Выполните пример на странице описания конструктора Attribute.
Выполните пример на странице описания метода Attribute.parseFromMd.
Смените язык
с английского на русский. После смены языка появится новый атрибут
«Дата последнего изменения» с ключом 1805:

Выполните в консоли браузера код:
// Получим перевод по умолчанию
var translation = {
id: PP.Cultures.en.CultureName,
isDefault: false,
k: PP.Cultures.en.LCID,
locale: PP.Cultures.en.LCID
}
// Добавим созданный перевод в список доступных
source.setTranslation(translation);
// Укажем атрибут для перевода
attribute.setTranslation(translation.k, newAttr);
// Установим ключ главного атрибута
newAttr.setMasterAttrKey(attribute.getKey());
// Установим перевод для наименования атрибута
attribute.setTranslatedName(translation.k, attribute.getTranslation(translation.k).getName());
source._AttrsById[newAttr.getId()] = source._AttrsByKey[newAttr.getMasterAttrKey()] = attribute;
// Получим дерево элементов справочника
var tree = dictionaryBox.getDataArea().getActiveDictTree();
// Получим региональные настройки справочника по умолчанию
var defaultLocale = source.getDefaultTranslation();
console.log("Код региональных настроек по умолчанию: %s, идентификатор: " + defaultLocale.k, defaultLocale.id);
// Обработаем событие ElementsLocaleChanged
tree.ElementsLocaleChanged.add(function (sender, args) {
console.log("Код предыдущего языка: %s", args.OldLocale);
console.log("Код текущего языка: %s", args.NewLocale);
});
tree.setElementsLocale(translation.k);
// Обновим дерево элементов справочника
tree.refreshAll();
В результате выполнения примера наименования всех атрибутов были переведены с русского языка на английский:

В консоли браузера был выведен код текущего и предыдущего языка, а также код и идентификатор региональных настроек по умолчанию:
Код региональных настроек по умолчанию: ru_RU, идентификатор: 1049
Код предыдущего языка: 1049
Код текущего языка: 1033
См. также: