[feat] added 0613 to reverse proxy
This commit is contained in:
@@ -417,4 +417,8 @@ export const languageEnglish = {
|
|||||||
emotionMethod: "Emotion Method",
|
emotionMethod: "Emotion Method",
|
||||||
continueResponse: "Continue Response",
|
continueResponse: "Continue Response",
|
||||||
showMenuChatList: "Show Menu Chat List",
|
showMenuChatList: "Show Menu Chat List",
|
||||||
|
translatorLanguage: "Translator Language",
|
||||||
|
translatorType: "Translator Type",
|
||||||
|
deeplKey: "deepL API Key",
|
||||||
|
deeplFreeKey: "deepL Free API Key",
|
||||||
}
|
}
|
||||||
@@ -143,6 +143,8 @@
|
|||||||
<OptionInput value="gpt4_32k">GPT-4 32k</OptionInput>
|
<OptionInput value="gpt4_32k">GPT-4 32k</OptionInput>
|
||||||
<OptionInput value="gpt35_0301">GPT-3.5 0301</OptionInput>
|
<OptionInput value="gpt35_0301">GPT-3.5 0301</OptionInput>
|
||||||
<OptionInput value="gpt4_0301">GPT-4 0301</OptionInput>
|
<OptionInput value="gpt4_0301">GPT-4 0301</OptionInput>
|
||||||
|
<OptionInput value="gpt35_0613">GPT-3.5 0613</OptionInput>
|
||||||
|
<OptionInput value="gpt4_0613">GPT-4 0613</OptionInput>
|
||||||
<OptionInput value="claude-2">claude-2</OptionInput>
|
<OptionInput value="claude-2">claude-2</OptionInput>
|
||||||
<OptionInput value="claude-v1.3">claude-v1.3</OptionInput>
|
<OptionInput value="claude-v1.3">claude-v1.3</OptionInput>
|
||||||
<OptionInput value="claude-v1.3-100k">claude-v1.3-100k</OptionInput>
|
<OptionInput value="claude-v1.3-100k">claude-v1.3-100k</OptionInput>
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
import { alertNormal } from "src/ts/alert";
|
import { alertNormal } from "src/ts/alert";
|
||||||
import { downloadFile } from "src/ts/storage/globalApi";
|
import { downloadFile } from "src/ts/storage/globalApi";
|
||||||
import { languageEnglish } from "src/lang/en";
|
import { languageEnglish } from "src/lang/en";
|
||||||
|
import TextInput from "src/lib/UI/GUI/TextInput.svelte";
|
||||||
let langChanged = false
|
let langChanged = false
|
||||||
</script>
|
</script>
|
||||||
<h2 class="mb-2 text-2xl font-bold mt-2">{language.language}</h2>
|
<h2 class="mb-2 text-2xl font-bold mt-2">{language.language}</h2>
|
||||||
@@ -32,7 +33,7 @@
|
|||||||
{#if langChanged}
|
{#if langChanged}
|
||||||
<span class="bg-red-500 text-sm">Close the settings to take effect</span>
|
<span class="bg-red-500 text-sm">Close the settings to take effect</span>
|
||||||
{/if}
|
{/if}
|
||||||
<span class="text-textcolor mt-4">{language.translator}</span>
|
<span class="text-textcolor mt-4">{language.translatorLanguage}</span>
|
||||||
<SelectInput className="mt-2 mb-4" bind:value={$DataBase.translator}>
|
<SelectInput className="mt-2 mb-4" bind:value={$DataBase.translator}>
|
||||||
<OptionInput value="" >{language.disabled}</OptionInput>
|
<OptionInput value="" >{language.disabled}</OptionInput>
|
||||||
<OptionInput value="ko" >Korean</OptionInput>
|
<OptionInput value="ko" >Korean</OptionInput>
|
||||||
@@ -46,17 +47,28 @@
|
|||||||
<OptionInput value="id" >Indonesian</OptionInput>
|
<OptionInput value="id" >Indonesian</OptionInput>
|
||||||
<OptionInput value="ms" >Malaysian</OptionInput>
|
<OptionInput value="ms" >Malaysian</OptionInput>
|
||||||
<OptionInput value="uk" >Ukranian</OptionInput>
|
<OptionInput value="uk" >Ukranian</OptionInput>
|
||||||
|
|
||||||
</SelectInput>
|
</SelectInput>
|
||||||
|
|
||||||
{#if $DataBase.translator}
|
{#if $DataBase.translator}
|
||||||
|
<span class="text-textcolor mt-4">{language.translatorType}</span>
|
||||||
|
<SelectInput className="mt-2 mb-4" bind:value={$DataBase.translatorType}>
|
||||||
|
<OptionInput value="google" >Google</OptionInput>
|
||||||
|
<OptionInput value="deepl" >DeepL</OptionInput>
|
||||||
|
</SelectInput>
|
||||||
|
|
||||||
|
{#if $DataBase.translatorType === 'deepl'}
|
||||||
|
|
||||||
|
<span class="text-textcolor mt-4">{language.deeplKey}</span>
|
||||||
|
<TextInput bind:value={$DataBase.deeplOptions.key} />
|
||||||
|
|
||||||
|
<div class="flex items-center mt-2">
|
||||||
|
<Check bind:check={$DataBase.deeplOptions.freeApi} name={language.deeplFreeKey}/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{/if}
|
||||||
|
|
||||||
|
|
||||||
<div class="flex items-center mt-2">
|
<div class="flex items-center mt-2">
|
||||||
<Check bind:check={$DataBase.autoTranslate} name={language.autoTranslation}/>
|
<Check bind:check={$DataBase.autoTranslate} name={language.autoTranslation}/>
|
||||||
</div>
|
</div>
|
||||||
{#if $DataBase.useExperimental}
|
|
||||||
<div class="flex items-center mt-2">
|
|
||||||
<Check bind:check={$DataBase.useAutoTranslateInput} name={language.autoTranslateInput}/>
|
|
||||||
<Help key="experimental" name={language.autoTranslateInput}/>
|
|
||||||
</div>
|
|
||||||
{/if}
|
|
||||||
{/if}
|
{/if}
|
||||||
@@ -305,6 +305,11 @@ export function setDatabase(data:Database){
|
|||||||
data.hypaModel ??= 'MiniLM'
|
data.hypaModel ??= 'MiniLM'
|
||||||
data.mancerHeader ??= ''
|
data.mancerHeader ??= ''
|
||||||
data.emotionProcesser ??= 'submodel'
|
data.emotionProcesser ??= 'submodel'
|
||||||
|
data.translatorType ??= 'google'
|
||||||
|
data.deeplOptions ??= {
|
||||||
|
key:'',
|
||||||
|
freeApi: false
|
||||||
|
}
|
||||||
changeLanguage(data.language)
|
changeLanguage(data.language)
|
||||||
DataBase.set(data)
|
DataBase.set(data)
|
||||||
}
|
}
|
||||||
@@ -465,7 +470,12 @@ export interface Database{
|
|||||||
saveTime?:number
|
saveTime?:number
|
||||||
mancerHeader:string
|
mancerHeader:string
|
||||||
emotionProcesser:'submodel'|'embedding',
|
emotionProcesser:'submodel'|'embedding',
|
||||||
showMenuChatList?:boolean
|
showMenuChatList?:boolean,
|
||||||
|
translatorType:'google'|'deepl'|'none',
|
||||||
|
deeplOptions:{
|
||||||
|
key:string,
|
||||||
|
freeApi:boolean
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface customscript{
|
export interface customscript{
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
import { get } from "svelte/store"
|
import { get } from "svelte/store"
|
||||||
import { translatorPlugin } from "../plugins/plugins"
|
import { translatorPlugin } from "../plugins/plugins"
|
||||||
import { DataBase } from "../storage/database"
|
import { DataBase } from "../storage/database"
|
||||||
|
import { globalFetch } from "../storage/globalApi"
|
||||||
|
import { alertError } from "../alert"
|
||||||
|
|
||||||
let cache={
|
let cache={
|
||||||
origin: [''],
|
origin: [''],
|
||||||
@@ -28,10 +30,10 @@ export async function translate(text:string, reverse:boolean) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return googleTrans(text, reverse, db.translator,db.aiModel.startsWith('novellist') ? 'ja' : 'en')
|
return runTranslator(text, reverse, db.translator,db.aiModel.startsWith('novellist') ? 'ja' : 'en')
|
||||||
}
|
}
|
||||||
|
|
||||||
async function googleTrans(text:string, reverse:boolean, from:string,target:'en'|'ja') {
|
async function runTranslator(text:string, reverse:boolean, from:string,target:'en'|'ja') {
|
||||||
const arg = {
|
const arg = {
|
||||||
|
|
||||||
from: reverse ? from : target,
|
from: reverse ? from : target,
|
||||||
@@ -70,6 +72,11 @@ async function googleTrans(text:string, reverse:boolean, from:string,target:'en'
|
|||||||
}
|
}
|
||||||
const result = await translateMain(trimed, arg);
|
const result = await translateMain(trimed, arg);
|
||||||
|
|
||||||
|
if(result.startsWith('ERR::')){
|
||||||
|
alertError(result)
|
||||||
|
return text
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
fullResult.push(result.trim())
|
fullResult.push(result.trim())
|
||||||
}
|
}
|
||||||
@@ -90,6 +97,28 @@ async function googleTrans(text:string, reverse:boolean, from:string,target:'en'
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function translateMain(text:string, arg:{from:string, to:string, host:string}){
|
async function translateMain(text:string, arg:{from:string, to:string, host:string}){
|
||||||
|
let db = get(DataBase)
|
||||||
|
|
||||||
|
if(db.translatorType === 'deepl'){
|
||||||
|
let url = db.deeplOptions.freeApi ? "https://api-free.deepl.com/v2/translate" : "https://api.deepl.com/v2/translate"
|
||||||
|
const f = await globalFetch(url, {
|
||||||
|
headers: {
|
||||||
|
"Authorization": "DeepL-Auth-Key " + db.deeplOptions.key,
|
||||||
|
},
|
||||||
|
body: {
|
||||||
|
text: text,
|
||||||
|
source_lang: arg.from.toLocaleUpperCase(),
|
||||||
|
target_lang: arg.to.toLocaleUpperCase(),
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
if(!f.ok){
|
||||||
|
return 'ERR::DeepL API Error' + (await f.data)
|
||||||
|
}
|
||||||
|
return f.data.translations[0].text
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
const url = `https://${arg.host}/translate_a/single?client=gtx&dt=t&sl=${arg.from}&tl=${arg.to}&q=` + encodeURIComponent(text)
|
const url = `https://${arg.host}/translate_a/single?client=gtx&dt=t&sl=${arg.from}&tl=${arg.to}&q=` + encodeURIComponent(text)
|
||||||
|
|
||||||
@@ -129,5 +158,5 @@ async function jaTrans(text:string) {
|
|||||||
if(/[\u3000-\u303f\u3040-\u309f\u30a0-\u30ff\uff00-\uff9f\u4e00-\u9faf\u3400-\u4dbf]/.test(text)){
|
if(/[\u3000-\u303f\u3040-\u309f\u30a0-\u30ff\uff00-\uff9f\u4e00-\u9faf\u3400-\u4dbf]/.test(text)){
|
||||||
return text
|
return text
|
||||||
}
|
}
|
||||||
return await googleTrans(text,false, 'en','ja')
|
return await runTranslator(text,false, 'en','ja')
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user