FormのLocalizableやLanguageのプロパティを設定し、多言語のリソースを登録することで、問題なく動作しています。
これから動的にFormに追加したオブジェクトを多言語に対応することになりました。
Dim label = New Label()
label.Text = "日本語テキスト"
Me.Controls.Add(label)
上記のようなLabelを動的に追加するとします。
この時、英語のTextも登録したいのですが、やり方がわかりません。
サンプルコードを提供してください。
私はVS2003, 2005, 2010で国内&海外向けアプリ(別々ではなく、ひとつのアプリ)を開発しています。
ResourceManagerを使うのはひとつの手だと思います。ソースはたとえば↓にあります。
http://www1.kokusaika.jp/advisory/org/ja/dotnet_resource.html
http://msdn.microsoft.com/ja-jp/library/system.resources.resourc...
他には、Web.configや他の外だしファイルの項目、あるいはセッションなどをキーにして言語などを読み取り表示/ロジックを切り替える、という方法を私はとることもあります。
少し状況が違うかもですが、参考になればうれしいです。
ResourceManagerでGetStringを使えば、リソースファイルで定義されたカルチャ固有の文字列などを取得できますが、私はそれらをランタイムでリソースに登録したいです。たとえば、ResourceManagerからAddStringができれば、問題解決となりますが、そのような機能はないようで、困っています。