gettext/twig-scanner

gettext 的 Twig 扫描器

v0.1.0 2022-07-18 17:33 UTC

This package is auto-updated.

Last update: 2024-09-18 22:51:18 UTC


README

Latest Version on Packagist Software License Total Downloads

由 Raphaël Droz 创建 raphael.droz@gmail.com (GPL-3 许可证)

用于与 gettext/gettext 一起使用的 Twig 代码扫描器

警告

为了能够使用,php-gettext/Gettext 中的上游 ParsedFunction 类需要进行轻微修改,以简化继承。

安装

composer require gettext/twig-scanner

关于依赖

我们不要求特定的 Twig 版本。

待办:支持 symfony/twig-bridge 的 trans 过滤器。

使用示例

use Gettext\Scanner\TwigScanner;
use Gettext\Generator\PoGenerator;
use Gettext\Translations;

//Create a new scanner, adding a translation for each domain we want to get:
$twigScanner = new TwigScanner(
    Translations::create('domain1'),
    Translations::create('domain2'),
    Translations::create('domain3')
);

//Set a default domain, so any translations with no domain specified, will be added to that domain
$twigScanner->setDefaultDomain('domain1');

//Extract all comments starting with 'notes:'
$twigScanner->extractCommentsStartingWith('notes:');

//Scan files
foreach (glob('*.twig') as $file) {
    $twigScanner->scanFile($file);
}

//Save the translations in .po files
$generator = new PoGenerator();

foreach ($twigScanner->getTranslations() as $domain => $translations) {
    $generator->generateFile($translations, "locales/{$domain}.po");
}

有关最近更改的更多信息,请参阅 CHANGELOG

GPL-3 许可证 (GPL-3)。有关更多信息,请参阅 LICENSE