lucasgiovanny / filament-inline-translate-field
Create a beautiful key-value field to allow users to enter all possible language values for a field on the same page
Fund package maintenance!
lucasgiovanny
Requires
- php: ^8.0
- filament/filament: ^2.0
- illuminate/contracts: ^9.0|^10.0
- spatie/laravel-package-tools: ^1.13.5
- spatie/laravel-translatable: ^6.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^6.0
- orchestra/testbench: ^7.0
- pestphp/pest: ^1.21
- pestphp/pest-plugin-laravel: ^1.1
- pestphp/pest-plugin-livewire: ^1.0
- pestphp/pest-plugin-parallel: ^0.3
- phpunit/phpunit: ^9.5
- spatie/laravel-ray: ^1.26
README
Create a beautiful key-value field to allow users to enter all possible language values for a field on the same page
Installation
- You can install the package via composer:
composer require lucasgiovanny/filament-inline-translate-field
- Configure you model, as defined on spatie/laravel-translatable documentation:
- Add the
Spatie\Translatable\HasTranslations
trait to the model that is going to use this field. - Next, you should create a public property
$translatable
which holds an array with all the names of attributes you wish to make translatable. - Finally, you should make sure that all translatable attributes are set to the json-datatype in your database. If your database doesn't support json-columns, use text.
use Illuminate\Database\Eloquent\Model; use Spatie\Translatable\HasTranslations; class Activity extends Model { use HasTranslations; public $translatable = ['name']; }
- Publish the configuration file to set the available languages:
php artisan vendor:publish --tag="filament-inline-translate-field-config"
return [ 'available_locales' => [ 'en' => 'English', 'fr' => 'French', 'es' => 'Spanish', ], ];
Optionally, you can publish the translation files:
php artisan vendor:publish --tag="filament-inline-translate-field-translations
Usage
use LucasGiovanny\FilamentInlineTranslateField\Forms\Components\Fields\InlineTranslateField; return $form ->schema([ InlineTranslateField::make('name'), ]);
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.