Подтвердить что ты не робот

Преобразование локальных чисел number_to_currency

Почему number_to_currency(33.50, :locale => :fr) отображает $33.50? Он должен отображать его в другой валюте на основе локали. Я ожидаю результат 33,50 €.

Спасибо большое!

4b9b3361

Ответ 1

Для этого вам нужно иметь файл локали в config/locales/fr.yml, чтобы это работало. Вы можете получить его отсюда: https://github.com/svenfuchs/rails-i18n/blob/master/rails/locale/fr.yml.

Опция :locale объявляет только Rails, какой язык вам нужен. Rails не имеет всех переводов для каждого языка в проекте, поэтому вы должны сами включить эти файлы переводов.

Ответ 2

Я знаю, что это немного поздно. Но просто хотел прочесть вышеприведенный ответ. Используйте его следующим образом:

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:. Подробнее об этом Здесь