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
См. также: