Download the PHP package mountainclans/livewire-translatable without Composer
On this page you can find all versions of the php package mountainclans/livewire-translatable. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download mountainclans/livewire-translatable
More information about mountainclans/livewire-translatable
Files in mountainclans/livewire-translatable
Package livewire-translatable
Short Description This is my package livewire-translatable
License MIT
Homepage https://github.com/mountainclans/livewire-translatable
Informations about the package livewire-translatable
Livewire Translatable
UI компонент для интуитивной работы с переводимыми полями. Опирается на функциональность, предоставляемую пакетом Spatie Translatable.
Установка
Установите пакет при помощи Composer:
Обратите внимание, что для корректной стилизации в вашем проекте должен использоваться TailwindCSS.
Добавьте в tailwind.config.js в секцию content:
Опубликуйте файл конфигурации и задайте в нём нужные языки, на которые переводится ваш сайт:
Опционально, вы можете опубликовать views для их переопределения:
Использование
Оберните translatable-поля компонентом <x-ui.translatable>:
Каждому из переводимых полей необходимо добавить атрибут translatable.
Поддерживаемые компоненты переводимых полей
<x-ui.input>из пакета Livewire UI<x-ui.tiptap>из пакета Livewire Tiptap
ContentLanguages
Пакет предоставляет сервис-класс ContentLanguages, имеющий два статических метода:
ContentLanguages::all()- позволяет получить массив всех языков, на которые переводится приложение в форматеключ=>название языка.ContentLanguages::default()- возвращает ключ первого языка, заданного в конфигурации.
Трейты
Трейт FilledTranslatableFields
Трейт позволяет задать пустые стартовые значения для всех языков, на которые переводится сайт, для только что инициализированного поля. Полезен при использовании с редактором, который требует строку при инициализации значения.
Использование:
Поле модели (в данном случае, content) обязательно должно быть указано в списке $translatable атрибутов модели.
Трейт RequireTranslations
Предоставляет Livewire-компоненту метод requireTranslations, позволяющий убедиться при валидации поля, что у него есть переводы полей.
Метод принимает следующие параметры:
- string
$fieldName- поле компонента, которое валидируем; - bool
$isOptional- можно ли оставить его пустым; - bool
$requireDefaultLanguage- требовать ли заполнения хотя бы ключа по умолчанию (получаемого изContentLanguages::default()); - int
$minLength- минимальная длина поля; - int
$maxLength- максимальная длина поля.
Трейт LogTranslatableAttributes
Позволяет корректно логировать изменения в переводимых полях модели с использованием пакета Spatie Activitylog.
Использование трейта опционально. Данный пакет не требует использования пакета Spatie Activitylog.
Изменения
Получите больше информации об изменениях в пакете, прочитав CHANGELOG.
Авторы
- Vladimir Bajenov
- All Contributors
Лицензия
The MIT License (MIT). Please see License File for more information.
All versions of livewire-translatable with dependencies
spatie/laravel-package-tools Version ^1.16
illuminate/contracts Version ^10.0||^11.0||^12.0||^13.0
livewire/livewire Version ^3.5
spatie/laravel-translatable Version ^6.9
ext-dom Version *
ext-libxml Version *