用途:让本地化 Flutter 应用在目标语言环境下正确构建、生成与读取文本,覆盖新接入、迁移、修复生成和审计国际化配置。
主要能力:使用 gen-l10n 管理 ARB、占位符、plural/select 消息与生成的 AppLocalizations;接入 flutter_localizations 与 intl 格式化数字、货币、百分比和日期时间;支持旧版 intl_translation 的 Intl.message() 工作流,以及小型原型的 map 本地化回退。强调生成代码须匹配当前 Flutter 项目与 SDK,不使用陈旧的 package:flutter_gen 导入或 synthetic-package。
使用方式:先检查 pubspec.yaml、l10n.yaml、现有 ARB、生成导入与 MaterialApp/CupertinoApp 设置;再按现有项目路径、类名、语言列表与生成风格做最小改动。缺少依赖时添加 flutter_localizations 与 intl:any,设置 flutter: generate: true,创建或更新 l10n.yaml 与 ARB,接入 AppLocalizations,替换硬编码字符串,然后运行 flutter gen-l10n,并执行 flutter analyze 或相关测试。常见最小配置:flutter: generate: true;arb-dir: lib/l10n;template-arb-file: app_en.arb;output-localization-file: app_localizations.dart,导入通常为 import 'l10n/app_localizations.dart';。旧版流程需先确认 intl_translation 为依赖,再运行提取与生成命令。
适用场景:Material/Cupertino 应用的多语言支持、ARB 消息管理、复数与选择消息、数字与日期格式化、修复国际化生成问题、迁移陈旧导入和配置。
限制:不得编造翻译;未提供目标语言文本时应报告缺失或仅在用户同意下添加占位翻译。不得拼接本地化字符串,应使用占位符、plural 或 select;不得手动格式化数字、货币、百分比和日期时间。不要添加 synthetic-package: true;nullable-getter: false 仅在项目接受非空 getter 时设置。RTL 语言需检查文本方向、布局、镜像图标与区域组件。若资料未说明具体收费、版本或平台支持,暂未提供。