方法: コードをローカライズする
ローカライズされていないコードでは、ハードコーディングされた文字列値が使用されています。 コードの文字列をローカライズするには、それらを GetGlobalResourceObject の呼び出しに置き換えます。このメソッドは、ローカライズされたリソースを参照します。
コードのローカライズ
コードをローカライズするには
SharePoint プロジェクト項目に、既定の言語用と各ローカライズ言語用の個別のリソース ファイルを追加します。
そのためには、ソリューション エクスプローラーでプロジェクト項目のノードを右クリックし、[追加] をポイントして、[新しい項目] をクリックします。次に、[リソース ファイル] を選択します。
注意
Deployment Type プロパティを使用できるように、SharePoint プロジェクト項目にリソース ファイルを必ず追加します。 このプロパティは、後で必要になります。
既定の言語のリソース ファイルには、.resx 拡張子が付いた任意の名前を付けます (MyAppResources.resx など)。 ローカライズされた各リソース ファイルに対しては、同じ基本名にカルチャ ID を加えた名前を使用します (ドイツ語の場合は MyAppResources.de-DE.resx など)。
各リソース ファイルを開いて、ローカライズされた文字列を追加します。 各ファイルで同じ文字列 IDs を使用します。
各リソース ファイルの [配置タイプ] プロパティを [AppGlobalResource] に変更して、サーバーの App_GlobalResources フォルダーに配置されるようにします。
各ファイルの [ビルド アクション] プロパティは [埋め込まれたリソース] のままにします。
埋め込みリソースはプロジェクトの DLL にコンパイルされます。
プロジェクトをビルドして、リソースのサテライト DLL を作成します。
パッケージ デザイナーで、[詳細設定] タブをクリックしてサテライト アセンブリを追加します。
[場所] ボックスで、場所のパスの先頭にカルチャ ID のフォルダーを追加します (de-DE\Project Item Name.resources.dll など)。
ソリューションで System.Web アセンブリがまだ参照されていない場合は System.Web アセンブリへの参照を追加し、System.Web に対するディレクティブをコードに追加します。
UI テキスト、エラー、メッセージ テキストなど、ユーザーへの表示用にコード内でハードコーディングされている文字列をすべて見つけます。それらの文字列を、次の構文を使用する GetGlobalResourceObject メソッドの呼び出しに置き換えます。
HttpContext.GetGlobalResourceObject("Resource File Name", "String ID")
F5 キーを押してアプリケーションをビルドし、実行します。
SharePoint で、表示言語を既定の言語から変更します。
ローカライズされた文字列がアプリケーションに表示されます。 ローカライズされたリソースを表示するには、リソース ファイルのカルチャに対応する Language Pack が SharePoint サーバーにインストールされている必要があります。