nova-translatable maintained by optimistdigital
Description
A laravel-translatable extension for Laravel Nova.
Authors
Last update
2021/03/10 02:34 (dev-dependabot/npm_and_yarn/elliptic-6.5.4)
License
Downloads
39 934
Tags
Last update
2021/03/10 02:34
License
Require
- php >=7.1.0
- laravel/nova ^2.9 || ^3.0
- spatie/laravel-translatable ^4.0
Last update
2021/02/08 10:04
License
Require
- php >=7.1.0
- laravel/nova ^2.9 || ^3.0
- spatie/laravel-translatable ^4.0
Last update
2021/02/08 10:04
License
Require
- php >=7.1.0
- laravel/nova ^2.9 || ^3.0
- spatie/laravel-translatable ^4.0
Last update
2021/02/04 09:28
License
Require
- php >=7.1.0
- laravel/nova ^2.9 || ^3.0
- spatie/laravel-translatable ^4.0
Last update
2021/01/28 10:36
License
Require
- php >=7.1.0
- laravel/nova ^2.9 || ^3.0
- spatie/laravel-translatable ^4.0
Last update
2021/01/21 12:25
License
Require
- php >=7.1.0
- laravel/nova ^2.9 || ^3.0
- spatie/laravel-translatable ^4.0
Last update
2021/01/08 14:39
License
Require
- php >=7.1.0
- laravel/nova ^2.9 || ^3.0
- spatie/laravel-translatable ^4.0
Last update
2020/11/19 14:26
License
Require
- php >=7.1.0
- laravel/nova ^2.9 || ^3.0
- spatie/laravel-translatable ^4.0
Last update
2020/11/02 10:26
License
Require
- php >=7.1.0
- laravel/nova ^2.9 || ^3.0
- spatie/laravel-translatable ^4.0
Last update
2020/10/30 13:54
License
Require
- php >=7.1.0
- laravel/nova ^2.9 || ^3.0
- spatie/laravel-translatable ^4.0
Last update
2020/10/30 13:31
License
Require
- php >=7.1.0
- laravel/nova ^2.9 || ^3.0
- spatie/laravel-translatable ^4.0
Last update
2020/10/09 07:18
License
Require
- php >=7.1.0
- laravel/nova ^2.9 || ^3.0
- spatie/laravel-translatable ^4.0
Last update
2020/10/08 09:44
License
Require
- php >=7.1.0
- laravel/nova ^2.9 || ^3.0
- spatie/laravel-translatable ^4.0
Last update
2020/10/08 09:40
License
Require
- php >=7.1.0
- laravel/nova ^2.9 || ^3.0
- spatie/laravel-translatable ^4.0
Last update
2020/09/30 08:45
License
Require
- php >=7.1.0
- laravel/nova ^2.9 || ^3.0
- spatie/laravel-translatable ^4.0
Last update
2020/09/30 07:49
License
Require
- php >=7.1.0
- laravel/nova ^2.9 || ^3.0
- spatie/laravel-translatable ^4.0
Last update
2020/09/03 13:43
License
Require
- php >=7.1.0
- laravel/nova ^2.9 || ^3.0
- spatie/laravel-translatable ^4.0
Last update
2020/09/02 11:35
License
Require
- php >=7.1.0
- laravel/nova ^2.9 || ^3.0
- spatie/laravel-translatable ^4.0
Last update
2020/07/13 14:18
License
Require
- php >=7.1.0
- laravel/nova ^2.9 || ^3.0
- spatie/laravel-translatable ^4.0
Last update
2020/04/30 14:14
License
Require
- php >=7.1.0
- laravel/nova ^2.9 || ^3.0
- spatie/laravel-translatable ^4.0
Last update
2020/04/29 08:56
License
Require
- php >=7.1.0
- laravel/nova ^2.9 || ^3.0
- spatie/laravel-translatable ^4.0
Last update
2020/04/28 14:33
License
Require
- php >=7.1.0
- laravel/nova ^2.9 || ^3.0
- spatie/laravel-translatable ^4.0
Last update
2020/04/17 06:34
License
Require
- php >=7.1.0
- laravel/nova ^2.9 || ^3.0
- spatie/laravel-translatable ^4.0
Last update
2020/04/14 17:46
License
Require
- php >=7.1.0
- laravel/nova ^2.9 || ^3.0
- spatie/laravel-translatable ^4.0
Last update
2020/04/14 17:43
License
Require
- php >=7.1.0
- laravel/nova ^2.9 || ^3.0
- spatie/laravel-translatable ^4.0
Last update
2020/04/14 14:32
License
Require
- php >=7.1.0
- laravel/nova ^2.9 || ^3.0
- spatie/laravel-translatable ^4.0
Last update
2020/03/05 07:44
License
Require
- php >=7.1.0
- laravel/nova ^2.9 || ^3.0
- spatie/laravel-translatable ^4.0
Last update
2020/02/25 09:24
License
Require
- php >=7.1.0
- laravel/nova ^2.9
- spatie/laravel-translatable ^4.0
Last update
2020/02/13 13:28
License
Require
- php >=7.1.0
- laravel/nova ^2.9
- spatie/laravel-translatable ^4.0
Last update
2020/02/10 09:50
License
Require
- php >=7.1.0
- laravel/nova ^2.9
- spatie/laravel-translatable ^4.0
Last update
2020/02/04 09:33
License
Require
- php >=7.1.0
- laravel/nova ^2.9
- spatie/laravel-translatable ^4.0
Last update
2020/01/27 09:31
License
Require
- php >=7.1.0
- laravel/nova ^2.9
- spatie/laravel-translatable ^4.0
Last update
2020/01/17 17:00
License
Require
- php >=7.1.0
- laravel/nova ^2.9
- spatie/laravel-translatable ^4.0
Last update
2020/01/17 14:13
License
Require
- php >=7.1.0
- laravel/nova ^2.9
- spatie/laravel-translatable ^4.0
Last update
2020/01/17 13:45
License
Require
- php >=7.1.0
- laravel/nova ^2.9
- spatie/laravel-translatable ^4.0
Last update
2019/12/30 13:51
License
Require
- php >=7.1.0
- laravel/nova ^2.9
- spatie/laravel-translatable ^4.0
comments powered by Disqus
Nova Translatable
This Laravel Nova allows you to make any input field spatie/laravel-translatable
compatible and localisable.
Requirements
laravel/nova: ^2.9 || ^3.0
spatie/laravel-translatable: ^4.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:
- optimistdigital/nova-media-field
- ebess/advanced-nova-media-library
- Or any library that uploads images/files using XHR
- Workarounds:
Limitations
- The following methods can not be used, as this package uses them internally:
resolveUsing
fillUsing
-
displayUsing
(might be fixed eventually)
Screenshots
Installation
Firstly, set up spatie/laravel-translatable.
Install the package in a Laravel Nova project via Composer:
# Install nova-translatable
composer require optimistdigital/nova-translatable
# Publish configuration (optional, but useful for setting default locales)
php artisan vendor:publish --tag="nova-translatable-config"
Usage
Call ->translatable()
on any field, like so:
// Any Nova field
Text::make('Name')
->rules('required', 'min:2')
->translatable(),
// Any third-party input field
Multiselect::make('Football teams')
->rules('required')
->translatable(),
// Optionally pass custom locales on a per-field basis
Number::make('Population')
->translatable([
'en' => 'English',
'et' => 'Estonian',
]),
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.
use OptimistDigital\NovaTranslatable\HandlesTranslatable;
class Product extends Resource
{
use HandlesTranslatable;
public function fields(Request $request)
{
return [
Text::make(__('Name'), 'name')
->sortable()
->translatable()
->rules(['max:255'])
->rulesFor('en', [
'required',
])
->rulesFor(['en', 'et'], function ($locale) {
return ["unique:products,name->$locale{{resourceId}}"];
}),
];
}
}
In this example, rules will be added to the following values
max: name.*
required: name.en
unique: name.en & name.et
Configuration
You can define default locales for all the translatable
fields in the config file. The config file can be published using:
php artisan vendor:publish --tag="nova-translatable-config"
Credits
License
This project is open-sourced software licensed under the MIT license.