如何在我的.tpl
文件中使用translate block,以便cakephp的extract命令可以理解它?
我想翻译我的CakePHP Web应用程序。我正在使用TwigView plugin。 TwigView具有i18n extract命令来生成POT文件。我的问题是为什么它不会扫描具有.tpl
块的{% trans %} Hello {% endtrans %}
(Twig文件)。
您可以在自述文件TwigView中看到翻译功能。
答案 0 :(得分:2)
我没有cakePHP的经验,但就生成POT文件而言,cakePHP不需要扫描.tpl文件。
Twig引擎有一个编译器,它基本上将每个树枝视图“转换”为PHP脚本,该脚本保存在Twig缓存文件夹中。至少,如果配置正确,应该会发生这种情况。这些缓存文件将包含可以识别的常规gettext函数。
在扫描缓存之前,您必须确保正确编译每个视图。此脚本允许您为所有视图生成树枝缓存。之后,您可以扫描生成的PHP文件。 http://twig.sensiolabs.org/doc/extensions/i18n.html#extracting-template-strings
我不确定你为什么要使用cakePHP来生成POT文件,但是POEDIT(反过来使用命令行工具xgettext)肯定会以这种方式工作。