cakephp - 使用 CakePHP + TwigView + i18n 进行翻译

标签 cakephp internationalization twig

如何在 .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/

相关文章:

database - i18n 性能 : resx vs. 数据库?

forms - 在表单中渲染自定义实体类型字段(Symfony)

java - 无法让 Servlet 以 UTF-8 格式处理请求内容

internationalization - I18n 分段路由器 Phoenix

jquery - 在不同的 div 中过滤搜索

php - 如何在 Twig 中检查 null?

css - CakePHP,不显示 CSS 文件中的背景图像

php - cakephp 中主键字段的唯一性未得到验证

php - cakephp数据编辑和更新时如何从网站根目录中删除图像

cakephp - 如何在 CakePHP 3.0 中构建这个复杂的数据库查询?