tanmuhittin / laravel-easy-translate
此包的最新版本(dev-master)没有提供许可信息。
数据库翻译包。
dev-master
2018-06-28 10:11 UTC
This package is auto-updated.
Last update: 2024-09-07 20:06:16 UTC
README
这是一个数据库翻译包。此包适用于小型到中型项目。对于大型项目,我计划使用mongodb来开发此包的高性能版本。
安装
composer require tanmuhittin/laravel-easy-translate
php artisan migrate --path=vendor/tanmuhittin/laravel-easy-translate/database/migrations
现在你准备好了。
使用方法
将以下内容添加到你的可翻译模型中;
use TanMuhittin\LaraTranslate\Traits\Translatable;
然后定义可翻译字段
public $translatable_columns = ['name','content'];
现在你的模型返回了2个额外的字段;可翻译的,翻译后的
保存翻译
编辑由你的模型返回的可翻译对象并保存。例如可翻译对象
{
name:'Default Name',
content:'Default Content',
created_at:01.09.1993 09:09:09,
"translatable": {
"en": {
"name": {
"value": "enName"
},
"content": {
"value": "enContent"
}
},
"tr": {
"name": {
"value": "trName"
},
"content": {
"value": "trContent"
}
}
}
}
.
.
.
编辑版本
{
name:'Default Name',
content:'Default Content',
created_at:01.09.1993 09:09:09,
"translatable": {
"en": {
"name": {
"value": "enName Edited"
},
"content": {
"value": "enContent Edited"
}
},
"tr": {
"name": {
"value": "trName Edited"
},
"content": {
"value": "trContent Edited"
}
}
}
}
.
.
.
保存翻译
$model = new Posts;
$model->name = $request->get('name');
$model->content = $request->get('content');
if($request->has('translatable'))
$model->trans = $request->get('translatable');
$model->save();
就是这样。