none
Visual Studio 2008 Pro 日本語版と英語版が共用できない RRS feed

  • 質問

  • Visual Studio 2008 Proの英語版と日本語版は両方インストールはできるが、
    結局、両方を使い分けることはできないんですね。不便です。
    英語版は海外用のアプリケーションを作るのに必要だが、日本語版は国内用途での開発に必要。
    VirtualPCで使い分けるしかないのでしょうかね?

     

     

    2010年11月9日 0:55

回答

  • 試したことはありませんが、「発行」→ 「オプション」 の 「発行の言語」 を 「英語」 に変えてみるのはどうでしょうか?
    ひらぽん http://d.hatena.ne.jp/hilapon/
    • 回答としてマーク suntower 2010年11月9日 10:10
    2010年11月9日 5:27
    モデレータ
  • 回りくどくなったので、発行時に setup.exe に適用される言語について

    ◎ 設定項目として記録される言語は2つあります

    A) 優先される言語

    デフォルトでは、既定の言語(* neutral)になっています。
    VS2008 SP1 以降であれば、発行オプションの「発行する言語」で設定できます。

    B) 優先される言語が使用できない場合の言語

    デフォルトでは、初めて発行した時の Visual Studio の起動言語が使用されます。この言語設定は、プロジェクトファイルの .user ファイルの FallbackCulture に記録されます。
    (project1.csproj なら project1.csproj.user に記載されています)

    ◎ ブートストラッパで表示される言語は、

    ブートストラッパ (setup.exe) は、「A) 優先される言語」でセットアップ画面を表示しようとします。このときエンドユーザがその言語を使用していなかった場合は「B) 優先される言語が使用できない場合の言語」を使用します。

    • 回答としてマーク suntower 2010年11月9日 10:19
    2010年11月9日 5:46

