cakephp 3插件本地化

时间:2018-08-17 08:20:55

标签: cakephp localization internationalization cakephp-3.0

我写了一个插件(AdminView)作为主题,我想对其进行本地化。 我使用

生成pot文件
bin\cake i18n extract --plugin AdminView

通过

烘焙创建的pot文件

root/plugins/AdminView/src/Locale/default.pot

我将其移至

root/plugins/AdminView/src/Locale/fa_IR/default.po

并且我将语言环境设置为fa_IR 但是cakephp不会加载它。 但是当我将文件移到

root/src/Locale/fa_IR/default.po

完美加载。 问题是如何在插件目录中加载po文件?

我每次测试都清除了root/tmp/cache/persistent

1 个答案:

答案 0 :(得分:0)

如评论中所述,除非插件的路径包含在应用程序default的配置中,或者为App.paths.locales定义了自定义加载器,否则插件无法为default域提供消息域。

默认情况下,插件会为其各自的插件域(即AdminView(相应地为admin_viewadmin_view.po.mo提供翻译,就像__d('admin_view', 'message')

如果所有翻译功能调用都在插件内部,那么您可能应该遵守约定,并使用各自的插件域,您可以始终在应用程序级别覆盖它们,或者在应用程序级别{ 1}}。

另请参见