我遇到了__
函数问题,我不确定它是否是 Cake (3.2.8)、Aura\Intl 或我的代码中的错误。我在 Cake 1.3 中尝试过同样的事情,它按我的预期工作,但我的期望可能就是这样,因为它在 1.3 中就是这样工作的。:-)
当我构建我的菜单时,我使用类似的东西__('Teams')
,但我也有使用类似的东西的页面__n('Team', 'Teams', count($player->teams))
。i18n shell 将这些分别提取到 default.pot 中,所以当我将其翻译成法语时,它是这样的:
msgid "Teams"
msgstr "Équipe"
msgid "Team"
msgid_plural "Teams"
msgstr[0] "Équipe"
msgstr[1] "Équipes"
如果我调用__('Team')
,我会正确返回 'Équipe',如果我调用__n('Team', 'Teams', $x)
,我会正确返回 'Équipe' 或 'Équipes',具体取决于 的值$x
。但如果我打电话__('Teams')
,我会回来
Array
(
[0] => Équipe
[1] => Équipes
)
即使我删除该msgid "Teams"
部分,仅保留复数定义也是如此。
在 Cake 1.3 中,__('Teams')
将简单地返回 'Équipes'。(不知道它在 2.x 中会做什么,因为我完全跳过了它。)那么,这是谁的错误?