From 98576eeae464f9a0adb11aa7d1b7e411565ab1e7 Mon Sep 17 00:00:00 2001 From: kwaroran Date: Wed, 10 Jul 2024 15:58:32 +0900 Subject: [PATCH] fix style-data --- src/ts/translator/translator.ts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/ts/translator/translator.ts b/src/ts/translator/translator.ts index acbf62b2..e974d233 100644 --- a/src/ts/translator/translator.ts +++ b/src/ts/translator/translator.ts @@ -448,6 +448,13 @@ async function translateLLM(text:string, arg:{to:string}){ if(llmCache.has(text)){ return llmCache.get(text) } + const styleDecodeRegex = /\(.+?)\<\/risu-style\>/gms + let styleDecodes:string[] = [] + text = text.replace(styleDecodeRegex, (match, p1) => { + styleDecodes.push(p1) + return `` + }) + const db = get(DataBase) let formated:OpenAIChat[] = [] let prompt = db.translatorPrompt || `You are a translator. translate the following html or text into {{slot}}. do not output anything other than the translation.` @@ -480,6 +487,9 @@ async function translateLLM(text:string, arg:{to:string}){ alertError(`${rq.result}`) return text } - llmCache.set(text, rq.result) - return rq.result + const result = rq.result.replace(//g, (match, p1) => { + return styleDecodes[parseInt(p1)] ?? '' + }).replace(/<\/style-data>/g, '') + llmCache.set(text, result) + return result } \ No newline at end of file