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 という名前を付けます。
各リソース ファイルの [配置タイプ] プロパティを [AppGlobalResource] に変更して、サーバーの App_GlobalResources フォルダーに配置されるようにします。
リソースを 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 サーバーにインストールされている必要があります。