Data Standard 和當地語系化
发布日期:2025-01-04 16:59 点击次数:154
Data Standard 隨附的對話方塊與頁籤會自動支援十二種不同的語言。
這些語言的文字字串是在 XML 檔案中定義。這些檔案位於此處:
C:\ProgramData\Autodesk\<Vault 版本>\Extensions\DataStandard\<當地語系化資料夾>
其中,<語言代碼> 是語言的資料夾名稱 (例如,en-US、de-DE、it-IT)。
可以擴充這些檔案,以在自訂「Data Standard」對話方塊中支援不同的語言。
變更品類值 - UIStrings.xml:當用戶端語言不同於伺服器語言時,品類組合方塊 VDS 對話方塊中的品類名稱不會顯示。因此,建議您將 UIStrings.xml 中的品類名稱變更為對應於 Vault 伺服器語言的品類名稱。請參閱下圖:
CAD
對於 Inventor 和 AutoCAD,會自動決定語言且無法設定語言。Data Standard 會嘗試使用 CAD 應用程式使用的相同語言。如果 CAD 應用程式使用 Data Standard 不支援的語言,則會改為使用英文。
由於 Data Standard 使用對映的性質 (Inventor iProperty、AutoCAD DWG 性質和圖塊屬性),因此 Vault 資料庫語言與 CAD 應用程式不相關。
該 XML 檔案包含一個 <UIStrings> 元素,以及用於指定語言的屬性 LanguageCode。<UIStrings> 元素是 <UIString> 元素的集合。ID 屬性必須是唯一的。對於您自己的字串,Autodesk 建議您使用字首 (例如 ID="MYPREFIX_LBL1")。該元素的值是該文字字串。
如何使用使用者介面字串
使用以下表示式,可以在不同 Data Standard 元件中使用使用者介面字串:
XAML 檔案:UIString[<ID>]
例如,<Label Content="{Binding UISTring[LBL2]}"/>
上述範例將在 UIStrings.xml (取決於使用的語言) 中尋找 ID 為 LBL2 的 <UIString> 元素並傳回 Title 字串,然後將此字串顯示為對話方塊中的標示。
PowerShell 檔案:$UIString["<ID>"]
MenuDefinitions.xml 檔案:$UIString[<ID>]。在 VDS 2017 中,MNU 檔案已被 MenuDefinitions.xml 檔案取代。
這可以用於功能表項目定義的 Description、Hint、Label 和 NavigationTypes 變數。請參閱 MenuDefinitions.xml 檔案,以取得更多資訊。
在動態品類性質網格中進行標示。依預設,動態品類網格中的第一欄會列示性質名稱 (系統名稱)。
請注意,對於 Vault 用戶端的 Data Standard,標示是從 $UIString[<ID>] 中提取,其對映至「系統名稱」。若要檢閱使用者定義性質的系統名稱,請將「系統名稱」欄加入至「Vault 管理」>「行為」>「性質」->「建立/編輯性質」中的網格。
對於 Inventor 和 AutoCAD 適用的 Data Standard,標示是從 $UIString[<ID>] 提取,其對映至自訂「iProperty」(Inventor)、自訂「檔案性質」(AutoCAD) 或圖塊屬性名稱 (AutoCAD)。當地語系化名稱可啟用標示的動態取代。
UIString 範例:
對於在 de-DE 版中啟動的用戶端,會產生 en-US 版的動態品類網格:
該 XML 檔案包含一個 <PropertyTranslations> 元素,以及用於指定語言的屬性 LanguageCode。<PropertyTranslations> 元素是 <PropertyTranslation> 元素的集合。Name 屬性必須是唯一的。該元素的值是 Vault 性質的顯示名稱。
如何使用性質轉換
在 XAML 和 PowerShell 檔案中,可以透過 Prop[<性質名稱>] 表示式存取 Vault 性質。如果不使用固定的性質名稱,可以使用以下語法:
XAML 檔案:<TextBox Text="{Binding Prop[_XLTN_<名稱>].Value}"
例如:<TextBox Text="{Binding Prop[_XLTN_DESCRIPTION].Value}"/>
上述範例中的 _XLTN_ 字首會在 PropertyTranslations.xml 中尋找名為 DESCRIPTION 的 <PropertyTranslation> 元素,並用值 Description 取代完整的表示式 _XLTN_DESCRIPTION。然後,該文字方塊的內容會繫結至 Vault 性質 Description。
PowerShell 檔案:$Prop["_XLTN_<名稱>"].Value