2011-08-04 3 views
1

Si je fais ceci:Rails 3 - Devises multiples

number_to_currency(100,:locale=>'en-GB') 

Je vous attendriez à obtenir quelque chose comme ceci:

£100.00 

Mais au lieu je deviens

$100 

C'est pareil si je passe dans la locale: en, 'fr-FR' ou quoi que ce soit.

Est-ce que Rails a une liste de devises par défaut basée sur les paramètres régionaux, ou dois-je configurer les mappages I18 pour tous les pays de la planète moi-même?

Toute aide appréciée.

Tobin

+0

Vous pouvez faire number_to_currency (100,: unité => "£") – dfens

Répondre

4

Dans le fichier de paramètres régionaux, l'unité monétaire est définie par

number: 
    currency: 
    unit: "$" 

Vous devez le faire vous-même. Cela peut aider:

https://github.com/rails/rails/blob/master/actionpack/lib/action_view/locale/en.yml

+0

Merci, donc je dois créer cette application pour tous les pays !? : S – tobinharris

+0

Oui. La plupart des applications n'offrent pas de traductions personnalisées pour tous les pays de la planète, mais elles retombent en anglais pour les utilisateurs des pays non soutenus. Je suppose que c'est une des raisons pour lesquelles il n'y a pas de défauts pour les devises étrangères et ainsi de suite. –

+1

il y a déjà beaucoup de traductions disponibles: https://github.com/svenfuchs/rails-i18n/tree/master/rails/locale – phoet