kenepa/translation-manager

在 Filament 中管理您的应用程序的翻译字符串。

4.0.11 2024-06-07 12:57 UTC

This package is auto-updated.

Last update: 2024-09-07 13:28:25 UTC


README

filament-translation-manager-art

Latest Version on Packagist Total Downloads

介绍我们的 Filament 翻译管理工具,它允许您在 Filament 管理仪表板中轻松管理、预览和同步语言文件。告别依赖开发者编辑语言文件,今天就开始简化您的本地化工作流程。

filament-translation-manager-art

安装

您可以通过 composer 安装此包

通过 Composer 安装。

composer require kenepa/translation-manager

您可以使用以下命令发布配置文件

php artisan vendor:publish --tag=translation-manager-config

此包使用 spatie/laravel-translation-loader,使用以下命令发布其迁移文件:

php artisan vendor:publish --provider="Spatie\TranslationLoader\TranslationServiceProvider" --tag="migrations"

您必须将迁移文件更新为以下内容:

Schema::create('language_lines', function (Blueprint $table) {
    $table->bigIncrements('id');
    $table->string('group')->index();
    $table->string('key')->index();
    $table->json('text')->default(new \Illuminate\Database\Query\Expression('(JSON_ARRAY())'));
    $table->timestamps();
});

最后,运行迁移。

需要自定义主题

为了正确编译包视图,我们首先需要 创建自定义 Filament 主题,然后将以下路径添加到其内容中

// Located at: /resources/css/filament/admin/tailwind.config.js

import preset from '../../../../vendor/filament/filament/tailwind.config.preset';

export default {
    presets: [preset],
    content: [
        // other content...
        './vendor/kenepa/translation-manager/resources/**/*.blade.php',
    ],
};

使用面板注册插件

use Kenepa\TranslationManager\TranslationManagerPlugin;
use Filament\Panel;
 
class AdminPanelProvider extends PanelProvider
{
    public function panel(Panel $panel): Panel
    {
        return $panel
            // ...
            ->plugin(TranslationManagerPlugin::make());
    }
}

授权

默认情况下,翻译管理器不能被任何人使用。您需要在您的 AppServiceProvider 的 boot 方法中定义以下门控:

Gate::define('use-translation-manager', function (?User $user) {
    // Your authorization logic
    return $user !== null && $user->hasRole('admin');
});

配置

available_locales

确定您的应用程序支持哪些区域设置。例如

'available_locales' => [
    ['code' => 'en', 'name' => 'English', 'flag' => 'gb'],
    ['code' => 'nl', 'name' => 'Nederlands', 'flag' => 'nl'],
    ['code' => 'de', 'name' => 'Deutsch', 'flag' => 'de']
]

language_switcher

启用或禁用语言切换功能。这允许用户切换语言 - 如果您有自己的实现,请禁用。
Language Switcher

dont_register_navigation_on_panel_ids

禁用在某些面板 ID 上注册翻译管理器导航。以下将禁用访客面板的翻译导航,但仍允许访客面板用户更改语言。

    'dont_register_navigation_on_panel_ids' => [
        'guest'
    ],

使用方法

安装后,可以通过 Filament 侧边栏菜单访问翻译管理器。只需单击“翻译管理器”链接即可访问翻译管理屏幕。

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件