Edytor tłumaczeń zapewnia skonsolidowany i edytowalny widok wszystkich domyślnych i przetłumaczonych zasobów tekstowych.
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
Zasoby tekstowe
Zasoby tekstowe projektu znajdują się w plikach strings.xml. Twój projekt ma domyślny plik strings.xml, który zawiera zasoby tekstowe w domyślnym języku aplikacji, czyli w języku, którym posługuje się większość użytkowników aplikacji. Możesz też mieć przetłumaczone pliki strings.xml, które zawierają zasoby tekstowe w innych językach obsługiwanych przez aplikację.
Gdy skończysz pracę nad domyślnym plikiem strings.xml, możesz samodzielnie dodać tłumaczenia lub zlecić to profesjonalnej usłudze.
W obu przypadkach warto skorzystać z funkcji Android Studio, które pomogą Ci
zarządzać tekstem przeznaczonym do lokalizacji i go testować. Więcej informacji o
profesjonalnych usługach tłumaczeniowych znajdziesz w artykule Usługi tłumaczeniowe.
Otwieranie Edytora tłumaczeń
Edytor tłumaczeń możesz otworzyć w Android Studio w tych miejscach:
Otwieranie w widoku Android
- W panelu po lewej stronie Project > Android wybierz ModuleName > res > values.
- Kliknij prawym przyciskiem myszy plik strings.xml i wybierz Otwórz Edytor tłumaczeń.
Edytor tłumaczeń wyświetla pary klucz-wartość z pliku
strings.xml.Uwaga: gdy masz przetłumaczone pliki
strings.xml, Twój projekt zawiera kilka odpowiadających im folderów values z sufiksami wskazującymi język, np. values-es w przypadku języka hiszpańskiego. Domyślny plikstrings.xmlzawsze znajduje się w folderze values (bez sufiksu).
Rysunek 1 przedstawia domyślny tekst aplikacji (w tym przypadku w języku angielskim) w Edytorze tłumaczeń prostej aplikacji przed przetłumaczeniem. Zawartość przetłumaczonych plików strings.xml będzie wyświetlana po prawej stronie kolumny Nieprzetłumaczalne w kolumnach odpowiadających poszczególnym językom, jak pokazano na rysunku 2.
Otwieranie z poziomu pliku strings.xml
Edytor tłumaczeń możesz otworzyć z poziomu dowolnego pliku strings.xml.
- W panelu po lewej stronie Projekt > Android wybierz ModuleName > res > values.
- Kliknij dwukrotnie strings.xml , aby otworzyć go do edycji.
- W pliku strings.xml kliknij link Otwórz edytor w prawym górnym rogu.
Konfigurowanie wierszy nieprzetłumaczalnych
W Edytorze tłumaczeń możesz wybrać opcję Nieprzetłumaczalne, aby wskazać że tekst w tym wierszu nie ma być tłumaczony. Tekst, który nie powinien być tłumaczony, może być tekstem specyficznym dla produktu, takim jak nazwy handlowe i znaki towarowe, lub terminami technicznymi, które nie mają tłumaczenia.
Gdy wybierzesz opcję Nieprzetłumaczalne, do odpowiedniego wiersza w domyślnym
strings.xml pliku zostanie dodany atrybut translatable="false". W poniższym przykładzie tekst EasyApp w górnym wierszu nie jest tłumaczony, ponieważ jest to nazwa produktu.
<resources>
<string name="app_name" translatable="false">EasyApp</string>
<string name="action_settings">Settings</string>
<string name="easy_app">I am a Simple App!</string>
<string name="next_page">Next Page</string>
<string name="second_page_message">I am the Second Page!</string>
<string name="title_activity_second">SecondActivity</string>
</resources>
Dodawanie i usuwanie języków
Edytor tłumaczeń obsługuje standard BCP 47 i łączy kody ustawień regionalnych i regionu (kraju) w jeden wybór na potrzeby lokalizacji docelowych. Ustawienia regionalne określają więcej niż tylko język. Obejmują one formatowanie zależne od kraju, np. daty i godziny, waluty oraz liczby dziesiętne.
Aby dodać język:
- W Edytorze tłumaczeń kliknij ikonę globu
. - Z listy wybierz język, który chcesz dodać. Nowy język pojawi się w Edytorze tłumaczeń, a do projektu zostanie dodany folder values-* z plikiem `strings.xml`. Na przykład values-es w przypadku języka hiszpańskiego.
Aby usunąć język:
Język możesz usunąć w Edytorze tłumaczeń , usuwając wszystkie wartości w kolumnie (patrz Edytowanie, dodawanie i usuwanie tekstu), lub usuwając folder projektu dla tego języka w ten sposób:
- W panelu po lewej stronie Projekt > Android wybierz ModuleName > res.
- Kliknij prawym przyciskiem myszy folder values-* dla języka, który chcesz usunąć. Na przykład, values-hi w przypadku języka hindi.
- Z listy wybierz Usuń, aby usunąć folder i jego plik strings.xml.
Edytowanie, dodawanie i usuwanie tekstu
Ustawienia tekstu możesz zmieniać bezpośrednio w pliku strings.xml lub w Edytorze tłumaczeń. W tej sekcji opisujemy sposób korzystania z Edytora tłumaczeń. W Edytorze tłumaczeń możesz edytować, dodawać i usuwać
tekst w widoku listy lub w polu Tłumaczenie u dołu
Edytora tłumaczeń.
Rysunek 2. Widok listy u góry i pole Tłumaczenie u dołu
Widok listy
Aby edytować lub dodać tekst:
- Kliknij dwukrotnie komórkę, w której chcesz edytować lub dodać tekst.
- Skopiuj i wklej tekst za pomocą klawiatury lub, jeśli masz klawiaturę obsługującą znaki diakrytyczne wpisz tekst bezpośrednio w widoku listy.
- Naciśnij Tab lub przenieś kursor poza pole.
Aby usunąć tekst:
- Kliknij dwukrotnie komórkę, którą chcesz usunąć.
- W widoku listy zaznacz tekst i naciśnij Delete.
- Naciśnij Tab lub przenieś kursor poza pole.
Pole tłumaczenia
Aby edytować lub dodać tekst:
- W widoku listy kliknij komórkę, w której chcesz edytować lub dodać tekst.
- W polu Tłumaczenie skopiuj i wklej tekst za pomocą klawiatury lub, jeśli masz klawiaturę obsługującą znaki diakrytyczne, wpisz tekst bezpośrednio w polu Tłumaczenie.
- Naciśnij Tab lub przenieś kursor poza pole.
Aby usunąć tekst:
- Kliknij komórkę, którą chcesz usunąć.
- W polu Tłumaczenie zaznacz tekst i naciśnij Delete.
Dodawanie i usuwanie kluczy
W Edytorze tłumaczeń kolumna Klucz zawiera unikalne identyfikatory poszczególnych elementów danych w plikach strings.xml. Klucze możesz dodawać i usuwać w Edytorze tłumaczeń. Gdy usuniesz klucz, Edytor tłumaczeń usunie go wraz ze wszystkimi powiązanymi z nim tłumaczeniami. Edytor tłumaczeń używa bezpiecznego refaktoryzowania usuwania klucza, aby sprawdzić, czy tekst klucza jest używany gdzie indziej, i dać Ci możliwość wprowadzenia niezbędnych zmian przed usunięciem klucza. Bezpieczne refaktoryzowanie usuwania klucza zapewnia, że kod będzie się nadal kompilować po usunięciu klucza.
Aby dodać klucz:
- W Edytorze tłumaczeń kliknij Dodaj klucz
. - W oknie wpisz nazwę klucza, wartość domyślną i lokalizację domyślnego pliku strings.xml.

