Как правильно реализовать локализацию БД в laravel?
На мой взгляд использование пакетов для этой цели нецелесообразно.
Обычная полиморфическая связь подойдет.
И так, давайте представим что основной контент статьи на русском языке.
Во первых, создадим модель нашей локализации:php artisan make:model Localization
Укажем что это полиморфическая связь:protected $table = 'localization';

public function lozalizable()
  {
      return $this->morphTo();
  }
В нашей модели статей привяжем свежесозданную модель в качестве связи:public function lozalization(){
	    return $this->morphOne('App\Localization', 'lozalizable');
	}
И создадим миграцию для модели Lozalizable:Schema::create('localization', function (Blueprint $table) {
        $table->increments('id');
        $table->string('field');
        $table->string('language');
        $table->string('value');
        $table->string('lozalizable_type');
        $table->integer('lozalizable_id');
        $table->timestamps();
      });
Теперь, для создания локализации статьи с языком en выполним следующий код:$article = Article::create($Atricle);

$localization = new Localization;
$localization->language = 'en';
$localization->field = 'content';
$localization->value = 'Znachenye na english yazike';
$article->localization()->save($localization); //привязываем к свежесозданному объекту Article новую локализацию
С помощью scope функций в модели можно без особых проблем реализовать более удобное выдергивание нужного значения и языка:public function scopeGetLocalize($language, $field){
     return $this->localization()->where(['language' => $language, 'field' => $field])-> firstOrFail()->value;
}
В таком случае, скажем, поле title для локализации en можно выдергивать так:$article->getLocalize('en', 'title')
Как использовать стандартные методы для переключения языка и выборки данных из БД соответствующего языка?