Wallogit.com
2017 © Pedro Peláez
A package for database translations.
A package for database translations. This package is suitable for small to medium sized projects. For big projects I am planing a high performance version of this package using mongodb., (*1)
composer require tanmuhittin/laravel-easy-translate, (*2)
php artisan migrate --path=vendor/tanmuhittin/laravel-easy-translate/database/migrations, (*3)
You are ready to go., (*4)
Add this to your translatable models;, (*5)
use TanMuhittin\LaraTranslate\Traits\Translatable;, (*6)
then define translatable fields, (*7)
public $translatable_columns = ['name','content'];, (*8)
Now your models returns 2 additional fields; translatable, translated, (*9)
Edit the translatable object returned by your model and save it. Example translatable object:, (*10)
{
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"
}
}
}
}
.
.
.
Edited Version, (*11)
{
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"
}
}
}
}
.
.
.
Saving Translations:, (*12)
$model = new Posts;
$model->name = $request->get('name');
$model->content = $request->get('content');
if($request->has('translatable'))
$model->trans = $request->get('translatable');
$model->save();
Thats it., (*13)