Symfony 翻译总是使用默认的 EN

Symfony translations use always default EN

我在浏览器上设置了意大利语,但 symfony 本地化只给我英语翻译。 如果我使用意大利语浏览器访问该页面,如何获取意大利语字符串?

现在我在 EN 浏览器和 IT 浏览器中看到 "pluto"。

Config.yml:

parameters:
    locale: en

framework:
    translator: { fallbacks: ['%locale%'] }

messages.en.yml:

Pippo: pluto

messages.it.yml:

Pippo: paperino

index.html.twig:

{% block body %}
    <div class="container">
        <div class="row">
            <div class="col-sm-12">
                {% trans %}
                    Pippo
                {% endtrans %}
            </div>
        </div>
    </div>
{% endblock %}

谢谢

如果您想从 headers 设置当前语言环境,您需要为设置 $request->setLocale(...).

kernel.request 事件创建一个事件侦听器

查看类似问题: