kelvinsouza / translate
Laravel 自动翻译
1.1.25
2020-11-12 20:39 UTC
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: 2024-09-19 21:49:38 UTC
README
该库使用 Google Translate API 和/或 AWS Translate API 来自动翻译请求的术语,并将它们记录在缓存(redis)中以供查询。该库还包括一个管理面板,您可以在其中更改自动翻译的术语。
安装
可以使用包管理器添加到 "require" 对象中安装此包
"require": {
"kelvinsouza/translate": "dev-master"
}
或通过控制台
composer require kelvinsouza/translate
配置
在您的 config/app.php 文件中添加提供者和别名
...
Translate\Providers\TranslateProvider::class,
...
'Translate' => \Translate\Translate::class,
发布配置文件
php artisan vendor:publish --tag=config
发布视图
php artisan vendor:publish --tag=views
发布迁移
php artisan vendor:publish --tag=migrations
要管理翻译,只需在您的文件中添加路由即可。
您可以通过在路由文件中添加以下行来添加公开路由(当没有身份验证或验证时)
Route::get('/translate/manager/{translate_lang?}', '\Translate\Http\Controllers\TranslateManager@index');
如果要在之前验证访问,可以像以下示例中那样调用控制器
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);
});
您还可以使用 artisan 命令来搜索代码中的新术语,自动翻译术语或更新缓存。
搜索新术语
php artisan translate:update
翻译尚未自动翻译的术语
php artisan translate:auto {lang}
更新缓存
php artisan translate:sync
使用方法
要翻译术语,请调用 "_t(...)" 辅助函数
_t('Termo para tradução');
您可以在翻译中使用变量
_t('Olá {nome_usuario}', [$nome_usuario]);
要翻译 .js 文件,您需要在页面的 <head> 中添加以下行
<script src="/translate/js/{{ Translate::getLocale() }}"></script>
以及以下代码在一个 .js 文件或页面的 <head> 内部的 <script> 标签中
function _t(key) {
if (typeof Lang != 'object' || typeof Lang[key] != 'string') return key;
return Lang[key];
}
注意:在 .js 文件中对 _t() 函数的调用不会自动翻译术语。在这种情况下,您需要使用 Translate Manager 或 artisan 命令来定位并翻译术语。
许可
此存储库代码是开源软件,根据 MIT 许可证授权