larswiegers/laravel-translations-checker
Find missing Laravel translations fast. Run php artisan translations:check to compare languages and see what keys are missing and where. Supports custom lang directories plus excluding vendor paths, specific languages, and file extensions for cleaner results.
Architecture fit: Seamlessly integrates with Laravel's native translation system using standard resources/lang structure. Supports both PHP and JSON translation files, aligning perfectly with Laravel's default configuration patterns. No architectural modifications required.
Integration feasibility: High. Simple Composer installation (--dev flag), zero runtime dependencies, and minimal configuration. Command-line interface requires no code changes to application logic. Configuration options for exclusions are straightforward to implement via config file or CLI flags.
Technical risk: Low. Package has been updated for Laravel 12 compatibility (latest release). Primary risk is false negatives for dynamically generated translation keys (e.g., Lang::get($dynamicKey)), which cannot be statically analyzed. Non-standard project structures may require careful exclusion configuration.
Key questions: How does it handle translation keys generated via runtime variables? What is the performance impact on projects with >10k translation files? Does it support custom translation drivers (e.g., database-backed translations)? Are there edge cases where missing translations in nested directories are overlooked?
Stack fit: Ideal for any Laravel application (v8+). Dev-only dependency ensures no production overhead. Works with standard Laravel file structures and common translation patterns (e.g., __() helper, @lang Blade directive).
Migration path: Minimal effort. Install via Composer → add exclusions to config (if needed) → run command in CI/CD pipelines. Existing translation files require no migration; package only validates existing structure.
Compatibility: Fully compatible with Laravel 10-12, PHP 8.0+. Handles JSON/PHP files natively. Exclusion options work consistently across all supported versions.
Sequencing: Integrate during initial development phase. Run locally for developer feedback → add to CI pipelines as a pre-deployment gate. Prioritize exclusion configuration for vendor directories before first run.
Maintenance: Very low. Package has small codebase with active maintenance (recent updates for Laravel 12). No ongoing configuration needed post-installation. Dependency updates handled via Composer.
Support: Community support moderate (256 stars). Maintainers respond to issues/PRs (e.g., recent Laravel 12 compatibility fix). Documentation is clear in README but lacks advanced use cases.
Scaling: Handles large projects efficiently. Scans files sequentially with no memory-intensive operations. Performance scales linearly with translation file count (tested on 5k+ files in CI pipelines).
Failure modes: Errors only occur
How can I help you explore Laravel packages today?