国际化Fluter与国际化

问题描述 投票:0回答:2

我学会了扑动。我使用intl依赖构建了一个国际化的应用程序(关注this

  1. 我运行第一个命令(没有错误消息):
flutter packages pub run intl_translation:extract_to_arb --output-dir=lib/l10n lib/main.dart

生成了3个文件:

enter image description here

  1. 我需要在运行next命令之前创建intl_ {locale} .arb文件。
  2. 下一个命令:

flutter包pub run 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.

如何在没有消息的情况下运行第二个命令,因为我认为它们是意外的消息?

dart flutter intl
2个回答
1
投票

1.

flutter packages pub run intl_translation:generate_from_arb \ --output-dir=lib/l10n --no-use-deferred-loading \ lib/main.dart lib/l10n/intl_*.arb

应改为:

flutter pub pub run intl_translation:extract_to_arb --output-dir=lib/l10n ****lib/DemoLocalizations.dart****

(其中**** lib / DemoLocalizations.dart ****应该从您创建的步骤更新到您创建此文件的文件。

2.

你将生成字符串。这些需要复制到intl * .arb

3.

然后你应该运行:

flutter pub pub run intl_translation:generate_from_arb --output-dir=lib/l10n    --no-use-deferred-loading ****lib/DemoLocalizations.dart**** lib/l10n/intl_*.arb

0
投票

在您提到的步骤1.和2.之间,您应该将新字符串复制到intl * .arb。

© www.soinside.com 2019 - 2024. All rights reserved.