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