From 88947e2e66f3812d4ee04c8a1ea8324cd22bf9b9 Mon Sep 17 00:00:00 2001 From: kwaroran Date: Sat, 13 May 2023 19:01:48 +0900 Subject: [PATCH] [feat] added translation delay --- src/ts/translator/translator.ts | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/ts/translator/translator.ts b/src/ts/translator/translator.ts index a848dce8..76935e0b 100644 --- a/src/ts/translator/translator.ts +++ b/src/ts/translator/translator.ts @@ -1,12 +1,15 @@ import { Body,fetch,ResponseType } from "@tauri-apps/api/http" import { isTauri } from "../globalApi" import { translatorPlugin } from "../process/plugins" +import { sleep } from "../util" let cache={ origin: [''], trans: [''] } +let waitTrans = 0 + export async function translate(text:string, reverse:boolean) { if(!isTauri){ return text @@ -32,6 +35,15 @@ export async function translate(text:string, reverse:boolean) { } async function googleTrans(text:string, reverse:boolean) { + const time = Date.now() + if(time < waitTrans){ + const waitTime = waitTrans - time + waitTrans += 5000 + await sleep(waitTime) + } + else{ + waitTrans = time + 5000 + } const arg = { from: reverse ? 'ko' : 'en', to: reverse ? 'en' : 'ko', @@ -54,5 +66,8 @@ async function googleTrans(text:string, reverse:boolean) { if(typeof(f.data) === 'string'){ return res as unknown as string } - return res.sentences.filter((s) => 'trans' in s).map((s) => s.trans).join(''); + const result = res.sentences.filter((s) => 'trans' in s).map((s) => s.trans).join(''); + cache.origin.push(reverse ? result : text) + cache.trans.push(reverse ? text : result) + return result } \ No newline at end of file