abedmaatalla / slim-twig-translation
用于Slim框架中Illuminate\Translation\Translator的Twig函数
1.0.0
2016-11-25 09:25 UTC
Requires
- php: >=5.3.0
- illuminate/translation: >=4.0
- slim/slim: >=2.3.0
- slim/views: >=0.1.2
- twig/twig: >=1.16.0
This package is not auto-updated.
Last update: 2024-09-28 20:35:40 UTC
README
该仓库提供了一个用于twig视图解析器的扩展类。该类为twig模板添加了一个翻译辅助函数。翻译函数尝试调用Slim DI容器中的Illuminate\Translation\Translator对象的trans()函数。
安装方法
使用 Composer
在项目根目录创建一个composer.json文件
{ "require": { "abedmaatalla/slim-twig-translation": "1.0.0" } }
然后运行以下composer命令
$ php composer.phar install
使用方法
为语言创建新的文件夹
-- lang
- -- en
- -- file.php
- -- fr
- -- file.php
翻译器
设置你的翻译器
$container['translator'] = function ($c) { // Register the English translator 'en' $translator = new Illuminate\Translation\Translator(new Illuminate\Translation\FileLoader(new Illuminate\Filesystem\Filesystem(), __DIR__ . '/lang'), 'en'); // setLocal for new location $translator->setLocale('fr'); return $translator; };
Slim
根据SlimViews仓库中描述的方式设置你的twig视图。将扩展添加到解析器扩展中。
$container['view'] = function ($c) { $view = new \Slim\Views\Twig('../resources/views'); // add translator functions to Twig $view->addExtension(new \abedmaatalla\Slim\Twig\Extension\TranslationExtension($c->translator)); }
Twig模板
在你的twig模板中,你会写
{{ translate('male') }}
你也可以使用简写
{{ tans('male') }}
你也可以使用简写
{{ _('male') }}