我遇到了一个非常令人沮丧的Cakephp 3问题。我刚刚更新了所有的.ctp文件以使用(double _),但无法打印本地化的字符串。Cakephp 3国际化不起作用
我已经设置默认的语言环境中的config/app.php到en_150:
App' => [
'namespace' => 'App',
'encoding' => env('APP_ENCODING', 'UTF-8'),
'defaultLocale' => env('APP_DEFAULT_LOCALE', 'en_150'),
...
我试过在配置/ bootstrap.php中直接设置的语言环境,但它没有任何效果:
ini_set('intl.default_locale', Configure::read('App.defaultLocale'));
我生成了带有蛋糕i18n提取的.pot文件,然后为en_150语言环境做了i18n init的蛋糕。我相信他们是正确的路径:
(供应商/ CakePHP的/ CakePHP的/ src目录/ -I18N/Translator.php)$ find src/Locale/
src/Locale/
src/Locale/default.po
src/Locale/cake.pot
src/Locale/default.pot
src/Locale/en_150
src/Locale/en_150/default.po
src/Locale/en_150/default.po.po
src/Locale/en_150/cake.po
src/Locale/en_150/default.mo.po
src/Locale/default.mo
最奇怪的是,我更新了翻译类日志就是BEING抬头每封邮件的关键,并且我看到了我的钥匙和debugKit的钥匙。但是,debugKit的键会从内存中查找两次,然后从后备中查找。但是,我的钥匙永远不会在回退中查找。
debugkit的键:
2017-02-27 13:47:16 Fallback lookup Event: Controller.beforeRender
2017-02-27 13:47:16 Event: Controller.beforeRender
2017-02-27 13:47:16 View Render start
2017-02-27 13:47:16 Fallback lookup View Render start
2017-02-27 13:47:16 View Render start
我的钥匙:
2017-02-27 13:47:16 AppName
2017-02-27 13:47:16 Sign in to start your session
2017-02-27 13:47:16 Email
2017-02-27 13:47:16 Password
2017-02-27 13:47:16 Remember Me
2017-02-27 13:47:16 Sign In
这有点让我想起了“回退”实际上就是进入该文件并读取翻译。由于某种原因,我的翻译不会发生这种情况。
我试过到目前为止:
- 删除缓存(超过100次)
- 设置默认语言环境(在配置/ app.php)比en_150以外的东西(我很担心这个将是CakePHP的一个无效的区域设置名称).POT <之间
- 开关 - 为翻译文件
- 更新.po文件在纳米& poEdit的> .po文件扩展
我试图解决这个过去4天,所以我肯定尝试了很多其他的东西,我现在不记得了。
我会感激任何指针任何人都可以提供
更新:我试过从cakephp 3.3更新到3.4,问题依然存在 –