Преобразование локальных чисел number_to_currency
Почему number_to_currency(33.50, :locale => :fr)
отображает $33.50? Он должен отображать его в другой валюте на основе локали. Я ожидаю результат 33,50 €
.
Спасибо большое!
Ответы
Ответ 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:
.
Подробнее об этом Здесь