diff --git a/src/lib/SideBars/Settings.svelte b/src/lib/SideBars/Settings.svelte
index 8e978836..bedab8ed 100644
--- a/src/lib/SideBars/Settings.svelte
+++ b/src/lib/SideBars/Settings.svelte
@@ -341,13 +341,11 @@
{/if}
- {#if isTauri}
- {language.translator}
-
- {/if}
+ {language.translator}
+
{language.UISize}
{($DataBase.zoomsize)}%
diff --git a/src/ts/translator/translator.ts b/src/ts/translator/translator.ts
index 76935e0b..43f1c84d 100644
--- a/src/ts/translator/translator.ts
+++ b/src/ts/translator/translator.ts
@@ -1,4 +1,4 @@
-import { Body,fetch,ResponseType } from "@tauri-apps/api/http"
+import { Body,fetch as TauriFetch,ResponseType } from "@tauri-apps/api/http"
import { isTauri } from "../globalApi"
import { translatorPlugin } from "../process/plugins"
import { sleep } from "../util"
@@ -11,9 +11,6 @@ let cache={
let waitTrans = 0
export async function translate(text:string, reverse:boolean) {
- if(!isTauri){
- return text
- }
const plug = await translatorPlugin(text, reverse ? 'ko' : 'en', reverse ? 'en' : 'ko')
if(plug){
return plug.content
@@ -35,39 +32,45 @@ 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',
- host: 'translate.google.com',
+
+ host: 'translate.googleapis.com',
+
}
- const body = Body.form({
- sl: reverse ? 'ko' : 'en',
- tl: reverse ? 'en' : 'ko',
- q: text,
- })
- const url = `https://${arg.host}/translate_a/single?client=at&dt=t&dt=rm&dj=1`
+
+
+
+ const url = `https://${arg.host}/translate_a/single?client=gtx&dt=t&sl=${arg.from}&tl=${arg.to}&q=` + encodeURIComponent(text)
+
+
const f = await fetch(url, {
- method: "POST",
- body: body,
- responseType: ResponseType.JSON
+
+ method: "GET",
+
})
- const res = f.data as {sentences:{trans?:string}[]}
- if(typeof(f.data) === 'string'){
+ const res = await f.json()
+
+
+
+ if(typeof(res) === 'string'){
+
return res as unknown as string
+
}
- const result = res.sentences.filter((s) => 'trans' in s).map((s) => s.trans).join('');
+
+ const result = res[0].map((s) => s[0]).filter(Boolean).join('');
+
cache.origin.push(reverse ? result : text)
+
cache.trans.push(reverse ? text : result)
+
return result
+
}
\ No newline at end of file