Skip to content

khamdullaevuz/laravel-translation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Laravel translation package

Latest Version on Packagist Total Downloads

Installation

You can install the package via composer:

composer require khamdullaevuz/laravel-translation

Add the service provider to your config/app.php:

// config/app.php
'providers' => [
    ...
    Khamdullaevuz\LaravelTranslation\TranslationServiceProvider::class,
];

You can run the migrations with:

php artisan migrate

Usage

Model

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Khamdullaevuz\LaravelTranslation\Traits\Translatable;

class Product extends Model
{
    use HasFactory, Translatable;

    protected $fillable = [
        'name',
        'amount',
    ];

    protected $translatable = [
        'name',
    ];
}

Create

Use with model

$product = Product::create([
    'name' => 'Product 1',
    'amount' => 100,
]);

$product->translations()->create([
    'table_name' => 'products',
    'column_name' => 'name',
    'value' => 'Mahsulot 1',
    'locale' => 'uz',
    'foreign_key' => $product->id,
]);

Use with facade

use Khamdullaevuz\LaravelTranslation\Facades\Translation;

$product = Product::create([
    'name' => 'Product 1',
    'amount' => 100,
]);
Translation::make('products', 'name', 'Mahsulot 1', 'uz', $product->id);

Get

$product = Product::latest()->first();

echo $product->name;
app()->setLocale('uz');
echo $product->name;

Credits