逐步解說:當地語系化商務應用程式
本逐步解說將示範如何在 WCF RIA Services 商務應用程式中加入當地語系化支援。現今世界各地的人們都需要用到許多商務應用程式。Silverlight、ASP.NET 和 WCF RIA Services 包含對特定文化特性或地區設定當地語系化應用程式的支援。在本逐步解說中,您將撰寫一個應用程式,可根據瀏覽器的語言設定值,載入英文或加拿大法文使用者介面字串。
本逐步解說涵蓋下列工作:
設定用戶端專案以支援特定語言。
將資源當地語系化。
設定測試頁以使用當地語系化資源。
設定 Internet Explorer 以載入當地語系化頁面。
加入雙向語言的支援。
必要條件
除了 WCF RIA Services 和 WCF RIA Services 工具組之外,在 WCF RIA Services 文件中呈現的這個逐步解說和其他逐步解說還需要正確安裝並設定數個必要程式 (例如 Visual Studio 2010 和 Silverlight 執行階段與 SDK)。要執行逐步解說還需要安裝並設定 SQL Server 2008 R2 Express with Advanced Services,以及安裝 AdventureWorks OLTP 和 LT 資料庫。
在 WCF RIA Services 的必要條件節點中的主題也提供符合這些必要條件的詳細指示。請先按照該處提供的指示進行,然後再進行本逐步解說,以確保您在進行本 RIA Services 逐步解說時不會發生問題。
設定用戶端專案
下列程序將說明如何在用戶端專案檔中指定支援的語言。
若要設定用戶端專案
在 Visual Studio 2010 中建立新的 RIA Services 專案,方式是依序選取 [檔案]、[新增] 和 [專案]。
[新增專案] 對話方塊隨即出現。
從 [已安裝的範本] 的 [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
用戶端應用程式現在可以顯示這兩個不同版本之一。若要檢視加拿大法文版本,您必須將 Web 瀏覽器的預設語言設為加拿大法文。下列程序將說明如何設定 Internet Explorer。
若要設定 Internet Explorer
按 F5 執行方案。
應用程式隨即在 Internet Explorer 中啟動。除非 Internet Explorer 中的語言喜好設定已設為加拿大法文,否則會以英文顯示字串。
按一下 [工具] 功能表,然後按一下 [網際網路選項]。
[網際網路選項] 對話方塊隨即出現。
按一下 [一般] 索引標籤上的 [語言]。
[語言喜好設定] 對話方塊隨即出現。
按一下 [新增]。
[新增語言] 對話方塊隨即出現。
選取 [法文 (加拿大) [fr-CA]],然後按一下 [確定]。
在 [語言喜好設定] 對話方塊中,將法文移至清單最上方。
按兩次 [確定] 關閉對話方塊。
重新整理頁面。
現在應該會以法文顯示頁面。
按一下 [connexion] 連結。
請注意,[Login] 對話方塊是以法文顯示。
加入雙向語言的支援
如果要將雙向語言的支援加入至 Silverlight 商務應用程式,您可以按照先前的步驟進行,替換選取的雙向語言顯示的地區設定代碼。您可能還需要指定直書/橫書,如下列程序所示。
若要加入雙向語言的支援
在每個包含雙向語言字串的資源檔中加入 Name 為 FlowDirection 且 Value 為 RightToLeft 的新列。
在每個要實作雙向語言的 XAML 視窗的根項目中加入 FlowDirection 屬性。
將 FlowDirection 屬性值繫結至已加入資源檔中的值,如下列範例所示。
FlowDirection="{Binding Path=ApplicationStrings.FlowDirection, Source={StaticResource ResourceWrapper}}"