mguinea/laravel-translatable
Composer 安装命令:
composer require mguinea/laravel-translatable
包简介
Laravel package to make Eloquent models attributes translatables
README 文档
README
Make Eloquent model attributes translatables using Translations table
This package contains a trait to make Eloquent attributes translatable. Translations are stored in Translations database table.
Once the trait is installed on the model you can do these things:
$customer = new Customer; // An Eloquent model $customer ->setTranslation('greeting', 'en', 'Hello') ->setTranslation('greeting', 'es', 'Hola') ->save(); $customer->greeting; // Returns 'Hello' given that the current app locale is 'en' $customer->getTranslation('greeting', 'es'); // returns 'Hola' app()->setLocale('es'); $customer->greeting; // Returns 'Hola'
Installation
You can install the package via composer:
composer require mguinea/laravel-translatable
If you want to change the default model or the default tables names, you could publish the config file:
php artisan vendor:publish --tag=translatable-config
You must publish the migration file to create polymorphic and main translations tables:
php artisan vendor:publish --tag=translatable-migrations
Making a model translatable
The required steps to make a model translatable are:
-
First, you need to add the
Mguinea\Translatable\Traits\Translatable-trait. -
Next, you should create a public static property
$translatablewhich holds an array with all the names of attributes you wish to make translatable. -
You have to create a field in the migration of your model type
stringandnullable.
Here's an example of a prepared model:
use Illuminate\Database\Eloquent\Model; use Mguinea\Translatable\Traits\Translatable; class NewsItem extends Model { use Translatable; protected $fillable = ['greeting']; public static $translatable = ['greeting']; }
统计信息
- 总下载量: 53
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-07-26