我正在尝试使用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>
我觉得我需要将两次完全相同的文字放在一起似乎很奇怪?或者我错过了什么?
答案 0 :(得分:2)
建议不要将原始文本用作源消息。 相反,您应该使用抽象和规范化的密钥。
与消息相反,密钥永远不会随时间而变化,因此如果密钥更改,您不必修改所有模板。
密钥提供上下文(例如:product.form.title,product.form.description ...)。
开发人员不再关心文本。
请参阅symfony最佳做法:http://symfony.com/doc/current/best_practices/i18n.html#translation-keys