17

number_to_currency(33.50, :locale => :fr)が$ 33.50と表示されるのはなぜですか?ロケールに基づいて別の通貨で表示する必要があります。私は33,50 €という結果を期待しています。number_to_currencyロケール変換

ありがとうございます!

+0

ヨーロッパのすべてのフランス人が住んでいることを意味していますか?あなたの人口統計の中のある通貨に選択したものをマップすることはできません。たとえば、別の国に移動する人を想像してみてください。私の場合は、フランス語のカナダ人です。 – fbelanger

答えて

18

これを動作させるには、これを動作させるにはconfig/locales/fr.ymlにロケールファイルが必要です。ここから入手できます:https://github.com/svenfuchs/rails-i18n/blob/master/rails/locale/fr.yml

:localeオプションは、どのロケールになりたいのかをRailsに宣言するだけです。 Railsにはプロジェクト内のすべての言語の翻訳がすべて含まれているわけではないため、これらの翻訳ファイルを自分で含めなければなりません。

32

私はこれがちょっと遅かったと知っています。しかし、ちょうど上記の答えをexpalinしたかった。 は、次のようにそれを使用してください:

number_to_currency(aNumber, :locale => :fr) 

これは、ファイルconfig/locales/fr.ymlを使用しています。 独自の通貨フォーマットを作成し、config/locales/fr.ymlに定義することができます。ファイルには以下が含まれます:

fr: 
    number: 
    currency: 
     format: 
      unit: '€' 
      delimiter: ',' 
      separator: '.' 
      precision: 2 
      format: '%u%n' 

unitは通貨記号です。 format:で文字列全体をフォーマットすることもできます。 これに関する詳細Here

関連する問題