Lokalizowanie interfejsu za pomocą Edytora tłumaczeń (widoki)

Pojęcia i implementacja Jetpack Compose

Edytor tłumaczeń zapewnia skonsolidowany i edytowalny widok wszystkich domyślnych i przetłumaczonych zasobów ciągów znaków.

Więcej informacji o tłumaczeniu aplikacji na różne języki znajdziesz w artykule Obsługa różnych języków i kultur.

Rysunek 1. Edytor tłumaczeń pokazujący tekst aplikacji przed tłumaczeniem

Otwieranie Edytora tłumaczeń z Edytora projektu

Aby edytować domyślny i przetłumaczony tekst, tak aby lepiej pasował do układu, możesz otworzyć Edytor tłumaczeń z Edytora projektu w Edytorze układu. Informacje o przełączaniu języków w Edytorze projektu znajdziesz w artykule Wyświetlanie przetłumaczonego tekstu w Edytorze projektu.

  1. W panelu Projekt > Android po lewej stronie wybierz ModuleName > res > layout.
  2. Kliknij dwukrotnie content_main.xml , aby otworzyć go do edycji.
  3. W lewym dolnym rogu kliknij kartę Projekt , aby wyświetlić Edytor projektu.
  4. W Edytorze projektu kliknij listę Język .
  5. Kliknij Edytuj tłumaczenia .

Wyświetlanie przetłumaczonego tekstu w Edytorze projektu

Aby zobaczyć, jak przetłumaczony tekst wyświetla się w układzie aplikacji, przełączaj tekst między wersją domyślną a przetłumaczoną w Edytorze projektu:

  1. W panelu Projekt > Android po lewej stronie wybierz ModuleName > res > layout.
  2. Kliknij dwukrotnie content_main.xml , aby otworzyć go do edycji.
  3. W lewym dolnym rogu kliknij kartę Projekt , aby wyświetlić Edytor projektu.
  4. W Edytorze projektu kliknij listę Język .
  5. Kliknij Edytuj tłumaczenia .
  6. Wybierz język, w którym chcesz wyświetlać aplikację.

    Rysunek 2. Lista języków z wybranym językiem hiszpańskim

Edytor projektu wyświetla układ aplikacji w wybranym języku, w tym przypadku w języku hiszpańskim.

Rysunek 3. Edytor projektu wyświetlający przetłumaczony tekst w języku hiszpańskim

Ustawianie w Edytorze projektu języka domyślnego

Aby przywrócić język domyślny, kliknij es > Język .

Zarządzanie tekstem, który można przetłumaczyć, i jego testowanie

Platforma Android i Android Studio udostępniają kilka funkcji, które pomagają zarządzać tekstem aplikacji, który można przetłumaczyć, i go testować. Te funkcje mają opcje, które pomagają rozwiązywać problemy ze skryptami od prawej do lewej (RTL), takimi jak arabski czy hebrajski. Testowanie tekstu, który można przetłumaczyć, pozwala wprowadzać zmiany w tekście interfejsu i jego układzie, zanim zatwierdzisz wiadomości w repozytorium źródłowym, aby później wysłać je do tłumaczenia.

Refaktoryzacja projektu pod kątem obsługi RTL

Android Studio ma polecenie refaktoryzacji, które umożliwia obsługę tekstu dwukierunkowego w elementach TextView, ConstraintLayout i LinearLayout , dzięki czemu aplikacje mogą wyświetlać tekst w skryptach od lewej do prawej (LTR) i od prawej do lewej (RTL) oraz umożliwiać użytkownikom jego edytowanie. Polecenie zapewnia też automatyczne tworzenie kopii lustrzanych układów interfejsu aplikacji i wszystkich widżetów widoków. Aby zobaczyć zmianę kierunku tekstu i tworzenie odbicia lustrzanego układu, musisz też ustawić właściwości kierunku tekstu i układu w narzędziu Layout Editor.

