ibrows/sonata-translation-bundle
A Symfony bundle that integrates translation management into Sonata Admin, giving editors an admin interface to view and edit application translations directly. It streamlines multilingual content workflows and reduces manual edits to translation files.
Architecture fit — poor for a Laravel stack; this is not a Laravel package. ibrows/sonata-translation-bundle is a Symfony bundle that glues two Symfony-ecosystem libraries together: sonata-project/admin-bundle (an admin CRUD generator) and lexik/translation-bundle (a DB-backed translation editor). It registers itself through Symfony's Bundle/DependencyInjection mechanism and hooks into Sonata's Admin base classes and Twig templates. Laravel has no bundle kernel, no Sonata Admin, and no Lexik service graph, so there is no realistic path to loading this package in a Laravel application without standing up a parallel Symfony runtime — which is an architecture change, not an integration.
Integration feasibility — effectively zero for Laravel, low-friction for an existing Symfony/Sonata app. If the target application is already on Sonata Admin and Lexik TranslationBundle, this package is a thin additive layer (roughly a set of Admin classes plus templates) and can be evaluated in under a day. If the target is Laravel, the honest answer is: do not attempt to bridge it. The functional gap it fills — editing translations from an admin UI — is already served in Laravel by spatie/laravel-translation-loader, laravel-lang/*, and Filament/Nova translation-manager plugins.
Technical risk — high on several independent axes.
NOASSERTION means GitHub could not identify a recognized license. Legal review is a hard gate before adoption or redistribution; treat as "all rights reserved" until proven otherwise.Key questions to resolve before any decision:
LICENSE/composer.json, and does it permit our distribution model?Stack fit. For a Laravel codebase, the correct integration decision is do not integrate — substitute the capability, not the package. Recommended Laravel-native equivalents for "edit translations in an admin UI": spatie/laravel-translation-loader (DB-backed translations) combined with a Filament or Nova resource, or a small custom CRUD screen over a translations table. This delivers the same functional outcome with dependencies the team already operates, and it sidesteps the license question entirely.
For a Symfony/Sonata codebase, the fit is direct: the bundle is designed for exactly that stack and slots in as an additional Sonata admin section over Lexik's storage.
Migration path.
config/bundles.php, wire routes, and expose the admin entries. Because the package is thin, the preferred long-term move is in-source it: fork, vendor the Admin classes into src/, pin the fork by commit SHA, and keep the option to upstream later. This converts an unmaintained third-party dependency into code you control at low cost.Compatibility validation. Do not trust the metadata. Run composer require --dry-run (or composer why-not) against the target application's lockfile to surface constraint collisions against PHP, Symfony, Sonata Admin, and Lexik. Record the resolved versions — they are the real support matrix, since there is no upstream to ask.
Sequencing.
NOASSERTION resolution.Maintenance — the dominant cost. With one star and no dependents, expect no upstream fixes. Every Symfony/Sonata upgrade becomes our problem, and Sonata Admin's BC-break cadence means recurring work on a package nobody else is exercising. Budget an owner: a named maintainer for the fork or the in-sourced copy, plus a standing line item at each platform upgrade.
Support. No vendor, no SLA, no documentation beyond a README. Defect triage is entirely internal. This is acceptable for an internal tooling convenience; unacceptable where translation editing is on a business-critical path.
Scaling. The bottleneck is not request volume but catalog write contention and cache coherency. Translation edits must invalidate Lexik's catalog cache; if the invalidation step is missed, edits appear saved but do not take effect — a silent, hard-to-diagnose failure. Concurrent editors on the same key have no conflict resolution, and there is no approval or audit workflow. For multi-locale, multi-team operations this argues for staging-only editing or a purpose-built tool with draft/publish semantics.
Failure modes to plan for:
composer install failure from Sonata/Lexik version conflicts during a platform upgrade.Ramp-up. For a Symfony/Sonata team already fluent in the admin bundle, the incremental learning curve is trivial — hours to a day. For a Laravel team, the ramp-up is measured in weeks and delivers nothing reusable; the equivalent Laravel-native build is a day or two of work.
Bottom line. Score 0.105 with 0 dependents reflects an unmaintained, single-vendor Symfony integration layer that is a poor architectural fit for a Laravel stack and a legal unknown due to NOASSERTION. Recommendation: reject for Laravel and close the capability gap with existing Laravel-native tooling; conditionally adopt only inside an existing Sonata/Lexik application, and even then fork-and-pin or in-source rather than taking a live dependency.
How can I help you explore Laravel packages today?