Download the PHP package darvis/livewire-inline-translation without Composer
On this page you can find all versions of the php package darvis/livewire-inline-translation. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download darvis/livewire-inline-translation
More information about darvis/livewire-inline-translation
Files in darvis/livewire-inline-translation
Package livewire-inline-translation
Short Description Edit translations inline on the page: an authorised user clicks the text, a modal opens and the new value is stored in the database, for Livewire and Laravel.
License MIT
Homepage https://arviddejong.github.io/livewire-inline-translation/
Informations about the package livewire-inline-translation
darvis/livewire-inline-translation
A Laravel package with one Livewire component that shows a translation and lets an authorised user edit it on the page itself: they click the text, a modal opens, and the new value is stored in the database for the current locale. Everyone else gets the text without the underline, the click handler or the modal. A client who wants the wording changed can do it themselves, without a CMS behind it.
Features
- Click to edit, on the page, in a modal
- Stored in the
translationstable per locale, with a fallback to your language files, which are never written to - One guard decides who may edit; it is checked when the text is drawn, when the modal opens and when a value is saved
- The translation key is locked, so the browser cannot point the component at another key
- Optional HTML mode with a small bold, italic and bullet list editor
- No CSS framework needed: inline styles, and Alpine from Livewire for the modal
- A Laravel Boost guideline and skill for AI assistants
Requirements
PHP 8.2 or higher, Laravel 11, 12 or 13, Livewire 3 or 4, and a database.
Installation
The translations table comes with the migration; there is nothing to publish for it.
Put a container for the modal in your layout, once, before the closing body tag:
Who may edit
Whoever is logged in on the guard from INLINE_TRANSLATION_GUARD. The default is web, so out of the box every logged in user may edit every translation. When customers can log in too, point the package at a guard for editors:
The stored value is rendered as HTML without sanitising, so whoever may edit can put any markup on the page, including script. Give that guard only to people you trust that far. Configuration shows how to require a permission and how to strip tags.
Quick start
resources/views/welcome.blade.php:
website.welcome is looked up in the database first and falls back to __('website.welcome'), so the page reads the same as before until someone edits it. An editor sees a dashed underline, clicks the text, changes it in the modal and saves. :html="true" gives them the small editor instead of a text field.
Documentation
arviddejong.github.io/livewire-inline-translation
- Installation: every step, and a check that it works
- Usage: a complete example, the HTML editor, several locales
- Configuration: the two settings and narrowing who may edit
- How it works: the lookup order, the authorisation check and the modal
- API reference: the component, the model, the config and the table
- Testing: test an editable translation in your own application
- Troubleshooting: from the symptom to the fix
- FAQ: short answers
Laravel Boost
The package ships Laravel Boost resources: a guideline
and a livewire-inline-translation-development skill. Run php artisan boost:install, or
php artisan boost:update --discover in a project that already uses Boost.
Testing
Changelog
See CHANGELOG.md.
Support the package
If darvis/livewire-inline-translation saves you time, buy me a beer 🍺: sponsor me on GitHub.
Contributing
See CONTRIBUTING.md.
Security
Report a vulnerability privately, as described in SECURITY.md, not in a public issue.
License
MIT. See LICENSE.
All versions of livewire-inline-translation with dependencies
illuminate/support Version ^11.0|^12.0|^13.0
livewire/livewire Version ^3.0|^4.0