PHPackages                             coign/twig-translation - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Localization &amp; i18n](/categories/localization)
4. /
5. coign/twig-translation

ActiveLibrary[Localization &amp; i18n](/categories/localization)

coign/twig-translation
======================

Twig function para Illuminate\\Translation\\Translator em Slim framework

06PHP

Since Sep 2Pushed 7y agoCompare

[ Source](https://github.com/dimaxes/Twig-Translation)[ Packagist](https://packagist.org/packages/coign/twig-translation)[ RSS](/packages/coign-twig-translation/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

Coign - Twig Translation Extension
==================================

[](#coign---twig-translation-extension)

Esse repositório usa Twig &amp; Illuminate/Translation para fazer a tradução de toda sua aplicação fornecendo uma classe de extensão dee ramificação para analizar. Então a classe usa uma função auxiliar para o uso de modelos em ramificação A função de tradutor tenta chamar a função trans() ou translate() de um objeto [Illuminate/translation.](https://github.com/illuminate/translation)

Como instalar
-------------

[](#como-instalar)

#### Usando o [Composer](http://getcomposer.org/)

[](#usando-o-composer)

Abra o prompt de comando na pasta da aplicação e cole:

```
composer require coign/twig-translation

```

Como Usar
---------

[](#como-usar)

### Slim

[](#slim)

Vamos mostrar o exemplo que pode ser usado com twig, para instalar o twig segue o link [Twig View Repository](https://github.com/slimphp/Twig-View).

Recomendo chamar essas funções pelo Middleware. Adicione as extenções do Illuminate/translation.

```
use Illuminate\Translation\Translator;
use Illuminate\Translation\FileLoader;
use Illuminate\Filesystem\Filesystem;
```

Em seguida..

```
$container = $app->getContainer();

$app->add(function (\Slim\Http\Request $request, $response, $next) use ($app,$container)
{
	   //pegar linguagem do navegador
    $lang = $request->getHeader('Accept-Language');

    //mostrar apenas os dois primeiros caractéries
    $language = substr($lang[0],0,2);

    //pegar as configurações (caminho) da renderização
    $settings = $container->get('settings')['renderer'];

    //invocar container view para adicionar a extenssão
    $view = $container->get('view');
    $view->addExtension(new \Dkesberg\Slim\Twig\Extension\TranslationExtension());

    //$settings['template_path_lang']  esse é o diretório da pasta de tradução
    //Aonde pode ser alterada em settings.php
    $translator = new Translator(new FileLoader(new Filesystem(), $settings['template_path_lang']), $language);

    //Idioma padrão do site
	   $translator->setFallback('en');

	   //Execultar tradução
	   $app->translator = $translator;

	   //Gravar a tradução do usuario em uma _SESSION para usar em formularios navegador etc..
	   $_SESSION['lang'] = $language;

    // executar um outro middleware com o atual route
    return $next($request, $response);
});
```

Temos o diretório de tradução na pasta: `templates/lang` aonde teremos os idiomas. Lembre-se se que cada pasta é um idioma..

```
/templates
          /lang
               /pt
                  /home.php
                  /about.php
               /en
                  /home.php
                  /about.php

```

Aonde em cada arquivo de tradução por sua vez terá uma array com as traduções /en/home.php

```
return array(
'Welcome' => 'Hello'
);
```

/pt/home.php

```
return array(
'Welcome' => 'Olá'
);
```

Usando no template
==================

[](#usando-no-template)

Para usar no seu template, você téria que invocar primeiro o nome do arquivo de diretório no nosso caso `home.php`e depois a chave do array que desejamos chamar.. invocariamos da seguinte forma `home.welcome`

```
{{ translate('home.Welcome') }}

```

Você pode usar com abreviação..

```
{{ _('home.welcome') }}

```

Ou como no exemplo abaixo, temos uma array para dar as boas vindas e mostrar o nome do usuário.. `/pt/messages.php`

```
return array(
	'hello' => 'Olá :name!'
);
```

Nesse exemplo acima , teriamos que usar a invocação no template assim..

```
{{ trans('messages.hello', {'name': 'João Doe'}) }}

```

Adicione novas pastas para diferentes idiomas.

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity40

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/2457c72c20f480294fbf7fe5fb26a82af666597516e6c5c0c065d61c809b0afa?d=identicon)[coignweb](/maintainers/coignweb)

---

Top Contributors

[![maxestevam](https://avatars.githubusercontent.com/u/32106654?v=4)](https://github.com/maxestevam "maxestevam (7 commits)")

### Embed Badge

![Health badge](/badges/coign-twig-translation/health.svg)

```
[![Health](https://phpackages.com/badges/coign-twig-translation/health.svg)](https://phpackages.com/packages/coign-twig-translation)
```

###  Alternatives

[symfony/translation

Provides tools to internationalize your application

6.6k836.5M2.1k](/packages/symfony-translation)[nesbot/carbon

An API extension for DateTime that supports 281 different languages.

169661.4M4.8k](/packages/nesbot-carbon)[joedixon/laravel-translation

A tool for managing all of your Laravel translations

717911.4k11](/packages/joedixon-laravel-translation)[illuminate/translation

The Illuminate Translation package.

6936.4M495](/packages/illuminate-translation)[lajax/yii2-translate-manager

Translation management extension for Yii 2

227578.8k13](/packages/lajax-yii2-translate-manager)[larswiegers/laravel-translations-checker

Make sure your laravel translations are checked and are included in all languages.

256423.2k2](/packages/larswiegers-laravel-translations-checker)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
