A catalog only grows, and every page was paying for all of it. Text that lives on one page, a changelog, a blog archive, a long FAQ, was downloaded by every visitor on every page. This version lets you name those groups and keep them in the build: the pages that use them still publish translated, because the pre-rendered HTML already carries the text, and the browser stops fetching it. Finding that also uncovered a real defect underneath it, fixed here and relevant to anyone using render: after its first pass, bindDom would paint a raw key over correct pre-rendered text whenever a key was missing. Not breaking.
Highlights
- Text that only one page needs stops travelling to all of them. Name the group in your config and the browser no longer downloads it. The pages that use it still come out translated, because that text is already in the HTML.
- Pre-rendered text is never destroyed any more. If a message is missing, Verbaly now keeps the text that is already on the page instead of replacing it with the message's internal name. Before, that could happen a moment after a page loaded.
- Measured on our own docs site: the file every page loads went from 46.3 KB to 33.5 KB compressed, and the Spanish and Portuguese trees dropped about 14 KB each. Nothing was lost on screen.
- Nothing changes if you do not switch it on. It is a new option. A project that does not write it behaves exactly as before.
- The build tells you when it looks wrong, naming a group that matches nothing in your catalog, or one your code reads directly.
For the full details of this release, see the repository changelog.