Bilingual content, end to end
EN/FR collections, a language switcher that keeps your place, and a parity gate.
1.2.0
The site was already bilingual in its routes. Now the content is too, and a check stops a half-translated page from shipping.
Added
src/content/{en,fr}/collections for blog, legal and services, keyed by a sharedslugso the two locales stay in step.- A language switcher that swaps the locale segment and keeps you on the same page instead of dropping you at the home page.
check:content, which fails the build when a slug exists in one locale and not the other.
Changed
- Dates render through a single
FormattedDatecomponent, soenandfrget their own month names without a per-page format string.
Fixed
- The sitemap listed only the default-locale routes.