Symfony2:如何设置twig | date("d F,Y")过滤器以瑞典语输出月份?

tir*_*hen 25 php datetime date symfony twig

我的twig模板中的| date("d F,Y")过滤器出现问题.

我想用瑞典语输出月份.我试过在我的parameters.yml文件中设置"locale:sv",但是没有效果.

它在我从Symfony 2.1升级到2.3之前一直在工作,所以我认为这可能与它有关.

有关如何解决此问题的任何想法?

Nic*_*ich 51

Twig Intl扩展

您可以使用枝条国际推广中发现的fabpot官方枝杈扩展.

它提供了一个本地化的日期过滤器,可以像这样使用:

{{ date | localizeddate('full', 'none', app.request.locale ) }}
Run Code Online (Sandbox Code Playgroud)

使用app.request.locale作为当前区域设置或只是第三个参数'sv'.

集成到您的项目中

为您的composer.json使用添加官方扩展:

composer require twig/extensions:1.0.*@dev
composer update twig/extensions
Run Code Online (Sandbox Code Playgroud)

config.yml

#enable intl extensions
services:
    twig.extension.intl:
        class: Twig_Extensions_Extension_Intl
        tags:
            - { name: twig.extension }
Run Code Online (Sandbox Code Playgroud)

小建议:

另一个方便的扩展是Text扩展提供截断,...等过滤器

services:
    twig.extension.text:
        class: Twig_Extensions_Extension_Text
        tags:
            - { name: twig.extension }
Run Code Online (Sandbox Code Playgroud)

  • 您可以使用本地化的日期过滤器,并使用`twig.globals.global_locale:%default_locale%`将`parameters.default_locale`传递给twig作为全局,然后使用类似`{{date | localizeddate('full','none',global_locale)}}` (2认同)