如何在CakePHP中使用多个po文件?

如何在CakePHP中使用多个po文件?,cakephp,internationalization,Cakephp,Internationalization,我刚刚开始在CakePHP中探索i18n,似乎找不到允许我使用多个po文件的文件和函数的正确组合。如果我想对每一位可翻译文本使用一个po文件(default.po),这很好,但我发现它很快就会变成一个无法维护的毛球。我已经阅读了文档和我能找到的几篇文章,但是除了一个.po文件的简单使用之外,没有一篇文章真正深入研究i18n 我现在就在这里: 我已经“烘焙”了我的po模板(.pot文件),并将它们复制到app/locale/eng/LC_消息中(我不会使用默认文本作为键,这样我就可以很容易地发现

我刚刚开始在CakePHP中探索i18n,似乎找不到允许我使用多个po文件的文件和函数的正确组合。如果我想对每一位可翻译文本使用一个po文件(default.po),这很好,但我发现它很快就会变成一个无法维护的毛球。我已经阅读了文档和我能找到的几篇文章,但是除了一个.po文件的简单使用之外,没有一篇文章真正深入研究i18n

我现在就在这里:

  • 我已经“烘焙”了我的po模板(.pot文件),并将它们复制到app/locale/eng/LC_消息中(我不会使用默认文本作为键,这样我就可以很容易地发现缺少的键)。现在,我有-views-layouts-default.po和-views-pages-index.po
  • 在那些.po文件中,我输入了每个键要使用的文本
  • 在我的主页(views/pages/index.ctp)和默认布局(views/layouts/default.ctp)中,我包装了我想用_;()函数翻译的文本键
不过,当我加载主页时,我看到的只是它们的键。没有翻译任何文本。但是,如果我抛出一个default.po文件,我在其中输入的任何键都会被很好地填充。很明显,我遗漏了一些谜题,但我找不到。任何帮助都将不胜感激


谢谢。

多亏了CakePHP谷歌小组,我找到了我丢失的那块。我一直在玩_d()便利函数,但不清楚如何将它与.po文件绑定在一起。一旦你知道了,答案很简单:

域转换:

__d ( 'login', 'PLEASE_LOGIN' );
将在名为LOGIN.po的文件中查找“PLEASE_LOGIN”键。我不知道(也没有读过任何地方)domain==po文件名(没有扩展名)。学习让一切变得不同