PHP code example of organi / translatables

1. Go to this page and download the library: Download organi/translatables library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

organi / translatables example snippets


return [
    'accepted_locales' => [
        'nl', 'en', 'fr', 'de',
    ],
];

Schema::create('products', function (Blueprint $table) {
    $table->id();
    $table->string('code');
    $table->timestamps();
});

Schema::create('products_translations', function (Blueprint $table) {
    $table->translations('translations');
    $table->string('name');
    $table->text('description');
});

use Organi\Translatables\Traits\HasTranslations;

class Product extends Model
{
    use HasTranslations;

    /**
     * The attributes that should be translatable.
     */
    protected array $localizable = [
        'name', 'description'
    ];
}

use Organi\Translatables\Models\Translation;
...
$product->name = Translation::make([
    'nl' => 'Lorem ipsum dolor sit amet',
    'en' => 'Lorem ipsum dolor sit amet',
    'fr' => 'Lorem ipsum dolor sit amet',
]);

$product->name = [
    'nl' => 'Lorem ipsum dolor sit amet',
    'en' => 'Lorem ipsum dolor sit amet',
    'fr' => 'Lorem ipsum dolor sit amet',
];

$product->name = 'Lorem ipsum dolor sit amet';

/* returns:
Organi\Translatables\Models\Translation {
  translations: array:4 [
    "nl" => "Lorem ipsum dolor sit amet"
    "en" => ""
    "fr" => ""
  ]
}
*/


$product->setTranslations('nl', [
    'name' => 'Lorem ipsum dolor sit amet',
    'description' => 'Lorem ipsum dolor sit amet',
]);

$product->setTranslation('nl', 'name', 'Lorem ipsum dolor sit amet');

$product->setAllLocales('title', 'Lorem ipsum dolor sit amet');

echo $product->name;

$dt->title->__toString(),

(string) $dt->title

echo $product->name->get('en');

$product = Product::whereTranslation('title', 'Lorem ipsum dolor sit amet')->first();

$products = Product::orderByTranslation('title')->get();
bash
php artisan vendor:publish --provider="Organi\Translatables\TranslatablesServiceProvider" --tag="translatables-migrations"
php artisan migrate
bash
php artisan vendor:publish --provider="Organi\Translatables\TranslatablesServiceProvider" --tag="translatables-config"