Merge branch 'staging' into char-find-and-sendas-extended

This commit is contained in:
Wolfsblvt 2024-09-29 00:41:34 +02:00
commit 5295c4c023
8 changed files with 86 additions and 32 deletions

View File

@ -459,3 +459,7 @@ body.expandMessageActions .mes .mes_buttons .extraMesButtonsHint {
.mdhotkey_icon {
opacity: 0.6;
}
label[for="trim_spaces"]:has(input:checked) i.warning {
display: none;
}

View File

@ -3222,6 +3222,7 @@
<label class="checkbox_label" for="trim_spaces">
<input id="trim_spaces" type="checkbox" />
<small data-i18n="Trim spaces">Trim spaces</small>
<i class="fa-sm fa-solid fa-exclamation-triangle warning" title="Disabling is not recommended." data-i18n="[title]Disabling is not recommended."></i>
</label>
<label class="checkbox_label" for="trim_sentences_checkbox">
<input id="trim_sentences_checkbox" type="checkbox" />
@ -3282,7 +3283,7 @@
<label>
<small>
<span data-i18n="Activation Regex">Activation Regex</span>
<span class="fa-solid fa-circle-question" title="When connecting to an API or choosing a model, automatically activate this Instruct Template if the model name matches the provided regular expression."></span>
<span class="fa-solid fa-circle-question" data-i18n="[title]instruct_template_activation_regex_desc" title="When connecting to an API or choosing a model, automatically activate this Instruct Template if the model name matches the provided regular expression."></span>
</small>
</label>
<div>
@ -3323,7 +3324,7 @@
</h4>
<!-- We keep one auto-open so the user would know what is going on in the picked template -->
<details open>
<summary>User Message Sequences</summary>
<summary data-i18n="User Message Sequences">User Message Sequences</summary>
<div class="flex-container">
<div class="flexAuto" title="Inserted before a User message and as a last prompt line when impersonating." data-i18n="[title]Inserted before a User message and as a last prompt line when impersonating.">
<small data-i18n="User Prefix">User Message Prefix</small>
@ -3336,7 +3337,7 @@
</div>
</details>
<details open>
<summary>Assistant Message Sequences</summary>
<summary data-i18n="Assistant Message Sequences">Assistant Message Sequences</summary>
<div class="flex-container">
<div class="flexAuto" title="Inserted before an Assistant message and as a last prompt line when generating an AI reply." data-i18n="[title]Inserted before an Assistant message and as a last prompt line when generating an AI reply.">
<small data-i18n="Assistant Prefix">Assistant Message Prefix</small>
@ -3349,7 +3350,7 @@
</div>
</details>
<details>
<summary>System Message Sequences</summary>
<summary data-i18n="System Message Sequences">System Message Sequences</summary>
<div class="flex-container">
<div class="flexAuto" id="instruct_system_sequence_block" title="Inserted before a System (added by slash commands or extensions) message." data-i18n="[title]Inserted before a System (added by slash commands or extensions) message.">
<small data-i18n="System Prefix">System Message Prefix</small>
@ -3368,7 +3369,7 @@
</div>
</details>
<details>
<summary>System Prompt Sequences</summary>
<summary data-i18n="System Prompt Sequences">System Prompt Sequences</summary>
<div class="flex-container">
<div class="flexAuto" title="Inserted before a System prompt." data-i18n="[title]Inserted before a System prompt.">
<label for="instruct_system_sequence_prefix">
@ -4132,7 +4133,7 @@
<input id="enable_auto_select_input" type="checkbox" />
<small data-i18n="Auto-select Input Text">Auto-select Input Text</small>
</label>
<label class="checkbox_label alignItemsCenter" for="enable_md_hotkeys" title="Enable hotkeys for inserting markdown format characters in certain text input boxes. See '/help hotkeys'.">
<label class="checkbox_label alignItemsCenter" for="enable_md_hotkeys" data-i18n="[title]markdown_hotkeys_desc" title="Enable hotkeys for inserting markdown format characters in certain text input boxes. See '/help hotkeys'.">
<input id="enable_md_hotkeys" type="checkbox" />
<small>
<span data-i18n="Markdown Hotkeys">Markdown Hotkeys</span>
@ -5444,7 +5445,7 @@
<textarea class="text_pole" rows="1" name="comment" data-i18n="[placeholder]Entry Title/Memo" placeholder="Entry Title/Memo"></textarea>
</div>
<!-- <span class="world_entry_form_position_value"></span> -->
<select data-i18n="[title]WI Entry Status:🔵 Constant🟢 Normal🔗 Vectorized❌ Disabled" title="WI Entry Status:&#13;🔵 Constant&#13;🟢 Normal&#13;🔗 Vectorized&#13;❌ Disabled" name="entryStateSelector" class="text_pole widthNatural margin0">
<select data-i18n="[title]WI Entry Status:🔵 Constant🟢 Normal🔗 Vectorized" title="WI Entry Status:&#13;🔵 Constant&#13;🟢 Normal&#13;🔗 Vectorized" name="entryStateSelector" class="text_pole widthNatural margin0">
<option value="constant" title="Constant" data-i18n="[title]WI_Entry_Status_Constant">🔵</option>
<option value="normal" title="Normal" data-i18n="[title]WI_Entry_Status_Normal">🟢</option>
<option value="vectorized" title="Vectorized" data-i18n="[title]WI_Entry_Status_Vectorized">🔗</option>

View File

@ -105,8 +105,8 @@
"API url": "URL-адрес API",
"PygmalionAI/aphrodite-engine": "PygmalionAI/aphrodite-engine (Режим обёртки API OpenAI)",
"Register a Horde account for faster queue times": "Заведите учетную запись Horde для ускорения генерации",
"Adjust context size to worker capabilities": "Уточнить размер контекста в соответствии с возможностями рабочих машин",
"Adjust response length to worker capabilities": "Уточнить длинну ответа в соответствии с возможностями рабочих машин",
"Adjust context size to worker capabilities": "Подстраивать размер контекста под возможности рабочих машин",
"Adjust response length to worker capabilities": "Подстраивать длину ответа под возможности рабочих машин",
"API key": "API-ключ",
"Tabby API key": "Tabby API-ключ",
"Get it here:": "Получить здесь:",
@ -132,9 +132,9 @@
"Novel AI Model": "Модель NovelAI",
"Make sure you run it with": "Обязательно запускайте его с флагом",
"flag": "",
"API key (optional)": "Ключ API (опционально)",
"API key (optional)": "Ключ API (необязательно)",
"Server url": "URL-адрес сервера",
"Custom model (optional)": "Пользовательская модель (опционально)",
"Custom model (optional)": "Пользовательская модель (необязательно)",
"Bypass API status check": "Обход проверки статуса API",
"Example: 127.0.0.1:5000": "Пример: http://127.0.0.1:5000",
"Legacy API (pre-OAI, no streaming)": "Устаревший API (до OAI, без стриминга)",
@ -173,7 +173,7 @@
"Include Names": "Добавлять имена",
"Force for Groups and Personas": "Также для групп и персон",
"System Prompt": "Системный промпт",
"Instruct Mode Sequences": "Строки для Instruct-режима",
"Instruct Sequences": "Строки для Instruct-режима",
"Stop Sequence": "Стоп-строка",
"Context Formatting": "Форматирование контекста",
"(Saved to Context Template)": "(Сохраняется в шаблоне контекста)",
@ -561,7 +561,7 @@
"Example: [{{user}} is a 28-year-old Romanian cat girl.]": "Пример:\n [{{user}} is a 28-year-old Romanian cat girl.]",
"Toggle grid view": "Переключить вид сетки",
"Add to Favorites": "Добавить в Избранное",
"Advanced Definition": "Расширенное определение",
"Advanced Definition": "Расширенное описание",
"Character Lore": "Лор персонажа",
"Export and Download": "Экспортировать и скачать",
"Duplicate Character": "Дублировать персонажа",
@ -737,12 +737,12 @@
"System Prompt Prefix": "Префикс системного промпта",
"System Prompt Suffix": "Постфикс системного промпта",
"Chat Messages Wrapping": "Обрамление для сообщений в чате",
"User Message Prefix": "Префикс сообщения пользователя",
"User Message Suffix": "Постфикс сообщения пользователя",
"Assistant Message Prefix": "Префикс сообщения ассистента",
"Assistant Message Suffix": "Постфикс сообщения ассистента",
"System Message Prefix": "Префикс сообщения системы",
"System Message Suffix": "Постфикс сообщения системы",
"User Prefix": "Префикс сообщения пользователя",
"User Suffix": "Постфикс сообщения пользователя",
"Assistant Prefix": "Префикс сообщения ассистента",
"Assistant Suffix": "Постфикс сообщения ассистента",
"System Prefix": "Префикс сообщения системы",
"System Suffix": "Постфикс сообщения системы",
"System same as User": "Для системы то же самое, что и для пользователя",
"Misc. Sequences": "Прочие строки",
"First Assistant Prefix": "Первый префикс ассистента",
@ -1704,5 +1704,48 @@
"chat_rename_1": "Введите новое имя чата:",
"chat_rename_2": "!!Не используйте имя уже существующего файла, это приведёт к ошибке!!",
"chat_rename_3": "Будут разрушены связи между чатами-чекпоинтами.",
"chat_rename_4": "Расширение '.jsonl' дописывать не нужно."
"chat_rename_4": "Расширение '.jsonl' дописывать не нужно.",
"If you're connected to an API, try asking me something!": "Есть соединение с API? Напишите мне что-нибудь!",
"Connection Profile": "Профиль соединения",
"View connection profile details": "Посмотреть параметры профиля соединения",
"Create a new connection profile": "Создать новый профиль соединения",
"Update a connection profile": "Обновить профиль соединения",
"Rename a connection profile": "Переименовать профиль соединения",
"Reload a connection profile": "Перезагрузить профиль соединения",
"Delete a connection profile": "Удалить профиль соединения",
"No profile selected": "Профиль не выбран",
"Creating a Connection Profile": "Создать профиль соединения",
"Settings Preset": "Пресет настроек",
"Model": "Модель",
"Proxy Preset": "Пресет для прокси",
"Enter a name:": "Введите название:",
"Are you sure you want to delete the selected profile?": "Вы точно хотите удалить выбранный профиль?",
"instruct_enabled": "Включить Instruct-режим",
"Instruct Template": "Шаблон Instruct-режима",
"instruct_template_activation_regex_desc": "Автоматически активировать этот шаблон в момент подключения к API или выбора модели, если название модели соответствует этому рег. выражению.",
"instruct_bind_to_context": "При включении этой опции Шаблон контекста будет выбираться, исходя из выбранного в текущий момент Шаблона Instruct-режима, либо по вашему желанию.",
"Master Import": "Глоб. импорт",
"Import Advanced Formatting settings": "Импорт настроек Расширенного форматирования\nТакже принимает файлы старого формата с Шаблонами контекста и Шаблонами Instruct-режима.",
"Master Export": "Глоб. экспорт",
"Export Advanced Formatting settings": "Экспорт настроек Расширенного форматирования",
"Select your current System Prompt": "Выберите текущий системный промпт",
"Prompt Content": "Текст промпта",
"Update current prompt": "Обновить текущий промпт",
"Save prompt as": "Сохранить как...",
"Import template": "Импорт шаблона",
"Export template": "Экспорт шаблона",
"Restore current prompt": "Восстановить текущий промпт",
"comma delimited,no spaces between": "через запятую,без пробелов в промежутках",
"User Message Sequences": "Строки для сообщений пользователя",
"Assistant Message Sequences": "Строки для сообщений ассистента",
"System Message Sequences": "Строки для сообщений системы",
"System Prompt Sequences": "Строки для системного промпта",
"sysprompt_enabled": "Вкл/выкл системный промпт",
"Are you sure you want to delete this alternate greeting?": "Вы точно хотите удалить этот вариант?",
"Any contents here will replace the default Post-History Instructions used for this character. (v2 spec: post_history_instructions)": "Содержимое этого поля заменит стандартные Инструкции после истории, применяемые для этого персонажа. (v2 spec: post_history_instructions)",
"None (disabled)": "Нигде (откл.)",
"Markdown Hotkeys": "Горячие клавиши для разметки",
"markdown_hotkeys_desc": "Включить горячие клавиши для вставки символов разметки в некоторых полях ввода. См. '/help hotkeys'.",
"Save and Update": "Сохранить и обновить",
"Profile name:": "Название профиля:"
}

