다음을 통해 공유


메타데이터 지역화 개요

구성 개체 내부에 정의된 일부 메타데이터는 지역화를 지원합니다. 지역화를 지원하는 속성이 표시 LocalizableStringAttribute 되고 이러한 속성이 지역화할 수 없는 값으로 설정된 경우 컴파일러가 경고를 내보낸다. 이러한 값은 확장명을 가진 string-resources.json 파일을 포함하고 문자열 리소스 키를 문자로 % 둘러싸고 지역화할 수 있습니다.

지역화된 DisplayNameToolTipText 이 있는 Command 은 다음과 같습니다:

public override CommandConfiguration CommandConfiguration => new("%Microsoft.VisualStudio.MyExtension.SampleRemoteCommand.DisplayName%")
{
    ToolTipText = "%Microsoft.VisualStudio.MyExtension.SampleRemoteCommand.ToolTipText%"
}

string-resources.json

확장은 확장이 지원하는 모든 언어에 대한 string-resources.json 파일을 제공해야 합니다. 이 JSON 파일은 키/값 쌍의 사전입니다. 여기서 키는 문자열 리소스에 대한 전역(모든 Visual Studio) 고유 식별자이며 값은 지역화된 문자열 리소스입니다. 이러한 JSON 파일은 .vsextension 디렉토리 아래에 사용자의 확장자와 함께 배포되어야 하며, 지원하는 각 언어는 로케일의 이름, 즉 독일어의 경우 "de", 이탈리아어의 경우 "it" 등과 일치하는 폴더에 배포되어야 합니다. .vsextension 디렉토리의 루트에 배포된 string-resources.json은 사용자의 확장자가 현재 Visual Studio가 설정한 언어를 지원하지 않는 경우 기본값으로 사용됩니다. 이 디렉터리 구조의 모양에 대한 예제는 여기에서 확인할 수 있습니다.

Localization directory structure

string-resources.json 샘플:

{
    "Microsoft.VisualStudio.MyExtension.SampleRemoteCommand.DisplayName": "Sample Remote Command Display Name",
    "Microsoft.VisualStudio.MyExtension.SampleRemoteCommand.ToolTipText": "Sample Remote Command ToolTip"
}

다음 단계

Visual Studio 추가 명령에서 VisualStudio.Extensibility 명령에 대해 자세히 알아봅니다.