如何本地化一个CakePHP插件?

5

我正在开发一个支持多种语言的CakePHP插件。i18n本地化的流程在这里有详细说明,但是插件并没有明确涉及。下面的结构是否应该起作用?因为目前对我来说还不起作用,但我可能忽略了什么。

/myapp/
  /plugins/
    /myplugin/
      /locale/
        default.pot
        /nld/
          /LC_MESSAGES/
            default.mo
            default.po

在插件控制器中这样调用翻译:

Configure::write('Config.language', 'nld');

在我的插件视图中,本地化函数的格式如下:
__('MyPluginName', 'MyDefaultString')

一些关于CakePHP和插件本地化的帖子提到所有区域设置都应该放在/myapp/locale/而不是插件目录中,但这不会违背模块化插件结构的目的吗?我读到的文章都是2008年的(例如这个),所以希望现在不是这种情况了。
有人能给我提供一些有关本地化Cake插件的详细信息,甚至是一个小的逐步教程吗?
1个回答

1

请看插件开发技巧与窍门文章:

插件的本地化处理得很好,您只需为您的 po 或 mo 文件提供一个插件名称即可轻松使用。


谢谢!我按照那篇文章的指示操作,但还是没能成功。结果发现我使用了错误的语言代码,应该是"dut"而不是"nld"。这是我没有考虑到的一件事情。 - mensch
1
它可能过去没有起作用,如下所示:票据参考: http://code.google.com/p/lilblogs/source/browse/wiki/LocalizeHowTo.wiki?r=31 https://groups.google.com/forum/#!topic/croogo/Dn8zqBu_1QU[1-25] - snowflake

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接