
このトピックでは、ASP.NET AJAX コントロールを他の言語にローカライズする方法について説明します。
Infragistics は英語および日本語でローカライズされたコントロールを提供します。 他の言語を追加するにはカスタム サテライト アセンブリを作成し、GAC にインストールすることができます。
以下の手順でドイツ (スイス) の de-CH カルチャのためのサテライト アセンブリを作成します。 de-CH を有効なカルチャ コードに置き換える場合、この手順はどのカルチャーに適用します。 この例では WebDataGrid を使用しますが、このアプローチは各 Ultimate UI for ASP.NET AJAX コントロールに適用できます。
Ultimate UI for ASP.NET 製品をインストールする必要があります。
製品のソース コードをアクセスするには 登録さらた ASP.NET 製品を含むアカウントが必要です。
以下のスクリーンショットは最終結果のプレビューです。
Localization と呼ばれる空のフォルダーを作成します。 すべてのファイルを同じ場所に置くことでコマンド ラインの手順を簡略化します。
Infragistics ウェブサイトのキーとダウンロードセクションから Ultimate UI for ASP.NET 製品のソース コードをダウンロードします。
手順 1 に作成された Localization フォルダーに WebDataGridStrings_runtime.resx
ファイルをコピーします。 このファイルはソース コードの Infragistics.Web.UI/Resources
下のフォルダーにあります。
Infragistics4.Web.v23.1.dll
ファイルを Localization フォルダーにコピーします。 このファイルは製品のインストール場所 (デフォルト: C:\Program Files (x86)\Infragistics\2023.1\ASP.NET\CLR4.0\Bin
) にあります。
Windows エクスプローラーで Localization フォルダーを開きます。
WebDataGridStrings_runtime.resx
ファイルのコピーを作成し、ファイル名を WebDataGridStrings_runtime.de-CH.resx
に変更します。
Visual Studio などのエディターで WebDataGridStrings_runtime.de-CH.resx を開き、文字列を翻訳します。 フィルター ドロップダウン オプションの文字列は、LS_FilterRule_
で始まり、その後にルール名が続きます (例: LS_FilterRule_After
、 LS_FilterRule_Before
、 LS_FilterRule_Equals
)。
管理者として Visual Studio コマンド プロンプトを実行します。
cd
コマンドで手順 1 で作成した Localization フォルダーへ移動します。
cd C:\Localization
Localization ディレクトリで Infragistics4.Web.v23.1.dll
アセンブリのサインに使用されたパブリック キーを抽出することで StrongName.key
ファイルを作成します。 このキー ファイルを使用してサテライト アセンブリのサインを遅延します。
sn -e Infragistics4.Web.v23.1.dll StrongName.key
Localization フォルダーで WebDataGridStrings_runtime.de-CH.resources
ファイルを作成します。
Resgen WebDataGridStrings_runtime.de-CH.resx
Localization フォルダーで サテライト アセンブリ の Infragistics4.Web.v23.1.resources.dll
を作成します。
Al.exe /t:lib /embed:WebDataGridStrings_runtime.de-CH.resources,Infragistics.Web.UI.Resources.WebDataGridStrings_runtime.de-CH.resources /culture:de-CH /out:Infragistics4.Web.v23.1.resources.dll /template:Infragistics4.Web.v23.1.dll /keyf:StrongName.key /delay+
サテライト アセンブリに厳密な名前の検証を追加します。 これで完全にサインされていない状態で Infragistics4.Web.v23.1.resources.dll
ファイルを GAC にインストールできます。
sn -Vr Infragistics4.Web.v23.1.resources.dll
サテライト アセンブリを GAC にインストールします。
gacutil -i Infragistics4.Web.v23.1.resources.dll
ウェブサイトの .aspx ページを開きます。
Page
、 UICulture
、および Culture
の属性を Auto
に設定します。
ASPX の場合:
<%@ Page Language="C#" AutoEventWireup="true" UICulture="Auto" Culture="Auto" CodeFile="Default.aspx.cs" Inherits="_Default" %>
あるいはこれは web.config ファイルの <system.web>
タッグの間に設定できます。
ScriptManager
EnableScriptGlobalization
属性を true
に設定します。
ASPX の場合:
<asp:ScriptManager EnableScriptGlobalization="true" ID="ScriptManager1" runat="server"/>
使用されているパソコンの言語はターゲットの言語と違い、アセンブリが正しく動作することを確認するご希望の場合、ブラウザーの言語を変更することができます。
示している例は Windows 7 上の Firefox を使用しますが、ブラウザーおよび OS によって異なります。 Chrome の場合、右上にメニューから高度な設定をアクセスし言語と入力の設定をクリックします。 Windows 8 の場合、Internet Explorer はコントロール パネルを表示し、言語の優先順位を選択できます。
ブラウザーのオプション ダイアログへアクセスします。
Languages の下の Content タブで Choose… をクリックします。
リストにない場合、 追加をクリックしターゲット言語を追加します。 ターゲット言語をリストの一番上に移動します。 一番上の言語は使用されている言語です。
言語の設定を適用するにはブラウザーのすべてのインスタンスを閉じます。
優先する言語を使用しウェブサイトをブラウザーでテストできます。
注: 開発システムでアセンブリをビルドし、他のシステムでデプロイする場合、以下を行ってください。
下記の手順に従いサーバーでサテライト アセンブリ をビルドしてください。
gacutil を使用し、サテライト アセンブリをサーバーの GAC に追加してください。 サーバに Visual Studio がインストールされていない場合、必要のファイルをコピー/ペーストできます。 サテライト アセンブリを GAC サーバーにインストールするにはインストーラーを作成できます。