liip/formtranslationchoice-bundle
LiipFormTranslationChoiceBundle adds a Symfony form choice type that translates option labels through the Symfony Translator, letting select, radio, and checkbox choices display localized text without manual label mapping.
Architecture fit
liip/formtranslationchoice-bundle is a Symfony 2 bundle: it ships a Bundle subclass, DI extension/service definitions, and depends on the full-stack Symfony Form and Validator components as wired by AppKernel. Laravel has no bundle concept, no kernel-registered service container extension, and does not use the Symfony Form component — it uses Illuminate\Validation and Blade-based form markup.Illuminate\Translation / __() / trans() helpers). There is no adapter seam here; the package's value proposition is entirely expressed in APIs Laravel never invokes.__('domain.key'), Rule::in(), FormRequest::attributes(), and enum-backed selects.Integration feasibility
symfony/form, symfony/validator, and symfony/framework-bundle-adjacent wiring into a Laravel app, then building a bridge from Laravel's request/validation lifecycle into Symfony's Form event model. That is net-new infrastructure to obtain a feature Laravel already expresses in one line.OptionsResolverInterface, setDefaultOptions(), AbstractType::getName(), and other signatures removed in Symfony 3/4. Modern PHP 8 compatibility is unlikely without a fork.Technical risk
symfony/* constraints (HttpFoundation, Console, Process, VarDumper), creating Composer resolution deadlocks or forcing pinned, unpatched component versions.Key questions
Stack fit
Migration path
Enum or config array of choice values, with labels resolved via __('forms.status.'.$value).FormRequest with Rule::in(array_keys($choices)) and attributes() returning translated field labels.<x-select> component that loops the same source of truth so labels and validation can never drift.app/Support/ behind an interface — do not vendor the bundle.Compatibility
symfony/form or symfony/validator into the root composer.json; Laravel's constrained symfony/* set makes this the most likely immediate breakage.Sequencing
Maintenance
Support
Scaling
Failure modes
symfony/* versions — likely, blocking.forms.status.active) into the UI; the bundle's own behavior here is unverified and untested.Ramp-up
How can I help you explore Laravel packages today?