我已经开始在Symfony2中使用翻译系统。
一切都很好。
但是,在从树枝视图文件中引用源/目标字符串时,我有一个关于最佳实践的问题。
鉴于此:
<?xml version="1.0"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file source-language="en" datatype="plaintext" original="file.ext">
<body>
<trans-unit id="1">
<source>Short String</source>
<target>Short String</target>
</trans-unit>
<trans-unit id="2">
<source>Some really long string for example a paragraph about some random thing that is likely to change in the future</source>
<target>Some really long string for example a paragraph about some random thing that is likely to change in the future</target>
</trans-unit>
</body>
</file>
</xliff>
使用like没有问题:
{% trans_default_domain 'messages' %}
<h3>{{ 'Multicoin Cryptocurrency Online Wallet' | trans }}</h3>
<p>{{ 'Some really long string for example a paragraph about some random thing that is likely to change in the future' | trans }}</p>
我知道你可以在源代码部分使用短源引用,如:
<trans-unit id="2">
<source>page.long.paragraph</source>
<target>Some really long string for example a paragraph about some random thing that is likely to change in the future</target>
</trans-unit>
这使得树枝部分更加清洁:
{% trans_default_domain 'messages' %}
<h3>{{ 'Multicoin Cryptocurrency Online Wallet' | trans }}</h3>
<p>{{ 'page.long.paragraph' | trans }}</p>
问题是,如果我想将原始的翻译文件提供给翻译者以翻译成另一种语言,那么将整个字符串需要在字段中翻译会好得多。然而,这使得树枝代码相当不整洁。是否有另一种方法来引用twig中的翻译字符串而不必使用整个源字符串?
答案 0 :(得分:4)
不,您只有2个选项:真实消息或关键字消息。
是的,如果要添加新语言,关键字消息就不那么容易了。而Xliff对它没有很好的支持。这就是为什么你看到使用Xliff文件时使用的真实消息的原因。