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

Translatable Laravel Package

fsi/translatable

FSI Translatable adds simple multilingual support to Laravel Eloquent models. Store translated attributes, switch locales, use fallbacks, and retrieve localized values with minimal configuration and clean, familiar model syntax.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Localization roadmap scoping. Choosing a translation storage strategy (side-table per locale vs. JSON columns on the parent table) locks in query performance, admin editing UX, and export/import tooling for every future locale. This package commits the product to a side-table model, which is a multi-year architectural decision.
  • Build vs. buy for multilingual content. A translatable trait is a deceptively simple feature that quietly grows into locale fallbacks, per-locale slugs for SEO, translation status workflow, and bulk content operations. Deciding now whether to own that complexity or take a dependency shapes headcount and sprint planning for the next several quarters.
  • Make-or-break for international launches. Any roadmap item gated on shipping a second or third language — regional go-to-market, compliance requirements on language availability, or pricing localization — depends on this layer behaving predictably under load and in admin workflows.
  • Admin/CMS product surface. Translation editing (side-by-side locale forms, translation completeness indicators, "publish in EN, draft in DE") is a visible product feature. The underlying data model determines whether those screens are a sprint or a quarter of work.
  • Use cases this enables if adopted: marketplace listings with per-locale copy, editorial CMS content, SEO-focused content sites with translated slugs and metadata, and multi-region SaaS onboarding.

When to Consider This Package

Consider it when:

  • You are already operating inside the FSI Open package ecosystem (their admin/CMS stack) — the integration cost and conventions are already sunk, and this is the "native" choice rather than a foreign one.
  • Your content model requires per-locale rows — distinct slugs, metadata, or fields per language that must be indexed and queried independently — rather than a single JSON blob.
  • You need model-level translation behavior in the ORM (fallbacks, scoped queries, eager loading) rather than an external translation service or a manual join table.
  • Your team is small and you want a trait-based, Eloquent-idiomatic implementation instead of maintaining bespoke migration + repository code.
  • You are comfortable pinning to a specific release and auditing upgrades yourself.

Look elsewhere when:

  • Adoption risk matters. Zero stars and zero dependents is a real signal: no community pressure-testing, no Stack Overflow corpus, no third-party tutorials. If the maintaining team moves on, you inherit the code. For a consumer-facing product with a multi-year horizon, weigh this heavily against spatie/laravel-translatable or astrotomic/laravel-translatable, which have far larger user bases and more eyes on edge cases.
  • You need JSON-column simplicity. If your locale count is small, content is mostly read-only, and you do not need per-locale indexing, a single JSON column plus a well-tested package is less schema overhead.
  • You require commercial support, SLAs, or a security disclosure process. A zero-adoption dependency typically has no formal channel for either.
  • Your team has no appetite for reading package source. With no community documentation, the source is the documentation.

Practical pre-adoption checklist for a PM: confirm who maintains it and their commitment horizon; require the team to read the trait and migration code before committing; verify behavior on your target Laravel/PHP versions; and write an internal exit plan (how would we migrate off?) before it touches the main content model.

How to Pitch It (Stakeholders)

For executives — one line: This is a small, focused library that decides how our product stores content in multiple languages; it is a real architectural commitment with a notably low adoption footprint, so it is a "cheap now, possibly expensive later" bet.

For executives — the trade-off in plain terms: Building translation support ourselves is a quarter of engineering for the first version plus ongoing cost. Adopting a library is days. The catch: this particular library is essentially unproven in the wider market — no public users, no community. That means low integration cost but meaningful long-term risk. We should only take it if we are already inside its native ecosystem, or if we treat it as a deliberately reversible decision with a documented migration path.

For engineering — the ask: Review the trait and migration implementation before we commit; confirm Laravel/PHP compatibility against our stack; estimate the cost of swapping to spatie/laravel-translatable or astrotomic/laravel-translatable later. If the swap cost is small, we accept the risk and move; if it is large, we either pick a mainstream package now or scope the build.

Recommendation: Do not adopt as a default. Adopt conditionally — ecosystem fit, or a strong specific need for side-table translations — with an explicit fallback plan and a review checkpoint after the first locale ships.

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.
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log