deeplX function added

This commit is contained in:
testman
2024-03-24 19:44:55 +09:00
parent 2fe9ca2704
commit 1d2d71db48
9 changed files with 54 additions and 3 deletions

View File

@@ -56,7 +56,8 @@ export async function sayTTS(character:character,text:string) {
const audioContext = new AudioContext();
const da = await fetch(`https://api.elevenlabs.io/v1/text-to-speech/${character.ttsSpeech}`, {
body: JSON.stringify({
text: text
text: text,
model_id: "eleven_multilingual_v2"
}),
method: "POST",
headers: {

View File

@@ -332,6 +332,10 @@ export function setDatabase(data:Database){
key:'',
freeApi: false
}
data.deeplXOptions ??= {
url:'',
token:''
}
data.NAIadventure ??= false
data.NAIappendName ??= true
data.NAIsettings.cfg_scale ??= 1
@@ -555,13 +559,17 @@ export interface Database{
mancerHeader:string
emotionProcesser:'submodel'|'embedding',
showMenuChatList?:boolean,
translatorType:'google'|'deepl'|'none'|'llm',
translatorType:'google'|'deepl'|'none'|'llm'|'deeplX',
NAIadventure?:boolean,
NAIappendName?:boolean,
deeplOptions:{
key:string,
freeApi:boolean
}
deeplXOptions:{
url:string,
token:string
}
localStopStrings?:string[]
autofillRequestUrl:boolean
customProxyRequestModel:string

View File

@@ -127,6 +127,29 @@ async function translateMain(text:string, arg:{from:string, to:string, host:stri
return f.data.translations[0].text
}
if(db.translatorType === 'deeplX'){
const body = {
text: [text],
target_lang: arg.to.toLocaleUpperCase(),
source_lang: arg.from.toLocaleUpperCase()
}
let url = db.deeplXOptions.url
const f = await globalFetch(url, {
headers: {
"Content-Type": "application/json",
"Authorization" : "Bearer " + db.deeplXOptions.token
},
body: body
})
if(!f.ok){
return 'ERR::DeepLX 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)
@@ -171,7 +194,7 @@ async function jaTrans(text:string) {
export function isExpTranslator(){
const db = get(DataBase)
return db.translatorType === 'llm' || db.translatorType === 'deepl'
return db.translatorType === 'llm' || db.translatorType === 'deepl' || db.translatorType === 'deeplX'
}
export async function translateHTML(html: string, reverse:boolean, charArg:simpleCharacterArgument|string = ''): Promise<string> {