Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Laravel Chained Translator

Laravel Chained Translator Laravel Package

statikbe/laravel-chained-translator

Chain multiple translation providers in Laravel to automatically fill missing translation keys. Configure a sequence of translators with fallbacks so untranslated strings are resolved across services and locales, keeping your language files complete with minimal manual effort.

View on GitHub
Deep Wiki
Context7

The Laravel Chained Translator can combine several translators that can override each others translations.

Frequently asked questions about Laravel Chained Translator
How do I install statikbe/laravel-chained-translator in a Laravel app?
Install it with Composer as statikbe/laravel-chained-translator; the package is described as working via Composer and Laravel auto-discovery. After installation, publish or review the package configuration and define the translator chain you want Laravel to use. Check the composer.json constraints for your target Laravel and PHP versions before upgrading, especially if you are on Laravel 10 or 11.
What does a chained translator actually do in Laravel?
It resolves translation keys through an ordered chain of translators. If a key is missing in the first source, the package falls back to the next configured source until the key is found. Because it integrates with Laravel's translator consumers, it works with __(), @lang, validation messages, and other standard translation calls without changing templates.
How do I configure multiple translation sources and fallback order?
You configure the chain through Laravel configuration, listing the translators in the order they should be consulted. Order matters because the first source that resolves a key wins, so file-based defaults usually come before database overrides or custom stores. Confirm the exact config keys and published config file for your installed version, then clear config caches after changes.
Which Laravel and PHP versions does 2.6.x support?
Version 2.6.0 adds Laravel 12 support and provides a Laravel 13 upgrade path, and the project now includes CI and Larastan static analysis. The exact composer.json constraints for laravel/framework, illuminate/*, and PHP should be checked before upgrading. Applications on older Laravel versions or older PHP runtimes may be excluded from 2.6.x.
Is 2.6.0 a breaking change from 2.5.x?
Version 2.6.0 is described as a major refactor of the translation manager, so it should be treated as potentially breaking until proven otherwise. The public Blade, validation, and notification surface may remain stable, but custom service-provider bindings, decorated loaders, direct translation.loader resolution, and subclassing need re-verification. The fact that a refactor of this size shipped as 2.6.0 rather than 3.0.0 is worth confirming with the maintainer's semver policy.
What should I regression-test after upgrading to 2.6.0?
Re-run your translation regression suite against 2.6.0 specifically, covering group merging, JSON keys using the * group, namespace and vendor groups, pluralization, has() versus get(), and fallback ordering. Also verify that database-backed sources fail open to file translations when the database is unavailable. Existing tests that passed on 2.5.x are not sufficient evidence for the refactored manager.
Does the package work with database-backed translations and file translations together?
Yes, that is a primary use case: file-based translations can provide defaults while a database-backed translator supplies overrides or missing strings. The chain order determines which source wins, so database overrides can mask corrected language files if they are consulted first. The database loader adds a runtime dependency for rendering translated UI, so test fail-open behavior carefully.
How does it behave with config caching and Octane or long-running workers?
Config caching, translation caches, and Octane-style long-running workers can retain stale loader state. After deploying configuration or translation changes, clear the relevant caches and verify that the chained translator resolves keys as expected. If you use database-backed translations, confirm the invalidation path still behaves correctly under config:cache and worker reuse.
What alternatives exist to chained translation packages in Laravel?
Alternatives include Laravel's native file-based translator, a custom TranslationLoader or service-provider binding, and database-backed translation packages that replace or augment the loader. The chained approach is useful when you want layered ownership, such as file defaults plus database overrides, without changing __() or @lang calls. Evaluate alternatives against your caching, rollback, and translation ownership requirements.
Who maintains statikbe/laravel-chained-translator and is it production-ready?
The canonical repository is statikbe/laravel-chained-translator, maintained by Statik, a known digital agency. The addition of CI and Larastan improves confidence, but the package has a smaller community footprint than major Laravel packages. For production, require a regression suite for resolution edge cases, a database fail-open strategy, cache invalidation checks, and a rollback plan before upgrading to 2.6.x.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console