waavi/translation
Waavi Translation is a Laravel package that stores and manages translations in the database instead of flat files. It adds caching, file import/export, a translator service, and fallback support so you can edit language strings at runtime without redeploying.
resources/lang/*.php files and into the database, with a cache layer in front. That lets content ops, marketing, or regional GMs change copy in production without a release cycle — directly relevant if you're shipping multi-market or multi-tenant.translation:load / export back to lang files) that would otherwise be the first two sprints of an internal "Translation Manager" epic. Evaluate it as a reference architecture for that epic even if you don't adopt the dependency./es/, /pt-br/ prefixes) that usually gets made by accident. This package forces it into the open.Consider it when:
lang files so you don't lose the developer workflow while giving editors a database-backed surface.Look elsewhere when:
spatie/laravel-translation-loader covers the DB-driver-plus-cache pattern with active Laravel support and is the safer default.To executives: This is a small, low-cost enabler for going multilingual. It moves user-facing copy from code files into the database so marketing and regional teams can update messages in minutes instead of waiting for the next release — which is typically the difference between launching in a new market this quarter or next. The trade-off is that translations become live data, so we inherit backup and rollback obligations.
To engineering: It's a Laravel 5-era package that swaps the file translation loader for a DB-backed one with a cache repository, plus artisan commands to sync existing lang files in and out. The pattern is sound and worth copying; the dependency itself is unmaintained, so the recommendation is to adopt the design, not the package — either pin it with a fork plan or implement the same loader/cache contract on a maintained base like spatie/laravel-translation-loader. Budget roughly a sprint for the DB driver plus an editor UI, and treat cache invalidation and per-tenant scoping as the two risk areas to spike first.
Recommendation: pursue the capability, not the package. Use waavi/translation as the specification for the loader/cache/import-export contract, and validate the build-vs-buy call against your actual locale count and vendor tooling before committing.
How can I help you explore Laravel packages today?