是否可以修改Twig中占位符前的单词?

时间:2015-07-20 16:25:35

标签: php symfony internationalization twig

我们使用稍后填充的占位符生成翻译文件,但是对于修改前一个单词的语言中的单词存在问题。

例如,我们编写了一个如下所示的翻译模板:

because of %name%, you.....

这是有问题的,因为在法语中,如果%name%以元音开头,则翻译'of'会有所不同。

例如,如果这个人是安迪,那应该是:

d' Andy

而史蒂夫则是:

de Steve

处理此案件的最佳方法是什么?

我可以看到类似的问题已经解决了英文不定文章(a vs an)here,但我想知道是否有一种更聪明的方法,而不是针对每种情况的自定义过滤器我们反对(我们使用多种语言,我怀疑在我们扩展语言时会出现其他类似的问题)。

(我也在努力获得一个完全不同的翻译,这将是理想的!)

1 个答案:

答案 0 :(得分:0)

您寻求的答案在于扩展译者类本身。

This question显示了如何以添加此功能所需的类似方式完成扩展转换器。您可以简单地使用翻译后缀的概念将正确的翻译添加到翻译目录,然后在trans()函数中构建逻辑,以查看传递的语言环境和翻译ID(您正在翻译的字符串)以添加正确的后缀并得出正确的翻译。