为什么number_to_currency(33.50, :locale => :fr)
显示33.50美元?它应该根据区域设置以不同的货币显示。我希望得到33,50 €
的结果。
非常感谢!
答案 0 :(得分:39)
我知道这有点晚了。但只想表达上述答案。 使用方法如下:
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
答案 1 :(得分:19)
要使其正常工作,您需要在config/locales/fr.yml
处拥有一个区域设置文件才能生效。你可以从这里得到它:https://github.com/svenfuchs/rails-i18n/blob/master/rails/locale/fr.yml。
:locale
选项仅向Rails声明您希望它的区域设置。 Rails没有项目中每种语言的所有翻译,因此您必须自己包含这些翻译文件。