Release v0.37.0
The mode nobody had tested. 0.36.0 named the two ways a site can carry its language, and writing the page that explains them turned up the reason one of them had never really worked: an instance born in a locale whose catalog is lazy never asked for that catalog. The locale was right, t() returned the fallback, and nothing said a word. It is one line, and the documented "Locale bootstrap" snippet had been showing it since the helpers existed. No API is added or removed.
Highlights
- A saved language now survives a refresh on a single-address site. If your app keeps one address per page and loads languages on demand, a returning visitor got the source language back every time. Verbaly knew which language they wanted and simply never fetched it.
- Nothing changes for a site with the language in the address, which is the setup the last two versions were about. This was only ever broken where the language comes from storage or the browser.
- A warning that used to give impossible advice now gives the right one. When your page says one language and Verbaly is in another, it told you to read the language from the address. On a site that keeps one address there is nothing to read, so it now names both cures.
- React, Vue and Svelte were each checked against a language that arrives after the page is already on screen, which used to be a rare path and is now the normal one.
For the full details of this release, see the repository changelog.