Multilingual Next.js apps without i18n rewrites
No next-intl, no i18n config in next.config, no locale-prefixed routing unless you want it. Add one Script component and Lingvit translates everything — SSR pages, SSG pages, App Router Server Components, and all client-side navigation.
What gets translated
Setup guide
- 1
Add the Script component to your root layout
In app/layout.tsx (App Router) or pages/_app.tsx (Pages Router), import Next.js Script and add it with strategy="afterInteractive":
import Script from "next/script"; // Inside your layout's <body>: <Script src="https://cdn.lingvit.com/widget.bundle.js?v=1" strategy="afterInteractive" /> - 2
The widget handles hydration automatically
afterInteractive loads after Next.js hydration completes. The MutationObserver then watches for App Router navigations, Suspense boundary resolutions, and any state-driven DOM updates.
- 3
Connect in the Lingvit dashboard
Create a project at app.lingvit.com, add your Next.js app URL, and select target languages. Stored translations can be reused after the first generation; delivery latency still depends on the visitor network and page.
Need the full platform overview? React & Next.js guide →