2012-10-15 45 views
2

我有一個不使用Rails的Ruby應用程序,但需要本地化。我一直在使用I18n寶石,它適用於日期,時間和字符串。但是,似乎沒有數字,除非我錯過了一些東西。在沒有Rails的Ruby中本地化數字

我在Rails中發現了ActionView中的NumberHelper類,並且this question說明了如何將它包含在非Rails應用程序中。然而,讓我的應用程序依賴於整個activemodel框架似乎只是爲了得到一些數字本地化例程的矯枉過正。

有沒有更好的方法來解決這個問題?我應該使用其他Ruby本地化庫之一嗎?

+0

您是否嘗試過做一個字符串的數字?如在中,使用值「8」而不是「8」? –

+0

@drderp:當我說本地化數字時,我的意思是使用分隔符和分隔符進行本地化 - 就像在某些語言中一樣,1,000.23就是1.000,23。 – Lynn

+0

我認爲這也是國際錳協,很奇怪... –

回答

1

,我用了寶石R18n爲:https://github.com/ai/r18n

它可以做同樣的東西,但的I18n是更加靈活,也可以本地化數字。它沒有其他寶石的依賴。

基本用法:

  • 添加r18n-core到Gemfile中
  • 初始化`R18n.extension_places < < '路徑/要/陽明/文件'

,然後或者:

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) 

助手存在(在其他寶石)鋼軌和西納特拉

相關問題