[fix] translation status
This commit is contained in:
@@ -9,6 +9,7 @@
|
|||||||
import { translate, translateHTML } from "../../ts/translator/translator";
|
import { translate, translateHTML } from "../../ts/translator/translator";
|
||||||
import { risuChatParser } from "src/ts/process/scripts";
|
import { risuChatParser } from "src/ts/process/scripts";
|
||||||
import { get } from "svelte/store";
|
import { get } from "svelte/store";
|
||||||
|
import { isEqual } from "lodash";
|
||||||
export let message = ''
|
export let message = ''
|
||||||
export let name = ''
|
export let name = ''
|
||||||
export let largePortrait = false
|
export let largePortrait = false
|
||||||
@@ -67,19 +68,30 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
let lastParsed = ''
|
let lastParsed = ''
|
||||||
|
let lastCharArg:string|simpleCharacterArgument = null
|
||||||
|
let lastChatId = -10
|
||||||
|
|
||||||
const markParsing = async (data: string, charArg?: string | groupChat | simpleCharacterArgument, mode?: "normal" | "back", chatID?: number, translateText?:boolean) => {
|
const markParsing = async (data: string, charArg?: string | simpleCharacterArgument, mode?: "normal" | "back", chatID?: number, translateText?:boolean) => {
|
||||||
|
if((!isEqual(lastCharArg, charArg)) || (chatID !== lastChatId)){
|
||||||
|
lastParsed = ''
|
||||||
|
lastCharArg = charArg
|
||||||
|
lastChatId = chatID
|
||||||
|
translateText = false
|
||||||
|
translated = false
|
||||||
|
}
|
||||||
if(translateText){
|
if(translateText){
|
||||||
const marked = await ParseMarkdown(data, charArg, mode, chatID)
|
const marked = await ParseMarkdown(data, charArg, mode, chatID)
|
||||||
translating = true
|
translating = true
|
||||||
const translated = await translateHTML(marked, false)
|
const translated = await translateHTML(marked, false)
|
||||||
translating = false
|
translating = false
|
||||||
lastParsed = translated
|
lastParsed = translated
|
||||||
|
lastCharArg = charArg
|
||||||
return translated
|
return translated
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
const marked = await ParseMarkdown(data, charArg, mode, chatID)
|
const marked = await ParseMarkdown(data, charArg, mode, chatID)
|
||||||
lastParsed = marked
|
lastParsed = marked
|
||||||
|
lastCharArg = charArg
|
||||||
return marked
|
return marked
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user