kelvinsouza / translate
Tradução automática para Laravel.
Installs: 1 130
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 2
Type:lib
Requires
- dev-master
- 1.1.25
- 1.1.24
- 1.1.23
- 1.1.22
- 1.1.21
- 1.1.20
- 1.1.19
- 1.1.18
- 1.1.17
- 1.1.16
- 1.1.15
- 1.1.14
- 1.1.10
- 1.1.9
- 1.1.8
- 1.1.7
- 1.1.6
- 1.1.5
- 1.1.4
- 1.1.3
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- 0.1.2
- 0.1.1
- 0.1.0
- 0.0.12
- 0.0.11
- 0.0.10
- 0.0.9
- 0.0.7
- 0.0.6
- 0.0.5
- dev-dependabot/composer/guzzlehttp/psr7-1.9.1
- dev-dependabot/composer/guzzlehttp/guzzle-6.5.8
This package is auto-updated.
Last update: 2025-02-19 22:39:39 UTC
README
A biblioteca utiliza Google Translate API e/ou AWS Translate API, para traduzir automaticamente os termos requisitados e grava em cache (redis) para consultas. A biblioteca contempla também um painel administrativo onde você pode alterar os termos traduzidos automaticamente.
Instalação
O pacote pode ser instalado usando o compositor adicionando ao objeto "require"
"require": {
"kelvinsouza/translate": "dev-master"
}
ou pelo console:
composer require kelvinsouza/translate
Configuração
Adicione o provider e aliases em seu arquivo config/app.php
...
Translate\Providers\TranslateProvider::class,
...
'Translate' => \Translate\Translate::class,
Publique os arquivos de configuração:
php artisan vendor:publish --tag=config
Publique as views:
php artisan vendor:publish --tag=views
Publique as migrations:
php artisan vendor:publish --tag=migrations
Para gerenciar as traduções, basta adicionar a rota em seu arquivo.
Você pode adicionar a rota publica (quando não haverá autenticação ou validações) adicionando a linha abaixo em seu arquivo de rotas:
Route::get('/translate/manager/{translate_lang?}', '\Translate\Http\Controllers\TranslateManager@index');
Caso queira validar o acesso antes, basta chamar o controller como exemplo abaixo:
Route::get('/translate/manager/{translate_lang?}', function ($translate_lang=null) {
if (! Auth::check()) return redirect('/auth/login');
return app('\Translate\Http\Controllers\TranslateManager')->index($translate_lang);
});
Você também pode utilizar os comandos do artisan para buscar novos termos no código, traduzir termos automaticamente ou atualizar o cache.
Busca novos termos:
php artisan translate:update
Traduz termos ainda não traduzidos automaticamente:
php artisan translate:auto {lang}
Atualiza o cache:
php artisan translate:sync
Uso
Para traduzir os termos, chame o helper "_t(...)"
_t('Termo para tradução');
Você pode utilizar variáveis nas traduções
_t('Olá {nome_usuario}', [$nome_usuario]);
Para traduzir arquivos .js, você deverá adicionar a seguinte linha no <head> da página:
<script src="/translate/js/{{ Translate::getLocale() }}"></script>
E também o seguinte código em um arquivo .js ou entre tags <script> dentro do <head> da página:
function _t(key) {
if (typeof Lang != 'object' || typeof Lang[key] != 'string') return key;
return Lang[key];
}
Obs.: As chamadas da função _t() em arquivos .js ainda não traduzem os termos automaticamente. Neste caso você terá que localizar e traduzir os termos utilizando o Translate Manager, ou os comandos no artisan.
License
This repository code is open-sourced software licensed under the MIT license