3

Symfony2 中的语言环境管理有一些我不明白的地方。我想用date Twig 方法用法语写月份名称。是否可以?我做不到。

似乎我的语言环境没有被考虑在内。

这是我的app/config/config.yml文件:

framework:
    #esi:             ~
    translator:      { fallback: fr }
    secret:          %secret%
    charset:         UTF-8
    router:          { resource: "%kernel.root_dir%/config/routing.yml" }
    form:            true
    csrf_protection: true
    validation:      { enable_annotations: true }
    templating:      { engines: ['twig'] } #assets_version: SomeVersionScheme
    session:
        default_locale: fr
        auto_start:     true

会话区域设置似乎不错:

echo $this->get('session')->getLocale();  // Returns "fr"
die;

然而,在我看来,当我使用以下内容时:

<td class="month">{{ history.date|date('F Y') }}</td>

例如,它返回我“2011 年 7 月”,而不是“2011 年 Juillet”。

我有什么误解?日期过滤器不应该本地化吗?如果没有,我该如何检索正确的术语?我曾经使用 I18N 翻译所有月份名称,但我认为这不是最佳做法。

4

1 回答 1

3

date不返回本地化字符串。您必须为此使用strftime。或者,如果您想要更多控制权,您可以使用SonataIntlBundle 。

于 2012-09-02T10:53:39.060 回答