Skip to content

The hreflang plan

Written before the locale routes exist, so the structure is a decision rather than an accident.

Routes
locale sub-paths under the existing slugs (/zh/components/combo-box), never parameters — a locale is a URL, not a query.
Reciprocal links
every locale page declares hreflang alternates for all siblings including itself, or declares none of them.
One canonical per locale
each locale canonicals to itself; the x-default points at en-US.
Content, not machine text
a locale route ships when a native hand has written the copy (the i18n prompt records the standard).

This page is the plan. Nothing here simulates a locale route that does not exist.