Download the PHP package max26292/multilingual-nova without Composer
On this page you can find all versions of the php package max26292/multilingual-nova. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package multilingual-nova
Multilingual Nova (using default nova fields)
This package allows you to switch Nova language. Languages could be retrieved as array from config file or from database.
Requirements
Requirements | Version |
---|---|
PHP | ^8.0 |
Laravel | ^8.0 |
Laravel Nova | ~3.0 |
Installation
You can install the package via composer:
You can publish the config file:
This is the content of the file which will be published at config/multilingual.php
Usage
Nova Language Tool
You can use it as a tool by registering it with Nova. This is typically done in the tools method of the NovaServiceProvider, in app/Providers/NovaServiceProvider.php
.
Nova Language Field:
You can add Multilingual
field which will show languages to your resource.
Note: the field is a virtual field, and it's not required to be a database column. You can consider it as a language switcher input.
In index and detail page, the field will allow you to go to edit form with the selected language. In create and update page, the field allows you to change the language of inputs in the form in easy and direct way.
Model:
We use Spatie laravel translatable
Defining Locales
You can set the source of locales in the config file. Possible options is array or database. In case your language source is array, you need to add allowed languages in the locales array in the config file. When your language source is database, you need to configure the eloquent model of the language table, the column of the language code and the column of the language label.
Alternatively, you can override the config locales using setLocales(...)
function:
Testing
Changelog
Please see CHANGELOG for more information on what has changed recently.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Displaying Options
This tool allows you to switch between displaying style of the language selector field. Possible displaying options are button, list or mix.
By default, the displaying style is button
. If the field has a translation of a specific language, the button will be a blue one - primary button, and if no translation available the button will be grey - default button.
If your application supports many languages, this button
displaying style is not suitable, so list
displaying will be more suitable.
With list
displaying, locales are grouped in a dropdown list, allowing you to select an option from this list.
Other perfect option for displaying languages, is mix
. It allows you to mix between button
and list
displaying options. For example, if the system supported
less than three locales, then they will display as button
otherwise list
will be selected. This case can be achieved by setting the
convert_to_list_after
in the config file with 3 or whatever value you want.
Features
- Display supported locales in the index view.
- Allow you to edit any resource in any supported locale.
- NO ADDITIONAL FIELDS, just use the default laravel form fields.
- Quick switch between languages in index, details, create and update pages.
- Support Relations fields and sub tables.
- Auto fill form fields with default/fallback language content.
- Display translated/untranslated status for each locale.
- List the supported locale using Config file.
Roadmap
- [x] Display translated/untranslated status for each locale.
- [x] List the supported locale using Config file.
- [x] Manage the supported locale using Database resource.
- [ ] Autodetect translatable Models.
- [ ] Better support for untranslatable fields.
Screenshots
Index page
Create/Update page
Language Tool
All versions of multilingual-nova with dependencies
spatie/laravel-translatable Version ^6.5
spatie/laravel-package-tools Version ^1.16