View File

@ -7877,7 +7877,7 @@ function addAlternateGreeting(template, greeting, index, getArray, popup) {
event.preventDefault();
event.stopPropagation();
if (confirm('Are you sure you want to delete this alternate greeting?')) {
if (confirm(t`Are you sure you want to delete this alternate greeting?`)) {
const array = getArray();
array.splice(index, 1);
@ -10727,10 +10727,12 @@ jQuery(async function () {
if ($(e.target).hasClass('text_pole')) {
return;
}
var icon = $(this).find('.inline-drawer-icon');
const drawer = $(this).closest('.inline-drawer');
const icon = drawer.find('.inline-drawer-icon');
const drawerContent = drawer.find('.inline-drawer-content');
icon.toggleClass('down up');
icon.toggleClass('fa-circle-chevron-down fa-circle-chevron-up');
$(this).closest('.inline-drawer').find('.inline-drawer-content').stop().slideToggle({
drawerContent.stop().slideToggle({
complete: () => {
$(this).css('height', '');
},
@ -10738,7 +10740,7 @@ jQuery(async function () {
// Set the height of "autoSetHeight" textareas within the inline-drawer to their scroll height
if (!CSS.supports('field-sizing', 'content')) {
$(this).closest('.inline-drawer').find('.inline-drawer-content textarea.autoSetHeight').each(async function () {
drawerContent.find('textarea.autoSetHeight').each(async function () {
await resetScrollHeight($(this));
return;
});

View File

@ -8,5 +8,5 @@
</label>
{{/each}}
</div>
<h3>Profile name:</h3>
<h3 data-i18n="Profile name:">Profile name:</h3>
</div>

View File

@ -10,6 +10,7 @@ import { enumTypes, SlashCommandEnumValue } from '../../slash-commands/SlashComm
import { SlashCommandParser } from '../../slash-commands/SlashCommandParser.js';
import { SlashCommandScope } from '../../slash-commands/SlashCommandScope.js';
import { collapseSpaces, getUniqueName, isFalseBoolean, uuidv4 } from '../../utils.js';
import { t } from '../../i18n.js';
const MODULE_NAME = 'connection-manager';
const NONE = '<None>';
@ -284,7 +285,7 @@ async function deleteConnectionProfile() {
}
const name = extension_settings.connectionManager.profiles[index].name;
const confirm = await Popup.show.confirm('Are you sure you want to delete the selected profile?', name);
const confirm = await Popup.show.confirm(t`Are you sure you want to delete the selected profile?`, name);
if (!confirm) {
return;
@ -398,7 +399,7 @@ async function renderDetailsContent(detailsContent) {
const template = await renderExtensionTemplateAsync(MODULE_NAME, 'view', templateParams);
detailsContent.innerHTML = template;
} else {
detailsContent.textContent = 'No profile selected';
detailsContent.textContent = t`No profile selected`;
}
}
@ -518,7 +519,6 @@ async function renderDetailsContent(detailsContent) {
console.log('No profile selected');
return;
}
if (!Array.isArray(profile.exclude)) {
profile.exclude = [];
}
@ -534,7 +534,7 @@ async function renderDetailsContent(detailsContent) {
const template = $(await renderExtensionTemplateAsync(MODULE_NAME, 'edit', { name: profile.name, settings }));
const newName = await callGenericPopup(template, POPUP_TYPE.INPUT, profile.name, {
customButtons: [{
text: 'Save and Update',
text: t`Save and Update`,
classes: ['popup-button-ok'],
result: POPUP_RESULT.AFFIRMATIVE,
action: () => {

View File

@ -1,8 +1,8 @@
<div id="WIEntryHeaderTitlesPC" class="flex-container wide100p spaceBetween justifyCenter textAlignCenter" style="padding:0 4.5em;">
<small class="flex1" data-i18n="Title/Memo">Title/Memo</small>
<small style="width: calc(3.5em + 15px)" data-i18n="Strategy">Strategy</small>
<small style="width: calc(3.5em + 30px)" data-i18n="Position">Position</small>
<small style="width: calc(3.5em + 20px)" data-i18n="Depth">Depth</small>
<small style="width: calc(3.5em + 10px)" data-i18n="Strategy">Strategy</small>
<small style="width: calc(3.5em + 20px)" data-i18n="Position">Position</small>
<small style="width: calc(3.5em + 15px)" data-i18n="Depth">Depth</small>
<small style="width: calc(3.5em + 20px)" data-i18n="Order">Order</small>
<small style="width: calc(3.5em + 15px)" data-i18n="Trigger %">Trigger %</small>
</div>

View File

@ -2241,6 +2241,10 @@ textarea::placeholder {
height: fit-content;
}
select.text_pole {
padding-right: 20px;
}
.chat_injections_list:empty {
width: 100%;