Each page names its own language and points at its counterpart
The site runs in English and German, with the English tree served under /en/. Every page carries a self-referencing canonical and a reciprocal hreflang pair, so search engines are told plainly which URL serves which language and the two versions stop competing for the same query. Both locales share one routing pattern, which is what keeps the trees consistent as content changes.