Rails中的国际标准

时间:2012-08-25 09:52:42

标签: ruby-on-rails

我是rails的新手,

我的网站是用英语和法语两种语言开发的,我使用i18n进行翻译。

我想使用i18n与ordinalize,任何人都可以在这里帮助我。

我通过以下链接但没有取得任何成功

http://murfy.de/read/i18n-ordinalization

http://info.michael-simons.eu/2009/02/12/localizing-dates-and-time-with-rails-i18n-using-procs/

请指导我必须遵循的具体步骤。

由于 苏尼

2 个答案:

答案 0 :(得分:4)

我遇到了同样的问题,我也尝试了你提供的链接。但是,我也无法让他们工作。最后,我想出了一个解决方案:

1)向app/helpers/application_helper.rb

添加新的辅助方法
def ordinalize_number number
    case I18n.locale
    when :en
        return number.ordinalize
    when :'zh-TW'
        return number
    else
        return number
    end
end

2)更新你的config/locales/*.yml(在这种情况下为en.yml)

end_quarter: 'End The %{order} Quarter'

3)在html.erb

中使用默认i18n方法的辅助方法
<%= t('end_quarter', :order => ordinalize_number(3)) %>
# it will show "End The 3rd Quarter" properly

虽然我不确定它是否是最佳解决方案,但它可以在不改变任何环境设置的情况下运行。

答案 1 :(得分:0)

自2018年4月19日起,序数化支持翻译: https://github.com/rails/rails/pull/32168/files