Symfony 3:具有相同源和目标的 XLIFF?

Symfony 3: XLIFF with same source and target?

我正在尝试使用 Symfony 3 进行翻译。我已阅读所有文档,但对如何处理默认语言感到困惑。例如,我知道这是我将用于法语的 XLIFF 文件

<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file source-language="en" target-language="fr" datatype="plaintext" original="file.ext">
    <body>
        <trans-unit id="symfony_is_great">
            <source>Symfony is great</source>
            <target>J'aime Symfony</target>
        </trans-unit>
    </body>
</file>

但是英语怎么办?我是否只是像这样复制源和目标中的消息?

<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
    <file source-language="en" target-language="en" datatype="plaintext" original="file.ext">
        <body>
            <trans-unit id="symfony_is_great">
                <source>Symfony is great</source>
                <target>Symfony is great</target>
            </trans-unit>
        </body>
    </file>
</xliff>

我觉得我需要把完全相同的文本放两次,这让我觉得很奇怪?还是我遗漏了什么?

不建议使用原文作为消息来源。 相反,您应该使用抽象和规范化的密钥。

  • 与消息相反,密钥永远不会随时间变化,因此如果密钥发生变化,您不必修改所有模板。

  • 密钥给出上下文(例如:product.form.title、product.form.description...)。

  • 开发者不再关心文本了。

查看 symfony 最佳实践:http://symfony.com/doc/current/best_practices/i18n.html#translation-keys