数字转换为货币语言环境

问题描述 投票:23回答:2

为什么number_to_currency(33.50, :locale => :fr)显示$ 33.50?它应该根据区域设置以其他货币显示。我希望得到33,50 €的结果。

非常感谢!

ruby-on-rails ruby-on-rails-3 localization locale number-to-currency
2个回答
20
投票

要使其正常工作,您需要在config/locales/fr.yml处有一个语言环境文件。您可以从这里获得:https://github.com/svenfuchs/rails-i18n/blob/master/rails/locale/fr.yml

:locale选项仅向Rails声明您想要的语言环境。 Rails没有项目中每种语言的所有翻译,因此您必须自己包括这些翻译文件。


41
投票

我知道这有点晚了。但是只是想解释以上答案。使用它如下:

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的更多信息>

© www.soinside.com 2019 - 2024. All rights reserved.