khamdullaevuz/laravel-translation

There is no license information available for the latest version (1.0.2) of this package.

Laravel translation

1.0.2 2023-07-18 09:37 UTC

This package is auto-updated.

Last update: 2024-05-18 11:23:13 UTC


README

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