QuiiBz / next-international

Type-safe internationalization (i18n) for Next.js
https://next-international.vercel.app
MIT License
1.19k stars 52 forks source link

feat(v2): improved middleware #372

Closed QuiiBz closed 4 months ago

QuiiBz commented 4 months ago

Improved middleware

Previously, it was complex to use next-international's middleware with custom code or external middlewares (e.g. next-auth). The improved createI18nMiddleware function now accepts a full middleware-like signature ((request: NextRequest) => NextResponse) as the first argument, meaning you can very easily add custom logic:

Before

const I18nMiddleware = createI18nMiddleware({
  locales: ['en', 'fr'],
  defaultLocale: 'en'
})

export function middleware(request: NextRequest) {
  return I18nMiddleware(request)
}

After

export const middleware = createI18nMiddleware(request => {
  // Any custom logic using a raw `NextRequest` and returning a raw `NextResponse`
  return NextResponse.next()
}, {
  locales: ['en', 'fr'],
  defaultLocale: 'en'
});
vercel[bot] commented 4 months ago

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Updated (UTC)
next-international ✅ Ready (Inspect) Visit Preview Mar 3, 2024 11:41am