我在Symfony中创建了一个多语言应用程序。在这一点上,我有两种语言,德语和英语。我在我的包中创建了两个文件。
应用\ UserBundle \资源\翻译\ messages.de.xlf
<?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>msg.email</source>
<target>E-Mail</target>
</trans-unit>
</body>
</file>
</xliff>
应用\ UserBundle \资源\翻译\ messages.en.xlf
<?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>msg.email</source>
<target>Email</target>
</trans-unit>
</body>
</file>
</xliff>
现在我有大约200个翻译字符串。我可以将翻译文件拆分成多个文件吗?例如“messages.en-1.xlf,messages.de-1.xlf,messages.en-2.xlf,messages.de-2.xlf”......
答案 0 :(得分:1)
您可以使用域名。您的所有文件都将被命名为domain1.en.xlf
,domain1.de.xlf
,domain2.en.xlf
,domain2.de.xlf
等等。
您可以在此处找到更多文档:http://symfony.com/doc/current/components/translation/introduction.html#using-message-domains。 在这里:http://symfony.com/doc/current/book/translation.html#translations-in-templates
此外,您还需要使用以下内容更改模板:
{{ message|trans({here_you_can_put_your_parameters_or_use_empty_array}, 'domain1') }}