30 lines
770 B
React
30 lines
770 B
React
|
|
import { NextIntlClientProvider } from "next-intl";
|
||
|
|
import { getMessages } from "next-intl/server";
|
||
|
|
import { notFound } from "next/navigation";
|
||
|
|
import { routing } from "src/i18n/routing";
|
||
|
|
import "../../styles/globals.css";
|
||
|
|
|
||
|
|
export default async function LocaleLayout({
|
||
|
|
children,
|
||
|
|
params: { locale }
|
||
|
|
}) {
|
||
|
|
// Ensure that the incoming `locale` is valid
|
||
|
|
if (!routing.locales.includes(locale)) {
|
||
|
|
notFound();
|
||
|
|
}
|
||
|
|
|
||
|
|
// Providing all messages to the client
|
||
|
|
// side is the easiest way to get started
|
||
|
|
const messages = await getMessages();
|
||
|
|
console.log("messager",messages)
|
||
|
|
|
||
|
|
return (
|
||
|
|
<html lang={locale}>
|
||
|
|
<body>
|
||
|
|
<NextIntlClientProvider messages={messages}>
|
||
|
|
{children}
|
||
|
|
</NextIntlClientProvider>
|
||
|
|
</body>
|
||
|
|
</html>
|
||
|
|
);
|
||
|
|
}
|