Symfony翻译组件支持多种翻译格式:PHP、Qt、.po.mo、JSON、CSV、INI,等等。

Best Practice

Best Practice

使用XLIFF格式的翻译文件。

所有可利用的翻译格式中,唯有XLIFF和gettext受到专业translator的广泛支持。由于是基于XML,你在书写时还可以验证XLIFF文件的内容。

Tip

采用了Apache授权的JMSTranslationBundle给了你一个web界面来查看和编辑这些翻译文件。它还有高级的提取器,可以读取你的项目并自动更新XLIFF文件。

Best Practice

Best Practice

将翻译文件存在目录中。

Best Practice

Best Practice

永远使用键来翻译,而不是用内容字符串。

使用键(keys)来简化对翻译文件的管理,因为你可以在改变其原始内容时不必更新所有的翻译文件。

键应该描述其目的而不是 其位置。比如,如果一个表单字段的label是Username,则一个完美的翻译键应该写作label.username,而不是。

  1. <!-- app/Resources/translations/messages.en.xlf -->
  2. <xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
  3. <file source-language="en" target-language="en" datatype="plaintext" original="file.ext">
  4. <body>
  5. <trans-unit id="title_post_list">
  6. <target>Post List</target>
  7. </trans-unit>
  8. </body>
  9. </file>