funddy/jstranslations-bundle
A Symfony bundle that exposes application translations to JavaScript, letting front-end code reuse the same translation catalog as server-side templates. It helps keep client-side and server-side messages in sync with minimal setup and configuration.
Translator contract.Translator interface to a newer Symfony version — one signature change, no feature work, no modernization of the approach. For a capability this central to UX, single-commit maintenance is indistinguishable from no maintenance for planning purposes: there is no security-patch path and no community to absorb breakage.lang/*.json publishing consumed through Vite, shared Inertia props, or __() exposed to the bundle. These are maintained and already align with framework upgrade paths.Adopt only in one narrow case: you are maintaining a legacy Symfony application that already depends on this bundle, and removing it is riskier this quarter than keeping it. Even then, treat it as technical debt with a scheduled migration — not a foundation. New caveat from v2.0.3: because a patch release moved the Translator interface forward, verify it doesn't break against your pinned Symfony version before upgrading. If you're on an older Symfony line, this "minor" bump may behave as a breaking change for you.
Look elsewhere — or build in-house — in essentially every other situation:
Intl behavior on the client.Translator interface but does not modernize the delivery mechanism, packaging, or supported Symfony/PHP matrix.For executives (one paragraph): We evaluated a package that would let our JavaScript reuse the server's translation catalog. The underlying problem is real and worth solving — fragmented copy across server and client hurts quality and slows every localization launch. The package itself is not viable: it sat dormant for roughly a decade, has effectively no user base, and is built for a different framework than ours. A single small patch has since appeared (v2.0.3) that bumps an interface to a newer Symfony version — no features, no modernization — so the maintenance and security liability is unchanged. Recommendation: do not adopt; fund a short internal spike (~1–2 days) to wire our existing translation files into the front-end build, keeping one source of truth.
For engineering (the ask): Do not add this dependency. It's a Symfony bundle with ~8 stars and 0 dependents. The one recent signal, v2.0.3, is a patch-level change to the Translator interface — which also tells us version constraints won't protect us. Instead, spike a native approach: export lang/ files at build time through Vite (or share them via Inertia props), expose a small t() helper, and keep a single source of truth. Success criteria for the spike: locale switch without a reload, pluralized strings correct on both sides, per-locale bundles (no shipping all locales), and no duplicated copy. If the spike underdelivers, re-evaluate against Symfony UX Translator (if the stack changes) or a maintained JS i18n runtime — not against this package. If someone cites v2.0.3 as evidence of a revival, point at the diff size, the SemVer mismatch, and the absence of dependents to catch regressions.
Bottom line: the requirement is legitimate; this package is not the answer. Score of 0.07 with zero dependents stands. A single interface-bump patch after a decade of dormancy is not a maintenance story — it's a reminder that nobody is downstream to notice if it breaks. Spend the effort on first-party primitives instead.
How can I help you explore Laravel packages today?