More Mexican Spanish Translation (#1184)

* More spanish translation, fixed typo on index

Praying that typo fix won't mess with the other translations. Changed "idel" for "idle".

* Changed "es-spa" to "es-mx"

For Mexican Spanish. Spanish has a ridiculous amount of variants and the wording that might seem fine to me might be weird or maybe offensive in other variants.

* Trying to translate the View API key pop up

I'm also failing badly

* "Mirostat Mode" was repeated twice. Not anymore.

Also more Mexican Spanish translation.

* Mirostat Tau and Mirostat Era aren't repeated anymore.

* Partially translated AI Response Formatting to es-MX
This commit is contained in:
Call me Jim 2023-09-27 00:52:49 -06:00 committed by GitHub
parent 0569b706dc
commit 02418d2d97
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 427 additions and 391 deletions

View File

@ -6,7 +6,7 @@
"ru-ru",
"it-it",
"nl-nl",
"es-spa"
"es-mx"
],
"zh-cn": {
"clickslidertips": "点击滑块右侧数字可手动输入",
@ -114,6 +114,8 @@
"to get your NovelAI API key.": "以获取您的 NovelAI API 密钥。",
"Enter it in the box below": "将其输入到下面的输入框中",
"Novel AI Model": "NovelAI 模型",
"Euterpe": "Euterpe",
"Krake": "Krake",
"No connection": "无连接",
"oobabooga/text-generation-webui": "",
"Make sure you run it with": "确保启动时包含 --api 参数",
@ -155,9 +157,13 @@
"Always add character's name to prompt": "始终将角色名称添加到提示符中",
"Keep Example Messages in Prompt": "保持示例消息提示",
"Remove Empty New Lines from Output": "从输出中删除空的新行",
"Pygmalion Formatting": "Pygmalion 格式",
"Disabled for all models": "对所有模型禁用",
"Automatic (based on model name)": "自动(基于型号名称)",
"Enabled for all models": "所有模型启用",
"Multigen": "Multigen",
"First chunk (tokens)": "第一个区块Tokens",
"Next chunks (tokens)": "接下来的区块Tokens",
"Anchors Order": "锚点顺序",
"Character then Style": "字符然后样式",
"Style then Character": "样式然后字符",
@ -281,6 +287,7 @@
"Regenerate": "重新生成",
"PNG": "PNG",
"JSON": "JSON",
"WEBP": "WEBP",
"presets": "预设",
"Message Sound": "AI 消息提示音",
"Author's Note": "作者注释",
@ -664,6 +671,8 @@
"to get your NovelAI API key.": "あなたの NovelAI API キーを取得するために。",
"Enter it in the box below": "以下のボックスに入力してください",
"Novel AI Model": "NovelAI モデル",
"Euterpe": "Euterpe",
"Krake": "Krake",
"No connection": "接続なし",
"oobabooga/text-generation-webui": "",
"Make sure you run it with": "必ず --api の引数を含めて起動してください",
@ -704,9 +713,13 @@
"Always add character's name to prompt": "常にキャラクター名をプロンプトに追加",
"Keep Example Messages in Prompt": "プロンプトに例示メッセージを保持",
"Remove Empty New Lines from Output": "出力から空の改行を削除",
"Pygmalion Formatting": "ピグマリオンフォーマット",
"Disabled for all models": "すべてのモデルで無効",
"Automatic (based on model name)": "自動(モデル名に基づく)",
"Enabled for all models": "すべてのモデルで有効",
"Multigen": "マルチジェン",
"First chunk (tokens)": "最初のチャンク(トークン)",
"Next chunks (tokens)": "次のチャンク(トークン)",
"Anchors Order": "アンカーオーダー",
"Character then Style": "キャラクター、次にスタイル",
"Style then Character": "スタイル、次にキャラクター",
@ -829,6 +842,7 @@
"Regenerate": "再生成",
"PNG": "PNG",
"JSON": "JSON",
"WEBP": "WEBP",
"presets": "プリセット",
"Message Sound": "メッセージ音",
"Author's Note": "作者の注記",
@ -1216,6 +1230,8 @@
"to get your NovelAI API key.": "자세히 읽어주세요.",
"Enter it in the box below": "밑 입력창에 입력하세요.",
"Novel AI Model": "NovelAI 모델",
"Euterpe": "Euterpe",
"Krake": "Krake",
"No connection": "접속 실패",
"oobabooga/text-generation-webui": "oobabooga/text-generation-webui",
"Make sure you run it with": "--api 인수를 반드시 사용해야 합니다.",
@ -1255,9 +1271,13 @@
"Always add character's name to prompt": "프롬프트에 항상 캐릭터 이름 삽입",
"Keep Example Messages in Prompt": "예사 답변을 프롬프트에 유지",
"Remove Empty New Lines from Output": "출력에서 빈줄 삭제",
"Pygmalion Formatting": "Pygmalion 서식",
"Disabled for all models": "모든 모델에 비활성화",
"Automatic (based on model name)": "모델 서식 자동탐지",
"Enabled for all models": "모든 모델에 활성화",
"Multigen": "다수답변 생성",
"First chunk (tokens)": "첫 말뭉치(토큰수)",
"Next chunks (tokens)": "다음 말뭉치(토큰수)",
"Anchors Order": "Anchors Order",
"Character then Style": "캐릭터 다음 스타일",
"Style then Character": "스타일 다음 캐릭터",
@ -1381,6 +1401,7 @@
"Regenerate": "재생성",
"PNG": "PNG",
"JSON": "JSON",
"WEBP": "WEBP",
"presets": "기본설정",
"Message Sound": "메시지 효과음",
"Author's Note": "글쓴이 쪽지",
@ -1789,6 +1810,8 @@
"to get your NovelAI API key.": "чтобы получить свой API-ключ от NovelAI",
"Enter it in the box below": "Введите это в окошко ниже",
"Novel AI Model": "Модель NovelAI",
"Euterpe": "Euterpe",
"Krake": "Krake",
"If you are using:": "Если вы используете:",
"oobabooga/text-generation-webui": "",
"Make sure you run it with": "Убедитесь, что при запуске указали аргумент --api",
@ -1861,9 +1884,13 @@
"Always add character's name to prompt": "Всегда добавлять имя персонажа в инструкции",
"Keep Example Messages in Prompt": "Сохранять примеры сообщений в инструкции",
"Remove Empty New Lines from Output": "Удалять пустые строчки из вывода",
"Pygmalion Formatting": "Форматирование Pygmalion",
"Disabled for all models": "Выключено для всех моделей",
"Automatic (based on model name)": "Автоматически (выбор по названию модели)",
"Enabled for all models": "Включить для всех моделей",
"Multigen": "Мултиген",
"First chunk (tokens)": "Первый отрезок (в токенах)",
"Next chunks (tokens)": "Следующий отрезок (в токенах)",
"Anchors Order": "Порядок Anchors",
"Character then Style": "Персонаж после Стиля",
"Style then Character": "Стиль после Персонажа",
@ -2000,6 +2027,7 @@
"Regenerate": "Повторная генерация",
"PNG": "PNG",
"JSON": "JSON",
"WEBP": "WEBP",
"presets": "Предустановки",
"Message Sound": "Звук сообщения",
"Author's Note": "Авторские заметки",
@ -3154,6 +3182,8 @@
"to get your NovelAI API key.": "om je NovelAI API-sleutel te verkrijgen.",
"Enter it in the box below": "Voer het in in het vak hieronder",
"Novel AI Model": "NovelAI-model",
"Euterpe": "Euterpe",
"Krake": "Krake",
"No connection": "Geen verbinding",
"oobabooga/text-generation-webui": "oobabooga/text-generation-webui",
"Make sure you run it with": "Zorg ervoor dat je het uitvoert met",
@ -3194,9 +3224,13 @@
"Always add character's name to prompt": "Voeg altijd de naam van het personage toe aan de prompt",
"Keep Example Messages in Prompt": "Behoud voorbeeldberichten in de prompt",
"Remove Empty New Lines from Output": "Verwijder lege regels uit de uitvoer",
"Pygmalion Formatting": "Pygmalion-opmaak",
"Disabled for all models": "Uitgeschakeld voor alle modellen",
"Automatic (based on model name)": "Automatisch (op basis van modelnaam)",
"Enabled for all models": "Ingeschakeld voor alle modellen",
"Multigen": "Multigen",
"First chunk (tokens)": "Eerste stuk (tokens)",
"Next chunks (tokens)": "Volgende stukken (tokens)",
"Anchors Order": "Ankersvolgorde",
"Character then Style": "Personage dan Stijl",
"Style then Character": "Stijl dan Personage",
@ -3320,6 +3354,7 @@
"Regenerate": "Regenereren",
"PNG": "PNG",
"JSON": "JSON",
"WEBP": "WEBP",
"presets": "sjablonen",
"Message Sound": "Berichtgeluid",
"Author's Note": "Notitie van auteur",
@ -3598,7 +3633,7 @@
"Change persona image": "persona afbeelding wijzigen",
"Delete persona": "persona verwijderen"
},
"es-spa": {
"es-mx": {
"clickslidertips": "Haz click en el número al lado de la barra \npara seleccionar un número manualmente.",
"kobldpresets": "Configuraciones de KoboldAI",
"guikoboldaisettings": "Configuración actual de la interfaz de KoboldAI",
@ -3704,6 +3739,8 @@
"to get your NovelAI API key.": "para conseguir tu NovelAI API key",
"Enter it in the box below": "Introduce tu clave API de OpenAI en el siguiente campo",
"Novel AI Model": "Modelo IA de NovelAI",
"Euterpe": "Euterpe",
"Krake": "Krake",
"No connection": "Desconectado",
"oobabooga/text-generation-webui": "oobabooga/text-generation-webui",
"Make sure you run it with": "Asegúrate de usar el argumento --api cuando se ejecute",
@ -3756,6 +3793,35 @@
"API Key": "Clave API",
"Get it here:": "Consíguela aquí:",
"View my Kudos": "Ver mis Kudos",
"Models": "Modelos IA"
"Models": "Modelos IA",
"Grammar": "Gramática",
"Type in the desired custom grammar (GBNF).": "Escribe la gramática personalizada deseada (GBNF)",
"forbiddenHeading": "Restringido",
"Enter": "Introduce",
"to use anonymous mode.": "para usar el modo anónimo.",
"Negative Prompt": "Prompt negativo",
"Used if CFG Scale is unset globally, per chat or character.": "Se usa si CFG Scale no está definido globalmente, por chat o por personaje.",
"Mirostat Mode": "Modo Mirostat",
"Mirostat Mode Description": "Un valor de 0 desactiva el Modo Mirostat por completo. 1 es por Mirostat 1.0, y 2 y por Mirostat 2.0.",
"Mirostat Tau Description": "Controla la variabilidad del comportamiento del modelo en el Modo Mirostat. Un valor más alto resulta en más variabilidad.",
"Mirostat Eta Description": "Controla la fuerza del refuerzo positivo en el Modo Mirostat. Un valor más alto resulta en más refuerzo positivo.",
"If you are using:": "Si estás utilizando:",
"Use API key (Only required for Mancer)": "Haz click en este campo (y añade tu clave API)",
"Mancer API key": "Clave API de Mancer",
"Mancer API url": "Link de la API de Mancer",
"Example: https://neuro.mancer.tech/webui/MODEL/api": "Ejemplo: https://neuro.mancer.tech/webui/MODEL/api",
"Context Template": "Plantilla contextual",
"Story String": "String de la historia",
"Example Separator": "Separador de ejemplos",
"Chat Start": "Inicio del chat",
"Instruct Mode": "Modo Instrucción",
"Enabled": "Habilitado",
"Presets": "Plantillas Predefinidas",
"Activation Regex": "Regex de Activación",
"Wrap Sequences with Newline": "Rodear Secuencias con Salto de Línea",
"Replace Macro in Sequences": "Reemplazar Macros en Secuencias",
"Include Names": "Incluír Nombres",
"Force for Groups and Personas": "Forzar por Grupos y Personas",
"System Prompt": "Prompt de Sistema"
}
}

