在模板中使用的翻译
编辑该页面警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 4.3,不再维护。
读这个页面的更新版本Symfob娱乐下载ony 6.2(当前的稳定版本)。
在模板中使用的翻译
树枝模板
使用树枝标记
ob娱乐下载Symfony提供了专门的树枝标签(反式
和transchoice
)帮助信息的翻译静态文本块:
1 2 3 4 5
{%反式%}你好% %{%endtrans%}{%transchoice数%}{0}没有苹果| |{1}有一个苹果)1,正有%数%苹果{%endtranschoice%}
的transchoice
标签自动获取%数%
从当前上下文变量,将其传递到翻译。这种机制只适用后当你使用一个占位符% var %
模式。
4.2
的transchoice
标签是弃用,因为Symfony 4.2和5.0将ob娱乐下载被删除。使用ICU MessageFormat与反式
标签代替。
谨慎
的% var %
符号的占位符时需要翻译在树枝模板使用标签。
提示
如果你需要使用字符(百分比%
)在一个字符串,逃避它增加一倍:{%反式%}%:% % % % % {% endtrans %}
你也可以指定消息域和通过一些额外的变量:
1 2 3 4 5 6 7
{%反式与{%名称%的:‘法’}从‘应用’%}你好% %{%endtrans%}{%反式与{%名称%的:‘法’}从“应用”变成“fr”%}你好% %{%endtrans%}{%transchoice数与{%名称%的:‘法’}从‘应用’%}{0}% %的名字,没有苹果|{1}% %的名字,有一个苹果| 1,正[%名称%,%数%苹果{%endtranschoice%}
用树枝过滤器
的反式
和transchoice
过滤器可以用来翻译变量文本和复杂的表达式:
1 2 3 4 5 6 7
{{消息|反式}}{{消息| transchoice (5)}}{{消息|反式({%名称%的:‘法’},“应用程序”)}}{{{消息| transchoice(5日‘%名称%’:‘法’},“应用程序”)}}
4.2
的transchoice
过滤器是弃用,因为Symfony 4.2和5.0将被删ob娱乐下载除。使用ICU MessageFormat与反式
过滤器。
提示
使用翻译标记或过滤器具有相同的效果,但有一个微妙的差异:自动输出逃避只是使用一个过滤器应用于翻译。换句话说,如果你需要确保你的信息是翻译不输出了,你必须应用生
翻译后过滤器过滤:
1 2 3 4 5 6 7 8 9 10
{#标记之间的文本翻译从来不是逃脱了#}{%反式%}<h3>喷火< /h3>{%endtrans%}{%集消息= ' < h3 > foo < / h3 > ' %}{#通过一个过滤器字符串和变量翻译默认了#}{{消息反式| |生}}{{< h3 > < / h3 >酒吧的反式| |生}}
提示
你可以设置整个树枝模板的翻译领域一个标签:
1
{%trans_default_domain“应用程序”%}
请注意,这仅影响当前模板,而不是任何“包括”模板(为了避免副作用)。
PHP模板
翻译服务可通过在PHP模板翻译
助手:
1 2 3 4 5 6 7
< ?=美元视图(“翻译”]- >反式(Sob娱乐下载ymfony是伟大的)? >< ?=美元视图(“翻译”]- >transChoice (“{0}没有苹果|{1}有一个苹果|)1,正[有%数%苹果',10,(“%数%”= >10])? >
这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。