- Is mdm/translator-checker-bundle a Laravel package?
- No. It is a Symfony bundle that audits translation catalogues, not a Laravel package. The technical evaluation rates direct Laravel use as poor because it relies on Symfony bundle registration, dependency injection, configuration trees, and likely Symfony Console and Translation components. Laravel teams should treat it only as a reference implementation or extraction source.
- Can I install mdm/translator-checker-bundle in a Laravel 10 or 11 application?
- Direct installation is likely blocked by legacy Symfony and PHP constraints, and Composer dependency conflicts are probable. The last release was 2015-01-16, with PHP 5-era compatibility assumptions and likely incompatibility with Laravel 9, 10, or 11 on PHP 8.x. Avoid adding it as a production dependency in a modern Laravel app. Run any spike in an isolated repository first.
- What does mdm/translator-checker-bundle check in translation files?
- It detects keys used in templates and source code but missing from one or more locale files. It also flags orphaned translations that no longer appear in templates and compares locales for consistency and untranslated entries. Scan paths, file formats, and ignore rules are configurable, and console output is intended to be CI-friendly. The evaluation notes that placeholder consistency, pluralization handling, and exact parser behavior still need confirmation.
- Does it understand Laravel Blade templates, the __() helper, trans(), and @lang?
- No. The bundle is built around Symfony-era scanning and translation conventions, not Laravel's localization APIs or Blade syntax. Supporting Laravel would require new extraction code for the __() helper, trans(), @lang, Blade templates, and dynamic key patterns. That is why the recommended path is an internal Artisan command or a fork with Laravel-native parsing.
- Does mdm/translator-checker-bundle support Laravel PHP array and JSON translation files?
- Not out of the box. Laravel's localization conventions differ from Symfony's, including PHP array files, JSON translation files, and key naming patterns. The evaluation says file discovery, parsing, and reporting would need to be rewritten for Laravel. Do not assume the Symfony bundle can read Laravel lang directories correctly.
- How configurable is mdm/translator-checker-bundle for scan paths, file formats, and ignore rules?
- The bundle is described as configurable for scan paths, file formats, and ignore rules, with console output ready for CI pipelines. However, those options are Symfony bundle configuration, not Laravel config files or Artisan command options. For Laravel, you would need equivalent configuration in a config file or command flags, plus path scoping for Blade templates and lang directories. Validate that ignore rules prevent false positives before enforcing CI.
- Is mdm/translator-checker-bundle maintained and safe for production?
- It appears abandoned: the last release was 2015-01-16, with 14 stars and 0 dependents. There is no active upstream support or release cadence, and test coverage and security maintenance are unknown. The technical risk is high, so it should not be a production or CI dependency unless your team owns a fork. If forked, budget for bug fixes, parser updates, PHP and Laravel compatibility, and security review.
- Can I use it in CI to fail builds when translations are missing?
- The original console output is described as ready for CI pipelines, but that does not make it a safe Laravel CI gate. False positives could block builds, dynamic translation keys may be missed, and unsupported Blade, JSON, or PHP formats could cause silent skips. For Laravel, build a translations:check Artisan command with baseline or suppression support. Measure runtime and memory before enforcing it in CI.
- How hard is it to port the translation checker logic to Laravel?
- Integration feasibility is low as a production dependency but medium as a reference implementation or extraction source. The MIT license permits forking and porting, and the viable path is to extract only the checker logic into an internal Laravel package. Time-box a spike in an isolated repository, replace Symfony bootstrapping with Laravel-native file discovery, parsing, and reporting, then add CI integration and ownership. Reassess build versus buy against maintained Laravel-native alternatives before committing.
- What are the Laravel-native alternatives to this Symfony translation checker?
- The provided evaluation does not name specific Laravel-native packages. It recommends reassessing build-versus-buy against maintained Laravel-native alternatives before committing to a fork. If no maintained option fits, the fallback is an internal Composer package with a translations:check Artisan command, baseline support, and CI documentation. Avoid forcing the dormant Symfony bundle into Laravel.