Диалоговые окна и вкладки Data Standard автоматически поддерживают 12 языков.
Текстовые строки для этих языков определяются в файлах XML. Они расположены в указанной ниже папке.
C:\ProgramData\Autodesk\<версия Vault>\Extensions\DataStandard\<папка локализации>
где <код языка> — это имя папки для языка (например, ru-RU, de-DE, it-IT).
Каждая папка языка содержит два файла:
Эти файлы можно дополнить для поддержки различных языков в адаптированных диалоговых окнах Data Standard.
По умолчанию язык, используемый для перевода строк интерфейса и свойств Data Standard, совпадает с языковой версией установленного клиента Vault. Однако это поведение можно переопределить, изменив файл DSLanguages.xml, который находится в указанной ниже папке.
C:\ProgramData\Autodesk\<версия Vault>\Extensions\DataStandard
Настройте файл DSLanguages.xml корректно. Измените язык БД вручную на язык сервера, например en-US. Оставьте строку Language Code ID=UI пустой. Это позволит Vault Client считывать метки свойств, сообщения и заголовки из источника на основе активного пакета локализации (например, для чтения значений из файла de-DE\UIString.xml).
<Language_Code ID="DB">en-US</Language_Code>
<Language_Code ID="UI"></Language_Code>
Измените значения категорий в файле UIStrings.xml: имена категорий в диалоговых окнах VDS со списком категорий не отображаются, если язык клиента отличается от языка сервера. Поэтому рекомендуется заменить имена категорий в файле UIStrings.xml именами, которые соответствуют языку сервера хранилища. См. изображение ниже.
Для Inventor и AutoCAD язык определяется автоматически и не может быть задан. Data Standard пытается использовать тот же язык, который задан в приложении САПР. Если в приложении САПР используется язык, не поддерживаемый в Data Standard, в качестве альтернативы будет применен английский.
Язык базы данных Vault не связан с приложениями САПР, поскольку в Data Standard используются сопоставленные свойства (свойства Inventor iProperties, AutoCAD DWG и атрибуты блока).
Пример: UIStrings.xml
<?xml version="1.0" encoding="utf-8"?>
<UIStrings LanguageCode="en-US">
<UIString ID="LBL1">Folder</UIString>
<UIString ID="LBL2">Title</UIString>
<UIString ID="LBL3">Description</UIString>
...
</UIStrings>
Файл XML содержит элемент <UIStrings>
с атрибутом LanguageCode
для указания языка. Элемент <UIStrings>
представляет собой коллекцию элементов <UIString>
. Идентификатор атрибута должен быть уникальным. Для собственных строк специалисты Autodesk рекомендуют использовать префикс (например, ID="MYPREFIX_LBL1"). Значение элемента является текстовой строкой.
Строки интерфейса можно использовать в различных компонентах Data Standard с помощью следующих выражений.
XAML-файлы: UIString[<ID>]
Например, <Label Content="{Binding UISTring[LBL2]}"/>
Этот объект ищет в файле UIStrings.xml (на основании используемого языка) элемент <UIString>
с идентификатором LBL2, возвращает строку Title и отображает ее в качестве метки в диалоговом окне.
Файлы PowerShell: $UIString["<ID>"]
Файл MenuDefinitions.xml: $UIString[<ID>]
. В VDS 2017 файл MNU был заменен файлом MenuDefinitions.xml.
Он может использоваться в переменных Description
, Hint
, Label
и NavigationTypes
определения элемента меню. Дополнительные сведения см. в файле MenuDefinitions.xml.
Добавление меток в сетке динамических свойств категорий. По умолчанию первый столбец сетки динамических свойств категорий содержит имена свойств (имена систем).
$UIString[<ID>]
, сопоставленной с именем системы. Чтобы просмотреть имя системы для пользовательского свойства, добавьте столбец «Имя системы» в сетку в разделе «Администрирование Vault» > «Типы поведения» > «Свойства» > «Создать/Изменить свойства».$UIString[<ID>]
, которая сопоставлена с пользовательским свойством iProperty (Inventor), пользовательским свойством файла (AutoCAD) или именем атрибута блока (AutoCAD). Локализованное обозначение позволяет динамически переопределять метку. <UIString ID ="7b6a617f-bf95-426f-a2fl-b4d0e9eec0a3">Zeichnungs-Titel</UIString>
Результат в сетке динамических категорий для en-US для клиента, запущенного в версии de-DE:
Пример: PropertyTranslations.xml
<?xml version="1.0" encoding="utf-8"?>
<PropertyTranslations LanguageCode="en-US">
<PropertyTranslation Name="NAME">Name</PropertyTranslation>
<PropertyTranslation Name="TITLE">Title</PropertyTranslation>
<PropertyTranslation Name="DESCRIPTION">Description</PropertyTranslation>
...
</PropertyTranslations>
Файл XML содержит элемент <PropertyTranslations>
с атрибутом LanguageCode
для указания языка. Элемент <PropertyTranslations>
представляет собой коллекцию элементов <PropertyTranslation>
. Атрибут Name
должен быть уникальным. Значение элемента является отображаемым именем свойства Vault.
В файлах XAML и PowerShell доступ к свойствам Vault можно получить с помощью выражений Prop[<property name>]
. Вместо фиксированного имени свойства можно использовать следующий синтаксис.
XAML-файлы: <TextBox Text="{Binding Prop[_XLTN_<Name>].Value}"
Например: <TextBox Text="{Binding Prop[_XLTN_DESCRIPTION].Value}"/>
Объект prefix_XLTN_
в приведенном выше примере ищет в файле PropertyTranslations.xml элемент <PropertyTranslation>
с именем DESCRIPTION и заменяет все выражение _XLTN_DESCRIPTION
значением Description. Содержимое текстового поля затем связывается с элементом Description для свойства Vault.
Файл PowerShell: $Prop["_XLTN_<Name>"].Value