다음을 통해 공유


메뉴 명령 지역화

VSPackage에 대한 지역화된 .vsct 파일 및 지역화된 .resx 파일을 만든 다음, 변경 내용을 통합하도록 프로젝트 파일을 업데이트하여 메뉴 및 도구 모음 명령에 대한 지역화된 텍스트를 제공할 수 있습니다.

설치 환경을 지역화하는 방법에 대한 자세한 내용은 VSIX 패키지 지역화를 참조하세요.

명령 이름 지역화

VSPackage에서 메뉴 명령 및 도구 모음 단추는 .vsct 파일에 정의되어 있습니다.

  1. 솔루션 탐색기에서 .vsct 파일의 이름을 filename.vsct에서 filename.en-US.vsct로 변경합니다.

  2. 지역화된 각 언어에 대한 filename.en-US.vsct의 복사본을 만듭니다.

    각 복사본의 이름을 filename.{Locale}.vsct로 지정합니다. 여기서 {Locale}은 특정 문화권 이름입니다. 문화권 이름 값 목록은 Microsoft에서 할당한 로캘 ID를 참조하세요.

    이러한 filename.Locale.vsct 파일에는 패키지의 지역화된 메뉴 텍스트가 포함됩니다.

  3. filename.Locale.vsct 파일을 열어 텍스트를 지역화합니다.

    1. 특정 언어에 맞게 ButtonText 요소 값을 수정합니다.

    2. 지역화된 아이콘을 제공하는 경우 대상 파일을 가리키도록 비트맵 값을 수정합니다.

      다음 예제는 가족 트리 탐색기 도구 창을 여는 명령에 대한 영어 및 스페인어 단추 텍스트를 보여 줍니다.

      [FamilyTree.en-US.vsct]

    <Button guid="guidLocalizedPackageCmdSet" id="cmdidFamilyTree" priority="0x0100" type="Button">
      <Parent guid="guidSHLMainMenu" id="IDG_VS_WNDO_OTRWNDWS1"/>
      <Icon guid="guidImages" id="bmpPic2" />
      <Strings>
        <CommandName>cmdidFamilyTree</CommandName>
        <ButtonText>Family Tree Explorer</ButtonText>
      </Strings>
    </Button>
    

    [FamilyTree.es-ES.vsct]

    <Button guid="guidLocalizedPackageCmdSet" id="cmdidFamilyTree" priority="0x0100" type="Button">
      <Parent guid="guidSHLMainMenu" id="IDG_VS_WNDO_OTRWNDWS1"/>
      <Icon guid="guidImages" id="bmpPic2" />
      <Strings>
        <CommandName>cmdidFamilyTree</CommandName>
        <ButtonText>Explorar el arbol genealogico</ButtonText>
      </Strings>
    </Button>
    

다른 텍스트 리소스 지역화

명령 이름이 아닌 텍스트 리소스는 리소스(.resx) 파일에 정의되어 있습니다.

  1. VSPackage.resx의 이름을 VSPackage.en-US.resx로 바꿉니다.

  2. 지역화된 각 언어에 대한 VSPackage.en-US.resx 파일의 복사본을 만듭니다.

    각 복사본의 이름을 VSPackage.{Locale}.resx로 지정합니다. 여기서 {Locale}은 특정 문화권의 이름입니다.

  3. Resources.resx의 이름을 Resources.en-US.resx로 바꿉니다.

  4. 지역화된 각 언어에 대한 Resources.en-US.resx 파일의 복사본을 만듭니다.

    각 복사본의 이름을 Resources.{Locale}.resx로 지정합니다. 여기서 {Locale}은 특정 문화권의 이름입니다.

  5. .resx 파일을 열어 특정 언어 및 문화권에 맞게 문자열 값을 수정합니다. 다음 예제에서는 도구 창의 제목 표시줄에 대한 지역화된 리소스의 정의를 보여 줍니다.

    [Resources.en-US.resx]

    <data name="ToolWindowTitle" xml:space="preserve">
      <value>Family Tree Explorer</value>
    </data>
    

    [Resources.es-ES.resx]

    <data name="ToolWindowTitle" xml:space="preserve">
      <value>Explorador del arbol genealogico</value>
    </data>
    

프로젝트에 지역화된 리소스 통합

지역화된 리소스를 통합하려면 assemblyinfo.cs 파일과 프로젝트 파일을 수정해야 합니다.

  1. 솔루션 탐색기속성 노드에서 편집기의 assemblyinfo.cs 또는 assemblyinfo.vb를 엽니다.

  2. 다음 항목을 추가합니다.

    [assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
    

    그러면 미국 영어가 기본 언어로 설정됩니다.

  3. 프로젝트를 언로드합니다.

  4. 편집기에서 프로젝트 파일을 엽니다.

  5. 루트 Project 요소에서 기본 언어와 일치하는 UICulture 요소가 있는 PropertyGroup 요소를 추가합니다.

    <PropertyGroup>
      <UICulture>en-US</UICulture>
    </PropertyGroup>
    

    이렇게 하면 미국 영어가 WPF(Windows Presentation Foundation) 컨트롤의 기본 UI 문화권으로 설정됩니다.

  6. EmbeddedResource 요소가 포함된 ItemGroup 요소를 찾습니다.

  7. VSPackage.en-US.resx를 호출하는 EmbeddedResource 요소에서 다음과 같이 ManifestResourceName 요소를 VSPackage.en-US.Resources로 설정된 LogicalName 요소로 바꿉니다.

    <EmbeddedResource Include="VSPackage.en-US.resx">
      <MergeWithCTO>true</MergeWithCTO>
      <LogicalName>VSPackage.en-US.Resources</LogicalName>
    </EmbeddedResource>
    
  8. 지역화된 각 언어에 대해 VsPackage.en-US에 대한 EmbeddedResource 요소를 복사하고 복사본의 Include 속성과 LogicalName 요소를 대상 로캘로 설정합니다.

  9. 다음 예제와 같이 지역화된 각 VSCTCompile 요소에 Menus.ctmenu를 가리키는 ResourceName 요소를 추가합니다.

    <ItemGroup>
      <VSCTCompile Include="LocalizedPackage.es-ES.vsct">
        <ResourceName>Menus.ctmenu</ResourceName>
      </VSCTCompile>
    </ItemGroup>
    
  10. 프로젝트 파일을 저장하고 프로젝트를 다시 로드합니다.

  11. 프로젝트를 빌드합니다.

    그러면 각 언어에 대한 주 어셈블리 및 리소스 어셈블리가 만들어집니다. 배포 프로세스 지역화에 대한 자세한 내용은 VSIX 패키지 지역화를 참조하세요.