$ npm install @intlpullhq/next next-intl
$ npx @intlpullhq/cli init --framework nextjs
// app/[locale]/layout.tsx
import { NextIntlClientProvider } from 'next-intl';
export default async function LocaleLayout({
children,
params: { locale }
}) {
const messages = await getMessages(locale);
return (
<NextIntlClientProvider messages={messages}>
{children}
</NextIntlClientProvider>
);
}// app/[locale]/page.tsx
import { getTranslations } from 'next-intl/server';
export default async function Page() {
const t = await getTranslations('Home');
return (
<h1>{t('title')}</h1>
);
}'use client';
import { useTranslation } from '@/hooks/useTranslation';
export function Button() {
const { t } = useTranslation('Common');
return (
<button>{t('submit')}</button>
);
}Full support for Next.js 13+ App Router with Server Components.
First-class integration with next-intl for type-safe translations.
Automatic sync on Vercel deployments. Zero config required.
Get instant AI translations with React Server Component context.
Sub-path
/en/about, /fr/about
Domain
en.example.com, fr.example.com
Cookie
Detect from cookie
Header
Accept-Language header