您好我运行命令
pub run intl:extract_to_arb --output-dir=target/directory
但我收到此错误消息:
Package "intl" is not an immediate dependency.
Cannot run executables in transitive dependencies.
我关注此网站https://www.dartdocs.org/documentation/intl/0.11.9/index.html并使用api 1.15.1
还有另一种方法吗?
答案 0 :(得分:0)
最后我有一个解决方案:
pub run intl:extract_to_arb --output-dir="/Volumes/Case Sensitive Part/Projects/MyProjectFolder/" web/dart/**/*.dart
这会生成一个文件intl_messages.arb(一个用于翻译的Json)。 从翻译器,您可以收到一些像这样的文件
之后:
pub run intl:generate_from_arb --generated-file-prefix=notneeded web/dart/**/*.dart ./intl_messages_fr.arb ./intl_messages_de.arb ./intl_messages_{locale}.arb
这会生成一个名为:" messages_all.dart"的类dart;和dart类名为" messages_messages_de.dart"," messages_messages_fr.dart"," messages_messages_ {locale} .dart"。
只留下一个问题。我从上一个命令generate_from_arb收到了一些信息:
在intl_messages_it中找不到@@ locale或_locale字段,假设' messages_it'基于文件名。 在intl_messages_de中找不到@@ locale或_locale字段,假设' messages_de'基于文件名。
我想把这个标签@@ locale(@@ it)放在翻译arb文件中。