Download the PHP package outl1ne/nova-translatable without Composer
On this page you can find all versions of the php package outl1ne/nova-translatable. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package nova-translatable
Nova Translatable
This Laravel Nova allows you to make any input field spatie/laravel-translatable
compatible and localisable.
Requirements
PHP: ^8.0
laravel/nova: ^4.12
spatie/laravel-translatable: ^4.0 || ^5.0 || ^6.0
Features
- Supports almost all fields (including third party ones)
- Supports default validation automatically
- Simple to implement with minimal code changes (after
spatie/laravel-translatable
support) - Locale tabs to switch between different locale values of the same field
- Double click on a tab to switch all fields to that locale
- Supports nova-settings package
Known non-working fields
Image
andFile
- Workarounds:
- outl1ne/nova-media-hub
- or any library that uploads images/files using XHR
Limitations
- The following methods can not be used, as this package uses them internally:
resolveUsing
fillUsing
Screenshots
Installation
Firstly, set up spatie/laravel-translatable.
Install the package in a Laravel Nova project via Composer:
Usage
Call ->translatable()
on any field, like so:
Validation
It's possible to define locale specific validation rules.
To do so, add the ->rulesFor()
on your field and the HandlesTranslatable
trait to your Nova resource.
->rulesFor
accepts array|string|callable
locales and array|callable
rules.
In this example, rules will be added to the following values
Configuration
You can define default locales for all the translatable
fields in the config file. The config file can be published using:
Fill other locales from config option
The configuration option fill_other_locales_from
allows you to pre-fill other locales from just one locale. This requires the resources to also have the HandlesTranslatable
trait.
One select for all fields on a page
If you don't want to display the locale select next to each field, you can set the display_type
to none
and add a Outl1ne\NovaTranslatable\Fields\LocaleSelect
field to your Nova resource. This will render a single select for all fields.
Custom locale display
To customize the locale display you can use Nova::provideToScript
to pass customLocaleDisplay
as in the example below.
Edge cases
BelongsToMany allowDuplicateRelations corner-case
When using this field inside a BelongsToMany as a pivot field with ->allowDuplicateRelations()
and you want to filter out exact matches using the NotExactlyAttached
rule, use the BelongsToManyTranslatable
field instead of the regular BelongsToMany
.
Credits
License
This project is open-sourced software licensed under the MIT license.
All versions of nova-translatable with dependencies
laravel/nova Version ^4.12
nova-kit/nova-packages-tool Version ^1.0
spatie/laravel-translatable Version ^4.0 || ^5.0 || ^6.0