kenepa / translation-manager
在 Filament 中管理您的应用程序的翻译字符串。
4.0.11
2024-06-07 12:57 UTC
Requires
- php: ^8.1
- filament/filament: ^3.0
- filament/notifications: ^3.0.0
- spatie/laravel-package-tools: ^1.15.0
- spatie/laravel-translation-loader: ^2.7
- stijnvanouplines/blade-country-flags: ^1.0
Requires (Dev)
- tightenco/duster: ^2.0
README

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

安装
您可以通过 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
启用或禁用语言切换功能。这允许用户切换语言 - 如果您有自己的实现,请禁用。
dont_register_navigation_on_panel_ids
禁用在某些面板 ID 上注册翻译管理器导航。以下将禁用访客面板的翻译导航,但仍允许访客面板用户更改语言。
'dont_register_navigation_on_panel_ids' => [ 'guest' ],
使用方法
安装后,可以通过 Filament 侧边栏菜单访问翻译管理器。只需单击“翻译管理器”链接即可访问翻译管理屏幕。
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件。