CakePHP缓存i18n翻译

时间:2012-11-22 18:54:55

标签: php cakephp caching internationalization

当我忘记在Project VIEW的某个地方翻译某些内容时,我将文件更改为 /app/Locale/por/LC_MESSAGES/default.po 并将其发送回服务器。

但大多数情况下,这个'新翻译',需要查看HOURS,简而言之:我只是发送文件,清理缓存和浏览器CakePHP,按F5,然后...... 什么都不发生

出于什么原因?

[编辑]

<?php echo $this->Form->input('Item.0.description', array('label' => false, 
'class' => 'span12', 'div' => array('class' => 'span7'), 'rows' => 3,
'placeholder' => __('Type the description'))); ?>

3 个答案:

答案 0 :(得分:9)

要强制更新语言,您可以清空persistent目录中的models/tmp/cache目录。如果启用了视图缓存,则还必须清除views

当debug设置为2(这是在开发期间使用框架的值)时,禁用缓存,并且persistent目录填充了新的缓存文件,每次都覆盖旧缓存文件视图已加载。因此,debug开关和后续浏览器刷新可能会为您清除旧语言文件。

答案 1 :(得分:2)

我找到了一个奇怪的解决方案:

我设置了(app / Config / core.php)...

Configure::write('debug', 2); // It was 0

按,F5 ......等等......然后工作。 后来,我回来了......

    Configure::write('debug', 0);

再次按F5,然后工作。

为什么呢?我不知道。

答案 2 :(得分:0)

即使Configure::write('debug', 2);我建议删除包含翻译的远程文件夹,请使用浏览器刷新(说明不再翻译任何内容),然后重新上传翻译文件夹。

对我来说就是这样。