diff --git a/src/lang/cn.ts b/src/lang/cn.ts index 86a62b8c..e13df4a8 100644 --- a/src/lang/cn.ts +++ b/src/lang/cn.ts @@ -303,4 +303,6 @@ export const languageChinese = { tags: "标签", copied: "已复制", useChatCopy: "使用聊天复制", + autoTranslateInput: "使用自动翻译输入", + enterMessageForTranslateToEnglish: "输入要翻译为英语的消息", } \ No newline at end of file diff --git a/src/lang/en.ts b/src/lang/en.ts index ecd47d60..dbf8d866 100644 --- a/src/lang/en.ts +++ b/src/lang/en.ts @@ -307,4 +307,6 @@ export const languageEnglish = { backgroundHTML: "Background Embedding", copied: "Copied", useChatCopy: "Use Chat Message Copy", + autoTranslateInput: "Auto Translate Input", + enterMessageForTranslateToEnglish: "Enter Message for Translate to English", } \ No newline at end of file diff --git a/src/lang/ko.ts b/src/lang/ko.ts index c8a0a245..dd6aa543 100644 --- a/src/lang/ko.ts +++ b/src/lang/ko.ts @@ -279,4 +279,6 @@ export const languageKorean = { backgroundHTML: "백그라운드 임베딩", copied: "복사됨", useChatCopy: "채팅 메시지 복사 사용", + autoTranslateInput: "입력 자동 번역", + enterMessageForTranslateToEnglish: "영어로 번역할 메시지를 입력해주세요", } \ No newline at end of file diff --git a/src/lib/ChatScreens/DefaultChatScreen.svelte b/src/lib/ChatScreens/DefaultChatScreen.svelte index 8b3da038..403f7ba8 100644 --- a/src/lib/ChatScreens/DefaultChatScreen.svelte +++ b/src/lib/ChatScreens/DefaultChatScreen.svelte @@ -16,8 +16,10 @@ import CreatorQuote from "./CreatorQuote.svelte"; import { stopTTS } from "src/ts/process/tts"; import MainMenu from '../UI/MainMenu.svelte'; + import Help from '../Others/Help.svelte'; - let messageInput = '' + let messageInput:string = '' + let messageInputTranslate:string = '' let openMenu = false export let openChatList = false let loadPages = 30 @@ -26,6 +28,7 @@ let rerollid = -1 let lastCharId = -1 let doingChatInputTranslate = false + async function send() { let selectedChar = $selectedCharID console.log('send') @@ -67,10 +70,11 @@ } } messageInput = '' + messageInputTranslate = '' $DataBase.characters[selectedChar].chats[$DataBase.characters[selectedChar].chatPage].message = cha rerolls = [] await sleep(10) - updateInputSize() + updateInputSizeAll() await sendChatMain() } @@ -170,7 +174,21 @@ export let customStyle = '' let inputHeight = "44px" let inputEle:HTMLTextAreaElement + let inputTranslateHeight = "44px" + let inputTranslateEle:HTMLTextAreaElement + function updateInputSizeAll() { + updateInputSize() + updateInputTranslateSize() + } + + function updateInputTranslateSize() { + if(inputTranslateEle) { + inputTranslateEle.style.height = "0"; + inputTranslateHeight = (inputTranslateEle.scrollHeight) + "px"; + inputTranslateEle.style.height = inputTranslateHeight + } + } function updateInputSize() { if(inputEle){ inputEle.style.height = "0"; @@ -179,7 +197,26 @@ } } - $: updateInputSize() + $: updateInputSizeAll() + + function updateInputTransateMessage(reverse: boolean) { + if(reverse && messageInputTranslate === '') { + messageInput = '' + return + } + if(!reverse && messageInput === '') { + messageInputTranslate = '' + return + } + translate(reverse ? messageInputTranslate : messageInput, reverse).then((translatedMessage) => { + if(translatedMessage){ + if(reverse) + messageInput = translatedMessage + else + messageInputTranslate = translatedMessage + } + }) + }