Skip to content

Adds multi lingual support to Laravel models

License

MIT, MIT licenses found

Licenses found

MIT
LICENSE
MIT
LICENSE.md
Notifications You must be signed in to change notification settings

Javaabu/translatable

Repository files navigation

Translatable

Latest Version on Packagist Test Status Total Downloads Code Coverage

Adds multi-lingual to Laravel models

Installation

You can install the package via composer:

composer require javaabu/translatable

Usage

To get started with this package, you can simply add $table->dbTranslatable(); or $table->jsonTranslatable(); to your migration up function.

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
use Javaabu\Translatable\DbTranslatable\DbTranslatableSchema;

return new class extends Migration {
    public function up(): void
    {
        Schema::create('posts', function (Blueprint $table) {
            $table->id();

            // ...

            $table->dbTranslatable();
            // OR
            $table->jsonTranslatable();
        });
    }

    public function down(): void
    {
        Schema::dropIfExists('posts');
    }
};

And then all you need to do is add the Translatable implementation using the IsDbTranslatable or IsJsonTranslatable trait.

...

class Post extends Model implements Translatable
{
    use IsDbTranslatable;
    // OR
    use IsJsonTranslatable;

...

Now, your models will automatically be translated according to the current app()->getLocale().

app()->setLocale('en');
$post->title // This is an English title

app()->setLocale('dv');
$post->title // Mee dhivehi title eh

$post->title_en // This is an English title
$post->title_dv // Mee dhivehi title eh

To add different translations, all you need to do is

// to add title for dv language
$post->title_dv = "Mee Dhivehi title eh";

Documentation

You'll find the documentation on https://docs.javaabu.com/docs/translatable.

Find yourself stuck using the package? Found a bug? Do you have general questions or suggestions for improving this package? Feel free to create an issue on GitHub, we'll try to address it as soon as possible.

If you've found a bug regarding security please mail info@javaabu.com instead of using the issue tracker.

Testing

You can run the tests with

./vendor/bin/phpunit

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 info@javaabu.com instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

About

Adds multi lingual support to Laravel models

Resources

License

MIT, MIT licenses found

Licenses found

MIT
LICENSE
MIT
LICENSE.md

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages