我目前正在致力于在 Flutter 应用程序中实现国际化。最初,我通过生成 app_en.arb 文件、更新它,然后在自动生成 app_localizations_en.dart 后看到我的应用程序中反映的更改来成功集成英语语言支持。
但是,当尝试使用 app_fr.arb 进行相同的过程以获取法语支持时,我遇到了问题。尽管遵循相同的步骤,我发现 app_localizations_fr.dart 并未生成。因此,这导致应用程序出现错误;
“抛出了另一个异常:对 null 值使用了 Null 检查运算符 抛出另一个异常:警告:此应用程序的语言环境,fr,不是 得到了所有本地化代表团的支持”
这是我的配置:
// Folder/lib/main.dart file
localizationsDelegates: const [
AppLocalizations.delegate,
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
GlobalCupertinoLocalizations.delegate,
],
supportedLocales: const [
Locale('en'),
Locale('fr'),
],
locale: Locale('fr'), // I switch to en then it works for "en"
// at Folder/l10n.yaml
arb-dir: lib/l10n
template-arb-file: app_en.arb
output-localization-file: app_localizations.dart
// at Folder/pubspec.yaml
dependencies:
flutter:
sdk: flutter
flutter_localizations:
sdk: flutter
intl: any
flutter:
generate: true
// Folder/lib/l10n/app_en.arb => file
// Folder/lib/l10n/app_fr.arb => file
flutter pub global run intl_utils:generate