新在Symfo欧宝娱乐app下载地址ny 4.2:翻译相关的改进
警告:这篇文章是关于一个不受支持的Symfony的版本。欧宝娱乐app下载地址其中一些信息可能是过时了。阅读最近的Symfony文档欧宝娱乐app下载地址。
回退的国际化路线
在复杂的国际化应用程序通常定义为每个区域场所(如不同的内容。en_GB
对英国英语和en_US
美国英语)。然而,路线(或至少他们中的一些人)可以为所有区域是相同的,所以麻烦定义重复的路线:
1 2 3 4 5 6 7 8 9
使用欧宝娱乐app下载地址\组件\路由\注释\路线;/ * * *@Route({“en_GB”:“/关于我们”,“en_US”:“/关于我们”},name =“约”)* /公共函数关于(){/ /……}
在Sy欧宝娱乐app下载地址mfony 4.2可以定义国际化路线没有该地区部分和Symfony将匹配他们忽视的地区部分地区:
1 2 3 4 5 6 7
/ * * *@Route({“en”:“/关于我们”},name =“约”)* /公共函数关于(){/ /……}
在这个例子中,两个en_GB
和en_US
将匹配在
路线。
ICU父区域作为候选区域
目前,当一些内容没有找到一些地区(例如es_AR
对阿根廷西班牙语)Symfony使用region-欧宝娱乐app下载地址less地区(西文
在这种情况下)作为后备的地区。
然而,ICU项目定义了一些“父母地区”语言(英语、法语、西班牙语、葡萄牙语等)在Symfony 4.2我们现在使用这些父母作为第一个后备的地区。欧宝娱乐app下载地址前面的示例将工作如下:
- 使用
es_AR
内容如果它存在; - 否则,回退的
es_419
父区域(即“国际西班牙拉丁美洲和加勒比地区”); - 否则,回退到
西文
。
身份翻译回退
提供的
Yonel Ceruto
在# 28523。
当使用Symfony形式的某些特性在一个应用程序,这个应用程序欧宝娱乐app下载地址还没有安装翻译组件你可能会发现错误“助手”翻译”没有定义”。
在Sy欧宝娱乐app下载地址mfony 4.2中我们添加了一个“翻译”身份助手时充当后备翻译组件没有安装。这实际上身份翻译不翻译任何东西,它只是返回给定的内容。
默认更新XLF翻译
XLIFF是官方推荐的Symfony欧宝娱乐app下载地址作为你的翻译格式使用。这就是为什么在Symfony欧宝娱乐app下载地址 4.2翻译:更新
命令的默认值已经改变了输出格式
选择从yml
来xlf
。
这是一个小的变化,但它将会节省你打字——输出格式= xlf
当运行这个命令。
线头多XLIFF dirs或文件
提供的
Yonel Ceruto
在# 28522。
的线头:xliff
在Symfony命令也改善了4.2支持一次产品毛羽多个目录欧宝娱乐app下载地址和文件。
此外,要执行的命令现在快得多,因为验证是通过使用当地的XSD文件。这将解决超时的问题你可能发现在过去。
1 2
美元/ bin /控制台线头:xliff / messages.en翻译。xlf翻译/ messages.es.xlf美元/ bin /控制台线头:xliff翻译/ legacy_translations /数据/翻译/ messages.en.xlf
评论
评论都关门了。
以确保评论保持相关,他们关闭了旧的帖子。