From da741926eb0e978ab6b2939e522d9b24b81aa7e3 Mon Sep 17 00:00:00 2001 From: Buffett <1buffetts@gmail.com> Date: Thu, 13 Feb 2025 21:15:24 +0800 Subject: [PATCH 1/7] feat: add language support current support web Chatroom Navbar dashboard login template --- src/lib/components/Chatroom.svelte | 32 +++++++- src/lib/components/Navbar.svelte | 50 +++++++++--- src/lib/stores/language.ts | 3 + src/routes/+page.svelte | 35 +++++++-- src/routes/dashboard/+page.svelte | 122 +++++++++++++++++++++++------ src/routes/login/+page.svelte | 22 +++++- 6 files changed, 217 insertions(+), 47 deletions(-) create mode 100644 src/lib/stores/language.ts diff --git a/src/lib/components/Chatroom.svelte b/src/lib/components/Chatroom.svelte index 5415105..b8b83de 100644 --- a/src/lib/components/Chatroom.svelte +++ b/src/lib/components/Chatroom.svelte @@ -3,6 +3,7 @@ import { Mic, Send, Square } from 'lucide-svelte'; // Added Square icon import import AudioPlayer from './AudioPlayer.svelte'; import { renderMarkdown } from '$lib/utils/renderMarkdown'; + import { language } from '$lib/stores/language'; // Import the global language store interface Conversation { name: string; @@ -35,6 +36,25 @@ let messagesContainer: HTMLDivElement; let dots = $state('...'); + const translations = { + en: { + placeholder: 'Type your message...(max 500 characters)', + send: 'Send', + record: 'Record', + waiting: 'Waiting', + stop: 'Stop', + thinking: 'Thinking' + }, + zh: { + placeholder: '手動輸入文字...(最多500個字元)', + send: '送出', + record: '錄音', + waiting: '等待', + stop: '停止', + thinking: '正在思考' + } + }; + function scrollToBottom() { if (!messagesContainer || !autoscroll) return; @@ -147,7 +167,7 @@

- {#await renderMarkdown(`正在思考${dots}`)} + {#await renderMarkdown(`${translations[$language].thinking}${dots}`)} Loading ... {:then content} @@ -167,7 +187,7 @@