CakePHP 缓存 i18n 翻译

2021-12-21 00:00:00 caching internationalization php cakephp

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

When I forget to translate something, somewhere Project VIEW, I change the file /app/Locale/por/LC_MESSAGES/default.po and sending it back to the server.

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

But mostly, this 'new translation', takes HOURS to be viewed, in short: I just send the file, cleaned the cache and browser CakePHP, press F5, and ... NOTHING HAPPENS.

什么原因?

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

推荐答案

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

To force the language to update you can clear the persistent and models directories in the /tmp/cache directory. If view caching is enabled you'll have to clean out views as well.

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

Caching is disabled when debug is set to 2 (which is the value for using the framework during development) and the persistent directory is populated with new cache files, overwriting the old ones each time a view is loaded. So the debug switch and subsequent browser refresh might clean the old language files for you.

相关文章