If youโre building a multilingual frontend website, the best approach today is Next.js with Server-Side Rendering (SSR) ๐๐
Why SSR wins for i18n โ
With Next.js SSR, you can prepare translations on the server and pass only the needed dictionary into client components. The user receives just one locale pack, the one they actually need ๐ง โจ
Why client-side translations are a bad idea โ๐ฆ
If you translate purely on the client, you often end up shipping all locales to the browser. And if you have, say, 30 languagesโฆ ๐ฌ
Thatโs a huge bundle size increase, which means:
- slower first load ๐ข
- worse Core Web Vitals ๐
- more data usage ๐ถ
- lower conversion rates ๐ธ
The correct model ๐๏ธ
โ Server picks the locale (URL, headers, cookies, user settings)
โ Server loads only that translation file
โ Client components receive only what they need
โ Fast, scalable, SEO-friendly ๐ก๐
Bottom line ๐ฏ
Want a fast multilingual site?
Use Next.js + SSR + server-provided translations, not client-side translation loading โก๐
Why SSR wins for i18n โ
With Next.js SSR, you can prepare translations on the server and pass only the needed dictionary into client components. The user receives just one locale pack, the one they actually need ๐ง โจ
Why client-side translations are a bad idea โ๐ฆ
If you translate purely on the client, you often end up shipping all locales to the browser. And if you have, say, 30 languagesโฆ ๐ฌ
Thatโs a huge bundle size increase, which means:
- slower first load ๐ข
- worse Core Web Vitals ๐
- more data usage ๐ถ
- lower conversion rates ๐ธ
The correct model ๐๏ธ
โ Server picks the locale (URL, headers, cookies, user settings)
โ Server loads only that translation file
โ Client components receive only what they need
โ Fast, scalable, SEO-friendly ๐ก๐
Bottom line ๐ฏ
Want a fast multilingual site?
Use Next.js + SSR + server-provided translations, not client-side translation loading โก๐






