在我的Twig项目中,我使用.yaml文件中的翻译。我需要翻译的文本可以在.html.twig文件中找到,例如说
"我的翻译文本包含要翻译的{{parameter}}。"
我知道我可以用关键字替换整个字符串,例如 - to_translate%parameter%to_translate2,我可以使用我的.yaml文件中的翻译
to_translate:"我的翻译文本包含" to_translate2:"翻译"
参数将被传递。但是,如何在不破坏这么多部分的句子的情况下这样做呢?
答案 0 :(得分:3)
也许我没有得到你的观点,但你可以添加任意数量的参数吗?
Yaml文件:
my_translation_key: Hello %firstname%, %lastname%, welcome here !
在Twig:
{{ 'my_translation_key' | trans({
'%firstname%': 'John',
'%lastname%': 'Doe'
}) }}
如果您想要的是在翻译中获得嵌套块,您可以尝试这样的事情:
Yaml文件:
my_translation_key: Hello %firstname%, %lastname%, %welcome% !
welcome_block: welcome %where%
在Twig:
{% set welcome = 'welcome_block' | trans({'%where%': 'here'}) %}
{{ 'my_translation_key' | trans({
'%firstname%': 'John',
'%lastname%': 'Doe',
'%welcome%': welcome
}) }}
答案 1 :(得分:1)
也许你应该试试这个:
{{ ('My text for translation contains a '~parameter)|trans }}
〜:将所有操作数转换为字符串并连接它们。 {{"您好" ~name> 〜"!"会返回(假设名字是' John')Hello John!。