jva91 / translation
Laravel数据库翻译包
dev-master
2019-05-03 18:54 UTC
Requires (Dev)
- orchestra/testbench: ^3.5
This package is auto-updated.
Last update: 2024-09-29 04:49:53 UTC
README
一个易于管理的Laravel数据库翻译包
安装
使用composer
composer require jva91/translation
或在composer.json中手动添加
"require": {
"jva91/translation": "0.1.x-dev"
}
添加此行后运行composer install
此包包含自动发现。当自动发现被禁用时,在config/app.php中注册服务提供者
'providers' => [
// ...
Jva91\Translation\TranslationServiceProvider::class,
]
发布
此包发布了一个配置文件。
php artisan vendor:publish --provider="Jva91\Translation\TranslationServiceProvider" --tag="config"
迁移
此包包含一个默认迁移,这将使用以下方式执行:
php artisan migrate
模型
此包包含一个默认模型
Jva91\Translation\Models\Translation
用法
可以使用提供的特质Jva91\Translation\Traits\TranslationsTrait使用此包
class FakeModel extends Model
{
use TranslationsTrait;
public static $transFields = ['name'];
// ...
$transFields是表中的列。此列必须是整数,以便特质可以将其翻译.key整数存储在此列中。此数组中可以有多个列。
特质使用config('app.locale')设置。额外的可翻译区域可以在配置文件translation.php中设置
'locales' => [
'en_GB'
],
获取默认app.locale的翻译
$fakeModel->name
获取默认区域的翻译
$fakeModel->name_en_GB
从模型获取翻译键整数
$fakeModel->getOriginalTranslationKey('name')
删除特定区域的翻译
$fakeModel->deleteForLocale('name', 'nl_NL');
测试
此包由单元测试覆盖
功能函数
- 控制台命令用于从表中删除未使用的翻译