mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-03-02 19:07:40 +01:00
Add /translate command
This commit is contained in:
parent
e660ec1f14
commit
62eb790b0b
@ -12,6 +12,9 @@ import {
|
|||||||
} from '../../../script.js';
|
} from '../../../script.js';
|
||||||
import { extension_settings, getContext } from '../../extensions.js';
|
import { extension_settings, getContext } from '../../extensions.js';
|
||||||
import { findSecret, secret_state, writeSecret } from '../../secrets.js';
|
import { findSecret, secret_state, writeSecret } from '../../secrets.js';
|
||||||
|
import { SlashCommand } from '../../slash-commands/SlashCommand.js';
|
||||||
|
import { ARGUMENT_TYPE, SlashCommandArgument, SlashCommandNamedArgument } from '../../slash-commands/SlashCommandArgument.js';
|
||||||
|
import { SlashCommandParser } from '../../slash-commands/SlashCommandParser.js';
|
||||||
import { splitRecursive } from '../../utils.js';
|
import { splitRecursive } from '../../utils.js';
|
||||||
|
|
||||||
export const autoModeOptions = {
|
export const autoModeOptions = {
|
||||||
@ -649,4 +652,21 @@ jQuery(() => {
|
|||||||
eventSource.on(event_types.MESSAGE_UPDATED, handleMessageEdit);
|
eventSource.on(event_types.MESSAGE_UPDATED, handleMessageEdit);
|
||||||
|
|
||||||
document.body.classList.add('translate');
|
document.body.classList.add('translate');
|
||||||
|
|
||||||
|
SlashCommandParser.addCommandObject(SlashCommand.fromProps({
|
||||||
|
name: 'translate',
|
||||||
|
helpString: 'Translate text to a target language. If target language is not provided, the value from the extension settings will be used.',
|
||||||
|
namedArgumentList: [
|
||||||
|
new SlashCommandNamedArgument('target', 'The target language code to translate to', ARGUMENT_TYPE.STRING, false, false, '', Object.values(languageCodes)),
|
||||||
|
],
|
||||||
|
unnamedArgumentList: [
|
||||||
|
new SlashCommandArgument('The text to translate', ARGUMENT_TYPE.STRING, true, false, ''),
|
||||||
|
],
|
||||||
|
callback: async (args, value) => {
|
||||||
|
const target = args?.target && Object.values(languageCodes).includes(String(args.target))
|
||||||
|
? String(args.target)
|
||||||
|
: extension_settings.translate.target_language;
|
||||||
|
return await translate(String(value), target);
|
||||||
|
},
|
||||||
|
}));
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user