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