ranvis/leantrans 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: BSD-2-Clause
  • 更新时间: 2022-01-10

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固