ASP.NET (.aspx) ページでは、通常、ハードコーディングされた文字列値が使用されています。それらの文字列をローカライズするには、ローカライズされたリソースを参照する式に置き換えます。
ASPX マークアップのローカライズ
ASPX マークアップをローカライズするには
既定の言語用と各ローカライズ言語用の個別のリソース ファイルを追加します。
ローカライズするのはマークアップだけで、コードはローカライズしない場合は、グローバル リソース ファイル プロジェクト項目を追加します。コードとマークアップをローカライズする場合は、リソース ファイル プロジェクト項目を追加します。
追加するには、グローバル リソースは、[ソリューション エクスプローラー]で開き、SharePoint プロジェクト項目に対するショートカット メニューを開き、をクリックします 追加、新しい項目をチェックします。SharePoint 2010 年 のノードの下で、[グローバル リソース ファイル] テンプレートを選択します。
リソース ファイルを、[ソリューション エクスプローラー]に追加するには、で SharePoint プロジェクト項目に対するショートカット メニューを開き、追加、新しい項目を選択します。[Visual Basic] か Visual C# のノードの下で、[アセンブリ リソース ファイル] テンプレートを選択します。
[!メモ]
[配置タイプ] プロパティを使用できるように、SharePoint プロジェクト項目にリソース ファイルを必ず追加します。このプロパティは、後で必要になります。ソリューションに SharePoint プロジェクト項目がない場合は、空の SharePoint プロジェクトを追加し、既定の Elements.xml ファイルを削除できます。
既定の言語のリソース ファイルには、.resx 拡張子が付いた任意の名前を付けます (MyAppResources.resx など)。ローカライズされたリソース ファイルには同じ基本名を使用し、それにカルチャ ID を付加します。たとえば、ドイツ語の場合は MyAppResources.de-DE.resx という名前を付けます。
そのサーバーの App_GlobalResources フォルダーに配置させるように AppGlobalResource に各リソース ファイルの [配置タイプ] のプロパティの値を変更します。
ASPX マークアップだけでなくコードのローカライズにリソースを使用する場合 **[埋め込みリソース]**として各ファイルの [ビルド アクション] のプロパティの値をそのままにします。リソース ファイルをマークアップのローカライズのみに使用する場合は、ファイルのプロパティ値を [コンテンツ] に変更することもできます。詳細については、「SharePoint ソリューションのローカライズ」を参照してください。
各リソース ファイルを開いて、ローカライズされた文字列を追加します。その際には、各ファイルで同じ文字列 ID を使用します。
ASPX ページまたは ASPX コントロールの XML マークアップで、ハードコーディングされた文字列を次の形式の値に置き換えます。
<%$Resources:Resource File Name, String ID%>アプリケーション ページのラベル コントロールのテキストをローカライズする場合の例を次に示します。
<asp:Content ID="Main" ContentPlaceHolderID="PlaceHolderMain" runat="server"> <asp:Label ID="lbl" runat="server" Text="Label text"></asp:Label> </asp:Content>これを次のように書き換えます。
<asp:Content ID="Main" ContentPlaceHolderID="PlaceHolderMain" runat="server"> <asp:Label ID="lbl" runat="server" Text="<%$Resources:MyAppResources,String1%>"></asp:Label> </asp:Content>アプリケーションをビルドして実行するには、F5 キーを選択します。
SharePoint で、表示言語を既定の言語から変更します。
ローカライズされた文字列がアプリケーションに表示されます。ローカライズされたリソースを表示するには、リソース ファイルのカルチャに対応する Language Pack が SharePoint サーバーにインストールされている必要があります。