From 1562f0549fce100e4d3b52469dc6c361480bb41b Mon Sep 17 00:00:00 2001
From: Bo26fhmC5M <88071760+Bo26fhmC5M@users.noreply.github.com>
Date: Sun, 16 Feb 2025 08:53:41 +0900
Subject: [PATCH 1/2] feat: add option to show translation loading
---
src/lang/en.ts | 1 +
src/lang/ko.ts | 1 +
src/lib/ChatScreens/Chat.svelte | 4 ++++
src/lib/Setting/Pages/AccessibilitySettings.svelte | 6 +++++-
src/ts/storage/database.svelte.ts | 1 +
5 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/src/lang/en.ts b/src/lang/en.ts
index f91d8099..f33b3572 100644
--- a/src/lang/en.ts
+++ b/src/lang/en.ts
@@ -1044,4 +1044,5 @@ export const languageEnglish = {
emptySelectedFirstMessageLabel: "WARN: Selected first message is empty",
},
bulkEnabling: "Lorebook Bulk Enabling",
+ showTranslationLoading: "Show Translation Loading",
}
diff --git a/src/lang/ko.ts b/src/lang/ko.ts
index f7642e9c..ca0ee54e 100644
--- a/src/lang/ko.ts
+++ b/src/lang/ko.ts
@@ -966,4 +966,5 @@ export const languageKorean = {
"emptySelectedFirstMessageLabel": "경고: 선택된 첫 메시지가 비어있습니다"
},
"bulkEnabling": "한번에 로어북 활성화 버튼",
+ "showTranslationLoading": "번역 로딩 보이기",
}
diff --git a/src/lib/ChatScreens/Chat.svelte b/src/lib/ChatScreens/Chat.svelte
index 004e437d..837874de 100644
--- a/src/lib/ChatScreens/Chat.svelte
+++ b/src/lib/ChatScreens/Chat.svelte
@@ -162,6 +162,10 @@
}
}
if(translateText){
+ if (!retranslate && DBState.db.showTranslationLoading) {
+ lastParsed = `
`
+ }
+
let doRetranslate = retranslate
retranslate = false
if(DBState.db.translatorType === 'llm' && DBState.db.translateBeforeHTMLFormatting){
diff --git a/src/lib/Setting/Pages/AccessibilitySettings.svelte b/src/lib/Setting/Pages/AccessibilitySettings.svelte
index 797747d3..5be627e6 100644
--- a/src/lib/Setting/Pages/AccessibilitySettings.svelte
+++ b/src/lib/Setting/Pages/AccessibilitySettings.svelte
@@ -58,4 +58,8 @@
-
\ No newline at end of file
+
+
+
+
+
diff --git a/src/ts/storage/database.svelte.ts b/src/ts/storage/database.svelte.ts
index 4663de50..eca4fa38 100644
--- a/src/ts/storage/database.svelte.ts
+++ b/src/ts/storage/database.svelte.ts
@@ -901,6 +901,7 @@ export interface Database{
inlayErrorResponse:boolean
reasoningEffort:number
bulkEnabling:boolean
+ showTranslationLoading: boolean
}
interface SeparateParameters{
From 53eb087943ff51a3060eff37fb7596989ae5bc23 Mon Sep 17 00:00:00 2001
From: Bo26fhmC5M <88071760+Bo26fhmC5M@users.noreply.github.com>
Date: Sun, 16 Feb 2025 08:56:57 +0900
Subject: [PATCH 2/2] fix: optimize auto translation
---
src/lib/ChatScreens/Chat.svelte | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/lib/ChatScreens/Chat.svelte b/src/lib/ChatScreens/Chat.svelte
index 837874de..07a8a74c 100644
--- a/src/lib/ChatScreens/Chat.svelte
+++ b/src/lib/ChatScreens/Chat.svelte
@@ -154,9 +154,17 @@
}
}
+ const lastTranslated = translated
+
setTimeout(() => {
translated = translateText
}, 10)
+
+ // State change of `translated` triggers markParsing again,
+ // causing redundant translation attempts
+ if (lastTranslated !== translateText) {
+ return;
+ }
} catch (error) {
console.error(error)
}