다음을 통해 공유


정적 속성 지역화

부분 값 맵을 사용하여 정적 속성을 지역화할 수 있습니다.

다음 절차에서는 정규식이 있는 부분 값 맵을 사용하여 정적 속성을 지역화하는 방법을 설명합니다.

값 맵을 사용하여 정적 속성 지역화

  1. 마스터 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;
    };
    
  2. MOF 파일의 언어 중립적 및 언어별 버전을 만듭니다.

    명령 프롬프트에 다음 명령을 입력하여 MOF 파일의 언어 중립적 및 언어별 버전을 만듭니다.

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

    MOF 컴파일러는 언어별 및 언어 중립적 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;
    };
    
  3. 두 MOF 파일을 컴파일하고 클래스 정보를 CIM 리포지토리에 저장합니다.

    명령 프롬프트에 다음 명령을 입력하여 두 MOF 파일을 컴파일합니다.

    Mofcomp LnVm.mof 
    Mofcomp LsVm.mfl
    
  4. 다른 로캘에 대한 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는 현재 한정자에서 정의한 문자열에 값을 매핑하기 위한 런타임 지원을 제공하지 않습니다. 제안된 구문의 해석은 응용 프로그램의 책임입니다.