チュートリアル: ビジネス アプリケーションのローカライズ
このチュートリアルでは、WCF RIA サービス ビジネス アプリケーションにローカリゼーション サポートを追加する方法について説明します。現在、世界各地のユーザーが多数のビジネス アプリケーションを使用する必要があります。Silverlight、ASP.NET、および WCF RIA サービス では、特定のカルチャまたはロケールに合わせてローカライズされたアプリケーションがサポートされています。このチュートリアルでは、ブラウザーの言語設定の値に応じて、英語またはカナダ フランス語で記述されたユーザー インターフェイス文字列を読み込むことができるアプリケーションを作成します。
このチュートリアルでは、次の作業について説明します。
特定の言語をサポートするようにクライアント プロジェクトを構成する。
リソースをローカライズする。
ローカライズされたリソースを使用するようにテスト ページを構成する。
ローカライズされたページを読み込むように Internet Explorer を構成する。
双方向言語のサポートを追加する。
前提条件
このチュートリアル、および WCF RIA サービス のドキュメントで紹介されている他のチュートリアルでは、WCF RIA サービス および WCF RIA サービス Toolkit に加え、Visual Studio 2010 や Silverlight のランタイムと SDK など、前提条件となっているいくつかのプログラムが適切にインストールおよび構成されている必要があります。また、SQL Server 2008 R2 Express with Advanced Services をインストールして構成し、AdventureWorks OLTP と LT データベースをインストールすることも必要です。
これらの各前提条件を満たしているかどうかを確認するための詳細な手順については、「WCF RIA Services の前提条件」ノード内のトピックを参照してください。このチュートリアルを進める前に、トピックに記載されている手順に従って、この RIA サービス チュートリアルを実行するときに発生する問題をできるだけ最小限に抑えるようにします。
クライアント プロジェクトの構成
次の手順では、クライアント プロジェクト ファイル内でサポートされる言語を指定する方法を示します。
クライアント プロジェクトを構成するには
Visual Studio 2010 で、[ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックして、新しい RIA サービス プロジェクトを作成します。
[新しいプロジェクト] ダイアログ ボックスが表示されます。
[インストールされたテンプレート] の [Silverlight] で [Silverlight ビジネス アプリケーション] テンプレートをクリックし、新しいプロジェクトに LocalizedBusinessApp という名前を付けます。
ソリューション エクスプローラーで、クライアント プロジェクト (LocalizedBusinessApp) を右クリックし、[プロジェクトのアンロード] をクリックします。
クライアント プロジェクトを再び右クリックし、[LocalizedBusinessApp.vbproj の編集] または [LocalizedBusinessApp.csproj の編集] をクリックします。
プロジェクト ファイルがデザイナーで開きます。
SupportedCultures 要素を探して、フランス語 (カナダ) [fr-CA] のカルチャ コードを追加します。カルチャ コードを区切るには、コンマまたはセミコロンを使用します。
<SupportedCultures>en-US,fr-CA</SupportedCultures>
プロジェクト ファイルを保存して閉じます。
ソリューション エクスプローラーで、クライアント プロジェクトを右クリックし、[プロジェクトの再読み込み] をクリックします。
プロジェクトがソリューション エクスプローラーに再度読み込まれます。
リソースのローカライズ
追加言語のサポートをアプリケーションに追加する場合は、基本的に、既存のリソース ファイルのコピーを作成し、コピーしたファイルの名前を変更した後、新しくコピーしたリソース ファイル内の文字列を変換します。次の手順では、サーバー プロジェクトおよびクライアント プロジェクトでリソースをローカライズする方法を示します。
サーバー リソースをローカライズするには
ソリューション エクスプローラーで、サーバー プロジェクト (LocalizedBusinessApp.Web) の Resources フォルダーを展開します。
RegistrationDataResources.resx ファイルを右クリックし、[コピー] をクリックします。
Resources フォルダーを右クリックし、[貼り付け] をクリックします。
RegistrationDataResources.resx のコピーの名前を RegistrationDataResources.fr-CA.resx に変更します。
注 : リソースがそのカルチャに属していることが正しくわかるように、カルチャ コードをファイル名に含めてください。 同様に、ValidationErrorResources.resx ファイルをコピーし、ファイル名を ValidationErrorResources.fr-CA.resx に変更します。
RegistrationDataResources.fr-CA.resx をダブルクリックして、リソース デザイナーで開きます。
次の表に示すように、英語の値とコメントをフランス語の値とコメントに置き換えます。
通常、コメントの文字列はツールヒントに使用されます。
名前 値 コメント EmailLabel
E-mail
FriendlyNameDescription
Comment voulez-vous que votre nom être affiché dans l'application?
FriendlyNameLabel
Nom amical
PasswordConfirmationLabel
Confirmer le mot de passe
PasswordDescription
Le mot de passe doit être 7 caractères longs et doit contenir au moins un caractère spécial par exemple @ ou #
Changer ceci si vous changez votre longueur de mot de passe et les politiques de force
PasswordLabel
Mot de passe
SecurityAnswerLabel
Réponse de sécurité
SecurityQuestionLabel
Question de sécurité
UserNameLabel
Nom de l'utilisateur
ファイルを保存して閉じます。
ヒント : このチュートリアルでは、すべての文字列をローカライズしているわけではありません。サーバー リソースのローカライズを完了するには、ValidationErrorResources.fr-CA.resx もローカライズします。 クライアント プロジェクトで、Web フォルダーを展開した後、Resources フォルダーを展開します。
Resources フォルダーを右クリックし、[追加] をクリックし、[既存の項目] をクリックします。
LocalizedBusinessApp.Web\Resources フォルダーに移動します。
Ctrl キーを押しながら次のファイルをクリックして選択します。
RegistrationDataResources.fr-CA.resx
RegistrationDataResources.fr-CA.Designer.vb (または .cs)
ValidationErrorResources.fr-CA.resx
ValidationErrorResources.fr-CA.Designer.vb (または .cs)
[追加] ボタンの下矢印をクリックし、[リンクとして追加] をクリックします。
ローカライズされたファイルは、クライアント プロジェクトにリンクとして追加されます。
クライアント リソースをローカライズするには
クライアント プロジェクトで、Assets フォルダーを展開した後、Resources フォルダーを展開します。
ApplicationStrings.resx のコピーを作成し、名前を ApplicationStrings.fr-CA.resx に変更します。
ErrorResources.resx のコピーを作成し、名前を ErrorResources.fr-CA.resx に変更します。
SecurityQuestions.resx のコピーを作成し、名前を SecurityQuestions.fr-CA.resx に変更します。
ApplicationStrings.fr-CA.resx をリソース デザイナーで開きます。
次のように、英語の値とコメントをフランス語の値とコメントに置き換えます。
名前 値 コメント AboutPageTitle
De
AlreadyRegisteredLabel
Déjà inscrit?
ApplicationName
Nom d'application
BackToLoginButton
De retour à la Connexion
BusyIndicatorLoadingUser
Application d'initialisation....
Ce message est affiché pendant l'initialisation d'application
BusyIndicatorLoggingIn
Connecter...
Affiché pendant LoginOperation
BusyIndicatorRegisteringUser
Soumettre Enregistrement...
Affiché pendant que l'enregistrement est traité par le serveur
CancelButton
Annuler
HomePageTitle
Maison
LoginButton
connexion
LoginWindowTitle
Connexion
LogOffButton
sortie du système
NotRegisteredYetLabel
Pas inscrit pourtant?
OKButton
Bien
RegisterNowButton
Enregistrer maintenant
RegistrationFormHeader
S'il vous plaît compléter tous les champs obligatoires pour créer votre compte
RegistrationWindowTitle
Registre
RememberMeLabel
Garder m'a signé dans
WelcomeMessage
Accueil {0}
{0} = User.DisplayName propriété
ファイルを保存して閉じます。
ヒント : クライアント リソースのローカライズを完了するには、ErrorResources.fr-CA.resx および SecurityQuestions.fr-CA.resx もローカライズします。
テスト ページの構成
次の手順では、テスト ページのカルチャ情報を指定する方法を示します。
TestPage.aspx を構成するには
サーバー プロジェクトの LocalizedBusinessAppTestPage.aspx をソース ビューで開きます。
ルート要素に、値が
"auto"
に設定されている Culture 属性および UICulture 属性を追加します。<%@ Page Language="VB" AutoEventWireup="true" UICulture="auto" Culture="auto" %>
<%@ Page Language="C#" AutoEventWireup="true" UICulture="auto" Culture="auto" %>
ファイルを保存します。
Internet Explorer の構成
これで、クライアント アプリケーションは、2 つの異なるバージョンのいずれかを表示する準備ができました。カナダ フランス語バージョンを表示するには、カナダ フランス語を既定の言語として使用するように Web ブラウザーを構成する必要があります。次の手順では、Internet Explorer の構成方法について説明します。
Internet Explorer を構成するには
F5 キーを押してソリューションを実行します。
アプリケーションが Internet Explorer で起動されます。Internet Explorer の言語設定が既にカナダ フランス語に設定されている場合を除き、文字列は英語で表示されます。
[ツール] メニューをクリックし、[インターネット オプション] をクリックします。
[インターネット オプション] ダイアログ ボックスが表示されます。
[全般] タブの [言語] をクリックします。
[言語の優先順位] ダイアログ ボックスが表示されます。
[追加] をクリックします。
[言語の追加] ダイアログ ボックスが表示されます。
[フランス語 (カナダ) [fr-CA]] を選択し、[OK] をクリックします。
[言語の優先順位] ダイアログ ボックスで、フランス語を一覧の先頭に移動します。
[OK] を 2 回クリックしてダイアログ ボックスを閉じます。
ページを更新します。
これにより、ページがフランス語で表示されます。
[connexion] リンクをクリックします。
[ログイン] ダイアログ ボックスがフランス語で表示されます。
双方向言語のサポートの追加
Silverlight ビジネス アプリケーションに双方向言語のサポートを追加するには、前の手順を実行して、選択した双方向言語に対して示されているロケール コードを置き換えます。さらに、次の手順に示すように、フロー方向を指定する必要があります。
双方向言語のサポートを追加するには
双方向言語の文字列が含まれている各リソース ファイルに、名前が FlowDirection、値が RightToLeft に設定されている新しい行を追加します。
双方向言語を実装する各 XAML ウィンドウのルート要素に、FlowDirection 属性を追加します。
次の例に示すように、FlowDirection 属性値を、リソース ファイルに追加された値にバインドします。
FlowDirection="{Binding Path=ApplicationStrings.FlowDirection, Source={StaticResource ResourceWrapper}}"
次の手順
参照
その他のリソース
Silverlight ベース アプリケーションのローカライズ
ASP.NET のグローバリゼーションおよびローカリゼーション