codtail/translation

An elegant laravel model translation tool

dev-master 2021-01-15 16:15 UTC

This package is auto-updated.

Last update: 2024-09-16 00:06:00 UTC


README

This package provide easy and smooth multi-language model translation for laravel application.

###installation

    composer require codtail/translation

######migrations:

    $table->longText('translations');

######model:

    <?php
    
    namespace App;
    
    use Codtail\Translation\Translator;
    use Illuminate\Database\Eloquent\Model;
    
    class post extends Model
    {
         //....
        use Translator;
        
        public static $translated = ['title', 'content'];
         // ....
    }

######config add the available locales in app.php in config folder

   ...
   
   'app_locales' => ['en', 'es', 'ar'], 
   
   ...

###usage when you create new post the package automatically fills the translations field in posts table, then the translation is available in update.

to get certain locales:

public function getTranslation(Post $post, $lang)
{
    ...
    
    $post->getTranslation($lang);
    
    ...
}

to translate to certain locales:

public function translate(Post $post, $lang, Request $request)
{
    ...
    
    $post->translate($lang, $request->all());
    
    ...   
}