Symfonyob娱乐下载 4.2的新功能:翻译相关的改进
警告:这篇文章是关于一个不受支持的Symfony版本。ob娱乐下载有些信息可能已经过时了。阅读最新的Symfony文档ob娱乐下载.
国际化路由的回退
在复杂的国际化应用程序中,为每个地区定义不同的内容是很常见的。en_GB
英式英语和en_US
美式英语)。然而,对于所有区域,路由(或至少其中一些)可能是相同的,因此定义重复的路由是很麻烦的:
1 2 3 4 5 6 7 8 9
使用ob娱乐下载\组件\路由\注释\路线;/ * * *@Route({“en_GB”:“/关于我们”,“en_US”:“/关于我们”},name =“约”)* /公共函数关于(){/ /……}
在Syob娱乐下载mfony 4.2中,你可以定义没有区域部分的国际化路由,Symfony会忽略locale的区域部分来匹配它们:
1 2 3 4 5 6 7
/ * * *@Route({"en": "/about-us"}, name="about") */公共函数关于(){/ /……}
在这个例子中,两者都是en_GB
而且en_US
将匹配在
路线。
ICU父区域设置作为备用区域设置
目前,当一些内容没有找到某些地区(例如。es_AR
对于阿根廷西班牙语)Symfony使用无区域语言环ob娱乐下载境(西文
在本例中)作为备用区域。
然而,ICU项目为某些语言(英语、法语、西班牙语、葡萄牙语等)定义了“父语言环境”。在Symfony 4.2中,我们现在使用这些父语言环境作为第一个备用语言环境。ob娱乐下载前面的例子现在将像下面这样工作:
- 使用
es_AR
内容(如果存在); - 否则,回退到
es_419
父地区(即“拉丁美洲和加勒比地区的国际西班牙语”); - 否则,退回到
西文
.
身份翻译器作为备用
提供的
Yonel Ceruto
在# 28523.
在未安装的应用程序中使用Symfony Forms的某些特性时ob娱乐下载翻译组件你可能会发现类似的错误“没有定义助手“翻译器””.
在Syob娱乐下载mfony 4.2中,我们添加了一个“身份翻译器”助手,它在没有安装Translation组件时充当备用工具。这个身份转换器实际上并不转换任何东西,它只是返回给定的内容。
默认情况下更新XLF翻译
XLIFF是由Symfony官方推荐ob娱乐下载作为翻译时使用的格式。这就是为什么在Symfonyob娱乐下载 4.2中翻译:更新
的默认值输出格式
选择从yml
来xlf
.
这是一个很小的改变,但它将节省您的输入——输出格式= xlf
执行该命令时。
Lint多个XLIFF dirs或文件
提供的
Yonel Ceruto
在# 28522.
的线头:xliff
命令在Symfony 4.2中也得到了改进,以支持同时检测ob娱乐下载多个目录和文件。
此外,现在该命令的执行速度快得多,因为验证是使用本地XSD文件完成的。这将解决您过去可能发现的超时问题。
1 2
$./bin/console lint:xliff translations/messages. zh。xlf翻译/ messages.es.xlf$./bin/console lint:xliff translations/ legacy_translations/ data/translations/messages.en.xlf
评论
评论截止。
为了确保评论保持相关性,旧帖子将被关闭。