Update ru-ru locale (#4449) * Work on tl * Small fix * Fix formatting --------- Co-authored-by: Yokayo <nonameutubecomm@gmail.com> Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
Signed| @@ -6437,7 +6437,7 @@ | ||
| 6437 | 6437 | </span> |
| 6438 | 6438 | <div class="flex-container"> |
| 6439 | 6439 | <div class="flex-container flexFlowColumn"> |
| 6440 | 6440 | <label class="checkbox flex-container alignitemscenter flexNoGap" data-i18n="[title]This entry will not be recursively activated by other entries." title="This entry will not be recursively activated by other entries."> |
| 6441 | 6441 | <input type="checkbox" name="excludeRecursion" /> |
| 6442 | 6442 | <span data-i18n="Non-recursable"> |
| 6443 | 6443 | Non-recursable |
| @@ -40,7 +40,7 @@ | ||
| 40 | 40 | "Smoothing Factor": "Коэффициент сглаживания", |
| 41 | 41 | "No Repeat Ngram Size": "Размер no_repeat_ngram", |
| 42 | 42 | "Min Length": "Мин. длина", |
| 43 | 43 | "Alternative server URL (leave empty to use the default value).": "URL альтернативного серверареверс-прокси (оставьте пустым для стандартного значения)", |
| 44 | 44 | "Remove your real OAI API Key from the API panel BEFORE typing anything into this box": "Удалите свой личный OAI API Key из панели API, и ТОЛЬКО ПОСЛЕ ЭТОГО вводите что-то сюда", |
| 45 | 45 | "We cannot provide support for problems encountered while using an unofficial OpenAI proxy": "Мы не сможем предоставить помощь с проблемами, с которыми вы столкнетесь при использовании неофициальных прокси для OpenAI", |
| 46 | 46 | "Context Size (tokens)": "Размер контекста (в токенах)", |
| @@ -145,7 +145,7 @@ | ||
| 145 | 145 | "View API Usage Metrics": "Посмотреть статистику использования API", |
| 146 | 146 | "Show External models (provided by API)": "Показать \"сторонние\" модели (предоставленные API)", |
| 147 | 147 | "Allow fallback routes": "Разрешить резервные маршруты", |
| 148 | 148 | "Allow fallback routes Description": "Автоматически выбирает альтернативную модель, если выбранная модель не может удовлетворитьобслужить ваш запрос.", |
| 149 | 149 | "OpenRouter API Key": "Ключ от OpenRouter API", |
| 150 | 150 | "OpenRouter Model": "Модель OpenRouter", |
| 151 | 151 | "View Remaining Credits": "Посмотреть оставшиеся кредиты", |
| @@ -154,7 +154,7 @@ | ||
| 154 | 154 | "View hidden API keys": "Посмотреть скрытые API-ключи", |
| 155 | 155 | "Advanced Formatting": "Расширенное форматирование", |
| 156 | 156 | "Context Template": "Шаблон контекста", |
| 157 | 157 | "Replace Macro in Stop Strings": "Заменять макросы в пользовательских стоп-строках", |
| 158 | 158 | "Story String": "Общий шаблон", |
| 159 | 159 | "Example Separator": "Разделитель примеров сообщений", |
| 160 | 160 | "Chat Start": "Начало чата", |
| @@ -184,7 +184,7 @@ | ||
| 184 | 184 | "Scan Depth": "Глубина сканирования", |
| 185 | 185 | "Case-Sensitive": "С учетом регистра", |
| 186 | 186 | "Match Whole Words": "Только полное совпадение", |
| 187 | 187 | "Use global setting": "Использовать глобальнуюГлоб. настройкунастройка", |
| 188 | 188 | "Yes": "Да", |
| 189 | 189 | "No": "Нет", |
| 190 | 190 | "Context %": "Процент контекста", |
| @@ -201,7 +201,7 @@ | ||
| 201 | 201 | "Bubbles": "Пузыри", |
| 202 | 202 | "No Blur Effect": "Отключить размытие", |
| 203 | 203 | "No Text Shadows": "Отключить тень текста", |
| 204 | 204 | "Waifu Mode": "РeжимРежим Вайфувайфу", |
| 205 | 205 | "Message Timer": "Таймер сообщений", |
| 206 | 206 | "Model Icon": "Значки моделей", |
| 207 | 207 | "Advanced Character Search": "Расширенный поиск по персонажам", |
| @@ -279,7 +279,7 @@ | ||
| 279 | 279 | "Impersonate": "Перевоплощение", |
| 280 | 280 | "Regenerate": "Повторная генерация", |
| 281 | 281 | "Message Sound": "Звук сообщения", |
| 282 | 282 | "Author's Note": "ЗаметкиАвторские авторазаметки", |
| 283 | 283 | "Replace empty message": "Заменять пустые сообщения", |
| 284 | 284 | "Send this text instead of nothing when the text box is empty.": "Этот текст будет отправлен в случае отсутствия текста на отправку.", |
| 285 | 285 | "Unrestricted maximum value for the context slider": "Убрать потолок для ползунка контекста. Включайте только если точно понимаете, что делаете", |
| @@ -322,8 +322,8 @@ | ||
| 322 | 322 | "Order ↘": "Порядок ↘", |
| 323 | 323 | "UID ↗": "UID ↗", |
| 324 | 324 | "UID ↘": "UID ↘", |
| 325 | 325 | "Trigger% ↗": "Триггер% срабатываний ↗", |
| 326 | 326 | "Trigger% ↘": "Триггер% срабатываний ↘", |
| 327 | 327 | "Depth:": "Глубина:", |
| 328 | 328 | "Character Lore First": "Сначала лор персонажа", |
| 329 | 329 | "Global Lore First": "Сначала глобальный лор", |
| @@ -334,12 +334,17 @@ | ||
| 334 | 334 | "Exclude from recursion": "Исключить из рекурсии", |
| 335 | 335 | "Entry Title/Memo": "Название или заметка о записи", |
| 336 | 336 | "Position:": "Положение:", |
| 337 | - "T_Position": "↑Char: Перед определениями Персонажа\n↓Char: После определений Персонажа\n↑AN: Перед Пометок автора\n↓AN: После Пометок автора\n@D: На глубине", | |
| 337 | + "T_Position": "↑Перс: Перед описанием персонажа\n↓Перс: После описания персонажа\n↑ПС: Перед примерами сообщений\n↓ПС: После примеров сообщений\n↑АЗ: Перед авторскими заметками\n↓АЗ: После авторских заметок\nНа глуб. ⚙️: на глубине (система)\nНа глуб. 👤: на глубине (пользователь)\nНа глуб. 🤖: на глубине (ассистент)", | |
| 338 | 338 | "Before Char Defs": "↑Перс.", |
| 339 | 339 | "After Char Defs": "↓Перс.", |
| 340 | 340 | "Before AN": "↑АЗ", |
| 341 | 341 | "After AN": "↓АЗ", |
| 342 | 342 | "OrderBefore EM": "Очерёдность:↑ПС", |
| 343 | + "After EM": "↓ПС", | |
| 344 | + "at Depth System": "На глуб. ⚙️", | |
| 345 | + "at Depth User": "На глуб. 👤", | |
| 346 | + "at Depth AI": "На глуб. 🤖", | |
| 347 | + "Order": "Приоритет:", | |
| 343 | 348 | "Update a theme file": "Обновить файл темы", |
| 344 | 349 | "Save as a new theme": "Сохранить как новую тему", |
| 345 | 350 | "Minimum number of blacklisted words detected to trigger an auto-swipe": "Минимальное количество обнаруженных запрещённых слов, при котором срабатывает авто-свайп.", |
| @@ -385,7 +390,7 @@ | ||
| 385 | 390 | "Remove text shadow effect": "Удаление эффекта тени от текста.", |
| 386 | 391 | "Reduce chat height, and put a static sprite behind the chat window": "Уменьшить высоту чата и поместить статичный спрайт за окном чата.", |
| 387 | 392 | "Always show the full list of the Message Actions context items for chat messages, instead of hiding them behind '...'": "Всегда показывать полный список действий с сообщением, а не прятать их за '...'.", |
| 388 | 393 | "Alternative UI for numeric sampling parameters with fewer steps": "АльтернативныйУменьшить пользовательскийкол-во интерфейсшагов для числовых параметров выборки с меньшим, количествомрегулируемых шаговслайдерами.", |
| 389 | 394 | "Entirely unrestrict all numeric sampling parameters": "Снять ограничения со всех числовых сэмплеров.", |
| 390 | 395 | "Time the AI's message generation, and show the duration in the chat log": "Время генерации сообщений ИИ и его показ в журнале чата.", |
| 391 | 396 | "Show a timestamp for each message in the chat log": "Показывать временную метку для каждого сообщения в журнале чата.", |
| @@ -409,7 +414,7 @@ | ||
| 409 | 414 | "If checked and the character card contains a jailbreak override (Post History Instruction), use that instead": "При включении этой опции, пользовательский джейлбрейк будет заменяться кастомным джейлбрейком из карточки (при его наличии).", |
| 410 | 415 | "Show actual file names on the disk, in the characters list display only": "Отображение названий файлов персонажей на диске, только в списке персонажей.", |
| 411 | 416 | "Prompt to import embedded card tags on character import. Otherwise embedded tags are ignored": "Запрашивать разрешения на импорт встроенных тегов карт при импорте персонажей. В противном случае встроенные теги игнорируются.", |
| 412 | 417 | "Hide character definitions from the editor panel behind a spoiler button": "Спрятать определенияописания персонажей из панели редактора за кнопку спойлера.", |
| 413 | 418 | "Show a button in the input area to ask the AI to continue (extend) its last message": "Показывать на форме ответа кнопку, по нажатии на которую ИИ продолжит своё предыдущее сообщение.", |
| 414 | 419 | "Show arrow buttons on the last in-chat message to generate alternative AI responses. Both PC and mobile": "Показывать кнопки со стрелками на последнем сообщении в чате, чтобы генерировать альтернативные ответы ИИ. Как для ПК, так и для мобильных устройств.", |
| 415 | 420 | "Allow using swiping gestures on the last in-chat message to trigger swipe generation. Mobile only, no effect on PC": "Позволяет использовать жесты смахивания на последнем сообщении в чате, чтобы вызвать альтернативную генерацию. Только для мобильных устройств, на ПК не работает.", |
| @@ -427,8 +432,8 @@ | ||
| 427 | 432 | "Your Persona": "Ваша персона", |
| 428 | 433 | "Show notifications on switching personas": "Показывать уведомления при смене персоны", |
| 429 | 434 | "In Story String / Prompt Manager": "В общем шаблоне / Менеджере промптов", |
| 430 | 435 | "Top of Author's Note": "Сверху от заметокавторских авторазаметок", |
| 431 | 436 | "Bottom of Author's Note": "Снизу от заметокавторских авторазаметок", |
| 432 | 437 | "How do I use this?": "Как пользоваться?", |
| 433 | 438 | "More...": "Ещё...", |
| 434 | 439 | "Link to World Info": "Ссылка на информацию о мире", |
| @@ -436,7 +441,7 @@ | ||
| 436 | 441 | "Scenario Override": "Перезапись сценария", |
| 437 | 442 | "Rename": "Переименовать", |
| 438 | 443 | "Character Description": "Описание персонажа", |
| 439 | 444 | "Creator's Notes": "ЗаметкиПримечание от создателя", |
| 440 | 445 | "A-Z": "A-Z", |
| 441 | 446 | "Z-A": "Z-A", |
| 442 | 447 | "Newest": "Сначала новые", |
| @@ -471,7 +476,7 @@ | ||
| 471 | 476 | "Enter your name": "Введите свое имя", |
| 472 | 477 | "Name this character": "Назовите этого персонажа", |
| 473 | 478 | "Search / Create Tags": "Искать / Создать тэги", |
| 474 | 479 | "Describe your character's physical and mental traits here.": "Опишите ментальныехарактер иперсонажа физическиеи чертыего персонажавнешность", |
| 475 | 480 | "This will be the first message from the character that starts every chat.": "Это будет первое сообщение от персонажа при начале нового чата", |
| 476 | 481 | "Chat Name (Optional)": "Название чата (необязательно)", |
| 477 | 482 | "Search...": "Поиск...", |
| @@ -483,10 +488,10 @@ | ||
| 483 | 488 | "(Write a comma-separated list of tags)": "(Список тегов через запятую)", |
| 484 | 489 | "(A brief description of the personality)": "(Краткое описание личности)", |
| 485 | 490 | "(Circumstances and context of the interaction)": "(Обстоятельства и контекст этого диалога)", |
| 486 | 491 | "(Examples of chat dialog. Begin each example with START on a new line.)": "(Примеры диалога. Начинайте каждый пример ссо START илии на новой строкойстроке.)", |
| 487 | 492 | "Type here...": "Пишите здесь...", |
| 488 | 493 | "Comma separated (required)": "Через запятую (обязательное поле)", |
| 489 | 494 | "What this keyword should mean to the AI, sent verbatim": "ЧтоОбъясните этоИИ, ключевоечто словоон должнодолжен означатьзнать дляоб ИИ,этом отправляетсяключевом дословнослове", |
| 490 | 495 | "Filter to Character(s)": "Фильтр по персонажу(ам)", |
| 491 | 496 | "Character Exclusion": "Исключить персонажей", |
| 492 | 497 | "Inclusion Group": "Группа записей", |
| @@ -569,12 +574,12 @@ | ||
| 569 | 574 | "Remove": "Убрать", |
| 570 | 575 | "Select a World Info file for": "Выбрать файл с миром для", |
| 571 | 576 | "Primary Lorebook": "Основной лорбук", |
| 572 | 577 | "A selected World Info will be bound to this character as its own Lorebook.": "Информация оДанный миремир будет привязанапривязан к персонажу как его собственный лорбук.", |
| 573 | 578 | "When generating an AI reply, it will be combined with the entries from a global World Info selector.": "Когда ИИПри генерируетгенерации ответответа, онданный будетлорбук совмещёнбудет сработать записямивместе изс глобально выбранноговыбранным миралорбуком.", |
| 574 | 579 | "Exporting a character would also export the selected Lorebook file embedded in the JSON data.": "При экспорте персонажа вместе с ним также выгрузится выбранный лорбук в виде JSON.", |
| 575 | 580 | "Additional Lorebooks": "Вспомогательные лорбуки", |
| 576 | 581 | "Associate one or more auxillary Lorebooks with this character.": "Привязать к этому персонажу один или больше вспомогательных лорбуков.", |
| 577 | 582 | "NOTE: These choices are optional and won't be preserved on character export!": "ВНИМАНИЕ: эти выборы необязательныевспомогательные илорбуки не будут сохраненывыгружены при экспорте персонажа!", |
| 578 | 583 | "Rename chat file": "Переименовать чат", |
| 579 | 584 | "Export JSONL chat file": "Экспортировать чат в формате JSONL", |
| 580 | 585 | "Download chat as plain text document": "Скачать чат в формате .txt", |
| @@ -784,20 +789,20 @@ | ||
| 784 | 789 | "Enable magnification for zoomed avatar display.": "Добавляет возможность приближать увеличенную версию аватарки.", |
| 785 | 790 | "Unique to this chat": "Только для текущего чата", |
| 786 | 791 | "Checkpoints inherit the Note from their parent, and can be changed individually after that.": "Чекпоинты наследуют заметки от родительского чата, но впоследствие их всегда можно изменить.", |
| 787 | 792 | "Include in World Info Scanning": "Учитывать при сканировании Информации о мирелорбуком", |
| 788 | 793 | "Before Main Prompt / Story String": "Перед основным промптом / строкойобщим историишаблоном", |
| 789 | 794 | "After Main Prompt / Story String": "После основного промпта / строкиобщего историишаблона", |
| 790 | 795 | "In-chat @ Depth": "Встав. на глуб.", |
| 791 | 796 | "as": "роль:", |
| 792 | 797 | "Insertion Frequency": "Частота вставки", |
| 793 | 798 | "(0 = Disable, 1 = Always)": "(0 = никогда, 1 = всегда)", |
| 794 | 799 | "User inputs until next insertion:": "Ваших сообщений до след. вставки:", |
| 795 | 800 | "Character Author's Note (Private)": "ЗаметкиАвторские авторазаметки для персонажа (личные)", |
| 796 | 801 | "Will be automatically added as the author's note for this character. Will be used in groups, but can't be modified when a group chat is open.": "Автоматически применятся к этому персонажу в качестве заметокавторских авторазаметок. Будут использоваться в группах, но при активном групповом чате к редактированию недоступны.", |
| 797 | 802 | "Use character author's note": "Использовать авторские заметки авторадля персонажа", |
| 798 | 803 | "Replace Author's Note": "Вместо заметокавторских авторазаметок", |
| 799 | 804 | "Default Author's Note": "Стандартные заметкиавторские авторазаметки", |
| 800 | 805 | "Will be automatically added as the Author's Note for all new chats.": "Будут автоматически добавляться во все новые чаты в качестве Заметокавторских авторазаметок", |
| 801 | 806 | "1 = disabled": "1 = откл.", |
| 802 | 807 | "write short replies, write replies using past tense": "пиши короткие ответы, пиши в настоящем времени", |
| 803 | 808 | "Positive Prompt": "Положительный промпт", |
| @@ -906,7 +911,7 @@ | ||
| 906 | 911 | "ext_sum_force_text": "Пересказать сейчас", |
| 907 | 912 | "Disable automatic summary updates. While paused, the summary remains as-is. You can still force an update by pressing the Summarize now button (which is only available with the Main API).": "Отключить авто-обновление пересказа. Пересказ всё время будет фиксированным. Однако останется возможность принудительно обновить пересказ через кнопку \"Пересказать сейчас\" (доступно только через Основное API)", |
| 908 | 913 | "ext_sum_pause": "Приостановить", |
| 909 | 914 | "Omit World Info and Author's Note from text to be summarized. Only has an effect when using the Main API. The Extras API always omits WI/AN.": "Исключать из пересказа Информацию о мире и ЗаметкиАвторские авторазаметки. Работает только для Основного API. Extras API всегда их исключает.", |
| 910 | 915 | "ext_sum_no_wi_an": "Без мира и заметок", |
| 911 | 916 | "ext_sum_settings_tip": "Изменить промпт пересказа, место для инжекта и т.д.", |
| 912 | 917 | "ext_sum_settings": "Настройки пересказа", |
| @@ -1333,13 +1338,7 @@ | ||
| 1333 | 1338 | "WI_Entry_Status_Normal": "Обычная", |
| 1334 | 1339 | "WI_Entry_Status_Vectorized": "Векторизованная", |
| 1335 | 1340 | "WI_Entry_Status_Disabled": "Отключена", |
| 1336 | - "Before EM": "↑EM", | |
| 1337 | - "After EM": "↓EM", | |
| 1338 | - "at Depth System": "@D ⚙️", | |
| 1339 | - "at Depth User": "@D 👤", | |
| 1340 | - "at Depth AI": "@D 🤖", | |
| 1341 | 1341 | "Depth": "Глубина", |
| 1342 | - "Trigger %:": "Trigger %:", | |
| 1343 | 1342 | "Probability": "Вероятность", |
| 1344 | 1343 | "Duplicate world info entry": "Дублировать запись", |
| 1345 | 1344 | "Delete world info entry": "Удалить запись", |
| @@ -1411,26 +1410,7 @@ | ||
| 1411 | 1410 | "ext_regex_title": "Regex", |
| 1412 | 1411 | "ext_regex_import_target": "Импортировать в:", |
| 1413 | 1412 | "ext_regex_move_to_scoped": "Сделать локальным", |
| 1414 | - "Trigger Stable Diffusion": "Trigger Stable Diffusion", | |
| 1415 | - "sd_Yourself": "Yourself", | |
| 1416 | - "sd_Your_Face": "Your Face", | |
| 1417 | - "sd_Me": "Me", | |
| 1418 | - "sd_The_Whole_Story": "The Whole Story", | |
| 1419 | - "sd_The_Last_Message": "The Last Message", | |
| 1420 | - "sd_Raw_Last_Message": "Raw Last Message", | |
| 1421 | - "sd_Background": "Background", | |
| 1422 | 1413 | "Image Generation": "Image Generation", |
| 1423 | - "sd_refine_mode": "Allow to edit prompts manually before sending them to generation API", | |
| 1424 | - "sd_refine_mode_txt": "Edit prompts before generation", | |
| 1425 | - "sd_interactive_mode": "Automatically generate images when sending messages like 'send me a picture of cat'.", | |
| 1426 | - "sd_interactive_mode_txt": "Interactive mode", | |
| 1427 | - "sd_multimodal_captioning": "Use multimodal captioning to generate prompts for user and character portraits based on their avatars.", | |
| 1428 | - "sd_multimodal_captioning_txt": "Use multimodal captioning for portraits", | |
| 1429 | - "sd_expand": "Automatically extend prompts using text generation model", | |
| 1430 | - "sd_expand_txt": "Auto-enhance prompts", | |
| 1431 | - "sd_snap": "Snap generation requests with a forced aspect ratio (portraits, backgrounds) to the nearest known resolution, while trying to preserve the absolute pixel counts (recommended for SDXL).", | |
| 1432 | - "sd_snap_txt": "Snap auto-adjusted resolutions", | |
| 1433 | - "Source": "Source", | |
| 1434 | 1414 | "sd_auto_url": "Example: {{auto_url}}", |
| 1435 | 1415 | "Authentication (optional)": "Authentication (optional)", |
| 1436 | 1416 | "Example: username:password": "Example: username:password", |
| @@ -1441,18 +1421,10 @@ | ||
| 1441 | 1421 | "sd_drawthings_auth_txt": "run DrawThings app with HTTP API switch enabled in the UI! The server must be accessible from the SillyTavern host machine.", |
| 1442 | 1422 | "sd_vlad_url": "Example: {{vlad_url}}", |
| 1443 | 1423 | "The server must be accessible from the SillyTavern host machine.": "The server must be accessible from the SillyTavern host machine.", |
| 1444 | - "Hint: Save an API key in AI Horde API settings to use it here.": "Hint: Save an API key in AI Horde API settings to use it here.", | |
| 1445 | 1424 | "Allow NSFW images from Horde": "Разрешить NSFW-картинки в Horde", |
| 1446 | - "Sanitize prompts (recommended)": "Sanitize prompts (recommended)", | |
| 1447 | - "Automatically adjust generation parameters to ensure free image generations.": "Automatically adjust generation parameters to ensure free image generations.", | |
| 1448 | 1425 | "Avoid spending Anlas": "Avoid spending Anlas", |
| 1449 | 1426 | "Opus tier": "(Opus tier)", |
| 1450 | 1427 | "View my Anlas": "View my Anlas", |
| 1451 | - "These settings only apply to DALL-E 3": "These settings only apply to DALL-E 3", | |
| 1452 | - "Image Style": "Image Style", | |
| 1453 | - "Image Quality": "Image Quality", | |
| 1454 | - "Standard": "Standard", | |
| 1455 | - "HD": "HD", | |
| 1456 | 1428 | "sd_comfy_url": "Example: {{comfy_url}}", |
| 1457 | 1429 | "Open workflow editor": "Open workflow editor", |
| 1458 | 1430 | "Create new workflow": "Create new workflow", |
| @@ -1460,9 +1432,6 @@ | ||
| 1460 | 1432 | "Enhance": "Enhance", |
| 1461 | 1433 | "Refine": "Refine", |
| 1462 | 1434 | "Decrisper": "Decrisper", |
| 1463 | - "Sampling steps": "Sampling steps ()", | |
| 1464 | - "Width": "Width ()", | |
| 1465 | - "Height": "Height ()", | |
| 1466 | 1435 | "Resolution": "Resolution", |
| 1467 | 1436 | "Model": "Model", |
| 1468 | 1437 | "Sampling method": "Sampling method", |
| @@ -1472,8 +1441,6 @@ | ||
| 1472 | 1441 | "DYN variants of SMEA samplers often lead to more varied output, but may fail at very high resolutions.": "DYN variants of SMEA samplers often lead to more varied output, but may fail at very high resolutions.", |
| 1473 | 1442 | "DYN": "DYN", |
| 1474 | 1443 | "Scheduler": "Scheduler", |
| 1475 | - "Restore Faces": "Restore Faces", | |
| 1476 | - "Hires. Fix": "Hires. Fix", | |
| 1477 | 1444 | "Upscaler": "Upscaler", |
| 1478 | 1445 | "Upscale by": "Upscale by", |
| 1479 | 1446 | "Denoising strength": "Denoising strength", |
| @@ -1484,7 +1451,6 @@ | ||
| 1484 | 1451 | "Delete style": "Delete style", |
| 1485 | 1452 | "Common prompt prefix": "Common prompt prefix", |
| 1486 | 1453 | "sd_prompt_prefix_placeholder": "Use {prompt} to specify where the generated prompt will be inserted", |
| 1487 | - "Negative common prompt prefix": "Negative common prompt prefix", | |
| 1488 | 1454 | "Character-specific prompt prefix": "Character-specific prompt prefix", |
| 1489 | 1455 | "Won't be used in groups.": "Won't be used in groups.", |
| 1490 | 1456 | "sd_character_prompt_placeholder": "Any characteristics that describe the currently selected character. Will be added after a common prompt prefix.\nExample: female, green eyes, brown hair, pink shirt", |
| @@ -1836,13 +1802,13 @@ | ||
| 1836 | 1802 | "Also delete the chat files": "Также удалить файлы чатов", |
| 1837 | 1803 | "Delete the character?": "Удалить персонажа?", |
| 1838 | 1804 | "Not a valid number": "Некорректное число", |
| 1839 | 1805 | "Author's Note depth updated": "Глубина заметокавторских авторазаметок обновлена", |
| 1840 | 1806 | "Author's Note frequency updated": "Частота заметокавторских авторазаметок обновлена", |
| 1841 | 1807 | "Not a valid position": "Некорректная позиция", |
| 1842 | 1808 | "Author's Note position updated": "Позиция заметокавторских авторазаметок обновлена", |
| 1843 | 1809 | "Something went wrong. Could not save character's author's note.": "Что-то пошло не так. Не удалось сохранить заметкиавторские авторазаметки для этого персонажа.", |
| 1844 | 1810 | "Select a character before trying to use Author's Note": "Сначала необходимо выбрать персонажа", |
| 1845 | 1811 | "Author's Note text updated": "Текст заметокавторских авторазаметок обновлён", |
| 1846 | 1812 | "Group Validation": "Валидация группы", |
| 1847 | 1813 | "Warning: Listed member ${0} does not exist as a character. It will be removed from the group.": "Предупреждение: персонаж ${0} не существует в виде карточки. Он будет удалён из группы.", |
| 1848 | 1814 | "Group Chat could not be saved": "Не удалось сохранить групповой чат", |
| @@ -1938,7 +1904,7 @@ | ||
| 1938 | 1904 | "Do you want to remove these fields before exporting?": "Желаете ли удалить эти поля перед экспортом?", |
| 1939 | 1905 | "Save": "Сохранить", |
| 1940 | 1906 | "Chat Lorebook": "Лорбук для чата", |
| 1941 | 1907 | "chat_world_template_txt": "Выбранный мир будет привязан к этому чату. Будет добавляться в промптработать наряду с глобальным лорбуком и лором персонажа.", |
| 1942 | 1908 | "world_button_title": "Лор персонажа\n\nНажмите, чтобы загрузить\nShift + ЛКМ, чтобы открыть диалог привязки мира", |
| 1943 | 1909 | "No auxillary Lorebooks set. Click here to select.": "Вспомогательный лорбук не выбран. Нажмите, чтобы выбрать.", |
| 1944 | 1910 | "ext_regex_user_input_desc": "Отправленные вами сообщения.", |
| @@ -2010,7 +1976,7 @@ | ||
| 2010 | 1976 | "Imported tags:": "Импортируемые теги:", |
| 2011 | 1977 | "Importing Tags": "Импорт тегов", |
| 2012 | 1978 | "Couldn't import tags:": "Не удалось импортировать теги:", |
| 2013 | 1979 | "Allow fallback models": "Разрешить fallback-резервные модели", |
| 2014 | 1980 | "Allow fallback providers": "Разрешить fallback-провайдеров", |
| 2015 | 1981 | "To use instruct formatting, switch to OpenRouter under Text Completion API.": "Переключитесь на OpenRouter в Text Completion API, чтобы использовать форматирование Instruct-режима.", |
| 2016 | 1982 | "Select providers. No selection = all providers.": "Выберите провайдера. Нет выбранного = выбраны все.", |
| @@ -2044,14 +2010,14 @@ | ||
| 2044 | 2010 | "Title/Memo": "Название", |
| 2045 | 2011 | "Strategy": "Статус", |
| 2046 | 2012 | "Position": "Позиция", |
| 2047 | 2013 | "Trigger %": "% срабатываниясрабатываний", |
| 2048 | 2014 | "Use global": "Глоб. настройка", |
| 2049 | 2015 | "Whole Words": "Целые слова", |
| 2050 | 2016 | "Non-recursable": "Не рекурсивная", |
| 2051 | 2017 | "Delay until recursion": "Рекурсивная", |
| 2052 | 2018 | "Toggle entry's active state.": "Вкл/выкл запись.", |
| 2053 | 2019 | "Prioritize": "Важная", |
| 2054 | 2020 | "Prioritize this entry: When checked, this entry is prioritized out of all selections.If multiple are prioritized, the one with the highest 'Order' is chosen.": "Важная запись получает приоритет среди всех выбранных. Если важных записей несколько, выбирается та, у которой выше \"ОчерёдностьПриоритет\".", |
| 2055 | 2021 | "Group Weight": "Вес в группе", |
| 2056 | 2022 | "A relative likelihood of entry activation within the group": "Относительная вероятность активации записи в рамках группы", |
| 2057 | 2023 | "Sticky": "Липучка", |
| @@ -2067,7 +2033,7 @@ | ||
| 2067 | 2033 | "Switch to plaintext mode": "Вкл/выкл режим чистого текста", |
| 2068 | 2034 | "Exclude": "Режим исключения", |
| 2069 | 2035 | "Switch the Character/Tags filter around to exclude the listed characters and tags from matching for this entry": "Инвертировать логику: для выбранных в фильтре персонажей/тегов данная запись активна НЕ БУДЕТ", |
| 2070 | 2036 | "Apply current sorting as Order": "Настроить ОчерёдностьПриоритет в соответствии с текущей сортировкой", |
| 2071 | 2037 | "Create a new World Info": "Создать новый мир", |
| 2072 | 2038 | "Enter a name for the new file:": "Название нового файла:", |
| 2073 | 2039 | "Inclusion Groups ensure only one entry from a group is activated at a time, if multiple are triggered.Documentation: World Info - Inclusion Group": "Если сразу несколько записей из одной группы окажутся активированными, по факту сработает только одна. Одна запись может входить в несколько групп, отделяются запятыми. Раздел в документации: World Info - Inclusion Group", |
| @@ -2165,7 +2131,7 @@ | ||
| 2165 | 2131 | "openai_reasoning_effort_high": "Подробные", |
| 2166 | 2132 | "Persona Lore Alt+Click to open the lorebook": "Лорбук данной персоны\nAlt + ЛКМ чтобы открыть лорбук", |
| 2167 | 2133 | "Persona Lorebook for": "Лорбук для персоны", |
| 2168 | 2134 | "persona_world_template_txt": "Выбранная Информация оВыбранный миремир будет привязанапривязан к этой персоне. Информация будет добавляться в каждомБудет промптеработать вместе с глобальным лорбуком и лорбуками персонажа и чата.", |
| 2169 | 2135 | "Global list": "Глобальный список", |
| 2170 | 2136 | "Preset-specific list": "Список для данного пресета", |
| 2171 | 2137 | "Banned tokens/strings are being sent in the request.": "Запрещённые токены и строки отсылаются в запросе.", |
| @@ -2521,6 +2487,16 @@ | ||
| 2521 | 2487 | "Automatically generated chat backups.": "Автоматически создаваемые бэкапы чатов.", |
| 2522 | 2488 | "Settings Backups": "Копии настроек", |
| 2523 | 2489 | "Automatically generated settings backups.": "Автоматически создаваемые бэкапы настроек.", |
| 2490 | + "Files": "Файлы", | |
| 2491 | + "Files that are not associated with chat messages or Data Bank. WILL DELETE MANUAL UPLOADS!": "Файлы, не связанные ни с одним сообщением или банком данных. ЗАГРУЖЕННЫЕ ВРУЧНУЮ ФАЙЛЫ ТАКЖЕ БУДУТ УДАЛЕНЫ!", | |
| 2492 | + "Images": "Изображения", | |
| 2493 | + "Images that are not associated with chat messages. WILL DELETE MANUAL UPLOADS!": "Картинки, не связанные ни с одним сообщением. ЗАГРУЖЕННЫЕ ВРУЧНУЮ ФАЙЛЫ ТАКЖЕ БУДУТ УДАЛЕНЫ!", | |
| 2494 | + "Avatar Thumbnails": "Превью для аватарок", | |
| 2495 | + "Thumbnails for avatars of missing or deleted characters.": "Превью для аватарок удалённых персонажей", | |
| 2496 | + "Background Thumbnails": "Превью для фонов", | |
| 2497 | + "Thumbnails for missing or deleted backgrounds.": "Превью для удалённых фоновых изображений", | |
| 2498 | + "Persona Thumbnails": "Превью для персон", | |
| 2499 | + "Thumbnails for missing or deleted personas.": "Превью для удалённых персон", | |
| 2524 | 2500 | "Delete all items in this category": "Удалить всё в этой категории", |
| 2525 | 2501 | "View item content": "Посмотреть содержимое", |
| 2526 | 2502 | "Download item": "Скачать содержимое", |
| @@ -2583,5 +2559,96 @@ | ||
| 2583 | 2559 | "Moonshot AI API Key": "Ключ от API Moonshot AI", |
| 2584 | 2560 | "Moonshot AI Model": "Модель Moonshot AI", |
| 2585 | 2561 | "AI/ML API Key": "Ключ от API AI/ML", |
| 2586 | 2562 | "AI/ML Model": "Модель AI/ML", |
| 2563 | + "Replace Character": "Заменить персонажа", | |
| 2564 | + "Choose a new character card to replace this character with.": "Выберите, каким персонажем хотите заменить текущего.", | |
| 2565 | + "All chats, assets and group memberships will be preserved, but local changes to the character data will be lost.": "Чаты с персонажем, его ассеты и членство в группах сохранятся. Однако сделанные вами изменения в карточке будут утеряны.", | |
| 2566 | + "Proceed?": "Продолжить?", | |
| 2567 | + "No Creator's Notes provided.": "Создатель не оставил примечаний.", | |
| 2568 | + "No auxiliary Lorebooks set. Click here to select.": "Вспомогательных лорбуков нет. ЛКМ, чтобы выбрать.", | |
| 2569 | + "Persona Title (optional, display only)": "Сноска (не влияет на чат, только в интерфейсе)", | |
| 2570 | + "This entry will not be recursively activated by other entries.": "Не будет активироваться другими записями.", | |
| 2571 | + "This entry will not activate other entries recursively.": "Не будет активировать другие записи.", | |
| 2572 | + "This entry can only be activated on recursive checking.": "Активируется только другими записями.", | |
| 2573 | + "This entry will be included ignoring budget constraints, assuming all other checks pass.": "Будет включена в промпт даже при превышении бюджета токенов (при условии, что все остальные условия соблюдены)", | |
| 2574 | + "Ignore budget": "Игнорировать бюджет", | |
| 2575 | + "Filter to Generation Triggers": "Только для опред. типов генераций", | |
| 2576 | + "Apply current sorting as Order": "Выставить приоритеты по текущей сортировке", | |
| 2577 | + "Apply your current sorting to the \"Order\" field. The Order values will go down from the chosen number.": "Заполнить поле \"Приоритет\" в соответствии с текущей сортировкой для всех записей. Поля будут заполнены значениями, начиная с этого числа:", | |
| 2578 | + "More than 100 entries in this world. If you don't choose a number higher than that, the lower entries will default to 0.<br />(Usual default: 100)<br />Minimum: ${0}": "В этом лорбуке больше 100 записей! Если не выставить число больше 100, то последние записи будут иметь приоритет 0.<br/>(Стандартное значение: 100)<br/>(Минимальное число: ${0})", | |
| 2579 | + "Apply": "Применить", | |
| 2580 | + "Apply Current Sorting": "Выставить приоритеты по сортировке", | |
| 2581 | + "Delete the entry with UID: ${0}?": "Удалить запись с UID: ${0}?", | |
| 2582 | + "This action is irreversible!": "Отменить будет невозможно!", | |
| 2583 | + "Recursion Level": "Уровень рекурсии", | |
| 2584 | + "delay_until_recursion_level": "Насколько глубоко должна зайти рекурсия, чтобы иметь возможность активировать эту запись.\n\nИзначально рекурсия делает проход по 1 уровню. Если там не находится подходящих записей, то она идёт на 2 уровень, и там повторяет процесс.\nИ так, пока не дойдёт до самого глубокого уровня.\n\nАктуально только для рекурсивных записей (с отмеченной галочкой \"Рекурсивная\").", | |
| 2585 | + "A number lower than the entry count has been chosen. All entries below that will default to 0.": "Введённое число меньше, чем общее кол-во записей. Всем записям внизу списка присвоен приоритет 0.", | |
| 2586 | + "Invalid number: ${0}": "Некорректное число: ${0}", | |
| 2587 | + "Allow animations for WEBP backgrounds. This is only a change for the selection menu.": "Разрешить анимации в WEBP фонах. Актуально только для меню выбора.", | |
| 2588 | + "sd_refine_mode_txt": "Редактировать промпты перед генерацией", | |
| 2589 | + "sd_refine_mode": "Отправлять промпты на проверку вам, прежде чем пересылать в API", | |
| 2590 | + "sd_function_tool_txt": "Использовать вызов функций", | |
| 2591 | + "sd_function_tool": "Использовать функцию, чтобы понимать, когда пора генерировать изображение", | |
| 2592 | + "sd_interactive_mode_txt": "Интерактивный режим", | |
| 2593 | + "sd_interactive_mode": "Автоматически генерировать изображения, когда появляется сообщение вида \"send me a picture of a cat\"", | |
| 2594 | + "sd_multimodal_captioning_txt": "Мультимодальный промптинг", | |
| 2595 | + "sd_multimodal_captioning": "Использовать мультимодальный промптинг для создания портретов пользователя и персонажа, основываясь на их аватарках", | |
| 2596 | + "sd_free_extend_txt": "Дописывать промпты в свободном режиме", | |
| 2597 | + "sd_free_extend_small": "(для интерактивного режима или команд)", | |
| 2598 | + "sd_free_extend": "Автоматически дописывать промпты в свободном режиме (для всего, что не касается фонов и портретов), используя текущую выбранную LLM", | |
| 2599 | + "sd_snap_txt": "Корректировать автоматически выбранное разрешение", | |
| 2600 | + "sd_snap": "Подгонять картинки с фиксированным соотношением сторон (фоны, портреты) к ближайшему известному разрешению (рекомендуется для SDXL)", | |
| 2601 | + "Source": "API", | |
| 2602 | + "Hint: Save an API key in AI Horde API settings to use it here.": "Подсказка: сохраните ключ от API в настройках API на сайте AI Horde, чтобы использовать его автоматически.", | |
| 2603 | + "Sanitize prompts (recommended)": "Прогонять промпты через санитайзер (рекомендуется)", | |
| 2604 | + "Sampling method": "Метод сэмплинга", | |
| 2605 | + "Resolution": "Целевое разрешение", | |
| 2606 | + "Sampling steps": "Кол-во шагов", | |
| 2607 | + "Width": "Ширина", | |
| 2608 | + "Height": "Высота", | |
| 2609 | + "Not all samplers supported.": "Поддерживает не все виды сэмплинга.", | |
| 2610 | + "(-1 for random)": "(-1 для случайного)", | |
| 2611 | + "Common prompt prefix": "Фиксированный префикс для промптов", | |
| 2612 | + "Preset for prompt prefix and negative prompt": "Пресет для префиксов промпта и для негативных промптов", | |
| 2613 | + "Style": "Стиль", | |
| 2614 | + "Negative common prompt prefix": "Фиксированный префикс для негативных промптов", | |
| 2615 | + "Chat Message Visibility (by source)": "Видимость сообщений в чате (по источникам)", | |
| 2616 | + "Uncheck to hide the extension's messages in chat prompts.": "Снимите галочку, чтобы скрыть из промптов сообщения, приходящие из этого источника.", | |
| 2617 | + "Extensions Menu": "Меню расширений", | |
| 2618 | + "Slash Command": "Слэш-команды", | |
| 2619 | + "Interactive Mode": "Интерактивный режим", | |
| 2620 | + "Function Tool": "Функция", | |
| 2621 | + "Save style": "Сохранить стиль", | |
| 2622 | + "Delete style": "Удалить стиль", | |
| 2623 | + "Are you sure you want to delete the style \"${0}\"?": "Вы точно хотите удалить стиль \"${0}\"?", | |
| 2624 | + "API Key": "Ключ от API", | |
| 2625 | + "These settings only apply to DALL-E 3": "Данные настройки применяются только для DALL-E 3", | |
| 2626 | + "Image Style": "Стиль изображения", | |
| 2627 | + "Image Quality": "Качество изображения", | |
| 2628 | + "Standard": "Стандарт", | |
| 2629 | + "sd_res_512x512": "512x512 (1:1, иконки, аватарки)", | |
| 2630 | + "sd_res_600x600": "600x600(1:1, иконки, аватарки)", | |
| 2631 | + "sd_res_512x768": "512x768 (2:3, вертикальная аватарка для карточки)", | |
| 2632 | + "sd_res_768x512": "768x512 (3:2, 35мм плёнка для кинофильмов, альбомн. ориентация)", | |
| 2633 | + "sd_res_960x540": "960x540 (16:9, обои, альбомн. ориентация)", | |
| 2634 | + "sd_res_540x960": "540x960 (9:16, обои, книжн. ориентация)", | |
| 2635 | + "sd_res_1920x1088": "1920x1088 (16:9, обои, альбомн. ориентация)", | |
| 2636 | + "sd_res_1088x1920": "1088x1920 (9:16, обои, книжн. ориентация)", | |
| 2637 | + "sd_res_1280x720": "1280x720 (16:9, обои, альбомн. ориентация)", | |
| 2638 | + "sd_res_720x1280": "720x1280 (9:16, обои, книжн. ориентация)", | |
| 2639 | + "Click to set": "Нажмите чтобы задать", | |
| 2640 | + "Prompt Upsampling": "Применять Prompt Upsampling", | |
| 2641 | + "Whether to perform upsampling on the prompt. If active, automatically modifies the prompt for more creative generation.": "При активации автоматически модифицирует промпт, чтобы сделать процесс генерации более креативным.", | |
| 2642 | + "Important:": "Важно:", | |
| 2643 | + "The server must be accessible from the SillyTavern host machine.": " Адрес должен быть доступен с сервера SillyTavern.", | |
| 2644 | + "Open workflow editor": "Открыть редактор воркфлоу", | |
| 2645 | + "Create new workflow": "Создать новый воркфлоу", | |
| 2646 | + "Delete workflow": "Удалить воркфлоу", | |
| 2647 | + "Delete the workflow? This action is irreversible.": "Удалить этот воркфлоу? Отменить будет невозможно.", | |
| 2648 | + "Swap width and height": "Поменять местами ширину и высоту", | |
| 2649 | + "Authentication (optional)": "Данные для аутентификации (необязательно)", | |
| 2650 | + "sd_auto_auth_warning_1": " запускайте Stable Diffusion с флагом", | |
| 2651 | + "sd_auto_auth_warning_2": "! Адрес SD должен быть доступен с сервера SillyTavern.", | |
| 2652 | + "Upscale by": "Множитель апскейлинга", | |
| 2653 | + "Hires steps (2nd pass)": "Кол-во шагов Hires (на втором проходе)" | |
| 2587 | 2654 | } |
| @@ -10808,7 +10808,7 @@ jQuery(async function () { | ||
| 10808 | 10808 | } |
| 10809 | 10809 | } break; |
| 10810 | 10810 | case 'replace_update': { |
| 10811 | 10811 | const confirm = await Popup.show.confirm('t`Replace Character'`, '<p>' + t`Choose a new character card to replace this character with.` + '</p>' + t`All chats, assets and group memberships will be preserved, but local changes to the character data will be lost.` + '<br />' + t`Proceed?'`); |
| 10812 | 10812 | if (confirm) { |
| 10813 | 10813 | async function uploadReplacementCard(e) { |
| 10814 | 10814 | const file = e.target.files[0]; |
| @@ -57,7 +57,7 @@ import { callGenericPopup, Popup, POPUP_TYPE } from '../../popup.js'; | ||
| 57 | 57 | import { commonEnumProviders } from '../../slash-commands/SlashCommandCommonEnumsProvider.js'; |
| 58 | 58 | import { ToolManager } from '../../tool-calling.js'; |
| 59 | 59 | import { MacrosParser } from '../../macros.js'; |
| 60 | 60 | import { t, translate } from '../../i18n.js'; |
| 61 | 61 | import { oai_settings } from '../../openai.js'; |
| 62 | 62 | |
| 63 | 63 | export { MODULE_NAME }; |
| @@ -650,7 +650,7 @@ async function onDeleteStyleClick() { | ||
| 650 | 650 | return; |
| 651 | 651 | } |
| 652 | 652 | |
| 653 | 653 | const confirmed = await callGenericPopup(t`Are you sure you want to delete the style "${selectedStyle}"?`, POPUP_TYPE.CONFIRM, '', { okButton: 'Delete', cancelButton: 'Cancel' }); |
| 654 | 654 | |
| 655 | 655 | if (!confirmed) { |
| 656 | 656 | return; |
| @@ -925,16 +925,16 @@ function onADetailerFaceChange() { | ||
| 925 | 925 | } |
| 926 | 926 | |
| 927 | 927 | const resolutionOptions = { |
| 928 | 928 | sd_res_512x512: { width: 512, height: 512, name: translate('512x512 (1:1, icons, profile pictures)', 'sd_res_512x512') }, |
| 929 | 929 | sd_res_600x600: { width: 600, height: 600, name: translate('600x600 (1:1, icons, profile pictures)', 'sd_res_600x600') }, |
| 930 | 930 | sd_res_512x768: { width: 512, height: 768, name: translate('512x768 (2:3, vertical character card)', 'sd_res_512x768') }, |
| 931 | 931 | sd_res_768x512: { width: 768, height: 512, name: translate('768x512 (3:2, horizontal 35-mm movie film)', 'sd_res_768x512') }, |
| 932 | 932 | sd_res_960x540: { width: 960, height: 540, name: translate('960x540 (16:9, horizontal wallpaper)', 'sd_res_960x540') }, |
| 933 | 933 | sd_res_540x960: { width: 540, height: 960, name: translate('540x960 (9:16, vertical wallpaper)', 'sd_res_540x960') }, |
| 934 | 934 | sd_res_1920x1088: { width: 1920, height: 1088, name: translate('1920x1088 (16:9, 1080p, horizontal wallpaper)', 'sd_res_1920x1088') }, |
| 935 | 935 | sd_res_1088x1920: { width: 1088, height: 1920, name: translate('1088x1920 (9:16, 1080p, vertical wallpaper)', 'sd_res_1088x1920') }, |
| 936 | 936 | sd_res_1280x720: { width: 1280, height: 720, name: translate('1280x720 (16:9, 720p, horizontal wallpaper)', 'sd_res_1280x720') }, |
| 937 | 937 | sd_res_720x1280: { width: 720, height: 1280, name: translate('720x1280 (9:16, 720p, vertical wallpaper)', 'sd_res_720x1280') }, |
| 938 | 938 | sd_res_1024x1024: { width: 1024, height: 1024, name: '1024x1024 (1:1, SDXL)' }, |
| 939 | 939 | sd_res_1152x896: { width: 1152, height: 896, name: '1152x896 (9:7, SDXL)' }, |
| 940 | 940 | sd_res_896x1152: { width: 896, height: 1152, name: '896x1152 (7:9, SDXL)' }, |
| @@ -3847,7 +3847,7 @@ async function onComfyNewWorkflowClick() { | ||
| 3847 | 3847 | } |
| 3848 | 3848 | |
| 3849 | 3849 | async function onComfyDeleteWorkflowClick() { |
| 3850 | 3850 | const confirm = await callGenericPopup('t`Delete the workflow? This action is irreversible.'`, POPUP_TYPE.CONFIRM, '', { okButton: 't`Delete'`, cancelButton: 't`Cancel'` }); |
| 3851 | 3851 | if (!confirm) { |
| 3852 | 3852 | return; |
| 3853 | 3853 | } |
| @@ -260,7 +260,7 @@ | ||
| 260 | 260 | <span data-i18n="Click to set">Click to set</span> |
| 261 | 261 | </div> |
| 262 | 262 | </div> |
| 263 | 263 | <label class="checkbox_label marginBot5" for="sd_bfl_upsampling" data-i18n="[title]Whether to perform upsampling on the prompt. If active, automatically modifies the prompt for more creative generation." title="Whether to perform upsampling on the prompt. If active, automatically modifies the prompt for more creative generation."> |
| 264 | 264 | <input id="sd_bfl_upsampling" type="checkbox" /> |
| 265 | 265 | <span data-i18n="Prompt Upsampling"> |
| 266 | 266 | Prompt Upsampling |
| @@ -2348,21 +2348,21 @@ async function displayWorldEntries(name, data, navigation = navigation_option.no | ||
| 2348 | 2348 | const entryCount = Object.keys(data.entries).length; |
| 2349 | 2349 | const moreThan100 = entryCount > 100; |
| 2350 | 2350 | |
| 2351 | 2351 | let content = '<span>' + t`Apply your current sorting to the "Order" field. The Order values will go down from the chosen number.` + '</span>'; |
| 2352 | 2352 | if (moreThan100) { |
| 2353 | 2353 | content += `'<div class="m-t-1"><i class="fa-solid fa-triangle-exclamation" style="color: #FFD43B;"></i> ' + t`More than 100 entries in this world. If you don't choose a number higher than that, the lower entries will default to 0.<br />(Usual default: 100)<br />Minimum: ${entryCount}` + '</div>`'; |
| 2354 | 2354 | } |
| 2355 | 2355 | |
| 2356 | 2356 | const result = await Popup.show.input('t`Apply Current Sorting'`, content, '100', { okButton: 't`Apply'`, cancelButton: 'Cancel' }); |
| 2357 | 2357 | if (!result) return; |
| 2358 | 2358 | |
| 2359 | 2359 | const start = Number(result); |
| 2360 | 2360 | if (isNaN(start) || start < 0) { |
| 2361 | 2361 | toastr.error('t`Invalid number: ' + ${result}`, 't`Apply Current Sorting'`); |
| 2362 | 2362 | return; |
| 2363 | 2363 | } |
| 2364 | 2364 | if (start < entryCount) { |
| 2365 | 2365 | toastr.warning('t`A number lower than the entry count has been chosen. All entries below that will default to 0.'`, 't`Apply Current Sorting'`); |
| 2366 | 2366 | } |
| 2367 | 2367 | |
| 2368 | 2368 | // We need to sort the entries here, as the data source isn't sorted |
| @@ -3728,7 +3728,7 @@ export async function deleteWorldInfoEntry(data, uid, { silent = false } = {}) { | ||
| 3728 | 3728 | return; |
| 3729 | 3729 | } |
| 3730 | 3730 | |
| 3731 | 3731 | const confirmation = silent || await Popup.show.confirm(t`Delete the entry with UID: ${uid}?`, 't`This action is irreversible!'`); |
| 3732 | 3732 | if (!confirmation) { |
| 3733 | 3733 | return false; |
| 3734 | 3734 | } |