novius/laravel-nova-translatable
最新稳定版本:1.1.0
Composer 安装命令:
composer require novius/laravel-nova-translatable
包简介
A Laravel Nova package for translatable fields
README 文档
README
Introduction
This package allows you to manage Laravel Models which use Laravel Translatable in Laravel Nova.
Requirements
- Laravel Nova >= 4.0
- Laravel >= 10.0
- PHP >= 8.2
NOTE: These instructions are for Laravel >= 10.0 and PHP >= 8.2 If you are using prior version, please see the previous version's docs.
Installation
You can install the package via composer:
composer require novius/laravel-nova-translatable
Assets
Next we need to publish the package's assets. We do this by running the following command:
php artisan vendor:publish --provider="Novius\LaravelNovaTranslatable\LaravelNovaTranslatableServiceProvider" --tag="public"
Fields, Action, Filter, Card
- Add
Localefield on your Nova Resource. - Add
Translationsfield on your Nova Resource. Don't forget to add relationtranslationsin the eager loading of your resource. You can translate item from the list of flags displayed. - You can add the
LocaleFilterfilter on your Nova Resource. - You can add the
Localescard on your Nova Resource, if you've added theLocaleFilter.
In all cases, add an availableLocales on your Resource.
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'; }
Lang files
If you want to customize the lang files, you can publish them with:
php artisan vendor:publish --provider="Novius\LaravelNovaTranslatable\LaravelNovaTranslatableServiceProvider" --tag="lang"
Lint
Lint your code with Laravel Pint using:
composer run-script lint
Licence
This package is under GNU Affero General Public License v3 or (at your option) any later version.
统计信息
- 总下载量: 7.06k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: AGPL-3.0-or-later
- 更新时间: 2023-07-17