Rysunek 3. Dodawanie klucza
Aby usunąć klucz:
- W Edytorze tłumaczeń wybierz klucz, który chcesz usunąć.
- Kliknij Usuń klucze
. - W oknie Usuń zdecyduj, czy chcesz bezpiecznie usunąć klucz i czy chcesz wyszukiwać w komentarzach i ciągach znaków, a następnie kliknij OK.

Rysunek 4. Okno usuwania
Jeśli nie ma odwołań (użyć) do usuniętego klucza lub jeśli wszystkie odwołania można bezpiecznie zwinąć, klucz zostanie usunięty. W przeciwnym razie Edytor tłumaczeń wyświetli okno Wykryto użycia z informacjami o wykrytych problemach.
Rysunek 5. Okno usuwania
- Kliknij Wyświetl użycia , aby sprawdzić, co zostanie usunięte. Okno Znajdź konflikty bezpiecznego usuwania pokazuje wszystkie użycia, których nie można bezpiecznie usunąć, dzięki czemu możesz edytować odpowiedni kod.

Rysunek 6. Niebezpieczne użycia
- Kliknij prawym przyciskiem myszy użycie, aby wyświetlić menu kontekstowe, i wybierz Przejdź do źródła , aby wprowadzić potrzebne zmiany.
- W panelu Znajdź konflikty bezpiecznego usuwania kliknij Ponownie uruchom bezpieczne usuwanie , aby upewnić się, że nie ma innych użyć, które wymagają uwagi.
- Gdy użycia zostaną usunięte, kliknij Przeprowadź refaktoryzację , aby usunąć klucz.
Poprawianie błędów
Rysunek 7 przedstawia Edytor tłumaczeń wyświetlający zawartość plików strings.xml w języku angielskim, francuskim i hiszpańskim. Czerwony tekst wskazuje wiersze, w których występują błędy.
Rysunek 7. Czerwony tekst wskazuje błąd, który musisz naprawić
Aby poprawić błąd, najedź kursorem na czerwony tekst, aby wyświetlić wyjaśnienie problemu i jego rozwiązanie.
Gdy wprowadzisz zmiany w Edytorze tłumaczeń, odpowiednie
strings.xml pliki zostaną zaktualizowane. Gdy wprowadzisz zmiany w pliku strings.xml, odpowiednia kolumna w Edytorze tłumaczeń zostanie zaktualizowana.
Przykłady poprawek w Edytorze tłumaczeń:
- Rysunek 7 pokazuje, że w wierszu app_name jest zaznaczona opcja Nieprzetłumaczalne , ale podano tłumaczenie na język hiszpański. Aby poprawić błąd, usuń tłumaczenie na język hiszpański.
- Rysunek 7 pokazuje, że w wierszu next_page brakuje tłumaczenia na język francuski. Aby poprawić błąd, skopiuj za pomocą klawiatury tekst Page Suivante do komórki. Operacja kopiowania i wklejania za pomocą klawiatury operacja kopiuje tekst wraz ze znakami diakrytycznymi do komórki.
Zarządzanie tekstem przeznaczonym do lokalizacji i jego testowanie
Platforma Android i Android Studio udostępniają kilka funkcji, które pomagają zarządzać tekstem przeznaczonym do lokalizacji 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 przeznaczonego do lokalizacji 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.
Obsługa języków RTL
Jetpack Compose natywnie obsługuje układy od prawej do lewej (RTL). Modyfikatory układu i interfejsy API są oparte na koncepcjach kierunkowych, takich jak start i end, a nie na kierunkach bezwzględnych, takich jak left i right. Gdy język systemu zmieni się na ustawienia regionalne RTL, Compose automatycznie odzwierciedli te układy.
Aby aplikacja rozpoznawała ustawienia regionalne RTL i wywoływała to odzwierciedlenie, musisz wyrazić na to zgodę w pliku manifestu aplikacji.
Aby włączyć obsługę RTL:
- Otwórz plik
AndroidManifest.xml. - Dodaj atrybut
android:supportsRtl="true"do elementu<application>:
<manifest ... >
<application
...
android:supportsRtl="true">
</application>
</manifest>
Więcej informacji o tym, jak Compose obsługuje układ tekstu, odzwierciedlanie i niestandardowe konfiguracje RTL, znajdziesz w artykule Praca z językami RTL.
Ręczne ustawianie kierunku tekstu
W Jetpack Compose nie używasz wizualnego okna Właściwości, aby wymusić układ lub kierunek tekstu. Compose automatycznie obsługuje odzwierciedlanie RTL na podstawie ustawień regionalnych systemu.
Jeśli jednak musisz ręcznie zastąpić kierunek określonego elementu tekstowego (np. wyświetlić ciąg znaków LTR w układzie RTL), możesz przekazać obiekt TextDirection do TextStyle.
Obsługiwane wartości to:
TextDirection.Content: (Default): wnioskuje kierunek na podstawie pierwszego silnego znaku kierunkowego.TextDirection.Ltr: wymusza kierunek od lewej do prawej.TextDirection.Rtl: wymusza kierunek od prawej do lewej.
Więcej informacji o stylizowaniu tekstu i konfigurowaniu ręcznych kierunków tekstu w Compose znajdziesz w artykule Stylizowanie tekstu.
Używanie w aplikacji zlokalizowanych ciągów znaków
Gdy dodasz i przetłumaczysz ciągi znaków za pomocą Edytora tłumaczeń, odpowiednie pliki res/values/strings.xml zostaną automatycznie zaktualizowane i będziesz mieć możliwość używania zlokalizowanych zasobów bezpośrednio w interfejsie.
Aby dowiedzieć się, jak wyświetlać zlokalizowany tekst, natywnie obsługiwać RTL i używać @Preview
do testowania różnych ustawień regionalnych i pseudolokalizacji, przeczytaj sekcję Ciągi znaków w artykule
Zasoby w Compose.
Pseudolokalizacje
Pseudolokalizacja to symulowane ustawienia regionalne, które mają naśladować cechy języków powodujących problemy z interfejsem, układem, RTL i innymi tłumaczeniami, gdy aplikacja jest tłumaczona. Pseudolokalizacje zapewniają natychmiastowe i automatyczne tłumaczenia, które są czytelne w języku angielskim w przypadku wszystkich wiadomości przeznaczonych do lokalizacji. Dzięki temu możesz wykryć nieprzetłumaczalne wiadomości w kodzie źródłowym.
Więcej informacji o korzystaniu z pseudolokalizacji znajdziesz w artykule Testowanie aplikacji za pomocą pseudolokalizacji.