langauge translator in next js
First install i18 next js npm packae
and add middleware file
import { NextResponse } from "next/server";
const PUBLIC_FILE = /\.(.*)$/;
export function middleware(request) {
const shouldHandleLocale =
!PUBLIC_FILE.test(request.nextUrl.pathname) &&
!request.nextUrl.pathname.includes("/api/") &&
!request.nextUrl.pathname.includes("/ar") &&
!request.nextUrl.pathname.includes("/en") &&
!request.nextUrl.pathname.includes("/fr") &&
!request.nextUrl.pathname.includes("/sp") &&
!request.nextUrl.pathname.includes("/pt") &&
request.nextUrl.locale === "default";
if (shouldHandleLocale) {
const url = request.nextUrl.clone();
url.pathname = `/en${request.nextUrl.pathname}`;
return NextResponse.redirect(url);
}
return undefined;
}
update next i18 next config.js
const path = require("path");
module.exports = {
i18n: {
locales: ["default", "en", "ar", "sp", "fr", "pt", "jp", "ch", "in"],
defaultLocale: "default",
localeDetection: false,
localePath: path.resolve("./public/locales"),
},
};
कृपया टिप्पणी करने के लिए साइन इन करें करें.
टिप्पणियां
0 टिप्पणियां