Spatie\Translatable
You're browsing the documentation for an old version of MoonShine. Consider upgrading your project to MoonShine 2.x.
This field belongs to a separate package, you have to complete the installation before using it
composer require visual-ideas/moonshine-spatie-translatable
The field is purposed for work with the Laravel-translatable package made by Spatie
Before using the Spatie\Translatable field, make sure that:
- The spatie/laravel-translatable package is installed and configured
- The field passed to the Spatie\Translatable is added to the $translatable array of the model
use VI\MoonShineSpatieTranslatable\Fields\Translatable;//...Translatable::make('Title', 'name')//...
# Mandatory translations
The ->requiredLanguages(array $languages) method is used to specify the languages required by the validator for creating/saving a record.
It is recommended to pass the config('app.fallback_locale') value to this method
use VI\MoonShineSpatieTranslatable\Fields\Translatable;//...Translatable::make('Title', 'name') ->requiredLanguages([config('app.fallback_locale'), 'ru'])//...
# Recommended translations
If you specify this array, the language codes in the forms for adding/modifying a specific translation will be placed at the beginning of the list of all possible languages.
use VI\MoonShineSpatieTranslatable\Fields\Translatable;//...Translatable::make('Title', 'name') ->priorityLanguages([config('app.fallback_locale'), config('app.locale'), 'de', 'fr', 'uk'])//...
# Deleting
You can delete specific translations from out of the entered ones
Translatable::make('Field', 'field') ->removable()
If you leave the translation text blank, it will be deleted!
If there are two translations into the same language, the translation that comes first will be deleted (replaced)!