Przejdź do treści
Android i18n

Lokalizacja Androida: Wydaj swoją aplikację w każdym języku

Android oferuje solidny system lokalizacji oparty na zasobach, wykorzystujący pliki strings.xml i kwalifikatory zasobów. Każda lokalizacja otrzymuje własny katalog values, a system automatycznie wybiera właściwe zasoby na podstawie języka urządzenia. Dzięki Jetpack Compose i preferencjom językowym dla poszczególnych aplikacji w Androidzie 13+, tworzenie wielojęzycznych aplikacji na Androida nigdy nie było prostsze.

Funkcje lokalizacji Androida

Pliki zasobów strings.xml z bezpiecznymi typowo odwołaniami do klasy R
Wbudowane reguły liczby mnogiej z ciągami ilościowymi (zero, one, two, few, many, other)
Obsługa Jetpack Compose z funkcjami stringResource() i pluralStringResource()
Preferencje językowe dla poszczególnych aplikacji na Androida 13+ bez konieczności restartu aplikacji
Kwalifikatory zasobów dla lokalizacji, rozmiaru ekranu i kierunku układu
Lustrzane odbicie układu od prawej do lewej (RTL) z automatycznym odwracaniem widoków
Formatowanie dat, godzin i liczb dostosowane do lokalizacji za pomocą bibliotek ICU
Tablice ciągów i tablice typowane dla zlokalizowanej zawartości listy
Edytor tłumaczeń Android Studio do wizualnego zarządzania ciągami

Lokalizacja systemu Android w praktyce

Zdefiniuj przetłumaczalne ciągi w pliku res/values/strings.xml z obsługą liczby mnogiej, a następnie użyj API Kotlin i Jetpack Compose do renderowania treści dostosowanej do lokalizacji w interfejsie użytkownika.

<!-- res/values/strings.xml -->
<resources>
    <string name="welcome">Welcome to %1$s</string>
    <plurals name="items">
        <item quantity="one">%d item</item>
        <item quantity="other">%d items</item>
    </plurals>
</resources>

<!-- res/values-fr/strings.xml -->
<resources>
    <string name="welcome">Bienvenue sur %1$s</string>
    <plurals name="items">
        <item quantity="one">%d article</item>
        <item quantity="other">%d articles</item>
    </plurals>
</resources>

// Kotlin - Jetpack Compose
@Composable
fun WelcomeScreen() {
    Text(text = stringResource(R.string.welcome, "My App"))
    Text(text = pluralStringResource(R.plurals.items, 5, 5))
}

Rozpocznij lokalizację Androida już dziś

Zarządzaj tłumaczeniami pliku strings.xml na Androida dzięki przepływom pracy wspomaganym przez AI, synchronizacji CLI i dostarczaniu przez CDN poniżej 50 ms.