在没有Rails的Ruby中本地化数字

时间:2012-10-15 02:58:29

标签: ruby localization

我有一个不使用Rails的Ruby应用程序,但需要本地化。我一直在使用I18n gem,它适用于日期,时间和字符串。但是,除非我遗漏了某些东西,否则它似乎没有数字。

我在Rails的ActionView中找到了NumberHelper类,this question说明了如何将它包含在非Rails应用程序中。然而,让我的应用程序依赖于整个activemodel框架似乎有点过分只是为了获得一些数字本地化例程。

有没有更好的方法来解决这个问题?我应该使用其他Ruby本地化库吗?

1 个答案:

答案 0 :(得分:1)

我已经使用了宝石R18n:https://github.com/ai/r18n

它可以做与I18n相同的东西,但更灵活,也可以本地化数字。它没有其他宝石的依赖。

基本用法:

  • r18n-core添加到Gemfile
  • 使用`R18n.extension_places<<初始化'路径/到/ YML /文件'

然后是:

i18n = R18n::I18n.new('en')
i18n.t[:foo][:bar] # => "Translated text"
i18n.l(123.45) # => "123.45"

或者更静态的版本:

R18n.locale = 'en'
R18n.t[:foo][:bar]
R18n.l(123.45)

帮助者(在其他宝石中)存在rails和sinatra