Udostępnij przez


Lokalizowanie właściwości statycznych

Właściwości statyczne można lokalizować przy użyciu map wartości częściowych.

W poniższej procedurze opisano, jak właściwości statyczne można lokalizować przy użyciu map częściowych wartości z wyrażeniami regularnymi.

Aby użyć map wartości do lokalizowania właściwości statycznych

  1. Utwórz główny plik MOF (Mastervm.mof).

    Poniższy przykład kodu może służyć do utworzenia głównego pliku 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;
    };
    
  2. Utwórz wersje pliku MOF neutralne dla języka i specyficzne dla języka.

    Wpisz następujące polecenie w wierszu polecenia, aby utworzyć wersje pliku MOF neutralne dla języka i specyficzne dla języka.

    mofcomp -MOF:LnVm.mof -MFL:LsVm.mfl -Amendment:MS_409 MasterVm.mof
    

    Kompilator MOF generuje pliki MOF specyficzne dla języka i neutralne dla języka, LnVm.mof i LsVm.mfl. Wartości języka angielskiego w wersji amerykańskiej dla właściwości Numbers są umieszczane w pliku .mfl dla przestrzeni nazw języka angielskiego amerykańskiego.

    Poniższy przykład kodu przedstawia zawartość pliku 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;
    };
    
  3. Skompiluj dwa pliki MOF i zapisz informacje o klasie w repozytorium CIM.

    Wpisz następujące polecenie w wierszu polecenia, aby skompilować dwa pliki MOF.

    Mofcomp LnVm.mof 
    Mofcomp LsVm.mfl
    
  4. Zlokalizuj plik MFL dla innych lokalizacji.

    Poniższy przykład kodu przedstawia zawartość pliku MFL dla francuskiej przestrzeni nazw.

    #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;
    };
    

Wynikiem netto jest to, że zarówno nazwa wyświetlana, jak i wartość właściwości Numbers zależą od ustawień regionalnych zalogowanego użytkownika. Jeśli użytkownik określi ustawienia regionalne, które nie zostały podane, domyślne dane kwalifikatora pochodzą z przestrzeni nazw języka angielskiego (ms_409).

Implikacją tego projektu jest to, że każda wartość ciągu jest używana jako wyszukiwany identyfikator, którego nie można zlokalizować. Podczas definiowania tego schematu należy upewnić się, że wartość umieszczana przez dostawcę jest niezależna od ustawień regionalnych.

Notatka

Usługa WMI nie zapewnia obecnie obsługi w czasie wykonywania mapowania wartości na ciągi znaków zdefiniowane przez kwalifikatory. Interpretacja sugerowanej składni jest obowiązkiem aplikacji.