No creo que realmente necesite diferentes configuraciones regionales, ya que solo tiene saldos en diferentes monedas. Simplemente puede pasar argumentos adicionales a number_to_currency. Algo como esto:
number_to_currency(70000.00, :unit => "€", :separator => ".", :delimiter => " ", :format => "%u %n")
esta pantalla: 70 € 000.00
Además, parece que se puede establecer: opción local al llamar number_to_currency. No está documentado, pero aquí es la parte del código number_to_currency:
defaults = I18n.translate('number.format''number.format', :locale => options[:locale], :raise => true) rescue {}
currency = I18n.translate('number.currency.format''number.currency.format', :locale => options[:locale], :raise => true) rescue {}
lo que debería ser capaz de hacer algo como:
number_to_currency(70000.00, :locale => :ru)
Siempre me he preguntado acerca de cómo los símbolos de moneda del empate a formato de numeración trabajos. Son dos * cosas completamente diferentes *. El formato del número depende del idioma del contenido, mientras que el símbolo de la moneda depende de la moneda de la que esté hablando. Por ejemplo, si escribo sobre dólares estadounidenses en un sitio web finlandés, no utilizo el método estadounidense para escribir la parte numérica. Tal vez debería blog sobre esto o algo ... –
y, por cierto, el signo € debe venir después de la cantidad. – allesklar
@Matti Estoy de acuerdo contigo; los dos son definitivamente independientes. – bjnord