optimistdigital / nova-locale-manager
Laravel Nova 管理多语言工具。
3.0.1
2022-07-18 06:18 UTC
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
此Laravel Nova包允许您管理简单多语言。
特性
- 创建多语言(名称和缩写)
- 管理多语言状态(活动、默认)
要求
php: >=8.0laravel/nova: ^4.0
安装
使用Composer在Laravel Nova项目中安装此包
# Install nova-locale-manager composer require outl1ne/nova-locale-manager # Run migrations php artisan migrate
用法
nova_get_locales($activeOnly = false)
参数 $activeOnly 决定是否只返回 活动 多语言或所有多语言。
返回一个 缩写 => 名称 映射的多语言列表。
[
'en' => 'English',
'et' => 'Estonian',
]
nova_get_locales_full($activeOnly = false)
参数 $activeOnly 决定是否只返回 活动 多语言或所有多语言。
返回多语言及其所有数据。
[
[
'name' => 'English',
'slug' => 'en',
'active' => false,
'default' => false,
],
[
'name' => 'Estonian',
'slug' => 'et',
'active' => true,
'default' => true,
],
]
nova_get_default_locale()
返回默认多语言的全数据。
[
'name' => 'English',
'slug' => 'en',
'active' => false,
'default' => false,
],
nova_get_default_locale_slug()
返回默认多语言的缩写。
'en'
处理多语言删除
您可以使用 NovaLocaleManager::deleteCallback() 函数为多语言删除注册一个回调。您可以在 NovaServiceProvider 的 boot() 函数中注册此回调。
示例
// 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 }); }
配置
可以使用以下命令发布配置文件
php artisan vendor:publish --provider="Outl1ne\NovaLocaleManager\NovaLocaleManagerServiceProvider" --tag="config"
致谢
许可证
Nova Locale Manager 是开源软件,许可协议为MIT许可。