Four languages, one quiet voice
How next-intl, hreflang tags and per-language game metadata keep the platform legible in English, Chinese, Japanese and Korean.
The interface speaks through /messages/<locale>.json; each game carries its own title, description, tags and SEO keywords in meta.ts. Routes are always locale-prefixed, every page emits hreflang alternates, and the sitemap lists all language versions. Language switching is a client-side replace — no full reload — and the middleware remembers your choice via cookie for the next visit.