'use client'; import { useState, useEffect } from 'react'; import ReactMarkdown from 'react-markdown'; import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter'; import { tomorrow } from 'react-syntax-highlighter/dist/esm/styles/prism'; import { ContentItem } from '@/lib/content'; import { Header } from '@/components/Header'; import { Footer } from '@/components/Footer'; import Link from 'next/link'; interface DocDetailProps { doc: ContentItem | null; relatedDocs: ContentItem[]; currentLang: string; } export default function DocDetail({ doc, relatedDocs, currentLang }: DocDetailProps) { const [lang, setLang] = useState(currentLang); // 你原有的语言检测逻辑也可以放在这里 useEffect(() => { const browserLang = navigator.language; if (browserLang.startsWith('zh-TW') || browserLang.startsWith('zh-HK')) { setLang('zh-TW'); } else if (browserLang.startsWith('en')) { setLang('en'); } else { setLang('zh-CN'); } }, []); if (!doc) { return (

文档未找到

); } // 你原先的多语言文本映射 const contentMap = { 'zh-CN': { backTo: '← 返回文档', related: '相关文档' }, 'zh-TW': { backTo: '← 返回文檔', related: '相關文檔' }, en: { backTo: '← Back to Docs', related: 'Related Documents' }, }; const labels = contentMap[lang] || contentMap['zh-CN']; return (
{labels.backTo}

{doc.metadata.title}

{doc.metadata.description}

{String(children).replace(/\n$/, '')} ) : ( {children} ); }, }} > {doc.content}
{relatedDocs.length > 0 && (

{labels.related}

    {relatedDocs.map((item) => (
  • {item.metadata.title}
  • ))}
)}
); }