飞镖i18n库

时间:2014-12-22 16:56:46

标签: internationalization dart

我试图使用包intl,但我的大脑无法理解......

当我们来自chrome.i18n

时,您是否有一个如何使用它的简单示例?

2 个答案:

答案 0 :(得分:1)

如果你只想本地化一些消息,我认为l10n对你很好。它会生成PO文件并使用它进行翻译。

答案 1 :(得分:1)

这是一个示例 - https://github.com/dart-lang/sample-polymer-intl

顶级说明:   您编写的消息最初包含在Intl.message调用中,该调用应该在一个函数中执行。所以,例如。

  hello() => Intl.message("Hello world");
  print(hello());

如果你运行它,它将只运行而不做任何修改。您可以使用bin / extract_to_arb.dart提取消息,翻译它们,然后运行bin / generate_from_arb.dart。

与chrome.i18n相比:

  • 你用这种功能包裹的方式编写你的信息,默认的语言环境(让我们说英语)版本就运行了。
  • 您的程序没有直接读取JSON文件,您在它们上运行代码生成器并在每个语言环境中生成一个库。
  • 你不使用getMessage或任何东西,它只是像以前一样运行。
  • 要使用来自特定区域设置的消息,请初始化区域设置(加载延迟的库),然后将其设置为默认值。
  • 它生成并使用ARB文件,消息的解释就像ICU。

那是你在找什么?