【问题标题】:How Do I Use Multiple po Files in CakePHP?如何在 CakePHP 中使用多个 po 文件?
【发布时间】:2010-10-17 19:27:50
【问题描述】:

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

这是我现在的位置:

  • 我已经“烘焙”了我的 po 模板(.pot 文件)并将它们复制到 app/locale/eng/LC_MESSAGES 中(我不会使用默认文本作为键,以便我可以轻松发现缺失键)。目前,我有 -views-layouts-default.po 和 -views-pages-index.po。
  • 在这些 .po 文件中,我输入了要用于每个键的文本。
  • 在我的主页 (views/pages/index.ctp) 和默认布局 (views/layouts/default.ctp) 中,我使用 __() 函数包装了我想要翻译的文本键。

不过,当我加载主页时,我看到的只是它们的键。没有文字被翻译。但是,如果我抛出一个 default.po 文件,那么我放入的任何键都可以很好地填充。我显然错过了一些拼图,但我找不到它。任何帮助将不胜感激。

谢谢。

【问题讨论】:

    标签: cakephp internationalization


    【解决方案1】:

    感谢 CakePHP Google Group,我找到了我丢失的部分。我一直在使用 __d() 便利功能,但没有清楚地了解如何将它与我的 .po 文件绑定在一起。知道后答案很简单:

    领域翻译:

    __d ( 'login', 'PLEASE_LOGIN' );

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-31
      • 2012-11-10
      • 2012-03-29
      • 2011-06-08
      • 2023-04-09
      • 2011-05-26
      • 1970-01-01
      相关资源
      最近更新 更多