使用XLIFF / XLF最佳实践的Symfony2翻译

时间:2013-11-18 13:42:04

标签: symfony translation xliff

我已经开始在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中的翻译字符串而不必使用整个源字符串?

1 个答案:

答案 0 :(得分:4)

不,您只有2个选项:真实消息或关键字消息。

是的,如果要添加新语言,关键字消息就不那么容易了。而Xliff对它没有很好的支持。这就是为什么你看到使用Xliff文件时使用的真实消息的原因。