- Is modera/translations-bundle a Laravel package?
- No. It is a Symfony bundle in the Modera\TranslationsBundle namespace that registers through bundles.php and the Symfony DI container. It ships no Laravel service provider, facade, or publishable config, so Laravel will not auto-discover it. Treat any Laravel packaging claim as inaccurate.
- Can I install modera/translations-bundle in a Laravel application?
- There is no supported path to install it in Laravel. Installing it would pull Symfony- and Doctrine-oriented code and emit Symfony-format resources such as XLIFF or YAML under Resources/translations, which Laravel's FileLoader ignores. Do not shim the Symfony kernel or register the bundle alongside Laravel's container; the coupling is permanent and unmaintainable.
- What does modera/translations-bundle actually do?
- It provides a structured translation management layer for Symfony and Modera applications, centralizing message catalogs across locales, organizing language resources, and exposing a bundle-style resolution API. It is a workflow and management tool, not a runtime replacement for Laravel's __() or trans() helpers.
- Which Laravel and PHP versions does modera/translations-bundle support?
- None are officially supported for Laravel. The last release was 2016-06-10, there is no PHP 8 guarantee, and there is no evidence of Symfony 4 or later compatibility, so it likely will not boot on a current kernel. If your target is Laravel 10 or 11 on PHP 8.2, this package is out before you start.
- Does it replace Laravel's __() and trans() helpers or lang files?
- No. It does not plug into Laravel's FileLoader chain or write to lang/{locale}/*.php or lang/{locale}.json; it emits Symfony-format resources that Laravel silently ignores. It also does not provide a translation resolver, so your Blade @lang and __() calls remain unchanged.
- How does string extraction work, and does it support Blade templates?
- The extractor targets Symfony conventions such as trans, transChoice, and Twig filters, not Laravel's @lang, {{ __('...') }}, or trans_choice. It will not reliably match Blade templates or Laravel route and view code. For Laravel you would need a custom extractor that scans resources/views, app, and routes for Laravel translation calls.
- Is modera/translations-bundle maintained or safe for production?
- No. It is abandoned: last release 2016-06-10, 1 star, 0 dependents, package score 0.035, and no security patch cadence. The repository is a READ-ONLY subtree split of a larger Modera monorepo, so no issues, PRs, or CI live there. Any fix becomes a permanent fork with no upstream merge path.
- What are the alternatives to modera/translations-bundle for Laravel?
- For straightforward localization, use Laravel's native lang files with __(), @lang, and trans_choice. If non-engineers must edit strings, adopt a TMS such as Crowdin, Lokalise, Phrase, Weblate, or translation.io, or build a small internal pipeline with translations:extract and translations:sync against a translations table containing locale, group, key, value, and status. Do not adopt this bundle's code; adopt the extract, persist, translate, and dump-back pattern.
- Can I use a database as the source of truth for translations?
- The bundle's persistence layer is Doctrine-oriented, and Laravel ships Eloquent with no Doctrine dependency, so pulling Doctrine in solely to run a translation CLI is a large, unjustified dependency surface. A database-backed model only pays off if non-technical translators edit strings; otherwise native lang files are simpler. In Laravel, build a translations table and your own editing UI rather than porting this Symfony bundle.
- How do I migrate from modera/translations-bundle to Laravel?
- Do not migrate the bundle; migrate the output. If you have legacy Symfony or Modera XLIFF or YAML under Resources/translations, write a one-time converter to Laravel PHP arrays or JSON, keep the old files on a branch until the new pipeline is green, and then remove the bundle from the loop. If you are greenfield on Laravel, build a small internal capability for extract, sync, edit, and dump instead of porting this package.