JavaScript is required for the interactive demo. You can also open it in its own tab to follow the fragment requests in your browser's Network panel.
Message splitting
Load the view. Load its messages.
Your first screen does not need every translation in the application. Try this small workspace and watch the active-language fragments follow the modules you open.
2.0 preview. Try the upcoming release through the repository examples. Registry latest still supplies 1.x. Read the release notes.
01 — Live demo
Real compiled fragments
Start small. Add a view.
Overview is part of the entry module. Projects and Billing are ordinary dynamic imports. Open either view, return to Overview, then change language or restart the document.
02 — What changes
The useful difference
Defer translations with the code that uses them.
On entry
The adapter supplies the first view's compiled messages before it runs. Unopened views keep their translations deferred.
On navigation
An ordinary lazy module brings its active-locale fragment. Return to a loaded view and the document reuses the module.
In your application
Author macros beside the UI. The adapter wires catalog dependencies; the application owns its usual code-splitting boundaries.
This is a browser-delivery demonstration of the workspace's Vite adapter, not an SSR, server-memory, or timing benchmark. Eagerly imported application code still brings its messages on entry. Fragment and import-map overhead matters, especially in small apps. The Next.js adapter follows the same graph-delivery contract; its host behavior has separate integration checks.