roydejong/twig-gettext-extractor

(已更新至 Twig 2.2) Twig Gettext Extractor 是一个 Poedit 兼容的工具,可以从 twig 模板中提取翻译。

安装: 138

依赖项: 0

建议者: 0

安全: 0

星星: 0

关注者: 3

分支: 0

类型:application

v2.1 2017-07-14 10:19 UTC

This package is auto-updated.

Last update: 2024-08-29 01:59:43 UTC


README

Twig Gettext Extractor 是一个 Poedit 兼容的工具,可以从 twig 模板中提取翻译。

此分支

大家好。以下是一些此分支提供的内容

  • 此分支旨在与 twig 版本 2 兼容。这是一个小窍门,但它是有效的。
  • 移除了 symfony 依赖项,这可能使安装变得更容易。
  • 您可以通过添加 --filter 参数来添加 "dummy filters",以防止提取器在遇到会导致模板解析中断的用户定义过滤器时崩溃(提示:在提取器命令的 --files 部分之前添加此内容)。
  • 如果由于任何原因提取失败,日志文件将被输出到 gettext 提取器库所在的目录。

此分支可在 Packagist 上作为 composer 包提供,以便您方便使用

composer require roydejong/twig-gettext-extractor

或者,要全局安装(到您的家目录) - 推荐

composer global require roydejong/twig-gettext-extractor

原始文档

安装

手册

本地

下载 twig-gettext-extractor.phar 文件,并将其存储在您的计算机上的某个位置。

全局

您可以使用以下命令轻松从系统中的任何位置访问 twig-gettext-extractor

$ sudo wget https://github.com/umpirsky/Twig-Gettext-Extractor/releases/download/1.2.0/twig-gettext-extractor.phar -O /usr/local/bin/twig-gettext-extractor
$ sudo chmod a+x /usr/local/bin/twig-gettext-extractor

然后,只需运行 twig-gettext-extractor

Composer

本地

$ composer require umpirsky/twig-gettext-extractor

全局

$ composer global require umpirsky/twig-gettext-extractor

请确保您的 PATH 中有 ~/.composer/vendor/bin,然后您就可以开始了

$ export PATH="$PATH:$HOME/.composer/vendor/bin"

如果您想在重启后保留此更改,别忘了在 .bashrc 文件中添加此行。

设置

默认情况下,Poedit 没有解析 Twig 模板的能力。可以通过添加一个额外的解析器(编辑 > 首选项 > 解析器)来解决这个问题,如下所示

  • 语言: Twig
  • 扩展名列表: *.twig
  • 调用
    • 解析器命令: <project>/vendor/bin/twig-gettext-extractor --sort-output --force-po -o %o %C %K -L PHP --files %F(将 <project> 替换为您项目的绝对路径)
    • 关键字列表中的项目: -k%k
    • 输入文件列表中的项目: %f
    • 源代码字符集: --from-code=%c

现在您可以更新您的目录,Poedit 将将其与您的 twig 模板同步。

自定义扩展

Twig-Gettext-Extractor 注册了一些默认的 twig 扩展。但是,如果您正在使用自定义扩展,您需要先注册它们,然后再提取数据。为了实现这一点,请将 bin 文件复制到某个自定义位置。一种常见的做法是:cp vendor/bin/twig-gettext-extractor bin/twig-gettext-extractor

现在您可以在 这里 添加您的自定义扩展

$twig->addFunction(new \Twig_SimpleFunction('myCustomExtension', true));
$twig->addFunction(new \Twig_SimpleFunction('myCustomExtension2', true));

自定义过滤器(在此分支中)

如果您正在使用自定义的用户定义 twig 过滤器,提取器在遇到它们时会中断。

如果您想注册自定义过滤器,可以修改 Poedit 中的解析器命令。

这样做将创建一个虚拟过滤器,它将返回输入而不修改它。

例如,如果您有一个 currency 过滤器,将解析器命令修改如下

twig-gettext-extractor --sort-output --force-po -o %o %C %K -L PHP --filters currency --files %F

--filters 命令必须在 gettext 参数之后但 --files 声明之前添加才能正常工作。您可以通过空格分隔多个过滤器来添加多个过滤器。