Xamarin.Android Xamarin Localization Multiple Language

使用 Xamairn.Aandroid 實現 Android App 的多國語系…

James Tsai 2017/11/01 19:40:00
703

主題

使用 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 檔當中所設定的 resourcekey值為 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


James Tsai