ranvis/leantrans
Composer 安装命令:
composer require ranvis/leantrans
包简介
Lean message translation library with Twig support.
README 文档
README
LeanTrans is a small message translator for internationalization.
It supports Twig template engine, but it works without Twig.
License
BSD 2-Clause License
Installation
composer require "ranvis/leantrans:^1.0"
Example Usage
Translating messages in PHP code
use Ranvis\LeanTrans; require_once __DIR__ . '/vendor/autoload.php'; function getTranslator(): LeanTrans\Translator { $msgs = [ '' => [ // the default domain 'ID_GREETING' => 'Ciao, {name}!', ], ]; $provider = new LeanTrans\ArrayProvider($msgs); $formatter = new LeanTrans\MessageFormatter('it'); // target locale return new LeanTrans\Translator($provider, $formatter); } // define helper function function __(string $msg, ?array $params = null): string { static $translator; $translator ??= getTranslator(); return $translator->translate($msg, $params); } // call it echo __('ID_GREETING', ['name' => 'PHP']);
Translating messages in Twig 3 template
use Ranvis\LeanTrans; require_once __DIR__ . '/vendor/autoload.php'; // set up Twig $loader = new \Twig\Loader\ArrayLoader([ 'test' => <<<'END' <p>{{ "Hello, %name%!"|trans({name}) }}</p> <p>{{ "Hello, %name%!"|t({name}) }}</p> <p>{% trans with {name: name|e} %}Hello, %name%!{% endtrans %}</p> END, ]); $twig = new \Twig\Environment($loader); // set up a translator $msgs = [ '' => [ // the default domain 'Hello, %name%!' => 'Ciao, %name%!', ], ]; $provider = new LeanTrans\ArrayProvider($msgs); $formatter = new LeanTrans\VarFormatter(); $twig->addExtension(new LeanTrans\TwigTranslator($provider, $formatter)); // render echo $twig->render('test', ['name' => 'PHP']);
Documentation
The documentation is available at USAGE.md.
统计信息
- 总下载量: 7
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: BSD-2-Clause
- 更新时间: 2022-01-10