diff --git a/src/lang/en.ts b/src/lang/en.ts index fe762dc1..bd0db5cb 100644 --- a/src/lang/en.ts +++ b/src/lang/en.ts @@ -1073,4 +1073,5 @@ export const languageEnglish = { experimentalChatCompression: "Experimental Chat Data Handling", loadingChatData: "Loading Chat Data", outputImageModal: "Output Image Modal", + playMessageOnTranslateEnd: "Play Audio on Translate Completion", } diff --git a/src/lib/Setting/Pages/DisplaySettings.svelte b/src/lib/Setting/Pages/DisplaySettings.svelte index b1a43c01..5d3ec6c1 100644 --- a/src/lib/Setting/Pages/DisplaySettings.svelte +++ b/src/lib/Setting/Pages/DisplaySettings.svelte @@ -273,6 +273,10 @@ +
+ +
+
diff --git a/src/ts/storage/database.svelte.ts b/src/ts/storage/database.svelte.ts index bc8b595d..1f1062cf 100644 --- a/src/ts/storage/database.svelte.ts +++ b/src/ts/storage/database.svelte.ts @@ -929,6 +929,7 @@ export interface Database{ chatCompression: boolean claudeRetrivalCaching: boolean outputImageModal: boolean + playMessageOnTranslateEnd:boolean } diff --git a/src/ts/translator/translator.ts b/src/ts/translator/translator.ts index b776c66c..9a8ea999 100644 --- a/src/ts/translator/translator.ts +++ b/src/ts/translator/translator.ts @@ -11,6 +11,7 @@ import { getModuleRegexScripts } from "../process/modules" import { getNodetextToSentence, sleep } from "../util" import { processScriptFull } from "../process/scripts" import localforage from "localforage" +import sendSound from '../../etc/send.mp3' let cache={ origin: [''], @@ -265,7 +266,13 @@ export async function translateHTML(html: string, reverse:boolean, charArg:simpl if(db.translatorType === 'llm'){ const tr = db.translator || 'en' const from = db.translatorInputLanguage - return translateLLM(html, {to: tr, from: from, regenerate}) + const r = translateLLM(html, {to: tr, from: from, regenerate}) + if(db.playMessageOnTranslateEnd){ + const audio = new Audio(sendSound); + audio.play(); + } + + return r } const dom = new DOMParser().parseFromString(html, 'text/html'); console.log(html)