outl1ne / nova-locale-manager
Laravel Nova tool to manage locales.
Installs: 1 880
Dependents: 0
Suggesters: 0
Security: 0
Stars: 16
Watchers: 2
Forks: 2
Open Issues: 0
pkg:composer/outl1ne/nova-locale-manager
Requires
- php: >=8.0.0
- doctrine/dbal: ^2.13.3|^3.1.4
- laravel/framework: ^9.0
- laravel/nova: ~4.0
- spatie/once: ^3.0
README
This Laravel Nova package allows you to manage simple locales.
Features
- Locale creation (name and slug)
- Locale state management (active, default)
Requirements
php: >=8.0laravel/nova: ^4.0
Installation
Install the package in a Laravel Nova project via Composer:
# Install nova-locale-manager composer require outl1ne/nova-locale-manager # Run migrations php artisan migrate
Usage
nova_get_locales($activeOnly = false)
Parameter $activeOnly decides wether to return only active locales or all.
Returns the locales as a slug => name map.
[
'en' => 'English',
'et' => 'Estonian',
]
nova_get_locales_full($activeOnly = false)
Parameter $activeOnly decides wether to return only active locales or all.
Returns the locales and all their data.
[
[
'name' => 'English',
'slug' => 'en',
'active' => false,
'default' => false,
],
[
'name' => 'Estonian',
'slug' => 'et',
'active' => true,
'default' => true,
],
]
nova_get_default_locale()
Returns the default locale's full data.
[
'name' => 'English',
'slug' => 'en',
'active' => false,
'default' => false,
],
nova_get_default_locale_slug()
Returns the default locale's slug.
'en'
Handling locale deletion
You can get register a callback for when a locale is deleted using the NovaLocaleManager::deleteCallback() function. You can register the call back in NovaServiceProvider's boot() function.
Example:
// in app/Providers/NovaServiceProvider.php public function boot() { \Outl1ne\NovaLocaleManager\NovaLocaleManager::deleteCallback(function ($locale) { // $locale is the Locale model // Locale ID: $locale->id // Locale slug: $locale->locale // Locale name: $locale->name }); }
Configuration
The config file can be published using the following command:
php artisan vendor:publish --provider="Outl1ne\NovaLocaleManager\NovaLocaleManagerServiceProvider" --tag="config"
Credits
License
Nova Locale Manager is open-sourced software licensed under the MIT license.