如何使用POEdit翻译CakePHP的核心域字符串?

时间:2011-12-20 21:41:47

标签: cakephp cakephp-2.0 poedit

这不是我第一次设置POEdit来使用CakePHP,但这是我第一次需要在网站上翻译核心字符串。具体来说,我需要在TimeHelper的{​​{1}}函数上翻译字符串。问题是其中的所有字符串都封装在timeAgoInWords()__d()函数中(而不是常规__dn()__()等),它们使用翻译域名作为第一个参数,而不是可翻译的字符串。因此,如果我告诉POEdit在目录中包含__n()__d作为关键字,它会认为“cake”和“cake_dev”是可翻译的字符串。

在Cake Cake域上翻译CakePHP核心字符串的最佳方法是什么?

您可以看到__dn here的代码。

感谢。

1 个答案:

答案 0 :(得分:0)

好的,我在SO上找到了隐藏的答案。 thisthis other问题的组合:

  • 首先,我以__d的形式添加了__d:2关键字,因此它使用了第二个参数而不是第一个参数。
  • 我还添加了__dn:2,3关键字。
  • 然后我在POEdit上配置了复数形式(nplurals=2; plural=n != 1;),以使之前的关键字有效。

所有人都像魅力一样。

我希望这有助于其他人。