Omówienie lokalizacji metadanych

Niektóre metadane zdefiniowane wewnątrz obiektów konfiguracji obsługują lokalizację. Właściwości obsługujące lokalizację są ozdobione elementem LocalizableStringAttribute , a kompilator emituje ostrzeżenie, jeśli te właściwości są ustawione na wartość nielokalizalną. Te wartości można lokalizować, dołączając pliki string-resources.json z rozszerzeniem i otaczające klucz zasobu ciągu z znakami % .

Element Command ze zlokalizowaną lokalizacją DisplayName i ToolTipText wygląda następująco:

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

string-resources.json

Rozszerzenie powinno zawierać plik string-resources.json dla każdego języka obsługiwanego przez rozszerzenie. Ten plik JSON jest słownikiem par klucz/wartość, w którym klucz jest globalnie (cały program Visual Studio) unikatowym identyfikatorem zasobu ciągu, a wartość jest zlokalizowanym zasobem ciągu. Te pliki JSON powinny być wdrażane z rozszerzeniem w .vsextension katalogu, a każdy język, który obsługujesz, jest dostarczany w folderze zgodnym z nazwą ustawień regionalnych, czyli "de" dla języka niemieckiego, "it" dla języka włoskiego itp. Plik string-resources.json wdrożony w katalogu głównym .vsextension katalogu jest używany jako domyślny, jeśli rozszerzenie nie obsługuje języka, na który obecnie jest ustawiony program Visual Studio. Przykładowa struktura tego katalogu, jak wyglądałaby, można zobaczyć tutaj:

Localization directory structure

przykład string-resources.json:

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

Następne kroki

Dowiedz się więcej o poleceniach VisualStudio.Extensibility, zobacz Dodawanie poleceń programu Visual Studio.