使用翻譯編輯器將使用者介面本地化 (Views)

概念和 Jetpack Compose 實作

翻譯編輯器提供整合性的編輯介面,方便您處理所有預設及已翻譯的字串資源

如需將應用程式翻譯成不同語言的相關介紹,請參閱「支援不同的語言和文化」。

圖 1. 翻譯編輯器顯示尚未翻譯的應用程式文字

從設計編輯器開啟翻譯編輯器

只要在版面配置編輯器的設計編輯器中開啟翻譯編輯器,即可編輯預設和翻譯文字,讓文字更貼近版面配置設計。如要瞭解如何在設計編輯器中切換語言,請參閱「在設計編輯器中顯示譯文」。

  1. 在左側面板中依序點選「Project」>「Android」,再依序選取「ModuleName」>「res」>「layout」
  2. 按兩下 content_main.xml 即可開啟該檔案進行編輯。
  3. 按一下左下角的「Design」分頁標籤,即可顯示「Design」編輯器。
  4. 在設計編輯器中,選取「Language」 下拉式清單。
  5. 選取「Edit Translations」圖示

在設計編輯器中顯示譯文

如要瞭解譯文在應用程式版面配置中的顯示方式,請在設計編輯器中切換文字的預設版本和翻譯版本,操作步驟如下:

  1. 在左側面板中依序點選「Project」>「Android」,再依序選取「ModuleName」>「res」>「layout」
  2. 按兩下 content_main.xml 即可開啟該檔案進行編輯。
  3. 按一下左下角的「Design」分頁標籤,即可顯示「Design」編輯器。
  4. 在設計編輯器中,選取「Language」 下拉式清單。
  5. 選取「Edit Translations」圖示
  6. 選取您要用來瀏覽應用程式的語言。

    圖 2. 語言下拉式選單,已選取「Spanish」

設計編輯器會以選取的語言顯示應用程式版面配置 (本範例為西班牙文)。

圖 3. 設計編輯器顯示西班牙文的譯文

將設計編輯器設為預設語言

如要恢復預設語言,請依序選取「es」>「Language」圖示

管理及測試本地化文字

Android 平台和 Android Studio 提供多種功能,可協助您管理及測試本地化的應用程式文字。您可以透過這些功能提供的相關選項,處理由右至左 (RTL) 字集 (例如阿拉伯文或希伯來文) 所產生的問題。測試本地化文字後,您就能調整使用者介面文字及其版面配置,再將訊息內容提交至來源存放區,留待稍後翻譯。

重構專案以支援由右至左 (RTL) 的文字

Android Studio 提供重構指令,可支援 TextViewConstraintLayoutLinearLayout 元素中的雙向文字,還能讓使用者編輯由左至右 (LTR) 及由右至左 (RTL) 的字集。這個指令也會針對應用程式 UI 版面配置和所有檢視畫面小工具,提供自動鏡像畫面。如要查看文字方向變更以及版面配置鏡像設定,您也必須在版面配置編輯器中設定文字和版面配置方向屬性

下列流程說明如何重構專案以支援 RTL 文字:

  1. 依序選取「Refactor」>「Add RTL support where possible」,即可開啟圖 4 所示的對話方塊。

    圖 4. 新增 RTL 支援

    • 如果 AndroidManifest.xml 檔案中的 <application> 元素沒有 android:supportsRTL="true" 屬性,請勾選「Update AndroidManifest.xml」核取方塊。
    • 如果應用程式的 targetSdkVersion 為 17 以上版本,請選取「Replace Left/Right Properties with Start/End Properties」。在這種情況下,您的屬性應該使用「start」和「end」,而不是「left」和「right」。舉例來說,android:paddingLeft 會變為 android:paddingStart
    • 如果應用程式的 targetSdkVersion 為 16 以下版本,請選取「Generate -v17 Versions」。在這種情況下,XML 應同時使用這兩組屬性。舉例來說,XML 應同時使用 android:paddingLeftandroid:paddingStart
  2. 如要顯示「Find Refactoring Preview」視窗,請按一下「Run」

    圖 5. 查看預覽畫面

  3. 按一下「Do Refactor」

如要進一步瞭解如何重構專案以支援 RTL 文字,請參閱「Android 4.2 中的 RTL 原生支援服務」。

文字和版面配置方向屬性

如要變更文字方向和版面配置元件,可使用右側「Properties」視窗中提供的 textDirection 屬性 (可與文字小工具搭配使用) 和 layoutDirection 屬性 (可與版面配置小工具搭配使用)。右側的「Properties」視窗會列出方向屬性,適用於 API 級別 17 以上版本。

如要查看文字方向變更以及版面配置鏡像設定,您也必須重構專案才能支援 RTL 字集。在英文中,文字方向變更只會將標點符號從文字右側移至左側 (例如「Hello World!」會變成「!Hello World」)。如要查看 LTR 文字切換為 RTL 的顯示情形,您必須在應用程式中使用 RTL 語言。假設您要使用英文,並測試文字切換為 RTL 的顯示情形,請使用虛擬語言代碼。虛擬語言代碼與重構指令和方向屬性無關。

如要存取及使用方向屬性,請執行下列步驟:

  1. 版面配置編輯器中選取文字小工具。
  2. 開啟「Properties」視窗,然後搜尋您要使用的 RTL 屬性。如要設定屬性值,請選取下列其中一個選項:

    • firstStrong:根層級檢視畫面的預設選項。第一個特定書寫方向的字元會決定段落的閱讀方向。如果沒有特定書寫方向的字元,段落方向則根據檢視畫面設定的版面配置方向而定。
    • anyRtl:只要段落含有僅能由右至左書寫的 RTL 字元,段落方向為 RTL。否則,如果段落含有僅能由左至右書寫的 LTR 字元,段落方向為 LTR。如果沒有這類字元,段落方向則根據檢視畫面設定的版面配置方向而定。
    • ltr:段落方向為 LTR。
    • rtl:段落方向為 RTL。
    • locale:段落方向由系統語言代碼而定。
    • inherit:預設值。請使用父項中設定的方向。

    注意:強方向性字元有其預先定義的方向,例如多數的字母和音節文字、非歐洲與非阿拉伯文數字、漢字以及與這些字集相關的標點符號字元。

  3. 如要查看反向文字和版面配置,請執行應用程式。