mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Merge pull request #2150 from evpeople/release
add a button to translate input message
This commit is contained in:
@@ -204,3 +204,7 @@ input.extension_missing[type="checkbox"] {
|
||||
#extensionsMenu>#translate_chat {
|
||||
order: 7;
|
||||
}
|
||||
|
||||
#extensionsMenu>#translate_input_message {
|
||||
order: 8;
|
||||
}
|
||||
|
@@ -424,6 +424,24 @@ function createEventHandler(translateFunction, shouldTranslateFunction) {
|
||||
};
|
||||
}
|
||||
|
||||
async function onTranslateInputMessageClick() {
|
||||
const textarea = document.getElementById('send_textarea');
|
||||
|
||||
if (!(textarea instanceof HTMLTextAreaElement)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!textarea.value) {
|
||||
toastr.warning('Enter a message first');
|
||||
return;
|
||||
}
|
||||
|
||||
const toast = toastr.info('Input Message is translating', 'Please wait...');
|
||||
const translatedText = await translate(textarea.value, extension_settings.translate.internal_language);
|
||||
textarea.value = translatedText;
|
||||
toastr.clear(toast);
|
||||
}
|
||||
|
||||
// Prevents the chat from being translated in parallel
|
||||
let translateChatExecuting = false;
|
||||
|
||||
@@ -555,10 +573,16 @@ jQuery(() => {
|
||||
<div id="translate_chat" class="list-group-item flex-container flexGap5">
|
||||
<div class="fa-solid fa-language extensionsMenuExtensionButton" /></div>
|
||||
Translate Chat
|
||||
</div>`;
|
||||
</div>
|
||||
<div id="translate_input_message" class="list-group-item flex-container flexGap5">
|
||||
<div class="fa-solid fa-keyboard extensionsMenuExtensionButton" /></div>
|
||||
Translate Input
|
||||
</div>
|
||||
`;
|
||||
$('#extensionsMenu').append(buttonHtml);
|
||||
$('#extensions_settings2').append(html);
|
||||
$('#translate_chat').on('click', onTranslateChatClick);
|
||||
$('#translate_input_message').on('click', onTranslateInputMessageClick);
|
||||
$('#translation_clear').on('click', onTranslationsClearClick);
|
||||
|
||||
for (const [key, value] of Object.entries(languageCodes)) {
|
||||
|
Reference in New Issue
Block a user