国际化
StatLab 使用 Flutter 官方 gen-l10n 方案。
文件布局
lib/l10n/
app_en.arb # 模板(英文)
app_zh.arb # 简体中文
app_localizations.dart # 生成
app_localizations_en.dart # 生成
app_localizations_zh.dart # 生成
l10n.yaml配置
yaml
# l10n.yaml
arb-dir: lib/l10n
template-arb-file: app_en.arb
output-localization-file: app_localizations.dart
output-class: AppLocalizations
output-dir: lib/l10n
nullable-getter: false使用
dart
import 'package:stats_flutter/l10n/app_localizations.dart';
final l10n = AppLocalizations.of(context);
Text(l10n.tabData);
Text(l10n.questionOf(3, 10)); // 带占位符添加字符串
- 在
app_en.arb与app_zh.arb同步添加 key - 运行
flutter gen-l10n - 在代码中引用
支持的语言
| 代码 | 语言 | 状态 |
|---|---|---|
en | English | ✅ 首发 |
zh | 简体中文 | ✅ 首发 |
添加新语言:新建 app_<code>.arb,并在 MaterialApp.supportedLocales 中注册。