- ベストアンサー
VB2005で英語版ソフト作成
VB2005でソフトを作成しています。 最初、日本語で作成したのですが、英語対応することとなりました。 日本語で作っていたので「規定値」の状態で日本語になっています。 ここで、「規定値」の言語は英語にしたいと思いました。 そこで、languageで日本語を選択すると、ja-JPで自動的に日本語になっていました。 次に「規定値」に戻して英語で書き換えていると、ja-JPのほうも英語になってしまいました。 この方法でやると、「規定値」で英語を書いて、ja-JPで日本語を書くという二度手間になってしまいます。 「規定値」で英語にしつつ、日本語を再入力しなくても良い方法はないものでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
VisualStudioのデザイナによるローカライズリソースの作成は、 「規定値」のリソースの内容を基準として、 別の特定言語のリソースを作成した後、特定の言語で変更を行った内容だけが、 差分のようにその特定の言語用のリソースとして保存されます。 そのため、単に別言語用のリソースファイルができただけの状態では、 すべての文字列などが「規定値」の設定としてだけ保存されているため、 規定値のリソースを書き換えると質問文に記載されているような状況となります。 ですので、少々力業にはなりますが、 以下のようにして一応「規定値」が英語でja-JPが日本語リソース、 という状況を作れるかと思います。 ・現在の日本語が入った規定のリソースをコピーして ***.ja-JP.resx という名称にする。 ・デザイナ上で規定の言語のリソースを英語に書き換える。 ・ソリューションエクスプローラ上などで、ソリューションに ***.ja-JP.resx を追加する。 (プロジェクトノードを右クリックして、[追加]-[既存の項目]で追加できます) ・デザイナでリソース言語を ja-JP に変更して、なにも変更せずに上書きする。 ・デザイナでリソース言語を 規定値 に戻して、上書きする。 手順の最後のほうで、切り替えて上書きをしているのは、 言語ごとに差異が無いリソース値を規定側にのみ保存されるようにするためです。 (たとえばフォームのリソースであればコントロール配置位置やサイズ等) # デザイナは言語ごとの差異が無くなったリソース値を規定側で一元化します。 一応手元で簡単に確認はしてみましたが、 もし行う際にはバックアップを残して慎重に結果を確認しつつ 行われた方が良いかと思います。
お礼
ありがとうございます。 その方法で試してみます。