Le finestre di dialogo e le schede di Data Standard supportano automaticamente dodici lingue diverse.
Le stringhe di testo per queste lingue sono definite nei file XML. I file si trovano nel seguente percorso:
C:\ProgramData\Autodesk\<versione di Vault>\Extensions\DataStandard\<cartella lingua>
in cui <codice lingua> rappresenta il nome della cartella per una determinata lingua (ad esempio, en-US, de-DE, it-IT).
Questi file possono essere estesi per il supporto di più lingue nelle finestre di dialogo personalizzate di Data Standard.
Vault Client
Per default, la lingua utilizzata per le stringhe dell'interfaccia utente di Data Standard e per la traduzione delle proprietà coincide con quella del client di Vault installato. Tuttavia, questa impostazione può essere sovrascritta modificando il file DSLanguages.xml che si trova in:
C:\ProgramData\Autodesk\<versione di Vault>\Extensions\DataStandard\Vault.
Impostare DSLanguages.xml correttamente: modificare manualmente la lingua del database nella lingua del server, ad esempio en-US. Lasciare vuoto il codice lingua ID=UI: consente a Vault Client di leggere le etichette delle proprietà, i messaggi e le intestazioni dall'origine in base al Language Pack attivo (ad esempio, per leggere i valori da de-DE\UIString.xml).
<Language_Code ID="DB">en-US</Language_Code> <Language_Code ID="UI"></Language_Code>
Modificare i valori delle categorie: UIStrings.xml: i nomi delle categorie nelle finestre di dialogo VDS con la casella combinata della categoria non vengono visualizzati quando la lingua del client è diversa dalla lingua del server. Di conseguenza, si consiglia di modificare i nomi delle categorie nel file UIStrings.xml nei nomi delle categorie corrispondenti nella lingua del server del Vault. Vedere l'immagine seguente:
CAD
Per Inventor e AutoCAD, la lingua viene determinata automaticamente e non può essere impostata. In Data Standard viene effettuato un tentativo di utilizzare la stessa lingua utilizzata dell'applicazione CAD. Se l'applicazione CAD utilizza una lingua non supportata da Data Standard, allora verrà utilizzato l'inglese.
La lingua del database di Vault non è rilevante per le applicazioni CAD perché in Data Standard vengono utilizzate le proprietà mappate, ovvero iProperties di Inventor, proprietà DWG di AutoCAD e attributi di blocco.
Esempio: 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>
Il file XML contiene un elemento <UIStrings> con un attributo LanguageCode per specificare la lingua. L'elemento <UIStrings> è una raccolta di elementi <UIString>. L'ID attributo deve essere univoco. Per le stringhe dell'utente, Autodesk consiglia di utilizzare un prefisso (ad esempio, ID="MYPREFIX_LBL1"). Il valore dell'elemento è la stringa di testo.
Come utilizzare le stringhe dell'interfaccia utente
Le stringhe possono essere utilizzate in vari componenti di Data Standard tramite le seguenti espressioni:
Ad esempio, <Label Content="{Binding UISTring[LBL2]}"/>
L'esempio precedente cerca in UIStrings.xml(in base alla lingua utilizzata) un elemento <UIString> con ID LBL2, restituisce la stringa del titolo e la visualizza come etichetta nella finestra di dialogo.
File MenuDefinitions.xml: $UIString[<ID>]. Il file MNU è stato sostituito con il file MenuDefinitions.xml in VDS 2017.
Può essere utilizzato nelle variabili Description, Hint, Label e NavigationTypes della definizione di una voce di menu. Per ulteriori informazioni, vedere MenuDefinitions.xml-File.
Per Vault Client Data Standard, l'etichetta viene estratta da $UIString[<ID>], che include una mappatura al "Nome sistema". Per esaminare il nome di sistema di una proprietà definita dall'utente, aggiungere la colonna "Nome sistema" alla griglia in Amministrazione di Vault -> Funzionamenti -> Proprietà -> Crea/Modifica proprietà.
Per Data Standard per Inventor e AutoCAD, l'etichetta viene estratta da $UIString[<ID>], che presenta una mappatura ad una iProperty (Inventor) personalizzata o ad una proprietà file personalizzata (AutoCAD) o al nome di un attributo blocco (AutoCAD). Una designazione localizzata consente la sostituzione dinamica dell'etichetta.
Esempio di 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>
Risultato: griglia di categorie dinamiche per en-US, per client avviato in de-DE:
Esempio: 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>
Il file XML contiene un elemento <PropertyTranslations> con un attributo LanguageCode per specificare la lingua. L'elemento <PropertyTranslations> è una raccolta di elementi <PropertyTranslation>. L'attributo Name deve essere univoco. Il valore dell'elemento è il nome visualizzato della proprietà del Vault.
Come utilizzare le traduzioni delle proprietà
Nei file XAML e PowerShell, è possibile accedere alle proprietà del Vault tramite le espressioni Prop[<property name>]. Invece di utilizzare un nome di proprietà fisso, è possibile utilizzare la sintassi seguente:
Ad esempio: <TextBox Text="{Binding Prop[_XLTN_DESCRIPTION].Value}"/>
Nell'esempio di cui sopra, prefix_XLTN_ cerca in PropertyTranslations.xml un elemento <PropertyTranslation> con il nome DESCRIPTION e sostituisce l'espressione completa _XLTN_DESCRIPTION con il valore Description. Il contenuto della finestra di testo viene quindi collegato alla proprietà Description del Vault.