onurkacmaz/laravel-model-translate

此包允许模型翻译。它类似于Symfony的gedmo翻译包。

v1.0.0 2023-02-20 06:41 UTC

This package is auto-updated.

Last update: 2024-09-13 19:09:26 UTC


README

Latest Version on Packagist Total Downloads

此包允许模型翻译。它类似于Symfony的gedmo翻译包。使用非常简单。您可以在模型或控制器中使用它。基本上,它是一个您可以在模型中使用的特性。它将自动创建模型中指定的字段翻译记录。它将根据注册的区域设置显示翻译。在创建或更新时,它将使用注册的区域设置并处理该记录。主要表与“foreign_id”和“模型命名空间”与翻译表相匹配。

安装

您可以通过composer安装此包

composer require onurkacmaz/laravel-model-translate
php artisan vendor:publish --provider="Onurkacmaz\LaravelModelTranslate\LaravelModelTranslateServiceProvider" --tag=config
php artisan vendor:publish --provider="Onurkacmaz\LaravelModelTranslate\LaravelModelTranslateServiceProvider" --tag=migrations
php artisan migrate

使用方法

特性

use Onurkacmaz\LaravelModelTranslate\Traits\Translatable;

class Blog extends Model
{
    use Translatable;

    // You can define which fields will be translated
    public function getTranslatable(): array
    {
        return ['title', 'content'];
    }
}

基于类的使用

use Onurkacmaz\LaravelModelTranslate\Traits\Translatable;

class TestController extends Controller
{
    public function index() {
        $translate = new LaravelModelTranslate();
        $translate->setColumns(['title', 'content']);
        $translate->setModel($blog);
        $translate->setLocale('en');
        $translate->translate();
        
        // or
        
        $translate = new LaravelModelTranslate($blog, ['title', 'content'], 'en');
        $translate->translate();
    }
}

静态使用

use Onurkacmaz\LaravelModelTranslate\Traits\Translatable;

class TestController extends Controller
{
    public function index() {
        $translate = LaravelModelTranslate::make()
            ->setModel($account)
            ->setLocale('en')
            ->setColumns(['title', 'content'])
            ->translate();
    }
}

测试

composer test

贡献

有关详细信息,请参阅 CONTRIBUTING

安全性

如果您发现任何安全相关的问题,请通过电子邮件 kacmaz.onur@hotmail.com 而不是使用问题跟踪器。

致谢

许可证

MIT许可证(MIT)。有关更多信息,请参阅 许可证文件

Laravel Package Boilerplate

此包是使用 Laravel Package Boilerplate 生成的。