我有一个关于小枝模板翻译的问题。
这是一种实际的翻译方式。
{% trans into 'en_EN' %}Hello{% endtrans %}!,我可以直接从这样的数据库加载“”值吗?(这将返回错误)。
{% trans into {{ app.user.lang }} %}Hello{% endtrans %}!,还是我应该用控制器来做呢?
我现在使用以下函数来翻译:
{% with %}
{% set lang = app.user.lang %}
<button class="btn btn-outline-primary" type="button" data-toggle="dropdown">{% trans into lang %}Hello{% endtrans %}!, {{ app.user.username }}<i class="material-icons">arrow_drop_down</i></button>
{% endwith %}但我不确定这是不是个好练习。
发布于 2018-10-28 12:43:56
您不需要使用into,如果您想要根据用户的首选项进行翻译,您可以通过侦听器添加它,或者在URL中包含区域设置,那么在您的小枝模板中所要做的就是{{ 'Hello' | trans }}
发布于 2018-10-28 10:45:37
我想你的问题也不是很清楚。通常,您可以在配置文件中定义默认语言,然后使用语言选择器或其他方法更改它们。
那你就不用那个into了。
Symfony 4 How to change language Step by Step
这里是一个很好的例子,如何构建一个语言开关和一些教程。你应该阅读文档以进行翻译,其中大部分内容都得到了解释。
https://symfony.com/doc/current/translation.html
当您真正想要将您的翻译存储到您的数据库时,您必须使用翻译加载器并对它们进行扩展,因此您必须注册一个新服务并从数据库加载您的翻译。
Symfony2 Database Translation Loader isn't executed
但我不知道这是不是你的问题。
https://stackoverflow.com/questions/53030489
复制相似问题