[Windows Phone] 多語系Step by Step
本篇介紹如何實作 Windows Phone App 操作介面多語系,需求是希望 App 的操作介面可以跟著使用者手機的語系進行介面語言的轉換。
(1) 首先在 Resources 資料夾新增 AppResources 資源檔 (默認語言),並在該資源檔中建立語系字典對應表,在這裡僅先定義 AppTitile,用來替換範例中的 Pivot Title 顯示文字。
(2) 假設想支援簡中語系,那麼可以透過專案屬性 ""支援的文化特性" 勾選所要的語言,儲存後 Visual Studio 會自動加入該語系的資源檔,開發人員只須針對資源檔中的字典對應表進行調整即可。
(3) 資源檔的存取修飾詞記得改為 Public (預設是 Internal )
(4) 新增一個類別,該類別的作用在於使 App 能依手機語言特性取得相對應的資源檔內容。
namespace PivotAppDemo2
{
public class UiLangLocalized
{
public UiLangLocalized()
{
}
private static AppResources localizedResources = new AppResources();
public AppResources AppResources
{
get
{
return localizedResources;
}
}
}
}
(5) 開啟 App.xaml 檔案,在 Application.Resources 區段內加入應用程式資源。
(6) 接著開啟 MainPage.xaml ,將原本 Title="我的應用程式" 改為 Title="{Binding Path=AppResources.AppTitle, Source={StaticResource UiLangLocalized}}" ,簡單來說就是透過Binding方式將資源檔內容綁定進來。
(7) 測試,進入設定將手機語系改為簡中,重新開機,再重新 Run 一次 App,可以看到 App 上的介面語言改轉換為簡中。
關於資源檔,Microsoft 提供了一套方便開發人員翻譯資源檔的工具,多語系應用程式工具組,該工具的使用方式可以自行參考官方網站上的影音介紹。
Ref :
How to build a localized app for Windows Phone 8
Globalization and localization for Windows Phone 8
By No.18