如何用法语显示树枝日期

时间:2016-06-19 13:43:29

标签: symfony

在我的树枝视图中,我想显示一个日期:

{{ match.date|date("l d F - H:i") }}

此日期以英文显示:

Wednesday 15 June - 15:30

我想用法语展示......

我之前尝试添加setlocale(LC_TIME, "fr_FR");来调用视图,但日期仍以英文显示...

4 个答案:

答案 0 :(得分:4)

Twig中的date过滤器不适合本地化日期格式化,因为它基于PHP的DateTime::format。一种选择是使用由Intl Extension提供的localizeddate过滤器。

默认Symfony安装不提供此扩展。您可以在官方的Twig扩展存储库中找到它:

composer require twig/extensions

然后,只需将此扩展名声明为services.yml中的服务,例如:

services:
    twig.extension.intl:
        class: Twig_Extensions_Extension_Intl
        tags:
            - { name: twig.extension }

答案 1 :(得分:2)

您可以使用hash(键值数组)并将其与您正在操作的日期对象进行匹配。

例如,用文字来表达今天的一周:

{% set trans_day_hash = { 
        "Monday": "Lundi", 
        "Tuesday": "Mardi", 
        "Wednesday": "Mercredi", 
        "Thursday": "Jeudi", 
        "Friday": "Vendredi", 
        "Saturday": "Samedi", 
        "Sunday": "Dimanche" 
    } 
%}
{{ trans_day_hash["now"|date('l')] }}

答案 2 :(得分:0)

另一个好的做法是:

{{ match.date|date("l")|trans }}

通过这种方式,您可以使用自己喜欢的翻译文件进行翻译。

答案 3 :(得分:0)

我将format_datetime twig filterlocalepattern参数一起使用,如下所示:

{{ service.date|format_datetime(locale='fr',pattern="EEEE dd MMMM YYYY") }}

其输出例如:

vendredi 27 novembre 2020
lundi 02 novembre 2020
vendredi 30 octobre 2020

see this resource用于日期格式。