|
Silverlight中實現多國語言
訊光科技 / 李尚珉
前言
面對全球化趨勢的來臨,現階段企業正處於一個全球競爭的時代,不管是無時差的競爭挑戰,亦或是世界經濟的快速整合,面對這股全球化的大洪流都無法置身事外,所以不管企業內部或外部的資訊系統,是否能夠提供一個方便的多國語言架構,在這個全球化佈局的年代就顯得格外重要。
EEP 2010 Silverlight多國語言方案
傳統Web在多國語言實作上大多是利用資源檔(.resx),依據不同的語系去讀取不同的資源檔,開發方式較為複雜,EEP2010針對Web 及Windows Form皆開發出相對應的多國語言件,使用者只要從工具箱將MultiLanguage元件拉入畫面後,元件可以取得畫面上所有的元件名稱,開發者可以透過編輯器來設定各語系的對照表,來達到多國語言的功能。
EEP2010中提供了一個新的EF Module模組,其使用者介面就採用了微軟最新的Silverlight平台,這個新的Silverlight介面可能讓我們的網頁的資料處理效能變得更為互動,速度反應變得更快,更可以3D的動畫或多點觸控的方式來操作,大幅提升使用者良好的操作體驗。同樣在Silverlight這個模組中,我們也提供了多國語言元件(SLMultiLanguage),其開發方式與EEP2010 Web 及Windows Form 大致雷同,EEP的開發人員,可以比照以往的經驗,輕鬆的達到Silverlight 多國語言化的目的。
實例開發
Step1>打開SL002設計畫面,透過VS右側的Toolbox找到SLMultiLanguage,將其拖拉到SL002畫面中顯示Master資料的元件下方。

Step2>接著,在屬性頁簽中找到SLMultiLanguage的Edit屬性,點開右側的按鈕。

Step3>在開啟的視窗中,點選Refresh controls按鈕,系統自動將畫面中所有元件的Caption屬性載入並帶入資料字典中所定義好的欄位Caption值。


Step4>在開啟的視窗中點選按鈕Select language,用來設定這個多國語言元件具體可顯示的語言種類,這裡最多可以定義八國的語系。

Step5>針對不同語系編輯其對應的元件Caption值。

Step6>回到SLMultiLanguage的屬性頁中,將CurrentLanguage的語言設定為ChineseTra,表示在打開設計畫面預設系統語言為繁體中文。

Step7>透過Document Outline找到顯示Master資料的fvMaster元件,在它的屬性中找到SLMultiLanguageID屬性,選擇到前面添加的slMultiLanguage1。

Step8>從Toolbox的Common Silverlight Controls中拖拉出三個RadioButton分別放置在SLNavigator的上方,分別將這其Content屬性進行修改,“繁體中文”、“簡體中文”以及“English”作為語系切換用,並在Checked事件撰寫程式碼如下,透過SLMultiLanguage.CurrentLanguage屬性來達到切換語系的目的。

private void radioButton1_Checked(object sender, RoutedEventArgs e)
{
RadioButton rb = sender as RadioButton;
if (this.sLMultiLanguage1 != null)
{
if (rb.Content.Equals("繁體中文"))
{
this.sLMultiLanguage1.CurrentLanguage = SLTools.LanguageType.ChineseTra;
}
else if (rb.Content.Equals("簡體中文"))
{
this.sLMultiLanguage1.CurrentLanguage = SLTools.LanguageType.ChineseSim;
}
else
{
this.sLMultiLanguage1.CurrentLanguage = SLTools.LanguageType.English;
}
}
}
結論
隨著網路蓬勃的發展及全球化的潮流興起,Web系統多國語言化已成為不可不為的趨勢,伴隨著Silverligt互動性方案的崛起,訊光針對Silverlight多國語言化,提供了一個更容易的解決方案,讓開發者透過元件的設定,輕鬆的解決Silverlight多國語系的問題,使得開發與維護更加便利,讓企業能在這波全球化的潮流中占領先機。
|