Modeling Bilingual Content for a Personal Site
A language switcher is not enough; routes, content identity, and missing translations all need explicit rules.
Two translations should share a stable content identity rather than relying on coincidentally similar paths.
Identity before paths
A stable identity lets language switching, sitemaps, and canonical metadata come from the content model. Files can move and navigation order can change without invalidating public URLs.
Do not mix languages silently
If a translation is missing, the build should report it or the page should honestly expose the missing state. Silently falling back to another language makes a switch look successful when it was not.
This is sample writing and will later be replaced by a real implementation note.