您可以使用部分值映射將靜態屬性本地化。
下列程序描述如何使用部分值映射搭配正則表達式來本地化靜態屬性。
使用值對應將靜態屬性當地語系化
建立主要MOF檔案 (Mastervm.mof)。
下列程式代碼範例可用來建立主要MOF檔案(Mastervm.mof)。
[Locale(0x409)] class Group1 { [key] string ID; [DisplayName("Numbers"), ValueMap{0,1,2,3}:amended, Values{"Zero", "One", "Two", "Three"}:amended] Uint32 Numbers; };建立MOF檔案的兩種版本:語言中性版本及特定語言版本。
在命令提示字元中輸入下列命令,以建立MOF檔案的語言中性及特定語言版本。
mofcomp -MOF:LnVm.mof -MFL:LsVm.mfl -Amendment:MS_409 MasterVm.mofMOF 編譯程式會產生語言特定且語言中立的MOF檔案 LnVm.mof和 LsVm.mfl。 Numbers 屬性的美式英文值會放在美式英文命名空間的 .mfl 檔案中。
下列程式代碼範例顯示 LsVm.mfl 檔案的內容。
#pragma namespace("\\\\.\\root\\default") instance of __namespace{ name="ms_409";}; #pragma namespace("\\\\.\\root\\default\\ms_409") [AMENDMENT, LOCALE(0x409)] class Group1 { [ValueMap{0, 1, 2, 3} : Amended, Values{"Zero", "One", "Two", "Three"} : Amended] Uint32 Numbers; };編譯兩個MOF檔案,並將類別資訊儲存在 CIM 存放庫中。
在命令提示字元中輸入下列命令,以編譯兩個MOF檔案。
Mofcomp LnVm.mof Mofcomp LsVm.mfl將 MFL 檔案本地化為其他語言。
下列程式代碼範例顯示法文命名空間的 MFL 檔案內容。
#pragma namespace("\\\\.\\root\\default") instance of __namespace{ name="ms_40C";}; #pragma namespace("\\\\.\\root\\default\\ms_40C") [AMENDMENT, LOCALE(0x40C)] class Group1 { [key] string ID; [ValueMap{0, 1, 2, 3} : Amended, Values{"Zero", "Un", "Deux", "Trois"} : Amended] Uint32 Numbers; };
淨結果是顯示名稱和 Numbers 屬性的值都取決於登入使用者的地區設定。 如果使用者指定尚未提供的地區設定,預設限定符數據會來自英文 (ms_409) 命名空間。
此設計的意義在於,每個字串值都會當做無法本地化的查閱標識碼使用。 定義此設定時,您必須確定提供者所放入的值與地區設定無關。
注意
WMI 目前尚不提供執行時支援,以將值對應至限定符所定義的字串。 建議語法的解釋是應用程式的責任。