bramalho/laravel-translations

v1.0.1 2019-02-16 10:05 UTC

This package is auto-updated.

Last update: 2024-09-16 21:55:24 UTC


README

Latest Stable Version Total Downloads License

Laravel Translations 是一个 Laravel 包,为您的模型提供翻译功能。

安装

安装包

composer require bramalho/laravel-translations

app/config/app.php 中添加服务提供者

BRamalho\LaravelTranslations\LaravelTranslationsServiceProvider::class,

发布配置

php artisan vendor:publish --provider 'BRamalho\LaravelTranslations\LaravelTranslationsServiceProvider'

运行迁移

php artisan migrate

使用方法

将特质添加到您的模型中

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use BRamalho\LaravelTranslations\Translate;

class Page extends Model
{
    use Translate;

    protected $fillable = ['title', 'body'];
}

根据您的模型,将数据添加到新表 translations

<?php

use Illuminate\Database\Seeder;
use App\Page;
use BRamalho\LaravelTranslations\Translation;

class PageTableSeeder extends Seeder
{
    public function run()
    {
        Page::create([
            'id' => 1,
            'title' => 'Hello World!',
            'body' => 'This is my page'
        ]);

        Translation::create([
            'id' => 1,
            'translation_id' => 1,
            'translation_type' => App\Page::class,
            'language' => 'pt',
            'content' => [
                'title' => 'Olá Mundo!',
                'body' => 'Esta é a minha página'
            ]
        ]);
    }
}

然后您可以简单使用它,如下所示

<h1>{{ $page->translation->content['title'] ?? $page->title }}</h1>
<p>{!! $page->translation->content['body'] ?? $page->body !!}</p>

许可证

Laravel Translations 是开源软件,许可协议为 MIT 许可协议