2014-09-22 105 views
-1

我在Symfony中创建了一个多语言应用程序。在这一点上,我有两种语言,德语和英语。我在我的包中创建了两个文件。Symfony2分裂翻译文件

应用程序\ 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

您可以使用域。您的所有文件将被命名为domain1.en.xlfdomain1.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') }} 
+0

大,非常感谢您的支持 – smartcoderx 2014-09-22 11:43:13