abedmaatalla/slim-twig-translation

Twig function for Illuminate\Translation\Translator in Slim framework
946 2
Install
composer require abedmaatalla/slim-twig-translation
Latest Version:1.0.0
PHP:>=5.3.0
License:MIT
Last Updated:Sep 7, 2018
Links: GitHub  ·  Packagist
Maintainer: abedmaatalla

Slim Twig Translation

This repository provides a twig extension class for the twig view parser. The class adds a translate helper function for the use in twig templates. The translator function tries to call the trans() function of an Illuminate\Translation\Translator object in the slim DI container.

How to install

using Composer

Create a composer.json file in your project root:

{
    "require": {
        "abedmaatalla/slim-twig-translation": "1.0.0"
    }
}

Then run the following composer command:

$ php composer.phar install

How to use

Create new folder for langauges

-- lang

  • -- en
    • -- file.php
  • -- fr
    • -- file.php

Tanslator

Set up your Tansloator

$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

Set up your twig views as described in the SlimViews Repository. Add the extension to your parser extensions.

$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 template

In your twig template you would write:

  {{ translate('male') }}

You can also use the shorthand:

  {{ tans('male') }}

You can also use the shorthand:

  {{ _('male') }}

Related Packages

dkesberg/slim-twig-translation-extension

Twig function for Illuminate\Translation\Translator in Slim framework

1,038 6
mabasic/translate-that-model

This package adds a single trait to enable simple model translation.

26 4
itsgoingd/slim-services

Service manager for Slim compatible with Laravel packages

15,654 75
ronster/bing-translation

Port of the Bing Translate PHP wrapper for laravel 4

167 2
sputinyk/bing-translation

Port of the Bing Translate PHP wrapper for laravel 4.2

1,092 5