dnj/laravel-localization

v1.0.1 2023-10-21 18:20 UTC

This package is auto-updated.

Last update: 2024-09-21 20:18:07 UTC


README

Latest Version on Packagist Total Downloads Software License

此包可以帮助您更轻松地管理和展示多语言Eloquent模型。

有一个核心概念:您有一个记录(如产品)并且每个记录都有一些本地化属性(如标题或描述)。因此,您为您的实体创建一个Eloquent模型

<?php
namespace App\Models;

use dnj\Localization\Contracts\ITranslatableModel;
use dnj\Localization\Eloquent\HasTranslate;

class Product extends Model implements ITranslatableModel
{
	use HasTranslate;

	protected $table = "product";
}

然后为它的翻译创建另一个模型

<?php
namespace App\Models;

use dnj\Localization\Contracts\ITranslateModel;
use dnj\Localization\Eloquent\IsTranslate;

class ProductTranslate extends Model implements ITranslateModel
{
	use IsTranslate;

	protected $table = "product_translate";
}

ITranslatableModel

此接口为您提供两种方法,您可以使用这些方法检索模型的翻译

为了简化事情,有一个HasTranslate特性,它会处理这些方法的实现。除此之外,此特性还有一些额外的方法

ITranslateModel

此模型很简单。仅包含一些获取器。

此外,还有一个IsTranslate特性,它为您实现了这些方法。

安全

如果您发现了关于安全性的错误,请通过security@dnj.co.ir发送邮件,而不是使用问题跟踪器。

许可协议

MIT许可协议(MIT)。请参阅许可文件以获取更多信息。