Rails: Comment faire en sorte que Date strftime connaisse les parameters régionaux par défaut?

J’ai mes parameters régionaux par défaut dans l’ environment.rb comme de (allemand).

Je vois aussi tous les messages d’erreur en allemand, donc les parameters régionaux sont captés par le serveur. Mais quand j’essaie d’imprimer la date avec strftime comme suit:

 some_date.strftime('%B, %y') 

Il imprime en anglais ( January, 11 ), et non l’allemand attendu ( Januar, 11 ).

Comment puis-je imprimer la date en fonction des parameters régionaux par défaut?

Utilisez la méthode l (alias for localize ) au lieu de strftime brut, comme ceci:

 l(date, format: '%B %d, in the year %Y') 

Voir ici pour plus d’informations, j’espère que ça aide.

vous pouvez aussi le raccourcir:

 l(some_date, :format => '%d %B %Y') 

Dans es.yml mettre:

 es: date: formats: default: "%d / %m / %Y" 

Dans index.html.erb mettre:

 <%= l somemodel.datefield %>