feat(i18n): add zh/en locale switching
This commit is contained in:
+25
-18
@@ -1,5 +1,7 @@
|
||||
import type { Metadata } from "next"
|
||||
import { Inter, Inter_Tight } from "next/font/google"
|
||||
import { NextIntlClientProvider } from "next-intl"
|
||||
import { getLocale, getMessages } from "next-intl/server"
|
||||
import { ThemeProvider } from "next-themes"
|
||||
import Header from "@/components/Header"
|
||||
import Footer from "@/components/Footer"
|
||||
@@ -40,28 +42,33 @@ export const metadata: Metadata = {
|
||||
},
|
||||
}
|
||||
|
||||
export default function RootLayout({
|
||||
export default async function RootLayout({
|
||||
children,
|
||||
}: Readonly<{
|
||||
children: React.ReactNode
|
||||
}>) {
|
||||
const locale = await getLocale()
|
||||
const messages = await getMessages()
|
||||
|
||||
return (
|
||||
<html
|
||||
lang="zh-CN"
|
||||
className={`w-mod-js w-mod-ix3 ${inter.variable} ${interTight.variable}`}
|
||||
suppressHydrationWarning
|
||||
>
|
||||
<body className={inter.className}>
|
||||
<ThemeProvider attribute="class" defaultTheme="light" enableSystem>
|
||||
<div className="page-wrapper">
|
||||
<Header />
|
||||
<PageTransition>{children}</PageTransition>
|
||||
<Footer />
|
||||
</div>
|
||||
<RevealObserver />
|
||||
<GsapAnimations />
|
||||
</ThemeProvider>
|
||||
</body>
|
||||
</html>
|
||||
<NextIntlClientProvider locale={locale} messages={messages}>
|
||||
<html
|
||||
lang={locale}
|
||||
className={`w-mod-js w-mod-ix3 ${inter.variable} ${interTight.variable}`}
|
||||
suppressHydrationWarning
|
||||
>
|
||||
<body className={inter.className}>
|
||||
<ThemeProvider attribute="class" defaultTheme="light" enableSystem>
|
||||
<div className="page-wrapper">
|
||||
<Header />
|
||||
<PageTransition>{children}</PageTransition>
|
||||
<Footer />
|
||||
</div>
|
||||
<RevealObserver />
|
||||
<GsapAnimations />
|
||||
</ThemeProvider>
|
||||
</body>
|
||||
</html>
|
||||
</NextIntlClientProvider>
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user