Middle
116
questionbank

Как добавить локализацию в приложение на Flutter?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech
  1. Добавление зависимостей:

    В файле pubspec.yaml нужно добавить зависимости для локализации:

    yaml

    Затем выполнить flutter pub get.

  2. Создание файлов локализации:

    Создать каталоги для ресурсов локализации, например ./lib/l10n/. Внутри создать .arb файлы для каждого поддерживаемого языка. Например, для английского и русского:

    app_en.arb:

    json

    app_ru.arb:

    json
  3. Настройка генерации кода:

    В файле pubspec.yaml нужно указать путь к файлами локализации и настроить .arb генерацию:

    yaml

    После сохранения pubspec.yaml, Flutter автоматически сгенерирует файл ./lib/generated/l10n.dart (или указанное в output-localization-file).

  4. Использование локализованных строк:

    В приложении, где нужно использовать локализованные строки, импортировать сгенерированный файл:

    dart

    Затем обратиться к локализованной строке через AppLocalizations.of(context)!:

    dart
  5. Настройка MaterialApp или CupertinoApp:

    В виджете верхнего уровня (обычно MaterialApp или CupertinoApp) нужно указать поддержку языков и делегаты локализации:

    dart

Теперь приложение будет автоматически выбирать локализацию в зависимости от настроек устройства пользователя, если она присутствует в supportedLocales. Для изменения локали вручную можно использовать Locale и обновлять состояние приложения.