umpirsky / twig-gettext-extractor
Twig Gettext Extractor 是一个 Poedit 兼容的工具,可以从 twig 模板中提取翻译。
Requires
- php: ^7.1
- symfony/asset: ^4.0
- symfony/filesystem: ^4.0
- symfony/form: ^4.0
- symfony/routing: ^4.0
- symfony/translation: ^4.0
- symfony/twig-bridge: ^4.0
- twig/extensions: ~1.0
- twig/twig: ^2.0
Requires (Dev)
- phpunit/phpunit: ^6.0
- symfony/config: ^4.0
This package is not auto-updated.
Last update: 2024-09-14 12:55:10 UTC
README
symfony upgrade fixer • twig gettext extractor • wisdom • centipede • permissions handler • extraload • gravatar • locurro • country list • transliterator
Twig Gettext Extractor 
Twig Gettext Extractor 是一个 Poedit 兼容的工具,可以从 twig 模板中提取翻译。
安装
手动
本地
下载 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));
命令行参数
您还可以通过命令行指定自定义扩展和过滤器,通过添加 --functions 和 --filters 参数,例如
--functions formRow,formElement --filters localizedCurrency
您可以指定无限数量的逗号分隔的函数和过滤器名称。
类似地,您可以通过 --exec 指定您想要使用的 gettext 可执行文件的位置
--exec /usr/local/bin/xgettext