i18n控制台任务 - 如何使用它?

时间:2012-05-07 10:41:42

标签: cakephp internationalization translation

我有蛋糕php应用程序,我正在使用翻译功能<?php __('msg'); ?>。 我的app / config / bootstrap.php我添加了行Configure::write('Config.language', 'eng'); - 我希望英语作为默认语言。

我创建了文件夹app/Locale/eng/LC_MESSAGES

然后我在我的应用程序文件夹中打开了Windows控制台,然后键入了#c; cake i18n extract&#39; - 有几个提示 - 我选择扫描app目录并输出到Locale目录。

在我的文件夹app / Locale中执行i18n程序后,出现了几个文件:

cake.pot
cake_dev.pot
default.pot

并且app / Locale / eng

中没有任何内容

所以我只是将default.pot复制到app / Locale / eng / LC_MESSAGES并添加了一些翻译,但是当我通过网站打开时,没有任何内容打印代替__(&#39;&#39;)函数...

如何正确设置?

1 个答案:

答案 0 :(得分:3)

:)你需要为你刚创建的.pot文件中的每个lang创建一个.po文件。 我建议使用poedit来执行此操作

在Poedit中,转到File->New Catalog from POT file,然后选择蛋糕烘焙生成的default.pot文件。它会询问您一些信息,然后您会看到要翻译的所有文本,一个已完成,将其保存到app/Locale/eng/LC_MESSAGES/default.po

当您在代码中添加/删除/修改其中一些字符串时,您需要再次运行烘焙以提取文本。它将更新.pot文件,在Poedit中你需要打开你的.po文件并转到Catalog->Update from POT它会显示你需要翻译的所有新行,有时它会尝试翻译它们你,根据你以前的翻译

希望这有帮助