使用 Xamairn.Aandroid 實現 Android App 的多國語系…
主題: |
使用 Xamairn.Aandroid 實現 Android App 的多國語系… |
文章簡介: |
在使用 Xamarin.Android 開發 Android 的 App 時,若是 App 會發佈給全球各地的使用者的下載使用的話,那在 App 當中添加多國語系的問題是絕對需要面對的課題。在本篇文章中,就來認識如何在 Xamarin.Android 處理多國語系的問題。 |
作者: |
James Tsai |
版本/產出日期: |
V1.0/2017.10.30 |
1. 前言
• 透過 Xamarin.Android 與設定製作具有多國語系能力的 Android App。
2. 環境準備
• 安裝好開發Xamarin的Visual Studio 2015/2017
3. 本文
前置準備
• 準備一個 Xamarin.Android 的空專案。
• 確定可以正常的編譯並執行。
使用Xamarin.Android 實作多國語系
• 首先,先來調整一下我們建立的這個 App 的名稱與顯示名稱。打開 App1 專案底下的Resources底下的values資料夾中的 Strings.xml,並且將既有存在的 app_name 的Key/Value pair的 value 值,改成 “My App”。
• 再開啟 MainActivity.cs,找到 MainActivity 類別上方的 ActivityAttribute,並且將其中的 Label 改成 ”@string/app_name”。
• 由於在我們目前這個測試 App 當中的MainActivity 的 ActivityAttribute 有掛上 Label 的設定(並且將設定MainLauncher 為 true ),就會用 Label 設定當作 MainActivity 出現在手機應用程式集當中的顯示名稱。若 MainActivity 的 ActivityAttribute 沒有掛上 Label 的設定時,就會用在專案的 Properties 底下的 AndroidManifest.xml 中所設定的 application label 作為的顯示名稱。
• 並且在這邊注意我們都將 value 值設定為 ”@string/app_name”,再建置 Android App 的過程,會去讀取 App1 專案底下的 Resources 底下 Values資料夾底下的 Strings.xml 檔當中所設定的 resource中key值為 ”app_name” 的 Key/Value pair 的 Value 資料。
• 因次再次執行此測試 App 時所看到的 MainActivity 畫面在Title 跟 在應用程式列表中的App名稱都已經換成”My App”的字樣。
• 接著回到 Visual Studio 2017 的方案總管當中,在 App1 專案底下的 Resources 底下 新增三個資料夾,各別名稱為”values-zh-rTW”、”values-zh-rCN”、”values-ja-rJP”,如下圖紅框所示。
• 接著將原本在 values 底下的 Strings.xml 檔,各別複製一份到上述所建的三個資料夾當中,如下圖紅框所示。
• 接著分別打開各個資料夾當中的 Strings.xml 檔,如下圖紅框的變更: (簡體中文的設定檔仍沿用英文 My App)
測試執行
• 將這個 App 編譯執行後,就會這個的 App 會隨著 Android 模擬器或裝置上的語系設定,改變所顯示的語言了,如下圖 (沒有展示簡體中文) 所示:
4. 參考來源
• Android Localization:
https:/ /developer.xamarin.com/guides/android/advanced_topics/localization