翻译需要复数的多节字符串

时间:2018-09-07 12:29:09

标签: php symfony translation

我们正在PHP应用程序中使用Symfony Translation组件。它可以处理pluralisation in a very clever way,但是据我所知,每个字符串只能处理一个“数量”。

例如,它可以翻译

  

我有3个苹果。

  

我有1个橘子。

但是我无法找到一种方法来处理更复杂的字符串,例如:

  

我有3个苹果和1个橙子。

现在,显而易见的解决方案是将它们分别翻译然后再连接在一起,但是在我的现实生活中,字符串比这更复杂,根据我们的德国团队,不能总是保证组件的顺序是相同。坚持以我的假苹果和橙子为例,我们可以使用英文字符串:

  

在接下来的2周中,我每天早上有3个苹果,每个工作日下午有1个橙子。

我想要一个翻译字符串,例如:

I'll have {{1 apple|%count_apples% apples}} each morning and {{1 orange|%count_oranges% oranges}} each weekday afternoon for the next {{1 week|%count_weeks% weeks}}.

我们需要考虑另一种语言,只有在使用以下语句时,句子的结构才可能起作用:

  

在接下来的2周中,我每天早上有3个苹果,每个工作日下午有1个橙子。

For the next {{1 week|%count_weeks% weeks}}, I'll have {{1 apple|%count_apples% apples}} each morning and {{1 orange|%count_oranges% oranges}} each weekday afternoon.

更复杂的是,“和”一词可能会根据数量之一是否为复数而改变。现在,我们只对英语和德语感到困扰,但在中期将来会需要其他语言,因此甚至不单数和复数。

如果需要,我们愿意在本节中使用除Symfony Translation组件之外的其他组件,因为它是完全独立的。

有人在此方面有过任何经验吗,或者关于如何实现这一点的想法?

0 个答案:

没有答案