我有一个Symfony2项目,我正在使用Translation组件来翻译文本.我在yml文件中的所有翻译都是这样的
translation-identifier: Translated text here
Run Code Online (Sandbox Code Playgroud)
翻译文本看起来像这样 Twig
'translation-identifier'|trans({}, 'domain')
Run Code Online (Sandbox Code Playgroud)
问题是,在某些情况下,我希望有两个不同的文本用于相同的翻译(不是用于复数).以下是我希望它的工作方式:
在yml文件中定义两个文本,用于需要具有不同文本的翻译.每个人都有自己独特的后缀
translation-identifier-suffix1
translation-identifier-suffix2
Run Code Online (Sandbox Code Playgroud)定义一个全局规则,定义应该选择哪个后缀.Psuedocode如下:
public function getSuffix() {
return rand(0, 10) < 5 ? '-suffix1' : '-suffix2';
}
Run Code Online (Sandbox Code Playgroud)Twig(和PHP)看起来一样 - 我仍然只指定没有后缀的标识符.然后,翻译器会将后缀附加到标识符并尝试查找匹配项.如果没有匹配,它将尝试再次找到匹配而没有后缀.