Symfony2: How can I set twig |date("d F, Y") filter to output months in Swedish? Symfony2: How can I set twig |date("d F, Y") filter to output months in Swedish? symfony symfony

Symfony2: How can I set twig |date("d F, Y") filter to output months in Swedish?


The Twig Intl Extension

You can use the Twig Intl Extension found in fabpot's official Twig extension repository.

It provides a localized date filter which can be used like this:

{{ date | localizeddate('full', 'none', app.request.locale ) }}

use app.request.locale as third parameter for current locale or just 'sv'.

Integration into your project

add the official extensions to your composer.json using:

composer require twig/extensions:1.0.*@devcomposer update twig/extensions

config.yml

#enable intl extensionsservices:    twig.extension.intl:        class: Twig_Extensions_Extension_Intl        tags:            - { name: twig.extension }

quick tip:

another handy extension is the Text extension providing truncate,...etc filters

services:    twig.extension.text:        class: Twig_Extensions_Extension_Text        tags:            - { name: twig.extension }


|date filter use DateTime::format function which doesnt support locales. See this question and write your own twig extension.


I will make an addition to solution posted by @nifr.

In order to use your date format install the Twig Intl Extension and than you can use:

{{ date|localizeddate('none', 'none', app.request.locale, null, 'dd MMMM, yyyy') }}

The last argument in my example is a date format - here is a documentation: http://userguide.icu-project.org/formatparse/datetime

Here is the Twig Intl Extension documentation: https://twig-extensions.readthedocs.io/en/latest/intl.html