2011-12-20 99 views
1

这不是我第一次将POEdit设置为与CakePHP一起工作,但这是我第一次需要翻译网站上的核心字符串。具体来说,我需要翻译TimeHelpertimeAgoInWords()函数的字符串。问题是,那里的所有字符串都封装在__d()__dn()函数(而不是常规的__(),__n()等)中,它们使用翻译域名作为第一个参数,而不是可翻译的字符串。所以如果我告诉POEdit在目录中包含__d__dn作为关键字,它认为“cake”和“cake_dev”是可翻译的字符串。如何使用POEdit翻译CakePHP的核心域字符串?

什么是翻译CakePHP在“蛋糕”域中的核心字符串的最佳方式?您可以看到timeAgoInWordshere的编码。

谢谢。

回答

0

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

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

所有的工作都像一个魅力。

我希望这可以帮助别人。