Okna dialogowe i karty, które są używane w programie Data Standard są automatycznie dostępne w dwunastu językach.
Ciągi tekstowe dla tych języków są zdefiniowane w plikach XML. Pliki znajdują się tutaj:
C:\ProgramData\Autodesk\<wersja programu Vault>\Extensions\DataStandard\<folder lokalizacji>
gdzie <kod języka> jest nazwą folderu dla danego języka (np. pl-PL, de-DE, it-IT).
Pliki te mogą zostać rozszerzone o obsługę różnych języków w niestandardowych oknach dialogowych programu Data Standard.
Vault Client
Domyślnie język używany w przypadku ciągów interfejsu użytkownika programu Data Standard i tłumaczeń właściwości jest taki sam jak język zainstalowanego klienta programu Vault. Jednak można to ustawienie nadpisać, modyfikując plik DSLanguages.xml znajdujący się w folderze:
C:\ProgramData\Autodesk\<wersja programu Vault>\Extensions\DataStandard\Vault.
Ustaw plik DSLanguages.xml poprawnie: Zmień język DB ręcznie na język serwera, na przykład pl-PL. Pozostaw pole Language Code ID=UI puste: Umożliwia on programowi Vault Client odczytanie etykiet właściwości, komunikatów i nagłówków ze źródła na podstawie aktywnego pakietu językowego (na przykład odczytanie wartości z pl-PL\UIString.xml).
<Language_Code ID="DB">en-US</Language_Code> <Language_Code ID="UI"></Language_Code>
Zmień wartości kategorii — UIStrings.xml: Nazwy kategorii w polach kombi Kategoria okien dialogowych programu VDS nie są wyświetlane, gdy język klienta jest inny niż język serwera. Dlatego zaleca się zmianę nazw kategorii w pliku UIStrings.xml na nazwy kategorii, które odpowiadają językowi serwera Vault. Patrz rysunek poniżej:
CAD
W przypadku programów Inventor i AutoCAD język jest określany automatycznie i nie można go ustawić. Program Data Standard próbuje użyć tego samego języka, który jest używany w aplikacji CAD. Jeśli w aplikacji CAD jest używany język, który nie jest obsługiwany przez program Data Standard, angielski jest używany jako rezerwowy.
Język bazy danych programu Vault nie jest istotny dla aplikacji CAD, ponieważ program Data Standard używa odwzorowanych właściwości (iProperties programu Inventor, właściwości DWG programu AutoCAD i atrybutów bloku).
Przykład: 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>
Plik XML zawiera element <UIStrings> z atrybutem LanguageCode określającym język. Element <UIStrings> jest kolekcją elementów <UIString>. Atrybut ID musi być unikatowy. Dla własnych ciągów firma Autodesk zaleca używanie przedrostka (np. ID="MOJPRZEDROSTEK_LBL1"). Wartością elementu jest ciąg tekstowy.
Używanie ciągów interfejsu użytkownika
Ciągi interfejsu użytkownika mogą być używane w różnych składnikach programu Data Standard za pomocą następujących wyrażeń:
Przykładowo <Label Content="{Binding UIString[LBL2]}"/>
W powyższym przykładzie w pliku UIStrings.xml (na podstawie użytego Language) wyszukiwany jest element <UIString> z ID LBL2 i zwracany jest ciąg tytułu, który jest wyświetlany jako etykieta w oknie dialogowym.
Plik MenuDefinitions.xml: $UIString[<ID>]. Plik MNU został zastąpiony plikiem MenuDefinitions.xml w programie VDS 2017.
Można tego użyć w zmiennych Description, Hint, Label i NavigationTypes definicji pozycji menu. Zobacz temat MenuDefinitions.xml-File, aby uzyskać więcej informacji.
Uwaga: W programie Vault Client Data Standard etykieta jest pobierana z elementu $UIString[<ID>], który jest odwzorowany na „Nazwę systemową”. Aby sprawdzić nazwę systemową właściwości zdefiniowanej przez użytkownika, dodaj kolumnę „Nazwa systemowa” do siatki w programie Vault: Administracja -> Zachowania -> Właściwości -> Utwórz/Edytuj właściwość.
W rozwiązaniu Data Standard dla programów Inventor i AutoCAD etykieta jest pobierana z elementu $UIString[<ID>], która jest odwzorowany na niestandardową właściwość iProperty (Inventor) lub niestandardową właściwość pliku (AutoCAD) albo nazwę atrybutu bloku (AutoCAD). Zlokalizowane oznaczenie umożliwia dynamiczne nadpisanie etykiety.
Przykład 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>
Wynik w siatce kategorii właściwości dynamicznych dla en-US i klienta uruchomionego z językiem de-DE:
Przykład: 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>
Plik XML zawiera element <PropertyTranslations> z atrybutem LanguageCode określającym język. Element <PropertyTranslations> jest kolekcją elementów <PropertyTranslation>. Atrybut Name musi być unikatowy. Wartością elementu jest nazwa wyświetlana właściwości programu Vault.
Używanie tłumaczeń właściwości
W pliku XAML i plikach PowerShell dostęp do właściwości programu Vault można uzyskać za pomocą wyrażeń Prop[<nazwa właściwości>]. Zamiast używać stałej nazwy właściwości, można użyć następującej składni:
Przykładowo: <TextBox Text="{Binding Prop[_XLTN_OPIS].Value}"/>
prefix_XLTN_ w powyższym przykładzie w pliku PropertyTranslations.xml wyszukuje element <PropertyTranslation> o nazwie OPIS i zastępuje całe wyrażenie _XLTN_DESCRIPTION wartością Opis. Zawartość pola tekstowego zostanie następnie powiązana z właściwością Opis programu Vault.