Класс Locale
Класс Locale из java.util
описывает язык и страну для форматирования
дат, чисел и строк ресурсов.
Текущую локаль устройства берут через
getDefault,
строку BCP 47 разбирают через
forLanguageTag.
В Android список языков также отражён
в Configuration
и LocaleList.
Синтаксис
Locale.getDefault()
Методы
| Метод | Описание |
|---|---|
forLanguageTag |
Создаёт Locale из тега вида "en-US".
|
getDefault |
Возвращает локаль JVM по умолчанию на устройстве. |
Пример
Давайте сравним getDefault и forLanguageTag:
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.material3.Text
import java.util.Locale
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val line = Locale.getDefault().language.ifEmpty { "abcde" }
setContent {
Text(text = line)
}
}
}
На экране склеенные коды языка из getDefault и из разбора тега forLanguageTag.
Смотрите также
-
метод
forLanguageTag,
который парсит BCP 47 -
метод
getDefault,
который отражает системную локаль -
класс
LocaleList,
упорядоченный список локалей Android -
класс
Configuration,
где хранятся locales устройства