Locale routing and translation in the App Router.
01
01
Understand the problem
nextjsi18ninternationalizationrouting
02
02
Attempt it yourself
Sketch your approach before reading the solution — that's what interviews test.
Stuck? AI Nudge Available
Get a conceptual hint to guide your logic without spoiling the final implementation.
03
03
Study the solution
The solution is waiting
Give it an honest attempt first — then compare your thinking with the full walkthrough.
04
04
Read the code
Locale segment + static params
// app/[lang]/layout.tsx
export function generateStaticParams() {
return [{ lang: 'en' }, { lang: 'fr' }, { lang: 'de' }]; // prerender each locale
}
export default async function Layout({ children, params }) {
const { lang } = await params;
return <html lang={lang}>{children}</html>;
}
// middleware redirects '/' → '/en' based on Accept-Language.05
05
Join the discussion
Discussion (0)
Sign in to join the discussion.
No responses yet. Be the first to share what you think.