From f049cc7674d65ddfceb6c2a21f1e9c1f5a688a35 Mon Sep 17 00:00:00 2001 From: bob798 Date: Thu, 21 May 2026 23:07:10 +0800 Subject: [PATCH 1/4] =?UTF-8?q?feat(translate):=20DeepL=20=E9=A3=8E?= =?UTF-8?q?=E4=B8=89=E6=A0=8F=E5=B8=83=E5=B1=80=20+=20debounce=20+=20stale?= =?UTF-8?q?=20=E9=98=B2=E5=BE=A1=20(PR1/4)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 翻译页 V0.11 重设计第一阶段: - 拆分为 4 个子组件 (TopBar/TranslateInput/TranslateResult/TranslateSidebar) - 三栏 CSS grid 布局 (1fr 1fr 320px),sidebar 可折叠 - 800ms debounce 自动翻译 + 100 条 LRU 前端缓存 - requestId + AbortController stale response 防御 - swap 只切方向不动文本,标记 stale - CJK 比例 ≥30% 自动检测方向,手动 swap 后 5s 内不重判 - Cmd/Ctrl+Enter 手动触发 - 响应式:1024px 双栏、768px 单栏 Co-Authored-By: Claude Opus 4.6 (1M context) --- frontend/src/components/translate/TopBar.vue | 144 ++++++ .../components/translate/TranslateInput.vue | 122 +++++ .../components/translate/TranslateResult.vue | 188 ++++++++ .../components/translate/TranslateSidebar.vue | 66 +++ frontend/src/views/Translate.vue | 452 +++++++++++------- 5 files changed, 806 insertions(+), 166 deletions(-) create mode 100644 frontend/src/components/translate/TopBar.vue create mode 100644 frontend/src/components/translate/TranslateInput.vue create mode 100644 frontend/src/components/translate/TranslateResult.vue create mode 100644 frontend/src/components/translate/TranslateSidebar.vue diff --git a/frontend/src/components/translate/TopBar.vue b/frontend/src/components/translate/TopBar.vue new file mode 100644 index 0000000..bb4cbe5 --- /dev/null +++ b/frontend/src/components/translate/TopBar.vue @@ -0,0 +1,144 @@ + + + + + diff --git a/frontend/src/components/translate/TranslateInput.vue b/frontend/src/components/translate/TranslateInput.vue new file mode 100644 index 0000000..62d7ab8 --- /dev/null +++ b/frontend/src/components/translate/TranslateInput.vue @@ -0,0 +1,122 @@ + + + + + diff --git a/frontend/src/components/translate/TranslateResult.vue b/frontend/src/components/translate/TranslateResult.vue new file mode 100644 index 0000000..9bbbd03 --- /dev/null +++ b/frontend/src/components/translate/TranslateResult.vue @@ -0,0 +1,188 @@ + + + + + diff --git a/frontend/src/components/translate/TranslateSidebar.vue b/frontend/src/components/translate/TranslateSidebar.vue new file mode 100644 index 0000000..d87a9a5 --- /dev/null +++ b/frontend/src/components/translate/TranslateSidebar.vue @@ -0,0 +1,66 @@ + + + + + diff --git a/frontend/src/views/Translate.vue b/frontend/src/views/Translate.vue index 24e2d9f..a889312 100644 --- a/frontend/src/views/Translate.vue +++ b/frontend/src/views/Translate.vue @@ -1,67 +1,192 @@