backtik-ch/filament-translatable
Filament plugin for managing translatable Eloquent fields in admin panels. Adds locale-aware form inputs and tabs so you can edit multilingual content alongside your resources, making translation workflows simpler for Filament apps.
TranslatableInput (modal or inline) and TranslatableEntry (expandable or modal) turn "add more locales" from a schema-and-UI project into a configuration change. This is the deciding input for whether to ship locale #3–#8 next quarter or defer.spatie/laravel-translatable plus a custom infolist renderer — typically days of work per Filament major upgrade. This package collapses that to a plugin registration and a per-panel config file.Generate all translations in a single API call via laravel/ai is the commercially interesting line item: it makes machine-translated draft content viable for CMS-style admin panels, and it lives behind laravel/ai so provider/model choice stays a config decision rather than a code decision.modal vs inline for the form field, and inline (expandable) vs modal for the infolist entry, is a real product decision about whether translators work field-by-field in context or locale-by-locale in a focused pane. Having both means the decision is reversible without a rewrite.->lineClamp() on TranslatableEntry is small but it's the difference between a usable multi-locale review table and an unreadable one; it supports decisions about showing translation status in list views.Adopt when most of these hold:
spatie/laravel-translatable-style translatable attributes and laravel/ai for machine translation.Look elsewhere or wait when:
0.1.0 — the first public release. No upgrade path, no deprecation history, no evidence of production adoption. Treat it as an evaluation, not a commitment, for anything revenue-critical. Expect breaking changes before 1.0.laravel/ai indirection helps (swap provider, or disable), but confirm the toggle story before committing.To executives: This is a small, low-cost dependency that removes a recurring engineering tax on every new market we open. Adding a language becomes a config change in the admin panel rather than a build project, and AI-generated first drafts cut the cost and latency of getting a new locale to "reviewable" from days to minutes. The tradeoff is maturity: it's a 0.1.0 release, so we should pilot it on one panel, not standardize on it company-wide.
To engineering: Filament form field and infolist entry for translatable attributes, with modal or inline presentation modes, per-panel plugin configuration (languages, source locale, AI provider/model), and a single-call AI translation path through laravel/ai. Supports Filament 4 and 5. What it replaces is our bespoke tabbed-repeater pattern that we rewrite on every Filament major. What it does not give us is a translation workflow, storage abstraction, or test/coverage guarantees we can point at — so scope the pilot to one panel, pin the version, and budget for an abstraction layer in case we need to swap it out before 1.0.
How can I help you explore Laravel packages today?