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 2w ago

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 9% 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://avatars.githubusercontent.com/u/42909132?v=4)[coignweb](/maintainers/coignweb)[@Coignweb](https://github.com/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

[php-translation/translator

Translator services

25224.8k5](/packages/php-translation-translator)[smmoosavi/php-gettext

Wrapper for php-gettext by danilo segan. This library provides PHP functions to read MO files even when gettext is not compiled in or when appropriate locale is not present on the system.

1926.6k1](/packages/smmoosavi-php-gettext)[laradevs/spanish

labels translated to spanish

166.7k](/packages/laradevs-spanish)

PHPackages © 2026

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