【发布时间】:2019-08-24 21:38:11
【问题描述】:
我学会了颤振。我使用 intl 构建了一个国际化应用程序 依赖(关注this)
- 我很好地运行了第一个命令(没有错误消息):
flutter packages pub run intl_translation:extract_to_arb --output-dir=lib/l10n lib/main.dart
生成了 3 个文件:
我需要在运行下一个命令之前创建 intl_{locale}.arb 文件。
下一个命令:
flutter 包发布运行 intl_translation:generate_from_arb \ --output-dir=lib/l10n --no-use-deferred-loading \ lib/main.dart lib/l10n/intl_*.arb
虽然生成了相应的消息(messages_en.dart)文件,但它总是返回消息:
No @@locale or _locale field found in intl_en, assuming 'en' based on the file name.
No @@locale or _locale field found in intl_messages, assuming 'messages' based on the file name.
如何在没有消息的情况下运行第二个命令,因为我认为它们是意外消息?
【问题讨论】:
-
你提到过supportedLocales吗? supportedLocales: [ const Locale('en', 'US'), // 英语 const Locale('he', 'IL'), // 希伯来语 // ... 应用支持的其他语言环境],
-
是的,我在 main.dart 中提到了它们。也许他们是消息而不是错误
-
您需要获取一组类似的文件(在这种情况下为en + es): intl_es.arb intl_en.arb intl_messages.arb messages_all.dart messages_es.dart messages_en.dart messages_messages.dart
-
是的,已经。我有文件,但我总是在 intl_messages 中看到消息 No @@locale or _locale field found,假设基于文件名的“消息”。这是我现在的问题。