Translations Editor로 UI 현지화 (뷰)

개념 및 Jetpack Compose 구현

Translations Editor를 통해 기본 및 번역 문자열 리소스 전체가 통합적으로 표시된 편집 화면을 볼 수 있습니다.

다양한 언어로 앱을 번역하는 방법에 관한 소개는 다양한 언어 및 문화권 지원을 참고하세요.

그림 1. 번역 전 앱 텍스트를 보여주는 Translations Editor

Design Editor에서 Translations Editor 열기

Layout Editor의 Design Editor에서 Translations Editor 를 열어 기본 및 번역된 텍스트를 레이아웃에 더 적합하게 편집할 수 있습니다. Design Editor에서 언어를 전환하는 방법에 관한 자세한 내용은 Design Editor에서 번역된 텍스트 표시를 참고하세요.

  1. 왼쪽의 Project > Android 패널에서 ModuleName > res > layout 을 선택합니다.
  2. 더블클릭으로 content_main.xml을 열어 편집합니다.
  3. 왼쪽 하단에 있는 Design 탭을 클릭하여 Design Editor를 표시합니다.
  4. Design Editor에서 Language 드롭다운 목록을 선택합니다.
  5. Edit Translations 를 선택합니다.

번역된 텍스트를 Design Editor에 표시

번역된 텍스트가 앱 레이아웃에 어떻게 표시되는지 보려면 Design Editor에서 다음과 같이 기본 버전과 번역된 버전 간에 텍스트를 전환합니다.

  1. 왼쪽의 Project > Android 패널에서 ModuleName > res > layout 을 선택합니다.
  2. 더블클릭으로 content_main.xml을 열어 편집합니다.
  3. 왼쪽 하단에 있는 Design 탭을 클릭하여 Design Editor를 표시합니다.
  4. Design Editor에서 Language 드롭다운 목록을 선택합니다.
  5. Edit Translations 를 선택합니다.
  6. 앱을 보는 데 사용할 언어를 선택합니다.

    그림 2. 스페인어가 선택된 언어 드롭다운 목록

Design Editor에서는 선택한 언어(이 경우 스페인어)로 앱 레이아웃을 표시합니다.

그림 3. 스페인어로 번역된 텍스트를 표시하는 Design Editor

Design Editor를 기본 언어로 설정

언어를 다시 기본값으로 설정하려면 es > Language 를 선택합니다.

현지화 가능한 텍스트 관리 및 테스트

Android 플랫폼과 Android 스튜디오는 현지화 가능한 앱 텍스트를 관리하고 테스트하는 데 도움이 되는 여러 기능을 제공합니다. 이러한 기능에는 아랍어나 히브리어와 같이 오른쪽에서 왼쪽 (RTL) 방향의 스크립트와 관련된 문제를 타겟팅하는 데 도움이 되는 옵션이 있습니다. 현지화 가능한 텍스트를 테스트하면 나중에 번역을 위해 보낼 메시지를 소스 저장소에 커밋하기 전에 UI 텍스트와 레이아웃을 조정할 수 있습니다.

RTL 지원을 위한 프로젝트 리팩터링

Android 스튜디오에는 양방향 텍스트 지원을 사용 설정하는 리팩터링 명령어가 있으므로 앱에서 표시할 수 있고 사용자는 왼쪽에서 오른쪽 (LTR) 및 오른쪽에서 왼쪽 (RTL) 방향의 스크립트로 된 텍스트를 편집할 수 있습니다.TextViewConstraintLayoutLinearLayout 또한 이 명령어를 통해 앱 UI 레이아웃과 모든 뷰 위젯을 자동 미러링할 수 있습니다. 텍스트 방향 변경 및 레이아웃 미러링을 보려면 텍스트 및 레이아웃 방향 속성Layout Editor에서 설정해야 합니다.

다음 절차에서는 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 를 선택합니다. 이 경우 속성은 'left' 및 'right' 대신 'start' 및 'end'를 사용해야 합니다. 예를 들어 android:paddingLeftandroid: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. Layout Editor에서 텍스트 위젯을 선택합니다.
  2. Properties 창을 열고 사용하려는 RTL 속성을 검색합니다. 속성 값을 설정하려면 다음 중 하나를 선택합니다.

    • firstStrong: 루트 뷰의 기본값입니다. 짙게 표시된 첫 번째 방향 문자로 단락 방향을 결정합니다. 짙게 표시된 방향 문자가 없는 경우 단락 방향은 뷰의 확인된 레이아웃 방향입니다.
    • anyRtl: 단락 방향에 짙게 표시된 RTL 문자가 포함된 경우 단락 방향은 RTL이고 짙게 표시된 LTR 문자가 포함된 경우에는 LTR입니다. 둘 다 없으면 단락 방향은 뷰의 확인된 레이아웃 방향입니다.
    • ltr: 단락 방향은 LTR입니다.
    • rtl: 단락 방향은 RTL입니다.
    • locale: 단락 방향이 시스템 로캘에 따라 지정됩니다.
    • inherit: 기본값입니다. 상위 요소에 설정된 방향을 사용합니다.

    참고: 짙게 표시된 방향 문자에는 대부분의 알파벳 및 음절 문자, 비유럽 및 비아라비아 숫자, 한자 표기, 그리고 이러한 스크립트에 고유한 문장 부호 문자와 같이 사전 정의된 자체 방향이 있습니다.

  3. 반전된 텍스트 및 레이아웃을 검토하려면 앱을 실행합니다.