「Open棟梁 wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。 目次 †概要 †リソース ファイルではなく、国際化(多言語化)辞書テーブルを用いてプログラムでコントロールの表示を国際化(多言語化)することもできる。 詳細 †テーブル設計 †国際化(多言語化)辞書テーブルを下記のように設計すると良い。
テーブルのストレージ †スタンドアロンのアプリケーションの場合は、DBとして以下の利用も考えられる。 SQL Server †XMLファイル †
国際化(多言語化)する方法 †国際化(多言語化)辞書テーブルをしてコントロールのキャプションを国際化(多言語化)する方式を以下に示す。 Web Forms上のコントロールを再帰処理する。 †この実装は、”Open棟梁”の各レイヤの「ベースクラス2」(画面コード親クラス2)上に共通処理として実装できる(画面内のコントロールを再帰的に処理する)。
private void Form1_Load(object sender, EventArgs e) { RecursiveProcessing(this); } private void RecursiveProcessing(Control ctrl) { System.Diagnostics.Debug.WriteLine(ctrl.Name); if (ctrl.HasChildren) { foreach (Control child in ctrl.Controls) { RecursiveProcessing(child); } } } ここでキャプション(Textプロパティ)の値を設定する。
カスタム・コントロールで対応する †ASP.NETのWeb(System.Web.UI)コントロールのRendre系メソッドをカスタマイズする。
MVCとの親和性は低い †MVCでは、Web Formsのように、Form上のコントロールを再帰処理できない。 |