Flutter

Интегрируйте i1n с Flutter, используя файлы ARB и flutter_localizations.

Настройка

Запустите i1n init в вашем проекте Flutter. CLI обнаружит flutter_localizations в pubspec.yaml и настроит формат ARB. Файлы по умолчанию будут храниться в lib/l10n/.

Flutter использует свою собственную систему локализации — SDK для i1n в Dart нет. CLI управляет вашими ARB-файлами, а gen-l10n Flutter генерирует код Dart.

Использование

Используйте AppLocalizations.of(context) для доступа к переводам в ваших виджетах. Встроенная генерация кода Flutter создает делегат локализации из ваших ARB-файлов.

i1n обрабатывает метаданные и заполнители формата ARB, гарантируя, что переменные, такие как {name} и {count}, будут должным образом защищены во время перевода с помощью ИИ.

Рабочий процесс

Добавьте ключи в исходный файл ARB (например, app_en.arb), выполните команду i1n push --translate для перевода, а затем i1n pull для получения переведенных файлов ARB. Выполните flutter gen-l10n для повторного создания кода локализации Dart.

Режим моста неприменим к Flutter — платформа использует собственный конвейер локализации. i1n выступает в качестве уровня инфраструктуры перевода, управляя файлами и переводом с помощью ИИ.

lib/main.dart
import 'package:flutter_gen/gen_l10n/app_localizations.dart';

Text(AppLocalizations.of(context)!.hello)

Связанное