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.
- W panelu Projekt > Android po lewej stronie wybierz ModuleName > res > layout.
- Kliknij dwukrotnie content_main.xml , aby otworzyć go do edycji.
- W lewym dolnym rogu kliknij kartę Projekt , aby wyświetlić Edytor projektu.
- W Edytorze projektu kliknij listę Język
.
- 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:
- W panelu Projekt > Android po lewej stronie wybierz ModuleName > res > layout.
- Kliknij dwukrotnie content_main.xml , aby otworzyć go do edycji.
- W lewym dolnym rogu kliknij kartę Projekt , aby wyświetlić Edytor projektu.
- W Edytorze projektu kliknij listę Język
.
- Kliknij Edytuj tłumaczenia
. - 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:
- 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 plikuAndroidManifest.xmlnie ma atrybutuandroid:supportsRTL="true", zaznacz pole wyboru Update AndroidManifest.xml. - Jeśli
targetSdkVersionaplikacji 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ładandroid:paddingLeftstaje sięandroid:paddingStart. - Jeśli
targetSdkVersionaplikacji 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ównoandroid:paddingLeft, jak iandroid:paddingStart.
- Jeśli element
- Aby wyświetlić okno Find Refactoring Preview (Znajdź podgląd refaktoryzacji), kliknij Run (Uruchom).
Rysunek 5. Sprawdzanie podglądu
- 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ć:
- W narzędziu Layout Editor wybierz widżet tekstowy.
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.
Aby sprawdzić odwrócony tekst i układ, uruchom aplikację.