Update zh-cn.json (#2376)

* Update zh-cn.json

* html changes

* `div`->`span`

* fixes

* fixes

* more fixes

* Revert last divs

---------

Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
This commit is contained in:
steve green 2024-06-15 03:46:40 +08:00 committed by GitHub
parent 560119bc3e
commit 3ede4aafbe
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 291 additions and 156 deletions

View File

@ -1157,6 +1157,9 @@
"Contest Winners": "比赛获胜者",
"These characters are the finalists of character design contests and have remarkable quality.": "这些角色都是角色设计大赛的入围作品,品质十分出色。",
"Featured Characters": "特色角色",
"Download Extensions & Assets": "下载扩展和资源菜单",
"Assets URL": "资产网址",
"Characters": "人物",
"Attach a File": "附加文件",
"Open Data Bank": "开放数据库",
"Enter a URL or the ID of a Fandom wiki page to scrape:": "输入要抓取的 Fandom wiki 页面的 URL 或 ID",
@ -1179,19 +1182,68 @@
"Bulk Edit": "批量编辑",
"Select All": "全选",
"Select None": "清空选择",
"Disable": "禁用",
"Enable": "启用",
"Global Attachments": "全局附件",
"These files are available for all characters in all chats.": "这些文件可供所有聊天中的所有角色使用。",
"Character Attachments": "角色附件",
"These files are available the current character in all chats they are in.": "当前角色可以在其参与的所有聊天中找到这些文件。",
"These files are available for the current character in all chats they are in.": "当前角色可以在其所在的所有聊天中使用这些文件。",
"Saved locally. Not exported.": "已本地保存。未导出。",
"Chat Attachments": "聊天附件",
"These files are available to all characters in the current chat.": "当前聊天中的所有角色都可以使用这些文件。",
"These files are available for all characters in the current chat.": "这些文件可供当前聊天中的所有角色使用。",
"Enter a base URL of the MediaWiki to scrape.": "输入要抓取的 MediaWiki 的基本 URL。",
"Don't include the page name!": "不要包含页面名称!",
"Enter web URLs to scrape (one per line):": "输入要抓取的网址(每行一个):",
"Enter a video URL to download its transcript.": "输入视频 URL 或 ID 即可下载其文本。",
"Image Captioning": "图像字幕",
"Source": "来源",
"Local": "本地",
"Multimodal (OpenAI / Anthropic / llama / Google)": "多模式OpenAI / Anthropic / llama / Google",
"Extras": "更多",
"Horde": "Horde",
"API": "API",
"Custom (OpenAI-compatible)": "自定义(兼容 OpenAI",
"Text Generation WebUI (oobabooga)": "文本生成 WebUI (oobabooga)",
"Model": "模型",
"currently_selected": "[当前选定]",
"currently_loaded": "[当前正在加载]",
"Allow reverse proxy": "允许反向代理",
"Hint:": "提示:",
"Set your API keys and endpoints in the 'API Connections' tab first.": "首先在“API 连接”选项卡中设置您的 API 密钥和端点。",
"Caption Prompt": "字幕提示",
"Ask every time": "每次都询问",
"Message Template": "消息模板",
"(use ": "(使用",
"macro)": "宏指令)",
"Edit captions before saving": "保存前编辑字幕",
"Character Expressions": "角色表情",
"Translate text to English before classification": "分类之前将文本翻译成英文",
"Show default images (emojis) if sprite missing": "如果精灵缺失,则显示默认图像(表情符号)",
"Image Type - talkinghead (extras)": "图像类型 - 说话头像(附加内容)",
"Classifier API": "分类器 API",
"Select the API for classifying expressions.": "选择用于对表达式进行分类的API。",
"Expression API": "本地\n附加\nLLM",
"LLM": "大语言模型",
"LLM Prompt": "大语言模型提示词",
"Will be used if the API doesn't support JSON schemas or function calling.": "如果 API 不支持 JSON 模式或函数调用,则会使用它。",
"Default / Fallback Expression": "默认/后备表达式",
"Set the default and fallback expression being used when no matching expression is found.": "设置在未找到匹配表达式时使用的默认表达式和后备表达式。",
"Fallback Expression": "回落表达式",
"Custom Expressions": "自定义表达式",
"Can be set manually or with an ": "可以手动设置或使用",
" slash command.": "快捷命令设置。",
"Open a chat to see the character expressions.": "打开聊天即可查看人物表情。",
"You are in offline mode. Click on the image below to set the expression.": "您处于离线模式。点击下方图片即可设置表情。",
"Sprite Folder Override": "Sprite 文件夹覆盖",
"Use a forward slash to specify a subfolder. Example: ": "使用正斜杠指定子文件夹。例如:",
"Upload sprite pack (ZIP)": "上传精灵包 (ZIP)",
"Remove all image overrides": "删除所有图片覆盖",
"Create new folder in the ": "在中创建新文件夹",
"folder of your user data directory and name it as the name of the character.": "用户数据目录的文件夹并将其命名为角色的名称。",
"Put images with expressions there. File names should follow the pattern:": "将带有表情的图像放在那里。文件名应遵循以下模式:",
"expression_label_pattern": "[表达式标签].[图像格式]",
"Sprite set:": "表情集:",
"ext_sum_title": "总结",
"ext_sum_with": "总结如下:",
"ext_sum_main_api": "主要 API",
"ext_sum_current_summary": "当前摘要:",
@ -1236,6 +1288,38 @@
"ext_sum_memory_template_placeholder": "{{summary}} 将解析当前摘要内容。",
"ext_sum_injection_position": "插入位置",
"How many messages before the current end of the chat.": "当前聊天结束前还有多少条消息。",
"Labels and Message": "标签和信息",
"Label": "标签",
"Title": "标题",
"(tooltip, leave empty to show message or /command)": "(工具提示,留空以显示消息或/命令)",
"Message / Command:": "消息/命令:",
"Word wrap": "自动换行",
"Tab size:": "标签大小:",
"Ctrl+Enter to execute": "Ctrl+Enter 执行",
"Context Menu": "上下文菜单",
"Chaining:": "链接:",
"Auto-Execute": "自动执行",
"Don't trigger auto-execute": "不触发自动执行",
"Invisible (auto-execute only)": "隐形(仅自动执行)",
"Execute on startup": "启动时执行",
"Execute on user message": "根据用户消息执行",
"Execute on AI message": "根据 AI 消息执行",
"Execute on chat change": "聊天内容改变时执行",
"Execute on group member draft": "执行小组成员草案",
"Automation ID:": "自动化标识",
"Testing": "测试",
"Execute": "执行",
"Quick Reply": "快速回复",
"Enable Quick Replies": "启用快速回复",
"Combine Quick Replies": "合并快速回复",
"Global Quick Reply Sets": "全局快速回复集",
"Chat Quick Reply Sets": "聊天快速回复集",
"Edit Quick Replies": "编辑快速回复",
"Disable Send (Insert Into Input Field)": "禁用发送(插入输入字段)",
"Place Quick Reply Before Input": "在输入前放置快速回复",
"Inject user input automatically": "自动注入用户输入",
"(if disabled, use ": "(如果禁用,使用",
"macro for manual injection)": "宏用于手动注入)",
"ext_regex_title": "正则",
"ext_regex_new_global_script": "新建全局正则",
"ext_regex_new_scoped_script": "新建局部正则",
@ -1299,7 +1383,6 @@
"sd_expand_txt": "自动增强提示",
"sd_snap": "快照生成请求具有强制纵横比(肖像、背景)到最接近已知分辨率,同时尝试保留绝对像素数(推荐用于 SDXL。",
"sd_snap_txt": "自动调整分辨率",
"Source": "来源",
"sd_auto_url": "例如:{{auto_url}}",
"Authentication (optional)": "身份验证(可选)",
"Example: username:password": "例:用户名:密码",
@ -1333,7 +1416,6 @@
"Width": "宽度()",
"Height": "高度()",
"Resolution": "解决",
"Model": "模型",
"Sampling method": "采样方法",
"Karras (not all samplers supported)": "Karras并非所有采样器都受支持",
"SMEA versions of samplers are modified to perform better at high resolution.": "SMEA 版本的采样器经过修改,在高分辨率下性能更佳。",
@ -1361,8 +1443,51 @@
"sd_character_negative_prompt_placeholder": "所选角色不应出现的任何特征。将添加在负面常见提示前缀后。\n示例珠宝、鞋子、眼镜",
"Shareable": "可共享",
"Image Prompt Templates": "图像提示模板",
"Vector Storage": "向量存储",
"Vectorization Source": "矢量化来源",
"Local (Transformers)": "本地(变形金刚)",
"Vectorization Model": "矢量化模型",
"Keep model in memory": "将模型保存在内存中",
"Hint: Download models and set the URL in the API connection settings.": "提示:下载模型并在 API 连接设置中设置 URL。",
"The server MUST be started with the --embedding flag to use this feature!": "服务器必须使用 --embedding 标志启动才能使用此功能!",
"Hint: Set the URL in the API connection settings.": "提示:在 API 连接设置中设置 URL。",
"Vectors Model Warning": "建议在聊天过程中更改模型时清除向量。否则会导致结果不理想。",
"NomicAI API Key": "NomicAI API 密钥",
"Query messages": "查询消息",
"Score threshold": "分数阈值",
"World Info settings": "世界信息设置",
"Enable for World Info": "启用世界信息",
"Enabled for all entries": "对所有条目启用",
"Checked: all entries except ❌ status can be activated.": "勾选:除❌状态外的所有条目均可激活。",
"Unchecked: only entries with ❌ status can be activated.": "未选中:只有具有🔗状态的条目才可以被激活。",
"Max Entries": "最大条目数",
"File vectorization settings": "文件矢量化设置",
"Enable for files": "为文件启用",
"Translate files into English before processing": "处理之前将文件翻译成英文",
"Message attachments": "消息附件",
"Size threshold (KB)": "大小阈值 (KB)",
"Chunk size (chars)": "块大小(字符)",
"Chunk overlap (%)": "块重叠 (%)",
"Retrieve chunks": "检索块",
"Data Bank files": "数据库文件",
"Injection Template": "注入模板",
"Injection Position": "注射位置",
"Vectorize All": "全部矢量化",
"Purge Vectors": "清除向量",
"Chat vectorization settings": "聊天矢量化设置",
"Enabled for chat messages": "已启用聊天消息",
"Retain#": "保持#",
"Insert#": "插入#",
"Vector Summarization": "向量摘要",
"Summarize chat messages for vector generation": "汇总聊天消息以生成向量",
"Warning: This will slow down vector generation drastically, as all messages have to be summarized first.": "警告:这将大大减慢向量生成速度,因为必须先汇总所有消息。",
"Summarize chat messages when sending": "发送时总结聊天消息",
"Warning: This might cause your sent messages to take a bit to process and slow down response time.": "警告:这可能会导致您发送的消息需要一点时间来处理并减慢响应时间。",
"Main API": "主要 API",
"Extras API": "附加 API",
"Only used when Main API is selected.": "仅在选择主 API 时使用。",
"Old messages are vectorized gradually as you chat. To process all previous messages, click the button below.": "随着您聊天,旧消息会逐渐矢量化。\n要处理所有以前的消息请单击下面的按钮。",
"View Stats": "查看统计数据",
"Manager Users": "管理用户",
"New User": "新用户",
"Status:": "地位:",
@ -1376,7 +1501,6 @@
"New Password:": "新密码:",
"Confirm New Password:": "确认新密码:",
"Debug Warning": "此类别中的功能仅供高级用户使用。如果您不确定后果,请不要点击任何内容。",
"Execute": "执行",
"Are you sure you want to delete this user?": "您确定要删除该用户吗?",
"Deleting:": "删除:",
"Also wipe user data.": "也清空用户数据。",
@ -1416,6 +1540,17 @@
"Record a snapshot of your current settings.": "记录当前设置的快照。",
"Make a Snapshot": "制作快照",
"Restore this snapshot": "恢复此快照",
"ext_translate_btn_chat": "翻译聊天",
"ext_translate_btn_input": "翻译输入",
"Chat Translation": "聊天翻译",
"ext_translate_auto_mode": "自动模式",
"ext_translate_mode_none": "没有任何",
"ext_translate_mode_responses": "翻译回复",
"ext_translate_mode_inputs": "翻译输入",
"ext_translate_mode_both": "翻译两者",
"ext_translate_mode_provider": "提供者",
"ext_translate_target_lang": "目标语言",
"ext_translate_clear": "清空设置",
"Hi,": "嘿,",
"To enable multi-account features, restart the SillyTavern server with": "要启用多帐户功能,请使用以下命令重新启动 SillyTavern 服务器",
"set to true in the config.yaml file.": "在 config.yaml 文件中设置为 true。",
@ -1444,11 +1579,10 @@
"Chat API": "聊天API",
"and pick a character.": "并选择一个角色。",
"You can browse a list of bundled characters in the": "您可以在",
"Download Extensions & Assets": "下载扩展和资源菜单",
"menu within": "中浏览已捆绑的角色列表",
"Confused or lost?": "获取更多帮助?",
"click these icons!": "点击这些图标!",
"in the chat bar": "在聊天框中",
"in the chat bar": "到聊天框里",
"SillyTavern Documentation Site": "SillyTavern帮助文档",
"Extras Installation Guide": "扩展安装指南",
"Still have questions?": "仍有疑问?",

View File

@ -1,11 +1,11 @@
<div id="assets_ui">
<div class="inline-drawer">
<div class="inline-drawer-toggle inline-drawer-header">
<b>Download Extensions & Assets</b>
<b data-i18n="Download Extensions & Assets">Download Extensions & Assets</b>
<div class="inline-drawer-icon fa-solid fa-circle-chevron-down down"></div>
</div>
<div class="inline-drawer-content">
<label for="assets-json-url-field">Assets URL</label>
<label for="assets-json-url-field" data-i18n="Assets URL">Assets URL</label>
<div class="assets-connect-div">
<input id="assets-json-url-field" class="text_pole widthUnset flex1">
<i id="assets-connect-button" class="menu_button fa-solid fa-plug-circle-exclamation fa-xl redOverlayGlow"></i>
@ -16,7 +16,7 @@
<input id="assets_search" class="text_pole flex1" placeholder="Search" type="search">
<div id="assets-characters-button" class="menu_button menu_button_icon">
<i class="fa-solid fa-image-portrait"></i>
Characters
<span data-i18n="Characters">Characters</span>
</div>
</div>
<div class="inline-drawer-content" id="assets_menu">

View File

@ -2,34 +2,34 @@
<div class="caption_settings">
<div class="inline-drawer">
<div class="inline-drawer-toggle inline-drawer-header">
<b>Image Captioning</b>
<b data-i18n="Image Captioning">Image Captioning</b>
<div class="inline-drawer-icon fa-solid fa-circle-chevron-down down"></div>
</div>
<div class="inline-drawer-content">
<label for="caption_source">Source</label>
<label for="caption_source" data-i18n="Source">Source</label>
<select id="caption_source" class="text_pole">
<option value="local">Local</option>
<option value="multimodal">Multimodal (OpenAI / Anthropic / llama / Google)</option>
<option value="extras">Extras</option>
<option value="horde">Horde</option>
<option value="local" data-i18n="Local">Local</option>
<option value="multimodal" data-i18n="Multimodal (OpenAI / Anthropic / llama / Google)">Multimodal (OpenAI / Anthropic / llama / Google)</option>
<option value="extras" data-i18n="Extras">Extras</option>
<option value="horde" data-i18n="Horde">Horde</option>
</select>
<div id="caption_multimodal_block" class="flex-container wide100p">
<div class="flex1 flex-container flexFlowColumn flexNoGap">
<label for="caption_multimodal_api">API</label>
<label for="caption_multimodal_api" data-i18n="API">API</label>
<select id="caption_multimodal_api" class="flex1 text_pole">
<option value="anthropic">Anthropic</option>
<option value="custom">Custom (OpenAI-compatible)</option>
<option value="custom" data-i18n="Custom (OpenAI-compatible)">Custom (OpenAI-compatible)</option>
<option value="google">Google MakerSuite</option>
<option value="koboldcpp">KoboldCpp</option>
<option value="llamacpp">llama.cpp</option>
<option value="ollama">Ollama</option>
<option value="openai">OpenAI</option>
<option value="openrouter">OpenRouter</option>
<option value="ooba">Text Generation WebUI (oobabooga)</option>
<option value="ooba" data-i18n="Text Generation WebUI (oobabooga)">Text Generation WebUI (oobabooga)</option>
</select>
</div>
<div class="flex1 flex-container flexFlowColumn flexNoGap">
<label for="caption_multimodal_model">Model</label>
<label for="caption_multimodal_model" data-i18n="Model">Model</label>
<select id="caption_multimodal_model" class="flex1 text_pole">
<option data-type="openai" value="gpt-4-vision-preview">gpt-4-vision-preview</option>
<option data-type="openai" value="gpt-4-turbo">gpt-4-turbo</option>
@ -54,36 +54,36 @@
<option data-type="openrouter" value="google/gemini-pro-vision">google/gemini-pro-vision</option>
<option data-type="openrouter" value="google/gemini-flash-1.5">google/gemini-flash-1.5</option>
<option data-type="openrouter" value="liuhaotian/llava-yi-34b">liuhaotian/llava-yi-34b</option>
<option data-type="ollama" value="ollama_current">[Currently selected]</option>
<option data-type="ollama" value="ollama_current" data-i18n="currently_selected">[Currently selected]</option>
<option data-type="ollama" value="bakllava:latest">bakllava:latest</option>
<option data-type="ollama" value="llava:latest">llava:latest</option>
<option data-type="llamacpp" value="llamacpp_current">[Currently loaded]</option>
<option data-type="ooba" value="ooba_current">[Currently loaded]</option>
<option data-type="koboldcpp" value="koboldcpp_current">[Currently loaded]</option>
<option data-type="custom" value="custom_current">[Currently selected]</option>
<option data-type="llamacpp" value="llamacpp_current" data-i18n="currently_loaded">[Currently loaded]</option>
<option data-type="ooba" value="ooba_current" data-i18n="currently_loaded">[Currently loaded]</option>
<option data-type="koboldcpp" value="koboldcpp_current" data-i18n="currently_loaded">[Currently loaded]</option>
<option data-type="custom" value="custom_current" data-i18n="currently_selected">[Currently selected]</option>
</select>
</div>
<label data-type="openai,anthropic,google" class="checkbox_label flexBasis100p" for="caption_allow_reverse_proxy" title="Allow using reverse proxy if defined and valid.">
<input id="caption_allow_reverse_proxy" type="checkbox" class="checkbox">
Allow reverse proxy
<span data-i18n="Allow reverse proxy">Allow reverse proxy</span>
</label>
<div class="flexBasis100p m-b-1">
<small><b>Hint:</b> Set your API keys and endpoints in the 'API Connections' tab first.</small>
<small><b data-i18n="Hint:">Hint:</b> <span data-i18n="Set your API keys and endpoints in the 'API Connections' tab first.">Set your API keys and endpoints in the 'API Connections' tab first.</span></small>
</div>
</div>
<div id="caption_prompt_block">
<label for="caption_prompt">Caption Prompt</label>
<label for="caption_prompt" data-i18n="Caption Prompt">Caption Prompt</label>
<textarea id="caption_prompt" class="text_pole" rows="1" placeholder="&lt; Use default &gt;">${PROMPT_DEFAULT}</textarea>
<label class="checkbox_label margin-bot-10px" for="caption_prompt_ask" title="Ask for a custom prompt every time an image is captioned.">
<input id="caption_prompt_ask" type="checkbox" class="checkbox">
Ask every time
<span data-i18n="Ask every time">Ask every time</span>
</label>
</div>
<label for="caption_template">Message Template <small>(use <code>&lcub;&lcub;caption&rcub;&rcub;</code> macro)</small></label>
<label for="caption_template"><span data-i18n="Message Template">Message Template</span> <small><span data-i18n="(use ">(use </span> <code>&lcub;&lcub;caption&rcub;&rcub;</code> <span data-i18n="macro)">macro)</span></small></label>
<textarea id="caption_template" class="text_pole" rows="2" placeholder="&lt; Use default &gt;">${TEMPLATE_DEFAULT}</textarea>
<label class="checkbox_label margin-bot-10px" for="caption_refine_mode">
<input id="caption_refine_mode" type="checkbox" class="checkbox">
Edit captions before saving
<span data-i18n="Edit captions before saving">Edit captions before saving</span>
</label>
</div>
</div>

View File

@ -1,65 +1,65 @@
<div class="expression_settings">
<div class="inline-drawer">
<div class="inline-drawer-toggle inline-drawer-header">
<b>Character Expressions</b>
<b data-i18n="Character Expressions">Character Expressions</b>
<div class="inline-drawer-icon fa-solid fa-circle-chevron-down down"></div>
</div>
<div class="inline-drawer-content">
<label class="checkbox_label" for="expression_translate" title="Use the selected API from Chat Translation extension settings.">
<input id="expression_translate" type="checkbox">
<span>Translate text to English before classification</span>
<span data-i18n="Translate text to English before classification">Translate text to English before classification</span>
</label>
<label class="checkbox_label" for="expressions_show_default">
<input id="expressions_show_default" type="checkbox">
<span>Show default images (emojis) if sprite missing</span>
<span data-i18n="Show default images (emojis) if sprite missing">Show default images (emojis) if sprite missing</span>
</label>
<label id="image_type_block" class="checkbox_label" for="image_type_toggle">
<input id="image_type_toggle" type="checkbox">
<span>Image Type - talkinghead (extras)</span>
<span data-i18n="Image Type - talkinghead (extras)">Image Type - talkinghead (extras)</span>
</label>
<div class="expression_api_block m-b-1 m-t-1">
<label for="expression_api">Classifier API</label>
<small>Select the API for classifying expressions.</small>
<label for="expression_api" data-i18n="Classifier API">Classifier API</label>
<small data-i18n="Select the API for classifying expressions.">Select the API for classifying expressions.</small>
<select id="expression_api" class="flex1 margin0" data-i18n="Expression API" placeholder="Expression API">
<option value="0">Local</option>
<option value="1">Extras</option>
<option value="2">LLM</option>
<option value="0" data-i18n="Local">Local</option>
<option value="1" data-i18n="Extras">Extras</option>
<option value="2" data-i18n="LLM">LLM</option>
</select>
</div>
<div class="expression_llm_prompt_block m-b-1 m-t-1">
<label for="expression_llm_prompt" class="title_restorable">
<span>LLM Prompt</span>
<span data-i18n="LLM Prompt">LLM Prompt</span>
<div id="expression_llm_prompt_restore" title="Restore default value" class="right_menu_button">
<i class="fa-solid fa-clock-rotate-left fa-sm"></i>
</div>
</label>
<small>Will be used if the API doesn't support JSON schemas or function calling.</small>
<small data-i18n="Will be used if the API doesn't support JSON schemas or function calling.">Will be used if the API doesn't support JSON schemas or function calling.</small>
<textarea id="expression_llm_prompt" type="text" class="text_pole textarea_compact" rows="2" placeholder="Use &lcub;&lcub;labels&rcub;&rcub; special macro."></textarea>
</div>
<div class="expression_fallback_block m-b-1 m-t-1">
<label for="expression_fallback">Default / Fallback Expression</label>
<small>Set the default and fallback expression being used when no matching expression is found.</small>
<label for="expression_fallback" data-i18n="Default / Fallback Expression">Default / Fallback Expression</label>
<small data-i18n="Set the default and fallback expression being used when no matching expression is found.">Set the default and fallback expression being used when no matching expression is found.</small>
<select id="expression_fallback" class="flex1 margin0" data-i18n="Fallback Expression" placeholder="Fallback Expression"></select>
</div>
<div class="expression_custom_block m-b-1 m-t-1">
<label for="expression_custom">Custom Expressions</label>
<small>Can be set manually or with an <tt>/emote</tt> slash command.</small>
<label for="expression_custom" data-i18n="Custom Expressions">Custom Expressions</label>
<small><span data-i18n="Can be set manually or with an ">Can be set manually or with an </span><tt>/emote</tt><span data-i18n=" slash command."> slash command.</span></small>
<div class="flex-container">
<select id="expression_custom" class="flex1 margin0"><select>
<i id="expression_custom_add" class="menu_button fa-solid fa-plus margin0" title="Add"></i>
<i id="expression_custom_remove" class="menu_button fa-solid fa-xmark margin0" title="Remove"></i>
</div>
</div>
<div id="no_chat_expressions">
<div id="no_chat_expressions" data-i18n="Open a chat to see the character expressions.">
Open a chat to see the character expressions.
</div>
<div id="open_chat_expressions">
<div class="offline_mode">
<small>You are in offline mode. Click on the image below to set the expression.</small>
<small data-i18n="You are in offline mode. Click on the image below to set the expression.">You are in offline mode. Click on the image below to set the expression.</small>
</div>
<label for="expression_override">Sprite Folder Override</label>
<small>Use a forward slash to specify a subfolder. Example: <tt>Bob/formal</tt></small>
<label for="expression_override" data-i18n="Sprite Folder Override">Sprite Folder Override</label>
<small><span data-i18n="Use a forward slash to specify a subfolder. Example: ">Use a forward slash to specify a subfolder. Example: </span><tt>Bob/formal</tt></small>
<div class="flex-container flexnowrap">
<input id="expression_override" type="text" class="text_pole" placeholder="Override folder name" />
<input id="expression_override_button" class="menu_button" type="submit" value="Submit" />
@ -67,17 +67,17 @@
<div class="expression_buttons flex-container spaceEvenly">
<div id="expression_upload_pack_button" class="menu_button">
<i class="fa-solid fa-file-zipper"></i>
<span>Upload sprite pack (ZIP)</span>
<span data-i18n="Upload sprite pack (ZIP)">Upload sprite pack (ZIP)</span>
</div>
<div id="expression_override_cleanup_button" class="menu_button">
<i class="fa-solid fa-trash-can"></i>
<span>Remove all image overrides</span>
<span data-i18n="Remove all image overrides">Remove all image overrides</span>
</div>
</div>
<p class="hint"><b>Hint:</b> <i>Create new folder in the <b>/characters/</b> folder of your user data directory and name it as the name of the character.
Put images with expressions there. File names should follow the pattern: <tt>[expression_label].[image_format]</tt></i></p>
<p class="hint"><b data-i18n="Hint:">Hint:</b> <i><span data-i18n="Create new folder in the ">Create new folder in the </span><b>/characters/</b> <span data-i18n="folder of your user data directory and name it as the name of the character.">folder of your user data directory and name it as the name of the character.</span>
<span data-i18n="Put images with expressions there. File names should follow the pattern:">Put images with expressions there. File names should follow the pattern: </span><tt data-i18n="expression_label_pattern">[expression_label].[image_format]</tt></i></p>
<h3 id="image_list_header">
<strong>Sprite set:</strong>&nbsp;<span id="image_list_header_name"></span>
<strong data-i18n="Sprite set:">Sprite set:</strong>&nbsp;<span id="image_list_header_name"></span>
</h3>
<div id="image_list"></div>

View File

@ -2,7 +2,7 @@
<div class="inline-drawer">
<div class="inline-drawer-toggle inline-drawer-header">
<div class="flex-container alignitemscenter margin0">
<b>Summarize</b>
<b data-i18n="ext_sum_title">Summarize</b>
<i id="summaryExtensionPopoutButton" class="fa-solid fa-window-restore menu_button margin0"></i>
</div>
<div class="inline-drawer-icon fa-solid fa-circle-chevron-down down"></div>

View File

@ -1,33 +1,33 @@
<div id="qr--modalEditor">
<div id="qr--main">
<h3>Labels and Message</h3>
<h3 data-i18n="Labels and Message">Labels and Message</h3>
<div class="qr--labels">
<label>
<span class="qr--labelText">Label</span>
<span class="qr--labelText" data-i18n="Label">Label</span>
<input type="text" class="text_pole" id="qr--modal-label">
</label>
<label>
<span class="qr--labelText">Title</span>
<small class="qr--labelHint">(tooltip, leave empty to show message or /command)</small>
<span class="qr--labelText" data-i18n="Title">Title</span>
<small class="qr--labelHint" data-i18n="(tooltip, leave empty to show message or /command)">(tooltip, leave empty to show message or /command)</small>
<input type="text" class="text_pole" id="qr--modal-title">
</label>
</div>
<div class="qr--modal-messageContainer">
<label for="qr--modal-message">
<label for="qr--modal-message" data-i18n="Message / Command:">
Message / Command:
</label>
<div class="qr--modal-editorSettings">
<label class="checkbox_label">
<input type="checkbox" id="qr--modal-wrap">
<span>Word wrap</span>
<span data-i18n="Word wrap">Word wrap</span>
</label>
<label class="checkbox_label">
<span>Tab size:</span>
<span data-i18n="Tab size:">Tab size:</span>
<input type="number" min="1" max="9" id="qr--modal-tabSize" class="text_pole">
</label>
<label class="checkbox_label">
<input type="checkbox" id="qr--modal-executeShortcut">
<span>Ctrl+Enter to execute</span>
<span data-i18n="Ctrl+Enter to execute">Ctrl+Enter to execute</span>
</label>
<label class="checkbox_label">
<input type="checkbox" id="qr--modal-syntax">
@ -44,14 +44,14 @@
<div id="qr--qrOptions">
<h3>Context Menu</h3>
<h3 data-i18n="Context Menu">Context Menu</h3>
<div id="qr--ctxEditor">
<template id="qr--ctxItem">
<div class="qr--ctxItem" data-order="0">
<div class="drag-handle ui-sortable-handle"></div>
<select class="qr--set"></select>
<label class="qr--isChainedLabel checkbox_label" title="When enabled, the current Quick Reply will be sent together with (before) the clicked QR from the context menu.">
Chaining:
<span data-i18n="Chaining:">Chaining:</span>
<input type="checkbox" class="qr--isChained">
</label>
<div class="qr--delete menu_button menu_button_icon fa-solid fa-trash-can" title="Remove entry"></div>
@ -63,48 +63,48 @@
</div>
<h3>Auto-Execute</h3>
<h3 data-i18n="Auto-Execute">Auto-Execute</h3>
<div class="flex-container flexFlowColumn">
<label class="checkbox_label" title="Prevent this quick reply from triggering other auto-executed quick replies while auto-executing (i.e., prevent recursive auto-execution)">
<input type="checkbox" id="qr--preventAutoExecute" >
<span><i class="fa-solid fa-fw fa-plane-slash"></i> Don't trigger auto-execute</span>
<span><i class="fa-solid fa-fw fa-plane-slash"></i><span data-i18n="Don't trigger auto-execute">Don't trigger auto-execute</span></span>
</label>
<label class="checkbox_label">
<input type="checkbox" id="qr--isHidden" >
<span><i class="fa-solid fa-fw fa-eye-slash"></i> Invisible (auto-execute only)</span>
<span><i class="fa-solid fa-fw fa-eye-slash"></i><span data-i18n="Invisible (auto-execute only)">Invisible (auto-execute only)</span></span>
</label>
<label class="checkbox_label">
<input type="checkbox" id="qr--executeOnStartup" >
<span><i class="fa-solid fa-fw fa-rocket"></i> Execute on app startup</span>
<span><i class="fa-solid fa-fw fa-rocket"></i><span data-i18n="Execute on startup">Execute on startup</span></span>
</label>
<label class="checkbox_label">
<input type="checkbox" id="qr--executeOnUser" >
<span><i class="fa-solid fa-fw fa-user"></i> Execute on user message</span>
<span><i class="fa-solid fa-fw fa-user"></i><span data-i18n="Execute on user message">Execute on user message</span></span>
</label>
<label class="checkbox_label">
<input type="checkbox" id="qr--executeOnAi" >
<span><i class="fa-solid fa-fw fa-robot"></i> Execute on AI message</span>
<span><i class="fa-solid fa-fw fa-robot"></i><span data-i18n="Execute on AI message">Execute on AI message</span></span>
</label>
<label class="checkbox_label">
<input type="checkbox" id="qr--executeOnChatChange" >
<span><i class="fa-solid fa-fw fa-message"></i> Execute on opening chat</span>
<span><i class="fa-solid fa-fw fa-message"></i><span data-i18n="Execute on chat change">Execute on chat change</span></span>
</label>
<label class="checkbox_label">
<input type="checkbox" id="qr--executeOnGroupMemberDraft">
<span><i class="fa-solid fa-fw fa-people-group"></i> Execute before group member message</span>
<span><i class="fa-solid fa-fw fa-people-group"></i><span data-i18n="Execute on group member draft">Execute on group member draft</span></span>
</label>
<div class="flex-container alignItemsBaseline flexFlowColumn flexNoGap" title="Activate this quick reply when a World Info entry with the same Automation ID is triggered.">
<small>Automation ID</small>
<small data-i18n="Automation ID:">Automation ID</small>
<input type="text" id="qr--automationId" class="text_pole flex1" placeholder="( None )">
</div>
</div>
<h3>Testing</h3>
<h3 data-i18n="Testing">Testing</h3>
<div id="qr--modal-executeButtons">
<div id="qr--modal-execute" class="qr--modal-executeButton menu_button" title="Execute the quick reply now">
<i class="fa-solid fa-play"></i>
Execute
<span data-i18n="Execute">Execute</span>
</div>
<div id="qr--modal-pause" class="qr--modal-executeButton menu_button" title="Pause / continue execution">
<span class="qr--modal-executeComboIcon">
@ -119,7 +119,7 @@
<div id="qr--modal-executeProgress"></div>
<label class="checkbox_label">
<input type="checkbox" id="qr--modal-executeHide">
<span> Hide editor while executing</span>
<span title="Hide editor while executing"> Hide editor while executing</span>
</label>
<div id="qr--modal-executeErrors"></div>
<div id="qr--modal-executeResult"></div>

View File

@ -1,22 +1,22 @@
<div id="qr--settings">
<div class="inline-drawer">
<div class="inline-drawer-toggle inline-drawer-header">
<strong>Quick Reply</strong>
<strong data-i18n="Quick Reply">Quick Reply</strong>
<div class="inline-drawer-icon fa-solid fa-circle-chevron-down down"></div>
</div>
<div class="inline-drawer-content">
<label class="flex-container">
<input type="checkbox" id="qr--isEnabled"> Enable Quick Replies
<input type="checkbox" id="qr--isEnabled"><span data-i18n="Enable Quick Replies">Enable Quick Replies</span>
</label>
<label class="flex-container">
<input type="checkbox" id="qr--isCombined"> Combine buttons from all active sets
<input type="checkbox" id="qr--isCombined"><span data-i18n="Combine Quick Replies">Combine Quick Replies</span>
</label>
<hr>
<div id="qr--global">
<div class="qr--head">
<div class="qr--title">Global Quick Reply Sets</div>
<div class="qr--title" data-i18n="Global Quick Reply Sets">Global Quick Reply Sets</div>
<div class="qr--actions">
<div class="qr--setListAdd menu_button menu_button_icon fa-solid fa-plus" id="qr--global-setListAdd" title="Add quick reply set"></div>
</div>
@ -28,7 +28,7 @@
<div id="qr--chat">
<div class="qr--head">
<div class="qr--title">Chat Quick Reply Sets</div>
<div class="qr--title" data-i18n="Chat Quick Reply Sets">Chat Quick Reply Sets</div>
<div class="qr--actions">
<div class="qr--setListAdd menu_button menu_button_icon fa-solid fa-plus" id="qr--chat-setListAdd" title="Add quick reply set"></div>
</div>
@ -40,7 +40,7 @@
<div id="qr--editor">
<div class="qr--head">
<div class="qr--title">Edit Quick Replies</div>
<div class="qr--title" data-i18n="Edit Quick Replies">Edit Quick Replies</div>
<div class="qr--actions">
<select id="qr--set" class="text_pole"></select>
<div class="qr--add menu_button menu_button_icon fa-solid fa-plus" id="qr--set-new" title="Create new quick reply set"></div>
@ -52,13 +52,13 @@
</div>
<div id="qr--set-settings">
<label class="flex-container">
<input type="checkbox" id="qr--disableSend"> <span>Disable send (insert into input field)</span>
<input type="checkbox" id="qr--disableSend"> <span data-i18n="Disable Send (Insert Into Input Field)">Disable send (insert into input field)</span>
</label>
<label class="flex-container">
<input type="checkbox" id="qr--placeBeforeInput"> <span>Place quick reply before input</span>
<input type="checkbox" id="qr--placeBeforeInput"> <span data-i18n="Place Quick Reply Before Input">Place quick reply before input</span>
</label>
<label class="flex-container" id="qr--injectInputContainer">
<input type="checkbox" id="qr--injectInput"> <span>Inject user input automatically <small>(if disabled, use <code>{{input}}</code> macro for manual injection)</small></span>
<input type="checkbox" id="qr--injectInput"> <span><span data-i18n="Inject user input automatically">Inject user input automatically</span> <small><span data-i18n="(if disabled, use ">(if disabled, use</span><code>{{input}}</code> <span data-i18n="macro for manual injection)">macro for manual injection)</span></small></span>
</label>
</div>
<div id="qr--set-qrList" class="qr--qrList"></div>

View File

@ -1,12 +1,12 @@
<div class="vectors_settings">
<div class="inline-drawer">
<div class="inline-drawer-toggle inline-drawer-header">
<b>Vector Storage</b>
<b data-i18n="Vector Storage">Vector Storage</b>
<div class="inline-drawer-icon fa-solid fa-circle-chevron-down down"></div>
</div>
<div class="inline-drawer-content">
<div class="flex-container flexFlowColumn">
<label for="vectors_source">
<label for="vectors_source" data-i18n="Vectorization Source">
Vectorization Source
</label>
<select id="vectors_source" class="text_pole">
@ -14,7 +14,7 @@
<option value="extras">Extras</option>
<option value="palm">Google MakerSuite</option>
<option value="llamacpp">llama.cpp</option>
<option value="transformers">Local (Transformers)</option>
<option value="transformers" data-i18n="Local (Transformers)">Local (Transformers)</option>
<option value="mistral">MistralAI</option>
<option value="nomicai">NomicAI</option>
<option value="ollama">Ollama</option>
@ -24,28 +24,28 @@
</select>
</div>
<div class="flex-container flexFlowColumn" id="ollama_vectorsModel">
<label for="vectors_ollama_model">
<label for="vectors_ollama_model" data-i18n="Vectorization Model">
Vectorization Model
</label>
<input id="vectors_ollama_model" class="text_pole" type="text" placeholder="Model tag, e.g. llama3" />
<label for="vectors_ollama_keep" class="checkbox_label" title="When checked, the model will not be unloaded after use.">
<input id="vectors_ollama_keep" type="checkbox" />
<span>Keep model in memory</span>
<span data-i18n="Keep model in memory">Keep model in memory</span>
</label>
<i>
<i data-i18n="Hint: Download models and set the URL in the API connection settings.">
Hint: Download models and set the URL in the API connection settings.
</i>
</div>
<div class="flex-container flexFlowColumn" id="llamacpp_vectorsModel">
<span>
<span data-i18n="The server MUST be started with the --embedding flag to use this feature!">
The server MUST be started with the <code>--embedding</code> flag to use this feature!
</span>
<i>
<i data-i18n="Hint: Set the URL in the API connection settings.">
Hint: Set the URL in the API connection settings.
</i>
</div>
<div class="flex-container flexFlowColumn" id="openai_vectorsModel">
<label for="vectors_openai_model">
<label for="vectors_openai_model" data-i18n="Vectorization Model">
Vectorization Model
</label>
<select id="vectors_openai_model" class="text_pole">
@ -55,7 +55,7 @@
</select>
</div>
<div class="flex-container flexFlowColumn" id="cohere_vectorsModel">
<label for="vectors_cohere_model">
<label for="vectors_cohere_model" data-i18n="Vectorization Model">
Vectorization Model
</label>
<select id="vectors_cohere_model" class="text_pole">
@ -69,7 +69,7 @@
</select>
</div>
<div class="flex-container flexFlowColumn" id="together_vectorsModel">
<label for="vectors_togetherai_model">
<label for="vectors_togetherai_model" data-i18n="Vectorization Model">
Vectorization Model
</label>
<select id="vectors_togetherai_model" class="text_pole">
@ -84,11 +84,11 @@
</select>
</div>
<div class="flex-container flexFlowColumn" id="vllm_vectorsModel">
<label for="vectors_vllm_model">
<label for="vectors_vllm_model" data-i18n="Vectorization Model">
Vectorization Model
</label>
<input id="vectors_vllm_model" class="text_pole" type="text" placeholder="Model name, e.g. intfloat/e5-mistral-7b-instruct" />
<i>
<i data-i18n="Hint: Set the URL in the API connection settings.">
Hint: Set the URL in the API connection settings.
</i>
</div>
@ -102,7 +102,7 @@
<div class="flex-container flexFlowColumn" id="nomicai_apiKey">
<label for="api_key_nomicai">
<span>NomicAI API Key</span>
<span data-i18n="NomicAI API Key">NomicAI API Key</span>
</label>
<div class="flex-container">
<input id="api_key_nomicai" name="api_key_nomicai" class="text_pole flex1 wide100p" maxlength="500" size="35" type="text" autocomplete="off">
@ -117,13 +117,13 @@
<div class="flex-container marginTopBot5">
<div class="flex-container flex1 flexFlowColumn" title="How many last messages will be matched for relevance.">
<label for="vectors_query">
<span>Query messages</span>
<span data-i18n="Query messages">Query messages</span>
</label>
<input type="number" id="vectors_query" class="text_pole widthUnset" min="1" max="99" />
</div>
<div class="flex-container flex1 flexFlowColumn" title="Cut-off score for relevance. Helps to filter out irrelevant data.">
<label for="vectors_query">
<span>Score threshold</span>
<span data-i18n="Score threshold">Score threshold</span>
</label>
<input type="number" id="vectors_score_threshold" class="text_pole widthUnset" min="0" max="1" step="0.05" />
</div>
@ -132,33 +132,33 @@
<div class="flex-container">
<label class="checkbox_label expander" for="vectors_include_wi" title="Query results can activate World Info entries.">
<input id="vectors_include_wi" type="checkbox" class="checkbox">
Include in World Info Scanning
<span data-i18n="Include in World Info Scanning">Include in World Info Scanning</span>
</label>
</div>
<hr>
<h4>
<h4 data-i18n="World Info settings">
World Info settings
</h4>
<label class="checkbox_label" for="vectors_enabled_world_info" title="Enable activation of World Info entries based on vector similarity.">
<input id="vectors_enabled_world_info" type="checkbox" class="checkbox">
Enabled for World Info
<span data-i18n="Enable for World Info">Enable for World Info</span>
</label>
<div id="vectors_world_info_settings" class="marginTopBot5">
<div class="flex-container">
<label for="vectors_enabled_for_all" class="checkbox_label">
<input id="vectors_enabled_for_all" type="checkbox" />
<span>Enabled for all entries</span>
<span data-i18n="Enabled for all entries">Enabled for all entries</span>
</label>
<ul class="margin0">
<li>
<small>Checked: all entries except ❌ status can be activated.</small>
<small data-i18n="Checked: all entries except ❌ status can be activated.">Checked: all entries except ❌ status can be activated.</small>
</li>
<li>
<small>Unchecked: only entries with 🔗 status can be activated.</small>
<small data-i18n="Unchecked: only entries with ❌ status can be activated.">Unchecked: only entries with 🔗 status can be activated.</small>
</li>
</ul>
</div>
@ -168,7 +168,7 @@
</div>
<div class="flex1" title="Maximum number of entries to be activated">
<label for="vectors_max_entries" >
<small>Max Entries</small>
<small data-i18n="Max Entries">Max Entries</small>
</label>
<input id="vectors_max_entries" type="number" class="text_pole widthUnset" min="1" max="9999" />
</div>
@ -178,13 +178,13 @@
</div>
</div>
<h4>
<h4 data-i18n="File vectorization settings">
File vectorization settings
</h4>
<label class="checkbox_label" for="vectors_enabled_files">
<input id="vectors_enabled_files" type="checkbox" class="checkbox">
Enabled for files
<span data-i18n="Enable for files">Enable for files</span>
</label>
<div id="vectors_files_settings" class="marginTopBot5">
@ -196,152 +196,153 @@
<i class="fa-solid fa-flask" title="Experimental feature"></i>
</label>
<div class="flex justifyCenter" title="These settings apply to files attached directly to messages.">
<span>Message attachments</span>
<span data-i18n="Message attachments">Message attachments</span>
</div>
<div class="flex-container">
<div class="flex1" title="Only files past this size will be vectorized.">
<label for="vectors_size_threshold">
<small>Size threshold (KB)</small>
<small data-i18n="Size threshold (KB)">Size threshold (KB)</small>
</label>
<input id="vectors_size_threshold" type="number" class="text_pole" min="1" max="99999" />
</div>
<div class="flex1" title="Chunk size for file splitting.">
<label for="vectors_chunk_size">
<small>Chunk size (chars)</small>
<small data-i18n="Chunk size (chars)">Chunk size (chars)</small>
</label>
<input id="vectors_chunk_size" type="number" class="text_pole" min="1" max="99999" />
</div>
<div class="flex1" title="The overlap between adjacent chunks in % from chunk size. The overlap text is trimmed to sentence boundaries. 0 = disabled.">
<label for="vectors_overlap_percent">
<small>Chunk overlap (%)</small>
<small data-i18n="Chunk overlap (%)">Chunk overlap (%)</small>
</label>
<input id="vectors_overlap_percent" type="number" class="text_pole" min="0" max="99" step="1" />
</div>
<div class="flex1" title="How many chunks to retrieve when querying.">
<label for="vectors_chunk_count">
<small>Retrieve chunks</small>
<small data-i18n="Retrieve chunks">Retrieve chunks</small>
</label>
<input id="vectors_chunk_count" type="number" class="text_pole" min="1" max="99999" />
</div>
</div>
<div class="flex justifyCenter" title="These settings apply to files stored in the Data Bank.">
<span>Data Bank files</span>
<span data-i18n="Data Bank files">Data Bank files</span>
</div>
<div class="flex-container">
<div class="flex1" title="Only files past this size will be vectorized.">
<label for="vectors_size_threshold_db">
<small>Size threshold (KB)</small>
<small data-i18n="Size threshold (KB)">Size threshold (KB)</small>
</label>
<input id="vectors_size_threshold_db" type="number" class="text_pole" min="1" max="99999" />
</div>
<div class="flex1" title="Chunk size for file splitting.">
<label for="vectors_chunk_size_db">
<small>Chunk size (chars)</small>
<small data-i18n="Chunk size (chars)">Chunk size (chars)</small>
</label>
<input id="vectors_chunk_size_db" type="number" class="text_pole" min="1" max="99999" />
</div>
<div class="flex1" title="The overlap between adjacent chunks in % from chunk size. The overlap text is trimmed to sentence boundaries. 0 = disabled.">
<label for="vectors_overlap_percent_db">
<small>Chunk overlap (%)</small>
<small data-i18n="Chunk overlap (%)">Chunk overlap (%)</small>
</label>
<input id="vectors_overlap_percent_db" type="number" class="text_pole" min="0" max="99" step="1" />
</div>
<div class="flex1" title="How many chunks to retrieve when querying.">
<label for="vectors_chunk_count_db">
<small>Retrieve chunks</small>
<small data-i18n="Retrieve chunks">Retrieve chunks</small>
</label>
<input id="vectors_chunk_count_db" type="number" class="text_pole" min="1" max="99999" />
</div>
</div>
<div class="flex-container flexFlowColumn">
<label for="vectors_file_template_db">
<span>Injection Template</span>
<span data-i18n="Injection Template">Injection Template</span>
</label>
<textarea id="vectors_file_template_db" class="margin0 text_pole textarea_compact" rows="3" placeholder="Use &lcub;&lcub;text&rcub;&rcub; macro to specify the position of retrieved text."></textarea>
<label for="vectors_file_position_db">Injection Position</label>
<label for="vectors_file_position_db" data-i18n="Injection Position">Injection Position</label>
<div class="radio_group">
<label>
<input type="radio" name="vectors_file_position_db" value="2" />
<span>Before Main Prompt / Story String</span>
<span data-i18n="Before Main Prompt / Story String">Before Main Prompt / Story String</span>
</label>
<!--Keep these as 0 and 1 to interface with the setExtensionPrompt function-->
<label>
<input type="radio" name="vectors_file_position_db" value="0" />
<span>After Main Prompt / Story String</span>
<span data-i18n="After Main Prompt / Story String">After Main Prompt / Story String</span>
</label>
<label for="vectors_file_depth_db" title="How many messages before the current end of the chat." data-i18n="[title]How many messages before the current end of the chat.">
<input type="radio" name="vectors_file_position_db" value="1" />
<span>In-chat @ Depth</span>
<span data-i18n="In-chat @ Depth">In-chat @ Depth</span>
<input id="vectors_file_depth_db" class="text_pole widthUnset" type="number" min="0" max="999" />
<span>as</span>
<select id="vectors_file_depth_role_db" class="text_pole widthNatural">
<option value="0">System</option>
<option value="1">User</option>
<option value="2">Assistant</option>
<option value="0" data-i18n="System">System</option>
<option value="1" data-i18n="User">User</option>
<option value="2" data-i18n="Assistant">Assistant</option>
</select>
</label>
</div>
</div>
<div class="flex-container">
<div id="vectors_files_vectorize_all" class="menu_button menu_button_icon" title="Vectorize all files in the Data Bank and current chat.">
Vectorize All
<span data-i18n="Vectorize All">Vectorize All</span>
</div>
<div id="vectors_files_purge" class="menu_button menu_button_icon" title="Purge all file vectors in the Data Bank and current chat.">
Purge Vectors
<span data-i18n="Purge Vectors">Purge Vectors</span>
</div>
</div>
</div>
<hr>
<h4>
<h4 data-i18n="Chat vectorization settings">
Chat vectorization settings
</h4>
<label class="checkbox_label" for="vectors_enabled_chats">
<input id="vectors_enabled_chats" type="checkbox" class="checkbox">
Enabled for chat messages
<span data-i18n="Enabled for chat messages">Enabled for chat messages</span>
</label>
<hr>
<div id="vectors_chats_settings">
<div id="vectors_advanced_settings">
<label for="vectors_template">
<label for="vectors_template" data-i18n="Injection Template">
Injection Template
</label>
<textarea id="vectors_template" class="text_pole textarea_compact" rows="3" placeholder="Use &lcub;&lcub;text&rcub;&rcub; macro to specify the position of retrieved text."></textarea>
<label for="vectors_position">Injection Position</label>
<label for="vectors_position" data-i18n="Injection Position">Injection Position</label>
<div class="radio_group">
<label>
<input type="radio" name="vectors_position" value="2" />
Before Main Prompt / Story String
<span data-i18n="Before Main Prompt / Story String">Before Main Prompt / Story String</span>
</label>
<!--Keep these as 0 and 1 to interface with the setExtensionPrompt function-->
<label>
<input type="radio" name="vectors_position" value="0" />
After Main Prompt / Story String
<span data-i18n="After Main Prompt / Story String">After Main Prompt / Story String</span>
</label>
<label for="vectors_depth" title="How many messages before the current end of the chat." data-i18n="[title]How many messages before the current end of the chat.">
<input type="radio" name="vectors_position" value="1" />
In-chat @ Depth <input id="vectors_depth" class="text_pole widthUnset" type="number" min="0" max="999" />
<span data-i18n="In-chat @ Depth">In-chat @ Depth </span>
<input id="vectors_depth" class="text_pole widthUnset" type="number" min="0" max="999" />
</label>
</div>
<div class="flex-container">
<div class="flex1" title="Can increase the retrieval quality for the cost of processing. 0 = disabled.">
<label for="vectors_message_chunk_size">
<small>Chunk size (chars)</small>
<small data-i18n="Chunk size (chars)">Chunk size (chars)</small>
</label>
<input id="vectors_message_chunk_size" type="number" class="text_pole widthUnset" min="0" max="9999" />
</div>
<div class="flex1" title="Prevents last N messages from being placed out of order.">
<label for="vectors_protect">
<small>Retain#</small>
<small data-i18n="Retain#">Retain#</small>
</label>
<input type="number" id="vectors_protect" class="text_pole widthUnset" min="1" max="9999" />
</div>
<div class="flex1" title="How many past messages to insert as memories.">
<label for="vectors_insert">
<small>Insert#</small>
<small data-i18n="Insert#">Insert#</small>
</label>
<input type="number" id="vectors_insert" class="text_pole widthUnset" min="1" max="9999" />
</div>
@ -350,43 +351,43 @@
<div class="flex-container flexFlowColumn">
<div class="flex-container alignitemscenter justifyCenter">
<i class="fa-solid fa-flask" title="Summarization for vectors is an experimental feature that may improve vectors or may worsen them. Use at your own discretion."></i>
<span>Vector Summarization</span>
<span data-i18n="Vector Summarization">Vector Summarization</span>
</div>
<label class="checkbox_label expander" for="vectors_summarize" title="Summarize chat messages before generating embeddings.">
<input id="vectors_summarize" type="checkbox" class="checkbox">
Summarize chat messages for vector generation
<span data-i18n="Summarize chat messages for vector generation">Summarize chat messages for vector generation</span>
</label>
<i class="failure">Warning: This will slow down vector generation drastically, as all messages have to be summarized first.</i>
<i class="failure" data-i18n="Warning: This will slow down vector generation drastically, as all messages have to be summarized first.">Warning: This will slow down vector generation drastically, as all messages have to be summarized first.</i>
<label class="checkbox_label expander" for="vectors_summarize_user" title="Summarize sent chat messages before generating embeddings.">
<input id="vectors_summarize_user" type="checkbox" class="checkbox">
Summarize chat messages when sending
<span data-i18n="Summarize chat messages when sending">Summarize chat messages when sending</span>
</label>
<i class="failure">Warning: This might cause your sent messages to take a bit to process and slow down response time.</i>
<i class="failure" data-i18n="Warning: This might cause your sent messages to take a bit to process and slow down response time.">Warning: This might cause your sent messages to take a bit to process and slow down response time.</i>
<label for="vectors_summary_source">Summarize with:</label>
<label for="vectors_summary_source" title="Summarize with:">Summarize with:</label>
<select id="vectors_summary_source" class="text_pole">
<option value="main">Main API</option>
<option value="extras">Extras API</option>
<option value="main" data-i18n="Main API">Main API</option>
<option value="extras" data-i18n="Extras API">Extras API</option>
</select>
<label for="vectors_summary_prompt">Summary Prompt:</label>
<small>Only used when Main API is selected.</small>
<label for="vectors_summary_prompt" title="Summary Prompt:">Summary Prompt:</label>
<small data-i18n="Only used when Main API is selected.">Only used when Main API is selected.</small>
<textarea id="vectors_summary_prompt" class="text_pole textarea_compact" rows="6" placeholder="This prompt will be sent to AI to request the summary generation."></textarea>
</div>
</div>
<small>
<small data-i18n="Old messages are vectorized gradually as you chat. To process all previous messages, click the button below.">
Old messages are vectorized gradually as you chat.
To process all previous messages, click the button below.
</small>
<div class="flex-container">
<div id="vectors_vectorize_all" class="menu_button menu_button_icon">
<div id="vectors_vectorize_all" class="menu_button menu_button_icon" data-i18n="Vectorize All">
Vectorize All
</div>
<div id="vectors_purge" class="menu_button menu_button_icon">
<div id="vectors_purge" class="menu_button menu_button_icon" data-i18n="Purge Vectors">
Purge Vectors
</div>
<div id="vectors_view_stats" class="menu_button menu_button_icon">
<div id="vectors_view_stats" class="menu_button menu_button_icon" data-i18n="View Stats">
View Stats
</div>
</div>