optimistdigital/nova-locale-manager

Laravel Nova 管理多语言工具。

3.0.1 2022-07-18 06:18 UTC

This package is auto-updated.

Last update: 2024-09-06 08:18:49 UTC


README

Latest Version on Packagist Total Downloads

Laravel Nova包允许您管理简单多语言。

特性

  • 创建多语言(名称和缩写)
  • 管理多语言状态(活动、默认)

要求

  • php: >=8.0
  • laravel/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() 函数为多语言删除注册一个回调。您可以在 NovaServiceProviderboot() 函数中注册此回调。

示例

// 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许可