Symfony 翻译总是使用默认的 EN [英] Symfony translations use always default 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屋!