imponeer / smarty-translate
基于 Symfony Translations 协议提供 trans 修改器和 smarty 扩展块的库
v2.0.2
2023-07-01 09:13 UTC
Requires
- php: ^7.3 || ^8.0
- imponeer/smarty-extensions-contracts: ^3.0
- symfony/translation-contracts: ^2.3
Requires (Dev)
- phpunit/phpunit: ^8.0 || ^9.0
- symfony/translation: ^5.1 || ^6.2
README
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 教程。
如果您发现任何错误或有任何问题,请使用 问题选项卡 并在那里写下您的问题。