Poniższa procedura pokazuje, jak refaktoryzować projekt pod kątem obsługi RTL:

  1. Kliknij Refactor > Add RTL support where possible (Refaktoryzuj > Dodaj obsługę RTL tam, gdzie to możliwe), aby wyświetlić okno dialogowe pokazane na rysunku 4.

    Rysunek 4. Dodawanie obsługi RTL

    • Jeśli element <application> w pliku AndroidManifest.xml nie ma atrybutu android:supportsRTL="true", zaznacz pole wyboru Update AndroidManifest.xml.
    • Jeśli targetSdkVersion aplikacji to 17 lub nowsza wersja, kliknij Replace Left/Right Properties with Start/End Properties (Zastąp właściwości Left/Right właściwościami Start/End). W takim przypadku właściwości powinny używać „start” i „end” zamiast „left” i „right”. Na przykład android:paddingLeft staje się android:paddingStart.
    • Jeśli targetSdkVersion aplikacji to 16 lub starsza wersja, kliknij Generate -v17 Versions (Wygeneruj wersje -v17). W takim przypadku kod XML powinien używać obu zestawów właściwości. Na przykład kod XML powinien używać zarówno android:paddingLeft, jak i android:paddingStart.
  2. Aby wyświetlić okno Find Refactoring Preview (Znajdź podgląd refaktoryzacji), kliknij Run (Uruchom).

    Rysunek 5. Sprawdzanie podglądu

  3. Kliknij Do Refactor (Refaktoryzuj).

Więcej informacji o refaktoryzacji projektu pod kątem obsługi RTL znajdziesz w artykule Native RTL support in Android 4.2 (Natywna obsługa RTL w Androidzie 4.2).

Właściwości kierunku tekstu i układu

Okno Właściwości po prawej stronie zawiera właściwość textDirection , której można używać z widżetami tekstowymi, oraz właściwość layoutDirection , której można używać z widżetami układu, aby zmienić kierunek tekstu i komponentów układu. Właściwości kierunku są wymienione w oknie Właściwości po prawej stronie i działają w przypadku interfejsu API w wersji 17 lub nowszej.

Aby zobaczyć zmianę kierunku tekstu i kopię lustrzaną układu, musisz też refaktoryzować projekt pod kątem obsługi RTL. W języku angielskim zmiana kierunku tekstu powoduje przeniesienie tylko znaków interpunkcyjnych z prawej strony na lewą stronę tekstu. Na przykład „Hello World!” staje się „!Hello World”. Aby zobaczyć, jak tekst LTR przełącza się na RTL, musisz użyć w aplikacji języka RTL. Jeśli chcesz używać języka angielskiego i zobaczyć, jak tekst przełącza się na RTL na potrzeby testowania, użyj pseudolokalizacji. Pseudolokalizacje są niezależne od polecenia refaktoryzacji i właściwości kierunku.

Aby uzyskać dostęp do właściwości kierunku i ich używać:

  1. W narzędziu Layout Editor wybierz widżet tekstowy.
  2. Otwórz okno Właściwości i wyszukaj właściwość RTL, której chcesz użyć. Aby ustawić wartość właściwości, wybierz jedną z tych opcji:

    • firstStrong: domyślna wartość widoku głównego. Kierunek akapitu określa pierwszy silny znak kierunkowy. Jeśli nie ma silnego znaku kierunkowego, kierunek akapitu jest określany przez kierunek układu widoku.
    • anyRtl: kierunek akapitu to RTL, jeśli zawiera on silny znak RTL ; w przeciwnym razie jest to LTR, jeśli zawiera on silne znaki LTR. Jeśli nie ma żadnego z tych znaków, kierunek akapitu jest określany przez kierunek układu widoku.
    • ltr: kierunek akapitu to LTR.
    • rtl: kierunek akapitu to RTL.
    • locale: kierunek akapitu pochodzi z ustawień regionalnych systemu.
    • inherit: wartość domyślna. Użyj kierunku ustawionego w elemencie nadrzędnym.

    Uwaga: silne znaki kierunkowe mają własny predefiniowany kierunek, np. większość znaków alfabetu i sylab, cyfry spoza Europy i spoza alfabetu arabskiego, ideogramy Han oraz znaki interpunkcyjne, które są specyficzne tylko dla tych skryptów.

  3. Aby sprawdzić odwrócony tekst i układ, uruchom aplikację.