Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Filament Translatable Laravel Package

filamerce/filament-translatable

Filament Translatable brings multilingual editing to Filament resources, letting you manage translated fields across locales with locale switchers, per-language inputs, and smooth integration with translatable models. Simplify multilingual admin panels and keep translations organized.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Package: filamerce/filament-translatable — a Filament panel plugin providing translatable-field authoring (multi-locale form tabs/inputs) layered over a Laravel translation backend, most commonly spatie/laravel-translatable.

Release under review: v3.2.0 (minor). Contents are narrow: Filament v5 compatibility plus three Dependabot CI/tooling bumps (stefanzweifel/git-auto-commit-action 6→7, actions/checkout 5→6, dependabot/fetch-metadata 2.4.0→2.5.0). No new user-facing features, no declared deprecations, no migration guide published.

Architecture fit. The package sits at the presentation layer of a standard Laravel + Filament stack: it decorates form/table schema components for locale-aware editing and delegates persistence to a translation trait on the Eloquent model. That is a low-coupling position — it should not own translation storage, fallback logic, or routing. Fit is good for teams already standardising on Filament for internal/admin surfaces with 2+ content locales. It is a poor fit where translations are authored outside the panel (CMS/API-first), or where the data model uses a bespoke JSON/column-per-locale scheme rather than the trait-based contract.

Integration feasibility. Low-to-moderate effort, but the effort is dominated by the Filament major-version move, not by this package. Adopting v3.2.0 in isolation on an existing Filament v4 codebase is not a discrete change — it is coupled to a panel-wide v5 upgrade (schema/action namespace moves, asset and theming changes, plugin registration surface). On a greenfield or already-v5 project, adoption is a same-day task: composer require, register the plugin on the panel, add the trait and a $translatable array to the model, declare translatable fields in the resource schema.

Technical risk. Mixed. The dependency bumps are CI hygiene and carry effectively zero runtime risk. The real risk is that a minor version number is being used to signal a major platform dependency shift. Three unverified scenarios, in order of concern:

Scenario Impact if true Severity
v3.2.0 drops Filament v4 support to add v5 Minor bump masks a breaking change; existing v4 installs break on composer update High
v3.2.0 supports both v4 and v5 via widened constraints Clean, low risk, upgrade is opt-in Low
v3.2.0 targets v5 only and v3.1.x is the v4 LTS branch Manageable, but requires pinning discipline and a documented support window Medium

Secondary risks: single-maintainer project (filamerce) with a small contributor base; the release note body is generated boilerplate with no compatibility matrix, no minimum PHP/Laravel/Filament constraint statement, and no test evidence in the notes. Test coverage across the v4/v5 matrix is unknown. Locale-fallback and validation edge cases in translatable forms are historically where these plugins accumulate defects.

Key questions for the maintainer / vendor.

  1. Does v3.2.0 keep Filament v4 in the composer.json constraint range, or is v5 now the floor? What is the supported support window for v3.1.x?
  2. What are the exact php, laravel/framework, filament/filament, and translation-backend constraints for v3.2.0?
  3. Is there a published breaking-change or migration note for anyone moving v4→v5 through this package, and does the CI matrix run both majors?
  4. Which translation storage backends are exercised in tests — spatie/laravel-translatable only, or also custom trait implementations?
  5. Is there a stated release cadence or LTS policy, given the single-maintainer risk?

Integration Approach

Stack fit. Appropriate for Laravel 11/12 + Filament applications where the admin panel is the primary authoring surface and the content model already uses a translation trait. Confirm the storage strategy first — if the team uses column-per-locale or a separate translations table with custom resolution, evaluate whether the plugin's field components still render correctly, or whether a thin in-house wrapper is cheaper than adapting.

Migration path.

  • Greenfield / already on Filament v5: treat v3.2.0 as the default. Pin ^3.2, register the plugin in the panel provider, add the trait and $translatable, done.
  • On Filament v4: do not bump blindly. First resolve the question above; if v3.2.0 is v5-only, stay on the v3.1.x line with an explicit ~3.1.0 constraint and treat the panel upgrade as a separate, scheduled project.
  • Mid-upgrade: sequence the Filament v5 upgrade first with this plugin temporarily removed or on a branch pin, then reintroduce v3.2.0 once the panel renders. Attempting both simultaneously makes failure attribution ambiguous.

Compatibility. Verify the full matrix in CI before merging: PHP version, Laravel version, Filament major, translation backend, and at minimum two locales including one with a non-Latin script and a fallback chain. Confirm behaviour for nullable translations, partial locale coverage, and validation messages appearing per-locale — these are the components most likely to regress on a major Filament schema change.

Sequencing.

  1. Spike (0.5 day): install v3.2.0 on a throwaway branch, render one translatable resource, capture the composer constraints actually resolved.
  2. Decision gate: confirm v4 support status; choose pin-and-defer vs. upgrade-now.
  3. If upgrading: run the Filament v5 upgrade on a branch, reintroduce the plugin, diff rendered forms against production screenshots per locale.
  4. Backfill a regression test that asserts a translation round-trip (write locale A, fallback to B, assert rendered value) so future minor bumps are gated.
  5. Roll out behind a feature flag on one low-traffic resource before widening.

Operational Impact

Maintenance. Very low ongoing cost — the plugin is small and its surface area is field rendering. The real maintenance load sits with the Filament major-version treadmill, which is outside this project's control and will recur roughly annually. Budget a recurring line item for "panel + plugin upgrades" rather than treating this as a one-off.

Support. Vendor support is effectively community/OSS: GitHub issues, best-effort, single primary maintainer. There is no SLA. For a package touching only the editing UI, that is usually acceptable; it becomes unacceptable if the same plugin is also responsible for translation resolution at read time. Keep the read path owned in-house so an unmaintained release cannot silently break production content rendering.

Scaling. Negligible runtime footprint — form components add no query or caching layer of their own; scaling characteristics are those of the underlying translation storage. Watch instead for content scaling: locale count multiplies form size and validation surface, and panels with 6+ locales see noticeable admin UX and request-payload growth. If locale count is growing past ~4, plan for per-locale lazy tab loading rather than rendering all locales at once.

Failure modes.

  • Silent partial migration: bumping to v3.2.0 on a v4 panel resolves to an incompatible combination, and translatable fields render empty or throw at schema-build time — typically caught immediately on the resource page, so blast radius is admin-only, not customer-facing.
  • Dependency drift: an unpinned ^3 constraint pulls a future v3.3 that raises the Filament floor without warning. Mitigate with an explicit constraint and a locked composer.lock in CI.
  • Read-path regression under fallback: content that exists only in the fallback locale renders blank in the editor, leading authors to re-enter text and creating duplicate translations. This is the most damaging failure because it corrupts data quietly; guard it with the round-trip test above.
  • Upstream abandonment: no release for 12+ months while Filament moves again. Mitigation is a documented fork/vendoring path — the package is small enough that in-housing is a realistic fallback.

Ramp-up. Minimal for a Laravel-fluent engineer: half a day to ship a first translatable resource, and the mental model (trait + $translatable + schema field) transfers directly from the Filament docs. The non-obvious knowledge is organisational rather than technical — which locales are authoritative, what the fallback chain is, and who approves new locale additions. Document that in the repo README rather than leaving it in the plugin's behaviour.

Recommendation. Adopt v3.2.0 for Filament v5 projects; hold v4 projects on the v3.1.x line pending a clear answer on the Filament v4 support window, and pin explicitly either way. The release itself is low-risk; the version-numbering convention around the Filament major bump is the one item worth escalating before it reaches a lockfile.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle