Symfony – Internationalisation des dates pour Twig

Petit How To pour internationaliser l’affichage des dates dans Twig.

Dans le cas où l’on veut afficher des dates du type « 14 février 2032 » vous remarquerez que le filtre « date » avec les paramètres « d F Y » vous affichera la date en anglais.

Pour avoir nos date en français nous allons simplement installer l’extensions Intl de Twig qui ne fait pas partie du package par défaut.

Rendez-vous à l’adresse suivante : http://twig.sensiolabs.org/doc/extensions/intl.html
Sur cette page vous trouverez la commande pour installer l’extension Twig par Composer ou utilisez la commande suivante. Pensez juste à changer le numéro de version pour le dernier.

composer require twig/extensions ~1.2

Une fois ça de fait, vous avez fait la moitié du travail.

Ouvrez le fichier Resources/config/services.xml et ajoutez les lignes suivantes.
Ce paramétrage intègre l’extension à Twig.

    <services>
	< !-- [...] -->
        <service id="twig.extension.intl" class="Twig_Extensions_Extension_Intl">
            <tag name="twig.extension" />
        </service>
    </services>

Pour l’utilisation classique RTFM, et pour aller un peu plus loin (enfin pas trop loin), suivez le guide…

Donc voici quelques exemples :

Pour : 5 janvier

{{ post.published_at|localizeddate('none', 'none', null, null, 'd MMMM') }}

Pour : 5 janvier 1955

{{ post.published_at|localizeddate('none', 'none', null, null, 'd MMMM Y') }}

Pour : lundi 5 janvier 1955

{{ post.published_at|localizeddate('none', 'none', null, null, 'EEEE d MMMM Y') }}

Le formatage des dates se trouve à cette adresse : http://userguide.icu-project.org/formatparse/datetime#TOC-Date-Time-Format-Syntax

Publié dans Symfony2
3 commentaires pour “Symfony – Internationalisation des dates pour Twig
  1. Anass dit :

    salut,
    si vous avez des idées sur comment je peux utiliser le Symfony2 avec angularjs?

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*