BlogSearch in blogLast PostsThe History of JavaScript i18n: From 2011 to 2026Explore the evolution of frontend internationalization from 2011 to 2026. Discover the release dates, architectural problems, and key innovations across React, Vue, Next.js, Angular, Svelte, and Solid.Aymeric PINEAUIs next-intl Outdated in 2026?next-intl became the go-to choice for Next.js App Router. But beneath the surface, it still carries runtime bundle bloat and manual namespace overhead.Aymeric PINEAUIs i18next Outdated in 2026?i18next powers millions of websites, but its 2011 runtime architecture is showing its age. A look at bundle bloat, tree-shaking limits, and stalled innovation.Aymeric PINEAUIs vue-i18n Outdated in 2026?vue-i18n has been the standard for Vue and Nuxt apps for a decade. But in our benchmarks, it proved to be the heaviest i18n runtime on the web. Here is why.Aymeric PINEAURelated PostsAngular i18n - why the official one is build-timeHow @angular/localize compiles one bundle per locale, why that blocks in-app language switching, and when ngx-translate, Transloco or Intlayer fit better.Aymeric PINEAUThe History of JavaScript i18n: From 2011 to 2026Explore the evolution of frontend internationalization from 2011 to 2026. Discover the release dates, architectural problems, and key innovations across React, Vue, Next.js, Angular, Svelte, and Solid.Aymeric PINEAUHow to automate your react-i18next JSON translations using IntlayerAutomate your JSON translations with Intlayer and react-i18next for enhanced internationalization in React applications.Aymeric PINEAUFormatting dates and numbers by locale with IntlYou probably do not need a formatting library. How Intl handles dates, numbers, currency and lists per locale, the caching cost, and the timezone bug that only breaks in production.Aymeric PINEAUSolid i18n: why translations freeze on locale changeWhy Solid components capture translations as constants, how @solid-primitives/i18n works, lazy catalogs, SolidStart locale routing, and what Intlayer changes.Aymeric PINEAUICU Message Format: Syntax, Plurals and SelectA practical reference to ICU MessageFormat - argument interpolation, plural and select branching, CLDR plural categories per language, and the usual mistakes.Aymeric PINEAUPer-Component vs. Centralized i18n: A New Approach with IntlayerA deep dive into internationalization strategies in React, comparing centralized, per-key, and per-component approaches, and introducing Intlayer.Aymeric PINEAUHow to automate your react-intl JSON translations using IntlayerAutomate your JSON translations with Intlayer and react-intl for enhanced internationalization in React applications.Aymeric PINEAUSvelteKit i18n: routing, SSR, and shared stateSvelteKit ships no i18n. How to wire locale routing with an optional param or the reroute hook, and why a module-level locale store leaks between SSR requests.Aymeric PINEAUIs next-intl Outdated in 2026?next-intl became the go-to choice for Next.js App Router. But beneath the surface, it still carries runtime bundle bloat and manual namespace overhead.Aymeric PINEAUSEO and i18n in Next.jsLearn how to set up multilingual SEO in your Next.js app using next-intl, next-i18next, and Intlayer.Aymeric PINEAUAutomating translations in CI/CD without shipping bad copyThree places to automate i18n, pre-push, pull request and runtime. How to gate a build on coverage, auto-fill safely, and avoid the CI loop that commits forever.Aymeric PINEAU