saeven / circlical-twig-extractor
Twig Gettext Extractor 是一个Poedit友好的工具,可以从twig模板中提取翻译。
Requires
- php: >=5.3.3
- symfony/filesystem: >=2.0,<3.0
- symfony/form: >=2.0,<3.0
- symfony/routing: >=2.0,<3.0
- symfony/translation: >=2.0,<3.0
- symfony/twig-bridge: >=2.0,<3.0
- twig/extensions: 1.0.*
- twig/twig: >=1.2.0,<2.0-dev
Requires (Dev)
- symfony/config: 2.1.*
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