人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Visual Studio 2008で国際化対応のアプリを開発しています。

FormのLocalizableやLanguageのプロパティを設定し、多言語のリソースを登録することで、問題なく動作しています。

これから動的にFormに追加したオブジェクトを多言語に対応することになりました。

Dim label = New Label()
label.Text = "日本語テキスト"
Me.Controls.Add(label)

上記のようなLabelを動的に追加するとします。
この時、英語のTextも登録したいのですが、やり方がわかりません。

サンプルコードを提供してください。


●質問者: ma_kobayashi
●カテゴリ:コンピュータ
✍キーワード:ADD Visual Studio アプリ オブジェクト コード
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● tasklight
●0ポイント

ResourceManagerクラスを用います。


2 ● bokudoraenon
●70ポイント

私は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ができれば、問題解決となりますが、そのような機能はないようで、困っています。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