https://github.com/outl1ne/nova-locale-manager
An extremely simple Laravel Nova tool for managing locales.
https://github.com/outl1ne/nova-locale-manager
laravel-nova
Last synced: 2 months ago
JSON representation
An extremely simple Laravel Nova tool for managing locales.
- Host: GitHub
- URL: https://github.com/outl1ne/nova-locale-manager
- Owner: outl1ne
- License: mit
- Created: 2019-03-26T09:16:40.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-09-06T08:18:45.000Z (9 months ago)
- Last Synced: 2025-04-07T20:43:28.754Z (2 months ago)
- Topics: laravel-nova
- Language: PHP
- Size: 62.5 KB
- Stars: 16
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Nova Locale Manager
[](https://packagist.org/packages/outl1ne/nova-locale-manager)
[](https://packagist.org/packages/outl1ne/nova-locale-manager)This [Laravel Nova](https://nova.laravel.com) package allows you to manage simple locales.
## Features
- Locale creation (name and slug)
- Locale state management (active, default)## Requirements
- `php: >=8.0`
- `laravel/nova: ^4.0`## Installation
Install the package in a Laravel Nova project via Composer:
```bash
# 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.
```php
[
'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.
```php
[
[
'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.
```php
[
'name' => 'English',
'slug' => 'en',
'active' => false,
'default' => false,
],
```### nova_get_default_locale_slug()
Returns the default locale's slug.
```php
'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:
```php
// in app/Providers/NovaServiceProvider.phppublic 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:
```bash
php artisan vendor:publish --provider="Outl1ne\NovaLocaleManager\NovaLocaleManagerServiceProvider" --tag="config"
```## Credits
- [Tarvo Reinpalu](https://github.com/Tarpsvo)
## License
Nova Locale Manager is open-sourced software licensed under the [MIT license](LICENSE.md).