novius / laravel-nova-translatable
Laravel Nova的可翻译字段包
1.0.0
2024-07-10 12:50 UTC
Requires
- php: >=8.2
- illuminate/support: ^10.0|^11.0
- laravel/nova: ^4.0
- novius/laravel-translatable: ^1.0
Requires (Dev)
- laravel/pint: ^1.10
README
简介
此包允许您在Laravel Nova中管理使用Laravel Translatable的Laravel模型。
要求
- Laravel Nova >= 4.0
- Laravel >= 10.0
- PHP >= 8.2
注意:以下说明适用于Laravel >= 10.0和PHP >= 8.2。如果您使用的是早期版本,请参阅旧版本的文档。
安装
您可以通过composer安装此包
composer require novius/laravel-nova-translatable
资产
接下来,我们需要发布包的资产。我们可以通过运行以下命令来完成此操作
php artisan vendor:publish --provider="Novius\LaravelNovaTranslatable\LaravelNovaTranslatableServiceProvider" --tag="public"
字段,操作,过滤器,卡片
- 在您的Nova资源中添加
Locale
字段。 - 在您的Nova资源中添加
Translations
字段。不要忘记在您的资源预加载中添加关系translations
。您可以从显示的旗帜列表中翻译项目。 - 您可以在您的Nova资源中添加
LocaleFilter
过滤器。 - 如果您已添加
LocaleFilter
,则可以在您的Nova资源中添加Locales
卡片。
在任何情况下,请确保在您的资源中添加availableLocales
。
use Laravel\Nova\Resource; use Novius\LaravelNovaTranslatable\Nova\Actions\Translate; class Post extends Resource { // If your model uses the SoftDelete trait // public static $with = ['translationsWithDeleted']; // Otherwise public static $with = ['translations']; public function availableLocales(): array { return ['fr' => 'Français', 'en' => 'English']; } public function fields(NovaRequest $request): array { return [ Locale::make(), Translations::make(), ]; } // Optional, if you want to have a bar to switch locale of the items displayed on the index, more accessible than the filters // work with the filter LocaleFilter public function cards(NovaRequest $request): array { return [ new Locales(), ]; } public function filters(NovaRequest $request): array { return [ new LocaleFilter(), ]; } // Optional, if you want to implement custom translation on your model public function translate(): void { $model = $this->model(); $model->attribute_to_translate = 'Translation'; }
语言文件
如果您想自定义语言文件,可以使用以下命令发布它们
php artisan vendor:publish --provider="Novius\LaravelNovaTranslatable\LaravelNovaTranslatableServiceProvider" --tag="lang"
代码检查
使用Laravel Pint进行代码检查
composer run-script lint
许可证
此包受GNU Affero General Public License v3或(根据您的选择)任何后续版本的许可。