4

私はレールが初めてです、

私のサイトは英語とフランス語の 2 つの言語で開発されており、翻訳には i18n を使用しています。

ordinalize で i18n を使用したいのですが、どなたか助けてください。

以下のリンクを実行しましたが、成功しませんでした

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 日の時点で翻訳をサポートしています: https://github.com/rails/rails/pull/32168/files

于 2019-12-09T23:40:56.563 に答える