Laravel Nova 多语言字段包教程
项目介绍
nova-translatable
是一个 Laravel Nova 包,允许您将任何输入字段转换为多语言字段。这个包通过提供一个 Translatable
类,使得在 Nova 资源中添加多语言支持变得非常简单。
项目快速启动
安装
首先,通过 Composer 安装 nova-translatable
包:
composer require outl1ne/nova-translatable
配置
发布配置文件(可选,但有助于设置默认语言环境):
php artisan vendor:publish --tag="nova-translatable-config"
使用
在 Nova 资源中,您可以对任何字段调用 ->translatable()
方法:
// 任何 Nova 字段
Text::make('Name')
->rules('required', 'min:2')
->translatable();
// 任何第三方输入字段
Multiselect::make('Football teams')
->rules('required')
->translatable();
// 可选地传递自定义语言环境
Number::make('Population')
->translatable([
'en' => 'English',
'et' => 'Estonian'
]);
验证
可以定义特定语言环境的验证规则。为此,在字段上添加 ->rulesFor()
方法,并在 Nova 资源中使用 HandlesTranslatable
特性:
->rulesFor('en', ['required', 'min:2'])
->rulesFor('et', ['required', 'min:3']);
应用案例和最佳实践
多语言内容管理系统
在多语言内容管理系统中,nova-translatable
包非常有用。例如,您可以为文章的标题和内容添加多语言支持,使得内容管理更加灵活和国际化。
国际化电子商务平台
在国际化电子商务平台中,产品的描述、名称和标签通常需要支持多种语言。使用 nova-translatable
包,可以轻松实现这些字段的多语言支持,提升用户体验。
典型生态项目
Laravel Nova
nova-translatable
是基于 Laravel Nova 构建的,Laravel Nova 是一个优雅的 Laravel 管理面板,提供了丰富的功能和扩展性。
Spatie 多语言包
Spatie 提供了一系列多语言相关的 Laravel 包,这些包与 nova-translatable
结合使用,可以进一步增强应用的多语言处理能力。
通过以上步骤和案例,您可以快速上手并充分利用 nova-translatable
包,为您的 Laravel Nova 应用添加强大的多语言支持功能。