初步集成next-intl支持多语言

This commit is contained in:
xintaofei
2026-03-07 10:08:05 +08:00
parent efd87dbd9c
commit 934f689b08
20 changed files with 1186 additions and 89 deletions

View File

@@ -1,7 +1,10 @@
import type { Metadata } from "next"
import "./globals.css"
import { JetBrains_Mono } from "next/font/google"
import { NextIntlClientProvider } from "next-intl"
import { AppI18nProvider } from "@/components/i18n-provider"
import { ThemeProvider } from "@/components/theme-provider"
import enMessages from "@/i18n/messages/en.json"
const jetbrainsMono = JetBrains_Mono({
subsets: ["latin"],
@@ -21,14 +24,18 @@ export default function RootLayout({
return (
<html lang="en" className={jetbrainsMono.variable} suppressHydrationWarning>
<body>
<ThemeProvider
attribute="class"
defaultTheme="system"
enableSystem
disableTransitionOnChange
>
{children}
</ThemeProvider>
<NextIntlClientProvider locale="en" messages={enMessages}>
<AppI18nProvider>
<ThemeProvider
attribute="class"
defaultTheme="system"
enableSystem
disableTransitionOnChange
>
{children}
</ThemeProvider>
</AppI18nProvider>
</NextIntlClientProvider>
</body>
</html>
)

View File

@@ -1,12 +1,17 @@
"use client"
import { Suspense } from "react"
import { useTranslations } from "next-intl"
import { AcpAgentSettings } from "@/components/settings/acp-agent-settings"
export default function SettingsAgentsPage() {
const t = useTranslations("SettingsPages")
return (
<Suspense
fallback={
<div className="h-full flex items-center justify-center text-sm text-muted-foreground">
Agent ...
{t("agentsLoading")}
</div>
}
>