次の方法で共有


メタデータのローカライズの概要

構成オブジェクト内で定義されているメタデータの中には、ローカライズをサポートするものもあります。 ローカライズをサポートするプロパティには 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") と一致するフォルダーに保存されます。拡張情報で Visual Studio が現在設定している言語をサポートしていない場合、.vsextension ディレクトリのルートにデプロイされた string-resources.json が既定として使用されます。 ディレクトリ構造の表示例は、次のとおりです。

ローカリゼーション ディレクトリ構造

string-resources.json のサンプル:

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

次のステップ

VisualStudio.Extensibility コマンドの詳細については、「Visual Studio のコマンドを追加する」を参照してください。