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
Requires
- php: ^8.1|^8.0|^7.4
- illuminate/support: ^10.0|^9.0|^8.0|^7.0
This package is auto-updated.
Last update: 2024-11-18 12:30:32 UTC
README
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;