imponeer/smarty-translate

基于 Symfony Translations 协议提供 trans 修改器和 smarty 扩展块的库

v2.0.2 2023-07-01 09:13 UTC

This package is auto-updated.

Last update: 2024-09-01 09:17:37 UTC


README

License GitHub release Maintainability PHP Packagist

Smarty Translate

此库为与 Symfony Translation 兼容的库添加了新的 smarty 块和 var 修改器 trans

安装

为了安装和使用此包,我们建议使用 Composer

composer require imponeer/smarty-translate

否则,您需要手动包含来自 src/ 目录的文件。

在 Smarty 中注册

如果您想在自己的项目中使用此包中提供的扩展,您需要使用 registerPlugin 函数(来自 Smarty)进行注册。例如:

$smarty = new \Smarty();
$transBlockPlugin = new \Imponeer\Smarty\Extensions\Translate\TransBlock($translator);
$transModifierPlugin = new \Imponeer\Smarty\Extensions\Translate\TransVarModifier($translator);
$smarty->registerPlugin('block', $transBlockPlugin->getName(), [$transBlockPlugin, 'execute']);
$smarty->registerPlugin('modifier', $transModifierPlugin->getName(), [$transModifierPlugin, 'execute']);

从模板中使用

可以从模板中进行翻译...

...使用块函数

<{trans domain='admin'}>_AD_INSTALLEDMODULES<{/trans}>

...使用修改器

<{"_AD_INSTALLEDMODULES"|trans:[]:'admin'}>

块函数支持以下属性

变量修改器也支持这些属性,但语法略有不同 - trans:PARAMETERS:DOMAIN:LOCALE

如何贡献?

如果您想添加一些功能或修复错误,可以创建分支,进行更改并创建 pull request。如果您不确定如何操作,请尝试 交互式 GitHub 教程

如果您发现任何错误或有任何问题,请使用 问题选项卡 并在那里写下您的问题。