17

¿Por qué number_to_currency(33.50, :locale => :fr) muestra $ 33.50? Debería mostrarlo en una moneda diferente según la configuración regional. Esperaría un resultado de 33,50 €.number_to_currency localidad que convierte

¡Muchas gracias!

+0

¿Implica que todos los franceses viven en Europa? No puede asignar el idioma de elección de alguien a la moneda dentro de su demografía. Por ejemplo, imagine a alguien que se muda a un país diferente. O en mi caso, es francés canadiense. – fbelanger

Respuesta

18

Para que esto funcione, debe tener un archivo de configuración regional en config/locales/fr.yml para que funcione. Puede obtenerlo aquí: https://github.com/svenfuchs/rails-i18n/blob/master/rails/locale/fr.yml.

La opción :locale solo declara a Rails la configuración regional que desea que sea. Rails no tiene todas las traducciones para cada idioma del proyecto, por lo que debe incluir estos archivos de traducción usted mismo.

32

Sé que esto es un poco tarde. Pero solo quería expandir la respuesta anterior. Se usa de la siguiente manera:

number_to_currency(aNumber, :locale => :fr) 

Este utiliza el archivo config/locales/fr.yml. Puede formar su propio formato de moneda y definirlo en config/locales/fr.yml. El archivo contendrá lo siguiente:

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

unit es el símbolo de moneda. también puede formatear toda la cadena con el format:. Más sobre este Here