Search code examples
phpdatedatetimesymfonytwig

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


I'm having problems with the |date("d F, Y") filter in my twig templates.

I want the months to be outputted in Swedish. I have tried setting "locale: sv" in my parameters.yml files but I get no effect.

It was working before I upgraded to from Symfony 2.1 to 2.3 so I think that might have something to do with it.

Any thoughts on how to fix this?


Solution

  • 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.*@dev
    composer update twig/extensions
    

    config.yml

    #enable intl extensions
    services:
        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 }