View File

@ -39,7 +39,6 @@
<script src="lib/toastr.min.js"></script>
<script src="lib/fuse.js"></script>
<script src="lib/select2.min.js"></script>
<script src="lib/select2-search-placeholder.js"></script>
<script src="lib/seedrandom.min.js"></script>
<script src="lib/droll.js"></script>
<script src="lib/localforage.min.js"></script>
@ -73,7 +72,6 @@
<script type="module" src="scripts/group-chats.js"></script>
<script type="module" src="scripts/kai-settings.js"></script>
<script type="module" src="scripts/textgen-settings.js"></script>
<script type="module" src="scripts/mancer-settings.js"></script>
<script type="module" src="scripts/bookmarks.js"></script>
<script type="module" src="scripts/horde.js"></script>
<script type="module" src="scripts/RossAscends-mods.js"></script>
@ -85,7 +83,6 @@
<script type="module" src="scripts/preset-manager.js"></script>
<script type="module" src="scripts/filters.js"></script>
<script type="module" src="scripts/personas.js"></script>
<script type="module" src="scripts/server-history.js"></script>
<title>SillyTavern</title>
</head>
@ -249,7 +246,7 @@
<input id="max_context_unlocked" type="checkbox" />
<span data-i18n="unlocked">Unlocked</span>
</label>
<div id="max_context_unlocked_warning" class="toggle-description justifyLeft widthUnset">
<div id="max_context_unlocked_warning">
<span data-i18n="only select modls support context sizes greater than 2048 tokens. proceed only is you know you're doing">
Only select models support context sizes greater than 2048 tokens.
Increase only if you know what you're doing.
@ -617,7 +614,7 @@
complete.</span>
</div>
</div>
<div class="range-block" data-source="openai,claude,windowai,openrouter,ai21,scale,palm">
<div class="range-block" data-source="openai,claude,windowai,openrouter,ai21,scale">
<div class="range-block-title" data-i18n="Temperature">
Temperature
</div>
@ -677,7 +674,7 @@
</div>
</div>
</div>
<div data-newbie-hidden class="range-block" data-source="claude,openrouter,ai21,palm">
<div data-newbie-hidden class="range-block" data-source="claude,openrouter,ai21">
<div class="range-block-title" data-i18n="Top K">
Top K
</div>
@ -692,7 +689,7 @@
</div>
</div>
</div>
<div data-newbie-hidden class="range-block" data-source="openai,claude,openrouter,ai21,scale,palm">
<div data-newbie-hidden class="range-block" data-source="openai,claude,openrouter,ai21,scale">
<div class="range-block-title" data-i18n="Top-p">
Top P
</div>
@ -733,7 +730,7 @@
</div>
<div id="claude_assistant_prefill_block" data-source="claude" class="range-block">
<span id="claude_assistant_prefill_text" data-i18n="Assistant Prefill">Assistant Prefill</span>
<textarea id="claude_assistant_prefill" class="text_pole textarea_compact" name="assistant_prefill autoSetHeight" rows="3" maxlength="5000" data-i18n="[placeholder]Start Claude's answer with..." placeholder="Start Claude's answer with..."></textarea>
<textarea id="claude_assistant_prefill" class="text_pole textarea_compact" name="assistant_prefill autoSetHeight" rows="3" maxlength="5000"data-i18n="[placeholder]Start Claude's answer with..." placeholder="Start Claude's answer with..."></textarea>
</div>
</div>
</div>
@ -772,6 +769,22 @@
<textarea id="wi_format_textarea" class="text_pole textarea_compact autoSetHeight" rows="3" placeholder="&mdash;"></textarea>
</div>
</div>
<div class="range-block m-t-1">
<div class="range-block">
<div class="range-block-title openai_restorable">
<span data-i18n="NSFW avoidance prompt">NSFW avoidance prompt</span> <!-- Memerlin: This whole part doesn't fit correctly on the window unless you move it and resize it. -->
<div id="nsfw_avoidance_prompt_restore" title="Restore default prompt" class="right_menu_button" data-i18n="[title]Restore default prompt"> <!-- Memerlin: This isn't working.-->
<div class="fa-solid fa-clock-rotate-left"></div>
</div>
</div>
<div class="toggle-description justifyLeft" data-i18n="Prompt that is used when the NSFW toggle is O">
Prompt that is used when the NSFW toggle is OFF
</div>
<div class="wide100p">
<textarea id="nsfw_avoidance_prompt_textarea" class="text_pole textarea_compact autoSetHeight" name="nsfw_prompt" rows="3" placeholder="&mdash;"></textarea>
</div>
</div>
</div>
<div class="range-block m-t-1">
<div class="range-block-title openai_restorable" data-i18n="New Chat">
<span>New Chat</span>
@ -823,7 +836,7 @@
<div class="range-block m-t-1">
<div class="range-block-title openai_restorable" data-i18n="Continue nudge">
<span>Continue nudge</span>
<div id="continue_nudge_prompt_restore" title="Restore new chat prompt" class="right_menu_button">
<div id="continue_nudge_prompt_restore" title="Restore new chat prompt" class="right_menu_button" >
<div class="fa-solid fa-clock-rotate-left"></div>
</div>
</div>
@ -1020,7 +1033,7 @@
<div class="range-block-title" data-i18n="Mirostat Mode">
Mirostat Mode
</div>
<div class="toggle-description width100p" data-i18n="Mirostat Mode">
<div class="toggle-description width100p" data-i18n="Mirostat Mode Description">
A value of 0 disables Mirostat entirely.
<br>1 is for Mirostat 1.0, and 2 is for Mirostat 2.0
</div>
@ -1039,7 +1052,7 @@
<div class="range-block-title" data-i18n="Mirostat Tau">
Mirostat Tau
</div>
<div class="toggle-description width100p" data-i18n="Mirostat Tau">
<div class="toggle-description width100p" data-i18n="Mirostat Tau Description">
Controls variability of Mirostat outputs
</div>
<div class="range-block-range-and-counter">
@ -1057,7 +1070,7 @@
<div class="range-block-title" data-i18n="Mirostat Eta">
Mirostat Eta
</div>
<div class="toggle-description width100p" data-i18n="Mirostat Eta">
<div class="toggle-description width100p" data-i18n="Mirostat Eta Description">
Controls learning rate of Mirostat
</div>
<div class="range-block-range-and-counter">
@ -1732,7 +1745,7 @@
<option value="koboldhorde"><span data-i18n="KoboldAI Horde">KoboldAI Horde</span></option>
<option value="textgenerationwebui"><span data-i18n="Text Gen WebUI (ooba/Mancer)">Text Gen WebUI (ooba/Mancer)</span></option>
<option value="novel"><span data-i18n="NovelAI">NovelAI</span></option>
<option value="openai"><span data-i18n="Chat Completion (OpenAI, Claude, Window/OpenRouter, Scale, AI21)">Chat Completion (OpenAI, Claude, Window, OpenRouter, Scale, AI21, PaLM)</span></option>
<option value="openai"><span data-i18n="Chat Completion (OpenAI, Claude, Window/OpenRouter, Scale, AI21)">Chat Completion (OpenAI, Claude, Window, OpenRouter, Scale, AI21)</span></option>
</select>
</div>
<div id="kobold_horde" style="position: relative;"> <!-- shows the kobold settings -->
@ -1767,7 +1780,6 @@
<input id="horde_trusted_workers_only" type="checkbox" />
<span data-i18n="Trusted workers only">Trusted workers only</span>
</label>
<small id="adjustedHordeParams">Context: --, Response: --</small>
<h4 data-i18n="API key">API key</h4>
<small>
@ -1805,8 +1817,8 @@
<div id="kobold_api_block">
<h4 data-i18n="API url">API url</h4>
<small data-i18n="Example: http://127.0.0.1:5000/api ">Example: http://127.0.0.1:5000/api </small>
<input id="api_url_text" name="api_url" class="text_pole" placeholder="http://127.0.0.1:5000/api" maxlength="500" value="" autocomplete="off" data-server-history="kobold">
<div id="api_button" class="menu_button" type="submit" data-i18n="Connect" data-server-connect="kobold">Connect</div>
<input id="api_url_text" name="api_url" class="text_pole" placeholder="http://127.0.0.1:5000/api" maxlength="500" value="" autocomplete="off">
<div id="api_button" class="menu_button" type="submit" data-i18n="Connect">Connect</div>
<div id="api_loading" class="api-load-icon fa-solid fa-hourglass fa-spin"></div>
</div>
<div id="online_status2">
@ -1844,6 +1856,8 @@
</a>
</h4>
<select id="model_novel_select">
<option value="euterpe-v2">Euterpe</option>
<option value="krake-v2">Krake</option>
<option value="clio-v1">Clio</option>
<option value="kayra-v1">Kayra</option>
</select>
@ -1887,26 +1901,24 @@
For privacy reasons, your API key will be hidden after you reload the page.
</div>
<div class="flex1">
<h4>Mancer Model</h4>
<select id="mancer_model"></select>
<h4 data-i18n="Mancer API url">Mancer API URL</h4>
<small data-i18n="Example: https://neuro.mancer.tech/webui/MODEL/api">Example: https://neuro.mancer.tech/webui/MODEL/api</small>
<h4 data-i18n="Mancer API url">Mancer API url</h4>
<small data-i18n="Example: https://neuro.mancer.tech/webui/MODEL/api">Example: https://neuro.mancer.tech/webui/MODEL/api </small>
<input id="mancer_api_url_text" name="mancer_api_url" class="text_pole wide100p" maxlength="500" value="" autocomplete="off">
</div>
</div>
<div id="tgwebui_api_subpanel" class="flex-container flexFlowColumn">
<div class="flex1">
<h4 data-i18n="Blocking API url">Blocking API URL</h4>
<h4 data-i18n="Blocking API url">Blocking API url</h4>
<small data-i18n="Example: http://127.0.0.1:5000/api ">Example: http://127.0.0.1:5000/api </small>
<input id="textgenerationwebui_api_url_text" name="textgenerationwebui_api_url" class="text_pole wide100p" maxlength="500" value="" autocomplete="off" data-server-history="ooba_blocking">
<input id="textgenerationwebui_api_url_text" name="textgenerationwebui_api_url" class="text_pole wide100p" maxlength="500" value="" autocomplete="off">
</div>
<div class="flex1">
<h4 data-i18n="Streaming API url">Streaming API URL</h4>
<h4 data-i18n="Streaming API url">Streaming API url</h4>
<small data-i18n="Example: ws://127.0.0.1:5005/api/v1/stream">Example: ws://127.0.0.1:5005/api/v1/stream </small>
<input id="streaming_url_textgenerationwebui" type="text" class="text_pole wide100p" maxlength="500" value="" autocomplete="off" data-server-history="ooba_streaming">
<input id="streaming_url_textgenerationwebui" type="text" class="text_pole wide100p" maxlength="500" value="" autocomplete="off">
</div>
</div>
<div id="api_button_textgenerationwebui" class="menu_button" type="submit" data-i18n="Connect" data-server-connect="ooba_blocking,ooba_streaming">Connect</div>
<div id="api_button_textgenerationwebui" class="menu_button" type="submit" data-i18n="Connect">Connect</div>
<div id="api_loading_textgenerationwebui" class="api-load-icon fa-solid fa-hourglass fa-spin"></div>
</div>
</form>
@ -1926,7 +1938,6 @@
<option value="claude">Claude</option>
<option value="scale">Scale</option>
<option value="ai21">AI21</option>
<option value="palm">Google PaLM 2</option>
</select>
<form id="openai_form" data-source="openai" action="javascript:void(null);" method="post" enctype="multipart/form-data">
<h4><span data-i18n="OpenAI API key">OpenAI API key</span></h4>
@ -2147,19 +2158,6 @@
</div>
</form>
<form id="palm_form" data-source="palm" action="javascript:void(null);" method="post" enctype="multipart/form-data">
<h4 data-i18n="PaLM API Key">PaLM API Key</h4>
<div class="flex-container">
<input id="api_key_palm" name="api_key_palm" class="text_pole flex1" maxlength="500" value="" type="text" autocomplete="off">
<div title="Clear your API key" data-i18n="[title]Clear your API key" class="menu_button fa-solid fa-circle-xmark clear-api-key" data-key="api_key_palm"></div>
</div>
<div data-for="api_key_palm" class="neutral_warning">
For privacy reasons, your API key will be hidden after you reload the page.
</div>
<!-- Its only purpose is to trigger max context size check -->
<select id="model_palm_select" class="displayNone"></select>
</form>
<div class="flex-container flex">
<div id="api_button_openai" class="menu_button menu_button_icon" type="submit" data-i18n="Connect">Connect</div>
<div data-source="openrouter" id="openrouter_authorize" class="menu_button menu_button_icon" title="Get your OpenRouter API token using OAuth flow. You will be redirected to openrouter.ai" data-i18n="[title]Get your OpenRouter API token using OAuth flow. You will be redirected to openrouter.ai">Authorize</div>
@ -2525,30 +2523,44 @@
Replace Macro in Custom Stopping Strings
</span>
</label>
<h4>
<span data-i18n="Pygmalion Formatting">
Pygmalion Formatting
</span>
</h4>
<select id="pygmalion_formatting">
<option value="-1" data-i18n="Disabled for all models">
Disabled for all models
</option>
<option value="0" data-i18n="Automatic (based on model name)">
Automatic (based on model name)
</option>
<option value="1" data-i18n="Enabled for all models">
Enabled for all models
</option>
</select>
</div>
<div data-newbie-hidden>
<h4>
<span data-i18n="Auto-Continue">Auto-Continue</span>
<span data-i18n="Multigen">Multigen</span>
<a href="https://docs.sillytavern.app/usage/core-concepts/advancedformatting/#multigen" class="notes-link" target="_blank">
<span class="note-link-span">?</span>
</a>
</h4>
<div class="flex-container">
<label class="checkbox_label" for="auto_continue_enabled">
<input id="auto_continue_enabled" type="checkbox" />
<label class="checkbox_label" for="multigen">
<input id="multigen" type="checkbox" />
<span data-i18n="Enabled">
Enabled
</span>
</label>
<label class="checkbox_label" for="auto_continue_allow_chat_completions">
<input id="auto_continue_allow_chat_completions" type="checkbox" />
<span data-i18n="Allow for Chat Completion APIs">
Allow for Chat Completion APIs
</span>
<div class="multigen_settings_block">
<label for="multigen_1st_chunk">
<small><span data-i18n="First chunk (tokens)">First chunk (tokens)</span></small>
<input id="multigen_first_chunk" type="number" class="text_pole textarea_compact" min="1" max="512" />
</label>
</div>
<div class="auto_continue_settings_block">
<label for="auto_continue_target_length">
<span data-i18n="Target length (tokens)">Target length (tokens)</span>
<input id="auto_continue_target_length" type="number" class="text_pole textarea_compact" min="0" max="1024" />
<label for="multigen_next_chunk">
<small><span data-i18n="Next chunks (tokens)">Next chunks (tokens)</span></small>
<input id="multigen_next_chunks" type="number" class="text_pole textarea_compact" min="1" max="512" />
</label>
</div>
</div>
@ -2723,66 +2735,24 @@
<div class="drawer-icon fa-solid fa-user-cog closedIcon" title="User Settings" data-i18n="[title]User Settings"></div>
</div>
<div id="user-settings-block" class="drawer-content closedDrawer">
<div class="flex-container flexFlowColumn">
<div name="userSettingsRowOne" class="flex-container flexFlowRow alignitemscenter spaceBetween">
<div class="flex-container">
<div class="flex-container flexnowrap alignitemscenter">
<div class="flex-container wide100p alignitemscenter spaceBetween">
<h3><span data-i18n="User Settings">User Settings</span></h3>
<select id="ui_mode_select" class="margin0 widthNatural">
<div id="version_display"></div>
</div>
<div id="user-settings-block-content" class="flex-container spaceEvenly">
<div id="UI-Theme-Block" class="flex-container flexFlowColumn wide100p">
<div id="color-picker-block" class="flex-container flexFlowColumn flexNoGap">
<div id="UI-Mode-Block">
<h4 data-i18n="UI Mode">
UI Mode
</h4>
<select id="ui_mode_select" class="margin0 margin-r5">
<option value="0" data-i18n="Simple">Simple</option>
<option value="1" data-i18n="Advanced">Advanced</option>
</select>
</div>
</div>
<div id="UI-language-block" class="flex-container alignitemscenter">
<span data-i18n="UI Language">Language:</span>
<select id="ui_language_select" class="widthNatural flex1 margin0">
<option value="" data-i18n="Default">Default</option>
<option value="en">en</option>
</select>
</div>
<small id="version_display"></small>
</div>
<div name="UserSettingsRowTwo" class="flex-container flexFlowRow">
<textarea id="settingsSearch" class="textarea_compact wide100p" rows="1" placeholder="Search Settings"></textarea>
</div>
</div>
<div id="user-settings-block-content" class="flex-container spaceEvenly">
<div name="UserSettingsFirstColumn" id="UI-Theme-Block" class="flex-container flexFlowColumn wide100p">
<div id="UI-presets-block" class="flex-container flexFlowColumn">
<h4>
<span data-i18n="UI Theme Preset">Theme Preset</span>
</h4>
<div class="flex-container flexnowrap alignitemscenter">
<select id="themes" class="margin0">
</select>
<div id="ui-preset-save-button" title="Save changes to a new theme file" data-i18n="[title]Save changes to a new theme file" class="menu_button margin0">
<i class="fa-solid fa-save"></i>
</div>
</div>
</div>
<div name="themeElements" data-newbie-hidden class="flex-container flexFlowColumn flexNoGap">
<h4><span data-i18n="UI Colors">Theme Settings</span></h4>
<div name="AvatarAndChatDisplay" class="flex-container flexFlowColumn">
<div class="flex-container">
<span data-i18n="Avatar Style">Avatars:</span>
<select id="avatar_style" class="widthNatural flex1 margin0">
<option value="0" data-i18n="Circle">Circle</option>
<option value="1" data-i18n="Rectangle">Rectangle</option>
</select>
</div>
<div class="flex-container">
<span data-i18n="Chat Style:">Chat Style:</span><br>
<select id="chat_display" class="widthNatural flex1 margin0">
<option value="0" data-i18n="Default">Flat</span>
<option value="1" data-i18n="Bubbles">Bubbles</option>
<option value="2" data-i18n="Document">Document</option>
</select>
</div>
</div>
<div id="color-picker-block" class="flex-container flexFlowColumn flexNoGap">
<div data-newbie-hidden>
<h4><span data-i18n="UI Colors">UI Colors</span></h4>
<div class="flex-container">
<toolcool-color-picker id="main-text-color-picker"></toolcool-color-picker>
<span data-i18n="Main Text">Main Text</span>
@ -2799,17 +2769,13 @@
<toolcool-color-picker id="shadow-color-picker"></toolcool-color-picker>
<span data-i18n="Shadow Color">Text Shadow</span>
</div>
<div class="flex-container">
<toolcool-color-picker id="chat-tint-color-picker"></toolcool-color-picker>
<span data-i18n="Chat Background">Chat Background</span>
</div>
<!-- <div class="flex-container">
<toolcool-color-picker id="fastui-bg-color-picker"></toolcool-color-picker>
<span data-i18n="FastUI BG">FastUI BG</span>
</div> -->
<div class="flex-container">
<toolcool-color-picker id="blur-tint-color-picker"></toolcool-color-picker>
<span data-i18n="UI Background">UI Background</span>
</div>
<div class="flex-container">
<toolcool-color-picker id="border-color-picker"></toolcool-color-picker>
<span data-i18n="UI Border">UI Border</span>
<span data-i18n="Blur Tint">UI Background</span>
</div>
<div class="flex-container">
<toolcool-color-picker id="user-mes-blur-tint-color-picker"></toolcool-color-picker>
@ -2820,30 +2786,14 @@
<span data-i18n="AI Message Blur Tint">AI Message</span>
</div>
</div>
<div data-newbie-hidden name="FontBlurChatWidthBlock" class="flex-container flexFlowColumn flexNoGap">
<div data-newbie-hidden class="range-block">
<div class="range-block-title" data-i18n="Chat Width (PC)">
Chat Width (PC)
</div>
<div class="range-block-range-and-counter">
<div class="range-block-range">
<input id="chat_width_slider" class="wide100p" type="range" min="25" max="100" step="1" value="50">
</div>
<div class="range-block-counter">
<div contenteditable="true" data-for="chat_width_slider" id="chat_width_slider_counter">
select
</div>
</div>
</div>
</div>
<div data-newbie-hidden id="font-blur-UIpresets-block" class="flex-container flexFlowColumn flexNoGap">
<div id="font-scale-block" class="range-block">
<div class="range-block-title" data-i18n="Font Scale">
Font Scale
</div>
<div class="range-block-range-and-counter">
<div class="range-block-range">
<input type="range" id="font_scale" name="font_scale" min="0.8" max="1.2" step="0.01">
<input type="range" id="font_scale" name="font_scale" min="0.8" max="1.2" step="0.02">
</div>
<div class="range-block-counter">
<div contenteditable="true" data-for="font_scale" id="font_scale_counter">
@ -2883,60 +2833,86 @@
</div>
</div>
</div>
<div id="UI-language-block" class="flex-container flexFlowColumn">
<h4>
<span data-i18n="UI Language">UI Language</span>
</h4>
<div class="flex-container flexnowrap alignitemscenter">
<select id="ui_language_select" class="margin0 margin-r5">
<option value="" data-i18n="Browser default">
Browser default
</option>
<option value="en">en</option>
</select>
</div>
</div>
<div id="UI-presets-block" class="flex-container flexFlowColumn">
<h4>
<span data-i18n="UI Theme Preset">UI Theme Preset</span>
</h4>
<div class="flex-container flexnowrap alignitemscenter">
<select id="themes" class="margin0 margin-r5">
</select>
<div id="ui-preset-save-button" title="Save changes to a new theme file" data-i18n="[title]Save changes to a new theme file" class="menu_button padding5 margin0">
<i class="fa-solid fa-save"></i>
</div>
</div>
</div>
<div data-newbie-hidden id="MovingUI-presets-block" class="flex-container flexFlowColumn">
<h4>
<span data-i18n="MovingUI Preset">MovingUI Preset</span>
</h4>
<div class="flex-container flexnowrap alignitemscenter">
<select id="movingUIPresets" class="margin0 margin-r5">
</select>
<div id="movingui-preset-save-button" title="Save changes to a new MovingUI preset file" data-i18n="[title]Save movingUI changes to a new file" class="menu_button padding5 margin0">
<i class="fa-solid fa-save"></i>
</div>
</div>
<div id="movingUIreset" class="menu_button whitespacenowrap" data-i18n="Reset Panels">
Reset MovingUI
</div>
</div>
</div>
</div>
<div name="UserSettingsSecondColumn" id="UI-Customization" class="flex-container flexFlowColumn wide100p">
<div name="themeToggles">
<h4 data-i18n="Theme Toggles">Theme Toggles</h4>
<label data-newbie-hidden for="fast_ui_mode" class="checkbox_label" title="removes blur from window backgrounds" data-i18n="[title]removes blur from window backgrounds">
<input id="fast_ui_mode" type="checkbox" />
<span data-i18n="No Blur Effect">No Blur Effect</span>
<div id="UI-Customization" class="flex-container wide100p">
<div class="ui-settings">
<h4><span data-i18n="UI Customization">UI Customization</span></h4>
<div data-newbie-hidden class="range-block">
<div class="range-block-title" data-i18n="Chat Width (PC)">
Chat Width (PC)
</div>
<div class="range-block-range-and-counter">
<div class="range-block-range">
<input id="chat_width_slider" class="wide100p" type="range" min="25" max="75" step="1" value="50">
<div class="slider_hint">
<span>25%</span>
<span>50%</span>
<span>75%</span>
</div>
</div>
</div>
</div>
<div>
<span data-i18n="Avatar Style">Avatar Style:</span><br>
<label>
<input name="avatar_style" type="radio" value="0" />
<span data-i18n="Circle">Circle</span>
</label>
<label data-newbie-hidden for="noShadowsmode" class="checkbox_label">
<input id="noShadowsmode" type="checkbox" />
<span data-i18n="No Text Shadows">No Text Shadows</span>
</label>
<label for="waifuMode" class="checkbox_label">
<input id="waifuMode" type="checkbox" />
<span data-i18n="Waifu Mode">Visual Novel Mode</span>
</label>
<label data-newbie-hidden for="expandMessageActions" class="checkbox_label">
<input id="expandMessageActions" type="checkbox" />
<span data-i18n="Auto-Expand Message Actions">Expand Message Actions</span>
</label>
<label data-newbie-hidden for="messageTimerEnabled" class="checkbox_label">
<input id="messageTimerEnabled" type="checkbox" />
<span data-i18n="Message Timer">Message Timer</span>
</label>
<label data-newbie-hidden for="messageTimestampsEnabled" class="checkbox_label">
<input id="messageTimestampsEnabled" type="checkbox" />
<span data-i18n="Chat Timestamps">Chat Timestamps</span>
</label>
<label data-newbie-hidden for="messageModelIconEnabled" class="checkbox_label">
<input id="messageModelIconEnabled" type="checkbox" />
<span data-i18n="Model Icon">Model Icons</span>
</label>
<label data-newbie-hidden for="mesIDDisplayEnabled" class="checkbox_label">
<input id="mesIDDisplayEnabled" type="checkbox" />
<span data-i18n="Message IDs">Message IDs</span>
</label>
<label data-newbie-hidden for="messageTokensEnabled" class="checkbox_label">
<input id="messageTokensEnabled" type="checkbox" />
<span data-i18n="Show Message Token Count">Message Token Count</span>
</label>
<label data-newbie-hidden for="hotswapEnabled" class="checkbox_label">
<input id="hotswapEnabled" type="checkbox" />
<span data-i18n="Characters Hotswap">Characters Hotswap</span>
<label>
<input name="avatar_style" type="radio" value="1" />
<span data-i18n="Rectangle">Rectangle</span>
</label>
</div>
<h4><span data-i18n="Miscellaneous">Miscellaneous</span></h4>
<div>
<span data-i18n="Chat Style:">Message Style:</span><br>
<select id="chat_display">
<option value="0" data-i18n="Default">Flat Chat</span>
<option value="1" data-i18n="Bubbles">Bubble Chat</option>
<option value="2" data-i18n="Document">Single Document</option>
</select>
</div>
<div>
<label for="play_message_sound" class="checkbox_label">
<input id="play_message_sound" type="checkbox" />
@ -2952,44 +2928,80 @@
<input id="play_sound_unfocused" type="checkbox" />
<span data-i18n="Background Sound Only">Background Sound Only</span>
</label>
<label data-newbie-hidden class="checkbox_label" for="relaxed_api_urls" title="Reduce the formatting requirements on API URLS">
<input id="relaxed_api_urls" type="checkbox" />
<span data-i18n="Relaxed API URLS">Relaxed API URLs</span>
<label data-newbie-hidden for="fast_ui_mode" class="checkbox_label" title="removes blur and uses alternative background color for divs" data-i18n="[title]removes blur and uses alternative background color for divs">
<input id="fast_ui_mode" type="checkbox" />
<span data-i18n="No Blur Effect">No Blur Effect</span>
</label>
<label data-newbie-hidden for="noShadowsmode" class="checkbox_label">
<input id="noShadowsmode" type="checkbox" />
<span data-i18n="No Text Shadows">No Text Shadows</span>
</label>
<label for="waifuMode" class="checkbox_label">
<input id="waifuMode" type="checkbox" />
<span data-i18n="Waifu Mode">Visual Novel Mode</span>
</label>
<label for="messageTimerEnabled" class="checkbox_label">
<input id="messageTimerEnabled" type="checkbox" />
<span data-i18n="Message Timer">Message Timer</span>
</label>
<label data-newbie-hidden for="messageTimestampsEnabled" class="checkbox_label">
<input id="messageTimestampsEnabled" type="checkbox" />
<span data-i18n="Chat Timestamps">Chat Timestamps</span>
</label>
<label data-newbie-hidden for="messageModelIconEnabled" class="checkbox_label">
<input id="messageModelIconEnabled" type="checkbox" />
<span data-i18n="Model Icon">Show Model Icons</span>
</label>
<label data-newbie-hidden for="mesIDDisplayEnabled" class="checkbox_label">
<input id="mesIDDisplayEnabled" type="checkbox" />
<span data-i18n="Message IDs">Show Message IDs</span>
</label>
<label data-newbie-hidden for="messageTokensEnabled" class="checkbox_label">
<input id="messageTokensEnabled" type="checkbox" />
<span data-i18n="Show Message Token Count">Show Message Token Count</span>
</label>
<label data-newbie-hidden for="auto_scroll_chat_to_bottom" class="checkbox_label">
<input id="auto_scroll_chat_to_bottom" type="checkbox" />
<span data-i18n="Auto-scroll Chat">Auto-scroll Chat</span>
</label>
<label data-newbie-hidden for="hotswapEnabled" class="checkbox_label">
<input id="hotswapEnabled" type="checkbox" />
<span data-i18n="Characters Hotswap">Characters Hotswap</span>
</label>
<label data-newbie-hidden id="movingUIModeCheckBlock" for="movingUImode" class="checkbox_label">
<input id="movingUImode" type="checkbox" />
<span data-i18n="Movable UI Panels">MovingUI</span>
<span data-i18n="Movable UI Panels">Movable UI Panels</span>
</label>
<div data-newbie-hidden id="MovingUI-presets-block" class="flex-container alignitemscenter">
<div class="flex-container alignitemscenter">
<span>MUI Preset:</span>
<div class="flex-container flexnowrap">
<select id="movingUIPresets" class="widthNatural flex1 margin0">
</select>
<div id="movingui-preset-save-button" title="Save changes to a new MovingUI preset file" data-i18n="[title]Save movingUI changes to a new file" class="menu_button margin0">
<i class="fa-solid fa-save"></i>
</div>
</div>
</div>
</div>
<div id="movingUIreset" class="menu_button whitespacenowrap" data-i18n="Reset Panels">
Reset MovingUI
</div>
<div data-newbie-hidden id="CustomCSS-block" class="flex-container flexFlowColumn">
<h4>
<span data-i18n="Custom CSS">Custom CSS</span>
<div data-newbie-hidden class="flex-container flexFlowColumn">
<h4 data-i18n="Send on Enter">
Send on Enter
</h4>
<div class="flex-container flexnowrap alignitemscenter">
<textarea id="customCSS" class="text_pole margin0 margin-r5 textarea_compact monospace"></textarea>
<select id="send_on_enter">
<option value="-1" data-i18n="Always disabled">Always disabled</option>
<option value="0" data-i18n="Automatic (desktop)">Automatic (desktop)</option>
<option value="1" data-i18n="Always enabled">Always enabled</option>
</select>
</div>
</div>
</div>
</div>
<div name="UserSettingsThirdColumn" id="power-user-options-block" class="flex-container wide100p">
<div id="power-user-options-block" class="flex-container wide100p">
<div id="power-user-option-checkboxes">
<div data-newbie-hidden name="CharacterHandlingToggles">
<h4>Character Handling</h4>
<h4 data-i18n="Power User Options">Power User Options</h4>
<label data-newbie-hidden class="checkbox_label" for="swipes-checkbox">
<input id="swipes-checkbox" type="checkbox" />
<span data-i18n="Swipes">Swipes</span>
</label>
<label data-newbie-hidden class="checkbox_label" for="fuzzy_search_checkbox">
<input id="fuzzy_search_checkbox" type="checkbox" />
<span data-i18n="Advanced Character Search">Advanced Character Search</span>
@ -3002,80 +3014,30 @@
<input id="prefer_character_jailbreak" type="checkbox" />
<span data-i18n="Prefer Character Card Jailbreak">Prefer Char. JB</span>
</label>
<label data-newbie-hidden class="checkbox_label" for="never_resize_avatars">
<input id="never_resize_avatars" type="checkbox" />
<span data-i18n="Never resize avatars">Never resize avatars</span>
</label>
<label data-newbie-hidden class="checkbox_label" for="show_card_avatar_urls">
<input id="show_card_avatar_urls" type="checkbox" />
<span data-i18n="Show avatar filenames">Show avatar filenames</span>
</label>
<label data-newbie-hidden class="checkbox_label" for="import_card_tags">
<input id="import_card_tags" type="checkbox" />
<span data-i18n="Import Card Tags">Import Card Tags</span>
</label>
<label data-newbie-hidden class="checkbox_label" for="spoiler_free_mode">
<input id="spoiler_free_mode" type="checkbox" />
<span data-i18n="Spoiler Free Mode">Spoiler Free Mode</span>
</label>
</div>
<div name="ChatMessageHandlingToggles">
<h4>Chat/Message Handling</h4>
<div data-newbie-hidden class="flex-container alignitemscenter">
<span data-i18n="Send on Enter">
Enter to Send:
</span>
<select id="send_on_enter" class="widthNatural flex1 margin0">
<option value="-1" data-i18n="Disabled">Disabled</option>
<option value="0" data-i18n="Automatic (PC)">Automatic (PC)</option>
<option value="1" data-i18n="Enabled">Enabled</option>
</select>
</div>
<label data-newbie-hidden class="checkbox_label" for="continue_on_send">
<input id="continue_on_send" type="checkbox" />
<span data-i18n="Press Send to continue">
"Send" to Continue
Press "Send" to continue
</span>
</label>
<label class="checkbox_label" for="quick_continue">
<input id="quick_continue" type="checkbox" />
<span data-i18n="Press Send to continue">
Quick "Continue" button
Show quick "Continue" button
</span>
</label>
<label data-newbie-hidden class="checkbox_label" for="swipes-checkbox">
<input id="swipes-checkbox" type="checkbox" />
<span data-i18n="Swipes">Swipes</span>
</label>
<label class="checkbox_label" for="auto-load-chat-checkbox">
<input id="auto-load-chat-checkbox" type="checkbox" />
<span data-i18n="Auto-load Last Chat">Auto-load Last Chat</span>
</label>
<label data-newbie-hidden for="auto_scroll_chat_to_bottom" class="checkbox_label">
<input id="auto_scroll_chat_to_bottom" type="checkbox" />
<span data-i18n="Auto-scroll Chat">Auto-scroll Chat</span>
</label>
<label data-newbie-hidden class="checkbox_label" for="auto_save_msg_edits">
<input id="auto_save_msg_edits" type="checkbox" />
<span data-i18n="Auto-save Message Edits">Auto-save Message Edits</span>
</label>
<label data-newbie-hidden class="checkbox_label" for="confirm_message_delete">
<input id="confirm_message_delete" type="checkbox" />
<span data-i18n="Confirm message deletion">Confirm message deletion</span>
</label>
<label class="checkbox_label" for="auto_fix_generated_markdown">
<input id="auto_fix_generated_markdown" type="checkbox" />
<span data-i18n="Auto-fix Markdown">Auto-fix Markdown</span>
</label>
<label data-newbie-hidden class="checkbox_label" for="render_formulas">
<input id="render_formulas" type="checkbox" />
<span data-i18n="Render Formulas">Render Formulas</span>
<a href="https://docs.sillytavern.app/usage/core-concepts/uicustomization/#formulas-rendering" class="notes-link" target="_blank">
<span class="note-link-span">?</span>
</a>
</label>
<label data-newbie-hidden class="checkbox_label" for="allow_name2_display">
<input id="allow_name2_display" type="checkbox" />
<span data-i18n="Allow {{char}}: in bot messages">Show {{char}}: in responses</span>
@ -3090,12 +3052,43 @@
</label>
<label data-newbie-hidden class="checkbox_label" for="disable_group_trimming" title="Allow AI messages in groups to contain lines spoken by other group members.">
<input id="disable_group_trimming" type="checkbox" />
<span data-i18n="Relax message trim in Groups">Relax message trim in Groups</span>
<span data-i18n="Show impersonated replies in groups">Show impersonated replies in groups</span>
</label>
<label data-newbie-hidden class="checkbox_label" for="console_log_prompts">
<input id="console_log_prompts" type="checkbox" />
<span data-i18n="Log prompts to console">Log prompts to console</span>
</label>
<label data-newbie-hidden class="checkbox_label" for="render_formulas">
<input id="render_formulas" type="checkbox" />
<span data-i18n="Render Formulas">Render Formulas</span>
<a href="https://docs.sillytavern.app/usage/core-concepts/uicustomization/#formulas-rendering" class="notes-link" target="_blank">
<span class="note-link-span">?</span>
</a>
</label>
<label data-newbie-hidden class="checkbox_label" for="never_resize_avatars">
<input id="never_resize_avatars" type="checkbox" />
<span data-i18n="Never resize avatars">Never resize avatars</span>
</label>
<label data-newbie-hidden class="checkbox_label" for="show_card_avatar_urls">
<input id="show_card_avatar_urls" type="checkbox" />
<span data-i18n="Show avatar filenames">Show avatar filenames</span>
</label>
<label data-newbie-hidden class="checkbox_label" for="import_card_tags">
<input id="import_card_tags" type="checkbox" />
<span data-i18n="Import Card Tags">Import Card Tags</span>
</label>
<label data-newbie-hidden class="checkbox_label" for="confirm_message_delete">
<input id="confirm_message_delete" type="checkbox" />
<span data-i18n="Confirm message deletion">Confirm message deletion</span>
</label>
<label data-newbie-hidden class="checkbox_label" for="spoiler_free_mode">
<input id="spoiler_free_mode" type="checkbox" />
<span data-i18n="Spoiler Free Mode">Spoiler Free Mode</span>
</label>
<label data-newbie-hidden class="checkbox_label" for="relaxed_api_urls" title="Reduce the formatting requirements on API URLS">
<input id="relaxed_api_urls" type="checkbox" />
<span data-i18n="Relaxed API URLS">Relaxed API URLS</span>
</label>
<div data-newbie-hidden class="inline-drawer wide100p flexFlowColumn">
<div class="inline-drawer-toggle inline-drawer-header">
@ -3117,7 +3110,7 @@
</div>
</div>
</div>
</div>
<div data-newbie-hidden class="flex-container">
<div id="reload_chat" class="menu_button whitespacenowrap" data-i18n="Reload Chat">
Reload Chat
@ -3283,7 +3276,7 @@
</div>
<div class="right_menu_button fa-solid fa-list-ul" id="rm_button_characters" title="Select/Create Characters" data-i18n="[title]Select/Create Characters"></div>
</div>
<div id="HotSwapWrapper" class="alignitemscenter flex-container margin0auto width100p">
<div name="HotSwapWrapper" class="alignitemscenter flex-container margin0auto">
<div class="hotswap flex-container flex1"></div>
</div>
@ -3296,16 +3289,9 @@
<h2></h2>
</div>
<div id="result_info" class="flex-container" style="display: none;">
<div id="result_info_text" title="Token counts may be inaccurate and provided just for reference." data-i18n="[title]Token counts may be inaccurate and provided just for reference.">
<div>
<strong id="result_info_total_tokens" title="Total tokens">Calculating...</strong>&nbsp;<span data-i18n="Tokens">Tokens</span>
</div>
<div>
<small title="Permanent tokens">
(<span id="result_info_permanent_tokens"></span>&nbsp;<span data-i18n="Permanent">Permanent</span>)
</small>
</div>
</div>
<span id="result_info_text" title="Token counts may be inaccurate and provided just for reference." data-i18n="[title]Token counts may be inaccurate and provided just for reference.">
<strong id="result_info_total_tokens">Calculating...</strong> Total Tokens
</span>
<a id="chartokenwarning" class="right_menu_button fa-solid fa-triangle-exclamation" href="https://docs.sillytavern.app/usage/core-concepts/characterdesign/#character-tokens" target="_blank" title="About Token 'Limits'"></a>
<i title="Click for stats!" class="fa-solid fa-ranking-star right_menu_button rm_stats_button"></i>
<i title="Toggle character info panel" id="hideCharPanelAvatarButton" class="fa-solid fa-eye right_menu_button"></i>
@ -3321,7 +3307,7 @@
<div id="name_div">
<input id="character_name_pole" name="ch_name" class="text_pole" data-i18n="[placeholder]Name this character" placeholder="Name this character" maxlength="50" value="" autocomplete="off">
<div class="extension_token_counter">
Tokens: <span data-token-counter="character_name_pole" data-token-permanent="true">counting...</span>
Tokens: <span data-token-counter="character_name_pole">counting...</span>
</div>
</div>
@ -3403,7 +3389,7 @@
<textarea id="description_textarea" data-i18n="[placeholder]Describe your character's physical and mental traits here." placeholder="Describe your character's physical and mental traits here." class="marginBot5" name="description" placeholder=""></textarea>
<div class="extension_token_counter">
Tokens: <span data-token-counter="description_textarea" data-token-permanent="true">counting...</span>
Tokens: <span data-token-counter="description_textarea">counting...</span>
</div>
<div id="first_message_div" class="marginBot5 title_restorable">
@ -3553,7 +3539,7 @@
<div id="rm_character_import" class="right_menu" style="display: none;">
<form id="form_import" action="javascript:void(null);" method="post" enctype="multipart/form-data">
<input multiple type="file" id="character_import_file" accept=".json, image/png" name="avatar">
<input multiple type="file" id="character_import_file" accept=".json, image/png, image/webp" name="avatar">
<input id="character_import_file_type" name="file_type" class="text_pole" maxlength="999" size="2" value="" autocomplete="off">
</form>
</div>
@ -3687,7 +3673,7 @@
</h4>
<textarea id="personality_textarea" name="personality" data-i18n="[placeholder](A brief description of the personality)" placeholder="(A brief description of the personality)" form="form_create" class="text_pole" autocomplete="off" rows="1" maxlength="20000"></textarea>
<div class="extension_token_counter">
Tokens: <span data-token-counter="personality_textarea" data-token-permanent="true">counting...</span>
Tokens: <span data-token-counter="personality_textarea">counting...</span>
</div>
</div>
@ -3700,7 +3686,7 @@
</h4>
<textarea id="scenario_pole" name="scenario" data-i18n="[placeholder](Circumstances and context of the interaction)" placeholder="(Circumstances and context of the interaction)" class="text_pole" maxlength="20000" value="" autocomplete="off" form="form_create" rows="1"></textarea>
<div class="extension_token_counter">
Tokens: <span data-token-counter="scenario_pole" data-token-permanent="true">counting...</span>
Tokens: <span data-token-counter="scenario_pole">counting...</span>
</div>
</div>
@ -3853,7 +3839,6 @@
<div id="tag_view_template" class="template_element">
<div class="tag_view_item">
<div class="tagColorPickerHolder"></div>
<div class="tagColorPicker2Holder"></div>
<div class="tag_view_name" contenteditable="true"></div>
<div class="tag_view_counter"><span class="tag_view_counter_value"></span>&nbsp;entries</div>
<div title="Delete tag" class="tag_delete fa-solid fa-trash-can right_menu_button" data-i18n="[title]Delete tag"></div>
@ -3942,18 +3927,6 @@
</div>
</div>
</div>
<div class="flex-container flexFlowColumn flexNoGap wide100p">
<label for="characterFilter" class="range-block-title justifyLeft">
<small data-i18n="Filter to Character(s)">Filter to Character(s)</small>
</label>
<div class="range-block-range">
<select name="characterFilter" multiple>
<option value="">
<span data-i18n="-- Characters not found --">-- Characters not found --</span>
</option>
</select>
</div>
</div>
<div name="WIEntryBottomControls" class="flex-container flex1 justifySpaceBetween world_entry_form_horizontal">
<div class="flex-container flexFlowColumn flexNoGap wi-enter-footer-text ">
<label class="checkbox flex-container">
@ -3982,12 +3955,6 @@
Non-recursable
</span>
</label>
<label class="checkbox flex-container alignitemscenter">
<input type="checkbox" name="character_exclusion" />
<span data-i18n="Character Exclusion">
Character Exclusion
</span>
</label>
</div>
<!--
@ -4529,6 +4496,7 @@
<div id="export_format_popup" class="list-group">
<div class="export_format list-group-item" data-format="png">PNG</div>
<div class="export_format list-group-item" data-format="json">JSON</div>
<div class="export_format list-group-item" data-format="webp">WEBP</div>
</div>
<div id="zoomed_avatar_template" class="template_element">

View File

@ -26,6 +26,8 @@ const INPUT_MAP = {
[SECRET_KEYS.PALM]: '#api_key_palm',
}
const forbiddenMessage = `<h3 data-i18n=\"forbiddenHeading\">Forbidden</h3><p>To view your API keys here, set the value of allowKeysExposure to true in config.conf file and restart the SillyTavern server.</p>`
async function clearSecret() {
const key = $(this).data('key');
await writeSecret(key, '');
@ -50,7 +52,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.conf file and restart the SillyTavern server.</p>', 'text');
callPopup(forbiddenMessage, 'text');
return;
}