6.6 多國語言

Android 應用程式可在不同語言的環境中顯示不同的介面語系,當使用 者的手機使用的是英文環境時,應用程式以英文介面顯示,而手機是中文環境時,自動切換為中文介面。要達到多國語系支援,必須在設計時準備:

■ 建立版面中的文字的字串資源 (String resource)

■ 建立語系字串資源檔,也就是翻譯資料

測試時在模擬器中更換語系,即可驗證 APP 是否適用於不同語系環境, 以下將使用同一個 Bmi 範例專案,為其建立字串資源與語系字串資源檔。 為使用者介面建立多國語言之前,先要為畫面中所使用到的字串一一建 立成為字串資源。

建立版面字串資源

在範例版面中,需要將畫面中的「Weight」、「Height」、「Calculate BMI」、「Help」 等 字 串, 由 Layout 中 抽 離 至 字 串 資 源 檔「res/values/ strings.xml」。

請先點擊預覽畫面中的 Weight(TextView),再按下「Ctrl + B」快速到 XML 宣告處,選擇「android:text」屬性值,選擇後,再按下「Alt+Enter」 (Mac 為 Option + Enter),如下圖:

在一個字串值處按下 Alt+Enter 時,會出現快速選單,請點擊第一個項 目「Extract string resource」抽取字串至字串資源檔,再按下 Enter 鍵選擇, 可在對話框中的 Reource name 宣告一個代表體重的名稱,如「weight」, 如下圖所示:

輸入 weight 後按下 Enter 完成字串抽取,原本的 Weight 字串成為參考 字串資源,如下:

<TextView
            android:text="@string/weight"
            android:layout_width="wrap_content"

請用同樣方法, 找到 Height 文字方塊 (TextView) 宣告處, 設定 「android:text」屬性值,如下圖:

抽取建立一個名為「height」的字串資源,如下圖:

再取抽按鈕上的文字「Calculate BMI」成為「calculate_bmi」字串資源, 如下:

最後也將「Help」按鈕文字抽取成為「help」字串資源。

完成字串抽取後,請開啟 res/layout/activity_main.xml,在預覽畫面的上方點擊快速圖示列中的地球圖示下拉選單,選擇「Edit Translations」,如下圖:

開啟翻譯編輯器後,其中列出目前字串資源所定義的資料,如下圖:

建立語系資源檔-正體中文

接著開始建立中文語系的字串資源檔,點擊翻譯編輯器上方的地球圖示後,在下拉選單中點擊「Chinese(zh)」,如下圖:

在右邊多出一個 Chinese(zh) 欄位中,輸入各個資源的中文翻譯,如下圖:

完成後,會產生第二個 strings.xml 資源檔,當使用者手機環境語系是中文時,會使用這個資源檔中的字串,如下圖:

檔案內容如下:

設定模擬器語系

在執行前,請先將模擬器的語系設定為正體中文,步驟如下:

1. 在主畫面中由底部往上滑

2.點擊 Settings 設定

3.點擊最下方的「System」

4.再點擊「Languages & input」

5.再點擊「Languages」

6.點擊「Add a language」

7.向下捲動至最後,選擇「繁體中文」

8.再選擇「台灣」

9.最後將繁體中文 ( 台灣 ) 拉到第一個位置,如下圖:

測試

在「Android Studio」執行 Bmi 專案,在模擬器中畫面使用的文字都換成中文語系資源,如下圖:

Last updated