4
6

More than 5 years have passed since last update.

Visual Studioの拡張機能を多言語化する

Last updated at Posted at 2014-12-21

Visual Studio Advent Calendar 2014の22日目です。

みなさん、はじめまして! 窓辺ありにゃん(まどべ ありにゃん)です。アドベントカレンダー自体も初めてです。C#や.NETやVisual Studioが大好きで、プログラミングをやっています。

本来は自サイトで公開する予定でしたが、自サイト開設が間に合わなかったので、Qiitaで公開することにしました。自サイトを開設したら、この記事も移管する予定です。


自分で作ったVisual Studioの拡張機能を海外でも使ってもらいたいですよね? 拡張機能のマニフェスト自体を英語で記述するのも手ですが、逆に日本人にとって使いづらくなってしまいます。

Visual Studioの拡張機能には言語に応じて拡張機能のタイトル、説明、ライセンスを表示する機能があるんですよ! しかし、現時点ではVSIX Language Pack用のテンプレートが存在しない上に、日本語の説明が見つかりませんでした。

ってことで、私が試行錯誤した結果を書いてみます。誰得ですが…。

その前に…

  • Visual Studio SDKを予めインストールしておいて下さい。(20102010 SP120122013
  • この記事では、拡張機能のタイトル、説明、ライセンスの多言語化のみ説明します。拡張機能自体の作り方や、メニューやユーザーインターフェイスの多言語化については説明しませんのでご了承下さい。といっても拡張機能自体のの日本語の説明がないのが現実ですが…。

VSIXLangPackの作成方法

.vsixmanifest ファイル(Visual Studio SDKのテンプレートでプロジェクトを作成した場合はsource.extension.vsixmanifest)のあるフォルダー内に新しいフォルダーを作成します。フォルダー名は対応する言語名(例:日本語の場合はja-JP)とします。

ja-JPフォルダーを作成

作成したフォルダー内に extension.vsixlangpack というファイルを作成します。「新しい項目の追加」で作成する場合、これを書いている時点で残念ながらVSIX Language Pack用のテンプレートがないので、代わりにテンプレートはXMLファイルを推奨します。

新しい項目の追加

extension.vsixlangpackの位置

extension.vsixlangpack の内容は以下のとおりです。

extension.vsixlangpack
<?xml version="1.0" encoding="utf-8"?>
<VsixLanguagePack Version="1.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema-lp/2010">
  <LocalizedName>拡張機能の名前</LocalizedName>
  <LocalizedDescription>拡張機能の説明</LocalizedDescription>
  <License>ライセンス(テキストファイルを指定)</License>
  <MoreInfoUrl>外部リンク (URL)</MoreInfoUrl>
</VsixLanguagePack>

LocalizedNameとLocalizedDescriptionは必須で、LicenseとMoreInfoUrlは無くてもかまいません。

注意事項

extension.vsixlangpack(ライセンスファイルを指定している場合はそのファイルも)のプロパティで以下のように設定しないとビルド時にVSIXファイルに含まれません。これが原因で、私もうまくいかなかったことがあります。

  • Include in VSIX - True
  • ビルド アクション - コンテンツ
  • 出力ディレクトリにコピー - 常にコピーする または 新しい場合はコピーする

extension.vsixlangpack のプロパティ

結果

拡張機能本体の言語を英語(米国)に指定して、日本語の言語パックを作成した場合

日本語版Windows 7での表示

日本語版Windows 7

英語版Windows 10 TPでの表示

英語版Windows 10 TP

参考ページ

以下のページを参考させていただきました。

宣伝(ステルさない「マ」)

Visual Studio Gallaryで自作の拡張機能を公開しています。

Visual Studio ギャラリー

まだまだ未熟ですが、今後も拡張機能(主に痛IDE系…w)を公開していく予定です。

4
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
6