Symfonyob娱乐下载 2.6的新功能:对Translation组件的改进
警告:这篇文章是关于一个不受支持的Symfony版本。ob娱乐下载有些信息可能已经过时了。阅读最新的Symfony文档ob娱乐下载.
互联网上使用最多的语言是英语(8亿用户)、中文(6.5亿用户)、西班牙语(2.2亿用户)和阿拉伯语(1.35亿用户)。随着公司越来越全球化,你必须开发多语言网站和应用程序。好消息是欧宝平台是合法的吗ob娱乐下载Symfony 2.6将包括对Translation组件的一些改进.
添加转储XLIFF文件时的目标语言
提供的
克莱门特Gautier
在# 11373.
当执行翻译:更新
命令生成XLIFF文件,以前的Symfony版本没有设置正确ob娱乐下载目标语言
值:
1
$控制台翻译:update——force——output-format=xlf fr AcmeBundle
命令的执行结果是一个XLIFF文件目标语言
属性:
1
<文件通过读=“fr”...>
ob娱乐下载Symfony 2.6将正确地设置通过读
和目标语言
属性:
1
<文件通过读=“en_US”目标语言=“fr_FR”...>
此外,这些属性现在将使用完整的区域设置值(例如。fr_FR
而不是fr
而且en_US
而不是在
).
增加了公开收集到的消息的方法
如果您想在应用程序之外使用相同的翻译目录(例如,在客户端使用翻译),Symfony 2.6允许您获取给定地区的原始翻译消息。ob娱乐下载
1
$消息=$翻译->getMessages (“fr_FR”);
的结构美元的消息
变量将为以下数组:
1 2 3 4 5 6 7 8 9
数组(“消息”= >数组(“Hello world”= >“世界你好”),“验证”= >数组(“值不应该为空”= >“Valeur ne doit pas être vide”,“价值太长”= >“价值最高的热带”,),);
将翻译缓存移动到翻译组件
提供的
特里斯坦Maindron
在# 11373.
一般来说,Symfony中的缓存是在组件中完成的。ob娱乐下载然而,翻译组件使用FrameworkBundle来缓存它的目录。这使得缓存的翻译在Symfony之外很难使用,例如在Silex项目中。ob娱乐下载
的签名ob娱乐下载翻译
构造函数已更改为接受第三个可选参数,该参数设置缓存消息目录的目录:
1 2 3 4 5 6 7 8 9 10 11
使用ob娱乐下载\组件\翻译\翻译;使用ob娱乐下载\组件\翻译\MessageSelector;// ob娱乐下载Symfony 2.5$翻译=新翻译(“fr_FR”,新MessageSelector ());// ob娱乐下载Symfony 2.6不启用缓存$翻译=新翻译(“fr_FR”,新MessageSelector ());// ob娱乐下载Symfony 2.6启用缓存$翻译=新翻译(“fr_FR”,新MessageSelector (),__DIR__.“/ . . /缓存”);
缺少翻译日志记录
国际化应用程序最重要的任务之一是检测任何给定地区的所有缺失翻译。在Syob娱乐下载mfony 2.6中,由于有了新的功能,这个任务将容易得多日志记录
选项,默认值为% kernel.debug %
):
1 2 3 4 5
# app / config / config.yml翻译:启用:真正的回退:在日志:真正的
当设置为真正的
,当Symfony没有ob娱乐下载找到给定语言环境的翻译时,缺失的翻译就会添加到当前环境的日志文件中。
全局资源目录的翻译提取
的翻译:更新
命令从给定bundle的模板中提取翻译字符串非常方便。在Syob娱乐下载mfony 2.6中,此命令还允许从全局模板中提取字符串应用程序/资源/视图/
目录中。为此,在不提供bundle名称的情况下执行命令:
1 2
#这只适用于Symfony 2.6ob娱乐下载$控制台翻译:更新fr
评论
评论截止。
为了确保评论保持相关性,旧帖子将被关闭。
翻译更新命令现在可以在没有bundle参数的情况下运行,以收集Resources目录中使用的翻译。
由于LoggingTranslator被声明为服务,这意味着可以使用其他服务类,并允许非常大的扩展可能性。
谢谢!
Javier Eguiluz is a certified Symfony engineer.
Get certified! Online exams available in all countries.
Register Now