4

我是新来的轨道,

我的网站是用英语和法语两种语言开发的,我使用 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/

请指导我必须遵循的确切步骤。

谢谢苏尼尔

4

2 回答 2

5

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

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) 在你的默认 i18n 方法中使用辅助方法html.erb

<%= t('end_quarter', :order => ordinalize_number(3)) %>
# it will show "End The 3rd Quarter" properly

虽然我不确定它是否是最好的解决方案,但它可以在不更改任何环境设置的情况下工作。

于 2013-07-26T07:28:52.403 回答
2

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

于 2019-12-09T23:40:56.563 回答