diff --git a/ru/recipes/translatable-field.md b/ru/recipes/translatable-field.md new file mode 100644 index 00000000..649c9c9d --- /dev/null +++ b/ru/recipes/translatable-field.md @@ -0,0 +1,55 @@ +# Поля для нескольких языков + +Простой способ сделать любое поле поддерживающее несколько языков, без дополнительных пакетов + +Подходит для Spatie laravel-translatable или если вы как они, храните все переводу в json поле, +такого вида: `{"ru": "Текст", "en": "Text"}` + +```php +getConfig()->getLocales()); + + return Json::make($label, $column) + ->object() + ->fields( + $locales->map( + fn (string $locale) => (clone $field) + ->setLabel(\Str::upper($locale)) + ->setColumn($locale) + ) + ->all(), + ) + ->removeClass('space-elements') + ->class('flex gap-6') + ->changeFill(function (Model $data) use ($column) { + return $data->getRawOriginal($column); + }); + } +} +``` + +Использовать так + +```php +Translatable::make( + trans('admin.resource.title'), + 'title', + Text::make(), +), +```