From d7aa38e981cbcfafb9fefd5ae3ea451111d3679f Mon Sep 17 00:00:00 2001 From: mrphu3074 Date: Tue, 31 Mar 2026 20:08:21 +0700 Subject: [PATCH 1/2] support vietnamese --- app/api/generate/scene-content/route.ts | 3 +- app/page.tsx | 8 +- components/generation/generation-toolbar.tsx | 9 +- components/header.tsx | 15 +- lib/generation/scene-generator.ts | 3 +- lib/hooks/use-i18n.tsx | 4 +- lib/i18n/chat.ts | 74 +++ lib/i18n/common.ts | 41 ++ lib/i18n/generation.ts | 69 +++ lib/i18n/index.ts | 21 +- lib/i18n/settings.ts | 604 +++++++++++++++++++ lib/i18n/stage.ts | 149 +++++ lib/i18n/types.ts | 2 +- lib/server/classroom-generation.ts | 5 +- lib/types/generation.ts | 7 +- result.mp3 | Bin 0 -> 144044 bytes result.wav | Bin 0 -> 121004 bytes 17 files changed, 989 insertions(+), 25 deletions(-) create mode 100644 result.mp3 create mode 100644 result.wav diff --git a/app/api/generate/scene-content/route.ts b/app/api/generate/scene-content/route.ts index db9b772e1..afb091127 100644 --- a/app/api/generate/scene-content/route.ts +++ b/app/api/generate/scene-content/route.ts @@ -15,6 +15,7 @@ import { } from '@/lib/generation/generation-pipeline'; import type { AgentInfo } from '@/lib/generation/generation-pipeline'; import type { SceneOutline, PdfImage, ImageMapping } from '@/lib/types/generation'; +import type { Locale } from '@/lib/i18n/types'; import { createLogger } from '@/lib/logger'; import { apiError, apiSuccess } from '@/lib/server/api-response'; import { resolveModelFromHeaders } from '@/lib/server/resolve-model'; @@ -67,7 +68,7 @@ export async function POST(req: NextRequest) { // Ensure outline has language from stageInfo (fallback for older outlines) const outline: SceneOutline = { ...rawOutline, - language: rawOutline.language || (stageInfo?.language as 'zh-CN' | 'en-US') || 'zh-CN', + language: rawOutline.language || (stageInfo?.language as Locale) || 'zh-CN', }; // ── Model resolution from request headers ── diff --git a/app/page.tsx b/app/page.tsx index 68719c489..645c252f9 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -53,10 +53,12 @@ const WEB_SEARCH_STORAGE_KEY = 'webSearchEnabled'; const LANGUAGE_STORAGE_KEY = 'generationLanguage'; const RECENT_OPEN_STORAGE_KEY = 'recentClassroomsOpen'; +import type { Locale } from '@/lib/i18n/types'; + interface FormState { pdfFile: File | null; requirement: string; - language: 'zh-CN' | 'en-US'; + language: Locale; webSearch: boolean; } @@ -99,8 +101,8 @@ function HomePage() { const savedLanguage = localStorage.getItem(LANGUAGE_STORAGE_KEY); const updates: Partial = {}; if (savedWebSearch === 'true') updates.webSearch = true; - if (savedLanguage === 'zh-CN' || savedLanguage === 'en-US') { - updates.language = savedLanguage; + if (savedLanguage === 'zh-CN' || savedLanguage === 'en-US' || savedLanguage === 'vi-VN') { + updates.language = savedLanguage as Locale; } else { const detected = navigator.language?.startsWith('zh') ? 'zh-CN' : 'en-US'; updates.language = detected; diff --git a/components/generation/generation-toolbar.tsx b/components/generation/generation-toolbar.tsx index 27301bbd8..ec846798b 100644 --- a/components/generation/generation-toolbar.tsx +++ b/components/generation/generation-toolbar.tsx @@ -21,6 +21,7 @@ import type { WebSearchProviderId } from '@/lib/web-search/types'; import type { ProviderId } from '@/lib/ai/providers'; import type { SettingsSection } from '@/lib/types/settings'; import { MediaPopover } from '@/components/generation/media-popover'; +import type { Locale } from '@/lib/i18n/types'; // ─── Constants ─────────────────────────────────────────────── const MAX_PDF_SIZE_MB = 50; @@ -28,8 +29,8 @@ const MAX_PDF_SIZE_BYTES = MAX_PDF_SIZE_MB * 1024 * 1024; // ─── Types ─────────────────────────────────────────────────── export interface GenerationToolbarProps { - language: 'zh-CN' | 'en-US'; - onLanguageChange: (lang: 'zh-CN' | 'en-US') => void; + language: Locale; + onLanguageChange: (lang: Locale) => void; webSearch: boolean; onWebSearchChange: (v: boolean) => void; onSettingsOpen: (section?: SettingsSection) => void; @@ -361,11 +362,11 @@ export function GenerationToolbar({ {t('toolbar.languageHint')} diff --git a/components/header.tsx b/components/header.tsx index 5a61ec96f..27a3b1909 100644 --- a/components/header.tsx +++ b/components/header.tsx @@ -108,7 +108,7 @@ export function Header({ currentSceneTitle }: HeaderProps) { }} className="flex items-center gap-1 px-3 py-1.5 rounded-full text-xs font-bold text-gray-500 dark:text-gray-400 hover:bg-white dark:hover:bg-gray-700 hover:text-gray-800 dark:hover:text-gray-200 hover:shadow-sm transition-all" > - {locale === 'zh-CN' ? 'CN' : 'EN'} + {locale === 'zh-CN' ? 'CN' : locale === 'vi-VN' ? 'VN' : 'EN'} {languageOpen && (
@@ -138,6 +138,19 @@ export function Header({ currentSceneTitle }: HeaderProps) { > English +
)} diff --git a/lib/generation/scene-generator.ts b/lib/generation/scene-generator.ts index 1dc22937d..344c980cb 100644 --- a/lib/generation/scene-generator.ts +++ b/lib/generation/scene-generator.ts @@ -18,6 +18,7 @@ import type { PdfImage, ImageMapping, } from '@/lib/types/generation'; +import type { Locale } from '@/lib/i18n/types'; import type { LanguageModel } from 'ai'; import type { StageStore } from '@/lib/api/stage-api'; import { createStageAPI } from '@/lib/api/stage-api'; @@ -735,7 +736,7 @@ function normalizeQuizAnswer(question: Record): string[] | unde async function generateInteractiveContent( outline: SceneOutline, aiCall: AICallFn, - language: 'zh-CN' | 'en-US' = 'zh-CN', + language: Locale = 'zh-CN', ): Promise { const config = outline.interactiveConfig!; diff --git a/lib/hooks/use-i18n.tsx b/lib/hooks/use-i18n.tsx index 4e642f4c2..d83a30ce2 100644 --- a/lib/hooks/use-i18n.tsx +++ b/lib/hooks/use-i18n.tsx @@ -10,7 +10,7 @@ type I18nContextType = { }; const LOCALE_STORAGE_KEY = 'locale'; -const VALID_LOCALES: Locale[] = ['zh-CN', 'en-US']; +const VALID_LOCALES: Locale[] = ['zh-CN', 'en-US', 'vi-VN']; const I18nContext = createContext(undefined); @@ -26,7 +26,7 @@ export function I18nProvider({ children }: { children: ReactNode }) { setLocaleState(stored as Locale); return; } - const detected = navigator.language?.startsWith('zh') ? 'zh-CN' : 'en-US'; + const detected = navigator.language?.startsWith('zh') ? 'zh-CN' : navigator.language?.startsWith('vi') ? 'vi-VN' : 'en-US'; localStorage.setItem(LOCALE_STORAGE_KEY, detected); setLocaleState(detected); } catch { diff --git a/lib/i18n/chat.ts b/lib/i18n/chat.ts index 1bb535d3e..ac62b3512 100644 --- a/lib/i18n/chat.ts +++ b/lib/i18n/chat.ts @@ -145,3 +145,77 @@ export const chatEnUS = { stopListening: 'Stop recording', }, } as const; + +export const chatViVN = { + chat: { + lecture: 'Bài giảng', + noConversations: 'Không có cuộc trò chuyện nào', + startConversation: 'Nhập tin nhắn bên dưới để bắt đầu trò chuyện', + noMessages: 'Chưa có tin nhắn nào', + ended: 'đã kết thúc', + unknown: 'Không rõ', + stopDiscussion: 'Dừng thảo luận', + endQA: 'Kết thúc Q&A', + tabs: { + lecture: 'Ghi chú', + chat: 'Trò chuyện', + }, + lectureNotes: { + empty: 'Ghi chú sẽ xuất hiện ở đây sau khi bài giảng phát', + emptyHint: 'Dùng nút Phát để bắt đầu bài giảng', + pageLabel: 'Trang {n}', + currentPage: 'Trang hiện tại', + }, + badge: { + qa: 'Q&A', + discussion: 'THẢO LUẬN', + lecture: 'BÀI GIẢNG', + }, + }, + actions: { + names: { + spotlight: 'Đèn nổi bật', + laser: 'Con trỏ Laser', + wb_open: 'Mở Bảng trắng', + wb_draw_text: 'Văn bản Bảng trắng', + wb_draw_shape: 'Hình khối Bảng trắng', + wb_draw_chart: 'Biểu đồ Bảng trắng', + wb_draw_latex: 'Công thức Bảng trắng', + wb_draw_table: 'Bảng trên Bảng trắng', + wb_draw_line: 'Đường thẳng Bảng trắng', + wb_clear: 'Xóa Bảng trắng', + wb_delete: 'Xóa phần tử', + wb_close: 'Đóng Bảng trắng', + discussion: 'Thảo luận', + }, + status: { + inputStreaming: 'Đang chờ', + inputAvailable: 'Đang thực thi', + outputAvailable: 'Hoàn thành', + outputError: 'Lỗi', + outputDenied: 'Bị từ chối', + running: 'Đang thực thi', + result: 'Hoàn thành', + error: 'Lỗi', + }, + }, + agentBar: { + readyToLearn: 'Cùng nhau học nhé?', + expandedTitle: 'Đội hình Lớp học', + configTooltip: 'Bấm để cấu hình các nhân vật trong lớp', + voiceLabel: 'Giọng nói', + voiceLoading: 'Đang tải...', + voiceAutoAssign: 'Giọng nói sẽ được tự động chỉ định', + }, + proactiveCard: { + discussion: 'Thảo luận', + join: 'Tham gia', + skip: 'Bỏ qua', + pause: 'Tạm dừng', + resume: 'Tiếp tục', + }, + voice: { + startListening: 'Nhập bằng giọng nói', + stopListening: 'Dừng ghi âm', + }, +} as const; diff --git a/lib/i18n/common.ts b/lib/i18n/common.ts index 1bceb5d61..2d3f552ba 100644 --- a/lib/i18n/common.ts +++ b/lib/i18n/common.ts @@ -79,3 +79,44 @@ export const commonEnUS = { exportFailed: 'Export failed', }, } as const; + +export const commonViVN = { + common: { + you: 'Bạn', + confirm: 'Xác nhận', + cancel: 'Hủy', + loading: 'Đang tải...', + }, + home: { + slogan: 'Học tập với AI trong Lớp học Đa nhân vật Tương tác', + greeting: 'Chào, ', + }, + toolbar: { + languageHint: 'Khóa học sẽ được tạo bằng ngôn ngữ này', + pdfParser: 'Bộ phân tích', + pdfUpload: 'Tải PDF lên', + removePdf: 'Xóa tệp', + webSearchOn: 'Đã bật', + webSearchOff: 'Nhấn để bật', + webSearchDesc: 'Tìm kiếm trên web để cập nhật thông tin chuẩn nhất trước khi tạo', + webSearchProvider: 'Công cụ tìm kiếm', + webSearchNoProvider: 'Cấu hình API Key trong mục Cài đặt', + selectProvider: 'Chọn dịch vụ', + configureProvider: 'Thiết lập mô hình', + configureProviderHint: 'Cấu hình ít nhất một dịch vụ mô hình để bắt đầu tính năng tạo khóa học', + enterClassroom: 'Vào lớp học', + advancedSettings: 'Cài đặt nâng cao', + ttsTitle: 'Chuyển văn bản thành giọng nói', + ttsHint: 'Chọn giọng nói cho giáo viên AI', + ttsPreview: 'Nghe thử', + ttsPreviewing: 'Đang phát...', + }, + export: { + pptx: 'Xuất ra PPTX', + resourcePack: 'Xuất gói tài liệu', + resourcePackDesc: 'PPTX + trang tài liệu tương tác', + exporting: 'Đang xuất...', + exportSuccess: 'Xuất thành công', + exportFailed: 'Xuất thất bại', + }, +} as const; diff --git a/lib/i18n/generation.ts b/lib/i18n/generation.ts index 98694c234..39957fb39 100644 --- a/lib/i18n/generation.ts +++ b/lib/i18n/generation.ts @@ -133,3 +133,72 @@ export const generationEnUS = { webSearchFailed: 'Web search failed', }, } as const; + +export const generationViVN = { + classroom: { + recentClassrooms: 'Gần đây', + today: 'Hôm nay', + yesterday: 'Hôm qua', + daysAgo: 'ngày trước', + slides: 'trang', + nameCopied: 'Đã sao chép tên', + deleteConfirmTitle: 'Xóa lớp học', + delete: 'Xóa', + }, + upload: { + pdfSizeLimit: 'Hỗ trợ tệp PDF lên đến 50MB', + generateFailed: 'Không thể tạo lớp học, vui lòng thử lại', + requirementPlaceholder: + 'Nhập bất kỳ điều gì bạn muốn học, ví dụ:\n"Dạy tôi Python từ cơ bản trong 30 phút"\n"Giải thích Biến đổi Fourier trên bảng trắng"\n"Cách chơi board game Avalon"', + requirementRequired: 'Vui lòng nhập yêu cầu khóa học', + fileTooLarge: 'Tệp quá lớn. Vui lòng chọn tệp PDF dưới 50MB', + }, + generation: { + // Progress steps (used dynamically via activeStep) + analyzingPdf: 'Đang phân tích tài liệu PDF', + analyzingPdfDesc: 'Đang trích xuất cấu trúc và nội dung tài liệu...', + pdfLoadFailed: 'Không thể tải tệp PDF, vui lòng thử lại', + pdfParseFailed: 'Phân tích PDF thất bại', + streamNotReadable: 'Không thể đọc luồng dữ liệu tiến trình tạo', + generatingOutlines: 'Đang phác thảo Khóa học', + generatingOutlinesDesc: 'Đang xây dựng lộ trình học tập...', + generatingSlideContent: 'Đang tạo nội dung Trang', + generatingSlideContentDesc: 'Đang tạo trang chiếu, câu đố và nội dung tương tác...', + generatingActions: 'Đang tạo Hành động Sư phạm', + generatingActionsDesc: 'Đang biên soạn lời giảng, hướng điểm nhìn, và tương tác...', + generationComplete: 'Tạo hoàn tất!', + generationFailed: 'Tạo lớp học thất bại', + generatingCourse: 'Đang tạo khóa học', + openingClassroom: 'Đang mở lớp học...', + outlineReady: 'Đã tạo xong dàn ý học tập', + generatingFirstPage: 'Đang tạo nội dung trang đầu tiên...', + firstPageReady: 'Trang đầu đã sẵn sàng! Đang mở lớp học...', + speechFailed: 'Tổng hợp giọng nói thất bại', + retryScene: 'Thử lại phần này', + retryingScene: 'Đang tạo lại...', + backToHome: 'Quay về Trang chủ', + sessionNotFound: 'Không tìm thấy Phiên', + sessionNotFoundDesc: 'Vui lòng điền yêu cầu để bắt đầu quá trình tạo.', + goBackAndRetry: 'Quay lại và thử lại', + classroomReady: 'Môi trường học tập cá nhân hóa AI của bạn đã được tạo thành công.', + aiWorking: 'Các tác nhân AI đang hoạt động...', + textTruncated: 'Văn bản tài liệu khá dài, sử dụng {n} ký tự đầu tiên để tạo bài', + imageTruncated: + 'Đã tìm thấy {total} hình ảnh, vượt quá giới hạn {max} hình ảnh. Các hình ảnh dư sẽ chỉ sử dụng mô tả văn bản', + // Agent generation + agentGeneration: 'Đang thiết lập Đội hình Lớp học', + agentGenerationDesc: 'Tạo các vai diễn phù hợp dựa trên nội dung khóa học...', + agentRevealTitle: 'Vai diễn Lớp học của bạn', + viewAgents: 'Xem các vai diễn', + continue: 'Tiếp tục', + // Outline errors + outlineRetrying: 'Lỗi lúc tạo dàn ý, đang thử lại...', + outlineEmptyResponse: + 'Mô hình không trả về dàn ý hợp lệ. Vui lòng kiểm tra cấu hình mô hình và thử lại', + outlineGenerateFailed: 'Tạo dàn ý thất bại, vui lòng thử lại sau', + // Web Search + webSearching: 'Tìm kiếm trên Web', + webSearchingDesc: 'Đang tìm kiếm trên web để cập nhật thông tin mới nhất', + webSearchFailed: 'Tìm kiếm không thành công', + }, +} as const; diff --git a/lib/i18n/index.ts b/lib/i18n/index.ts index 5fd70da52..35ff0e09b 100644 --- a/lib/i18n/index.ts +++ b/lib/i18n/index.ts @@ -1,10 +1,10 @@ import { defaultLocale, type Locale } from './types'; export { type Locale, defaultLocale } from './types'; -import { commonZhCN, commonEnUS } from './common'; -import { stageZhCN, stageEnUS } from './stage'; -import { chatZhCN, chatEnUS } from './chat'; -import { generationZhCN, generationEnUS } from './generation'; -import { settingsZhCN, settingsEnUS } from './settings'; +import { commonZhCN, commonEnUS, commonViVN } from './common'; +import { stageZhCN, stageEnUS, stageViVN } from './stage'; +import { chatZhCN, chatEnUS, chatViVN } from './chat'; +import { generationZhCN, generationEnUS, generationViVN } from './generation'; +import { settingsZhCN, settingsEnUS, settingsViVN } from './settings'; export const translations = { 'zh-CN': { @@ -21,6 +21,13 @@ export const translations = { ...generationEnUS, ...settingsEnUS, }, + 'vi-VN': { + ...commonViVN, + ...stageViVN, + ...chatViVN, + ...generationViVN, + ...settingsViVN, + }, } as const; export type TranslationKey = keyof (typeof translations)[typeof defaultLocale]; @@ -40,8 +47,8 @@ export function getClientTranslation(key: string): string { if (typeof window !== 'undefined') { try { const storedLocale = localStorage.getItem('locale'); - if (storedLocale === 'zh-CN' || storedLocale === 'en-US') { - locale = storedLocale; + if (storedLocale === 'zh-CN' || storedLocale === 'en-US' || storedLocale === 'vi-VN') { + locale = storedLocale as Locale; } } catch { // localStorage unavailable, keep default locale diff --git a/lib/i18n/settings.ts b/lib/i18n/settings.ts index 356fea554..6c79fb338 100644 --- a/lib/i18n/settings.ts +++ b/lib/i18n/settings.ts @@ -1194,3 +1194,607 @@ export const settingsEnUS = { language: 'Language', }, } as const; + +export const settingsViVN = { + settings: { + title: 'Cài đặt', + description: 'Cấu hình ứng dụng', + language: 'Ngôn ngữ', + languageDesc: 'Chọn ngôn ngữ giao diện', + theme: 'Giao diện', + themeDesc: 'Chọn chế độ giao diện (Sáng/Tối/Hệ thống)', + themeOptions: { + light: 'Sáng', + dark: 'Tối', + system: 'Hệ thống', + }, + apiKey: 'API Key', + apiKeyDesc: 'Cấu hình API key của bạn', + apiBaseUrl: 'API Base URL', + apiBaseUrlDesc: 'Cấu hình đường dẫn URL gốc của API', + apiKeyRequired: 'API key không được để trống', + model: 'Cấu hình mô hình', + modelDesc: 'Cấu hình mô hình AI', + modelPlaceholder: 'Nhập hoặc chọn tên mô hình', + ttsModel: 'Mô hình TTS', + ttsModelDesc: 'Cấu hình mô hình chuyển văn bản thành giọng nói (TTS)', + ttsModelPlaceholder: 'Nhập hoặc chọn tên mô hình TTS', + ttsModelOptions: { + openaiTts: 'OpenAI TTS', + azureTts: 'Azure TTS', + }, + availableModels: 'Các mô hình khả dụng', + modelSelectedViaVoice: 'Mô hình được xác định tự động bằng giọng nói', + testConnection: 'Kiểm tra kết nối', + testConnectionDesc: 'Kiểm tra cấu hình API hiện tại có hoạt động không', + testing: 'Đang kiểm tra...', + agentSettings: 'Cài đặt Tác nhân', + agentSettingsDesc: + 'Chọn các tác nhân (agent) tham gia cuộc trò chuyện. Chọn 1 cho chế độ đơn tác nhân, nhiều cho chế độ tương tác đa tác nhân.', + agentMode: 'Chế độ Tác nhân', + agentModePreset: 'Mặc định', + agentModeAuto: 'Tự động tạo', + agentModeAutoDesc: 'AI sẽ tự động tạo vai trò phù hợp', + autoAgentCount: 'Số lượng tác nhân', + autoAgentCountDesc: 'Số lượng tác nhân sẽ tự động tạo (bao gồm giáo viên)', + atLeastOneAgent: 'Vui lòng chọn ít nhất 1 tác nhân', + singleAgentMode: 'Chế độ Đơn Tác Nhân', + directAnswer: 'Trả lời trực tiếp', + multiAgentMode: 'Chế độ Đa Tác Nhân', + agentsCollaborating: 'Thảo luận hợp tác', + agentsCollaboratingCount: 'Đã chọn {count} tác nhân để thảo luận', + maxTurns: 'Số vòng thảo luận tối đa', + maxTurnsDesc: + 'Lượt tương tác tối đa giữa các tác nhân (khi một tác nhân thực hiện hành động và trả lời tính là 1 lượt)', + priority: 'Độ ưu tiên', + actions: 'Hành động', + actionCount: '{count} hành động', + selectedAgent: 'Tác nhân đã chọn', + selectedAgents: 'Tác nhân đã chọn', + required: 'Bắt buộc', + agentNames: { + 'default-1': 'Giáo Viên AI', + 'default-2': 'Trợ Giảng AI', + 'default-3': 'Người Vui Tính', + 'default-4': 'Học Sinh Tò Mò', + 'default-5': 'Người Ghi Chép', + 'default-6': 'Nhà Tư Tưởng', + }, + agentRoles: { + teacher: 'Giáo viên', + assistant: 'Trợ giảng', + student: 'Học sinh', + }, + agentDescriptions: { + 'default-1': 'Giảng viên chính, diễn giải mạch lạc và có hệ thống', + 'default-2': 'Hỗ trợ việc học và giải thích các điểm chính', + 'default-3': 'Mang lại sự hài hước và năng lượng cho bài giảng', + 'default-4': 'Luôn tò mò, thích hỏi tại sao và làm thế nào', + 'default-5': 'Chăm chỉ ghi chép và tổ chức lại kiến thức', + 'default-6': 'Suy nghĩ sâu vào bản chất của bất kỳ chủ đề nào', + }, + close: 'Đóng', + save: 'Lưu', + // Provider settings + providers: 'LLM', + addProviderDescription: 'Thêm nhà cung cấp mô hình AI (LLM) để mở rộng các mô hình bạn có', + providerNames: { + openai: 'OpenAI', + anthropic: 'Claude', + google: 'Gemini', + deepseek: 'DeepSeek', + qwen: 'Qwen', + kimi: 'Kimi', + minimax: 'MiniMax', + glm: 'GLM', + siliconflow: 'SiliconFlow', + }, + providerTypes: { + openai: 'Giao thức OpenAI', + anthropic: 'Giao thức Claude', + google: 'Giao thức Gemini', + }, + modelCount: 'mô hình', + modelSingular: 'mô hình', + defaultModel: 'Mô hình mặc định', + webSearch: 'Tìm kiếm web', + mcp: 'MCP', + knowledgeBase: 'Cơ sở tri thức', + documentParser: 'Bộ phân tích tài liệu', + conversationSettings: 'Trò chuyện', + keyboardShortcuts: 'Phím tắt', + generalSettings: 'Chung', + systemSettings: 'Hệ thống', + addProvider: 'Thêm', + importFromClipboard: 'Nhập từ Clipboard', + apiSecret: 'API Key', + apiHost: 'Base URL', + requestUrl: 'Request URL', + models: 'Các mô hình', + addModel: 'Thêm mới', + reset: 'Đặt lại', + fetch: 'Tải', + connectionSuccess: 'Kết nối thành công', + connectionFailed: 'Kết nối thất bại', + // Model capabilities + capabilities: { + vision: 'Thị giác', + tools: 'Công cụ', + streaming: 'Truyền (Stream)', + }, + contextWindow: 'Ngữ cảnh', + contextShort: 'ctx', + outputWindow: 'Giới hạn Output', + // Provider management + addProviderButton: 'Thêm', + addProviderDialog: 'Thêm nhà cung cấp mô hình', + providerName: 'Tên', + providerNamePlaceholder: 'VD: Proxy OpenAI Của Tôi', + providerNameRequired: 'Vui lòng nhập tên nhà cung cấp', + providerApiMode: 'Chế độ API', + apiModeOpenAI: 'Giao thức OpenAI', + apiModeAnthropic: 'Giao thức Claude', + apiModeGoogle: 'Giao thức Gemini', + defaultBaseUrl: 'Base URL mặc định', + providerIcon: 'URL icon nhà cung cấp', + requiresApiKey: 'Yêu cầu API Key', + deleteProvider: 'Xóa nhà cung cấp', + deleteProviderConfirm: 'Bạn có chắc chắn muốn xóa nhà cung cấp này không?', + cannotDeleteBuiltIn: 'Không thể xóa nhà cung cấp mặc định', + resetToDefault: 'Đặt lại về mặc định', + resetToDefaultDescription: + 'Khôi phục danh sách mô hình về cấu hình gốc (API Key và Base URL sẽ giữ nguyên)', + resetConfirmDescription: + 'Thao tác này sẽ xóa tất cả các mô hình tùy chỉnh và khôi phục mô hình mặc định. API Key và Base URL vẫn giữ.', + confirmReset: 'Xác nhận đặt lại', + resetSuccess: 'Đặt lại về mặc định thành công', + saveSuccess: 'Đã lưu cấu hình', + saveFailed: 'Lưu thất bại, vui lòng thử lại', + cannotDeleteBuiltInModel: 'Không thể xóa cấu hình mặc định', + cannotEditBuiltInModel: 'Không thể chỉnh mô hình mặc định', + modelIdRequired: 'Vui lòng điền model ID', + noModelsAvailable: 'Không có mô hình để thử nghiệm', + providerMetadata: 'Siêu dữ liệu nhà cung cấp', + // Model editing + editModel: 'Chỉnh sửa mô hình', + editModelDescription: 'Điều chỉnh năng lực và cấu hình mô hình', + addNewModel: 'Mô hình mới', + addNewModelDescription: 'Thêm cấu hình của máy chủ', + modelId: 'Model ID', + modelIdPlaceholder: 'VD: gpt-4o', + modelName: 'Tên hiển thị', + modelNamePlaceholder: 'Tùy chọn', + modelCapabilities: 'Chức năng', + advancedSettings: 'Nâng cao', + contextWindowLabel: 'Giới hạn Ngữ cảnh (Tokens)', + contextWindowPlaceholder: 'VD: 128000', + outputWindowLabel: 'Giới hạn Output tối đa', + outputWindowPlaceholder: 'VD: 4096', + testModel: 'Thử nghiệm mô hình', + deleteModel: 'Xóa', + cancelEdit: 'Hủy', + saveModel: 'Lưu', + modelsManagementDescription: + 'Quản lý danh sách mô hình của đối tác này. Để phân bổ mô hình kích hoạt, vào phần Cài đặt Chung.', + // General settings + howToUse: 'Cách sử dụng', + step1ConfigureProvider: + 'Vào phần "LLM", chọn hoặc thêm một nhà cung cấp gốc, thiết lập thông tin liên kết (API key, Base URL, v.v.)', + step2SelectModel: 'Chọn mô hình dùng trong mục "Mô hình Hiện tại" phía dưới', + step3StartUsing: 'Sau khi lưu, hệ thống sẽ sử dụng mô hình bạn chọn', + activeModel: 'Mô hình đang kích hoạt', + activeModelDescription: 'Vui lòng chọn mô hình AI chính bạn muốn dùng để tạo bài', + selectModel: 'Chọn mô hình', + searchModels: 'Tìm mô hình', + noModelsFound: 'Không có thông tin mô hình', + noConfiguredProviders: 'Chưa có nhà cung cấp được cấu hình', + configureProvidersFirst: + 'Vui lòng cấu hình các nhà cung cấp thông tin tại bộ phận "LLM" ở cột bên trái trước', + currentlyUsing: 'Đang dùng', + // TTS settings + ttsSettings: 'Chuyển văn bản thành giọng nói', + // ASR settings + asrSettings: 'Nhận dạng giọng nói', + // Audio settings (legacy) + audioSettings: 'Cấu hình âm thanh', + ttsSection: 'Văn bản thành Giọng nói (TTS)', + asrSection: 'Nhận dạng Giọng nói tự động (ASR)', + ttsDescription: 'TTS (Text-to-Speech) - Đọc văn bản lên thành lời', + asrDescription: 'ASR (Automatic Speech Recognition) - Chuyển lời nói sang chữ', + enableTTS: 'Kích hoạt Văn bản thành giọng nói', + ttsEnabledDescription: 'Âm thanh bài giảng AI sẽ được xuất sinh khi đang tạo lớp học', + ttsVoiceConfigHint: + 'Bạn cũng có thể điều chỉnh giọng nói từng nhân vật ở trang chủ bằng cách xem "Đội hình Lớp học"', + enableASR: 'Kích hoạt dịch vụ Nhận diện giọng nói', + asrEnabledDescription: 'Người dùng lúc học có thể thu âm qua micro để trò chuyện', + ttsProvider: 'Dịch vụ cung cấp TTS', + ttsLanguageFilter: 'Bộ lọc ngôn ngữ', + allLanguages: 'Tất cả ngôn ngữ', + ttsVoice: 'Giọng nói', + ttsSpeed: 'Tốc độ', + ttsBaseUrl: 'Base URL', + ttsApiKey: 'API Key', + doubaoAppId: 'App ID', + doubaoAccessKey: 'Access Key', + asrProvider: 'Dịch vụ cung cấp ASR', + asrLanguage: 'Ngôn ngữ của ASR', + asrBaseUrl: 'Base URL', + asrApiKey: 'API Key', + enterApiKey: 'Ghi lại Key API', + enterCustomBaseUrl: 'Ghi mã Base URL cá nhân', + browserNativeNote: 'Giao thức Native của Trình duyệt đều hoàn toàn miễn phí và tốt sẵn', + // Audio provider names + providerOpenAITTS: 'OpenAI TTS (gpt-4o-mini-tts)', + providerAzureTTS: 'Azure TTS', + providerGLMTTS: 'GLM TTS', + providerQwenTTS: 'Qwen TTS (Chuyên Gia Alibaba Cloud)', + providerDoubaoTTS: 'Doubao TTS 2.0 (Volcengine)', + providerElevenLabsTTS: 'ElevenLabs TTS', + providerMiniMaxTTS: 'MiniMax TTS', + providerBrowserNativeTTS: 'Giọng nói cơ bản trong Trình duyệt', + providerOpenAIWhisper: 'OpenAI ASR (gpt-4o-mini-transcribe)', + providerBrowserNative: 'Hỗ trợ bằng micro từ Trình duyệt', + providerQwenASR: 'Qwen ASR (Alibaba Cloud Bailian)', + providerUnpdf: 'unpdf (Mặc định được hỗ trợ)', + providerMinerU: 'MinerU', + browserNativeTTSNote: + 'Công cụ hỗ trợ gốc không cần cấu hình cũng không tính thêm khoản phí nào', + testTTS: 'Phát thanh mẫu âm thanh', + testASR: 'Phát thanh mẫu giọng nói', + testSuccess: 'Phát thành công', + testFailed: 'Không thể phát thành công', + ttsTestText: 'Thử lại phần tạo dòng lệnh TTS', + ttsTestSuccess: 'Đã phát đoạn âm thanh tương thích TTS', + ttsTestFailed: 'Gặp sự cố TTS', + asrTestSuccess: 'ASR đã chạy thành công', + asrTestFailed: 'Không thành công tạo bản phân định âm thanh', + asrResult: 'Tóm lược âm thanh', + asrNotSupported: 'Trình duyệt không cho phép Truy vấn ASR API', + browserTTSNotSupported: 'Không có cách nào tạo ra giao thức TTS API bằng trình phát Web này', + browserTTSNoVoices: 'Không xác định dạng nội dung TTS', + microphoneAccessDenied: 'Micro từ thiết bị chưa cấp quyền', + microphoneAccessFailed: 'Không xử lý cho thiết bị vào dạng micro', + asrResultPlaceholder: 'Khi đã ghi âm bằng máy xong phần nội dung sẽ chạy ra màn hình', + useThisProvider: 'Sử dụng Tùy chọn', + fetchVoices: 'Cập nhật lại Danh sách', + fetchingVoices: 'Đang tải về...', + voicesFetched: 'Tải Xong', + fetchVoicesFailed: 'Tải thất bại xin gặp lại', + voiceApiKeyRequired: 'Bạn thiếu thông tin API', + voiceBaseUrlRequired: 'Điền liên kết URL Cấp', + ttsTestTextPlaceholder: 'Thử kiểm lại', + ttsTestTextDefault: 'Cảm ơn, đây là phần giới thiệu âm trường mẫu.', + startRecording: 'Luôn ghi', + stopRecording: 'Dừng ghi', + recording: 'Kỳ hoạt ghi âm...', + transcribing: 'Đang định cấu trúc thành văn bản...', + transcriptionResult: 'Bản phân giải', + noTranscriptionResult: 'Ghi chưa cấu trúc xong', + baseUrlOptional: 'Base URL (Tự điền)', + defaultValue: 'Nguyên văn', + // TTS Voice descriptions (OpenAI) + voiceMarin: 'Được ưu tiên chọn - Chất lượng hạng A', + voiceCedar: 'Được ưu tiên chọn - Mềm và dẻo', + voiceAlloy: 'Tầm trung - Trầm ấm', + voiceAsh: 'Phù hợp công sở', + voiceBallad: 'Hùng ca uy quyền', + voiceCoral: 'Giọng thân thiện, hài hòa', + voiceEcho: 'Giọng nam tính nổi loạn', + voiceFable: 'Kiểu như kể chuyện cho trẻ em', + voiceNova: 'Giọng nữ sắc và ngọt', + voiceOnyx: 'Nam trầm nhất', + voiceSage: 'Âm sắc của người thông thái', + voiceShimmer: 'Giọng nữ uyển chuyển', + voiceVerse: 'Giọng văn nói liên tưởng', + // TTS Voice descriptions (GLM) + glmVoiceTongtong: 'Giọng mặc định', + glmVoiceChuichui: 'Giọng tên Chuichui', + glmVoiceXiaochen: 'Giọng tên Xiaochen', + glmVoiceJam: 'Giọng kiểu Jam', + glmVoiceKazi: 'Giọng kiểu Kazi', + glmVoiceDouji: 'Giọng kiểu Douji', + glmVoiceLuodo: 'Giọng tên Luodo', + // TTS Voice descriptions (Qwen) + qwenVoiceCherry: 'Sôi nổi, trẻ và nhẹ nhàng', + qwenVoiceSerena: 'Dễ nhận dạng và nữ tính', + qwenVoiceEthan: 'Sôi động và dứt khoát', + qwenVoiceChelsie: 'Theo kiểu virtual girlfriend', + qwenVoiceMomo: 'Lan truyền năng lượng cao và tích cực', + qwenVoiceVivian: 'Ngổ tiếng con nít dễ thương', + qwenVoiceMoon: 'Tự tại và ngầu', + qwenVoiceMaia: 'Tri thức, có học vấn thâm sâu', + qwenVoiceKai: 'Thư giãn nghe SPA', + qwenVoiceNofish: "Không biết đọc các giọng điệu cao siêu", + qwenVoiceBella: "Cô nương nhép dễ dãi", + qwenVoiceJennifer: 'Giọng tiêu chuẩn cho thương mại quốc tế', + qwenVoiceRyan: 'Nhịp độ nói luyến thoắng kịch tính', + qwenVoiceKaterina: 'Mạch liên hồi mạnh nhịp âm nhạc', + qwenVoiceAiden: 'Đam mê nấu ăn tiếng Mỹ cực xịn', + qwenVoiceEldricSage: 'Đề nén cho cụ già thông thạo nhiều lẽ phải', + qwenVoiceMia: 'Dịu và nhẹ', + qwenVoiceMochi: 'Thông minh con lớn lộng lẫy', + qwenVoiceBellona: 'Tự dưng hăng hái vĩ đại', + qwenVoiceVincent: 'Đeo đai đen trong cuộc tình qua thời hoàng kim', + qwenVoiceBunny: 'Loli đáng yêu vô độ', + qwenVoiceNeil: 'Khung thông tin kênh phát thanh', + qwenVoiceElias: 'Dành làm giọng chuyên gia phân tích', + qwenVoiceArthur: 'Phong cách chậm rải nhẹ nhàng', + qwenVoiceNini: 'Mềm như vỏ bánh bao nước', + qwenVoiceEbona: 'Bảo thạch rỉ sét bí ẩn', + qwenVoiceSeren: 'Mang đến tiếng ru ru dịu em bé', + qwenVoicePip: 'Góc tinh thần như con trẻ rạng ngời', + qwenVoiceStella: 'Hiền lành nhưng sẵn sàng rực rỡ nếu bộc lộ', + qwenVoiceBodega: 'Chú bồi bàn nước láng giềng nhiệt liệt', + qwenVoiceSonrisa: 'Niềm nở chia sẻ của cư ngụ nam Mỹ Châu', + qwenVoiceAlek: 'Đắm mình của không phân bổ lạnh', + qwenVoiceDolce: 'Lạ và quen của các người chú Ý gia dụng', + qwenVoiceSohee: 'Vui vẻ như nữ unnie từ xứ Kim Chi', + qwenVoiceOnoAnna: 'Cô gái trẻ vui tươi thời niên thiếu', + qwenVoiceLenn: 'Trưởng thành thích ăn mặc thời trang có gout Đức', + qwenVoiceEmilien: 'Ông anh trai từ dòng pháp lai tình ý', + qwenVoiceAndre: 'Cử chỉ thanh khiết có tính thu hút phái nữ', + qwenVoiceRadioGol: 'Người sáng tạo thơ bóng đá!', + qwenVoiceJada: 'Mợ Thượng Hải nhạy bén cá tính', + qwenVoiceDylan: 'Tài tử mang dòng máu Bắc Kinh rộn rã', + qwenVoiceLi: 'Đóng vai dạy tư thế thiền Yoga đỉnh cao', + qwenVoiceMarcus: 'Khí chất cứng nhắc mà đầy sự thật', + qwenVoiceRoy: 'Giao thoa đầy kếu ngạo dí dỏm chuẩn Đài Loan', + qwenVoicePeter: 'Độc quyền Tinh Lộc mậu dịch', + qwenVoiceSunny: 'Say lị đầy tính xảo ngọt xuyên tim', + qwenVoiceEric: 'Thục nam Thành Đô quý giá', + qwenVoiceRocky: 'Người nhà bên Hồng Kông ngông ngênh', + qwenVoiceKiki: 'Gái kiêu sa Hongkong thuần 100%', + // ASR Language names (native forms - autoglossonyms) + lang_auto: 'Nhận diện tự động', + lang_zh: '中文', + lang_yue: '粤語', + lang_en: 'English', + lang_ja: '日本語', + lang_ko: '한국어', + lang_es: 'Español', + lang_fr: 'Français', + lang_de: 'Deutsch', + lang_ru: 'Русский', + lang_ar: 'العربية', + lang_pt: 'Português', + lang_it: 'Italiano', + lang_af: 'Afrikaans', + lang_hy: 'Հայերեն', + lang_az: 'Azərbaycan', + lang_be: 'Беларуская', + lang_bs: 'Bosanski', + lang_bg: 'Български', + lang_ca: 'Català', + lang_hr: 'Hrvatski', + lang_cs: 'Čeština', + lang_da: 'Dansk', + lang_nl: 'Nederlands', + lang_et: 'Eesti', + lang_fi: 'Suomi', + lang_gl: 'Galego', + lang_el: 'Ελληνικά', + lang_he: 'עברית', + lang_hi: 'हिन्दी', + lang_hu: 'Magyar', + lang_is: 'Íslenska', + lang_id: 'Bahasa Indonesia', + lang_kn: 'ಕನ್ನಡ', + lang_kk: 'Қазақша', + lang_lv: 'Latviešu', + lang_lt: 'Lietuvių', + lang_mk: 'Македонски', + lang_ms: 'Bahasa Melayu', + lang_mr: 'मराठी', + lang_mi: 'Te Reo Māori', + lang_ne: 'नेपाली', + lang_no: 'Norsk', + lang_fa: 'فارسی', + lang_pl: 'Polski', + lang_ro: 'Română', + lang_sr: 'Српски', + lang_sk: 'Slovenčina', + lang_sl: 'Slovenščina', + lang_sw: 'Kiswahili', + lang_sv: 'Svenska', + lang_tl: 'Tagalog', + lang_fil: 'Filipino', + lang_ta: 'தமிழ்', + lang_th: 'ไทย', + lang_tr: 'Türkçe', + lang_uk: 'Українська', + lang_ur: 'اردو', + lang_vi: 'Tiếng Việt', + lang_cy: 'Cymraeg', + // BCP-47 format language codes (for Web Speech API) + 'lang_zh-CN': 'Tiếng Trung (Giản thể, TQ)', + 'lang_zh-TW': 'Tiếng Trung (Phồn thể, Đài Loan)', + 'lang_zh-HK': 'Tiếng Quảng Đông (Hong Kong)', + 'lang_yue-Hant-HK': 'Tiếng Quảng Đông (Phồn thể)', + 'lang_en-US': 'Tiếng Anh (Mỹ)', + 'lang_en-GB': 'Tiếng Anh (Anh)', + 'lang_en-AU': 'Tiếng Anh (Úc)', + 'lang_en-CA': 'Tiếng Anh (Canada)', + 'lang_en-IN': 'Tiếng Anh (Ấn Độ)', + 'lang_en-NZ': 'Tiếng Anh (New Zealand)', + 'lang_en-ZA': 'Tiếng Anh (Nam Phi)', + 'lang_ja-JP': 'Tiếng Nhật', + 'lang_ko-KR': 'Tiếng Hàn', + 'lang_de-DE': 'Tiếng Đức', + 'lang_fr-FR': 'Tiếng Pháp', + 'lang_es-ES': 'Tiếng Tây Ban Nha (TBN)', + 'lang_es-MX': 'Tiếng Tây Ban Nha (Mexico)', + 'lang_es-AR': 'Tiếng Tây Ban Nha (Argentina)', + 'lang_es-CO': 'Tiếng Tây Ban Nha (Colombia)', + 'lang_it-IT': 'Tiếng Ý', + 'lang_pt-BR': 'Tiếng Bồ Đào Nha (Brazil)', + 'lang_pt-PT': 'Tiếng Bồ Đào Nha (BĐN)', + 'lang_ru-RU': 'Tiếng Nga', + 'lang_nl-NL': 'Tiếng Hà Lan', + 'lang_pl-PL': 'Tiếng Ba Lan', + 'lang_cs-CZ': 'Tiếng Séc', + 'lang_da-DK': 'Tiếng Đan Mạch', + 'lang_fi-FI': 'Tiếng Phần Lan', + 'lang_sv-SE': 'Tiếng Thụy Điển', + 'lang_no-NO': 'Tiếng Na Uy', + 'lang_tr-TR': 'Tiếng Thổ Nhĩ Kỳ', + 'lang_el-GR': 'Tiếng Hy Lạp', + 'lang_hu-HU': 'Tiếng Hungary', + 'lang_ro-RO': 'Tiếng Romania', + 'lang_sk-SK': 'Tiếng Slovak', + 'lang_bg-BG': 'Tiếng Bulgaria', + 'lang_hr-HR': 'Tiếng Croatia', + 'lang_ca-ES': 'Tiếng Catalan', + 'lang_ar-SA': 'Tiếng Ả Rập (Saudi)', + 'lang_ar-EG': 'Tiếng Ả Rập (Ai Cập)', + 'lang_he-IL': 'Tiếng Do Thái', + 'lang_hi-IN': 'Tiếng Hindi', + 'lang_th-TH': 'Tiếng Thái', + 'lang_vi-VN': 'Tiếng Việt', + 'lang_id-ID': 'Tiếng Indonesia', + 'lang_ms-MY': 'Tiếng Mã Lai', + 'lang_fil-PH': 'Tiếng Philippines', + 'lang_af-ZA': 'Tiếng Afrikaans', + 'lang_uk-UA': 'Tiếng Ukraina', + // PDF settings + pdfSettings: 'Phân tích tài liệu PDF', + pdfParsingSettings: 'Thiết lập lấy dữ liệu PDF', + pdfDescription: + 'Chọn hệ thống lấy tài liệu dạng văn bản lẫn biểu mẫu hình ảnh và số từ bên trong', + pdfProvider: 'Trình đọc PDF', + pdfFeatures: 'Tính năng hỗ trợ', + pdfApiKey: 'API Key', + pdfBaseUrl: 'Base URL', + mineruDescription: + 'MinerU là công cụ thương mại phục vụ chức năng phân tích nâng cao đối với file PDF khó dùng.', + mineruApiKeyRequired: 'Bạn phải có Key bản quyền tải về tại website MinerU.', + mineruWarning: 'Cảnh báo', + mineruCostWarning: + 'MinerU tính phí dựa vào số lượt xem lấy thông tin dữ liệu. Mời check giá cả tại MinerU web.', + enterMinerUApiKey: 'Nhập API key MinerU', + mineruLocalDescription: + 'Có thể cung cấp bằng localhost của máy của bạn, sau đó thiết lập bằng link vào đây.', + mineruServerAddress: 'Đia chỉ dạng Web API Service cục bộ hoặc từ xa máy con (http://...)', + mineruApiKeyOptional: 'Thích hợp khi cấu hình khóa bảo mật tại Node Server', + optionalApiKey: 'Tùy chọn cho API Key', + featureText: 'Trích xuất chữ viết', + featureImages: 'Trích xuất Hình', + featureTables: 'Lọc biểu mẫu', + featureFormulas: 'Nhận dạng Hàm/Công thức', + featureLayoutAnalysis: 'Ghi chú đánh giá layout', + featureMetadata: 'Tính toán dữ liệu File', + // Image Generation settings + enableImageGeneration: 'Mở tính năng vẽ tranh 2D ảo AI', + imageGenerationDisabledHint: + 'Khi đã cấp quyền thì tranh vẽ 2D ảo sẽ tự động bồi chung vào khoá học', + imageSettings: 'Năng lực làm Tranh và Ảnh (AI Generation)', + imageSection: 'Vẽ (Text To Image)', + imageProvider: 'Dịch vụ vẽ khung', + imageModel: 'Mô hình', + providerSeedream: 'Seedream (ByteDance)', + providerQwenImage: 'Qwen Image (Alibaba)', + providerNanoBanana: 'Nano Banana (Gemini)', + providerMiniMaxImage: 'MiniMax Image', + providerGrokImage: 'Grok Image (xAI)', + testImageGeneration: 'Xác minh AI tạo ảnh', + testImageConnectivity: 'Kiểm duyệt', + imageConnectivitySuccess: 'Hệ thống nhận liên lạc ok', + imageConnectivityFailed: 'Không nhận API', + imageTestSuccess: 'Bấm phát hình ngay thành công', + imageTestFailed: 'Không lên được bản phác họa', + imageTestPromptPlaceholder: 'Cho mô phỏng vẽ...', + imageTestPromptDefault: 'Tranh ảnh vẽ siêu thực về bạn mèo ngoan cực xinh trên chiếc Laptop', + imageGenerating: 'Phác thảo bản thiết kế...', + imageGenerationFailed: 'Thất bại khi bồi xuất', + // Video Generation settings + enableVideoGeneration: 'Bật khả năng Video AI thế hệ', + videoGenerationDisabledHint: + 'Hệ thống AI Video Engine tự động thêm vào dự án khi đăng ký', + videoSettings: 'Năng lực thiết kế Video (AI Generation)', + videoSection: 'Tạo Video theo Văn Học (TTV)', + videoProvider: 'Nhà cung cấp AI Engine', + videoModel: 'Cấu hình Engine', + providerSeedance: 'Seedance (ByteDance)', + providerKling: 'Kling (Kuaishou)', + providerVeo: 'Veo (Google)', + providerSora: 'Sora (OpenAI)', + providerMiniMaxVideo: 'MiniMax Video', + providerGrokVideo: 'Grok Video (xAI)', + testVideoGeneration: 'Bắt đầu bấm thử', + testVideoConnectivity: 'Kết nối cho server test', + videoConnectivitySuccess: 'Ping nhận phản hồi ổn', + videoConnectivityFailed: 'Không gọi về máy chủ Engine API', + testingConnection: 'Hệ thống load thử...', + videoTestSuccess: 'Qua bài đăng ký tạo Video API Test', + videoTestFailed: 'Test kết thúc bằng 1 lỗi', + videoTestPromptDefault: 'Một chú mèo đi lại trên bàn', + videoGenerating: 'Đang khởi động tạo nền video AI (1-2 Phút)...', + videoGenerationWarning: 'Trình AI làm video mất cỡ bằng vài phút để gánh đủ khung hình nên lưu lại chút đợi nhe', + mediaRetry: 'Gỡ Lỗi và Gọi lại', + mediaContentSensitive: 'Đã chặn tính năng xử video có nội dung xấu', + mediaGenerationDisabled: 'Đã bị cấm xài trình này ở trong Hệ Thống Cài Đặt', + // Agent settings (kept with main settings block above) + singleAgent: 'Đơn Tác nhân', + multiAgent: 'Đa Tác nhân (Lớp học)', + selectAgents: 'Vai diễn', + noVisionWarning: + 'Ghi nhận rằng LLM thiếu khả năng nhận dạng Vision nhưng nó vẫn rải hình ảnh trên bản vẽ vì không kiểm hóa rõ ràng chất lượng cho bạn', + // Server provider configuration + serverConfigured: 'Phía Server Backend', + serverConfiguredNotice: + 'Admin hiện có định dạng API này sẵn thay cho API cá nhân. Tự xài Key cá nhân bằng bỏ mã vào bên trên để ưu tiên xài.', + optionalOverride: 'Tùy chọn - nếu bỏ trống thì ứng dụng xài mã của Backend Cty phân bố', + // Access code + setupNeeded: 'Chưa đủ điều kiện kích hoạt ứng dụng, khai báo bổ sung cài đặt', + modelNotConfigured: 'Chọn 1 engine để hoàn thành phần khai báo', + // Clear cache + dangerZone: 'Khu vực Xóa rác', + clearCache: 'Toàn bộ nội bộ xoá Cache', + clearCacheDescription: + 'Dọn tất cả dữ liệu ghi nhớ của bạn bao gồm quá trình, tài liệu cache, và sở thích. Dữ liệu một đi không trở về.', + clearCacheConfirmTitle: 'Rõ là đang dọn trắng xóa ứng dụng nội bộ phải không?', + clearCacheConfirmDescription: + 'Bạn đang xoá cả vũng thông tin mà sau này chẳng kiếm đâu lại được đồ cổ:', + clearCacheConfirmItems: + 'Bảng mô phỏng ghi âm, nhật ký nhắn tin lớp học qua lại, bài học ghi chú, v.v.', + clearCacheConfirmInput: 'Bạn nhập "XOA" vào để máy đi đổ rác', + clearCacheConfirmPhrase: 'XOA', + clearCacheButton: 'Phá hũi toàn dữ liệu bên trong của máy trạm', + clearCacheSuccess: 'Thành công xong màn dọn rác. Máy tự động reload', + clearCacheFailed: 'Toang, không xoá hết được do có vài dữ liệu đang ghi chưa xong', + // Web Search settings + webSearchSettings: 'Tìm kiếm mạng lưới Data web', + webSearchApiKey: 'Tavily API Key', + webSearchApiKeyPlaceholder: 'Cho cái Key Tavily mà bạn mượn', + webSearchApiKeyPlaceholderServer: 'Chạy key có từ Server bên trên trừ khi bạn muốn nạp riêng', + webSearchApiKeyHint: 'Sang trang tavily.com đăng ký một thẻ chìa khoá API Key về đây đăng ký lệnh cho AI', + webSearchBaseUrl: 'Đường dẫn Base URL', + webSearchServerConfigured: 'Server Cty đã làm thủ tục để bật được Tavily Key cho bạn', + optional: 'Tùy chọn', + }, + profile: { + title: 'Hồ sơ cá nhân', + defaultNickname: 'Học sinh', + chooseAvatar: 'Thay Avatar', + uploadAvatar: 'Tải File ảnh', + bioPlaceholder: 'Hãy giới thiệu tí chuyện hay về bạn, những giáo viên ảo sẽ giảng học bám theo mô phỏng của bạn...', + avatarHint: 'Người thật và những vị giáo viên khác sẽ thấy rõ hình đại diện này trong Lớp Học Tương tác', + fileTooLarge: 'Vui lòng chọn hình nào nhẹ dưới kích thước 5MB', + invalidFileType: 'Cho mình xin hình gốc nghen', + editTooltip: 'Bấm sửa', + }, + media: { + imageCapability: 'Tạo Hình', + imageHint: 'Tìm ảnh trang chiếu', + videoCapability: 'Tạo Video', + videoHint: 'Nhúng Clip trang chiếu', + ttsCapability: 'Phát Động Tiếng (TTS)', + ttsHint: 'LLM Cô/Thầy dùng Voice', + asrCapability: 'Dịch Thoại Thành Chữ (ASR)', + asrHint: 'Cho nói micro trên web', + provider: 'Provider', + model: 'Engine LLM Mô Hình', + voice: 'Giọng nói điệu', + speed: 'Tốc âm', + language: 'Ngôn Lệnh', + }, +} as const; diff --git a/lib/i18n/stage.ts b/lib/i18n/stage.ts index 0a376ca10..f48c00bd4 100644 --- a/lib/i18n/stage.ts +++ b/lib/i18n/stage.ts @@ -296,3 +296,152 @@ export const stageEnUS = { notReady: 'Available after generation completes', }, } as const; + +export const stageViVN = { + stage: { + currentScene: 'Cảnh hiện tại', + generating: 'Đang tạo...', + paused: 'Đã tạm dừng', + generationFailed: 'Tạo thất bại', + confirmSwitchTitle: 'Chuyển đổi cảnh', + confirmSwitchMessage: 'Một chủ đề hiện đang được tiến hành. Chuyển đổi cảnh sẽ kết thúc chủ đề hiện tại. Bạn có chắc chắn không?', + generatingNextPage: 'Cảnh đang được tạo, vui lòng đợi...', + fullscreen: 'Toàn màn hình', + exitFullscreen: 'Thoát toàn màn hình', + }, + whiteboard: { + title: 'Bảng trắng tương tác', + open: 'Mở Bảng trắng', + clear: 'Xóa Bảng trắng', + minimize: 'Thu gọn Bảng trắng', + ready: 'Bảng trắng đã sẵn sàng', + readyHint: 'Các thành phần sẽ hiển thị ở đây khi AI thêm vào', + clearSuccess: 'Xóa bảng trắng thành công', + clearError: 'Không thể xóa bảng trắng: ', + resetView: 'Đặt lại góc nhìn', + restoreError: 'Không thể khôi phục bảng trắng: ', + history: 'Lịch sử', + restore: 'Khôi phục', + noHistory: 'Chưa có lịch sử', + restored: 'Đã khôi phục bảng trắng', + elementCount: '{count} phần tử', + }, + quiz: { + title: 'Câu hỏi ôn tập', + subtitle: 'Kiểm tra kiến thức của bạn', + questionsCount: 'câu hỏi', + totalPrefix: 'Tất cả', + pointsSuffix: 'điểm', + startQuiz: 'Bắt đầu làm bài', + multipleChoiceHint: '(Nhiều lựa chọn — chọn tất cả đáp án đúng)', + inputPlaceholder: 'Nhập câu trả lời của bạn ở đây...', + charCount: 'ký tự', + yourAnswer: 'Câu trả lời của bạn:', + notAnswered: 'Chưa trả lời', + aiComment: 'Đánh giá của AI', + singleChoice: 'Một đáp án', + multipleChoice: 'Nhiều đáp án', + shortAnswer: 'Câu trả lời ngắn', + analysis: 'Giải thích: ', + excellent: 'Tuyệt vời!', + keepGoing: 'Tiếp tục phát huy nhé!', + needsReview: 'Cần ôn tập lại', + correct: 'chính xác', + incorrect: 'chưa đúng', + answering: 'Đang làm bài', + submitAnswers: 'Nộp bài', + aiGrading: 'AI đang chấm điểm...', + aiGradingWait: 'Vui lòng chờ, đang phân tích câu trả lời của bạn', + quizReport: 'Kết quả làm bài', + retry: 'Làm lại', + }, + roundtable: { + teacher: 'GIÁO VIÊN', + you: 'BẠN', + inputPlaceholder: 'Nhập tin nhắn của bạn...', + listening: 'Đang nghe...', + processing: 'Đang xử lý...', + noSpeechDetected: 'Không nhận diện được giọng nói, vui lòng thử lại', + discussionEnded: 'Thảo luận đã kết thúc', + qaEnded: 'Q&A đã kết thúc', + thinking: 'Đang suy nghĩ', + yourTurn: 'Lượt của bạn', + stopDiscussion: 'Dừng thảo luận', + autoPlay: 'Tự động phát lời nói', + autoPlayOff: 'Dừng tự động phát', + speed: 'Tốc độ', + voiceInput: 'Nhập bằng giọng nói', + voiceInputDisabled: 'Nhập giọng nói đang bị tắt', + textInput: 'Nhập văn bản', + stopRecording: 'Dừng ghi âm', + startRecording: 'Bắt đầu ghi âm', + }, + pbl: { + legacyFormat: 'Cảnh PBL này sử dụng định dạng cũ. Vui lòng tạo lại khóa học.', + emptyProject: 'Dự án PBL chưa được tạo. Vui lòng tạo thông qua phần Tạo khóa học.', + roleSelection: { + title: 'Chọn vai trò của bạn', + description: 'Chọn một vai trò để bắt đầu cộng tác trong dự án', + }, + workspace: { + restart: 'Khởi động lại', + confirmRestart: 'Đặt lại toàn bộ tiến độ?', + confirm: 'Xác nhận', + cancel: 'Hủy bỏ', + }, + issueboard: { + title: 'Danh sách công việc', + noIssues: 'Chưa có công việc nào', + statusDone: 'Hoàn thành', + statusActive: 'Đang thực hiện', + statusPending: 'Chờ xử lý', + }, + chat: { + title: 'Thảo luận dự án', + currentIssue: 'Công việc hiện tại', + mentionHint: 'Dùng @question để đặt câu hỏi, @judge để gửi duyệt', + placeholder: 'Nhập tin nhắn...', + send: 'Gửi', + welcomeMessage: + 'Xin chào! Tôi là Trợ lý giải đáp cho nhiệm vụ: "{title}"\n\nĐể hỗ trợ bạn, tôi đã chuẩn bị một số câu hỏi gợi ý:\n\n{questions}\n\nHãy thoải mái @question tôi lúc nào cũng được nếu bạn cần trợ giúp nhé!', + issueCompleteMessage: 'Công việc "{completed}" đã hoàn thành! Chuyển sang phần tiếp theo: "{next}"', + allCompleteMessage: '🎉 Tất cả công việc đã hoàn tất! Bạn làm dự án tốt lắm!', + }, + guide: { + howItWorks: 'Hướng dẫn sử dụng', + help: 'Trợ giúp', + title: 'Trợ giúp', + step1: { + title: 'Bước 1: Chọn một Vai trò', + desc: 'Sau khi nội dung dự án được tạo, hãy chọn một vai trò từ danh sách (các vai trò không có biểu tượng 🟢 là vai trò của hệ thống)', + }, + step2: { + title: 'Bước 2: Hoàn thành nhiệm vụ', + desc: 'Mỗi nhiệm vụ tượng trưng cho một mục tiêu học tập:', + s1: { + title: 'Xem công việc hiện tại', + desc: 'Kiểm tra chủ đề, mô tả và người được giao', + }, + s2: { + title: 'Nhận hướng dẫn', + example: '@question Tôi nên bắt đầu từ đâu?\n@question Làm sao thiết lập được tính năng này?', + desc: 'Trợ lý câu hỏi sẽ đặt các câu hỏi để định hướng giúp bạn (sẽ không cung cấp ngay ra đáp án)', + }, + s3: { + title: 'Nộp bài làm của bạn', + example: "@judge Tôi đã làm xong, vui lòng kiểm tra Ghi chú của tôi", + desc: 'Trợ lý giám khảo sẽ đánh giá và đưa ra nhận xét:', + complete: 'Tự động tiến đến nhiệm vụ tiếp theo', + revision: 'Cải tiến dựa trên nhận xét mới nhất', + }, + }, + step3: { + title: 'Bước 3: Hoàn thành dự án', + desc: 'Sau khi tất cả các nhiệm vụ được đánh dấu hoàn tất, hệ thống sẽ hiện thông báo "🎉 Hoàn tất dự án!"', + }, + }, + }, + share: { + notReady: 'Có thể chia sẻ sau khi chạy tạo hoàn tất', + }, +} as const; diff --git a/lib/i18n/types.ts b/lib/i18n/types.ts index 6173b0be3..17228bb43 100644 --- a/lib/i18n/types.ts +++ b/lib/i18n/types.ts @@ -1,3 +1,3 @@ -export type Locale = 'zh-CN' | 'en-US'; +export type Locale = 'zh-CN' | 'en-US' | 'vi-VN'; export const defaultLocale: Locale = 'zh-CN'; diff --git a/lib/server/classroom-generation.ts b/lib/server/classroom-generation.ts index eda67b4c4..f2eb796db 100644 --- a/lib/server/classroom-generation.ts +++ b/lib/server/classroom-generation.ts @@ -28,6 +28,7 @@ import { } from '@/lib/server/classroom-media-generation'; import type { UserRequirements } from '@/lib/types/generation'; import type { Scene, Stage } from '@/lib/types/stage'; +import type { Locale } from '@/lib/i18n/types'; const log = createLogger('Classroom'); @@ -96,8 +97,8 @@ function createInMemoryStore(stage: Stage): StageStore { }; } -function normalizeLanguage(language?: string): 'zh-CN' | 'en-US' { - return language === 'en-US' ? 'en-US' : 'zh-CN'; +function normalizeLanguage(language?: string): Locale { + return language === 'en-US' ? 'en-US' : language === 'vi-VN' ? 'vi-VN' : 'zh-CN'; } function stripCodeFences(text: string): string { diff --git a/lib/types/generation.ts b/lib/types/generation.ts index c1e6eb7a7..8e07df40e 100644 --- a/lib/types/generation.ts +++ b/lib/types/generation.ts @@ -7,6 +7,7 @@ import type { ActionType } from './action'; import type { MediaGenerationRequest } from '@/lib/media/types'; +import type { Locale } from '@/lib/i18n/types'; // ==================== PDF Image Types ==================== @@ -64,7 +65,7 @@ export interface UploadedDocument { */ export interface UserRequirements { requirement: string; // Single free-form text for all user input - language: 'zh-CN' | 'en-US'; // Course language - critical for generation + language: Locale; // Course language - critical for generation userNickname?: string; // Student nickname for personalization userBio?: string; // Student background for personalization webSearch?: boolean; // Enable web search for richer context @@ -100,7 +101,7 @@ export interface SceneOutline { teachingObjective?: string; estimatedDuration?: number; // seconds order: number; - language?: 'zh-CN' | 'en-US'; // Generation language (inherited from requirements) + language?: Locale; // Generation language (inherited from requirements) // Suggested image IDs (from PDF-extracted images) suggestedImageIds?: string[]; // e.g., ["img_1", "img_3"] // AI-generated media requests (when PDF images are insufficient) @@ -124,7 +125,7 @@ export interface SceneOutline { projectDescription: string; targetSkills: string[]; issueCount?: number; - language: 'zh-CN' | 'en-US'; + language: Locale; }; } diff --git a/result.mp3 b/result.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..b388c36dd2ecf0ef328a9e5124ca2c2e9e99db12 GIT binary patch literal 144044 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 HQENVS5)?S2@akHCPDkgsuH0O&kTtBBj2-MQs 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
_AMjrcoVP(-^liDCZ>X&BriFnd6nfKrY# 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 literal 0 HcmV?d00001 diff --git a/result.wav b/result.wav new file mode 100644 index 0000000000000000000000000000000000000000..be20b0e3be0eb11dc049050a3bf79cde8a33f16c GIT binary patch literal 121004 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 Date: Tue, 31 Mar 2026 20:35:24 +0700 Subject: [PATCH 2/2] feat: integrate VieNeu TTS provider MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add 'vieneu-tts' to TTSProviderId union type - Register VieNeu provider in TTS_PROVIDERS with 4 Vietnamese voices: * Xuân Vĩnh (Nam - Miền Nam) — default * Thục Đoan (Nữ - Miền Nam) * Đoan Trang (Nữ - Miền Bắc) * Phạm Tuyên (Nam - Miền Bắc) - Implement generateVieNeuTTS() using GET /stream endpoint (WAV output) - Add parrot emoji icon (🦜) at public/logos/vieneu.svg - Add Base URL + Voice dropdown form fields in tts-settings.tsx - Add 'vieneu-tts' to store default config (no API key required) - Add i18n translations for provider name and voices in zh-CN, en-US, vi-VN - Update getTTSProviderName() map in all 3 UI components --- components/generation/media-popover.tsx | 1 + components/settings/audio-settings.tsx | 1 + components/settings/index.tsx | 1 + components/settings/tts-settings.tsx | 55 ++++++++++++++++++++++++- lib/audio/constants.ts | 46 +++++++++++++++++++++ lib/audio/tts-providers.ts | 38 +++++++++++++++++ lib/audio/types.ts | 1 + lib/i18n/settings.ts | 18 ++++++++ lib/store/settings.ts | 1 + public/logos/vieneu.svg | 3 ++ 10 files changed, 163 insertions(+), 2 deletions(-) create mode 100644 public/logos/vieneu.svg diff --git a/components/generation/media-popover.tsx b/components/generation/media-popover.tsx index a09a32432..de9a56618 100644 --- a/components/generation/media-popover.tsx +++ b/components/generation/media-popover.tsx @@ -91,6 +91,7 @@ function getTTSProviderName(providerId: TTSProviderId, t: (key: string) => strin 'doubao-tts': t('settings.providerDoubaoTTS'), 'elevenlabs-tts': t('settings.providerElevenLabsTTS'), 'minimax-tts': t('settings.providerMiniMaxTTS'), + 'vieneu-tts': t('settings.providerVieNeuTTS'), 'browser-native-tts': t('settings.providerBrowserNativeTTS'), }; return names[providerId] || providerId; diff --git a/components/settings/audio-settings.tsx b/components/settings/audio-settings.tsx index d88590ac0..994661280 100644 --- a/components/settings/audio-settings.tsx +++ b/components/settings/audio-settings.tsx @@ -40,6 +40,7 @@ function getTTSProviderName(providerId: TTSProviderId, t: (key: string) => strin 'doubao-tts': t('settings.providerDoubaoTTS'), 'elevenlabs-tts': t('settings.providerElevenLabsTTS'), 'minimax-tts': t('settings.providerMiniMaxTTS'), + 'vieneu-tts': t('settings.providerVieNeuTTS'), 'browser-native-tts': t('settings.providerBrowserNativeTTS'), }; return names[providerId]; diff --git a/components/settings/index.tsx b/components/settings/index.tsx index 5f122e2e5..d76c68065 100644 --- a/components/settings/index.tsx +++ b/components/settings/index.tsx @@ -124,6 +124,7 @@ function getTTSProviderName(providerId: TTSProviderId, t: (key: string) => strin 'doubao-tts': t('settings.providerDoubaoTTS'), 'elevenlabs-tts': t('settings.providerElevenLabsTTS'), 'minimax-tts': t('settings.providerMiniMaxTTS'), + 'vieneu-tts': t('settings.providerVieNeuTTS'), 'browser-native-tts': t('settings.providerBrowserNativeTTS'), }; return names[providerId]; diff --git a/components/settings/tts-settings.tsx b/components/settings/tts-settings.tsx index 4a35a4f36..75f9ded19 100644 --- a/components/settings/tts-settings.tsx +++ b/components/settings/tts-settings.tsx @@ -4,9 +4,16 @@ import { useState, useEffect } from 'react'; import { Label } from '@/components/ui/label'; import { Input } from '@/components/ui/input'; import { Button } from '@/components/ui/button'; +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from '@/components/ui/select'; import { useI18n } from '@/lib/hooks/use-i18n'; import { useSettingsStore } from '@/lib/store/settings'; -import { TTS_PROVIDERS, DEFAULT_TTS_VOICES } from '@/lib/audio/constants'; +import { TTS_PROVIDERS, DEFAULT_TTS_VOICES, getTTSVoices } from '@/lib/audio/constants'; import type { TTSProviderId } from '@/lib/audio/types'; import { Volume2, Loader2, CheckCircle2, XCircle, Eye, EyeOff } from 'lucide-react'; import { cn } from '@/lib/utils'; @@ -26,6 +33,7 @@ export function TTSSettings({ selectedProviderId }: TTSSettingsProps) { const ttsSpeed = useSettingsStore((state) => state.ttsSpeed); const ttsProvidersConfig = useSettingsStore((state) => state.ttsProvidersConfig); const setTTSProviderConfig = useSettingsStore((state) => state.setTTSProviderConfig); + const setTTSVoice = useSettingsStore((state) => state.setTTSVoice); const activeProviderId = useSettingsStore((state) => state.ttsProviderId); // When testing a non-active provider, use that provider's default voice @@ -46,6 +54,7 @@ export function TTSSettings({ selectedProviderId }: TTSSettingsProps) { // Doubao TTS uses compound "appId:accessKey" — split for separate UI fields const isDoubao = selectedProviderId === 'doubao-tts'; + const isVieNeu = selectedProviderId === 'vieneu-tts'; const rawApiKey = ttsProvidersConfig[selectedProviderId]?.apiKey || ''; const doubaoColonIdx = rawApiKey.indexOf(':'); const doubaoAppId = isDoubao && doubaoColonIdx > 0 ? rawApiKey.slice(0, doubaoColonIdx) : ''; @@ -112,8 +121,50 @@ export function TTSSettings({ selectedProviderId }: TTSSettingsProps) { )} + {/* VieNeu TTS: Base URL + Voice (no API key required) */} + {isVieNeu && ( +
+
+ + + setTTSProviderConfig(selectedProviderId, { + baseUrl: e.target.value, + }) + } + className="text-sm" + /> +
+
+ + +
+
+ )} + {/* API Key & Base URL */} - {(ttsProvider.requiresApiKey || isServerConfigured) && ( + {!isVieNeu && (ttsProvider.requiresApiKey || isServerConfigured) && ( <>
{isDoubao ? ( diff --git a/lib/audio/constants.ts b/lib/audio/constants.ts index 423f5b82c..b2882952c 100644 --- a/lib/audio/constants.ts +++ b/lib/audio/constants.ts @@ -883,6 +883,50 @@ export const TTS_PROVIDERS: Record = { speedRange: { min: 0.7, max: 1.2, default: 1.0 }, }, + 'vieneu-tts': { + id: 'vieneu-tts', + name: 'VieNeu TTS (Tiếng Việt)', + requiresApiKey: false, + defaultBaseUrl: 'http://127.0.0.1:8001', + icon: '/logos/vieneu.svg', + models: [], + defaultModelId: '', + voices: [ + // Miền Nam (Southern accent) + { + id: 'Xuân Vĩnh (Nam - Miền Nam)', + name: 'Xuân Vĩnh (Nam - Miền Nam)', + language: 'vi-VN', + gender: 'male', + description: 'vieneuVoiceXuanVinh', + }, + { + id: 'Thục Đoan (Nữ - Miền Nam)', + name: 'Thục Đoan (Nữ - Miền Nam)', + language: 'vi-VN', + gender: 'female', + description: 'vieneuVoiceThucDoan', + }, + // Miền Bắc (Northern accent) + { + id: 'Đoan Trang (Nữ - Miền Bắc)', + name: 'Đoan Trang (Nữ - Miền Bắc)', + language: 'vi-VN', + gender: 'female', + description: 'vieneuVoiceDoanTrang', + }, + { + id: 'Phạm Tuyên (Nam - Miền Bắc)', + name: 'Phạm Tuyên (Nam - Miền Bắc)', + language: 'vi-VN', + gender: 'male', + description: 'vieneuVoicePhamTuyen', + }, + ], + supportedFormats: ['wav'], + speedRange: { min: 0.5, max: 2.0, default: 1.0 }, + }, + 'browser-native-tts': { id: 'browser-native-tts', name: '浏览器原生 (Web Speech API)', @@ -1125,6 +1169,7 @@ export const DEFAULT_TTS_VOICES: Record = { 'doubao-tts': 'zh_female_vv_uranus_bigtts', 'elevenlabs-tts': 'EXAVITQu4vr4xnSDxMaL', 'minimax-tts': 'female-yujie', + 'vieneu-tts': 'Xuân Vĩnh (Nam - Miền Nam)', 'browser-native-tts': 'default', }; @@ -1136,6 +1181,7 @@ export const DEFAULT_TTS_MODELS: Record = { 'doubao-tts': '', 'elevenlabs-tts': 'eleven_multilingual_v2', 'minimax-tts': 'speech-2.8-hd', + 'vieneu-tts': '', 'browser-native-tts': '', }; diff --git a/lib/audio/tts-providers.ts b/lib/audio/tts-providers.ts index 67f0e7cc0..397d5db57 100644 --- a/lib/audio/tts-providers.ts +++ b/lib/audio/tts-providers.ts @@ -157,6 +157,9 @@ export async function generateTTS( case 'elevenlabs-tts': return await generateElevenLabsTTS(config, text); + case 'vieneu-tts': + return await generateVieNeuTTS(config, text); + case 'browser-native-tts': throw new Error( 'Browser Native TTS must be handled client-side using Web Speech API. This provider cannot be used on the server.', @@ -581,6 +584,41 @@ async function generateDoubaoTTS( return { audio: combined, format: 'mp3' }; } +/** + * VieNeu TTS implementation (local Vietnamese TTS server) + * API: GET /stream?text=&voice_id= + * Returns: WAV audio + */ +async function generateVieNeuTTS( + config: TTSModelConfig, + text: string, +): Promise { + const baseUrl = (config.baseUrl || TTS_PROVIDERS['vieneu-tts'].defaultBaseUrl || '').replace( + /\/$/, + '', + ); + + const params = new URLSearchParams({ + text, + voice_id: config.voice, + }); + + const response = await fetch(`${baseUrl}/stream?${params.toString()}`, { + method: 'GET', + }); + + if (!response.ok) { + const errorText = await response.text().catch(() => response.statusText); + throw new Error(`VieNeu TTS API error (${response.status}): ${errorText}`); + } + + const arrayBuffer = await response.arrayBuffer(); + return { + audio: new Uint8Array(arrayBuffer), + format: 'wav', + }; +} + /** * Escape XML special characters for SSML */ diff --git a/lib/audio/types.ts b/lib/audio/types.ts index 0c3c91792..645e2ac31 100644 --- a/lib/audio/types.ts +++ b/lib/audio/types.ts @@ -86,6 +86,7 @@ export type TTSProviderId = | 'doubao-tts' | 'elevenlabs-tts' | 'minimax-tts' + | 'vieneu-tts' | 'browser-native-tts'; // Add new TTS providers below (uncomment and modify): // | 'fish-audio-tts' diff --git a/lib/i18n/settings.ts b/lib/i18n/settings.ts index 6c79fb338..560b60827 100644 --- a/lib/i18n/settings.ts +++ b/lib/i18n/settings.ts @@ -229,6 +229,7 @@ export const settingsZhCN = { providerDoubaoTTS: '豆包 TTS 2.0(火山引擎)', providerElevenLabsTTS: 'ElevenLabs TTS', providerMiniMaxTTS: 'MiniMax TTS', + providerVieNeuTTS: 'VieNeu TTS(越南本地语音)', providerBrowserNativeTTS: '浏览器原生 TTS', providerOpenAIWhisper: 'OpenAI ASR (gpt-4o-mini-transcribe)', providerBrowserNative: '浏览器原生 ASR', @@ -342,6 +343,11 @@ export const settingsZhCN = { qwenVoiceEric: '跳脱市井的成都男子', qwenVoiceRocky: '幽默风趣的阿强', qwenVoiceKiki: '甜美的港妹闺蜜', + // TTS Voice descriptions (VieNeu) + vieneuVoiceXuanVinh: '男声 - 南部口音(默认)', + vieneuVoiceThucDoan: '女声 - 南部口音', + vieneuVoiceDoanTrang: '女声 - 北部口音', + vieneuVoicePhamTuyen: '男声 - 北部口音', // ASR Language names (native forms - autoglossonyms) lang_auto: '自动检测', lang_zh: '中文', @@ -827,6 +833,7 @@ export const settingsEnUS = { providerDoubaoTTS: 'Doubao TTS 2.0 (Volcengine)', providerElevenLabsTTS: 'ElevenLabs TTS', providerMiniMaxTTS: 'MiniMax TTS', + providerVieNeuTTS: 'VieNeu TTS (Vietnamese Local TTS)', providerBrowserNativeTTS: 'Browser Native TTS', providerOpenAIWhisper: 'OpenAI ASR (gpt-4o-mini-transcribe)', providerBrowserNative: 'Browser Native ASR', @@ -940,6 +947,11 @@ export const settingsEnUS = { qwenVoiceEric: 'Chengdu gentleman', qwenVoiceRocky: 'Humorous Hong Kong guy', qwenVoiceKiki: 'Sweet Hong Kong girl', + // TTS Voice descriptions (VieNeu) + vieneuVoiceXuanVinh: 'Male - Southern accent (default)', + vieneuVoiceThucDoan: 'Female - Southern accent', + vieneuVoiceDoanTrang: 'Female - Northern accent', + vieneuVoicePhamTuyen: 'Male - Northern accent', // ASR Language names (native forms - autoglossonyms) lang_auto: 'Auto Detect', lang_zh: '中文', @@ -1431,6 +1443,7 @@ export const settingsViVN = { providerDoubaoTTS: 'Doubao TTS 2.0 (Volcengine)', providerElevenLabsTTS: 'ElevenLabs TTS', providerMiniMaxTTS: 'MiniMax TTS', + providerVieNeuTTS: 'VieNeu TTS (Tiếng Việt địa phương)', providerBrowserNativeTTS: 'Giọng nói cơ bản trong Trình duyệt', providerOpenAIWhisper: 'OpenAI ASR (gpt-4o-mini-transcribe)', providerBrowserNative: 'Hỗ trợ bằng micro từ Trình duyệt', @@ -1544,6 +1557,11 @@ export const settingsViVN = { qwenVoiceEric: 'Thục nam Thành Đô quý giá', qwenVoiceRocky: 'Người nhà bên Hồng Kông ngông ngênh', qwenVoiceKiki: 'Gái kiêu sa Hongkong thuần 100%', + // TTS Voice descriptions (VieNeu) + vieneuVoiceXuanVinh: 'Nam - Miền Nam (Mặc định)', + vieneuVoiceThucDoan: 'Nữ - Miền Nam', + vieneuVoiceDoanTrang: 'Nữ - Miền Bắc', + vieneuVoicePhamTuyen: 'Nam - Miền Bắc', // ASR Language names (native forms - autoglossonyms) lang_auto: 'Nhận diện tự động', lang_zh: '中文', diff --git a/lib/store/settings.ts b/lib/store/settings.ts index 4b088bbc6..f49ebddc7 100644 --- a/lib/store/settings.ts +++ b/lib/store/settings.ts @@ -290,6 +290,7 @@ const getDefaultAudioConfig = () => ({ 'doubao-tts': { apiKey: '', baseUrl: '', enabled: false }, 'elevenlabs-tts': { apiKey: '', baseUrl: '', enabled: false }, 'minimax-tts': { apiKey: '', baseUrl: '', modelId: 'speech-2.8-hd', enabled: false }, + 'vieneu-tts': { apiKey: '', baseUrl: '', enabled: false }, 'browser-native-tts': { apiKey: '', baseUrl: '', enabled: true }, } as Record< TTSProviderId, diff --git a/public/logos/vieneu.svg b/public/logos/vieneu.svg new file mode 100644 index 000000000..e808621e6 --- /dev/null +++ b/public/logos/vieneu.svg @@ -0,0 +1,3 @@ + + 🦜 +