- Windows 10 開發教程
- Windows 10 - 主頁
- Windows 10 - 簡介
- Windows 10 – UWP
- Windows 10 – 第一個應用
- Windows 10 - 應用商店
- Windows 10 - XAML 控制元件
- Windows 10 - 資料繫結
- Windows 10 - XAML 效能
- Windows 10 - 自適應設計
- Windows 10 - 自適應 UI
- Windows 10 - 自適應程式碼
- Windows 10 - 檔案管理
- Windows 10 - SQLite 資料庫
- Windows 10 – 通訊
- Windows 10 - 應用本地化
- Windows 10 - 應用生命週期
- Windows 10 - 後臺執行
- Windows 10 - 應用服務
- Windows 10 - Web 平臺
- Windows 10 - 連線體驗
- Windows 10 - 導航
- Windows 10 - 網路
- Windows 10 - 雲服務
- Windows 10 - 即時磁貼
- Windows 10 - 共享契約
- Windows 10 - 移植到 Windows
- Windows 10 有用資源
- Windows 10 - 快速指南
- Windows 10 - 有用資源
- Windows 10 - 討論
Windows 10 開發 - 本地化
Windows 在全球範圍內使用,覆蓋各種不同的市場和目標受眾,這些受眾在文化、地區或語言方面各不相同。本地化是指將應用程式資源翻譯成針對應用程式支援的特定文化的本地化版本。
當您僅用一種語言開發任何應用程式時,意味著您只是限制了您的業務和客戶。如果您想擴大客戶群,從而增加您的業務,那麼您的應用程式必須在全球範圍內可用並可訪問。對您的產品進行經濟高效的本地化是吸引更多客戶的最佳和最經濟的方式之一。
在 Windows 10 中,使用resx檔案建立可本地化的應用程式非常容易,這是本地化最簡單的解決方案。
讓我們透過遵循下面提到的所有步驟,藉助一個簡單的示例來理解這一點。
翻譯 UI 資源
您可以將 UI 的字串資源放入資源 (resw) 檔案中,而不是直接將它們放在程式碼或標記中,然後您可以從程式碼或標記中引用這些字串。請按照以下步驟將字串新增到資原始檔。
建立一個新的通用 Windows 平臺 (UWP) 應用程式。
在解決方案資源管理器中,右鍵單擊專案並選擇新增 > 新建資料夾。
將新資料夾的名稱更改為“Strings”。
右鍵單擊Strings資料夾並新增一個名為“en-US”的新資料夾。這些是特定於語言和國家/地區名稱的命名約定,可以在國家語言支援 (NLS) API 參考 msdn.microsoft.com頁面上找到。
右鍵單擊en-US資料夾並選擇新增 > 新建項…。
- 將開啟以下對話方塊。
選擇“資原始檔 (.resw)”並單擊新增按鈕。
現在讓我們轉到 XAML 檔案並新增一個 Hub 控制元件,並設定一些屬性,如下所示。
<Page
x:Class = "UWPLocalizationDemo.MainPage"
xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local = "using:UWPLocalizationDemo"
xmlns:d = "http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable = "d">
<Grid Background = "{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Hub x:Name = "textBlock" x:Uid = "HubControl" Background = "Black"
Foreground = "White" Header = "Localization Demo"/>
</Grid>
</Page>
x:Uid = "HubControl" 是用於本地化的識別符號
現在,當編譯並執行上述程式碼時,您將看到以下視窗。
與 Hub 相關的所有資訊,例如標題、前景色和背景色,都設定在 XAML 中。
現在在Strings/en-US資料夾中的Resource.resw檔案中新增一些資訊,如下所示。
您需要將每個需要本地化文字的控制元件與 .resw檔案關聯。您可以透過在 XAML 元素上使用x:Uid屬性來實現,如下所示:
x:Uid = "HubControl" 用於在resw檔案中為標題、前景色和背景色分配字串。
現在,當您編譯並在模擬器上執行應用程式時,您將看到以下視窗。您可以看到標題、前景色和背景色的值是從Resources.resw檔案中獲取的。
您可以手動為其他語言(如法語、德語和日語等)新增其他Resource.resw檔案,就像我們對英語-美國所做的那樣,但 Microsoft 還提供了一個多語言應用程式工具包,藉助該工具包,您可以輕鬆地將您的Resource.resw翻譯成其他語言。
轉到工具 > 擴充套件和更新選單並搜尋多語言應用程式工具包。
下載並安裝此工具包。安裝完成後,重新啟動 Visual Studio 並開啟同一個專案。
現在從工具 > 多語言應用程式工具包選單選項啟用此工具包。
現在您可以新增其他語言的翻譯。
在解決方案資源管理器中右鍵單擊專案,然後從選單中選擇多語言應用程式工具包 > 新增翻譯語言選項。
將開啟以下翻譯語言對話方塊。您可以選擇任何您想要的語言,以便針對這些文化對您的應用程式進行本地化。
讓我們選擇德語語言並單擊確定按鈕。
您還可以看到Resources.resw檔案是在Strings\de資料夾內建立的。
現在,您會看到另一個MultiLingualResources新增到*.xlf檔案中。雙擊此檔案,這將開啟多語言編輯器以檢查和驗證已翻譯的字串,並在需要時進行一些更改。
進行更改並驗證背景色是否已更改為棕色,以及標題文字是否已正確翻譯為德語。
如上例所示,Hub 的背景色已從藍色更改為棕色,前景色保持不變。
現在開啟Resources.resw,它位於Strings\de資料夾內。
您可以看到這裡只提到了兩個字串,因為我們沒有在多語言編輯器中更改前景色。
要檢查應用程式的本地化版本,請更改計算機的區域性。要更改計算機的區域性,請按照以下步驟操作。
- 讓我們轉到 PC 設定並選擇時間和語言。
從左側窗格中,選擇區域和語言,然後單擊新增語言。
選擇德語 (德國)語言,如上所示,這將開啟另一個對話方塊。
現在選擇德語 (德國)並關閉此對話方塊。
- 將德語設定為預設語言。
- 現在執行您的應用程式,它將顯示以下視窗。
- 現在您可以看到應用程式的輸出以德語顯示。