okaspar/nova-translatable
Composer 安装命令:
composer require okaspar/nova-translatable
包简介
A Laravel Nova field for spatie/laravel-translatable forked from mrmonat/nova-translatable to enable RTL support
README 文档
README
Adds the ability to show and edit translated fields created with spatie/laravel-translatable package.
It will show up in the detail view like this:
And in the edit view like this:
Installation and usage
You can require this package using composer:
composer require okaspar/nova-translatable
You can add the field follows:
use okaspar\Translatable\Translatable;
Translatable::make('Description'),
Make sure, that you have your Eloquent model setup correct:
- First, you need to add the
Spatie\Translatable\HasTranslations-trait. - Next, you should create a public property
$translatablewhich holds an array with all the names of attributes you wish to make translatable. - Finally, you should make sure that all translatable attributes are set to the
text-datatype in your database. If your database supportsjson-columns, use that.
Here's an example of a prepared model:
use Illuminate\Database\Eloquent\Model; use Spatie\Translatable\HasTranslations; class NewsItem extends Model { use HasTranslations; public $translatable = ['name']; }
Defining Locales
Locales can be defined via config file config/translatable.php (config file can be created via spatie/laravel-translatable package) by adding a locales array:
// config/translatable.php
return [
...
'locales' => [
'en' => 'English',
'de' => 'German',
'fr' => 'French',
],
];
Alternatively you can "override" the config locales with the locales(...) method:
Translatable::make('Description')->locales([
'en' => 'English',
'de' => 'German',
]),
Single Line Option
By default the input field on the edit view is a textarea. If you want to change it to a single line input field you can add the singleLine() option:
Translatable::make('Description')->locales([...])->singleLine(),
Trix Editor
You can use the trix editor for your translated fields by using the trix() option:
Translatable::make('Description')->trix(),
Index View
By default the locale used when displaying the field on the index view is determined by app()->getLocale(). To override this you can use the indexLocale($locale) option:
Translatable::make('Description')->indexLocale('de'),
统计信息
- 总下载量: 8
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-12-19