Symfony 翻译总是使用默认的 EN [英] Symfony translations use always default EN

查看:34
本文介绍了Symfony 翻译总是使用默认的 EN的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

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

配置文件:

参数:语言环境:en框架:翻译器:{ 回退:['%locale%']}

messages.en.yml:

皮波:冥王星

messages.it.yml:

皮波:paperino

index.html.twig:

{% 块体 %}<div class="容器"><div class="row"><div class="col-sm-12">{%反%}皮波{% endtrans %}

{% 结束块 %}

谢谢

解决方案

如果您想从标头设置当前区域设置,您需要为设置 kernel.request 事件创建一个事件侦听器>$request->setLocale(...).

查看类似问题:

I have italian language set on my browser, but symfony localization give me only english translations. How can I get italian strings if i access the page with italian browser?

Now i see "pluto" in EN Browser and in IT Browser.

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 %}

Thanks

解决方案

If you want to set current locale from headers you need to a make an event listener for kernel.request event that sets $request->setLocale(...).

See similar questions:

这篇关于Symfony 翻译总是使用默认的 EN的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
PHP最新文章
热门教程
热门工具
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