定制 kelvinsouza/translate 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

kelvinsouza/translate

Composer 安装命令:

composer require kelvinsouza/translate

包简介

Tradução automática para Laravel.

README 文档

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

统计信息

  • 总下载量: 1.13k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2018-06-28

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固