abedmaatalla/slim-twig-translation

用于Slim框架中Illuminate\Translation\Translator的Twig函数

1.0.0 2016-11-25 09:25 UTC

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') }}