web-dev-qa-db-fra.com

Rails: Comment rendre la date strftime consciente des paramètres régionaux par défaut?

J'ai mes paramètres régionaux par défaut définis dans le environment.rb as de (allemand).

Je vois également tous les messages d'erreur en allemand, donc les paramètres régionaux sont récupéré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 imprimer la date en fonction des paramètres régionaux par défaut?

58
rangalo

Utilisez la méthode l (alias pour 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 cela vous aidera.

Vous pouvez également définir des formats "nommés", deux d'entre eux (short, long) sont déjà prédéfinis.

106
Milan Novota

vous pouvez également le raccourcir:

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

Dans es.yml, mettez:

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

Dans index.html.erb mettez:

<%= l somemodel.datefield %>
8
Daniel