すべての返信

  • Visual Studio の日本語/英語ってユーザインターフェース以外に違いありましたっけ? 日本語版で英語アプリケーションを開発することも、英語版で日本語アプリケーションを開発することも、普通にできると思います。
    両方をインストールした後、Visual Studio 自身のユーザインターフェースを切り替えたい場合には、[ ツール | オプション ] から、[ 国際対応の設定 ] を変更するだけでいつでも切り替えることができます。また、日本語と英語の2つの環境を同時に起動したい場合、devenv.exe のコマンドラインスイッチの /LCID を使用することで切り替えることもできるので、英語で起動するショートカットを作成しておくなどすると、便がよいかもしれません。

    あまりないかもしれませんが、Windows でのユーザ切り替えなしに複数のユーザが利用するなどで、日本語版と英語版でキーボードショートカットの設定などの個人設定を完全に入れ替えたい場合、同様に devenv.com のレジストリハイブ切り替え機能を使用することで、Visual Studio に複数の設定を行うことができます。この場合もショートカット等で切り替えるようにすると便利でしょう。

    2010年11月9日 2:40
  • 自動生成されるソースコードに含まれるコメントなんかが、日本語/英語の違いがあったりしますね。

    でもそれぐらいのことが気になるなら英語版1つに絞って利用すればいいと思います。

    suntowerさんは何か違う敵と戦っているのかも。

    2010年11月9日 2:50
  • デプロイ関係じゃないですかね?

    英語環境・日本語環境で共存している場合、機能追加にあたる日本語しか設定できなくなっていた気がします。

    何かの切り替えでできるのかもしれませんが、以前同居環境を作っていたときはそんな大層な機能は用意されていなかった気がします。

     


    わんくま同盟,Microsoft MVP for Visual C++(Oct 2005-) http://blogs.wankuma.com/tocchann/
    2010年11月9日 3:59
  • なるほど。

    Visual Studioの問題でもありますが、根本の問題としてWindows Installerが国際化、言語切り替えに対応していないんですよね。AppleのiTunesはWindows Installerのundocumentedな仕様を使って言語切り替えを実現していますが…。

    正攻法でやろうとすると、Installshieldのようにインストーラーを立ち上げる前に言語選択させてその選択に応じてインストーラーをいじくるしか…。

    で、Visual Studio付属のインストーラー作成機能はそんな高度なことをしてくれるわけもなく。

    2010年11月9日 4:29
  • 質問した経緯としては、
    C#の日本語版でアプリケーションを作成した後に、発行機能で、アプリケーションを配布できます。
    日本語版で日本語を使わずにアプリケーションを作成したとしても、英語OSで.NETが入ってない場合に
    セットアップを実行すると、.NETのインストールを促す画面が文字化けするんです。
    解決策としては英語版でプロジェクトを作り直して、再ビルド、再発行で、英語版OSでの.NETインストール画面の
    文字化けが直ったと言う経験からです。

     

    2010年11月9日 4:36
  • 発行機能ということは、ClickOnce ですよね?こちらも英語・日本語はVSの製品フラグ見ちゃう可能性がありますね。。。もしかしたら言語設定で行けるのかな?

    どこかに言語設定があればOKですが...ClickOnce は使ったことがないんでさっぱりわからんです。


    わんくま同盟,Microsoft MVP for Visual C++(Oct 2005-) http://blogs.wankuma.com/tocchann/
    2010年11月9日 4:40
  • Windows Installer 自身は言語の自動的な切り替えはサポートしてませんね。

    というより、その出自の関係で各国語版を1パッケージにまとめるとかありえない選択肢なので。。。

    ちなみに。。。

    ITunesがどうやってるかは見てないのでわかりませんが、実行環境の言語コードはプロパティとして参照できます。なので、Undocumented な仕様を使ってということはないと思いますよ。


    わんくま同盟,Microsoft MVP for Visual C++(Oct 2005-) http://blogs.wankuma.com/tocchann/
    2010年11月9日 5:00
  • 試したことはありませんが、「発行」→ 「オプション」 の 「発行の言語」 を 「英語」 に変えてみるのはどうでしょうか?
    ひらぽん http://d.hatena.ne.jp/hilapon/
    • 回答としてマーク suntower 2010年11月9日 10:10
    2010年11月9日 5:27
    モデレータ
  • ClickOnce の発行機能は Visual Studio ではなく、.NET SDK の部分ですね。Visual Studio はアプリケーション定義を複製するなどの追加の操作はしてくれますが、.NET Framework のインストール指示がある画面ということは SDK の生成した setup.exe のことになりますね。

    この setup.exe に使用する言語は、GenerateBootstrapper タスクで指定するのですが Visual Studio 上では何も設定していないため "*" (neutral) に設定されているかと思います。また、言語の判定ができない等でカルチャが決定できない場合に使用する言語としては、デフォルトでは UICulture が設定されます。この UICulture は Visual Studio の言語と連動しているので、最初の投稿にあるような言語設定を切り替えることで日本語にも英語にも変更することができますが、発行処理時にプロジェクトファイルに *.user という名前のついたファイルに保存されてしまうので、この言語を切り替えるためには project1.csproj なら project1.csproj.user の中身を書き換えるか、このファイルを削除して再生成する必要があります。

    より確実な方法として、ひらぽんさんが書かれているように Visual Studio 2008 SP1 の修正にある 発行の言語 を設定することで TargetCulture を明示的に指定することができます。(この場合も、その言語が対応しない場合の表示は、前述の .user ファイルに書かれたものが使用されます) 日英両方のインストーラーを生成したい場合としては、プロジェクトファイルの末尾のカスタム設定によって、構成などに対応した動的な TargetCulture プロパティの設定を追加することもできます。そうすれば、指定した言語で常に作成されます。

    2010年11月9日 5:28
  • 回りくどくなったので、発行時に setup.exe に適用される言語について

    ◎ 設定項目として記録される言語は2つあります

    A) 優先される言語

    デフォルトでは、既定の言語(* neutral)になっています。
    VS2008 SP1 以降であれば、発行オプションの「発行する言語」で設定できます。

    B) 優先される言語が使用できない場合の言語

    デフォルトでは、初めて発行した時の Visual Studio の起動言語が使用されます。この言語設定は、プロジェクトファイルの .user ファイルの FallbackCulture に記録されます。
    (project1.csproj なら project1.csproj.user に記載されています)

    ◎ ブートストラッパで表示される言語は、

    ブートストラッパ (setup.exe) は、「A) 優先される言語」でセットアップ画面を表示しようとします。このときエンドユーザがその言語を使用していなかった場合は「B) 優先される言語が使用できない場合の言語」を使用します。

    • 回答としてマーク suntower 2010年11月9日 10:19
    2010年11月9日 5:46
  • 皆様、回答ありがとうございます。

    試してみます。

    VisualStudio2008は一度おかしくなって、このフォーラムで質問して
    アドバイスも、もらったのですが、
    修復できなくてメインOSを再インストールしてます。
    PCの世界は難しいですねえ。

    VirtulPCで英語版XPを入れないと・・・。
    まだまだ時間かかりますね。

    結果はまた報告します。

     

    2010年11月9日 6:10
  • Windows InstallerでなくClickOnceの話題だったようで…まぁ質問文には配布の配の字も書かれていないし。

    Windows InstallerはTramsform(.mst)を使用することで表示文字列を入れ替えることができます。またとっちゃんさんが書かれているように実行中の言語を得ることもできます。しかし、実行中の言語に応じてTransformを選択する機能がない(あるけどundocumented)のです。

    substorageに.mstファイルを1033や1041といった名前(拡張子なし)で保存しておくとインストーラー起動時に自動的に読み込まれるとか、秘密です。

    2010年11月9日 6:18
  • ひらぽんさん、K.Takaokaさん

    発行のオプションで英語で発行してみました。
    Virtual PCの英語版のXPで文字化けしないで、.NETがインストールできました。

    ありがとうございます。

     

    2010年11月9日 10:13