From 346cfa7ab3c443bebf7fae793f5ea0f77bf427ed Mon Sep 17 00:00:00 2001 From: liuyonghe0111 <1763195287@qq.com> Date: Thu, 6 Nov 2025 19:35:44 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9C=8D=E5=8A=A1=E5=99=A8=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=E6=94=AF=E6=8C=81=E5=88=87=E6=8D=A2=E8=AF=AD=E8=A8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../character/[id]/(detail)/components/BasicInfo.tsx | 6 ++++-- src/components/ui/format/index.tsx | 11 ----------- src/layouts/Providers/IntlProvider.tsx | 3 +++ 3 files changed, 7 insertions(+), 13 deletions(-) delete mode 100644 src/components/ui/format/index.tsx diff --git a/src/app/(main)/character/[id]/(detail)/components/BasicInfo.tsx b/src/app/(main)/character/[id]/(detail)/components/BasicInfo.tsx index febdf95..1d7cba4 100644 --- a/src/app/(main)/character/[id]/(detail)/components/BasicInfo.tsx +++ b/src/app/(main)/character/[id]/(detail)/components/BasicInfo.tsx @@ -4,7 +4,7 @@ import { RightArrowIcon } from '@/assets/chatacter'; import IconFont from '@/components/ui/iconFont'; import ChatButton from './ChatButton'; import Tags from '@/components/ui/Tags'; -import FormatText from '@/components/ui/format'; +import { useTranslations } from 'next-intl'; type CharacterBasicInfoProps = { characterId: string; @@ -15,6 +15,8 @@ export default function CharacterBasicInfo({ characterId, characterDetail, }: CharacterBasicInfoProps) { + const t = useTranslations('common'); + if (!characterDetail) { return null; } @@ -115,7 +117,7 @@ export default function CharacterBasicInfo({ width={18} height={20} /> - + {t('desc')}

{characterDetail.description} diff --git a/src/components/ui/format/index.tsx b/src/components/ui/format/index.tsx deleted file mode 100644 index 76a95f4..0000000 --- a/src/components/ui/format/index.tsx +++ /dev/null @@ -1,11 +0,0 @@ -import { getTranslations } from 'next-intl/server'; - -type FormatTextProps = { - text: string; - values?: any; -}; - -export default async function FormatText({ text, values }: FormatTextProps) { - const t = await getTranslations(); - return t(text, values); -} diff --git a/src/layouts/Providers/IntlProvider.tsx b/src/layouts/Providers/IntlProvider.tsx index 28287b3..3c104fb 100644 --- a/src/layouts/Providers/IntlProvider.tsx +++ b/src/layouts/Providers/IntlProvider.tsx @@ -1,6 +1,7 @@ 'use client'; import { NextIntlClientProvider } from 'next-intl'; +import { useRouter } from 'next/navigation'; import { createContext, useContext, @@ -49,6 +50,7 @@ function getLocaleFromCookie(): Locale { export function IntlProvider({ children }: IntlProviderProps) { const [locale, setLocaleState] = useState('en'); const [messages, setMessages] = useState>(); + const router = useRouter(); const loadLocale = useMemoizedFn(async (locale: Locale) => { // 动态加载, 提升首屏加载速度 @@ -68,6 +70,7 @@ export function IntlProvider({ children }: IntlProviderProps) { setLocaleState(newLocale); setLocaleToCookie(newLocale); loadLocale(newLocale); + router.refresh(); }); if (!messages) return null;