syscape-space / laravel-translation
A Laravel package for model attributes translations
v0.0.4
2022-09-19 18:48 UTC
Requires
- php: ^7.4|^8.0
- illuminate/support: ^8.0|^9.0
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.0
README
A Laravel package for model attributes translations
Installation
You can install the package via composer:
composer require syscape-space/laravel-translation
- publish the migration to create the media table by running
php artisan vendor:publish --provider="SyscapeSpace\LaravelTranslation\LaravelTranslationServiceProvider" --tag="migrations"
.
Usage
<?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use SyscapeSpace\LaravelTranslation\Traits\hasTranslation; class Post extends Model { use HasFactory, HasTranslation; // to force laravel accept the translation attributes protected $guarded = []; #or if you have time protected $fillable = ['title','title_en','title_ar','content','content_en','content_ar']; //------------------------------------------------- // just like that without any migration or configuration public $translationAttributes = [ 'title', 'content', ]; }
#any where in your code // depending on the current locale $post = Post::create([ 'title' => 'title', 'body' => 'content', ]); #or $post = Post::create([ 'title_ar' => 'عنوان', 'title_en' => 'title', 'body_ar' => 'محتوى', 'body_en' => 'content', ]); # and $post->title; // title #or $post->title_ar; // عنوان
Testing
composer test
Changelog
Please see CHANGELOG for more information what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email ahmedalmory02@gmail.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.