terranet/translatable
A Laravel package for adding multilingual attributes to Eloquent models. Store translations per locale, retrieve values with automatic fallback, and manage translated fields without duplicating your schema—useful for building translatable applications quickly.
translations table with a polymorphic relation and per-locale accessors; treat the code itself as a liability.spatie/laravel-translatable-style JSON columns) is simpler to query but worse for "which fields are still untranslated in fr?" reporting. This is a real product decision about editor UX and QA, not just a technical one.Consider it only under narrow conditions:
Look elsewhere — decisively — when any of the following is true:
spatie/laravel-translatable (JSON columns, huge adoption), astrotomic/laravel-translatable (normalized tables with fallback locale support), or novius/laravel-translatable depending on your schema preference. Pair with mcamara/laravel-localization for route/locale handling.The low opportunity score (19.92) is consistent with this read: the problem is real and recurring, but this package is not the vehicle — the localization space is crowded with maintained, well-adopted alternatives.
One-liner: A small, MIT-licensed Laravel package that adds per-locale translations to existing Eloquent models via a normalized translations table — useful as a design reference, not as a dependency.
To executives: Localization will come up on the roadmap, and this package is the kind of thing an engineer might propose to make it cheap. It genuinely does describe the cheapest architecture — attaching translations to models you already have instead of forking the site per language. But the package itself hasn't shipped since March 2019, has two GitHub stars and no projects depending on it. Adopting it means we own it forever. Recommendation: spend a short spike borrowing the pattern and standardizing on a maintained alternative; the cost of the spike is days, the cost of an abandoned dependency is unbounded.
To engineering: Treat it as documentation, not a library. The trait-plus-translations-table approach is sound and worth copying; the code is Laravel 5.x-era, untested against PHP 8, and has no downstream users to catch regressions. If you must take the dependency for a legacy Admin Architect app, pin the version and budget for a fork. Otherwise use spatie/laravel-translatable if JSON columns fit your query patterns, or astrotomic/laravel-translatable if you need per-field rows and locale fallbacks — both are actively maintained with real adoption.
How can I help you explore Laravel packages today?