我有一个非本地化的模型:具有以下属性的文章: id , title , description ;我想本地化 title 和 description 。
我在Laravel Backpack文档中看到,CRUD可以使用 spatie / laravel-translatable 管理本地化的模型,该模型对每个属性Translatable models and multi-language CRUDs使用JSON字段。
我认为这是管理新的本地化模型的好方法,但是我找不到不重写现有软件的大部分就可以将我的Article模型传递给本地化版本的方法。
我错过了一个好的实践吗?
答案 0 :(得分:0)
如果您已经使用Backpack
,那么最好使用spatie/laravel-translatable
。
您可以像下面那样将Article
模型制作为可翻译模式。
<?php
namespace App\Models;
use Backpack\CRUD\app\Models\Traits\CrudTrait;
use Illuminate\Database\Eloquent\Model;
use Backpack\CRUD\app\Models\Traits\SpatieTranslatable\HasTranslations; //you need to add
class Article extends Model
{
use CrudTrait;
use HasTranslations; //you need to add
/*
|--------------------------------------------------------------------------
| GLOBAL VARIABLES
|--------------------------------------------------------------------------
*/
protected $table = 'articles';
protected $primaryKey = 'id';
protected $fillable = ['title', 'description'];
protected $translatable = ['title', 'description']; //you need to add