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 выступает в качестве уровня инфраструктуры перевода, управляя файлами и переводом с помощью ИИ.
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
Text(AppLocalizations.of(context)!.hello)