refactor(i18n): remove translation provider facade

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
david_bai
2026-03-27 14:21:53 +08:00
parent b1b663e1ce
commit 2012412bc1
2 changed files with 3 additions and 39 deletions
+3 -6
View File
@@ -4,7 +4,6 @@ import { getMessages, setRequestLocale } from "next-intl/server";
import { notFound } from "next/navigation";
import Header from "@/components/web/Header";
import Footer from "@/components/web/Footer";
import { TranslationProvider } from "@/components/providers/TranslationProvider";
import { ThemeProvider } from "@/components/web/theme-provider";
import { routing } from "@/i18n/routing";
import JsonLd from "@/components/seo/JsonLd";
@@ -57,11 +56,9 @@ export default async function RootLayout({
storageKey="theme-preference"
>
<NextIntlClientProvider locale={lang} messages={messages}>
<TranslationProvider>
<Header />
<div className="flex-1">{children}</div>
<Footer />
</TranslationProvider>
<Header />
<div className="flex-1">{children}</div>
<Footer />
</NextIntlClientProvider>
</ThemeProvider>
</body>
@@ -1,33 +0,0 @@
"use client";
import { useLocale as useNextIntlLocale, useMessages as useNextIntlMessages } from "next-intl";
import type { Messages } from "@/types/messages";
import type { Locale } from "@/constants/i18n-config";
type TranslationContextValue = {
messages: Messages;
lang: string;
};
interface TranslationProviderProps {
children: React.ReactNode;
}
export function TranslationProvider({children}: TranslationProviderProps) {
return <>{children}</>;
}
export function useMessages() {
return useNextIntlMessages() as Messages;
}
export function useLang() {
return useNextIntlLocale() as Locale;
}
export function useI18n() {
return {
messages: useMessages(),
lang: useLang(),
} satisfies TranslationContextValue;
}