Symfony2:如何将树枝|date(“d F, Y”)过滤器设置为以瑞典语输出月份?

2022-08-30 15:35:52

我在树枝模板中的|date(“d F,Y”)过滤器时遇到问题。

我希望月份以瑞典语输出。我尝试在我的参数.yml文件中设置“locale:sv”,但我没有得到任何效果。

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

关于如何解决这个问题的任何想法?


答案 1

特威格国际扩展

您可以使用 fabpot 的官方 Twig 扩展存储库中的 Twig International Extension。

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

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

用作当前区域设置的第三个参数或仅用作 。app.request.locale'sv'

集成到您的项目中

将官方扩展添加到您的使用中:composer.json

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 }

快速提示:

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

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

答案 2

我将对@nifr发布的解决方案进行补充。

为了使用您的日期格式,请安装Twig Intl扩展,然后您可以使用:

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

我示例中的最后一个参数是日期格式 - 这是一个文档:http://userguide.icu-project.org/formatparse/datetime

以下是 Twig Intl Extension 文档:https://twig-extensions.readthedocs.io/en/latest/intl.html


推荐