使用CakePHP + TwigView + i18n进行翻译

时间:2013-07-11 08:18:11

标签: cakephp internationalization twig

如何在我的.tpl文件中使用translate block,以便cakephp的extract命令可以理解它?

我想翻译我的CakePHP Web应用程序。我正在使用TwigView plugin。 TwigView具有i18n extract命令来生成POT文件。我的问题是为什么它不会扫描具有.tpl块的{% trans %} Hello {% endtrans %}(Twig文件)。

您可以在自述文件TwigView中看到翻译功能。

1 个答案:

答案 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)肯定会以这种方式工作。