9 votes

Inflexion des noms de mois dans Rails I18n

J'aimerais utiliser des majuscules différentes pour le nom du mois en polonais. Par exemple, cela fonctionne actuellement comme suit :

>> I18n.l Time.now, :format => "%e %B"
=> "14 styczen"

mais je voudrais spécifier un autre format de mois :

>> I18n.l Time.now, :format => "%e %Q"
=> "14 stycznia"

Les noms de mois traduits se trouvent dans mon fichier pl.yml dans pl.date.month_names . Et je ne veux pas le changer. Je peux ajouter pl.date.another_month_names dans l'autre cas, mais je ne sais pas comment le faire. I18n.l pour l'utiliser.

Comment puis-je y parvenir ? D'autres solutions (aides, méthodes personnalisées, etc.) sont également les bienvenues.

7voto

erotte Points 101

J'ai eu un problème similaire avec des noms de mois étranges dans la traduction allemande. J'ai dû configurer les noms de mois dans mon locale.yml, et maintenant cela fonctionne comme prévu :

de:
  defaults: &defaults
    month_names:
      [~, Januar, Februar, März, April, Mai, Juni, Juli, August, September, Oktober, November, Dezember]
    formats:
       default: "%d. %B %Y"
       short: "%d.%m.%Y"
  date:
    <<: *defaults
  time:
    <<: *defaults

5voto

klew Points 9437

Comme personne n'a répondu à ma question, j'ai trouvé une solution.

Je viens de créer une autre traduction, par exemple alt_pl.yml et j'ai ajouté mes noms de mois personnalisés :

>> I18n.l Time.now, :format => "%e %Q", :locale => :alt_pl
=> "15 stycznia"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X