Класс Locale
Класс Locale описывает язык приложения.
Геттер languageCode задаёт код языка, например 'en'.
Геттер countryCode добавляет регион, например 'US'.
Геттер scriptCode задаёт письменность при необходимости.
Объект передают в
Localizations
и в MaterialApp.
Собрать локаль из тегов помогает
fromSubtags.
Синтаксис
const Locale('en', 'US')
Параметры
| Параметр | Описание |
|---|---|
languageCode |
Код языка, например en. |
countryCode |
Код региона, например US. Можно не задавать. |
scriptCode |
Код письменности, если у языка их несколько. |
Методы
| Метод | Описание |
|---|---|
fromSubtags |
Создаёт Locale из language, script и country кодов.
|
Пример
Давайте зададим английскую локаль в MaterialApp:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
locale: const Locale('en', 'US'),
home: Scaffold(
body: Center(
child: Text('abcde'),
),
),
),
);
}
На экране приложение стартует с локалью en_US, текст по центру без смены языка виджетов.
Пример
Давайте выведем код языка из Locale:
import 'package:flutter/material.dart';
void main()
{
const loc = Locale('de');
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Text(loc.languageCode),
),
),
),
);
}
На экране по центру появится строка 'de'.
Смотрите также
-
метод
fromSubtags,
который собираетLocaleиз подтегов -
виджет
Localizations,
который подключает переводы для локали -
метод
localeOf,
который читает текущуюLocaleиз контекста -
класс
GlobalMaterialLocalizations,
который переводитMaterialна язык локали