0

很久以前我正在开发这个项目,现在我又回来了。国际化工作正常,从C:\...\cake\app\locale\por\LC_MESSAGES我有 2 个文件的文件夹中获取翻译:

default.mo
default.po

我编辑了 po 文件,手动插入了一些新的关键字,例如:

msgid "id"
msgstr "Código"

然后,我打开 Poedit,验证所有内容,然后单击“保存”,因此 Poedit 会自动创建 .mo 文件。

之后我重新启动了 WAMP,并清除了我的缓存。

我做了很多次,但结果总是一样:旧词翻译得很好,但我最近添加的新词不翻译。

旧的和新的,我在我的 CakePHP 1.3 项目中以这种方式使用:

<?php __('id'); ?>

我在这里错过了什么吗?

4

2 回答 2

3

使用替代编辑器。我建议使用https://poeditor.com/ 这是在线解决方案,易于使用。还具有导入和导出选项。

于 2013-04-15T08:37:42.253 回答
0

.mo 文件是编译后的翻译,可能会被gettext引擎缓存。

您应该禁用 .mo 文件的生成(至少在开发期间),以便始终获取翻译中的更改。

于 2013-05-31T08:45:30.350 回答