我有蛋糕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;)函数...
如何正确设置?
答案 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
它会显示你需要翻译的所有新行,有时它会尝试翻译它们你,根据你以前的翻译
希望这有帮助