所以我找到了一个答案,以防有人需要这个:
您需要将生成的 .dart 文件导入您的应用中才能使用。
在l10n.yaml 插件文件中我有output-localization-file=translations.dart,所以我需要将此文件导入example/main.dart(或在任何使用该插件的Flutter 应用程序中):
import 'package:MinimalExampleInternationalization/l10n/translationsUpdate.dart';
这就是我需要添加此代码的地方:
MaterialApp(
localizationsDelegates: Translations.localizationsDelegates,
supportedLocales: Translations.supportedLocales
)
如果您导入此插件的 Flutter 应用已经具有国际化功能,那么您可以像这样添加多个 localizationsDelegates: 和 supportedLocales::
MaterialApp(
localizationsDelegates: Translations.localizationsDelegates+TranslationsPlugin.localizationsDelegates,
supportedLocales: Translations.supportedLocales+TranslationsPlugin.supportedLocales,
)
Translations 是您的应用生成的类,TranslationsPlugin 是您的插件生成的类。
另外请注意,现在使用插件生成国际化文件时存在一个错误,因此您可以删除 l10n.yaml 文件并改用此命令:flutter gen-l10n --arb-dir=assets/l10n --template-arb-file=string_en.arb --output-localization-file=translations.dart --output-class=Translations --output-dir=lib/l10n --no-synthetic-package
更多信息:Flutter Issue 和 Working Plugin Example with I18n