mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Update tl
This commit is contained in:
@ -5,6 +5,7 @@ import { saveMetadataDebounced } from './extensions.js';
|
||||
import { SlashCommand } from './slash-commands/SlashCommand.js';
|
||||
import { SlashCommandParser } from './slash-commands/SlashCommandParser.js';
|
||||
import { flashHighlight, stringFormat } from './utils.js';
|
||||
import { t } from './i18n.js';
|
||||
|
||||
const BG_METADATA_KEY = 'custom_background';
|
||||
const LIST_METADATA_KEY = 'chat_backgrounds';
|
||||
@ -243,7 +244,7 @@ async function getNewBackgroundName(referenceElement) {
|
||||
const fileExtension = oldBg.split('.').pop();
|
||||
const fileNameBase = isCustom ? oldBg.split('/').pop() : oldBg;
|
||||
const oldBgExtensionless = fileNameBase.replace(`.${fileExtension}`, '');
|
||||
const newBgExtensionless = await callPopup('<h3>Enter new background name:</h3>', 'input', oldBgExtensionless);
|
||||
const newBgExtensionless = await callPopup('<h3>' + t`Enter new background name:` + '</h3>', 'input', oldBgExtensionless);
|
||||
|
||||
if (!newBgExtensionless) {
|
||||
console.debug('no new_bg_extensionless');
|
||||
|
@ -358,7 +358,7 @@ export async function convertSoloToGroupChat() {
|
||||
// Click on the freshly selected group to open it
|
||||
await openGroupById(group.id);
|
||||
|
||||
toastr.success('The chat has been successfully converted!');
|
||||
toastr.success(t`The chat has been successfully converted!`);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -424,7 +424,7 @@ jQuery(async () => {
|
||||
installHintButton.on('click', async function () {
|
||||
const installButton = $('#third_party_extension_button');
|
||||
flashHighlight(installButton, 5000);
|
||||
toastr.info('Click the flashing button to install extensions.', 'How to install extensions?');
|
||||
toastr.info(t`Click the flashing button to install extensions.`, t`How to install extensions?`);
|
||||
});
|
||||
|
||||
const connectButton = windowHtml.find('#assets-connect-button');
|
||||
|
@ -1,4 +1,4 @@
|
||||
<div id="attachFile" class="list-group-item flex-container flexGap5" title="Attach a file or image to a current chat.">
|
||||
<div id="attachFile" class="list-group-item flex-container flexGap5" data-i18n="[title]Attach a file or image to a current chat." title="Attach a file or image to a current chat.">
|
||||
<div class="fa-fw fa-solid fa-paperclip extensionsMenuExtensionButton"></div>
|
||||
<span data-i18n="Attach a File">Attach a File</span>
|
||||
</div>
|
||||
|
@ -19,7 +19,7 @@
|
||||
<div id="regex_info_block_wrapper">
|
||||
<div id="regex_info_block" class="info-block"></div>
|
||||
<a id="regex_info_block_flags_hint" href="https://docs.sillytavern.app/extensions/regex/#flags" target="_blank" rel="noopener noreferrer">
|
||||
<i class="fa-solid fa-circle-info" title="Click here to learn more about regex flags."></i>
|
||||
<i class="fa-solid fa-circle-info" data-i18n="[title]ext_regex_flags_help" title="Click here to learn more about regex flags."></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
@ -147,7 +147,7 @@
|
||||
</label>
|
||||
<span>
|
||||
<small data-i18n="ext_regex_other_options" data-i18n="Ephemerality">Ephemerality</small>
|
||||
<span class="fa-solid fa-circle-question note-link-span" title="By default, regex scripts alter the chat file directly and irreversibly. Enabling either (or both) of the options below will prevent chat file alteration, while still altering the specified item(s)."></span>
|
||||
<span class="fa-solid fa-circle-question note-link-span" data-i18n="[title]ext_regex_other_options_desc" title="By default, regex scripts alter the chat file directly and irreversibly. Enabling either (or both) of the options below will prevent chat file alteration, while still altering the specified item(s)."></span>
|
||||
</span>
|
||||
<label class="checkbox flex-container" data-i18n="[title]ext_regex_only_format_visual_desc" title="Chat history file contents won't change, but regex will be applied to the messages displayed in the Chat UI.">
|
||||
<input type="checkbox" name="only_format_display" />
|
||||
|
@ -398,7 +398,7 @@ function runRegexCallback(args, value) {
|
||||
for (const script of scripts) {
|
||||
if (script.scriptName.toLowerCase() === scriptName.toLowerCase()) {
|
||||
if (script.disabled) {
|
||||
toastr.warning(`Regex script "${scriptName}" is disabled.`);
|
||||
toastr.warning(t`Regex script "${scriptName}" is disabled.`);
|
||||
return value;
|
||||
}
|
||||
|
||||
|
@ -696,7 +696,7 @@ export function getGroupBlock(group) {
|
||||
template.find('.group_fav_icon').css('display', 'none');
|
||||
template.addClass(group.fav ? 'is_fav' : '');
|
||||
template.find('.ch_fav').val(group.fav);
|
||||
template.find('.group_select_counter').text(`${count} ${count != 1 ? 'characters' : 'character'}`);
|
||||
template.find('.group_select_counter').text(count + ' ' + (count != 1 ? t`characters` : t`character`));
|
||||
template.find('.group_select_block_list').text(namesList.join(', '));
|
||||
|
||||
// Display inline tags
|
||||
|
@ -10,6 +10,7 @@ import { SECRET_KEYS, writeSecret } from './secrets.js';
|
||||
import { delay } from './utils.js';
|
||||
import { isMobile } from './RossAscends-mods.js';
|
||||
import { autoSelectInstructPreset } from './instruct-mode.js';
|
||||
import { t } from './i18n.js';
|
||||
|
||||
export {
|
||||
horde_settings,
|
||||
@ -169,7 +170,7 @@ async function adjustHordeGenerationParams(max_context_length, max_length) {
|
||||
}
|
||||
}
|
||||
console.log(maxContextLength, maxLength);
|
||||
$('#adjustedHordeParams').text(`Context: ${maxContextLength}, Response: ${maxLength}`);
|
||||
$('#adjustedHordeParams').text(t`Context` + `: ${maxContextLength}, ` + t`Response` + `: ${maxLength}`);
|
||||
return { maxContextLength, maxLength };
|
||||
}
|
||||
|
||||
@ -177,7 +178,7 @@ function setContextSizePreview() {
|
||||
if (horde_settings.models.length) {
|
||||
adjustHordeGenerationParams(max_context, amount_gen);
|
||||
} else {
|
||||
$('#adjustedHordeParams').text('Context: --, Response: --');
|
||||
$('#adjustedHordeParams').text(t`Context` + ': --, ' + t`Response` + ': --');
|
||||
}
|
||||
}
|
||||
|
||||
@ -404,7 +405,7 @@ jQuery(function () {
|
||||
if (horde_settings.models.length) {
|
||||
adjustHordeGenerationParams(max_context, amount_gen);
|
||||
} else {
|
||||
$('#adjustedHordeParams').text('Context: --, Response: --');
|
||||
$('#adjustedHordeParams').text(t`Context` + ': --, ' + t`Response` + ': --');
|
||||
}
|
||||
|
||||
saveSettingsDebounced();
|
||||
|
@ -800,7 +800,7 @@ async function selectCurrentPersona({ toastPersonaNameChange = true } = {}) {
|
||||
chat_metadata['persona'] = user_avatar;
|
||||
console.log(`Auto locked persona to ${user_avatar}`);
|
||||
if (toastPersonaNameChange && power_user.persona_show_notifications) {
|
||||
toastr.success(`Persona ${personaName} selected and auto-locked to current chat`, t`Persona Selected`);
|
||||
toastr.success(t`Persona ${personaName} selected and auto-locked to current chat`, t`Persona Selected`);
|
||||
}
|
||||
saveMetadataDebounced();
|
||||
updatePersonaUIStates();
|
||||
|
@ -9,6 +9,7 @@ import { power_user } from './power-user.js';
|
||||
//import { getSortableDelay, onlyUnique } from './utils.js';
|
||||
//import { getCfgPrompt } from './cfg-scale.js';
|
||||
import { setting_names } from './textgen-settings.js';
|
||||
import { renderTemplateAsync } from './templates.js';
|
||||
|
||||
|
||||
const TGsamplerNames = setting_names;
|
||||
@ -25,25 +26,7 @@ async function showSamplerSelectPopup() {
|
||||
const html = $(document.createElement('div'));
|
||||
html.attr('id', 'sampler_view_list')
|
||||
.addClass('flex-container flexFlowColumn');
|
||||
html.append(`
|
||||
<div class="title_restorable flexFlowColumn alignItemsBaseline">
|
||||
<div class="flex-container justifyCenter">
|
||||
<h3>Sampler Select</h3>
|
||||
<div class="flex-container alignItemsBaseline">
|
||||
<div id="resetSelectedSamplers" class="menu_button menu_button_icon" title="Reset custom sampler selection">
|
||||
<i class="fa-solid fa-recycle"></i>
|
||||
</div>
|
||||
</div>
|
||||
<!--<div class="flex-container alignItemsBaseline">
|
||||
<div class="menu_button menu_button_icon" title="Create a new sampler">
|
||||
<i class="fa-solid fa-plus"></i>
|
||||
<span data-i18n="Create">Create</span>
|
||||
</div>
|
||||
</div>-->
|
||||
</div>
|
||||
<small>Here you can toggle the display of individual samplers. (WIP)</small>
|
||||
</div>
|
||||
<hr>`);
|
||||
html.append(await renderTemplateAsync('samplerSelector'));
|
||||
|
||||
const listContainer = $('<div id="apiSamplersList" class="flex-container flexNoGap"></div>');
|
||||
const APISamplers = await listSamplers(main_api);
|
||||
|
@ -1,5 +1,6 @@
|
||||
import { DOMPurify } from '../lib.js';
|
||||
import { callPopup, getRequestHeaders } from '../script.js';
|
||||
import { t } from './i18n.js';
|
||||
|
||||
export const SECRET_KEYS = {
|
||||
HORDE: 'api_key_horde',
|
||||
@ -104,7 +105,7 @@ async function viewSecrets() {
|
||||
});
|
||||
|
||||
if (response.status == 403) {
|
||||
callPopup('<h3>Forbidden</h3><p>To view your API keys here, set the value of allowKeysExposure to true in config.yaml file and restart the SillyTavern server.</p>', 'text');
|
||||
callPopup('<h3>' + t`Forbidden` + '</h3><p>' + t`To view your API keys here, set the value of allowKeysExposure to true in config.yaml file and restart the SillyTavern server.` + '</p>', 'text');
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
<div data-type="assistant_note">
|
||||
<div>
|
||||
<b data-i18n="Note:">Note:</b> <span data-i18n="this chat is temporary and will be deleted as soon as you leave it.">this chat is temporary and will be deleted as soon as you leave it.</span>
|
||||
<span>Click the button to save it as a file.</span>
|
||||
<span data-i18n="Click the button to save it as a file.">Click the button to save it as a file.</span>
|
||||
</div>
|
||||
<div class="assistant_note_export menu_button menu_button_icon" title="Export as JSONL">
|
||||
<div class="assistant_note_export menu_button menu_button_icon" data-i18n="[title]Export as JSONL" title="Export as JSONL">
|
||||
<i class="fa-solid fa-file-export"></i>
|
||||
</div>
|
||||
</div>
|
||||
|
18
public/scripts/templates/samplerSelector.html
Normal file
18
public/scripts/templates/samplerSelector.html
Normal file
@ -0,0 +1,18 @@
|
||||
<div class="title_restorable flexFlowColumn alignItemsBaseline">
|
||||
<div class="flex-container justifyCenter">
|
||||
<h3 data-i18n="Sampler Select">Sampler Select</h3>
|
||||
<div class="flex-container alignItemsBaseline">
|
||||
<div id="resetSelectedSamplers" class="menu_button menu_button_icon" data-i18n="[title]Reset custom sampler selection" title="Reset custom sampler selection">
|
||||
<i class="fa-solid fa-recycle"></i>
|
||||
</div>
|
||||
</div>
|
||||
<!--<div class="flex-container alignItemsBaseline">
|
||||
<div class="menu_button menu_button_icon" title="Create a new sampler">
|
||||
<i class="fa-solid fa-plus"></i>
|
||||
<span data-i18n="Create">Create</span>
|
||||
</div>
|
||||
</div>-->
|
||||
</div>
|
||||
<small data-i18n="Here you can toggle the display of individual samplers. (WIP)">Here you can toggle the display of individual samplers. (WIP)</small>
|
||||
</div>
|
||||
<hr>
|
Reference in New Issue
Block a user