PHP Symfony 1.4 i18n解决方案,一个词含义很少

时间:2016-11-15 16:31:46

标签: internationalization symfony-1.4

我在Symfony 1.4中遇到了一些国际化问题。例如,我们说我们有一个词“mois'用法语表示月份'还有'月'因此,当我使用i18n提取物时,我只能找回一个选项 - mois,但我需要将其翻译为“月份”。或者'月'视情况而定。如何获得有两个选项的xml?

我知道format_number_choice方法,这使我很有可能根据值使用翻译,但是有没有更好的方法来提取数据而不使用这种方法?

1 个答案:

答案 0 :(得分:0)

format_number_choice是您的最佳选择。它的创建正是为了这个目的:处理翻译复数词。要使用两个选项获取XML,您可以按如下方式使用该函数:

format_number_choice('[1]%1% mois|(1,12]%1% mois', array('%1%' => $monthCount), $monthCount)

您的XML看起来像:

<trans-unit id="3">
  <source>[1]%1% mois|(1,12]%1% mois</source>
  <target>[1]%1% month|(1,12]%1% months</target>
</trans-unit>

这是在Symfony 1.4中提取所需数据的最佳方法。