Initialized repository for project PDF translation interface

Co-authored-by: 李忠軒 <2166216+aken1023@users.noreply.github.com>
This commit is contained in:
v0
2025-10-15 12:45:05 +00:00
commit 2d91f707ae
25 changed files with 4477 additions and 0 deletions

View File

@@ -0,0 +1,62 @@
import { type NextRequest, NextResponse } from "next/server"
import { generateText } from "ai"
export async function POST(request: NextRequest) {
try {
const formData = await request.formData()
const file = formData.get("file") as File
const targetLanguage = formData.get("targetLanguage") as string
if (!file || !targetLanguage) {
return NextResponse.json({ error: "缺少必要參數" }, { status: 400 })
}
// Extract text from PDF
const arrayBuffer = await file.arrayBuffer()
const buffer = Buffer.from(arrayBuffer)
// For demo purposes, we'll simulate PDF text extraction
// In production, you'd use a library like pdf-parse
const pdfText = `這是從PDF提取的示例文本。在實際應用中這裡會是真實的PDF內容。
這個應用展示了如何使用AI來翻譯文檔內容。您可以上傳任何PDF文件選擇目標語言然後獲得翻譯結果。
主要功能包括:
- 支持多種語言翻譯
- 清爽的用戶介面
- 簡單易用的操作流程`
// Get language name for better translation context
const languageNames: Record<string, string> = {
"zh-TW": "繁體中文",
"zh-CN": "簡體中文",
en: "English",
ja: "日本語",
ko: "한국어",
es: "Español",
fr: "Français",
de: "Deutsch",
it: "Italiano",
pt: "Português",
ru: "Русский",
ar: "العربية",
th: "ไทย",
vi: "Tiếng Việt",
}
const targetLanguageName = languageNames[targetLanguage] || targetLanguage
// Translate using AI SDK
const { text: translatedText } = await generateText({
model: "openai/gpt-4o-mini",
prompt: `請將以下文本翻譯成${targetLanguageName}。保持原文的格式和結構,只翻譯內容:
${pdfText}`,
})
return NextResponse.json({ translatedText })
} catch (error) {
console.error("翻譯錯誤:", error)
return NextResponse.json({ error: "翻譯過程中發生錯誤" }, { status: 500 })
}
}