Диалоговые окна и вкладки Data Standard автоматически поддерживают 12 языков.
Текстовые строки для этих языков определяются в файлах XML. Они расположены в указанной ниже папке.
C:\ProgramData\Autodesk\<версия Vault>\Extensions\DataStandard\<папка локализации>
<код языка> — это имя папки для языка (например, ru-RU, de-DE, it-IT).
Эти файлы можно дополнить для поддержки различных языков в адаптированных диалоговых окнах Data Standard.
Vault Client
По умолчанию язык, используемый для перевода строк интерфейса и свойств Data Standard, совпадает с языковой версией установленного клиента Vault. Однако это поведение можно переопределить, изменив файл DSLanguages.xml, который находится в указанной ниже папке.
C:\ProgramData\Autodesk\<версия Vault>\Extensions\DataStandard\Vault
Настройте файл 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"> <!--Labels used in XAMLs--> <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 с помощью следующих выражений.
Например, <Label Content="{Binding UISTring[LBL2]}"/>.
Этот объект ищет в файле UIStrings.xml (на основании используемого языка) элемент <UIString> с идентификатором LBL2, возвращает строку Title и отображает ее в качестве метки в диалоговом окне.
Файл MenuDefinitions.xml: $UIString[<идентификатор>]. В VDS 2017 файл MNU был заменен файлом MenuDefinitions.xml.
Этот объект можно использовать в переменных Description, Hint, Label и NavigationTypes определения элемента меню. Дополнительные сведения см. в файле MenuDefinitions.xml.
Обратите внимание, что для Vault Client Data Standard метка извлекается из строки $UIString[<идентификатор>], сопоставленной с именем системы. Чтобы просмотреть имя системы для пользовательского свойства, добавьте столбец «Имя системы» в сетку в разделе «Администрирование Vault» > «Типы поведения» > «Свойства» > «Создать/Изменить свойства».
Для Data Standard для Inventor и AutoCAD метка извлекается из строки $UIString[<идентификатор>], которое сопоставлено с пользовательским свойством iProperty (Inventor), пользовательским свойством файла (AutoCAD) или именем атрибута блока (AutoCAD). Локализованное обозначение позволяет динамически переопределять метку.
Пример UIString:
<!--In case of Vault, use system name of the property which is usually a GUID. --> <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[<имя свойства>]. Вместо фиксированного имени свойства можно использовать следующий синтаксис.
Например: <TextBox Text="{Binding Prop[_XLTN_DESCRIPTION].Value}"/>.
Объект prefix_XLTN_ в указанном выше примере ищет в файле PropertyTranslations.xml элемент <PropertyTranslation> с именем DESCRIPTION и заменяет все выражение _XLTN_DESCRIPTION значением Description. Содержимое текстового поля затем связывается с элементом Description для свойства Vault.