Ruby中有一个独立的i18n库吗?

时间:2012-07-15 14:44:39

标签: ruby localization internationalization locale i18n-gem

在Ruby中我找不到任何本地化模块。有没有或者我应该使用一些外部库?我找到了I18n gem,但我不知道我是否可以在独立应用程序中使用它(没有Rails)。此外,我需要一些方法来定位浮点数,我无法在I18n gem中看到它。

2 个答案:

答案 0 :(得分:3)

答案 1 :(得分:1)

Ruby stdlib中没有本地化模块。您可以在Rails外部使用i18n gem,它可能是Ruby最受欢迎的国际化插件。

如果您正在寻找更轻量级的版本,我最近发布了MiniI18n:一个简单,灵活和快速的Ruby国际化和本地化库。它还支持日期和数字本地化,插值,复数,后备,嵌套键等。它的API与i18n库非常相似。参见benchmark here

翻译示例:

>> MiniI18n.t(:hello)
=> "Hello"
>> MiniI18n.t(:hello_with_name, name: 'John Doe')
=> "Hello John Doe"
>> MiniI18n.t('notifications.unread', count: 0)
=> "no unread notifications"
>> MiniI18n.t([:hello, :bye])
=> ["Hello", "Bye"]

数字本地化示例:

>> MiniI18n.l(1000.5)
=> "1,000.5"
>> MiniI18n.l(1000.5, as: :currency)
=> "1,000.5 $"

日期本地化示例:

>> MiniI18n.l(Date.new(2018, 8, 15))
=> "Wednesday 15, August, 2018"
>> MiniI18n.l(Date.new(2018, 8, 15), format: :short)
=> "15 Aug 18"