我想创建Symfony包,用于保存不同语言的不同文本/标志等。
是否可以(并且正确)以某种方式使用Symfony转换器来实现此功能? 或者只是两张桌子?
答案 0 :(得分:1)
不确定,如果我理解正确的话。
但是对于不同语言的不同文本,只需使用翻译组件:http://symfony.com/doc/current/translation.html
基本上,您创建了两个文件 - mytranslation.en.yml 和 mytranslation.cs.yml (英语和捷克语)。它们中的每一个都具有相同的翻译键,例如:
app.title: My English title
app.description: This is my English translation.
app.counter: You have been here %count% times so far.
然后,在控制器或服务中,使用翻译服务,如下所示:
$title = $this->get('translator')->trans('app.title', [], 'mytranslation');
或使用参数:
$counter = $this->get('translator')->trans('app.counter', ['%counter%' => 2], 'mytranslation');
在Twig模板中,您可以这样做:
{% trans_default_domain "mytranslation" %}
{{ 'app.title'|trans }}
{{ 'app.counter'|trans({'%counter%': 2}) }}