国际化

编辑本页

警告:您正在浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 2.3,现已不再维护。

本页的更新版本用于Sy欧宝娱乐app下载地址mfony 6.2(当前稳定版本)。

国际化

国际化和本地化使应用程序及其内容适应用户的特定区域或语言。在Sy欧宝娱乐app下载地址mfony中,这是一个可选择的特性,需要在使用之前启用。为此,取消以下注释翻译配置选项并设置应用程序区域:

1 2 3 4 5 6 7 8 9
# app / config / config.yml框架:#……翻译:回退:[' %地区% ')# app / config / parameters.yml参数:#……地区:

翻译源文件格式

Symf欧宝娱乐app下载地址ony Translation组件支持多种不同的翻译格式:PHP, Qt,.pomo、JSON、CSV、INI等。

最佳实践

对翻译文件使用XLIFF格式。

在所有可用的翻译格式中,只有XLIFF和gettext在专业翻译人员使用的工具中得到广泛支持。由于它基于XML,所以可以在编写XLIFF文件内容时验证它们。

欧宝娱乐app下载地址Symfony 2.6增加了对XLIFF文件内注释的支持,使它们对翻译人员更加友好。最后,好的翻译都是关于上下文的,而这些XLIFF注释允许您定义上下文。

提示

的阿帕奇协议JMSTranslationBundle为您提供一个查看和编辑这些翻译文件的web界面。它还具有高级提取器,可以读取项目并自动更新XLIFF文件。

翻译源文件位置

最佳实践

文件中存储翻译文件应用程序/资源/翻译/目录中。

传统上,Symfony开发人员欧宝娱乐app下载地址在资源/翻译/每个bundle的目录。但是自从应用程序/资源/目录被认为是应用程序资源的全局位置,将翻译存储在应用程序/资源/翻译/集中使用他们而且优先于其他翻译文件。这让您可以覆盖在第三方包中定义的翻译。

翻译键

最佳实践

翻译时总是使用键,而不是内容字符串。

使用键简化了翻译文件的管理,因为您可以更改原始内容,而不必更新所有翻译文件。

键应该总是描述它们目的而且他们的位置。例如,如果一个表单有一个标签为“Username”的字段,那么一个好的键将是label.usernameedit_form.label.username

翻译文件示例

应用所有前面的最佳实践,应用程序中的英语翻译示例文件将是:

12 3 4 5 6 7 8 9 10 11 12
< !——app /资源/翻译/ messages.en。xlf - - - ><?xml version = " 1.0 " ?><xliff版本“1.2”xmlns“urn: oasis:名称:tc: xliff文档:1.2”><文件通过读“en”目标语言“en”数据类型“明文”原始“file.ext”><身体><trans-unitid“title_post_list”><>title.post_list><目标>文章列表目标>trans-unit>身体>文件>xliff>
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。