From a53c2a8c6b362f20a944ddb9e5a34a9fd97b3b44 Mon Sep 17 00:00:00 2001 From: Zhaofeng Li Date: Mon, 12 Aug 2024 08:52:16 -0600 Subject: [PATCH 01/91] fix: Pass all parsed options to ReconnectingPostgresqlDatabase --- backend/apps/webui/internal/wrappers.py | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/backend/apps/webui/internal/wrappers.py b/backend/apps/webui/internal/wrappers.py index 2b5551ce2b..cab081b788 100644 --- a/backend/apps/webui/internal/wrappers.py +++ b/backend/apps/webui/internal/wrappers.py @@ -54,13 +54,7 @@ def register_connection(db_url): connection = parse(db_url) # Use our custom database class that supports reconnection - db = ReconnectingPostgresqlDatabase( - connection["database"], - user=connection["user"], - password=connection["password"], - host=connection["host"], - port=connection["port"], - ) + db = ReconnectingPostgresqlDatabase(**connection) db.connect(reuse_if_open=True) elif isinstance(db, SqliteDatabase): # Enable autoconnect for SQLite databases, managed by Peewee From e63d5778a864d5a3118244b85c347877acc06890 Mon Sep 17 00:00:00 2001 From: Zhaofeng Li Date: Mon, 12 Aug 2024 08:52:16 -0600 Subject: [PATCH 02/91] fix: Decode URL-encoded characters in passwords This enables using passwords containing special characters. --- backend/apps/webui/internal/wrappers.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/apps/webui/internal/wrappers.py b/backend/apps/webui/internal/wrappers.py index cab081b788..cc4a42421d 100644 --- a/backend/apps/webui/internal/wrappers.py +++ b/backend/apps/webui/internal/wrappers.py @@ -43,7 +43,7 @@ class ReconnectingPostgresqlDatabase(CustomReconnectMixin, PostgresqlDatabase): def register_connection(db_url): - db = connect(db_url) + db = connect(db_url, unquote_password=True) if isinstance(db, PostgresqlDatabase): # Enable autoconnect for SQLite databases, managed by Peewee db.autoconnect = True @@ -51,7 +51,7 @@ def register_connection(db_url): log.info("Connected to PostgreSQL database") # Get the connection details - connection = parse(db_url) + connection = parse(db_url, unquote_password=True) # Use our custom database class that supports reconnection db = ReconnectingPostgresqlDatabase(**connection) From 510a0f3a2fd62afa35f55e5f3c1c2273483157ba Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 21 Aug 2024 15:37:56 +0000 Subject: [PATCH 03/91] chore(deps): bump langchain from 0.2.12 to 0.2.14 in /backend Bumps [langchain](https://github.com/langchain-ai/langchain) from 0.2.12 to 0.2.14. - [Release notes](https://github.com/langchain-ai/langchain/releases) - [Commits](https://github.com/langchain-ai/langchain/compare/langchain==0.2.12...langchain==0.2.14) --- updated-dependencies: - dependency-name: langchain dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- backend/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/requirements.txt b/backend/requirements.txt index 04b3261916..9040928108 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -34,7 +34,7 @@ anthropic google-generativeai==0.7.2 tiktoken -langchain==0.2.12 +langchain==0.2.14 langchain-community==0.2.10 langchain-chroma==0.1.2 From ccf5bd149271b16b4aa2a90d1d98ad69591bbce1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 21 Aug 2024 15:38:05 +0000 Subject: [PATCH 04/91] chore(deps): bump unstructured from 0.15.5 to 0.15.7 in /backend Bumps [unstructured](https://github.com/Unstructured-IO/unstructured) from 0.15.5 to 0.15.7. - [Release notes](https://github.com/Unstructured-IO/unstructured/releases) - [Changelog](https://github.com/Unstructured-IO/unstructured/blob/0.15.7/CHANGELOG.md) - [Commits](https://github.com/Unstructured-IO/unstructured/compare/0.15.5...0.15.7) --- updated-dependencies: - dependency-name: unstructured dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- backend/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/requirements.txt b/backend/requirements.txt index 04b3261916..335fdc69c3 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -44,7 +44,7 @@ sentence-transformers==3.0.1 pypdf==4.3.1 docx2txt==0.8 python-pptx==1.0.0 -unstructured==0.15.5 +unstructured==0.15.7 Markdown==3.6 pypandoc==1.13 pandas==2.2.2 From f5994e3a447fa9e213388a3dff286f91fb9e56a1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 21 Aug 2024 15:38:07 +0000 Subject: [PATCH 05/91] chore(deps): bump langfuse from 2.43.3 to 2.44.0 in /backend Bumps [langfuse](https://github.com/langfuse/langfuse) from 2.43.3 to 2.44.0. - [Release notes](https://github.com/langfuse/langfuse/releases) - [Commits](https://github.com/langfuse/langfuse/commits/v2.44.0) --- updated-dependencies: - dependency-name: langfuse dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- backend/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/requirements.txt b/backend/requirements.txt index 04b3261916..2583164b19 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -66,7 +66,7 @@ PyJWT[crypto]==2.9.0 authlib==1.3.1 black==24.8.0 -langfuse==2.43.3 +langfuse==2.44.0 youtube-transcript-api==0.6.2 pytube==15.0.0 From ec075e26128fcf7d65616cabadbb6404397e45f7 Mon Sep 17 00:00:00 2001 From: Aleix Dorca Date: Thu, 22 Aug 2024 07:12:42 +0200 Subject: [PATCH 06/91] Update catalan translation.json --- src/lib/i18n/locales/ca-ES/translation.json | 32 ++++++++++----------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/src/lib/i18n/locales/ca-ES/translation.json b/src/lib/i18n/locales/ca-ES/translation.json index 2cfe07e8fa..f725003742 100644 --- a/src/lib/i18n/locales/ca-ES/translation.json +++ b/src/lib/i18n/locales/ca-ES/translation.json @@ -9,7 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} està pensant...", "{{user}}'s Chats": "Els xats de {{user}}", "{{webUIName}} Backend Required": "El Backend de {{webUIName}} és necessari", - "*Prompt node ID(s) are required for image generation": "", + "*Prompt node ID(s) are required for image generation": "*Els identificadors de nodes d'indicacions són necessaris per a la generació d'imatges", "A task model is used when performing tasks such as generating titles for chats and web search queries": "Un model de tasca s'utilitza quan es realitzen tasques com ara generar títols per a xats i consultes de cerca per a la web", "a user": "un usuari", "About": "Sobre", @@ -45,9 +45,9 @@ "All Users": "Tots els usuaris", "Allow": "Permetre", "Allow Chat Deletion": "Permetre la supressió del xat", - "Allow Chat Editing": "", + "Allow Chat Editing": "Permetre l'edició del xat", "Allow non-local voices": "Permetre veus no locals", - "Allow Temporary Chat": "", + "Allow Temporary Chat": "Permetre el xat temporal", "Allow User Location": "Permetre la ubicació de l'usuari", "Allow Voice Interruption in Call": "Permetre la interrupció de la veu en una trucada", "alphanumeric characters and hyphens": "caràcters alfanumèrics i guions", @@ -71,7 +71,7 @@ "Audio settings updated successfully": "Les preferències d'àudio s'han actualitzat correctament", "August": "Agost", "Auto-playback response": "Reproduir la resposta automàticament", - "Automatic1111": "", + "Automatic1111": "Automatic1111", "AUTOMATIC1111 Api Auth String": "Cadena d'autenticació de l'API d'AUTOMATIC1111", "AUTOMATIC1111 Base URL": "URL Base d'AUTOMATIC1111", "AUTOMATIC1111 Base URL is required.": "Es requereix l'URL Base d'AUTOMATIC1111.", @@ -113,7 +113,7 @@ "Click here to select a csv file.": "Clica aquí per seleccionar un fitxer csv.", "Click here to select a py file.": "Clica aquí per seleccionar un fitxer py.", "Click here to select documents.": "Clica aquí per seleccionar documents.", - "Click here to upload a workflow.json file.": "", + "Click here to upload a workflow.json file.": "Clica aquí per pujar un arxiu workflow.json", "click here.": "clica aquí.", "Click on the user role button to change a user's role.": "Clica sobre el botó de rol d'usuari per canviar el rol d'un usuari.", "Clipboard write permission denied. Please check your browser settings to grant the necessary access.": "Permís d'escriptura al porta-retalls denegat. Comprova els ajustos de navegador per donar l'accés necessari.", @@ -124,8 +124,8 @@ "ComfyUI": "ComfyUI", "ComfyUI Base URL": "URL base de ComfyUI", "ComfyUI Base URL is required.": "L'URL base de ComfyUI és obligatòria.", - "ComfyUI Workflow": "", - "ComfyUI Workflow Nodes": "", + "ComfyUI Workflow": "Flux de treball de ComfyUI", + "ComfyUI Workflow Nodes": "Nodes del flux de treball de ComfyUI", "Command": "Comanda", "Concurrent Requests": "Peticions simultànies", "Confirm": "Confirmar", @@ -164,7 +164,7 @@ "Database": "Base de dades", "December": "Desembre", "Default": "Per defecte", - "Default (Open AI)": "", + "Default (Open AI)": "Per defecte (Open AI)", "Default (SentenceTransformers)": "Per defecte (SentenceTransformers)", "Default Model": "Model per defecte", "Default model updated": "Model per defecte actualitzat", @@ -227,7 +227,7 @@ "Embedding Model Engine": "Motor de model d'incrustació", "Embedding model set to \"{{embedding_model}}\"": "Model d'incrustació configurat a \"{{embedding_model}}\"", "Enable Community Sharing": "Activar l'ús compartit amb la comunitat", - "Enable Message Rating": "", + "Enable Message Rating": "Permetre la qualificació de missatges", "Enable New Sign Ups": "Permetre nous registres", "Enable Web Search": "Activar la cerca web", "Enabled": "Habilitat", @@ -244,7 +244,7 @@ "Enter Google PSE Engine Id": "Introdueix l'identificador del motor PSE de Google", "Enter Image Size (e.g. 512x512)": "Introdueix la mida de la imatge (p. ex. 512x512)", "Enter language codes": "Introdueix els codis de llenguatge", - "Enter Model ID": "", + "Enter Model ID": "Introdueix l'identificador del model", "Enter model tag (e.g. {{modelTag}})": "Introdueix l'etiqueta del model (p. ex. {{modelTag}})", "Enter Number of Steps (e.g. 50)": "Introdueix el nombre de passos (p. ex. 50)", "Enter Score": "Introdueix la puntuació", @@ -319,7 +319,7 @@ "Google PSE API Key": "Clau API PSE de Google", "Google PSE Engine Id": "Identificador del motor PSE de Google", "h:mm a": "h:mm a", - "Haptic Feedback": "", + "Haptic Feedback": "Retorn hàptic", "has no conversations.": "no té converses.", "Hello, {{name}}": "Hola, {{name}}", "Help": "Ajuda", @@ -368,7 +368,7 @@ "LTR": "LTR", "Made by OpenWebUI Community": "Creat per la Comunitat OpenWebUI", "Make sure to enclose them with": "Assegura't d'envoltar-los amb", - "Make sure to export a workflow.json file as API format from ComfyUI.": "", + "Make sure to export a workflow.json file as API format from ComfyUI.": "Assegura't d'exportar un fitxer workflow.json com a format API des de ComfyUI.", "Manage": "Gestionar", "Manage Models": "Gestionar els models", "Manage Ollama Models": "Gestionar els models Ollama", @@ -383,7 +383,7 @@ "Memory cleared successfully": "Memòria eliminada correctament", "Memory deleted successfully": "Memòria eliminada correctament", "Memory updated successfully": "Memòria actualitzada correctament", - "Merge Responses": "", + "Merge Responses": "Fusionar les respostes", "Messages you send after creating your link won't be shared. Users with the URL will be able to view the shared chat.": "Els missatges enviats després de crear el teu enllaç no es compartiran. Els usuaris amb l'URL podran veure el xat compartit.", "Min P": "Min P", "Minimum Score": "Puntuació mínima", @@ -426,7 +426,7 @@ "Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Nota: Si s'estableix una puntuació mínima, la cerca només retornarà documents amb una puntuació major o igual a la puntuació mínima.", "Notifications": "Notificacions", "November": "Novembre", - "num_gpu (Ollama)": "", + "num_gpu (Ollama)": "num_gpu (Ollama)", "num_thread (Ollama)": "num_thread (Ollama)", "OAuth ID": "ID OAuth", "October": "Octubre", @@ -549,7 +549,7 @@ "Select a tool": "Seleccionar una eina", "Select an Ollama instance": "Seleccionar una instància d'Ollama", "Select Documents": "Seleccionar documents", - "Select Engine": "", + "Select Engine": "Seleccionar el motor", "Select model": "Seleccionar un model", "Select only one model to call": "Seleccionar només un model per trucar", "Selected model(s) do not support image inputs": "El(s) model(s) seleccionats no admeten l'entrada d'imatges", @@ -606,7 +606,7 @@ "Tell us more:": "Dona'ns més informació:", "Temperature": "Temperatura", "Template": "Plantilla", - "Temporary Chat": "", + "Temporary Chat": "Xat temporal", "Text Completion": "Completament de text", "Text-to-Speech Engine": "Motor de text a veu", "Tfs Z": "Tfs Z", From 89ebbed67b7a5d102e23ca2b61c24b320bb9003a Mon Sep 17 00:00:00 2001 From: "USIGLOBAL\\daniel_tsai" Date: Thu, 22 Aug 2024 15:12:40 +0800 Subject: [PATCH 07/91] fix: DeprecationWarning for datetime.utcnow() by using datetime.now(UTC) --- backend/utils/utils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/utils/utils.py b/backend/utils/utils.py index 288db1fb54..a4cce38af6 100644 --- a/backend/utils/utils.py +++ b/backend/utils/utils.py @@ -6,7 +6,7 @@ from apps.webui.models.users import Users from typing import Union, Optional from constants import ERROR_MESSAGES from passlib.context import CryptContext -from datetime import datetime, timedelta +from datetime import datetime, timedelta, UTC import jwt import uuid import logging @@ -40,7 +40,7 @@ def create_token(data: dict, expires_delta: Union[timedelta, None] = None) -> st payload = data.copy() if expires_delta: - expire = datetime.utcnow() + expires_delta + expire = datetime.now(UTC) + expires_delta payload.update({"exp": expire}) encoded_jwt = jwt.encode(payload, SESSION_SECRET, algorithm=ALGORITHM) From ee6b8c5b72a6ce3fd615c123f7ec52f6a54694da Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 22 Aug 2024 12:07:04 +0000 Subject: [PATCH 08/91] chore(deps): bump markdown from 3.6 to 3.7 in /backend Bumps [markdown](https://github.com/Python-Markdown/markdown) from 3.6 to 3.7. - [Release notes](https://github.com/Python-Markdown/markdown/releases) - [Changelog](https://github.com/Python-Markdown/markdown/blob/master/docs/changelog.md) - [Commits](https://github.com/Python-Markdown/markdown/compare/3.6...3.7) --- updated-dependencies: - dependency-name: markdown dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- backend/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/requirements.txt b/backend/requirements.txt index 8869e8b4b8..637576b5d2 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -45,7 +45,7 @@ pypdf==4.3.1 docx2txt==0.8 python-pptx==1.0.0 unstructured==0.15.7 -Markdown==3.6 +Markdown==3.7 pypandoc==1.13 pandas==2.2.2 openpyxl==3.1.5 From 4031cb9edaab0092e27026af04c8dc957b9667b9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 22 Aug 2024 12:10:43 +0000 Subject: [PATCH 09/91] chore(deps): bump langchain-community from 0.2.10 to 0.2.12 in /backend Bumps [langchain-community](https://github.com/langchain-ai/langchain) from 0.2.10 to 0.2.12. - [Release notes](https://github.com/langchain-ai/langchain/releases) - [Commits](https://github.com/langchain-ai/langchain/compare/langchain-community==0.2.10...langchain-community==0.2.12) --- updated-dependencies: - dependency-name: langchain-community dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- backend/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/requirements.txt b/backend/requirements.txt index 8869e8b4b8..f461164d4c 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -35,7 +35,7 @@ google-generativeai==0.7.2 tiktoken langchain==0.2.14 -langchain-community==0.2.10 +langchain-community==0.2.12 langchain-chroma==0.1.2 fake-useragent==1.5.1 From 63418a583a259b2b79c3e12446150f4f073fb676 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Thu, 22 Aug 2024 14:24:49 +0200 Subject: [PATCH 10/91] fix: latex rendering issue --- src/lib/components/chat/Messages/Markdown/KatexRenderer.svelte | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/components/chat/Messages/Markdown/KatexRenderer.svelte b/src/lib/components/chat/Messages/Markdown/KatexRenderer.svelte index 766454c298..4dfb9f2c5b 100644 --- a/src/lib/components/chat/Messages/Markdown/KatexRenderer.svelte +++ b/src/lib/components/chat/Messages/Markdown/KatexRenderer.svelte @@ -1,6 +1,7 @@ {#if $showCallOverlay} From 0939cb5ed6da9b720094db94098782c8764485f9 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Thu, 22 Aug 2024 17:34:28 +0200 Subject: [PATCH 31/91] refac: styling --- src/lib/components/chat/Messages/Markdown/MarkdownTokens.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/components/chat/Messages/Markdown/MarkdownTokens.svelte b/src/lib/components/chat/Messages/Markdown/MarkdownTokens.svelte index 32f9046b10..71d7b57d56 100644 --- a/src/lib/components/chat/Messages/Markdown/MarkdownTokens.svelte +++ b/src/lib/components/chat/Messages/Markdown/MarkdownTokens.svelte @@ -142,7 +142,7 @@ /> {/if} {:else if token.type === 'space'} - {''} +
{:else} {console.log('Unknown token', token)} {/if} From 5d8dbff486f29f3a0cd1464cf7c96ba282f6939d Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Thu, 22 Aug 2024 17:37:47 +0200 Subject: [PATCH 32/91] refac --- src/lib/components/chat/MessageInput.svelte | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte index bfd5b3001d..91b51acb82 100644 --- a/src/lib/components/chat/MessageInput.svelte +++ b/src/lib/components/chat/MessageInput.svelte @@ -50,7 +50,7 @@ export let submitPrompt: Function; export let stopResponse: Function; - export let autoScroll = true; + export let autoScroll = false; export let atSelectedModel: Model | undefined; export let selectedModels: ['']; @@ -93,7 +93,10 @@ const scrollToBottom = () => { const element = document.getElementById('messages-container'); - element.scrollTop = element.scrollHeight; + element.scrollTo({ + top: element.scrollHeight, + behavior: 'smooth' + }); }; const uploadFileHandler = async (file) => { From c6885a8bcfb3889463601957e5680ed262193c31 Mon Sep 17 00:00:00 2001 From: Karl Lee <61072264+KarlLee830@users.noreply.github.com> Date: Fri, 23 Aug 2024 18:01:26 +0800 Subject: [PATCH 33/91] i18n: Update Chinese translation --- src/lib/i18n/locales/zh-CN/translation.json | 34 ++++++++++----------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/lib/i18n/locales/zh-CN/translation.json b/src/lib/i18n/locales/zh-CN/translation.json index 260a7412ee..e896764983 100644 --- a/src/lib/i18n/locales/zh-CN/translation.json +++ b/src/lib/i18n/locales/zh-CN/translation.json @@ -9,7 +9,7 @@ "{{modelName}} is thinking...": "{{modelName}} 正在思考...", "{{user}}'s Chats": "{{user}} 的对话记录", "{{webUIName}} Backend Required": "需要 {{webUIName}} 后端", - "*Prompt node ID(s) are required for image generation": "", + "*Prompt node ID(s) are required for image generation": "*图片生成需要 Prompt node ID", "A task model is used when performing tasks such as generating titles for chats and web search queries": "任务模型用于执行生成对话标题和网络搜索查询等任务", "a user": "用户", "About": "关于", @@ -44,10 +44,10 @@ "All Documents": "所有文档", "All Users": "所有用户", "Allow": "允许", - "Allow Chat Deletion": "允许删除聊天记录", - "Allow Chat Editing": "", + "Allow Chat Deletion": "允许删除对话记录", + "Allow Chat Editing": "允许编辑对话记录", "Allow non-local voices": "允许调用非本地音色", - "Allow Temporary Chat": "", + "Allow Temporary Chat": "允许临时对话", "Allow User Location": "允许获取您的位置", "Allow Voice Interruption in Call": "允许通话中的打断语音", "alphanumeric characters and hyphens": "字母数字字符和连字符", @@ -71,8 +71,8 @@ "Audio settings updated successfully": "语音设置更新成功", "August": "八月", "Auto-playback response": "自动念出回复内容", - "Automatic1111": "", - "AUTOMATIC1111 Api Auth String": "AUTOMATIC1111 Api鉴权字符串", + "Automatic1111": "Automatic1111", + "AUTOMATIC1111 Api Auth String": "AUTOMATIC1111 Api 鉴权字符串", "AUTOMATIC1111 Base URL": "AUTOMATIC1111 基础地址", "AUTOMATIC1111 Base URL is required.": "需要 AUTOMATIC1111 基础地址。", "available!": "版本可用!", @@ -113,7 +113,7 @@ "Click here to select a csv file.": "单击此处选择 csv 文件。", "Click here to select a py file.": "单击此处选择 py 文件。", "Click here to select documents.": "单击选择文档", - "Click here to upload a workflow.json file.": "", + "Click here to upload a workflow.json file.": "单击此处上传 workflow.json 文件。", "click here.": "点击这里。", "Click on the user role button to change a user's role.": "点击角色前方的组别按钮以更改用户所属权限组。", "Clipboard write permission denied. Please check your browser settings to grant the necessary access.": "写入剪贴板时被拒绝。请检查浏览器设置,授予必要权限。", @@ -124,8 +124,8 @@ "ComfyUI": "ComfyUI", "ComfyUI Base URL": "ComfyUI 基础地址", "ComfyUI Base URL is required.": "ComfyUI 基础地址为必需填写。", - "ComfyUI Workflow": "", - "ComfyUI Workflow Nodes": "", + "ComfyUI Workflow": "ComfyUI Workflow", + "ComfyUI Workflow Nodes": "ComfyUI Workflow Nodes", "Command": "命令", "Concurrent Requests": "并发请求", "Confirm": "确认", @@ -164,7 +164,7 @@ "Database": "数据库", "December": "十二月", "Default": "默认", - "Default (Open AI)": "", + "Default (Open AI)": "默认 (OpenAI)", "Default (SentenceTransformers)": "默认(SentenceTransformers)", "Default Model": "默认模型", "Default model updated": "默认模型已更新", @@ -227,13 +227,13 @@ "Embedding Model Engine": "语义向量模型引擎", "Embedding model set to \"{{embedding_model}}\"": "语义向量模型设置为 \"{{embedding_model}}\"", "Enable Community Sharing": "启用分享至社区", - "Enable Message Rating": "", + "Enable Message Rating": "启用消息评价", "Enable New Sign Ups": "允许新用户注册", "Enable Web Search": "启用网络搜索", "Enabled": "启用", "Engine": "引擎", "Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "确保您的 CSV 文件按以下顺序包含 4 列: 姓名、电子邮箱、密码、角色。", - "Enter {{role}} message here": "在此处输入 {{role}} 信息", + "Enter {{role}} message here": "在此处输入 {{role}} 消息", "Enter a detail about yourself for your LLMs to recall": "输入一个关于你自己的详细信息,方便你的大语言模型记住这些内容", "Enter api auth string (e.g. username:password)": "输入api鉴权路径 (例如:username:password)", "Enter Brave Search API Key": "输入 Brave Search API 密钥", @@ -244,7 +244,7 @@ "Enter Google PSE Engine Id": "输入 Google PSE 引擎 ID", "Enter Image Size (e.g. 512x512)": "输入图像分辨率 (例如:512x512)", "Enter language codes": "输入语言代码", - "Enter Model ID": "", + "Enter Model ID": "输入模型 ID", "Enter model tag (e.g. {{modelTag}})": "输入模型标签 (例如:{{modelTag}})", "Enter Number of Steps (e.g. 50)": "输入步骤数 (Steps) (例如:50)", "Enter Score": "输入评分", @@ -368,7 +368,7 @@ "LTR": "从左至右", "Made by OpenWebUI Community": "由 OpenWebUI 社区制作", "Make sure to enclose them with": "确保将它们包含在内", - "Make sure to export a workflow.json file as API format from ComfyUI.": "", + "Make sure to export a workflow.json file as API format from ComfyUI.": "确保从 ComfyUI 导出 API 格式的 workflow.json 文件。", "Manage": "管理", "Manage Models": "管理模型", "Manage Ollama Models": "管理 Ollama 模型", @@ -383,7 +383,7 @@ "Memory cleared successfully": "记忆清除成功", "Memory deleted successfully": "记忆删除成功", "Memory updated successfully": "记忆更新成功", - "Merge Responses": "", + "Merge Responses": "合并回复", "Messages you send after creating your link won't be shared. Users with the URL will be able to view the shared chat.": "创建链接后发送的消息不会被共享。具有 URL 的用户将能够查看共享对话。", "Min P": "Min P", "Minimum Score": "最低分", @@ -534,7 +534,7 @@ "Search Tools": "搜索工具", "Searched {{count}} sites_other": "搜索到 {{count}} 个结果", "Searching \"{{searchQuery}}\"": "搜索 \"{{searchQuery}}\" 中", - "Searching Knowledge for \"{{searchQuery}}\"": "", + "Searching Knowledge for \"{{searchQuery}}\"": "检索有关 \"{{searchQuery}}\" 的知识中", "Searxng Query URL": "Searxng 查询 URL", "See readme.md for instructions": "查看 readme.md 以获取说明", "See what's new": "查阅最新更新内容", @@ -548,7 +548,7 @@ "Select a tool": "选择一个工具", "Select an Ollama instance": "选择一个 Ollama 实例", "Select Documents": "选择文档", - "Select Engine": "", + "Select Engine": "选择引擎", "Select model": "选择模型", "Select only one model to call": "请仅选择一个模型来呼叫", "Selected model(s) do not support image inputs": "已选择的模型不支持发送图像", From 83de28bac27052a2cd40d0d48a444794badbe18a Mon Sep 17 00:00:00 2001 From: Michael Poluektov Date: Fri, 23 Aug 2024 12:58:43 +0100 Subject: [PATCH 34/91] fix: tools param --- backend/apps/webui/main.py | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/backend/apps/webui/main.py b/backend/apps/webui/main.py index 40f264860d..54e7132f37 100644 --- a/backend/apps/webui/main.py +++ b/backend/apps/webui/main.py @@ -302,18 +302,16 @@ async def generate_function_chat_completion(form_data, user): "role": user.role, }, } - extra_params["__tools__"] = ( - get_tools( - app, - tool_ids, - user, - { - **extra_params, - "__model__": app.state.MODELS[form_data["model"]], - "__messages__": form_data["messages"], - "__files__": files, - }, - ), + extra_params["__tools__"] = get_tools( + app, + tool_ids, + user, + { + **extra_params, + "__model__": app.state.MODELS[form_data["model"]], + "__messages__": form_data["messages"], + "__files__": files, + }, ) if model_info: From 591962d906443b9cb43f768c25070dcfe8b98e31 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Fri, 23 Aug 2024 14:31:39 +0200 Subject: [PATCH 35/91] refac: input commands --- src/lib/components/chat/MessageInput.svelte | 160 ++++------------ .../chat/MessageInput/Commands.svelte | 131 +++++++++++++ .../{ => Commands}/Documents.svelte | 16 +- .../chat/MessageInput/Commands/Models.svelte | 90 +++++++++ .../Prompts.svelte} | 43 +++-- .../chat/MessageInput/Models.svelte | 181 ------------------ src/lib/utils/index.ts | 14 ++ 7 files changed, 304 insertions(+), 331 deletions(-) create mode 100644 src/lib/components/chat/MessageInput/Commands.svelte rename src/lib/components/chat/MessageInput/{ => Commands}/Documents.svelte (93%) create mode 100644 src/lib/components/chat/MessageInput/Commands/Models.svelte rename src/lib/components/chat/MessageInput/{PromptCommands.svelte => Commands/Prompts.svelte} (80%) delete mode 100644 src/lib/components/chat/MessageInput/Models.svelte diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte index 91b51acb82..a71578513d 100644 --- a/src/lib/components/chat/MessageInput.svelte +++ b/src/lib/components/chat/MessageInput.svelte @@ -1,6 +1,7 @@ + +{#if ['/', '#', '@'].includes(command?.charAt(0))} + {#if command?.charAt(0) === '/'} + + {:else if command?.charAt(0) === '#'} + { + console.log(e); + uploadYoutubeTranscription(e.detail); + }} + on:url={(e) => { + console.log(e); + uploadWeb(e.detail); + }} + on:select={(e) => { + console.log(e); + files = [ + ...files, + { + type: e?.detail?.type ?? 'file', + ...e.detail, + status: 'processed' + } + ]; + + dispatch('select'); + }} + /> + {:else if command?.charAt(0) === '@'} + { + prompt = removeLastWordFromString(prompt, command); + + dispatch('select', { + type: 'model', + data: e.detail + }); + }} + /> + {/if} +{/if} diff --git a/src/lib/components/chat/MessageInput/Documents.svelte b/src/lib/components/chat/MessageInput/Commands/Documents.svelte similarity index 93% rename from src/lib/components/chat/MessageInput/Documents.svelte rename to src/lib/components/chat/MessageInput/Commands/Documents.svelte index 50956e4c01..04275be4eb 100644 --- a/src/lib/components/chat/MessageInput/Documents.svelte +++ b/src/lib/components/chat/MessageInput/Commands/Documents.svelte @@ -9,6 +9,7 @@ const i18n = getContext('i18n'); export let prompt = ''; + export let command = ''; const dispatch = createEventDispatcher(); let selectedIdx = 0; @@ -43,16 +44,16 @@ ]; $: filteredCollections = collections - .filter((collection) => findByName(collection, prompt)) + .filter((collection) => findByName(collection, command)) .sort((a, b) => a.name.localeCompare(b.name)); $: filteredDocs = $documents - .filter((doc) => findByName(doc, prompt)) + .filter((doc) => findByName(doc, command)) .sort((a, b) => a.title.localeCompare(b.title)); $: filteredItems = [...filteredCollections, ...filteredDocs]; - $: if (prompt) { + $: if (command) { selectedIdx = 0; console.log(filteredCollections); @@ -62,9 +63,9 @@ name: string; }; - const findByName = (obj: ObjectWithName, prompt: string) => { + const findByName = (obj: ObjectWithName, command: string) => { const name = obj.name.toLowerCase(); - return name.includes(prompt.toLowerCase().split(' ')?.at(0)?.substring(1) ?? ''); + return name.includes(command.toLowerCase().split(' ')?.at(0)?.substring(1) ?? ''); }; export const selectUp = () => { @@ -110,7 +111,10 @@ {#if filteredItems.length > 0 || prompt.split(' ')?.at(0)?.substring(1).startsWith('http')} -
+
#
diff --git a/src/lib/components/chat/MessageInput/Commands/Models.svelte b/src/lib/components/chat/MessageInput/Commands/Models.svelte new file mode 100644 index 0000000000..4b660a62c4 --- /dev/null +++ b/src/lib/components/chat/MessageInput/Commands/Models.svelte @@ -0,0 +1,90 @@ + + +{#if filteredModels.length > 0} +
+
+
+
@
+
+ +
+
+ {#each filteredModels as model, modelIdx} + + {/each} +
+
+
+
+{/if} diff --git a/src/lib/components/chat/MessageInput/PromptCommands.svelte b/src/lib/components/chat/MessageInput/Commands/Prompts.svelte similarity index 80% rename from src/lib/components/chat/MessageInput/PromptCommands.svelte rename to src/lib/components/chat/MessageInput/Commands/Prompts.svelte index 4dd8d33024..9fd48c7493 100644 --- a/src/lib/components/chat/MessageInput/PromptCommands.svelte +++ b/src/lib/components/chat/MessageInput/Commands/Prompts.svelte @@ -7,27 +7,30 @@ const i18n = getContext('i18n'); export let files; - export let prompt = ''; - let selectedCommandIdx = 0; - let filteredPromptCommands = []; - $: filteredPromptCommands = $prompts - .filter((p) => p.command.toLowerCase().includes(prompt.toLowerCase())) + export let prompt = ''; + export let command = ''; + + let selectedPromptIdx = 0; + let filteredPrompts = []; + + $: filteredPrompts = $prompts + .filter((p) => p.command.toLowerCase().includes(command.toLowerCase())) .sort((a, b) => a.title.localeCompare(b.title)); - $: if (prompt) { - selectedCommandIdx = 0; + $: if (command) { + selectedPromptIdx = 0; } export const selectUp = () => { - selectedCommandIdx = Math.max(0, selectedCommandIdx - 1); + selectedPromptIdx = Math.max(0, selectedPromptIdx - 1); }; export const selectDown = () => { - selectedCommandIdx = Math.min(selectedCommandIdx + 1, filteredPromptCommands.length - 1); + selectedPromptIdx = Math.min(selectedPromptIdx + 1, filteredPrompts.length - 1); }; - const confirmCommand = async (command) => { + const confirmPrompt = async (command) => { let text = command.content; if (command.content.includes('{{CLIPBOARD}}')) { @@ -79,7 +82,6 @@ await tick(); const words = findWordIndices(prompt); - if (words.length > 0) { const word = words.at(0); chatInputElement.setSelectionRange(word?.startIndex, word.endIndex + 1); @@ -87,8 +89,11 @@ }; -{#if filteredPromptCommands.length > 0} -
+{#if filteredPrompts.length > 0} +
/
@@ -98,26 +103,26 @@ class="max-h-60 flex flex-col w-full rounded-r-lg bg-white dark:bg-gray-900 dark:text-gray-100" >
- {#each filteredPromptCommands as command, commandIdx} + {#each filteredPrompts as prompt, promptIdx} {/each} diff --git a/src/lib/components/chat/MessageInput/Models.svelte b/src/lib/components/chat/MessageInput/Models.svelte deleted file mode 100644 index c4655991fc..0000000000 --- a/src/lib/components/chat/MessageInput/Models.svelte +++ /dev/null @@ -1,181 +0,0 @@ - - -{#if prompt.charAt(0) === '@'} - {#if filteredModels.length > 0} -
-
-
-
@
-
- -
-
- {#each filteredModels as model, modelIdx} - - {/each} -
-
-
-
- {/if} -{/if} diff --git a/src/lib/utils/index.ts b/src/lib/utils/index.ts index f3532773cf..56922f03fd 100644 --- a/src/lib/utils/index.ts +++ b/src/lib/utils/index.ts @@ -288,6 +288,20 @@ export const findWordIndices = (text) => { return matches; }; +export const removeLastWordFromString = (inputString, wordString) => { + // Split the string into an array of words + const words = inputString.split(' '); + + if (words.at(-1) === wordString) { + words.pop(); + } + + // Join the remaining words back into a string + const resultString = words.join(' '); + + return resultString; +}; + export const removeFirstHashWord = (inputString) => { // Split the string into an array of words const words = inputString.split(' '); From 7b91be21b497694ccef94ee0b9c2dfd52f3924ac Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Fri, 23 Aug 2024 14:43:32 +0200 Subject: [PATCH 36/91] refac --- src/lib/components/chat/MessageInput.svelte | 2 +- .../chat/MessageInput/Commands/Documents.svelte | 8 ++++---- src/lib/utils/index.ts | 5 ++++- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte index a71578513d..f0d51aa9a1 100644 --- a/src/lib/components/chat/MessageInput.svelte +++ b/src/lib/components/chat/MessageInput.svelte @@ -280,7 +280,7 @@
{#if atSelectedModel !== undefined}
{ dispatch('select', doc); - prompt = removeFirstHashWord(prompt); + prompt = removeLastWordFromString(prompt, command); const chatInputElement = document.getElementById('chat-textarea'); await tick(); @@ -90,7 +90,7 @@ const confirmSelectWeb = async (url) => { dispatch('url', url); - prompt = removeFirstHashWord(prompt); + prompt = removeLastWordFromString(prompt, command); const chatInputElement = document.getElementById('chat-textarea'); await tick(); @@ -101,7 +101,7 @@ const confirmSelectYoutube = async (url) => { dispatch('youtube', url); - prompt = removeFirstHashWord(prompt); + prompt = removeLastWordFromString(prompt, command); const chatInputElement = document.getElementById('chat-textarea'); await tick(); diff --git a/src/lib/utils/index.ts b/src/lib/utils/index.ts index 56922f03fd..995712dfa3 100644 --- a/src/lib/utils/index.ts +++ b/src/lib/utils/index.ts @@ -297,7 +297,10 @@ export const removeLastWordFromString = (inputString, wordString) => { } // Join the remaining words back into a string - const resultString = words.join(' '); + let resultString = words.join(' '); + if (resultString !== '') { + resultString += ' '; + } return resultString; }; From 0a5a2e67e8dc86546d483133583a0438d09eb0f2 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Fri, 23 Aug 2024 15:02:23 +0200 Subject: [PATCH 37/91] fix: uploaded files leaking to other user chats issue #4601 --- backend/apps/rag/utils.py | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/backend/apps/rag/utils.py b/backend/apps/rag/utils.py index 034f71292c..82bead0126 100644 --- a/backend/apps/rag/utils.py +++ b/backend/apps/rag/utils.py @@ -149,16 +149,20 @@ def query_collection( ): results = [] for collection_name in collection_names: - try: - result = query_doc( - collection_name=collection_name, - query=query, - k=k, - embedding_function=embedding_function, - ) - results.append(result) - except Exception: + if collection_name: + try: + result = query_doc( + collection_name=collection_name, + query=query, + k=k, + embedding_function=embedding_function, + ) + results.append(result) + except Exception: + pass + else: pass + return merge_and_sort_query_results(results, k=k) @@ -257,7 +261,7 @@ def get_rag_context( collection_names = ( file["collection_names"] if file["type"] == "collection" - else [file["collection_name"]] + else [file["collection_name"]] if file["collection_name"] else [] ) collection_names = set(collection_names).difference(extracted_collections) From 8b3d5e8b80f9cc7bcd176667afe421565efe24af Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Fri, 23 Aug 2024 15:56:50 +0200 Subject: [PATCH 38/91] chore: format --- src/lib/i18n/locales/ar-BH/translation.json | 1 - src/lib/i18n/locales/bg-BG/translation.json | 1 - src/lib/i18n/locales/bn-BD/translation.json | 1 - src/lib/i18n/locales/ca-ES/translation.json | 1 - src/lib/i18n/locales/ceb-PH/translation.json | 1 - src/lib/i18n/locales/de-DE/translation.json | 1 - src/lib/i18n/locales/dg-DG/translation.json | 1 - src/lib/i18n/locales/en-GB/translation.json | 1 - src/lib/i18n/locales/en-US/translation.json | 1 - src/lib/i18n/locales/es-ES/translation.json | 1 - src/lib/i18n/locales/fa-IR/translation.json | 1 - src/lib/i18n/locales/fi-FI/translation.json | 1 - src/lib/i18n/locales/fr-CA/translation.json | 1 - src/lib/i18n/locales/fr-FR/translation.json | 1 - src/lib/i18n/locales/he-IL/translation.json | 1 - src/lib/i18n/locales/hi-IN/translation.json | 1 - src/lib/i18n/locales/hr-HR/translation.json | 1 - src/lib/i18n/locales/id-ID/translation.json | 1 - src/lib/i18n/locales/it-IT/translation.json | 1 - src/lib/i18n/locales/ja-JP/translation.json | 1 - src/lib/i18n/locales/ka-GE/translation.json | 1 - src/lib/i18n/locales/ko-KR/translation.json | 1 - src/lib/i18n/locales/lt-LT/translation.json | 1 - src/lib/i18n/locales/ms-MY/translation.json | 1 - src/lib/i18n/locales/nb-NO/translation.json | 1 - src/lib/i18n/locales/nl-NL/translation.json | 1 - src/lib/i18n/locales/pa-IN/translation.json | 1 - src/lib/i18n/locales/pl-PL/translation.json | 1 - src/lib/i18n/locales/pt-BR/translation.json | 1 - src/lib/i18n/locales/pt-PT/translation.json | 1 - src/lib/i18n/locales/ro-RO/translation.json | 1 - src/lib/i18n/locales/ru-RU/translation.json | 1 - src/lib/i18n/locales/sr-RS/translation.json | 1 - src/lib/i18n/locales/sv-SE/translation.json | 1 - src/lib/i18n/locales/th-TH/translation.json | 1 - src/lib/i18n/locales/tk-TW/translation.json | 1 - src/lib/i18n/locales/tr-TR/translation.json | 1 - src/lib/i18n/locales/uk-UA/translation.json | 1 - src/lib/i18n/locales/vi-VN/translation.json | 1 - src/lib/i18n/locales/zh-CN/translation.json | 1 - src/lib/i18n/locales/zh-TW/translation.json | 1 - 41 files changed, 41 deletions(-) diff --git a/src/lib/i18n/locales/ar-BH/translation.json b/src/lib/i18n/locales/ar-BH/translation.json index 80c8d81da9..aa6c9380ca 100644 --- a/src/lib/i18n/locales/ar-BH/translation.json +++ b/src/lib/i18n/locales/ar-BH/translation.json @@ -6,7 +6,6 @@ "(latest)": "(الأخير)", "{{ models }}": "{{ نماذج }}", "{{ owner }}: You cannot delete a base model": "{{ المالك }}: لا يمكنك حذف نموذج أساسي", - "{{modelName}} is thinking...": "{{modelName}} ...يفكر", "{{user}}'s Chats": "دردشات {{user}}", "{{webUIName}} Backend Required": "{{webUIName}} مطلوب", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/bg-BG/translation.json b/src/lib/i18n/locales/bg-BG/translation.json index 67ab8fa71e..52ff8e59cd 100644 --- a/src/lib/i18n/locales/bg-BG/translation.json +++ b/src/lib/i18n/locales/bg-BG/translation.json @@ -6,7 +6,6 @@ "(latest)": "(последна)", "{{ models }}": "{{ модели }}", "{{ owner }}: You cannot delete a base model": "{{ owner }}: Не можете да изтриете базов модел", - "{{modelName}} is thinking...": "{{modelName}} мисли ...", "{{user}}'s Chats": "{{user}}'s чатове", "{{webUIName}} Backend Required": "{{webUIName}} Изисква се Бекенд", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/bn-BD/translation.json b/src/lib/i18n/locales/bn-BD/translation.json index 3b8389ac66..cc6701026e 100644 --- a/src/lib/i18n/locales/bn-BD/translation.json +++ b/src/lib/i18n/locales/bn-BD/translation.json @@ -6,7 +6,6 @@ "(latest)": "(সর্বশেষ)", "{{ models }}": "{{ মডেল}}", "{{ owner }}: You cannot delete a base model": "{{ owner}}: আপনি একটি বেস মডেল মুছতে পারবেন না", - "{{modelName}} is thinking...": "{{modelName}} চিন্তা করছে...", "{{user}}'s Chats": "{{user}}র চ্যাটস", "{{webUIName}} Backend Required": "{{webUIName}} ব্যাকএন্ড আবশ্যক", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/ca-ES/translation.json b/src/lib/i18n/locales/ca-ES/translation.json index 30086d0a3e..bdae2cdba6 100644 --- a/src/lib/i18n/locales/ca-ES/translation.json +++ b/src/lib/i18n/locales/ca-ES/translation.json @@ -6,7 +6,6 @@ "(latest)": "(últim)", "{{ models }}": "{{ models }}", "{{ owner }}: You cannot delete a base model": "{{ owner }}: No es pot eliminar un model base", - "{{modelName}} is thinking...": "{{modelName}} està pensant...", "{{user}}'s Chats": "Els xats de {{user}}", "{{webUIName}} Backend Required": "El Backend de {{webUIName}} és necessari", "*Prompt node ID(s) are required for image generation": "*Els identificadors de nodes d'indicacions són necessaris per a la generació d'imatges", diff --git a/src/lib/i18n/locales/ceb-PH/translation.json b/src/lib/i18n/locales/ceb-PH/translation.json index f98168ead8..b88c6eaee0 100644 --- a/src/lib/i18n/locales/ceb-PH/translation.json +++ b/src/lib/i18n/locales/ceb-PH/translation.json @@ -6,7 +6,6 @@ "(latest)": "", "{{ models }}": "", "{{ owner }}: You cannot delete a base model": "", - "{{modelName}} is thinking...": "{{modelName}} hunahunaa...", "{{user}}'s Chats": "", "{{webUIName}} Backend Required": "Backend {{webUIName}} gikinahanglan", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/de-DE/translation.json b/src/lib/i18n/locales/de-DE/translation.json index 731a22ef0e..3f5a3c9115 100644 --- a/src/lib/i18n/locales/de-DE/translation.json +++ b/src/lib/i18n/locales/de-DE/translation.json @@ -6,7 +6,6 @@ "(latest)": "(neueste)", "{{ models }}": "{{ Modelle }}", "{{ owner }}: You cannot delete a base model": "{{ owner }}: Sie können ein Basismodell nicht löschen", - "{{modelName}} is thinking...": "{{modelName}} denkt nach...", "{{user}}'s Chats": "{{user}}s Unterhaltungen", "{{webUIName}} Backend Required": "{{webUIName}}-Backend erforderlich", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/dg-DG/translation.json b/src/lib/i18n/locales/dg-DG/translation.json index bf89f68178..dc1aef7302 100644 --- a/src/lib/i18n/locales/dg-DG/translation.json +++ b/src/lib/i18n/locales/dg-DG/translation.json @@ -6,7 +6,6 @@ "(latest)": "(much latest)", "{{ models }}": "", "{{ owner }}: You cannot delete a base model": "", - "{{modelName}} is thinking...": "{{modelName}} is thinkin'...", "{{user}}'s Chats": "", "{{webUIName}} Backend Required": "{{webUIName}} Backend Much Required", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/en-GB/translation.json b/src/lib/i18n/locales/en-GB/translation.json index b3c25fe69f..4959d805af 100644 --- a/src/lib/i18n/locales/en-GB/translation.json +++ b/src/lib/i18n/locales/en-GB/translation.json @@ -6,7 +6,6 @@ "(latest)": "", "{{ models }}": "", "{{ owner }}: You cannot delete a base model": "", - "{{modelName}} is thinking...": "", "{{user}}'s Chats": "", "{{webUIName}} Backend Required": "", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/en-US/translation.json b/src/lib/i18n/locales/en-US/translation.json index b3c25fe69f..4959d805af 100644 --- a/src/lib/i18n/locales/en-US/translation.json +++ b/src/lib/i18n/locales/en-US/translation.json @@ -6,7 +6,6 @@ "(latest)": "", "{{ models }}": "", "{{ owner }}: You cannot delete a base model": "", - "{{modelName}} is thinking...": "", "{{user}}'s Chats": "", "{{webUIName}} Backend Required": "", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/es-ES/translation.json b/src/lib/i18n/locales/es-ES/translation.json index c1a3cf99ed..b973124cd0 100644 --- a/src/lib/i18n/locales/es-ES/translation.json +++ b/src/lib/i18n/locales/es-ES/translation.json @@ -6,7 +6,6 @@ "(latest)": "(latest)", "{{ models }}": "{{ models }}", "{{ owner }}: You cannot delete a base model": "{{ owner }}: No se puede eliminar un modelo base", - "{{modelName}} is thinking...": "{{modelName}} está pensando...", "{{user}}'s Chats": "{{user}}'s Chats", "{{webUIName}} Backend Required": "{{webUIName}} Servidor Requerido", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/fa-IR/translation.json b/src/lib/i18n/locales/fa-IR/translation.json index 981b06025e..bb318a2df3 100644 --- a/src/lib/i18n/locales/fa-IR/translation.json +++ b/src/lib/i18n/locales/fa-IR/translation.json @@ -6,7 +6,6 @@ "(latest)": "(آخرین)", "{{ models }}": "{{ مدل }}", "{{ owner }}: You cannot delete a base model": "{{ مالک }}: شما نمیتوانید یک مدل پایه را حذف کنید", - "{{modelName}} is thinking...": "{{modelName}} در حال فکر کردن است...", "{{user}}'s Chats": "{{user}} چت ها", "{{webUIName}} Backend Required": "بکند {{webUIName}} نیاز است.", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/fi-FI/translation.json b/src/lib/i18n/locales/fi-FI/translation.json index 8ca605a710..ec892fc619 100644 --- a/src/lib/i18n/locales/fi-FI/translation.json +++ b/src/lib/i18n/locales/fi-FI/translation.json @@ -6,7 +6,6 @@ "(latest)": "(uusin)", "{{ models }}": "{{ mallit }}", "{{ owner }}: You cannot delete a base model": "{{ omistaja }}: Perusmallia ei voi poistaa", - "{{modelName}} is thinking...": "{{modelName}} miettii...", "{{user}}'s Chats": "{{user}}:n keskustelut", "{{webUIName}} Backend Required": "{{webUIName}} backend vaaditaan", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/fr-CA/translation.json b/src/lib/i18n/locales/fr-CA/translation.json index f8b90543af..70a4cbe7cc 100644 --- a/src/lib/i18n/locales/fr-CA/translation.json +++ b/src/lib/i18n/locales/fr-CA/translation.json @@ -6,7 +6,6 @@ "(latest)": "(dernier)", "{{ models }}": "{{ modèles }}", "{{ owner }}: You cannot delete a base model": "{{ propriétaire }} : Vous ne pouvez pas supprimer un modèle de base.", - "{{modelName}} is thinking...": "{{modelName}} est en train de réfléchir...", "{{user}}'s Chats": "Discussions de {{user}}", "{{webUIName}} Backend Required": "Backend {{webUIName}} requis", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/fr-FR/translation.json b/src/lib/i18n/locales/fr-FR/translation.json index 639921464e..20c364a4ef 100644 --- a/src/lib/i18n/locales/fr-FR/translation.json +++ b/src/lib/i18n/locales/fr-FR/translation.json @@ -6,7 +6,6 @@ "(latest)": "(dernier)", "{{ models }}": "{{ modèles }}", "{{ owner }}: You cannot delete a base model": "{{ propriétaire }} : Vous ne pouvez pas supprimer un modèle de base.", - "{{modelName}} is thinking...": "{{modelName}} est en train de réfléchir...", "{{user}}'s Chats": "Discussions de {{user}}", "{{webUIName}} Backend Required": "Backend {{webUIName}} requis", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/he-IL/translation.json b/src/lib/i18n/locales/he-IL/translation.json index c658278ee1..d42c81e645 100644 --- a/src/lib/i18n/locales/he-IL/translation.json +++ b/src/lib/i18n/locales/he-IL/translation.json @@ -6,7 +6,6 @@ "(latest)": "(האחרון)", "{{ models }}": "{{ דגמים }}", "{{ owner }}: You cannot delete a base model": "{{ בעלים }}: לא ניתן למחוק מודל בסיס", - "{{modelName}} is thinking...": "{{modelName}} חושב...", "{{user}}'s Chats": "צ'אטים של {{user}}", "{{webUIName}} Backend Required": "נדרש Backend של {{webUIName}}", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/hi-IN/translation.json b/src/lib/i18n/locales/hi-IN/translation.json index 4ace5e42a4..c411ac9d7a 100644 --- a/src/lib/i18n/locales/hi-IN/translation.json +++ b/src/lib/i18n/locales/hi-IN/translation.json @@ -6,7 +6,6 @@ "(latest)": "(latest)", "{{ models }}": "{{ मॉडल }}", "{{ owner }}: You cannot delete a base model": "{{ मालिक }}: आप बेस मॉडल को हटा नहीं सकते", - "{{modelName}} is thinking...": "{{modelName}} सोच रहा है...", "{{user}}'s Chats": "{{user}} की चैट", "{{webUIName}} Backend Required": "{{webUIName}} बैकएंड आवश्यक", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/hr-HR/translation.json b/src/lib/i18n/locales/hr-HR/translation.json index bb3bbf176c..adf3bcb00a 100644 --- a/src/lib/i18n/locales/hr-HR/translation.json +++ b/src/lib/i18n/locales/hr-HR/translation.json @@ -6,7 +6,6 @@ "(latest)": "(najnovije)", "{{ models }}": "{{ modeli }}", "{{ owner }}: You cannot delete a base model": "{{ owner }}: Ne možete obrisati osnovni model", - "{{modelName}} is thinking...": "{{modelName}} razmišlja...", "{{user}}'s Chats": "Razgovori korisnika {{user}}", "{{webUIName}} Backend Required": "{{webUIName}} Backend je potreban", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/id-ID/translation.json b/src/lib/i18n/locales/id-ID/translation.json index 0d99964a6f..6ab746cfea 100644 --- a/src/lib/i18n/locales/id-ID/translation.json +++ b/src/lib/i18n/locales/id-ID/translation.json @@ -6,7 +6,6 @@ "(latest)": "(terbaru)", "{{ models }}": "{{ models }}", "{{ owner }}: You cannot delete a base model": "{{ owner }}: Anda tidak dapat menghapus model dasar", - "{{modelName}} is thinking...": "{{modelName}} sedang berpikir...", "{{user}}'s Chats": "Obrolan {{user}}", "{{webUIName}} Backend Required": "{{webUIName}} Diperlukan Backend", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/it-IT/translation.json b/src/lib/i18n/locales/it-IT/translation.json index 795c7b2bbc..af459079dc 100644 --- a/src/lib/i18n/locales/it-IT/translation.json +++ b/src/lib/i18n/locales/it-IT/translation.json @@ -6,7 +6,6 @@ "(latest)": "(ultima)", "{{ models }}": "{{ modelli }}", "{{ owner }}: You cannot delete a base model": "{{ owner }}: non è possibile eliminare un modello di base", - "{{modelName}} is thinking...": "{{modelName}} sta pensando...", "{{user}}'s Chats": "{{user}} Chat", "{{webUIName}} Backend Required": "{{webUIName}} Backend richiesto", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/ja-JP/translation.json b/src/lib/i18n/locales/ja-JP/translation.json index 8faba77eab..805983d862 100644 --- a/src/lib/i18n/locales/ja-JP/translation.json +++ b/src/lib/i18n/locales/ja-JP/translation.json @@ -6,7 +6,6 @@ "(latest)": "(最新)", "{{ models }}": "{{ モデル }}", "{{ owner }}: You cannot delete a base model": "{{ owner }}: ベースモデルは削除できません", - "{{modelName}} is thinking...": "{{modelName}} は思考中です...", "{{user}}'s Chats": "{{user}} のチャット", "{{webUIName}} Backend Required": "{{webUIName}} バックエンドが必要です", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/ka-GE/translation.json b/src/lib/i18n/locales/ka-GE/translation.json index e506858334..585c917422 100644 --- a/src/lib/i18n/locales/ka-GE/translation.json +++ b/src/lib/i18n/locales/ka-GE/translation.json @@ -6,7 +6,6 @@ "(latest)": "(უახლესი)", "{{ models }}": "{{ models }}", "{{ owner }}: You cannot delete a base model": "{{ owner }}: თქვენ არ შეგიძლიათ წაშალოთ ბაზის მოდელი", - "{{modelName}} is thinking...": "{{modelName}} ფიქრობს...", "{{user}}'s Chats": "{{user}}-ის ჩათები", "{{webUIName}} Backend Required": "{{webUIName}} საჭიროა ბექენდი", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/ko-KR/translation.json b/src/lib/i18n/locales/ko-KR/translation.json index 5d7af224cb..70f744187d 100644 --- a/src/lib/i18n/locales/ko-KR/translation.json +++ b/src/lib/i18n/locales/ko-KR/translation.json @@ -6,7 +6,6 @@ "(latest)": "(latest)", "{{ models }}": "{{ models }}", "{{ owner }}: You cannot delete a base model": "{{ owner }}: 기본 모델은 삭제할 수 없습니다.", - "{{modelName}} is thinking...": "{{modelName}} 모델이 생각 중입니다....", "{{user}}'s Chats": "{{user}}의 채팅", "{{webUIName}} Backend Required": "{{webUIName}} 백엔드가 필요합니다.", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/lt-LT/translation.json b/src/lib/i18n/locales/lt-LT/translation.json index cc24c00ee9..d0ea45e76e 100644 --- a/src/lib/i18n/locales/lt-LT/translation.json +++ b/src/lib/i18n/locales/lt-LT/translation.json @@ -6,7 +6,6 @@ "(latest)": "(naujausias)", "{{ models }}": "{{ models }}", "{{ owner }}: You cannot delete a base model": "{{ owner }}: Negalite ištrinti bazinio modelio", - "{{modelName}} is thinking...": "{{modelName}} mąsto...", "{{user}}'s Chats": "{{user}} susirašinėjimai", "{{webUIName}} Backend Required": "{{webUIName}} būtinas serveris", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/ms-MY/translation.json b/src/lib/i18n/locales/ms-MY/translation.json index 71bb7eede7..91b633f285 100644 --- a/src/lib/i18n/locales/ms-MY/translation.json +++ b/src/lib/i18n/locales/ms-MY/translation.json @@ -6,7 +6,6 @@ "(latest)": "(terkini)", "{{ models }}": "{{ models }}", "{{ owner }}: You cannot delete a base model": "{{ owner }}: Anda tidak boleh memadamkan model asas", - "{{modelName}} is thinking...": "{{modelName}} sedang berfikir...", "{{user}}'s Chats": "Perbualan {{user}}", "{{webUIName}} Backend Required": "{{webUIName}} Backend diperlukan", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/nb-NO/translation.json b/src/lib/i18n/locales/nb-NO/translation.json index be1f13611d..4cbc799a41 100644 --- a/src/lib/i18n/locales/nb-NO/translation.json +++ b/src/lib/i18n/locales/nb-NO/translation.json @@ -6,7 +6,6 @@ "(latest)": "(siste)", "{{ models }}": "{{ modeller }}", "{{ owner }}: You cannot delete a base model": "{{ eier }}: Du kan ikke slette en grunnmodell", - "{{modelName}} is thinking...": "{{modelName}} tenker...", "{{user}}'s Chats": "{{user}}s samtaler", "{{webUIName}} Backend Required": "{{webUIName}} Backend kreves", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/nl-NL/translation.json b/src/lib/i18n/locales/nl-NL/translation.json index 69a9175a1f..27d450ab30 100644 --- a/src/lib/i18n/locales/nl-NL/translation.json +++ b/src/lib/i18n/locales/nl-NL/translation.json @@ -6,7 +6,6 @@ "(latest)": "(nieuwste)", "{{ models }}": "{{ modellen }}", "{{ owner }}: You cannot delete a base model": "{{ owner }}: U kunt een basismodel niet verwijderen", - "{{modelName}} is thinking...": "{{modelName}} is aan het denken...", "{{user}}'s Chats": "{{user}}'s Chats", "{{webUIName}} Backend Required": "{{webUIName}} Backend Verlpicht", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/pa-IN/translation.json b/src/lib/i18n/locales/pa-IN/translation.json index 9bc8b6ef27..a69e17e231 100644 --- a/src/lib/i18n/locales/pa-IN/translation.json +++ b/src/lib/i18n/locales/pa-IN/translation.json @@ -6,7 +6,6 @@ "(latest)": "(ਤਾਜ਼ਾ)", "{{ models }}": "{{ ਮਾਡਲ }}", "{{ owner }}: You cannot delete a base model": "{{ ਮਾਲਕ }}: ਤੁਸੀਂ ਬੇਸ ਮਾਡਲ ਨੂੰ ਮਿਟਾ ਨਹੀਂ ਸਕਦੇ", - "{{modelName}} is thinking...": "{{modelName}} ਸੋਚ ਰਿਹਾ ਹੈ...", "{{user}}'s Chats": "{{user}} ਦੀਆਂ ਗੱਲਾਂ", "{{webUIName}} Backend Required": "{{webUIName}} ਬੈਕਐਂਡ ਲੋੜੀਂਦਾ ਹੈ", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/pl-PL/translation.json b/src/lib/i18n/locales/pl-PL/translation.json index cd912fed71..6f80aa3618 100644 --- a/src/lib/i18n/locales/pl-PL/translation.json +++ b/src/lib/i18n/locales/pl-PL/translation.json @@ -6,7 +6,6 @@ "(latest)": "(najnowszy)", "{{ models }}": "{{ modele }}", "{{ owner }}: You cannot delete a base model": "{{ owner }}: Nie można usunąć modelu podstawowego", - "{{modelName}} is thinking...": "{{modelName}} myśli...", "{{user}}'s Chats": "{{user}} - czaty", "{{webUIName}} Backend Required": "Backend {{webUIName}} wymagane", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/pt-BR/translation.json b/src/lib/i18n/locales/pt-BR/translation.json index 2a8e88ab55..08fb950cac 100644 --- a/src/lib/i18n/locales/pt-BR/translation.json +++ b/src/lib/i18n/locales/pt-BR/translation.json @@ -6,7 +6,6 @@ "(latest)": "(último)", "{{ models }}": "{{ models }}", "{{ owner }}: You cannot delete a base model": "{{ owner }}: Você não pode deletar um modelo base", - "{{modelName}} is thinking...": "{{modelName}} está pensando...", "{{user}}'s Chats": "Chats de {{user}}", "{{webUIName}} Backend Required": "Backend {{webUIName}} necessário", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/pt-PT/translation.json b/src/lib/i18n/locales/pt-PT/translation.json index 2cd79958a6..4831dcdea3 100644 --- a/src/lib/i18n/locales/pt-PT/translation.json +++ b/src/lib/i18n/locales/pt-PT/translation.json @@ -6,7 +6,6 @@ "(latest)": "(mais recente)", "{{ models }}": "{{ modelos }}", "{{ owner }}: You cannot delete a base model": "{{ owner }}: Não é possível excluir um modelo base", - "{{modelName}} is thinking...": "{{modelName}} está a pensar...", "{{user}}'s Chats": "{{user}}'s Chats", "{{webUIName}} Backend Required": "{{webUIName}} Backend Necessário", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/ro-RO/translation.json b/src/lib/i18n/locales/ro-RO/translation.json index d3e80c813a..3e4bc7d2cb 100644 --- a/src/lib/i18n/locales/ro-RO/translation.json +++ b/src/lib/i18n/locales/ro-RO/translation.json @@ -6,7 +6,6 @@ "(latest)": "(ultimul)", "{{ models }}": "{{ modele }}", "{{ owner }}: You cannot delete a base model": "{{ owner }}: Nu puteți șterge un model de bază", - "{{modelName}} is thinking...": "{{modelName}} gândește...", "{{user}}'s Chats": "Conversațiile lui {{user}}", "{{webUIName}} Backend Required": "Este necesar backend-ul {{webUIName}}", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/ru-RU/translation.json b/src/lib/i18n/locales/ru-RU/translation.json index 65b5cecead..d36d2cb42f 100644 --- a/src/lib/i18n/locales/ru-RU/translation.json +++ b/src/lib/i18n/locales/ru-RU/translation.json @@ -6,7 +6,6 @@ "(latest)": "(последняя)", "{{ models }}": "{{ модели }}", "{{ owner }}: You cannot delete a base model": "{{ owner }}: Вы не можете удалить базовую модель", - "{{modelName}} is thinking...": "{{modelName}} думает...", "{{user}}'s Chats": "Чаты {{user}}'а", "{{webUIName}} Backend Required": "Необходимо подключение к серверу {{webUIName}}", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/sr-RS/translation.json b/src/lib/i18n/locales/sr-RS/translation.json index 107e4334dd..bb2fa7eea2 100644 --- a/src/lib/i18n/locales/sr-RS/translation.json +++ b/src/lib/i18n/locales/sr-RS/translation.json @@ -6,7 +6,6 @@ "(latest)": "(најновије)", "{{ models }}": "{{ модели }}", "{{ owner }}: You cannot delete a base model": "{{ оwнер }}: Не можете избрисати основни модел", - "{{modelName}} is thinking...": "{{modelName}} размишља...", "{{user}}'s Chats": "Ћаскања корисника {{user}}", "{{webUIName}} Backend Required": "Захтева се {{webUIName}} позадинац", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/sv-SE/translation.json b/src/lib/i18n/locales/sv-SE/translation.json index b15d092bbb..a2b0d26a17 100644 --- a/src/lib/i18n/locales/sv-SE/translation.json +++ b/src/lib/i18n/locales/sv-SE/translation.json @@ -6,7 +6,6 @@ "(latest)": "(senaste)", "{{ models }}": "{{ modeller }}", "{{ owner }}: You cannot delete a base model": "{{ owner }}: Du kan inte ta bort en basmodell", - "{{modelName}} is thinking...": "{{modelName}} tänker...", "{{user}}'s Chats": "{{user}}s Chats", "{{webUIName}} Backend Required": "{{webUIName}} Backend krävs", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/th-TH/translation.json b/src/lib/i18n/locales/th-TH/translation.json index 8c04b1628a..2308a0e14f 100644 --- a/src/lib/i18n/locales/th-TH/translation.json +++ b/src/lib/i18n/locales/th-TH/translation.json @@ -6,7 +6,6 @@ "(latest)": "(ล่าสุด)", "{{ models }}": "{{ models }}", "{{ owner }}: You cannot delete a base model": "{{ owner }}: คุณไม่สามารถลบโมเดลพื้นฐานได้", - "{{modelName}} is thinking...": "{{modelName}} กำลังคิด...", "{{user}}'s Chats": "การสนทนาของ {{user}}", "{{webUIName}} Backend Required": "ต้องการ Backend ของ {{webUIName}}", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/tk-TW/translation.json b/src/lib/i18n/locales/tk-TW/translation.json index b3c25fe69f..4959d805af 100644 --- a/src/lib/i18n/locales/tk-TW/translation.json +++ b/src/lib/i18n/locales/tk-TW/translation.json @@ -6,7 +6,6 @@ "(latest)": "", "{{ models }}": "", "{{ owner }}: You cannot delete a base model": "", - "{{modelName}} is thinking...": "", "{{user}}'s Chats": "", "{{webUIName}} Backend Required": "", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/tr-TR/translation.json b/src/lib/i18n/locales/tr-TR/translation.json index 694083cd1e..d0a38090a3 100644 --- a/src/lib/i18n/locales/tr-TR/translation.json +++ b/src/lib/i18n/locales/tr-TR/translation.json @@ -6,7 +6,6 @@ "(latest)": "(en son)", "{{ models }}": "{{ models }}", "{{ owner }}: You cannot delete a base model": "{{ owner }}: Temel modeli silemezsiniz", - "{{modelName}} is thinking...": "{{modelName}} düşünüyor...", "{{user}}'s Chats": "{{user}} Sohbetleri", "{{webUIName}} Backend Required": "{{webUIName}} Arkayüz Gerekli", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/uk-UA/translation.json b/src/lib/i18n/locales/uk-UA/translation.json index 020c561dc2..f0dd2a3231 100644 --- a/src/lib/i18n/locales/uk-UA/translation.json +++ b/src/lib/i18n/locales/uk-UA/translation.json @@ -6,7 +6,6 @@ "(latest)": "(остання)", "{{ models }}": "{{ models }}", "{{ owner }}: You cannot delete a base model": "{{ owner }}: Ви не можете видалити базову модель.", - "{{modelName}} is thinking...": "{{modelName}} думає...", "{{user}}'s Chats": "Чати {{user}}а", "{{webUIName}} Backend Required": "Необхідно підключення бекенду {{webUIName}}", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/vi-VN/translation.json b/src/lib/i18n/locales/vi-VN/translation.json index 2037a2e4f5..7ba4fc8ca6 100644 --- a/src/lib/i18n/locales/vi-VN/translation.json +++ b/src/lib/i18n/locales/vi-VN/translation.json @@ -6,7 +6,6 @@ "(latest)": "(mới nhất)", "{{ models }}": "{{ mô hình }}", "{{ owner }}: You cannot delete a base model": "{{ owner }}: Bạn không thể xóa base model", - "{{modelName}} is thinking...": "{{modelName}} đang suy nghĩ...", "{{user}}'s Chats": "{{user}}'s Chats", "{{webUIName}} Backend Required": "{{webUIName}} Yêu cầu Backend", "*Prompt node ID(s) are required for image generation": "", diff --git a/src/lib/i18n/locales/zh-CN/translation.json b/src/lib/i18n/locales/zh-CN/translation.json index e896764983..b33e2e0792 100644 --- a/src/lib/i18n/locales/zh-CN/translation.json +++ b/src/lib/i18n/locales/zh-CN/translation.json @@ -6,7 +6,6 @@ "(latest)": "(最新版)", "{{ models }}": "{{ models }}", "{{ owner }}: You cannot delete a base model": "{{ owner }}:您不能删除基础模型", - "{{modelName}} is thinking...": "{{modelName}} 正在思考...", "{{user}}'s Chats": "{{user}} 的对话记录", "{{webUIName}} Backend Required": "需要 {{webUIName}} 后端", "*Prompt node ID(s) are required for image generation": "*图片生成需要 Prompt node ID", diff --git a/src/lib/i18n/locales/zh-TW/translation.json b/src/lib/i18n/locales/zh-TW/translation.json index 1122afa1e4..e78be107c9 100644 --- a/src/lib/i18n/locales/zh-TW/translation.json +++ b/src/lib/i18n/locales/zh-TW/translation.json @@ -6,7 +6,6 @@ "(latest)": "(最新版)", "{{ models }}": "{{ models }}", "{{ owner }}: You cannot delete a base model": "{{ owner }}:您無法刪除基礎模型", - "{{modelName}} is thinking...": "{{modelName}} 正在思考...", "{{user}}'s Chats": "{{user}} 的對話", "{{webUIName}} Backend Required": "需要 {{webUIName}} 後端", "*Prompt node ID(s) are required for image generation": "", From 4519ddd0e97b33114d5ad0d012ed4523937f55c7 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Fri, 23 Aug 2024 16:19:04 +0200 Subject: [PATCH 39/91] refac: files rbac --- backend/apps/webui/models/files.py | 7 +++++++ backend/apps/webui/routers/files.py | 14 ++++++++------ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/backend/apps/webui/models/files.py b/backend/apps/webui/models/files.py index 2de5c33b59..e1d1cec9f0 100644 --- a/backend/apps/webui/models/files.py +++ b/backend/apps/webui/models/files.py @@ -98,6 +98,13 @@ class FilesTable: return [FileModel.model_validate(file) for file in db.query(File).all()] + def get_files_by_user_id(self, user_id: str) -> list[FileModel]: + with get_db() as db: + return [ + FileModel.model_validate(file) + for file in db.query(File).filter_by(user_id=user_id).all() + ] + def delete_file_by_id(self, id: str) -> bool: with get_db() as db: diff --git a/backend/apps/webui/routers/files.py b/backend/apps/webui/routers/files.py index ba571fc713..48ca366d88 100644 --- a/backend/apps/webui/routers/files.py +++ b/backend/apps/webui/routers/files.py @@ -106,7 +106,10 @@ def upload_file(file: UploadFile = File(...), user=Depends(get_verified_user)): @router.get("/", response_model=list[FileModel]) async def list_files(user=Depends(get_verified_user)): - files = Files.get_files() + if user.role == "admin": + files = Files.get_files() + else: + files = Files.get_files_by_user_id(user.id) return files @@ -156,7 +159,7 @@ async def delete_all_files(user=Depends(get_admin_user)): async def get_file_by_id(id: str, user=Depends(get_verified_user)): file = Files.get_file_by_id(id) - if file: + if file and (file.user_id == user.id or user.role == "admin"): return file else: raise HTTPException( @@ -174,7 +177,7 @@ async def get_file_by_id(id: str, user=Depends(get_verified_user)): async def get_file_content_by_id(id: str, user=Depends(get_verified_user)): file = Files.get_file_by_id(id) - if file: + if file and (file.user_id == user.id or user.role == "admin"): file_path = Path(file.meta["path"]) # Check if the file already exists in the cache @@ -197,7 +200,7 @@ async def get_file_content_by_id(id: str, user=Depends(get_verified_user)): async def get_file_content_by_id(id: str, user=Depends(get_verified_user)): file = Files.get_file_by_id(id) - if file: + if file and (file.user_id == user.id or user.role == "admin"): file_path = Path(file.meta["path"]) # Check if the file already exists in the cache @@ -224,8 +227,7 @@ async def get_file_content_by_id(id: str, user=Depends(get_verified_user)): @router.delete("/{id}") async def delete_file_by_id(id: str, user=Depends(get_verified_user)): file = Files.get_file_by_id(id) - - if file: + if file and (file.user_id == user.id or user.role == "admin"): result = Files.delete_file_by_id(id) if result: return {"message": "File deleted successfully"} From 48503573c1540e39d3dfbb1919b0a33193d704c0 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Fri, 23 Aug 2024 16:42:36 +0200 Subject: [PATCH 40/91] refac: call overlay styling --- src/lib/components/chat/Chat.svelte | 46 +- src/lib/components/chat/ChatControls.svelte | 43 +- .../components/chat/Controls/Controls.svelte | 4 +- src/lib/components/chat/MessageInput.svelte | 9 +- .../chat/MessageInput/CallOverlay.svelte | 553 +++++++++--------- 5 files changed, 336 insertions(+), 319 deletions(-) diff --git a/src/lib/components/chat/Chat.svelte b/src/lib/components/chat/Chat.svelte index efd0684303..0ed409a2b7 100644 --- a/src/lib/components/chat/Chat.svelte +++ b/src/lib/components/chat/Chat.svelte @@ -1634,6 +1634,25 @@
{/if} +{:else if $showCallOverlay} +
+
+ +
+
{:else}
diff --git a/src/lib/components/chat/Controls/Controls.svelte b/src/lib/components/chat/Controls/Controls.svelte index 31b58ab90e..35184f3851 100644 --- a/src/lib/components/chat/Controls/Controls.svelte +++ b/src/lib/components/chat/Controls/Controls.svelte @@ -1,4 +1,4 @@ - diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte index f0d51aa9a1..7e8f83193a 100644 --- a/src/lib/components/chat/MessageInput.svelte +++ b/src/lib/components/chat/MessageInput.svelte @@ -1,6 +1,7 @@ {#if $showCallOverlay} -
-
-
- {#if camera} - - {/if} - -
- {#if !camera} -
+ {:else if loading || assistantSpeaking} + + {:else} +
+ {/if} + + + {/if} + +
+ {#if !camera} + {:else}
-
+ class=" {rmsLevel * 100 > 4 + ? ' size-52' + : rmsLevel * 100 > 2 + ? 'size-48' + : rmsLevel * 100 > 1 + ? 'size-[11.5rem]' + : 'size-44'} transition-all rounded-full {(model?.info?.meta + ?.profile_image_url ?? '/static/favicon.png') !== '/static/favicon.png' + ? ' bg-cover bg-center bg-no-repeat' + : 'bg-black dark:bg-white'} " + style={(model?.info?.meta?.profile_image_url ?? '/static/favicon.png') !== + '/static/favicon.png' + ? `background-image: url('${model?.info?.meta?.profile_image_url}');` + : ''} + /> {/if} -
+ + {:else} +
+
+ +
+
From 553293f4d5eb36f6fb7ad33e68be1c0d2e4a48d1 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Fri, 23 Aug 2024 16:45:07 +0200 Subject: [PATCH 41/91] refac: styling --- src/lib/components/chat/MessageInput/CallOverlay.svelte | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/components/chat/MessageInput/CallOverlay.svelte b/src/lib/components/chat/MessageInput/CallOverlay.svelte index bb8d81cdff..8e2c77a87f 100644 --- a/src/lib/components/chat/MessageInput/CallOverlay.svelte +++ b/src/lib/components/chat/MessageInput/CallOverlay.svelte @@ -778,8 +778,8 @@ : rmsLevel * 100 > 2 ? 'size-48' : rmsLevel * 100 > 1 - ? 'size-[11.5rem]' - : 'size-44'} transition-all rounded-full {(model?.info?.meta + ? 'size-44' + : 'size-40'} transition-all rounded-full {(model?.info?.meta ?.profile_image_url ?? '/static/favicon.png') !== '/static/favicon.png' ? ' bg-cover bg-center bg-no-repeat' : 'bg-black dark:bg-white'} " From e442b3b1698a095a348385059a882c0628c0a19b Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Fri, 23 Aug 2024 16:51:34 +0200 Subject: [PATCH 42/91] fix: async image gen automatic1111 --- backend/apps/images/main.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/backend/apps/images/main.py b/backend/apps/images/main.py index 25ed2c5176..ed75431063 100644 --- a/backend/apps/images/main.py +++ b/backend/apps/images/main.py @@ -15,6 +15,7 @@ import json import logging import re import requests +import asyncio from utils.utils import ( get_verified_user, @@ -533,7 +534,9 @@ async def image_generations( if form_data.negative_prompt is not None: data["negative_prompt"] = form_data.negative_prompt - r = requests.post( + # Use asyncio.to_thread for the requests.post call + r = await asyncio.to_thread( + requests.post, url=f"{app.state.config.AUTOMATIC1111_BASE_URL}/sdapi/v1/txt2img", json=data, headers={"authorization": get_automatic1111_api_auth()}, @@ -553,7 +556,6 @@ async def image_generations( json.dump({**data, "info": res["info"]}, f) return images - except Exception as e: error = e if r != None: From 8a99eaa68f67a1a07c938d82705e8f54f6475de3 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Fri, 23 Aug 2024 18:21:19 +0200 Subject: [PATCH 43/91] fix --- .../components/chat/MessageInput/CallOverlay.svelte | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/lib/components/chat/MessageInput/CallOverlay.svelte b/src/lib/components/chat/MessageInput/CallOverlay.svelte index 8e2c77a87f..7995677306 100644 --- a/src/lib/components/chat/MessageInput/CallOverlay.svelte +++ b/src/lib/components/chat/MessageInput/CallOverlay.svelte @@ -243,6 +243,15 @@ mediaRecorder.start(); }; + const stopAudioStream = async () => { + if (audioStream) { + const tracks = audioStream.getTracks(); + tracks.forEach((track) => track.stop()); + } + + audioStream = null; + }; + // Function to calculate the RMS level from time domain data const calculateRMS = (data: Uint8Array) => { let sumSquares = 0; @@ -911,6 +920,8 @@
{/if} + +
+ +
+
{$i18n.t('Response splitting')}
+
+ +
+
+
+ {$i18n.t( + "Choose how to split response text for speech synthesis. 'Punctuation' splits by sentences, 'paragraphs' splits by paragraphs, and 'none' sends the response as a single string." + )} +
diff --git a/src/lib/components/chat/Messages/ResponseMessage.svelte b/src/lib/components/chat/Messages/ResponseMessage.svelte index eac388eb00..21daadb2cc 100644 --- a/src/lib/components/chat/Messages/ResponseMessage.svelte +++ b/src/lib/components/chat/Messages/ResponseMessage.svelte @@ -2,11 +2,10 @@ import { toast } from 'svelte-sonner'; import dayjs from 'dayjs'; - import { fade } from 'svelte/transition'; import { createEventDispatcher } from 'svelte'; import { onMount, tick, getContext } from 'svelte'; - const i18n = getContext('i18n'); + const i18n = getContext>('i18n'); const dispatch = createEventDispatcher(); @@ -15,20 +14,18 @@ import { imageGenerations } from '$lib/apis/images'; import { approximateToHumanReadable, - extractSentences, - replaceTokens, - processResponseContent + extractParagraphsForAudio, + extractSentencesForAudio, + prepareTextForTTS, } from '$lib/utils'; import { WEBUI_BASE_URL } from '$lib/constants'; import Name from './Name.svelte'; import ProfileImage from './ProfileImage.svelte'; import Skeleton from './Skeleton.svelte'; - import CodeBlock from './CodeBlock.svelte'; import Image from '$lib/components/common/Image.svelte'; import Tooltip from '$lib/components/common/Tooltip.svelte'; import RateComment from './RateComment.svelte'; - import CitationsModal from '$lib/components/chat/Messages/CitationsModal.svelte'; import Spinner from '$lib/components/common/Spinner.svelte'; import WebSearchResults from './ResponseMessage/WebSearchResults.svelte'; import Sparkles from '$lib/components/icons/Sparkles.svelte'; @@ -36,7 +33,38 @@ import Error from './Error.svelte'; import Citations from './Citations.svelte'; - export let message; + import type { Writable } from 'svelte/store'; + import type { i18n as i18nType } from 'i18next'; + import { TTS_RESPONSE_SPLIT } from '$lib/types'; + + interface MessageType { + id: string; + model: string; + content: string; + files?: { type: string; url: string }[]; + timestamp: number; + role: string; + statusHistory?: { done: boolean; action: string; description: string; urls?: string[]; query?: string; }[]; + status?: { done: boolean; action: string; description: string; urls?: string[]; query?: string; }; + done: boolean; + error?: boolean | { content: string }; + citations?: string[]; + info?: { + openai?: boolean; + prompt_tokens?: number; + completion_tokens?: number; + total_tokens?: number; + eval_count?: number; + eval_duration?: number; + prompt_eval_count?: number; + prompt_eval_duration?: number; + total_duration?: number; + load_duration?: number; + }; + annotation?: { type: string; rating: number; }; + } + + export let message: MessageType; export let siblings; export let isLastMessage = true; @@ -60,28 +88,33 @@ let editedContent = ''; let editTextAreaElement: HTMLTextAreaElement; - let sentencesAudio = {}; - let speaking = null; - let speakingIdx = null; + let audioParts: Record = {}; + let speaking = false; + let speakingIdx: number | undefined; let loadingSpeech = false; let generatingImage = false; let showRateComment = false; - const playAudio = (idx) => { - return new Promise((res) => { + const playAudio = (idx: number) => { + return new Promise((res) => { speakingIdx = idx; - const audio = sentencesAudio[idx]; + const audio = audioParts[idx]; + + if (!audio) { + return res(); + } + audio.play(); - audio.onended = async (e) => { + audio.onended = async () => { await new Promise((r) => setTimeout(r, 300)); - if (Object.keys(sentencesAudio).length - 1 === idx) { - speaking = null; + if (Object.keys(audioParts).length - 1 === idx) { + speaking = false; } - res(e); + res(); }; }); }; @@ -91,113 +124,119 @@ try { speechSynthesis.cancel(); - sentencesAudio[speakingIdx].pause(); - sentencesAudio[speakingIdx].currentTime = 0; + if (speakingIdx !== undefined && audioParts[speakingIdx]) { + audioParts[speakingIdx]!.pause(); + audioParts[speakingIdx]!.currentTime = 0; + } } catch {} - speaking = null; - speakingIdx = null; - } else { - if ((message?.content ?? '').trim() !== '') { - speaking = true; + speaking = false; + speakingIdx = undefined; + return; + } - if ($config.audio.tts.engine !== '') { - loadingSpeech = true; + if (!(message?.content ?? '').trim().length) { + toast.info($i18n.t('No content to speak')); + return; + } - const sentences = extractSentences(message.content).reduce((mergedTexts, currentText) => { - const lastIndex = mergedTexts.length - 1; - if (lastIndex >= 0) { - const previousText = mergedTexts[lastIndex]; - const wordCount = previousText.split(/\s+/).length; - if (wordCount < 2) { - mergedTexts[lastIndex] = previousText + ' ' + currentText; - } else { - mergedTexts.push(currentText); - } - } else { - mergedTexts.push(currentText); - } - return mergedTexts; - }, []); + speaking = true; - console.log(sentences); + if ($config.audio.tts.engine !== '') { + loadingSpeech = true; - if (sentences.length > 0) { - sentencesAudio = sentences.reduce((a, e, i, arr) => { - a[i] = null; - return a; - }, {}); + const preparedMessageContent: string[] = []; - let lastPlayedAudioPromise = Promise.resolve(); // Initialize a promise that resolves immediately - - for (const [idx, sentence] of sentences.entries()) { - const res = await synthesizeOpenAISpeech( - localStorage.token, - $settings?.audio?.tts?.defaultVoice === $config.audio.tts.voice - ? ($settings?.audio?.tts?.voice ?? $config?.audio?.tts?.voice) - : $config?.audio?.tts?.voice, - sentence - ).catch((error) => { - toast.error(error); - - speaking = null; - loadingSpeech = false; - - return null; - }); - - if (res) { - const blob = await res.blob(); - const blobUrl = URL.createObjectURL(blob); - const audio = new Audio(blobUrl); - sentencesAudio[idx] = audio; - loadingSpeech = false; - lastPlayedAudioPromise = lastPlayedAudioPromise.then(() => playAudio(idx)); - } - } - } else { - speaking = null; - loadingSpeech = false; - } - } else { - let voices = []; - const getVoicesLoop = setInterval(async () => { - voices = await speechSynthesis.getVoices(); - if (voices.length > 0) { - clearInterval(getVoicesLoop); - - const voice = - voices - ?.filter( - (v) => - v.voiceURI === ($settings?.audio?.tts?.voice ?? $config?.audio?.tts?.voice) - ) - ?.at(0) ?? undefined; - - console.log(voice); - - const speak = new SpeechSynthesisUtterance(message.content); - - console.log(speak); - - speak.onend = () => { - speaking = null; - if ($settings.conversationMode) { - document.getElementById('voice-input-button')?.click(); - } - }; - - if (voice) { - speak.voice = voice; - } - - speechSynthesis.speak(speak); - } - }, 100); - } - } else { - toast.error($i18n.t('No content to speak')); + switch ($config.audio.tts.split_on) { + default: + case TTS_RESPONSE_SPLIT.PUNCTUATION: + preparedMessageContent.push(...extractSentencesForAudio(message.content)); + break; + case TTS_RESPONSE_SPLIT.PARAGRAPHS: + preparedMessageContent.push(...extractParagraphsForAudio(message.content)); + break; + case TTS_RESPONSE_SPLIT.NONE: + preparedMessageContent.push(prepareTextForTTS(message.content)); + break; } + + if (!preparedMessageContent.length) { + console.log('No content to speak'); + toast.info($i18n.t('No content to speak')); + + speaking = false; + loadingSpeech = false; + return; + } + + console.debug('Prepared message content for TTS', preparedMessageContent); + + audioParts = preparedMessageContent.reduce((acc, _sentence, idx) => { + acc[idx] = null; + return acc; + }, {} as typeof audioParts); + + let lastPlayedAudioPromise = Promise.resolve(); // Initialize a promise that resolves immediately + + for (const [idx, sentence] of preparedMessageContent.entries()) { + const res = await synthesizeOpenAISpeech( + localStorage.token, + $settings?.audio?.tts?.defaultVoice === $config.audio.tts.voice + ? ($settings?.audio?.tts?.voice ?? $config?.audio?.tts?.voice) + : $config?.audio?.tts?.voice, + sentence + ).catch((error) => { + console.error(error); + toast.error(error); + + speaking = false; + loadingSpeech = false; + }); + + if (res) { + const blob = await res.blob(); + const blobUrl = URL.createObjectURL(blob); + const audio = new Audio(blobUrl); + audioParts[idx] = audio; + loadingSpeech = false; + lastPlayedAudioPromise = lastPlayedAudioPromise.then(() => playAudio(idx)); + } + } + } else { + let voices = []; + const getVoicesLoop = setInterval(() => { + voices = speechSynthesis.getVoices(); + if (voices.length > 0) { + clearInterval(getVoicesLoop); + + const voice = + voices + ?.filter( + (v) => + v.voiceURI === ($settings?.audio?.tts?.voice ?? $config?.audio?.tts?.voice) + ) + ?.at(0) ?? undefined; + + console.log(voice); + + const speak = new SpeechSynthesisUtterance(message.content); + + console.log(speak); + + speak.onend = () => { + speaking = false; + if ($settings.conversationMode) { + document.getElementById('voice-input-button')?.click(); + } + }; + + if (voice) { + speak.voice = voice; + } + + speechSynthesis.speak(speak); + } + }, 100); } }; @@ -230,7 +269,7 @@ await tick(); }; - const generateImage = async (message) => { + const generateImage = async (message: MessageType) => { generatingImage = true; const res = await imageGenerations(localStorage.token, message.content).catch((error) => { toast.error(error); @@ -285,7 +324,7 @@
- {#if (message?.files ?? []).filter((f) => f.type === 'image').length > 0} + {#if message?.files && message.files?.filter((f) => f.type === 'image').length > 0}
{#each message.files as file}
@@ -304,7 +343,7 @@ message?.statusHistory ?? [...(message?.status ? [message?.status] : [])] ).at(-1)}
- {#if status.done === false} + {#if status?.done === false}
@@ -521,7 +560,7 @@ : 'invisible group-hover:visible'} p-1.5 hover:bg-black/5 dark:hover:bg-white/5 rounded-lg dark:hover:text-white hover:text-black transition" on:click={() => { if (!loadingSpeech) { - toggleSpeakMessage(message); + toggleSpeakMessage(); } }} > @@ -661,7 +700,7 @@ `${ Math.round( ((message.info.eval_count ?? 0) / - (message.info.eval_duration / 1000000000)) * + ((message.info.eval_duration ?? 0) / 1000000000)) * 100 ) / 100 } tokens` ?? 'N/A' @@ -669,7 +708,7 @@ prompt_token/s: ${ Math.round( ((message.info.prompt_eval_count ?? 0) / - (message.info.prompt_eval_duration / 1000000000)) * + ((message.info.prompt_eval_duration ?? 0) / 1000000000)) * 100 ) / 100 ?? 'N/A' } tokens
@@ -688,7 +727,7 @@ eval_duration: ${ Math.round(((message.info.eval_duration ?? 0) / 1000000) * 100) / 100 ?? 'N/A' }ms
- approximate_total: ${approximateToHumanReadable(message.info.total_duration)}`} + approximate_total: ${approximateToHumanReadable((message.info.total_duration ?? 0))}`} placement="top" > diff --git a/src/lib/types/index.ts b/src/lib/types/index.ts index 2d9156c8da..5b20e4e8bd 100644 --- a/src/lib/types/index.ts +++ b/src/lib/types/index.ts @@ -7,3 +7,9 @@ export type Banner = { dismissible?: boolean; timestamp: number; }; + +export enum TTS_RESPONSE_SPLIT { + PUNCTUATION = 'punctuation', + PARAGRAPHS = 'paragraphs', + NONE = 'none', +} diff --git a/src/lib/utils/index.ts b/src/lib/utils/index.ts index 995712dfa3..3acedd2ba0 100644 --- a/src/lib/utils/index.ts +++ b/src/lib/utils/index.ts @@ -408,7 +408,7 @@ const convertOpenAIMessages = (convo) => { let currentId = ''; let lastId = null; - for (let message_id in mapping) { + for (const message_id in mapping) { const message = mapping[message_id]; currentId = message_id; try { @@ -442,7 +442,7 @@ const convertOpenAIMessages = (convo) => { } } - let history = {}; + const history: Record = {}; messages.forEach((obj) => (history[obj.id] = obj)); const chat = { @@ -481,7 +481,7 @@ const validateChat = (chat) => { } // Every message's content should be a string - for (let message of messages) { + for (const message of messages) { if (typeof message.content !== 'string') { return false; } @@ -494,7 +494,7 @@ export const convertOpenAIChats = (_chats) => { // Create a list of dictionaries with each conversation from import const chats = []; let failed = 0; - for (let convo of _chats) { + for (const convo of _chats) { const chat = convertOpenAIMessages(convo); if (validateChat(chat)) { @@ -513,7 +513,7 @@ export const convertOpenAIChats = (_chats) => { return chats; }; -export const isValidHttpUrl = (string) => { +export const isValidHttpUrl = (string: string) => { let url; try { @@ -525,7 +525,7 @@ export const isValidHttpUrl = (string) => { return url.protocol === 'http:' || url.protocol === 'https:'; }; -export const removeEmojis = (str) => { +export const removeEmojis = (str: string) => { // Regular expression to match emojis const emojiRegex = /[\uD800-\uDBFF][\uDC00-\uDFFF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDE4F]/g; @@ -533,20 +533,24 @@ export const removeEmojis = (str) => { return str.replace(emojiRegex, ''); }; -export const removeFormattings = (str) => { +export const removeFormattings = (str: string) => { return str.replace(/(\*)(.*?)\1/g, '').replace(/(```)(.*?)\1/gs, ''); }; -export const extractSentences = (text) => { - // This regular expression matches code blocks marked by triple backticks - const codeBlockRegex = /```[\s\S]*?```/g; +export const prepareTextForTTS = (content: string) => { + return removeFormattings(removeEmojis(content.trim())); +}; - let codeBlocks = []; +// This regular expression matches code blocks marked by triple backticks +const codeBlockRegex = /```[\s\S]*?```/g; + +export const extractSentences = (text: string) => { + const codeBlocks: string[] = []; let index = 0; // Temporarily replace code blocks with placeholders and store the blocks separately text = text.replace(codeBlockRegex, (match) => { - let placeholder = `\u0000${index}\u0000`; // Use a unique placeholder + const placeholder = `\u0000${index}\u0000`; // Use a unique placeholder codeBlocks[index++] = match; return placeholder; }); @@ -561,11 +565,36 @@ export const extractSentences = (text) => { }); return sentences - .map((sentence) => removeFormattings(removeEmojis(sentence.trim()))) - .filter((sentence) => sentence); + .map(prepareTextForTTS) + .filter(Boolean); }; -export const extractSentencesForAudio = (text) => { +export const extractParagraphsForAudio = (text: string) => { + const codeBlocks: string[] = []; + let index = 0; + + // Temporarily replace code blocks with placeholders and store the blocks separately + text = text.replace(codeBlockRegex, (match) => { + const placeholder = `\u0000${index}\u0000`; // Use a unique placeholder + codeBlocks[index++] = match; + return placeholder; + }); + + // Split the modified text into paragraphs based on newlines, avoiding these blocks + let paragraphs = text.split(/\n+/); + + // Restore code blocks and process paragraphs + paragraphs = paragraphs.map((paragraph) => { + // Check if the paragraph includes a placeholder for a code block + return paragraph.replace(/\u0000(\d+)\u0000/g, (_, idx) => codeBlocks[idx]); + }); + + return paragraphs + .map(prepareTextForTTS) + .filter(Boolean); +}; + +export const extractSentencesForAudio = (text: string) => { return extractSentences(text).reduce((mergedTexts, currentText) => { const lastIndex = mergedTexts.length - 1; if (lastIndex >= 0) { @@ -580,7 +609,7 @@ export const extractSentencesForAudio = (text) => { mergedTexts.push(currentText); } return mergedTexts; - }, []); + }, [] as string[]); }; export const blobToFile = (blob, fileName) => { From 73998a70ccc6aea28a2ef59a5b2072f113fc36eb Mon Sep 17 00:00:00 2001 From: kiosion Date: Sat, 24 Aug 2024 20:45:10 -0400 Subject: [PATCH 59/91] i18n: Add new strings for en, fr locales --- src/lib/components/admin/Settings/Audio.svelte | 4 ++-- src/lib/i18n/locales/en-GB/translation.json | 4 ++++ src/lib/i18n/locales/en-US/translation.json | 4 ++++ src/lib/i18n/locales/fr-CA/translation.json | 6 +++++- src/lib/i18n/locales/fr-FR/translation.json | 4 ++++ 5 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/lib/components/admin/Settings/Audio.svelte b/src/lib/components/admin/Settings/Audio.svelte index 7302558beb..4eae801dc2 100644 --- a/src/lib/components/admin/Settings/Audio.svelte +++ b/src/lib/components/admin/Settings/Audio.svelte @@ -366,7 +366,7 @@
-
-
- -
-
- {$i18n.t('Max File Size(MB)')} -
- -
- -
-
-
-
{$i18n.t('Hybrid Search')}
@@ -647,6 +615,48 @@
{/if}
+ +
+ +
+
{$i18n.t('Files')}
+ +
+
+
+ {$i18n.t('Max Upload Count')} +
+
+ +
+
+ +
+
+ {$i18n.t('Max Upload Size')} +
+ +
+ +
+
+
+
+
diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte index 4d47a9cf5c..53b7dd044c 100644 --- a/src/lib/components/chat/MessageInput.svelte +++ b/src/lib/components/chat/MessageInput.svelte @@ -17,7 +17,7 @@ import { blobToFile, findWordIndices } from '$lib/utils'; import { transcribeAudio } from '$lib/apis/audio'; - import { getFileLimitSettings, processDocToVectorDB } from '$lib/apis/rag'; + import { processDocToVectorDB } from '$lib/apis/rag'; import { uploadFile } from '$lib/apis/files'; import { @@ -56,7 +56,6 @@ let commandsElement; let inputFiles; - let fileLimitSettings; let dragged = false; let user = null; @@ -173,7 +172,7 @@ }; const processFileCountLimit = async (querySettings, inputFiles) => { - const maxFiles = querySettings.max_file_count; + const maxFiles = querySettings.FILE_MAX_COUNT; const currentFilesCount = files.length; const inputFilesCount = inputFiles.length; const totalFilesCount = currentFilesCount + inputFilesCount; @@ -190,8 +189,8 @@ return [true, inputFiles]; }; - const processFileSizeLimit = async (fileLimitSettings, file) => { - if (file.size <= fileLimitSettings.max_file_size * 1024 * 1024) { + const inputFilesHandler = async (inputFiles) => { + inputFiles.forEach((file) => { if (['image/gif', 'image/webp', 'image/jpeg', 'image/png'].includes(file['type'])) { if (visionCapableModels.length === 0) { toast.error($i18n.t('Selected model(s) do not support image inputs')); @@ -211,25 +210,10 @@ } else { uploadFileHandler(file); } - } else { - toast.error( - $i18n.t('File size exceeds the limit of {{size}}MB', { - size: fileLimitSettings.max_file_size - }) - ); - } + }); }; onMount(() => { - const initFileLimitSettings = async () => { - try { - fileLimitSettings = await getFileLimitSettings(localStorage.token); - } catch (error) { - console.error('Error fetching query settings:', error); - } - }; - initFileLimitSettings(); - window.setTimeout(() => chatTextAreaElement?.focus(), 0); const dropZone = document.querySelector('body'); @@ -256,22 +240,10 @@ if (e.dataTransfer?.files) { const inputFiles = Array.from(e.dataTransfer?.files); - + console.log(file, file.name.split('.').at(-1)); if (inputFiles && inputFiles.length > 0) { console.log(inputFiles); - const [canProcess, filesToProcess] = await processFileCountLimit( - fileLimitSettings, - inputFiles - ); - if (!canProcess) { - dragged = false; - return; - } - console.log(filesToProcess); - filesToProcess.forEach((file) => { - console.log(file, file.name.split('.').at(-1)); - processFileSizeLimit(fileLimitSettings, file); - }); + inputFilesHandler(inputFiles); } else { toast.error($i18n.t(`File not found.`)); } @@ -392,21 +364,7 @@ multiple on:change={async () => { if (inputFiles && inputFiles.length > 0) { - const _inputFiles = Array.from(inputFiles); - console.log(_inputFiles); - const [canProcess, filesToProcess] = await processFileCountLimit( - fileLimitSettings, - _inputFiles - ); - if (!canProcess) { - filesInputElement.value = ''; - return; - } - console.log(filesToProcess); - filesToProcess.forEach((file) => { - console.log(file, file.name.split('.').at(-1)); - processFileSizeLimit(fileLimitSettings, file); - }); + inputFilesHandler(inputFiles); } else { toast.error($i18n.t(`File not found.`)); } @@ -715,17 +673,7 @@ .map((item) => item.getAsFile()) .filter((file) => file); - const [canProcess, filesToProcess] = await processFileCountLimit( - fileLimitSettings, - inputFiles - ); - if (!canProcess) { - return; - } - filesToProcess.forEach((file) => { - console.log(file, file.name.split('.').at(-1)); - processFileSizeLimit(fileLimitSettings, file); - }); + inputFilesHandler(inputFiles); } else { toast.error($i18n.t(`File not found.`)); } diff --git a/src/lib/components/workspace/Documents.svelte b/src/lib/components/workspace/Documents.svelte index f738967a09..be3be082c3 100644 --- a/src/lib/components/workspace/Documents.svelte +++ b/src/lib/components/workspace/Documents.svelte @@ -8,7 +8,7 @@ import { createNewDoc, deleteDocByName, getDocs } from '$lib/apis/documents'; import { SUPPORTED_FILE_TYPE, SUPPORTED_FILE_EXTENSIONS } from '$lib/constants'; - import { getFileLimitSettings, processDocToVectorDB, uploadDocToVectorDB } from '$lib/apis/rag'; + import { processDocToVectorDB, uploadDocToVectorDB } from '$lib/apis/rag'; import { blobToFile, transformFileName } from '$lib/utils'; import Checkbox from '$lib/components/common/Checkbox.svelte'; @@ -24,7 +24,7 @@ let importFiles = ''; let inputFiles = ''; - let fileLimitSettings; + let query = ''; let documentsImportInputElement: HTMLInputElement; let tags = []; @@ -99,17 +99,7 @@ } }; - const initFileLimitSettings = async () => { - try { - fileLimitSettings = await getFileLimitSettings(localStorage.token); - } catch (error) { - console.error('Error fetching query settings:', error); - } - }; - onMount(() => { - initFileLimitSettings(); - documents.subscribe((docs) => { tags = docs.reduce((a, e, i, arr) => { return [...new Set([...a, ...(e?.content?.tags ?? []).map((tag) => tag.name)])]; @@ -147,24 +137,16 @@ if (inputFiles && inputFiles.length > 0) { for (const file of inputFiles) { console.log(file, file.name.split('.').at(-1)); - if (file.size <= fileLimitSettings.max_file_size * 1024 * 1024) { - if ( - SUPPORTED_FILE_TYPE.includes(file['type']) || - SUPPORTED_FILE_EXTENSIONS.includes(file.name.split('.').at(-1)) - ) { - uploadDoc(file); - } else { - toast.error( - `Unknown File Type '${file['type']}', but accepting and treating as plain text` - ); - uploadDoc(file); - } + if ( + SUPPORTED_FILE_TYPE.includes(file['type']) || + SUPPORTED_FILE_EXTENSIONS.includes(file.name.split('.').at(-1)) + ) { + uploadDoc(file); } else { toast.error( - $i18n.t('File size exceeds the limit of {{size}}MB', { - size: fileLimitSettings.max_file_size - }) + `Unknown File Type '${file['type']}', but accepting and treating as plain text` ); + uploadDoc(file); } } } else { From 69c4687a535bc679d06225909192ceea02e6dc74 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Tue, 27 Aug 2024 15:53:29 +0200 Subject: [PATCH 84/91] refac --- backend/apps/rag/main.py | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/backend/apps/rag/main.py b/backend/apps/rag/main.py index 15eff3d848..3634481bdb 100644 --- a/backend/apps/rag/main.py +++ b/backend/apps/rag/main.py @@ -583,19 +583,9 @@ async def get_query_settings(user=Depends(get_admin_user)): } -@app.get("/file/limit/settings") -async def get_query_settings(user=Depends(get_verified_user)): - return { - "FILE_MAX_SIZE": app.state.config.FILE_MAX_SIZE, - "FILE_MAX_COUNT": app.state.config.FILE_MAX_COUNT, - } - - class QuerySettingsForm(BaseModel): k: Optional[int] = None r: Optional[float] = None - FILE_MAX_SIZE: Optional[int] = None - FILE_MAX_COUNT: Optional[int] = None template: Optional[str] = None hybrid: Optional[bool] = None @@ -612,20 +602,12 @@ async def update_query_settings( app.state.config.ENABLE_RAG_HYBRID_SEARCH = ( form_data.hybrid if form_data.hybrid else False ) - app.state.config.FILE_MAX_SIZE = ( - form_data.FILE_MAX_SIZE if form_data.FILE_MAX_SIZE else 10 - ) - app.state.config.FILE_MAX_COUNT = ( - form_data.FILE_MAX_COUNT if form_data.FILE_MAX_COUNT else 5 - ) return { "status": True, "template": app.state.config.RAG_TEMPLATE, "k": app.state.config.TOP_K, "r": app.state.config.RELEVANCE_THRESHOLD, - "FILE_MAX_SIZE": app.state.config.FILE_MAX_SIZE, - "FILE_MAX_COUNT": app.state.config.FILE_MAX_COUNT, "hybrid": app.state.config.ENABLE_RAG_HYBRID_SEARCH, } From ef28330c1a255ba1f8adce8a669bf985d94ba6b2 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Tue, 27 Aug 2024 15:56:47 +0200 Subject: [PATCH 85/91] refac: do NOT change default behaviour in a PR --- .../admin/Settings/Documents.svelte | 4 +-- src/lib/components/chat/MessageInput.svelte | 32 ++++++++++++------- 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/src/lib/components/admin/Settings/Documents.svelte b/src/lib/components/admin/Settings/Documents.svelte index e8c7f1f7f2..3d42032fdf 100644 --- a/src/lib/components/admin/Settings/Documents.svelte +++ b/src/lib/components/admin/Settings/Documents.svelte @@ -233,8 +233,8 @@ tikaServerUrl = res.content_extraction.tika_server_url; showTikaServerUrl = contentExtractionEngine === 'tika'; - fileMaxSize = res.file.file_max_size; - fileMaxCount = res.file.file_max_count; + fileMaxSize = res.file.max_size; + fileMaxCount = res.file.max_count; } }); diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte index 53b7dd044c..4e93ff6b4e 100644 --- a/src/lib/components/chat/MessageInput.svelte +++ b/src/lib/components/chat/MessageInput.svelte @@ -364,7 +364,8 @@ multiple on:change={async () => { if (inputFiles && inputFiles.length > 0) { - inputFilesHandler(inputFiles); + const _inputFiles = Array.from(inputFiles); + inputFilesHandler(_inputFiles); } else { toast.error($i18n.t(`File not found.`)); } @@ -667,19 +668,26 @@ }} on:paste={async (e) => { const clipboardData = e.clipboardData || window.clipboardData; - try { - if (clipboardData && clipboardData.items) { - const inputFiles = Array.from(clipboardData.items) - .map((item) => item.getAsFile()) - .filter((file) => file); - inputFilesHandler(inputFiles); - } else { - toast.error($i18n.t(`File not found.`)); + if (clipboardData && clipboardData.items) { + for (const item of clipboardData.items) { + if (item.type.indexOf('image') !== -1) { + const blob = item.getAsFile(); + const reader = new FileReader(); + + reader.onload = function (e) { + files = [ + ...files, + { + type: 'image', + url: `${e.target.result}` + } + ]; + }; + + reader.readAsDataURL(blob); + } } - } catch (error) { - console.error('Error processing files:', error); - toast.error($i18n.t(`An error occurred while processing files.`)); } }} /> From 628310b12b41ec3439b6c1b8e2872996cfdeff6f Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Tue, 27 Aug 2024 15:58:02 +0200 Subject: [PATCH 86/91] refac --- src/lib/components/chat/MessageInput.svelte | 22 ++------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte index 4e93ff6b4e..69c02d793d 100644 --- a/src/lib/components/chat/MessageInput.svelte +++ b/src/lib/components/chat/MessageInput.svelte @@ -15,11 +15,11 @@ user as _user } from '$lib/stores'; import { blobToFile, findWordIndices } from '$lib/utils'; + import { transcribeAudio } from '$lib/apis/audio'; - import { processDocToVectorDB } from '$lib/apis/rag'; - import { uploadFile } from '$lib/apis/files'; + import { SUPPORTED_FILE_TYPE, SUPPORTED_FILE_EXTENSIONS, @@ -171,24 +171,6 @@ } }; - const processFileCountLimit = async (querySettings, inputFiles) => { - const maxFiles = querySettings.FILE_MAX_COUNT; - const currentFilesCount = files.length; - const inputFilesCount = inputFiles.length; - const totalFilesCount = currentFilesCount + inputFilesCount; - - if (currentFilesCount >= maxFiles || totalFilesCount > maxFiles) { - toast.error(`File count exceeds the limit of '${maxFiles}'. Please remove some files.`); - if (currentFilesCount >= maxFiles) { - return [false, null]; - } - if (totalFilesCount > maxFiles) { - inputFiles = inputFiles.slice(0, maxFiles - currentFilesCount); - } - } - return [true, inputFiles]; - }; - const inputFilesHandler = async (inputFiles) => { inputFiles.forEach((file) => { if (['image/gif', 'image/webp', 'image/jpeg', 'image/png'].includes(file['type'])) { From 6a21a77ee998981a455ab6725cde4b8e8c8d2358 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Tue, 27 Aug 2024 17:05:24 +0200 Subject: [PATCH 87/91] refac --- backend/apps/rag/main.py | 12 ++- backend/main.py | 4 + src/lib/components/admin/Settings.svelte | 5 +- .../admin/Settings/Documents.svelte | 86 ++++++++++++------- src/lib/components/chat/Chat.svelte | 21 +++++ src/lib/components/chat/MessageInput.svelte | 15 +++- 6 files changed, 107 insertions(+), 36 deletions(-) diff --git a/backend/apps/rag/main.py b/backend/apps/rag/main.py index 3634481bdb..870721d38e 100644 --- a/backend/apps/rag/main.py +++ b/backend/apps/rag/main.py @@ -434,6 +434,11 @@ async def get_rag_config(user=Depends(get_admin_user)): } +class FileConfig(BaseModel): + max_size: Optional[int] = None + max_count: Optional[int] = None + + class ContentExtractionConfig(BaseModel): engine: str = "" tika_server_url: Optional[str] = None @@ -472,6 +477,7 @@ class WebConfig(BaseModel): class ConfigUpdateForm(BaseModel): pdf_extract_images: Optional[bool] = None + file: Optional[FileConfig] = None content_extraction: Optional[ContentExtractionConfig] = None chunk: Optional[ChunkParamUpdateForm] = None youtube: Optional[YoutubeLoaderConfig] = None @@ -486,6 +492,10 @@ async def update_rag_config(form_data: ConfigUpdateForm, user=Depends(get_admin_ else app.state.config.PDF_EXTRACT_IMAGES ) + if form_data.file is not None: + app.state.config.FILE_MAX_SIZE = form_data.file.max_size + app.state.config.FILE_MAX_COUNT = form_data.file.max_count + if form_data.content_extraction is not None: log.info(f"Updating text settings: {form_data.content_extraction}") app.state.config.CONTENT_EXTRACTION_ENGINE = form_data.content_extraction.engine @@ -526,11 +536,11 @@ async def update_rag_config(form_data: ConfigUpdateForm, user=Depends(get_admin_ return { "status": True, + "pdf_extract_images": app.state.config.PDF_EXTRACT_IMAGES, "file": { "max_size": app.state.config.FILE_MAX_SIZE, "max_count": app.state.config.FILE_MAX_COUNT, }, - "pdf_extract_images": app.state.config.PDF_EXTRACT_IMAGES, "content_extraction": { "engine": app.state.config.CONTENT_EXTRACTION_ENGINE, "tika_server_url": app.state.config.TIKA_SERVER_URL, diff --git a/backend/main.py b/backend/main.py index c4a9802a43..4b91cdc84b 100644 --- a/backend/main.py +++ b/backend/main.py @@ -1939,6 +1939,10 @@ async def get_app_config(request: Request): "engine": audio_app.state.config.STT_ENGINE, }, }, + "file": { + "max_size": rag_app.state.config.FILE_MAX_SIZE, + "max_count": rag_app.state.config.FILE_MAX_COUNT, + }, "permissions": {**webui_app.state.config.USER_PERMISSIONS}, } if user is not None diff --git a/src/lib/components/admin/Settings.svelte b/src/lib/components/admin/Settings.svelte index e242ab632a..e02b794197 100644 --- a/src/lib/components/admin/Settings.svelte +++ b/src/lib/components/admin/Settings.svelte @@ -359,8 +359,11 @@ {:else if selectedTab === 'documents'} { + on:save={async () => { toast.success($i18n.t('Settings saved successfully!')); + + await tick(); + await config.set(await getBackendConfig()); }} /> {:else if selectedTab === 'web'} diff --git a/src/lib/components/admin/Settings/Documents.svelte b/src/lib/components/admin/Settings/Documents.svelte index 3d42032fdf..7f935a08a0 100644 --- a/src/lib/components/admin/Settings/Documents.svelte +++ b/src/lib/components/admin/Settings/Documents.svelte @@ -1,4 +1,8 @@ @@ -271,7 +278,6 @@ class="flex flex-col h-full justify-between space-y-3 text-sm" on:submit|preventDefault={() => { submitHandler(); - saveHandler(); }} >
@@ -622,36 +628,50 @@
{$i18n.t('Files')}
-
-
- {$i18n.t('Max Upload Count')} -
-
- -
-
-
{$i18n.t('Max Upload Size')}
- + + + +
+
+ +
+
+ {$i18n.t('Max Upload Count')} +
+
+ + +
diff --git a/src/lib/components/chat/Chat.svelte b/src/lib/components/chat/Chat.svelte index 081415bc8b..1de56c585e 100644 --- a/src/lib/components/chat/Chat.svelte +++ b/src/lib/components/chat/Chat.svelte @@ -542,6 +542,27 @@ `Oops! Hold tight! Your files are still in the processing oven. We're cooking them up to perfection. Please be patient and we'll let you know once they're ready.` ) ); + } else if ( + ($config?.file?.max_count ?? null) !== null && + files.length + chatFiles.length > $config?.file?.max_count + ) { + console.log(chatFiles.length, files.length); + toast.error( + $i18n.t(`You can only chat with a maximum of {{maxCount}} file(s) at a time.`, { + maxCount: $config?.file?.max_count + }) + ); + } else if ( + ($config?.file?.max_size ?? null) !== null && + [...files, ...chatFiles].some( + (file) => file.size > ($config?.file?.max_size ?? 0) * 1024 * 1024 + ) + ) { + toast.error( + $i18n.t(`File size should not exceed {{maxSize}} MB.`, { + maxSize: $config?.file?.max_size + }) + ); } else { // Reset chat input textarea const chatTextAreaElement = document.getElementById('chat-textarea'); diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte index 69c02d793d..76f80f3641 100644 --- a/src/lib/components/chat/MessageInput.svelte +++ b/src/lib/components/chat/MessageInput.svelte @@ -173,6 +173,20 @@ const inputFilesHandler = async (inputFiles) => { inputFiles.forEach((file) => { + console.log(file, file.name.split('.').at(-1)); + + if ( + ($config?.file?.max_size ?? null) !== null && + file.size > ($config?.file?.max_size ?? 0) * 1024 * 1024 + ) { + toast.error( + $i18n.t(`File size should not exceed {{maxSize}} MB.`, { + maxSize: $config?.file?.max_size + }) + ); + return; + } + if (['image/gif', 'image/webp', 'image/jpeg', 'image/png'].includes(file['type'])) { if (visionCapableModels.length === 0) { toast.error($i18n.t('Selected model(s) do not support image inputs')); @@ -222,7 +236,6 @@ if (e.dataTransfer?.files) { const inputFiles = Array.from(e.dataTransfer?.files); - console.log(file, file.name.split('.').at(-1)); if (inputFiles && inputFiles.length > 0) { console.log(inputFiles); inputFilesHandler(inputFiles); From 35fa278b37daa64dc63a55acbeb74d3e053e4668 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Tue, 27 Aug 2024 17:07:47 +0200 Subject: [PATCH 88/91] chore: format --- src/lib/components/chat/Chat.svelte | 11 ----------- src/lib/i18n/locales/ar-BH/translation.json | 13 +++++++------ src/lib/i18n/locales/bg-BG/translation.json | 13 +++++++------ src/lib/i18n/locales/bn-BD/translation.json | 13 +++++++------ src/lib/i18n/locales/ca-ES/translation.json | 13 +++++++------ src/lib/i18n/locales/ceb-PH/translation.json | 13 +++++++------ src/lib/i18n/locales/de-DE/translation.json | 13 +++++++------ src/lib/i18n/locales/dg-DG/translation.json | 13 +++++++------ src/lib/i18n/locales/en-GB/translation.json | 13 +++++++------ src/lib/i18n/locales/en-US/translation.json | 13 +++++++------ src/lib/i18n/locales/es-ES/translation.json | 13 +++++++------ src/lib/i18n/locales/fa-IR/translation.json | 13 +++++++------ src/lib/i18n/locales/fi-FI/translation.json | 13 +++++++------ src/lib/i18n/locales/fr-CA/translation.json | 13 +++++++------ src/lib/i18n/locales/fr-FR/translation.json | 13 +++++++------ src/lib/i18n/locales/he-IL/translation.json | 13 +++++++------ src/lib/i18n/locales/hi-IN/translation.json | 13 +++++++------ src/lib/i18n/locales/hr-HR/translation.json | 13 +++++++------ src/lib/i18n/locales/id-ID/translation.json | 13 +++++++------ src/lib/i18n/locales/it-IT/translation.json | 13 +++++++------ src/lib/i18n/locales/ja-JP/translation.json | 13 +++++++------ src/lib/i18n/locales/ka-GE/translation.json | 13 +++++++------ src/lib/i18n/locales/ko-KR/translation.json | 13 +++++++------ src/lib/i18n/locales/lt-LT/translation.json | 13 +++++++------ src/lib/i18n/locales/ms-MY/translation.json | 13 +++++++------ src/lib/i18n/locales/nb-NO/translation.json | 13 +++++++------ src/lib/i18n/locales/nl-NL/translation.json | 13 +++++++------ src/lib/i18n/locales/pa-IN/translation.json | 13 +++++++------ src/lib/i18n/locales/pl-PL/translation.json | 13 +++++++------ src/lib/i18n/locales/pt-BR/translation.json | 13 +++++++------ src/lib/i18n/locales/pt-PT/translation.json | 13 +++++++------ src/lib/i18n/locales/ro-RO/translation.json | 13 +++++++------ src/lib/i18n/locales/ru-RU/translation.json | 13 +++++++------ src/lib/i18n/locales/sr-RS/translation.json | 13 +++++++------ src/lib/i18n/locales/sv-SE/translation.json | 13 +++++++------ src/lib/i18n/locales/th-TH/translation.json | 13 +++++++------ src/lib/i18n/locales/tk-TW/translation.json | 13 +++++++------ src/lib/i18n/locales/tr-TR/translation.json | 13 +++++++------ src/lib/i18n/locales/uk-UA/translation.json | 13 +++++++------ src/lib/i18n/locales/vi-VN/translation.json | 13 +++++++------ src/lib/i18n/locales/zh-CN/translation.json | 13 +++++++------ src/lib/i18n/locales/zh-TW/translation.json | 13 +++++++------ 42 files changed, 287 insertions(+), 257 deletions(-) diff --git a/src/lib/components/chat/Chat.svelte b/src/lib/components/chat/Chat.svelte index 1de56c585e..a647d8b578 100644 --- a/src/lib/components/chat/Chat.svelte +++ b/src/lib/components/chat/Chat.svelte @@ -552,17 +552,6 @@ maxCount: $config?.file?.max_count }) ); - } else if ( - ($config?.file?.max_size ?? null) !== null && - [...files, ...chatFiles].some( - (file) => file.size > ($config?.file?.max_size ?? 0) * 1024 * 1024 - ) - ) { - toast.error( - $i18n.t(`File size should not exceed {{maxSize}} MB.`, { - maxSize: $config?.file?.max_size - }) - ); } else { // Reset chat input textarea const chatTextAreaElement = document.getElementById('chat-textarea'); diff --git a/src/lib/i18n/locales/ar-BH/translation.json b/src/lib/i18n/locales/ar-BH/translation.json index 19d99efb61..bf2030a308 100644 --- a/src/lib/i18n/locales/ar-BH/translation.json +++ b/src/lib/i18n/locales/ar-BH/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "الأحرف الأبجدية الرقمية والواصلات", "Already have an account?": "هل تملك حساب ؟", "an assistant": "مساعد", - "An error occurred while processing files.": "", "and": "و", "and create a new shared link.": "و أنشئ رابط مشترك جديد.", "API Base URL": "API الرابط الرئيسي", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "أدخل معرف محرك PSE من Google", "Enter Image Size (e.g. 512x512)": "(e.g. 512x512) أدخل حجم الصورة ", "Enter language codes": "أدخل كود اللغة", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "(e.g. {{modelTag}}) أدخل الموديل تاق", "Enter Number of Steps (e.g. 50)": "(e.g. 50) أدخل عدد الخطوات", @@ -288,7 +285,7 @@ "File": "", "File Mode": "وضع الملف", "File not found.": "لم يتم العثور على الملف.", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "", "Filter is now globally disabled": "", "Filter is now globally enabled": "", @@ -365,6 +362,7 @@ "large language models, locally.": "", "Last Active": "آخر نشاط", "Last Modified": "", + "Leave empty for unlimited": "", "Light": "فاتح", "Listening...": "", "LLMs can make mistakes. Verify important information.": "يمكن أن تصدر بعض الأخطاء. لذلك يجب التحقق من المعلومات المهمة", @@ -378,9 +376,9 @@ "Manage Ollama Models": "Ollama إدارة موديلات ", "Manage Pipelines": "إدارة خطوط الأنابيب", "March": "مارس", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "ماكس توكنز (num_predict)", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "يمكن تنزيل 3 نماذج كحد أقصى في وقت واحد. الرجاء معاودة المحاولة في وقت لاحق.", "May": "مايو", "Memories accessible by LLMs will be shown here.": "سيتم عرض الذكريات التي يمكن الوصول إليها بواسطة LLMs هنا.", @@ -623,6 +621,8 @@ "Tfs Z": "Tfs Z", "Thanks for your feedback!": "شكرا لملاحظاتك!", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "يجب أن تكون النتيجة قيمة تتراوح بين 0.0 (0%) و1.0 (100%).", "Theme": "الثيم", "Thinking...": "", @@ -722,6 +722,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "اكتب ملخصًا في 50 كلمة يلخص [الموضوع أو الكلمة الرئيسية]", "Yesterday": "أمس", "You": "انت", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "", "You cannot clone a base model": "لا يمكنك استنساخ نموذج أساسي", "You have no archived conversations.": "لا تملك محادثات محفوظه", diff --git a/src/lib/i18n/locales/bg-BG/translation.json b/src/lib/i18n/locales/bg-BG/translation.json index cf90cbb3ee..fcb2d531a7 100644 --- a/src/lib/i18n/locales/bg-BG/translation.json +++ b/src/lib/i18n/locales/bg-BG/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "алфанумерични знаци и тире", "Already have an account?": "Вече имате акаунт? ", "an assistant": "асистент", - "An error occurred while processing files.": "", "and": "и", "and create a new shared link.": "и създай нов общ линк.", "API Base URL": "API Базов URL", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "Въведете идентификатор на двигателя на Google PSE", "Enter Image Size (e.g. 512x512)": "Въведете размер на изображението (напр. 512x512)", "Enter language codes": "Въведете кодове на езика", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "Въведете таг на модел (напр. {{modelTag}})", "Enter Number of Steps (e.g. 50)": "Въведете брой стъпки (напр. 50)", @@ -288,7 +285,7 @@ "File": "", "File Mode": "Файл Мод", "File not found.": "Файл не е намерен.", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "", "Filter is now globally disabled": "", "Filter is now globally enabled": "", @@ -365,6 +362,7 @@ "large language models, locally.": "", "Last Active": "Последни активни", "Last Modified": "", + "Leave empty for unlimited": "", "Light": "Светъл", "Listening...": "", "LLMs can make mistakes. Verify important information.": "LLMs могат да правят грешки. Проверете важните данни.", @@ -378,9 +376,9 @@ "Manage Ollama Models": "Управление на Ollama Моделите", "Manage Pipelines": "Управление на тръбопроводи", "March": "Март", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "Макс токени (num_predict)", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Максимум 3 модели могат да бъдат сваляни едновременно. Моля, опитайте отново по-късно.", "May": "Май", "Memories accessible by LLMs will be shown here.": "Мемории достъпни от LLMs ще бъдат показани тук.", @@ -619,6 +617,8 @@ "Tfs Z": "Tfs Z", "Thanks for your feedback!": "Благодарим ви за вашия отзив!", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "The score should be a value between 0.0 (0%) and 1.0 (100%).", "Theme": "Тема", "Thinking...": "", @@ -718,6 +718,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Напиши описание в 50 знака, което описва [тема или ключова дума].", "Yesterday": "вчера", "You": "вие", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "", "You cannot clone a base model": "Не можете да клонирате базов модел", "You have no archived conversations.": "Нямате архивирани разговори.", diff --git a/src/lib/i18n/locales/bn-BD/translation.json b/src/lib/i18n/locales/bn-BD/translation.json index 4f35e471df..1eace0e2bc 100644 --- a/src/lib/i18n/locales/bn-BD/translation.json +++ b/src/lib/i18n/locales/bn-BD/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "ইংরেজি অক্ষর, সংখ্যা এবং হাইফেন", "Already have an account?": "আগে থেকেই একাউন্ট আছে?", "an assistant": "একটা এসিস্ট্যান্ট", - "An error occurred while processing files.": "", "and": "এবং", "and create a new shared link.": "এবং একটি নতুন শেয়ারে লিংক তৈরি করুন.", "API Base URL": "এপিআই বেজ ইউআরএল", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "গুগল পিএসই ইঞ্জিন আইডি লিখুন", "Enter Image Size (e.g. 512x512)": "ছবির মাপ লিখুন (যেমন 512x512)", "Enter language codes": "ল্যাঙ্গুয়েজ কোড লিখুন", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "মডেল ট্যাগ লিখুন (e.g. {{modelTag}})", "Enter Number of Steps (e.g. 50)": "ধাপের সংখ্যা দিন (যেমন: 50)", @@ -288,7 +285,7 @@ "File": "", "File Mode": "ফাইল মোড", "File not found.": "ফাইল পাওয়া যায়নি", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "", "Filter is now globally disabled": "", "Filter is now globally enabled": "", @@ -365,6 +362,7 @@ "large language models, locally.": "", "Last Active": "সর্বশেষ সক্রিয়", "Last Modified": "", + "Leave empty for unlimited": "", "Light": "লাইট", "Listening...": "", "LLMs can make mistakes. Verify important information.": "LLM ভুল করতে পারে। গুরুত্বপূর্ণ তথ্য যাচাই করে নিন।", @@ -378,9 +376,9 @@ "Manage Ollama Models": "Ollama মডেলসূহ ব্যবস্থাপনা করুন", "Manage Pipelines": "পাইপলাইন পরিচালনা করুন", "March": "মার্চ", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "সর্বোচ্চ টোকেন (num_predict)", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "একসঙ্গে সর্বোচ্চ তিনটি মডেল ডাউনলোড করা যায়। দয়া করে পরে আবার চেষ্টা করুন।", "May": "মে", "Memories accessible by LLMs will be shown here.": "LLMs দ্বারা অ্যাক্সেসযোগ্য মেমোরিগুলি এখানে দেখানো হবে।", @@ -619,6 +617,8 @@ "Tfs Z": "Tfs Z", "Thanks for your feedback!": "আপনার মতামত ধন্যবাদ!", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "স্কোর একটি 0.0 (0%) এবং 1.0 (100%) এর মধ্যে একটি মান হওয়া উচিত।", "Theme": "থিম", "Thinking...": "", @@ -718,6 +718,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "৫০ শব্দের মধ্যে [topic or keyword] এর একটি সারসংক্ষেপ লিখুন।", "Yesterday": "আগামী", "You": "আপনি", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "", "You cannot clone a base model": "আপনি একটি বেস মডেল ক্লোন করতে পারবেন না", "You have no archived conversations.": "আপনার কোনও আর্কাইভ করা কথোপকথন নেই।", diff --git a/src/lib/i18n/locales/ca-ES/translation.json b/src/lib/i18n/locales/ca-ES/translation.json index 749fbe6261..79f8e6987d 100644 --- a/src/lib/i18n/locales/ca-ES/translation.json +++ b/src/lib/i18n/locales/ca-ES/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "caràcters alfanumèrics i guions", "Already have an account?": "Ja tens un compte?", "an assistant": "un assistent", - "An error occurred while processing files.": "", "and": "i", "and create a new shared link.": "i crear un nou enllaç compartit.", "API Base URL": "URL Base de l'API", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "Introdueix l'identificador del motor PSE de Google", "Enter Image Size (e.g. 512x512)": "Introdueix la mida de la imatge (p. ex. 512x512)", "Enter language codes": "Introdueix els codis de llenguatge", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "Introdueix l'identificador del model", "Enter model tag (e.g. {{modelTag}})": "Introdueix l'etiqueta del model (p. ex. {{modelTag}})", "Enter Number of Steps (e.g. 50)": "Introdueix el nombre de passos (p. ex. 50)", @@ -288,7 +285,7 @@ "File": "Arxiu", "File Mode": "Mode d'arxiu", "File not found.": "No s'ha trobat l'arxiu.", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "Arxius", "Filter is now globally disabled": "El filtre ha estat desactivat globalment", "Filter is now globally enabled": "El filtre ha estat activat globalment", @@ -365,6 +362,7 @@ "large language models, locally.": "models de llenguatge extensos, localment", "Last Active": "Activitat recent", "Last Modified": "Modificació", + "Leave empty for unlimited": "", "Light": "Clar", "Listening...": "Escoltant...", "LLMs can make mistakes. Verify important information.": "Els models de llenguatge poden cometre errors. Verifica la informació important.", @@ -378,9 +376,9 @@ "Manage Ollama Models": "Gestionar els models Ollama", "Manage Pipelines": "Gestionar les Pipelines", "March": "Març", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "Nombre màxim de Tokens (num_predict)", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Es poden descarregar un màxim de 3 models simultàniament. Si us plau, prova-ho més tard.", "May": "Maig", "Memories accessible by LLMs will be shown here.": "Les memòries accessibles pels models de llenguatge es mostraran aquí.", @@ -620,6 +618,8 @@ "Tfs Z": "Tfs Z", "Thanks for your feedback!": "Gràcies pel teu comentari!", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "Els desenvolupadors d'aquest complement són voluntaris apassionats de la comunitat. Si trobeu útil aquest complement, considereu contribuir al seu desenvolupament.", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "El valor de puntuació hauria de ser entre 0.0 (0%) i 1.0 (100%).", "Theme": "Tema", "Thinking...": "Pensant...", @@ -719,6 +719,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Escriu un resum en 50 paraules que resumeixi [tema o paraula clau].", "Yesterday": "Ahir", "You": "Tu", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Pots personalitzar les teves interaccions amb els models de llenguatge afegint memòries mitjançant el botó 'Gestiona' que hi ha a continuació, fent-les més útils i adaptades a tu.", "You cannot clone a base model": "No es pot clonar un model base", "You have no archived conversations.": "No tens converses arxivades.", diff --git a/src/lib/i18n/locales/ceb-PH/translation.json b/src/lib/i18n/locales/ceb-PH/translation.json index 5dcbb59912..e810abba97 100644 --- a/src/lib/i18n/locales/ceb-PH/translation.json +++ b/src/lib/i18n/locales/ceb-PH/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "alphanumeric nga mga karakter ug hyphen", "Already have an account?": "Naa na kay account ?", "an assistant": "usa ka katabang", - "An error occurred while processing files.": "", "and": "Ug", "and create a new shared link.": "", "API Base URL": "API Base URL", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "", "Enter Image Size (e.g. 512x512)": "Pagsulod sa gidak-on sa hulagway (pananglitan 512x512)", "Enter language codes": "", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "Pagsulod sa template tag (e.g. {{modelTag}})", "Enter Number of Steps (e.g. 50)": "Pagsulod sa gidaghanon sa mga lakang (e.g. 50)", @@ -288,7 +285,7 @@ "File": "", "File Mode": "File mode", "File not found.": "Wala makit-an ang file.", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "", "Filter is now globally disabled": "", "Filter is now globally enabled": "", @@ -365,6 +362,7 @@ "large language models, locally.": "", "Last Active": "", "Last Modified": "", + "Leave empty for unlimited": "", "Light": "Kahayag", "Listening...": "", "LLMs can make mistakes. Verify important information.": "Ang mga LLM mahimong masayop. ", @@ -378,9 +376,9 @@ "Manage Ollama Models": "Pagdumala sa mga modelo sa Ollama", "Manage Pipelines": "", "March": "", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Ang labing taas nga 3 nga mga disenyo mahimong ma-download nga dungan. ", "May": "", "Memories accessible by LLMs will be shown here.": "", @@ -619,6 +617,8 @@ "Tfs Z": "Tfs Z", "Thanks for your feedback!": "", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "", "Theme": "Tema", "Thinking...": "", @@ -718,6 +718,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Pagsulat og 50 ka pulong nga summary nga nagsumaryo [topic o keyword].", "Yesterday": "", "You": "", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "", "You cannot clone a base model": "", "You have no archived conversations.": "", diff --git a/src/lib/i18n/locales/de-DE/translation.json b/src/lib/i18n/locales/de-DE/translation.json index dd1f096aad..0bc5def814 100644 --- a/src/lib/i18n/locales/de-DE/translation.json +++ b/src/lib/i18n/locales/de-DE/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "alphanumerische Zeichen und Bindestriche", "Already have an account?": "Haben Sie bereits einen Account?", "an assistant": "ein Assistent", - "An error occurred while processing files.": "", "and": "und", "and create a new shared link.": "und erstellen Sie einen neuen freigegebenen Link.", "API Base URL": "API-Basis-URL", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "Geben Sie die Google PSE-Engine-ID ein", "Enter Image Size (e.g. 512x512)": "Geben Sie die Bildgröße ein (z. B. 512x512)", "Enter language codes": "Geben Sie die Sprachcodes ein", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "Gebn Sie den Model-Tag ein", "Enter Number of Steps (e.g. 50)": "Geben Sie die Anzahl an Schritten ein (z. B. 50)", @@ -288,7 +285,7 @@ "File": "Datei", "File Mode": "Datei-Modus", "File not found.": "Datei nicht gefunden.", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "", "Filter is now globally disabled": "Filter ist jetzt global deaktiviert", "Filter is now globally enabled": "Filter ist jetzt global aktiviert", @@ -365,6 +362,7 @@ "large language models, locally.": "", "Last Active": "Zuletzt aktiv", "Last Modified": "Zuletzt bearbeitet", + "Leave empty for unlimited": "", "Light": "Hell", "Listening...": "Höre zu...", "LLMs can make mistakes. Verify important information.": "LLMs können Fehler machen. Überprüfe wichtige Informationen.", @@ -378,9 +376,9 @@ "Manage Ollama Models": "Ollama-Modelle verwalten", "Manage Pipelines": "Pipelines verwalten", "March": "März", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "Maximale Tokenanzahl (num_predict)", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Es können maximal 3 Modelle gleichzeitig heruntergeladen werden. Bitte versuchen Sie es später erneut.", "May": "Mai", "Memories accessible by LLMs will be shown here.": "Erinnerungen, die für Modelle zugänglich sind, werden hier angezeigt.", @@ -619,6 +617,8 @@ "Tfs Z": "Tfs Z", "Thanks for your feedback!": "Danke für Ihr Feedback!", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "Die Punktzahl sollte ein Wert zwischen 0,0 (0 %) und 1,0 (100 %) sein.", "Theme": "Design", "Thinking...": "Denke nach...", @@ -718,6 +718,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Schreibe eine kurze Zusammenfassung in 50 Wörtern, die [Thema oder Schlüsselwort] zusammenfasst.", "Yesterday": "Gestern", "You": "Sie", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Personalisieren Sie Interaktionen mit LLMs, indem Sie über die Schaltfläche \"Verwalten\" Erinnerungen hinzufügen.", "You cannot clone a base model": "Sie können Basismodelle nicht klonen", "You have no archived conversations.": "Du hast keine archivierten Unterhaltungen.", diff --git a/src/lib/i18n/locales/dg-DG/translation.json b/src/lib/i18n/locales/dg-DG/translation.json index 71c7b1e375..5d8ad935ad 100644 --- a/src/lib/i18n/locales/dg-DG/translation.json +++ b/src/lib/i18n/locales/dg-DG/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "so alpha, many hyphen", "Already have an account?": "Such account exists?", "an assistant": "such assistant", - "An error occurred while processing files.": "", "and": "and", "and create a new shared link.": "", "API Base URL": "API Base URL", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "", "Enter Image Size (e.g. 512x512)": "Enter Size of Wow (e.g. 512x512)", "Enter language codes": "", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "Enter model doge tag (e.g. {{modelTag}})", "Enter Number of Steps (e.g. 50)": "Enter Number of Steps (e.g. 50)", @@ -288,7 +285,7 @@ "File": "", "File Mode": "Bark Mode", "File not found.": "Bark not found.", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "", "Filter is now globally disabled": "", "Filter is now globally enabled": "", @@ -365,6 +362,7 @@ "large language models, locally.": "", "Last Active": "", "Last Modified": "", + "Leave empty for unlimited": "", "Light": "Light", "Listening...": "", "LLMs can make mistakes. Verify important information.": "LLMs can make borks. Verify important info.", @@ -378,9 +376,9 @@ "Manage Ollama Models": "Manage Ollama Wowdels", "Manage Pipelines": "", "March": "", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Maximum of 3 models can be downloaded simultaneously. Please try again later.", "May": "", "Memories accessible by LLMs will be shown here.": "", @@ -621,6 +619,8 @@ "Tfs Z": "Tfs Z much Z", "Thanks for your feedback!": "", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "", "Theme": "Theme much theme", "Thinking...": "", @@ -720,6 +720,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Write a summary in 50 words that summarizes [topic or keyword]. Much summarize.", "Yesterday": "", "You": "", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "", "You cannot clone a base model": "", "You have no archived conversations.": "", diff --git a/src/lib/i18n/locales/en-GB/translation.json b/src/lib/i18n/locales/en-GB/translation.json index 50803353f3..1102b92aac 100644 --- a/src/lib/i18n/locales/en-GB/translation.json +++ b/src/lib/i18n/locales/en-GB/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "", "Already have an account?": "", "an assistant": "", - "An error occurred while processing files.": "", "and": "", "and create a new shared link.": "", "API Base URL": "", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "", "Enter Image Size (e.g. 512x512)": "", "Enter language codes": "", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "", "Enter Number of Steps (e.g. 50)": "", @@ -288,7 +285,7 @@ "File": "", "File Mode": "", "File not found.": "", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "", "Filter is now globally disabled": "", "Filter is now globally enabled": "", @@ -365,6 +362,7 @@ "large language models, locally.": "", "Last Active": "", "Last Modified": "", + "Leave empty for unlimited": "", "Light": "", "Listening...": "", "LLMs can make mistakes. Verify important information.": "", @@ -378,9 +376,9 @@ "Manage Ollama Models": "", "Manage Pipelines": "", "March": "", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "", "May": "", "Memories accessible by LLMs will be shown here.": "", @@ -619,6 +617,8 @@ "Tfs Z": "", "Thanks for your feedback!": "", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "", "Theme": "", "Thinking...": "", @@ -718,6 +718,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "", "Yesterday": "", "You": "", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "", "You cannot clone a base model": "", "You have no archived conversations.": "", diff --git a/src/lib/i18n/locales/en-US/translation.json b/src/lib/i18n/locales/en-US/translation.json index 50803353f3..1102b92aac 100644 --- a/src/lib/i18n/locales/en-US/translation.json +++ b/src/lib/i18n/locales/en-US/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "", "Already have an account?": "", "an assistant": "", - "An error occurred while processing files.": "", "and": "", "and create a new shared link.": "", "API Base URL": "", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "", "Enter Image Size (e.g. 512x512)": "", "Enter language codes": "", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "", "Enter Number of Steps (e.g. 50)": "", @@ -288,7 +285,7 @@ "File": "", "File Mode": "", "File not found.": "", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "", "Filter is now globally disabled": "", "Filter is now globally enabled": "", @@ -365,6 +362,7 @@ "large language models, locally.": "", "Last Active": "", "Last Modified": "", + "Leave empty for unlimited": "", "Light": "", "Listening...": "", "LLMs can make mistakes. Verify important information.": "", @@ -378,9 +376,9 @@ "Manage Ollama Models": "", "Manage Pipelines": "", "March": "", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "", "May": "", "Memories accessible by LLMs will be shown here.": "", @@ -619,6 +617,8 @@ "Tfs Z": "", "Thanks for your feedback!": "", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "", "Theme": "", "Thinking...": "", @@ -718,6 +718,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "", "Yesterday": "", "You": "", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "", "You cannot clone a base model": "", "You have no archived conversations.": "", diff --git a/src/lib/i18n/locales/es-ES/translation.json b/src/lib/i18n/locales/es-ES/translation.json index e2ba3a2353..46ce6fd53d 100644 --- a/src/lib/i18n/locales/es-ES/translation.json +++ b/src/lib/i18n/locales/es-ES/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "caracteres alfanuméricos y guiones", "Already have an account?": "¿Ya tienes una cuenta?", "an assistant": "un asistente", - "An error occurred while processing files.": "", "and": "y", "and create a new shared link.": "y crear un nuevo enlace compartido.", "API Base URL": "Dirección URL de la API", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "Introduzca el ID del motor PSE de Google", "Enter Image Size (e.g. 512x512)": "Ingrese el tamaño de la imagen (p.ej. 512x512)", "Enter language codes": "Ingrese códigos de idioma", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "Ingrese la etiqueta del modelo (p.ej. {{modelTag}})", "Enter Number of Steps (e.g. 50)": "Ingrese el número de pasos (p.ej., 50)", @@ -288,7 +285,7 @@ "File": "Archivo", "File Mode": "Modo de archivo", "File not found.": "Archivo no encontrado.", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "", "Filter is now globally disabled": "", "Filter is now globally enabled": "", @@ -365,6 +362,7 @@ "large language models, locally.": "", "Last Active": "Última Actividad", "Last Modified": "Modificado por última vez", + "Leave empty for unlimited": "", "Light": "Claro", "Listening...": "Escuchando...", "LLMs can make mistakes. Verify important information.": "Los LLM pueden cometer errores. Verifica la información importante.", @@ -378,9 +376,9 @@ "Manage Ollama Models": "Administrar Modelos Ollama", "Manage Pipelines": "Administrar Pipelines", "March": "Marzo", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "Máximo de fichas (num_predict)", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Se pueden descargar un máximo de 3 modelos simultáneamente. Por favor, inténtelo de nuevo más tarde.", "May": "Mayo", "Memories accessible by LLMs will be shown here.": "Las memorias accesibles por los LLMs se mostrarán aquí.", @@ -620,6 +618,8 @@ "Tfs Z": "Tfs Z", "Thanks for your feedback!": "¡Gracias por tu retroalimentación!", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "El puntaje debe ser un valor entre 0.0 (0%) y 1.0 (100%).", "Theme": "Tema", "Thinking...": "Pensando...", @@ -719,6 +719,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Escribe un resumen en 50 palabras que resuma [tema o palabra clave].", "Yesterday": "Ayer", "You": "Usted", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Puede personalizar sus interacciones con LLMs añadiendo memorias a través del botón 'Gestionar' debajo, haciendo que sean más útiles y personalizados para usted.", "You cannot clone a base model": "No se puede clonar un modelo base", "You have no archived conversations.": "No tiene conversaciones archivadas.", diff --git a/src/lib/i18n/locales/fa-IR/translation.json b/src/lib/i18n/locales/fa-IR/translation.json index 7eaf65e7be..0abf4af940 100644 --- a/src/lib/i18n/locales/fa-IR/translation.json +++ b/src/lib/i18n/locales/fa-IR/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "حروف الفبایی و خط فاصله", "Already have an account?": "از قبل حساب کاربری دارید؟", "an assistant": "یک دستیار", - "An error occurred while processing files.": "", "and": "و", "and create a new shared link.": "و یک لینک به اشتراک گذاری جدید ایجاد کنید.", "API Base URL": "API Base URL", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "شناسه موتور PSE گوگل را وارد کنید", "Enter Image Size (e.g. 512x512)": "اندازه تصویر را وارد کنید (مثال: 512x512)", "Enter language codes": "کد زبان را وارد کنید", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "تگ مدل را وارد کنید (مثلا {{modelTag}})", "Enter Number of Steps (e.g. 50)": "تعداد گام ها را وارد کنید (مثال: 50)", @@ -288,7 +285,7 @@ "File": "", "File Mode": "حالت فایل", "File not found.": "فایل یافت نشد.", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "", "Filter is now globally disabled": "", "Filter is now globally enabled": "", @@ -365,6 +362,7 @@ "large language models, locally.": "", "Last Active": "آخرین فعال", "Last Modified": "", + "Leave empty for unlimited": "", "Light": "روشن", "Listening...": "", "LLMs can make mistakes. Verify important information.": "مدل\u200cهای زبانی بزرگ می\u200cتوانند اشتباه کنند. اطلاعات مهم را راستی\u200cآزمایی کنید.", @@ -378,9 +376,9 @@ "Manage Ollama Models": "مدیریت مدل\u200cهای اولاما", "Manage Pipelines": "مدیریت خطوط لوله", "March": "مارچ", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "توکنهای بیشینه (num_predict)", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "حداکثر 3 مدل را می توان به طور همزمان دانلود کرد. لطفاً بعداً دوباره امتحان کنید.", "May": "ماهی", "Memories accessible by LLMs will be shown here.": "حافظه های دسترسی به LLMs در اینجا نمایش داده می شوند.", @@ -619,6 +617,8 @@ "Tfs Z": "Tfs Z", "Thanks for your feedback!": "با تشکر از بازخورد شما!", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "امتیاز باید یک مقدار بین 0.0 (0%) و 1.0 (100%) باشد.", "Theme": "قالب", "Thinking...": "", @@ -718,6 +718,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "خلاصه ای در 50 کلمه بنویسید که [موضوع یا کلمه کلیدی] را خلاصه کند.", "Yesterday": "دیروز", "You": "شما", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "", "You cannot clone a base model": "شما نمیتوانید یک مدل پایه را کلون کنید", "You have no archived conversations.": "شما هیچ گفتگوی ذخیره شده ندارید.", diff --git a/src/lib/i18n/locales/fi-FI/translation.json b/src/lib/i18n/locales/fi-FI/translation.json index 021ba3e8ec..33579b911a 100644 --- a/src/lib/i18n/locales/fi-FI/translation.json +++ b/src/lib/i18n/locales/fi-FI/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "kirjaimia, numeroita ja väliviivoja", "Already have an account?": "Onko sinulla jo tili?", "an assistant": "avustaja", - "An error occurred while processing files.": "", "and": "ja", "and create a new shared link.": "ja luo uusi jaettu linkki.", "API Base URL": "APIn perus-URL", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "Anna Google PSE -moottorin tunnus", "Enter Image Size (e.g. 512x512)": "Syötä kuvan koko (esim. 512x512)", "Enter language codes": "Syötä kielikoodit", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "Syötä mallitagi (esim. {{modelTag}})", "Enter Number of Steps (e.g. 50)": "Syötä askelien määrä (esim. 50)", @@ -288,7 +285,7 @@ "File": "", "File Mode": "Tiedostotila", "File not found.": "Tiedostoa ei löytynyt.", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "", "Filter is now globally disabled": "", "Filter is now globally enabled": "", @@ -365,6 +362,7 @@ "large language models, locally.": "", "Last Active": "Viimeksi aktiivinen", "Last Modified": "", + "Leave empty for unlimited": "", "Light": "Vaalea", "Listening...": "", "LLMs can make mistakes. Verify important information.": "Kielimallit voivat tehdä virheitä. Varmista tärkeät tiedot.", @@ -378,9 +376,9 @@ "Manage Ollama Models": "Hallitse Ollama-malleja", "Manage Pipelines": "Hallitse putkia", "March": "maaliskuu", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "Tokenien enimmäismäärä (num_predict)", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Enintään 3 mallia voidaan ladata samanaikaisesti. Yritä myöhemmin uudelleen.", "May": "toukokuu", "Memories accessible by LLMs will be shown here.": "Muistitiedostot, joita LLM-ohjelmat käyttävät, näkyvät tässä.", @@ -619,6 +617,8 @@ "Tfs Z": "TFS Z", "Thanks for your feedback!": "Kiitos palautteestasi!", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "Pisteytyksen tulee olla arvo välillä 0.0 (0%) ja 1.0 (100%).", "Theme": "Teema", "Thinking...": "", @@ -718,6 +718,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Kirjoita 50 sanan yhteenveto, joka tiivistää [aihe tai avainsana].", "Yesterday": "Eilen", "You": "Sinä", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "", "You cannot clone a base model": "Perusmallia ei voi kloonata", "You have no archived conversations.": "Sinulla ei ole arkistoituja keskusteluja.", diff --git a/src/lib/i18n/locales/fr-CA/translation.json b/src/lib/i18n/locales/fr-CA/translation.json index a8d9bd79d9..5e456049c2 100644 --- a/src/lib/i18n/locales/fr-CA/translation.json +++ b/src/lib/i18n/locales/fr-CA/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "caractères alphanumériques et tirets", "Already have an account?": "Avez-vous déjà un compte ?", "an assistant": "un assistant", - "An error occurred while processing files.": "", "and": "et", "and create a new shared link.": "et créer un nouveau lien partagé.", "API Base URL": "URL de base de l'API", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "Entrez l'identifiant du moteur Google PSE", "Enter Image Size (e.g. 512x512)": "Entrez la taille de l'image (par ex. 512x512)", "Enter language codes": "Entrez les codes de langue", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "Entrez l'étiquette du modèle (par ex. {{modelTag}})", "Enter Number of Steps (e.g. 50)": "Entrez le nombre de pas (par ex. 50)", @@ -288,7 +285,7 @@ "File": "Fichier", "File Mode": "Mode fichier", "File not found.": "Fichier introuvable.", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "", "Filter is now globally disabled": "Le filtre est maintenant désactivé globalement", "Filter is now globally enabled": "Le filtre est désormais activé globalement", @@ -365,6 +362,7 @@ "large language models, locally.": "", "Last Active": "Dernière activité", "Last Modified": "Dernière modification", + "Leave empty for unlimited": "", "Light": "Lumineux", "Listening...": "En train d'écouter...", "LLMs can make mistakes. Verify important information.": "Les LLM peuvent faire des erreurs. Vérifiez les informations importantes.", @@ -378,9 +376,9 @@ "Manage Ollama Models": "Gérer les modèles Ollama", "Manage Pipelines": "Gérer les pipelines", "March": "Mars", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "Tokens maximaux (num_predict)", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Un maximum de 3 modèles peut être téléchargé en même temps. Veuillez réessayer ultérieurement.", "May": "Mai", "Memories accessible by LLMs will be shown here.": "Les mémoires accessibles par les LLMs seront affichées ici.", @@ -620,6 +618,8 @@ "Tfs Z": "Tfs Z", "Thanks for your feedback!": "Merci pour vos commentaires !", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "Le score doit être une valeur comprise entre 0,0 (0\u00a0%) et 1,0 (100\u00a0%).", "Theme": "Thème", "Thinking...": "En train de réfléchir...", @@ -719,6 +719,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Rédigez un résumé de 50 mots qui résume [sujet ou mot-clé].", "Yesterday": "Hier", "You": "Vous", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Vous pouvez personnaliser vos interactions avec les LLM en ajoutant des souvenirs via le bouton 'Gérer' ci-dessous, ce qui les rendra plus utiles et adaptés à vos besoins.", "You cannot clone a base model": "Vous ne pouvez pas cloner un modèle de base", "You have no archived conversations.": "Vous n'avez aucune conversation archivée", diff --git a/src/lib/i18n/locales/fr-FR/translation.json b/src/lib/i18n/locales/fr-FR/translation.json index 6d09bbb938..bf81250e7a 100644 --- a/src/lib/i18n/locales/fr-FR/translation.json +++ b/src/lib/i18n/locales/fr-FR/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "caractères alphanumériques et tirets", "Already have an account?": "Avez-vous déjà un compte ?", "an assistant": "un assistant", - "An error occurred while processing files.": "", "and": "et", "and create a new shared link.": "et créer un nouveau lien partagé.", "API Base URL": "URL de base de l'API", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "Entrez l'identifiant du moteur Google PSE", "Enter Image Size (e.g. 512x512)": "Entrez la taille de l'image (par ex. 512x512)", "Enter language codes": "Entrez les codes de langue", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "Entrez l'id du model", "Enter model tag (e.g. {{modelTag}})": "Entrez l'étiquette du modèle (par ex. {{modelTag}})", "Enter Number of Steps (e.g. 50)": "Entrez le nombre de pas (par ex. 50)", @@ -288,7 +285,7 @@ "File": "Fichier", "File Mode": "Mode fichier", "File not found.": "Fichier introuvable.", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "Fichiers", "Filter is now globally disabled": "Le filtre est maintenant désactivé globalement", "Filter is now globally enabled": "Le filtre est désormais activé globalement", @@ -365,6 +362,7 @@ "large language models, locally.": "grand modèle de langage, localement", "Last Active": "Dernière activité", "Last Modified": "Dernière modification", + "Leave empty for unlimited": "", "Light": "Lumineux", "Listening...": "En train d'écouter...", "LLMs can make mistakes. Verify important information.": "Les LLM peuvent faire des erreurs. Vérifiez les informations importantes.", @@ -378,9 +376,9 @@ "Manage Ollama Models": "Gérer les modèles Ollama", "Manage Pipelines": "Gérer les pipelines", "March": "Mars", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "Tokens maximaux (num_predict)", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Un maximum de 3 modèles peut être téléchargé en même temps. Veuillez réessayer ultérieurement.", "May": "Mai", "Memories accessible by LLMs will be shown here.": "Les mémoires accessibles par les LLMs seront affichées ici.", @@ -620,6 +618,8 @@ "Tfs Z": "Tfs Z", "Thanks for your feedback!": "Merci pour vos commentaires !", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "Les développeurs de ce plugin sont des bénévoles passionnés issus de la communauté. Si vous trouvez ce plugin utile, merci de contribuer à son développement.", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "Le score doit être une valeur comprise entre 0,0 (0\u00a0%) et 1,0 (100\u00a0%).", "Theme": "Thème", "Thinking...": "En train de réfléchir...", @@ -719,6 +719,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Rédigez un résumé de 50 mots qui résume [sujet ou mot-clé].", "Yesterday": "Hier", "You": "Vous", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Vous pouvez personnaliser vos interactions avec les LLM en ajoutant des souvenirs via le bouton 'Gérer' ci-dessous, ce qui les rendra plus utiles et adaptés à vos besoins.", "You cannot clone a base model": "Vous ne pouvez pas cloner un modèle de base", "You have no archived conversations.": "Vous n'avez aucune conversation archivée", diff --git a/src/lib/i18n/locales/he-IL/translation.json b/src/lib/i18n/locales/he-IL/translation.json index 1c9e59beff..0117fad9d7 100644 --- a/src/lib/i18n/locales/he-IL/translation.json +++ b/src/lib/i18n/locales/he-IL/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "תווים אלפאנומריים ומקפים", "Already have an account?": "כבר יש לך חשבון?", "an assistant": "עוזר", - "An error occurred while processing files.": "", "and": "וגם", "and create a new shared link.": "וצור קישור משותף חדש.", "API Base URL": "כתובת URL בסיסית ל-API", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "הזן את מזהה מנוע PSE של Google", "Enter Image Size (e.g. 512x512)": "הזן גודל תמונה (למשל 512x512)", "Enter language codes": "הזן קודי שפה", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "הזן תג מודל (למשל {{modelTag}})", "Enter Number of Steps (e.g. 50)": "הזן מספר שלבים (למשל 50)", @@ -288,7 +285,7 @@ "File": "", "File Mode": "מצב קובץ", "File not found.": "הקובץ לא נמצא.", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "", "Filter is now globally disabled": "", "Filter is now globally enabled": "", @@ -365,6 +362,7 @@ "large language models, locally.": "", "Last Active": "פעיל לאחרונה", "Last Modified": "", + "Leave empty for unlimited": "", "Light": "בהיר", "Listening...": "", "LLMs can make mistakes. Verify important information.": "מודלים בשפה טבעית יכולים לטעות. אמת מידע חשוב.", @@ -378,9 +376,9 @@ "Manage Ollama Models": "נהל מודלים של Ollama", "Manage Pipelines": "ניהול צינורות", "March": "מרץ", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "מקסימום אסימונים (num_predict)", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "ניתן להוריד מקסימום 3 מודלים בו זמנית. אנא נסה שוב מאוחר יותר.", "May": "מאי", "Memories accessible by LLMs will be shown here.": "מזכירים נגישים על ידי LLMs יוצגו כאן.", @@ -620,6 +618,8 @@ "Tfs Z": "Tfs Z", "Thanks for your feedback!": "תודה על המשוב שלך!", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "ציון צריך להיות ערך בין 0.0 (0%) ל-1.0 (100%)", "Theme": "נושא", "Thinking...": "", @@ -719,6 +719,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "כתוב סיכום ב-50 מילים שמסכם [נושא או מילת מפתח].", "Yesterday": "אתמול", "You": "אתה", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "", "You cannot clone a base model": "לא ניתן לשכפל מודל בסיס", "You have no archived conversations.": "אין לך שיחות בארכיון.", diff --git a/src/lib/i18n/locales/hi-IN/translation.json b/src/lib/i18n/locales/hi-IN/translation.json index fbe2068612..5360cc8056 100644 --- a/src/lib/i18n/locales/hi-IN/translation.json +++ b/src/lib/i18n/locales/hi-IN/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "अल्फ़ान्यूमेरिक वर्ण और हाइफ़न", "Already have an account?": "क्या आपके पास पहले से एक खाता मौजूद है?", "an assistant": "एक सहायक", - "An error occurred while processing files.": "", "and": "और", "and create a new shared link.": "और एक नई साझा लिंक बनाएं.", "API Base URL": "एपीआई बेस यूआरएल", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "Google PSE इंजन आईडी दर्ज करें", "Enter Image Size (e.g. 512x512)": "छवि का आकार दर्ज करें (उदा. 512x512)", "Enter language codes": "भाषा कोड दर्ज करें", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "Model tag दर्ज करें (उदा. {{modelTag}})", "Enter Number of Steps (e.g. 50)": "चरणों की संख्या दर्ज करें (उदा. 50)", @@ -288,7 +285,7 @@ "File": "", "File Mode": "फ़ाइल मोड", "File not found.": "फ़ाइल प्राप्त नहीं हुई।", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "", "Filter is now globally disabled": "", "Filter is now globally enabled": "", @@ -365,6 +362,7 @@ "large language models, locally.": "", "Last Active": "पिछली बार सक्रिय", "Last Modified": "", + "Leave empty for unlimited": "", "Light": "सुन", "Listening...": "", "LLMs can make mistakes. Verify important information.": "एलएलएम गलतियाँ कर सकते हैं। महत्वपूर्ण जानकारी सत्यापित करें.", @@ -378,9 +376,9 @@ "Manage Ollama Models": "Ollama मॉडल प्रबंधित करें", "Manage Pipelines": "पाइपलाइनों का प्रबंधन करें", "March": "मार्च", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "अधिकतम टोकन (num_predict)", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "अधिकतम 3 मॉडल एक साथ डाउनलोड किये जा सकते हैं। कृपया बाद में पुन: प्रयास करें।", "May": "मेई", "Memories accessible by LLMs will be shown here.": "एलएलएम द्वारा सुलभ यादें यहां दिखाई जाएंगी।", @@ -619,6 +617,8 @@ "Tfs Z": "टफ्स Z", "Thanks for your feedback!": "आपकी प्रतिक्रिया के लिए धन्यवाद!", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "स्कोर का मान 0.0 (0%) और 1.0 (100%) के बीच होना चाहिए।", "Theme": "थीम", "Thinking...": "", @@ -718,6 +718,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "50 शब्दों में एक सारांश लिखें जो [विषय या कीवर्ड] का सारांश प्रस्तुत करता हो।", "Yesterday": "कल", "You": "आप", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "", "You cannot clone a base model": "आप बेस मॉडल का क्लोन नहीं बना सकते", "You have no archived conversations.": "आपको कोई अंकित चैट नहीं है।", diff --git a/src/lib/i18n/locales/hr-HR/translation.json b/src/lib/i18n/locales/hr-HR/translation.json index 3c06517e46..ec4a03daa8 100644 --- a/src/lib/i18n/locales/hr-HR/translation.json +++ b/src/lib/i18n/locales/hr-HR/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "alfanumerički znakovi i crtice", "Already have an account?": "Već imate račun?", "an assistant": "asistent", - "An error occurred while processing files.": "", "and": "i", "and create a new shared link.": "i stvorite novu dijeljenu vezu.", "API Base URL": "Osnovni URL API-ja", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "Unesite ID Google PSE motora", "Enter Image Size (e.g. 512x512)": "Unesite veličinu slike (npr. 512x512)", "Enter language codes": "Unesite kodove jezika", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "Unesite oznaku modela (npr. {{modelTag}})", "Enter Number of Steps (e.g. 50)": "Unesite broj koraka (npr. 50)", @@ -288,7 +285,7 @@ "File": "", "File Mode": "Način datoteke", "File not found.": "Datoteka nije pronađena.", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "", "Filter is now globally disabled": "", "Filter is now globally enabled": "", @@ -365,6 +362,7 @@ "large language models, locally.": "", "Last Active": "Zadnja aktivnost", "Last Modified": "", + "Leave empty for unlimited": "", "Light": "Svijetlo", "Listening...": "Slušam...", "LLMs can make mistakes. Verify important information.": "LLM-ovi mogu pogriješiti. Provjerite važne informacije.", @@ -378,9 +376,9 @@ "Manage Ollama Models": "Upravljanje Ollama modelima", "Manage Pipelines": "Upravljanje cjevovodima", "March": "Ožujak", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "Maksimalan broj tokena (num_predict)", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Maksimalno 3 modela se mogu preuzeti istovremeno. Pokušajte ponovo kasnije.", "May": "Svibanj", "Memories accessible by LLMs will be shown here.": "Ovdje će biti prikazana memorija kojoj mogu pristupiti LLM-ovi.", @@ -620,6 +618,8 @@ "Tfs Z": "Tfs Z", "Thanks for your feedback!": "Hvala na povratnim informacijama!", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "Ocjena treba biti vrijednost između 0,0 (0%) i 1,0 (100%).", "Theme": "Tema", "Thinking...": "Razmišljam", @@ -719,6 +719,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Napišite sažetak u 50 riječi koji sažima [temu ili ključnu riječ].", "Yesterday": "Jučer", "You": "Vi", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Možete personalizirati svoje interakcije s LLM-ima dodavanjem uspomena putem gumba 'Upravljanje' u nastavku, čineći ih korisnijima i prilagođenijima vama.", "You cannot clone a base model": "Ne možete klonirati osnovni model", "You have no archived conversations.": "Nemate arhiviranih razgovora.", diff --git a/src/lib/i18n/locales/id-ID/translation.json b/src/lib/i18n/locales/id-ID/translation.json index fcb1c653cc..a8eaa58c02 100644 --- a/src/lib/i18n/locales/id-ID/translation.json +++ b/src/lib/i18n/locales/id-ID/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "karakter alfanumerik dan tanda hubung", "Already have an account?": "Sudah memiliki akun?", "an assistant": "asisten", - "An error occurred while processing files.": "", "and": "dan", "and create a new shared link.": "dan membuat tautan bersama baru.", "API Base URL": "URL Dasar API", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "Masukkan Id Mesin Google PSE", "Enter Image Size (e.g. 512x512)": "Masukkan Ukuran Gambar (mis. 512x512)", "Enter language codes": "Masukkan kode bahasa", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "Masukkan tag model (misalnya {{modelTag}})", "Enter Number of Steps (e.g. 50)": "Masukkan Jumlah Langkah (mis. 50)", @@ -288,7 +285,7 @@ "File": "Berkas", "File Mode": "Mode File", "File not found.": "File tidak ditemukan.", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "", "Filter is now globally disabled": "Filter sekarang dinonaktifkan secara global", "Filter is now globally enabled": "Filter sekarang diaktifkan secara global", @@ -365,6 +362,7 @@ "large language models, locally.": "", "Last Active": "Terakhir Aktif", "Last Modified": "Terakhir Dimodifikasi", + "Leave empty for unlimited": "", "Light": "Cahaya", "Listening...": "Mendengarkan", "LLMs can make mistakes. Verify important information.": "LLM dapat membuat kesalahan. Verifikasi informasi penting.", @@ -378,9 +376,9 @@ "Manage Ollama Models": "Mengelola Model Ollama", "Manage Pipelines": "Mengelola Saluran Pipa", "March": "Maret", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "Token Maksimal (num_prediksi)", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Maksimal 3 model dapat diunduh secara bersamaan. Silakan coba lagi nanti.", "May": "Mei", "Memories accessible by LLMs will be shown here.": "Memori yang dapat diakses oleh LLM akan ditampilkan di sini.", @@ -619,6 +617,8 @@ "Tfs Z": "Tfs Z", "Thanks for your feedback!": "Terima kasih atas umpan balik Anda!", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "Nilai yang diberikan haruslah nilai antara 0,0 (0%) dan 1,0 (100%).", "Theme": "Tema", "Thinking...": "Berpikir", @@ -718,6 +718,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Tulis ringkasan dalam 50 kata yang merangkum [topik atau kata kunci].", "Yesterday": "Kemarin", "You": "Anda", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Anda dapat mempersonalisasi interaksi Anda dengan LLM dengan menambahkan kenangan melalui tombol 'Kelola' di bawah ini, sehingga lebih bermanfaat dan disesuaikan untuk Anda.", "You cannot clone a base model": "Anda tidak dapat mengkloning model dasar", "You have no archived conversations.": "Anda tidak memiliki percakapan yang diarsipkan.", diff --git a/src/lib/i18n/locales/it-IT/translation.json b/src/lib/i18n/locales/it-IT/translation.json index f834b04d99..f7ec91dfff 100644 --- a/src/lib/i18n/locales/it-IT/translation.json +++ b/src/lib/i18n/locales/it-IT/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "caratteri alfanumerici e trattini", "Already have an account?": "Hai già un account?", "an assistant": "un assistente", - "An error occurred while processing files.": "", "and": "e", "and create a new shared link.": "e crea un nuovo link condiviso.", "API Base URL": "URL base API", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "Inserisci l'ID motore PSE di Google", "Enter Image Size (e.g. 512x512)": "Inserisci la dimensione dell'immagine (ad esempio 512x512)", "Enter language codes": "Inserisci i codici lingua", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "Inserisci il tag del modello (ad esempio {{modelTag}})", "Enter Number of Steps (e.g. 50)": "Inserisci il numero di passaggi (ad esempio 50)", @@ -288,7 +285,7 @@ "File": "", "File Mode": "Modalità file", "File not found.": "File non trovato.", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "", "Filter is now globally disabled": "", "Filter is now globally enabled": "", @@ -365,6 +362,7 @@ "large language models, locally.": "", "Last Active": "Ultima attività", "Last Modified": "", + "Leave empty for unlimited": "", "Light": "Chiaro", "Listening...": "", "LLMs can make mistakes. Verify important information.": "Gli LLM possono commettere errori. Verifica le informazioni importanti.", @@ -378,9 +376,9 @@ "Manage Ollama Models": "Gestisci modelli Ollama", "Manage Pipelines": "Gestire le pipeline", "March": "Marzo", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "Numero massimo di gettoni (num_predict)", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "È possibile scaricare un massimo di 3 modelli contemporaneamente. Riprova più tardi.", "May": "Maggio", "Memories accessible by LLMs will be shown here.": "I memori accessibili ai LLM saranno mostrati qui.", @@ -620,6 +618,8 @@ "Tfs Z": "Tfs Z", "Thanks for your feedback!": "Grazie per il tuo feedback!", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "Il punteggio dovrebbe essere un valore compreso tra 0.0 (0%) e 1.0 (100%).", "Theme": "Tema", "Thinking...": "", @@ -719,6 +719,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Scrivi un riassunto in 50 parole che riassume [argomento o parola chiave].", "Yesterday": "Ieri", "You": "Tu", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "", "You cannot clone a base model": "Non è possibile clonare un modello di base", "You have no archived conversations.": "Non hai conversazioni archiviate.", diff --git a/src/lib/i18n/locales/ja-JP/translation.json b/src/lib/i18n/locales/ja-JP/translation.json index fda1ae934d..efc822bab7 100644 --- a/src/lib/i18n/locales/ja-JP/translation.json +++ b/src/lib/i18n/locales/ja-JP/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "英数字とハイフン", "Already have an account?": "すでにアカウントをお持ちですか?", "an assistant": "アシスタント", - "An error occurred while processing files.": "", "and": "および", "and create a new shared link.": "し、新しい共有リンクを作成します。", "API Base URL": "API ベース URL", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "Google PSE エンジン ID を入力します。", "Enter Image Size (e.g. 512x512)": "画像サイズを入力してください (例: 512x512)", "Enter language codes": "言語コードを入力してください", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "モデルタグを入力してください (例: {{modelTag}})", "Enter Number of Steps (e.g. 50)": "ステップ数を入力してください (例: 50)", @@ -288,7 +285,7 @@ "File": "", "File Mode": "ファイルモード", "File not found.": "ファイルが見つかりません。", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "", "Filter is now globally disabled": "", "Filter is now globally enabled": "", @@ -365,6 +362,7 @@ "large language models, locally.": "", "Last Active": "最終アクティブ", "Last Modified": "", + "Leave empty for unlimited": "", "Light": "ライト", "Listening...": "", "LLMs can make mistakes. Verify important information.": "LLM は間違いを犯す可能性があります。重要な情報を検証してください。", @@ -378,9 +376,9 @@ "Manage Ollama Models": "Ollama モデルを管理", "Manage Pipelines": "パイプラインの管理", "March": "3月", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "最大トークン数 (num_predict)", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "同時にダウンロードできるモデルは最大 3 つです。後でもう一度お試しください。", "May": "5月", "Memories accessible by LLMs will be shown here.": "LLM がアクセスできるメモリはここに表示されます。", @@ -618,6 +616,8 @@ "Tfs Z": "Tfs Z", "Thanks for your feedback!": "ご意見ありがとうございます!", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "スコアは0.0(0%)から1.0(100%)の間の値にしてください。", "Theme": "テーマ", "Thinking...": "", @@ -717,6 +717,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "[トピックまたはキーワード] を要約する 50 語の概要を書いてください。", "Yesterday": "昨日", "You": "あなた", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "", "You cannot clone a base model": "基本モデルのクローンを作成できない", "You have no archived conversations.": "これまでにアーカイブされた会話はありません。", diff --git a/src/lib/i18n/locales/ka-GE/translation.json b/src/lib/i18n/locales/ka-GE/translation.json index 45c432b08d..ed2ccd4b29 100644 --- a/src/lib/i18n/locales/ka-GE/translation.json +++ b/src/lib/i18n/locales/ka-GE/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "ალფანუმერული სიმბოლოები და დეფისები", "Already have an account?": "უკვე გაქვს ანგარიში?", "an assistant": "ასისტენტი", - "An error occurred while processing files.": "", "and": "და", "and create a new shared link.": "და შექმენით ახალი გაზიარებული ბმული.", "API Base URL": "API საბაზისო URL", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "შეიყვანეთ Google PSE ძრავის ID", "Enter Image Size (e.g. 512x512)": "შეიყვანეთ სურათის ზომა (მაგ. 512x512)", "Enter language codes": "შეიყვანეთ ენის კოდი", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "შეიყვანეთ მოდელის ტეგი (მაგ. {{modelTag}})", "Enter Number of Steps (e.g. 50)": "შეიყვანეთ ნაბიჯების რაოდენობა (მაგ. 50)", @@ -288,7 +285,7 @@ "File": "", "File Mode": "ფაილური რეჟიმი", "File not found.": "ფაილი ვერ მოიძებნა", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "", "Filter is now globally disabled": "", "Filter is now globally enabled": "", @@ -365,6 +362,7 @@ "large language models, locally.": "", "Last Active": "ბოლო აქტიური", "Last Modified": "", + "Leave empty for unlimited": "", "Light": "მსუბუქი", "Listening...": "", "LLMs can make mistakes. Verify important information.": "შესაძლოა LLM-ებმა შეცდომები დაუშვან. გადაამოწმეთ მნიშვნელოვანი ინფორმაცია.", @@ -378,9 +376,9 @@ "Manage Ollama Models": "Ollama მოდელების მართვა", "Manage Pipelines": "მილსადენების მართვა", "March": "მარტივი", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "მაქს ტოკენსი (num_predict)", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "მაქსიმუმ 3 მოდელის ჩამოტვირთვა შესაძლებელია ერთდროულად. Გთხოვთ სცადოთ მოგვიანებით.", "May": "მაი", "Memories accessible by LLMs will be shown here.": "ლლმ-ს აქვს ხელმისაწვდომი მემორიები აქ იქნება.", @@ -619,6 +617,8 @@ "Tfs Z": "Tfs Z", "Thanks for your feedback!": "მადლობა გამოხმაურებისთვის!", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "ქულა 0.0 (0%) და 1.0 (100%) ჩაშენებული უნდა იყოს.", "Theme": "თემა", "Thinking...": "", @@ -718,6 +718,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "დაწერეთ რეზიუმე 50 სიტყვით, რომელიც აჯამებს [თემას ან საკვანძო სიტყვას].", "Yesterday": "აღდგენა", "You": "ჩემი", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "", "You cannot clone a base model": "თქვენ არ შეგიძლიათ ბაზის მოდელის კლონირება", "You have no archived conversations.": "არ ხართ არქივირებული განხილვები.", diff --git a/src/lib/i18n/locales/ko-KR/translation.json b/src/lib/i18n/locales/ko-KR/translation.json index fbf64a14d7..6cfb7328bd 100644 --- a/src/lib/i18n/locales/ko-KR/translation.json +++ b/src/lib/i18n/locales/ko-KR/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "영문자, 숫자, 하이픈", "Already have an account?": "이미 계정이 있으신가요?", "an assistant": "어시스턴트", - "An error occurred while processing files.": "", "and": "그리고", "and create a new shared link.": "새로운 공유 링크를 생성합니다.", "API Base URL": "API 기본 URL", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "Google PSE 엔진 ID 입력", "Enter Image Size (e.g. 512x512)": "이미지 크기 입력(예: 512x512)", "Enter language codes": "언어 코드 입력", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "모델 태그 입력(예: {{modelTag}})", "Enter Number of Steps (e.g. 50)": "단계 수 입력(예: 50)", @@ -288,7 +285,7 @@ "File": "", "File Mode": "파일 모드", "File not found.": "파일을 찾을 수 없습니다.", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "", "Filter is now globally disabled": "", "Filter is now globally enabled": "", @@ -365,6 +362,7 @@ "large language models, locally.": "", "Last Active": "최근 활동", "Last Modified": "마지막 수정", + "Leave empty for unlimited": "", "Light": "Light", "Listening...": "듣는 중...", "LLMs can make mistakes. Verify important information.": "LLM은 실수를 할 수 있습니다. 중요한 정보는 확인이 필요합니다.", @@ -378,9 +376,9 @@ "Manage Ollama Models": "Ollama 모델 관리", "Manage Pipelines": "파이프라인 관리", "March": "3월", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "최대 토큰(num_predict)", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "최대 3개의 모델을 동시에 다운로드할 수 있습니다. 나중에 다시 시도하세요.", "May": "5월", "Memories accessible by LLMs will be shown here.": "LLM에서 액세스할 수 있는 메모리는 여기에 표시됩니다.", @@ -619,6 +617,8 @@ "Tfs Z": "Tfs Z", "Thanks for your feedback!": "피드백 감사합니다!", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "점수는 0.0(0%)에서 1.0(100%) 사이의 값이어야 합니다.", "Theme": "테마", "Thinking...": "생각 중...", @@ -718,6 +718,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "[주제 또는 키워드]에 대한 50단어 요약문 작성.", "Yesterday": "어제", "You": "당신", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "아래 '관리' 버튼으로 메모리를 추가하여 LLM들과의 상호작용을 개인화할 수 있습니다. 이를 통해 더 유용하고 맞춤화된 경험을 제공합니다.", "You cannot clone a base model": "기본 모델은 복제할 수 없습니다", "You have no archived conversations.": "채팅을 아카이브한 적이 없습니다.", diff --git a/src/lib/i18n/locales/lt-LT/translation.json b/src/lib/i18n/locales/lt-LT/translation.json index 83e5c2cc01..e6c1547da5 100644 --- a/src/lib/i18n/locales/lt-LT/translation.json +++ b/src/lib/i18n/locales/lt-LT/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "skaičiai, raidės ir brūkšneliai", "Already have an account?": "Ar jau turite paskyrą?", "an assistant": "assistentas", - "An error occurred while processing files.": "", "and": "ir", "and create a new shared link.": "sukurti naują dalinimosi nuorodą", "API Base URL": "API basės nuoroda", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "Įveskite Google PSE variklio ID", "Enter Image Size (e.g. 512x512)": "Įveskite paveiksliuko dydį (pvz. 512x512)", "Enter language codes": "Įveskite kalbos kodus", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "Įveskite modelio žymą (pvz. {{modelTag}})", "Enter Number of Steps (e.g. 50)": "Įveskite žingsnių kiekį (pvz. 50)", @@ -288,7 +285,7 @@ "File": "Rinkmena", "File Mode": "Rinkmenų rėžimas", "File not found.": "Failas nerastas.", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "Rinkmenos", "Filter is now globally disabled": "Filtrai nėra leidžiami globaliai", "Filter is now globally enabled": "Filtrai globaliai leidžiami", @@ -365,6 +362,7 @@ "large language models, locally.": "dideli kalbos modeliai, lokaliai", "Last Active": "Paskutinį kartą aktyvus", "Last Modified": "Paskutinis pakeitimas", + "Leave empty for unlimited": "", "Light": "Šviesus", "Listening...": "Klausoma...", "LLMs can make mistakes. Verify important information.": "Dideli kalbos modeliai gali klysti. Patikrinkite atsakymų teisingumą.", @@ -378,9 +376,9 @@ "Manage Ollama Models": "Tvarkyti Ollama modelius", "Manage Pipelines": "Tvarkyti procesus", "March": "Kovas", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "Maksimalus žetonų kiekis (num_predict)", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Daugiausiai trys modeliai gali būti parsisiunčiami vienu metu.", "May": "gegužė", "Memories accessible by LLMs will be shown here.": "Atminitis prieinama kalbos modelio bus rodoma čia.", @@ -621,6 +619,8 @@ "Tfs Z": "Tfs Z", "Thanks for your feedback!": "Ačiū už atsiliepimus", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "Šis modulis kuriamas savanorių. Palaikykite jų darbus finansiškai arba prisidėdami kodu.", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "Rezultatas turėtų būti tarp 0.0 (0%) ir 1.0 (100%)", "Theme": "Tema", "Thinking...": "Mąsto...", @@ -720,6 +720,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Parašyk santrumpą trumpesnę nei 50 žodžių šiam tekstui: [tekstas]", "Yesterday": "Vakar", "You": "Jūs", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Galite pagerinti modelių darbą suteikdami jiems atminties funkcionalumą.", "You cannot clone a base model": "Negalite klonuoti bazinio modelio", "You have no archived conversations.": "Jūs neturite archyvuotų pokalbių", diff --git a/src/lib/i18n/locales/ms-MY/translation.json b/src/lib/i18n/locales/ms-MY/translation.json index 59f04baefa..35ea4b4393 100644 --- a/src/lib/i18n/locales/ms-MY/translation.json +++ b/src/lib/i18n/locales/ms-MY/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "aksara alfanumerik dan tanda sempang", "Already have an account?": "Telah mempunyai akaun?", "an assistant": "seorang pembantu", - "An error occurred while processing files.": "", "and": "dan", "and create a new shared link.": "dan cipta pautan kongsi baharu", "API Base URL": "URL Asas API", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "Masukkan Id Enjin Google PSE", "Enter Image Size (e.g. 512x512)": "Masukkan Saiz Imej (cth 512x512)", "Enter language codes": "Masukkan kod bahasa", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "Masukkan tag model (cth {{ modelTag }})", "Enter Number of Steps (e.g. 50)": "Masukkan Bilangan Langkah (cth 50)", @@ -288,7 +285,7 @@ "File": "Fail", "File Mode": "Mod Fail", "File not found.": "Fail tidak dijumpai", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "Fail-Fail", "Filter is now globally disabled": "Tapisan kini dilumpuhkan secara global", "Filter is now globally enabled": "Tapisan kini dibenarkan secara global", @@ -365,6 +362,7 @@ "large language models, locally.": "model bahasa besar, tempatan.", "Last Active": "Dilihat aktif terakhir pada", "Last Modified": "Kemaskini terakhir pada", + "Leave empty for unlimited": "", "Light": "Cerah", "Listening...": "Mendengar...", "LLMs can make mistakes. Verify important information.": "LLM boleh membuat kesilapan. Sahkan maklumat penting", @@ -378,9 +376,9 @@ "Manage Ollama Models": "Urus Model Ollama", "Manage Pipelines": "Urus 'Pipelines'", "March": "Mac", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "Token Maksimum ( num_predict )", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Maksimum 3 model boleh dimuat turun serentak. Sila cuba sebentar lagi.", "May": "Mei", "Memories accessible by LLMs will be shown here.": "Memori yang boleh diakses oleh LLM akan ditunjukkan di sini.", @@ -619,6 +617,8 @@ "Tfs Z": "Tfs Z", "Thanks for your feedback!": "Terima kasih atas maklum balas anda!", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "Pembangun di sebalik 'plugin' ini adalah sukarelawan yang bersemangat daripada komuniti. Jika anda mendapati 'plugin' ini membantu, sila pertimbangkan untuk menyumbang kepada pembangunannya.", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "Skor hendaklah berada diantara 0.0 (0%) dan 1.0 (100%).", "Theme": "Tema", "Thinking...": "Berfikir...", @@ -718,6 +718,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Tulis ringkasan dalam 50 patah perkataan yang meringkaskan [topik atau kata kunci].", "Yesterday": "Semalam", "You": "Anda", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Anda boleh memperibadikan interaksi anda dengan LLM dengan menambahkan memori melalui butang 'Urus' di bawah, menjadikannya lebih membantu dan disesuaikan dengan anda.", "You cannot clone a base model": "Anda tidak boleh mengklon model asas", "You have no archived conversations.": "Anda tidak mempunyai perbualan yang diarkibkan", diff --git a/src/lib/i18n/locales/nb-NO/translation.json b/src/lib/i18n/locales/nb-NO/translation.json index 99bceb305c..38a1220c46 100644 --- a/src/lib/i18n/locales/nb-NO/translation.json +++ b/src/lib/i18n/locales/nb-NO/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "alfanumeriske tegn og bindestreker", "Already have an account?": "Har du allerede en konto?", "an assistant": "en assistent", - "An error occurred while processing files.": "", "and": "og", "and create a new shared link.": "og opprett en ny delt lenke.", "API Base URL": "API Grunn-URL", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "Skriv inn Google PSE Motor-ID", "Enter Image Size (e.g. 512x512)": "Skriv inn bildestørrelse (f.eks. 512x512)", "Enter language codes": "Skriv inn språkkoder", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "Skriv inn modelltag (f.eks. {{modelTag}})", "Enter Number of Steps (e.g. 50)": "Skriv inn antall steg (f.eks. 50)", @@ -288,7 +285,7 @@ "File": "Fil", "File Mode": "Filmodus", "File not found.": "Fil ikke funnet.", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "Filer", "Filter is now globally disabled": "Filteret er nå deaktivert på systemnivå", "Filter is now globally enabled": "Filteret er nå aktivert på systemnivå", @@ -365,6 +362,7 @@ "large language models, locally.": "Store språkmodeller, lokalt.", "Last Active": "Sist aktiv", "Last Modified": "Sist endret", + "Leave empty for unlimited": "", "Light": "Lys", "Listening...": "Lytter ...", "LLMs can make mistakes. Verify important information.": "Språkmodeller kan gjøre feil. Verifiser viktige opplysninger.", @@ -378,9 +376,9 @@ "Manage Ollama Models": "Administrer Ollama-modeller", "Manage Pipelines": "Administrer pipelines", "March": "mars", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "Maks antall tokens (num_predict)", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Maksimalt 3 modeller kan lastes ned samtidig. Vennligst prøv igjen senere.", "May": "mai", "Memories accessible by LLMs will be shown here.": "Minner tilgjengelige for språkmodeller vil vises her.", @@ -619,6 +617,8 @@ "Tfs Z": "Tfs Z", "Thanks for your feedback!": "Takk for tilbakemeldingen!", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "Utviklerne bak denne utvidelsen er lidenskapelige frivillige fra fellesskapet. Hvis du finner denne utvidelsen nyttig, vennligst vurder å bidra til utviklingen.", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "Poengsummen skal være en verdi mellom 0,0 (0%) og 1,0 (100%).", "Theme": "Tema", "Thinking...": "Tenker ...", @@ -718,6 +718,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Skriv et sammendrag på 50 ord som oppsummerer [emne eller nøkkelord].", "Yesterday": "I går", "You": "Du", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Du kan tilpasse interaksjonene dine med språkmodeller ved å legge til minner gjennom 'Administrer'-knappen nedenfor, slik at de blir mer hjelpsomme og tilpasset deg.", "You cannot clone a base model": "Du kan ikke klone en grunnmodell", "You have no archived conversations.": "Du har ingen arkiverte samtaler.", diff --git a/src/lib/i18n/locales/nl-NL/translation.json b/src/lib/i18n/locales/nl-NL/translation.json index cb70cf47a7..52d4029c0b 100644 --- a/src/lib/i18n/locales/nl-NL/translation.json +++ b/src/lib/i18n/locales/nl-NL/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "alfanumerieke karakters en streepjes", "Already have an account?": "Heb je al een account?", "an assistant": "een assistent", - "An error occurred while processing files.": "", "and": "en", "and create a new shared link.": "en maak een nieuwe gedeelde link.", "API Base URL": "API Base URL", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "Voer Google PSE Engine-ID in", "Enter Image Size (e.g. 512x512)": "Voeg afbeelding formaat toe (Bijv. 512x512)", "Enter language codes": "Voeg taal codes toe", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "Voeg model tag toe (Bijv. {{modelTag}})", "Enter Number of Steps (e.g. 50)": "Voeg aantal stappen toe (Bijv. 50)", @@ -288,7 +285,7 @@ "File": "", "File Mode": "Bestandsmodus", "File not found.": "Bestand niet gevonden.", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "", "Filter is now globally disabled": "", "Filter is now globally enabled": "", @@ -365,6 +362,7 @@ "large language models, locally.": "", "Last Active": "Laatst Actief", "Last Modified": "", + "Leave empty for unlimited": "", "Light": "Licht", "Listening...": "", "LLMs can make mistakes. Verify important information.": "LLMs kunnen fouten maken. Verifieer belangrijke informatie.", @@ -378,9 +376,9 @@ "Manage Ollama Models": "Beheer Ollama Modellen", "Manage Pipelines": "Pijplijnen beheren", "March": "Maart", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "Max Tokens (num_predict)", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Maximaal 3 modellen kunnen tegelijkertijd worden gedownload. Probeer het later opnieuw.", "May": "Mei", "Memories accessible by LLMs will be shown here.": "Geheugen toegankelijk voor LLMs wordt hier getoond.", @@ -619,6 +617,8 @@ "Tfs Z": "Tfs Z", "Thanks for your feedback!": "Bedankt voor uw feedback!", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "Het score moet een waarde zijn tussen 0.0 (0%) en 1.0 (100%).", "Theme": "Thema", "Thinking...": "", @@ -718,6 +718,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Schrijf een samenvatting in 50 woorden die [onderwerp of trefwoord] samenvat.", "Yesterday": "gisteren", "You": "U", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "", "You cannot clone a base model": "U kunt een basismodel niet klonen", "You have no archived conversations.": "U heeft geen gearchiveerde gesprekken.", diff --git a/src/lib/i18n/locales/pa-IN/translation.json b/src/lib/i18n/locales/pa-IN/translation.json index 83cfd333d4..3b041ae44b 100644 --- a/src/lib/i18n/locales/pa-IN/translation.json +++ b/src/lib/i18n/locales/pa-IN/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "ਅਲਫ਼ਾਨਯੂਮੈਰਿਕ ਅੱਖਰ ਅਤੇ ਹਾਈਫਨ", "Already have an account?": "ਪਹਿਲਾਂ ਹੀ ਖਾਤਾ ਹੈ?", "an assistant": "ਇੱਕ ਸਹਾਇਕ", - "An error occurred while processing files.": "", "and": "ਅਤੇ", "and create a new shared link.": "ਅਤੇ ਇੱਕ ਨਵਾਂ ਸਾਂਝਾ ਲਿੰਕ ਬਣਾਓ।", "API Base URL": "API ਬੇਸ URL", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "Google PSE ਇੰਜਣ ID ਦਾਖਲ ਕਰੋ", "Enter Image Size (e.g. 512x512)": "ਚਿੱਤਰ ਆਕਾਰ ਦਰਜ ਕਰੋ (ਉਦਾਹਰਣ ਲਈ 512x512)", "Enter language codes": "ਭਾਸ਼ਾ ਕੋਡ ਦਰਜ ਕਰੋ", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "ਮਾਡਲ ਟੈਗ ਦਰਜ ਕਰੋ (ਉਦਾਹਰਣ ਲਈ {{modelTag}})", "Enter Number of Steps (e.g. 50)": "ਕਦਮਾਂ ਦੀ ਗਿਣਤੀ ਦਰਜ ਕਰੋ (ਉਦਾਹਰਣ ਲਈ 50)", @@ -288,7 +285,7 @@ "File": "", "File Mode": "ਫਾਈਲ ਮੋਡ", "File not found.": "ਫਾਈਲ ਨਹੀਂ ਮਿਲੀ।", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "", "Filter is now globally disabled": "", "Filter is now globally enabled": "", @@ -365,6 +362,7 @@ "large language models, locally.": "", "Last Active": "ਆਖਰੀ ਸਰਗਰਮ", "Last Modified": "", + "Leave empty for unlimited": "", "Light": "ਹਲਕਾ", "Listening...": "", "LLMs can make mistakes. Verify important information.": "LLMs ਗਲਤੀਆਂ ਕਰ ਸਕਦੇ ਹਨ। ਮਹੱਤਵਪੂਰਨ ਜਾਣਕਾਰੀ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ।", @@ -378,9 +376,9 @@ "Manage Ollama Models": "ਓਲਾਮਾ ਮਾਡਲਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ", "Manage Pipelines": "ਪਾਈਪਲਾਈਨਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ", "March": "ਮਾਰਚ", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "ਮੈਕਸ ਟੋਕਨ (num_predict)", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "ਇੱਕ ਸਮੇਂ ਵਿੱਚ ਵੱਧ ਤੋਂ ਵੱਧ 3 ਮਾਡਲ ਡਾਊਨਲੋਡ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ। ਕਿਰਪਾ ਕਰਕੇ ਬਾਅਦ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।", "May": "ਮਈ", "Memories accessible by LLMs will be shown here.": "LLMs ਲਈ ਸਮਰੱਥ ਕਾਰਨ ਇੱਕ ਸੂਚਨਾ ਨੂੰ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ।", @@ -619,6 +617,8 @@ "Tfs Z": "Tfs Z", "Thanks for your feedback!": "ਤੁਹਾਡੇ ਫੀਡਬੈਕ ਲਈ ਧੰਨਵਾਦ!", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "ਸਕੋਰ 0.0 (0%) ਅਤੇ 1.0 (100%) ਦੇ ਵਿਚਕਾਰ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।", "Theme": "ਥੀਮ", "Thinking...": "", @@ -718,6 +718,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "50 ਸ਼ਬਦਾਂ ਵਿੱਚ ਇੱਕ ਸੰਖੇਪ ਲਿਖੋ ਜੋ [ਵਿਸ਼ਾ ਜਾਂ ਕੁੰਜੀ ਸ਼ਬਦ] ਨੂੰ ਸੰਖੇਪ ਕਰਦਾ ਹੈ।", "Yesterday": "ਕੱਲ੍ਹ", "You": "ਤੁਸੀਂ", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "", "You cannot clone a base model": "ਤੁਸੀਂ ਆਧਾਰ ਮਾਡਲ ਨੂੰ ਕਲੋਨ ਨਹੀਂ ਕਰ ਸਕਦੇ", "You have no archived conversations.": "ਤੁਹਾਡੇ ਕੋਲ ਕੋਈ ਆਰਕਾਈਵ ਕੀਤੀਆਂ ਗੱਲਾਂ ਨਹੀਂ ਹਨ।", diff --git a/src/lib/i18n/locales/pl-PL/translation.json b/src/lib/i18n/locales/pl-PL/translation.json index 627eb16178..c10f142914 100644 --- a/src/lib/i18n/locales/pl-PL/translation.json +++ b/src/lib/i18n/locales/pl-PL/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "znaki alfanumeryczne i myślniki", "Already have an account?": "Masz już konto?", "an assistant": "asystent", - "An error occurred while processing files.": "", "and": "i", "and create a new shared link.": "i utwórz nowy udostępniony link", "API Base URL": "Podstawowy adres URL interfejsu API", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "Wprowadź identyfikator aparatu Google PSE", "Enter Image Size (e.g. 512x512)": "Wprowadź rozmiar obrazu (np. 512x512)", "Enter language codes": "Wprowadź kody języków", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "Wprowadź tag modelu (np. {{modelTag}})", "Enter Number of Steps (e.g. 50)": "Wprowadź liczbę kroków (np. 50)", @@ -288,7 +285,7 @@ "File": "", "File Mode": "Tryb pliku", "File not found.": "Plik nie został znaleziony.", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "", "Filter is now globally disabled": "", "Filter is now globally enabled": "", @@ -365,6 +362,7 @@ "large language models, locally.": "", "Last Active": "Ostatnio aktywny", "Last Modified": "", + "Leave empty for unlimited": "", "Light": "Jasny", "Listening...": "", "LLMs can make mistakes. Verify important information.": "LLMy mogą popełniać błędy. Zweryfikuj ważne informacje.", @@ -378,9 +376,9 @@ "Manage Ollama Models": "Zarządzaj modelami Ollama", "Manage Pipelines": "Zarządzanie potokami", "March": "Marzec", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "Maksymalna liczba żetonów (num_predict)", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Maksymalnie 3 modele można pobierać jednocześnie. Spróbuj ponownie później.", "May": "Maj", "Memories accessible by LLMs will be shown here.": "Pamięci używane przez LLM będą tutaj widoczne.", @@ -621,6 +619,8 @@ "Tfs Z": "Tfs Z", "Thanks for your feedback!": "Dzięki za informację zwrotną!", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "Wynik powinien być wartością pomiędzy 0.0 (0%) a 1.0 (100%).", "Theme": "Motyw", "Thinking...": "", @@ -720,6 +720,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Napisz podsumowanie w 50 słowach, które podsumowuje [temat lub słowo kluczowe].", "Yesterday": "Wczoraj", "You": "Ty", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "", "You cannot clone a base model": "Nie można sklonować modelu podstawowego", "You have no archived conversations.": "Nie masz zarchiwizowanych rozmów.", diff --git a/src/lib/i18n/locales/pt-BR/translation.json b/src/lib/i18n/locales/pt-BR/translation.json index 283e269996..9d728a483a 100644 --- a/src/lib/i18n/locales/pt-BR/translation.json +++ b/src/lib/i18n/locales/pt-BR/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "caracteres alfanuméricos e hífens", "Already have an account?": "Já tem uma conta?", "an assistant": "um assistente", - "An error occurred while processing files.": "", "and": "e", "and create a new shared link.": "e criar um novo link compartilhado.", "API Base URL": "URL Base da API", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "Digite o ID do Motor do Google PSE", "Enter Image Size (e.g. 512x512)": "Digite o Tamanho da Imagem (por exemplo, 512x512)", "Enter language codes": "Digite os códigos de idioma", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "Digite a tag do modelo (por exemplo, {{modelTag}})", "Enter Number of Steps (e.g. 50)": "Digite o Número de Passos (por exemplo, 50)", @@ -288,7 +285,7 @@ "File": "Arquivo", "File Mode": "Modo de Arquivo", "File not found.": "Arquivo não encontrado.", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "Arquivos", "Filter is now globally disabled": "O filtro está agora desativado globalmente", "Filter is now globally enabled": "O filtro está agora ativado globalmente", @@ -365,6 +362,7 @@ "large language models, locally.": "grandes modelos de linguagem, localmente.", "Last Active": "Última Atividade", "Last Modified": "Última Modificação", + "Leave empty for unlimited": "", "Light": "Claro", "Listening...": "Escutando...", "LLMs can make mistakes. Verify important information.": "LLMs podem cometer erros. Verifique informações importantes.", @@ -378,9 +376,9 @@ "Manage Ollama Models": "Gerenciar Modelos Ollama", "Manage Pipelines": "Gerenciar Pipelines", "March": "Março", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "Máximo de Tokens (num_predict)", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Máximo de 3 modelos podem ser baixados simultaneamente. Por favor, tente novamente mais tarde.", "May": "Maio", "Memories accessible by LLMs will be shown here.": "Memórias acessíveis por LLMs serão mostradas aqui.", @@ -620,6 +618,8 @@ "Tfs Z": "Tfs Z", "Thanks for your feedback!": "Obrigado pelo seu feedback!", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "Os desenvolvedores por trás deste plugin são voluntários apaixonados da comunidade. Se você achar este plugin útil, considere contribuir para o seu desenvolvimento.", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "A pontuação deve ser um valor entre 0.0 (0%) e 1.0 (100%).", "Theme": "Tema", "Thinking...": "Pensando...", @@ -719,6 +719,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Escreva um resumo em 50 palavras que resuma [tópico ou palavra-chave].", "Yesterday": "Ontem", "You": "Você", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Você pode personalizar suas interações com LLMs adicionando memórias através do botão 'Gerenciar' abaixo, tornando-as mais úteis e adaptadas a você.", "You cannot clone a base model": "Você não pode clonar um modelo base", "You have no archived conversations.": "Você não tem conversas arquivadas.", diff --git a/src/lib/i18n/locales/pt-PT/translation.json b/src/lib/i18n/locales/pt-PT/translation.json index 91026b8fdf..4a4582b9e1 100644 --- a/src/lib/i18n/locales/pt-PT/translation.json +++ b/src/lib/i18n/locales/pt-PT/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "caracteres alfanuméricos e hífens", "Already have an account?": "Já tem uma conta?", "an assistant": "um assistente", - "An error occurred while processing files.": "", "and": "e", "and create a new shared link.": "e criar um novo link partilhado.", "API Base URL": "URL Base da API", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "Escreva o ID do mecanismo PSE do Google", "Enter Image Size (e.g. 512x512)": "Escreva o Tamanho da Imagem (por exemplo, 512x512)", "Enter language codes": "Escreva os códigos de idioma", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "Escreva a tag do modelo (por exemplo, {{modelTag}})", "Enter Number of Steps (e.g. 50)": "Escreva o Número de Etapas (por exemplo, 50)", @@ -288,7 +285,7 @@ "File": "", "File Mode": "Modo de Ficheiro", "File not found.": "Ficheiro não encontrado.", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "", "Filter is now globally disabled": "", "Filter is now globally enabled": "", @@ -365,6 +362,7 @@ "large language models, locally.": "", "Last Active": "Último Ativo", "Last Modified": "", + "Leave empty for unlimited": "", "Light": "Claro", "Listening...": "A escutar...", "LLMs can make mistakes. Verify important information.": "LLMs podem cometer erros. Verifique informações importantes.", @@ -378,9 +376,9 @@ "Manage Ollama Models": "Gerir Modelos Ollama", "Manage Pipelines": "Gerir pipelines", "March": "Março", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "Máx Tokens (num_predict)", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "O máximo de 3 modelos podem ser descarregados simultaneamente. Tente novamente mais tarde.", "May": "Maio", "Memories accessible by LLMs will be shown here.": "Memórias acessíveis por LLMs serão mostradas aqui.", @@ -620,6 +618,8 @@ "Tfs Z": "Tfs Z", "Thanks for your feedback!": "Obrigado pelo seu feedback!", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "A pontuação deve ser um valor entre 0.0 (0%) e 1.0 (100%).", "Theme": "Tema", "Thinking...": "A pensar...", @@ -719,6 +719,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Escreva um resumo em 50 palavras que resuma [tópico ou palavra-chave].", "Yesterday": "Ontem", "You": "Você", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Você pode personalizar as suas interações com LLMs adicionando memórias através do botão ‘Gerir’ abaixo, tornando-as mais úteis e personalizadas para você.", "You cannot clone a base model": "Não é possível clonar um modelo base", "You have no archived conversations.": "Você não tem conversas arquivadas.", diff --git a/src/lib/i18n/locales/ro-RO/translation.json b/src/lib/i18n/locales/ro-RO/translation.json index 9a4adb6f9a..a686fb607d 100644 --- a/src/lib/i18n/locales/ro-RO/translation.json +++ b/src/lib/i18n/locales/ro-RO/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "caractere alfanumerice și cratime", "Already have an account?": "Deja ai un cont?", "an assistant": "un asistent", - "An error occurred while processing files.": "", "and": "și", "and create a new shared link.": "și creează un nou link partajat.", "API Base URL": "URL Bază API", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "Introduceți ID-ul Motorului Google PSE", "Enter Image Size (e.g. 512x512)": "Introduceți Dimensiunea Imaginii (de ex. 512x512)", "Enter language codes": "Introduceți codurile limbilor", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "Introduceți eticheta modelului (de ex. {{modelTag}})", "Enter Number of Steps (e.g. 50)": "Introduceți Numărul de Pași (de ex. 50)", @@ -288,7 +285,7 @@ "File": "Fișier", "File Mode": "Mod Fișier", "File not found.": "Fișierul nu a fost găsit.", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "Fișiere", "Filter is now globally disabled": "Filtrul este acum dezactivat global", "Filter is now globally enabled": "Filtrul este acum activat global", @@ -365,6 +362,7 @@ "large language models, locally.": "modele mari de limbaj, local.", "Last Active": "Ultima Activitate", "Last Modified": "Ultima Modificare", + "Leave empty for unlimited": "", "Light": "Luminos", "Listening...": "Ascult...", "LLMs can make mistakes. Verify important information.": "LLM-urile pot face greșeli. Verificați informațiile importante.", @@ -378,9 +376,9 @@ "Manage Ollama Models": "Gestionează Modelele Ollama", "Manage Pipelines": "Gestionează Conductele", "March": "Martie", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "Număr Maxim de Tokeni (num_predict)", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Maxim 3 modele pot fi descărcate simultan. Vă rugăm să încercați din nou mai târziu.", "May": "Mai", "Memories accessible by LLMs will be shown here.": "Memoriile accesibile de LLM-uri vor fi afișate aici.", @@ -620,6 +618,8 @@ "Tfs Z": "Tfs Z", "Thanks for your feedback!": "Mulțumim pentru feedback!", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "Dezvoltatorii din spatele acestui plugin sunt voluntari pasionați din comunitate. Dacă considerați acest plugin util, vă rugăm să luați în considerare contribuția la dezvoltarea sa.", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "Scorul ar trebui să fie o valoare între 0.0 (0%) și 1.0 (100%).", "Theme": "Temă", "Thinking...": "Gândește...", @@ -719,6 +719,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Scrieți un rezumat în 50 de cuvinte care rezumă [subiect sau cuvânt cheie].", "Yesterday": "Ieri", "You": "Tu", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Puteți personaliza interacțiunile dvs. cu LLM-urile adăugând amintiri prin butonul 'Gestionează' de mai jos, făcându-le mai utile și adaptate la dvs.", "You cannot clone a base model": "Nu puteți clona un model de bază", "You have no archived conversations.": "Nu aveți conversații arhivate.", diff --git a/src/lib/i18n/locales/ru-RU/translation.json b/src/lib/i18n/locales/ru-RU/translation.json index 5f4183235c..2c4a0d16cb 100644 --- a/src/lib/i18n/locales/ru-RU/translation.json +++ b/src/lib/i18n/locales/ru-RU/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "буквенно цифровые символы и дефисы", "Already have an account?": "У вас уже есть учетная запись?", "an assistant": "ассистент", - "An error occurred while processing files.": "", "and": "и", "and create a new shared link.": "и создайте новую общую ссылку.", "API Base URL": "Базовый адрес API", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "Введите Id движка Google PSE", "Enter Image Size (e.g. 512x512)": "Введите размер изображения (например, 512x512)", "Enter language codes": "Введите коды языков", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "Введите тег модели (например, {{modelTag}})", "Enter Number of Steps (e.g. 50)": "Введите количество шагов (например, 50)", @@ -288,7 +285,7 @@ "File": "Файл", "File Mode": "Режим файла", "File not found.": "Файл не найден.", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "Файлы", "Filter is now globally disabled": "Фильтр теперь отключен глобально", "Filter is now globally enabled": "Фильтр теперь включен глобально", @@ -365,6 +362,7 @@ "large language models, locally.": "большими языковыми моделями, локально.", "Last Active": "Последний активный", "Last Modified": "Последнее изменение", + "Leave empty for unlimited": "", "Light": "Светлый", "Listening...": "Слушаю...", "LLMs can make mistakes. Verify important information.": "LLMs могут допускать ошибки. Проверяйте важную информацию.", @@ -378,9 +376,9 @@ "Manage Ollama Models": "Управление моделями Ollama", "Manage Pipelines": "Управление конвейерами", "March": "Март", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "Максимальное количество токенов (num_predict)", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Максимальное количество моделей для загрузки одновременно - 3. Пожалуйста, попробуйте позже.", "May": "Май", "Memories accessible by LLMs will be shown here.": "Воспоминания, доступные LLMs, будут отображаться здесь.", @@ -621,6 +619,8 @@ "Tfs Z": "Tfs Z", "Thanks for your feedback!": "Спасибо за вашу обратную связь!", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "Разработчики этого плагина - увлеченные волонтеры из сообщества. Если вы считаете этот плагин полезным, пожалуйста, подумайте о том, чтобы внести свой вклад в его разработку.", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "Оценка должна быть значением между 0,0 (0%) и 1,0 (100%).", "Theme": "Тема", "Thinking...": "Думаю...", @@ -720,6 +720,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Напишите резюме в 50 словах, которое кратко описывает [тему или ключевое слово].", "Yesterday": "Вчера", "You": "Вы", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Вы можете персонализировать свое взаимодействие с LLMs, добавив воспоминания с помощью кнопки \"Управлять\" ниже, что сделает их более полезными и адаптированными для вас.", "You cannot clone a base model": "Клонировать базовую модель невозможно", "You have no archived conversations.": "У вас нет архивированных бесед.", diff --git a/src/lib/i18n/locales/sr-RS/translation.json b/src/lib/i18n/locales/sr-RS/translation.json index f98530b95f..1cee6569cd 100644 --- a/src/lib/i18n/locales/sr-RS/translation.json +++ b/src/lib/i18n/locales/sr-RS/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "алфанумерички знакови и цртице", "Already have an account?": "Већ имате налог?", "an assistant": "помоћник", - "An error occurred while processing files.": "", "and": "и", "and create a new shared link.": "и направи нову дељену везу.", "API Base URL": "Основна адреса API-ја", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "Унесите Гоогле ПСЕ ИД машине", "Enter Image Size (e.g. 512x512)": "Унесите величину слике (нпр. 512x512)", "Enter language codes": "Унесите кодове језика", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "Унесите ознаку модела (нпр. {{modelTag}})", "Enter Number of Steps (e.g. 50)": "Унесите број корака (нпр. 50)", @@ -288,7 +285,7 @@ "File": "", "File Mode": "Режим датотеке", "File not found.": "Датотека није пронађена.", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "", "Filter is now globally disabled": "", "Filter is now globally enabled": "", @@ -365,6 +362,7 @@ "large language models, locally.": "", "Last Active": "Последња активност", "Last Modified": "", + "Leave empty for unlimited": "", "Light": "Светла", "Listening...": "", "LLMs can make mistakes. Verify important information.": "ВЈМ-ови (LLM-ови) могу правити грешке. Проверите важне податке.", @@ -378,9 +376,9 @@ "Manage Ollama Models": "Управљај Ollama моделима", "Manage Pipelines": "Управљање цевоводима", "March": "Март", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "Маx Токенс (нум_предицт)", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Највише 3 модела могу бити преузета истовремено. Покушајте поново касније.", "May": "Мај", "Memories accessible by LLMs will be shown here.": "Памћења које ће бити појављена од овог LLM-а ће бити приказана овде.", @@ -620,6 +618,8 @@ "Tfs Z": "Tfs Z", "Thanks for your feedback!": "Хвала на вашем коментару!", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "Резултат треба да буде вредност између 0.0 (0%) и 1.0 (100%).", "Theme": "Тема", "Thinking...": "", @@ -719,6 +719,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Напишите сажетак у 50 речи који резимира [тему или кључну реч].", "Yesterday": "Јуче", "You": "Ти", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "", "You cannot clone a base model": "Не можеш клонирати основни модел", "You have no archived conversations.": "Немате архивиране разговоре.", diff --git a/src/lib/i18n/locales/sv-SE/translation.json b/src/lib/i18n/locales/sv-SE/translation.json index 68895c3cc3..40421a4380 100644 --- a/src/lib/i18n/locales/sv-SE/translation.json +++ b/src/lib/i18n/locales/sv-SE/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "alfanumeriska tecken och bindestreck", "Already have an account?": "Har du redan ett konto?", "an assistant": "en assistent", - "An error occurred while processing files.": "", "and": "och", "and create a new shared link.": "och skapa en ny delad länk.", "API Base URL": "API-bas-URL", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "Ange Google PSE Engine Id", "Enter Image Size (e.g. 512x512)": "Ange bildstorlek (t.ex. 512x512)", "Enter language codes": "Skriv språkkoder", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "Ange modelltagg (t.ex. {{modelTag}})", "Enter Number of Steps (e.g. 50)": "Ange antal steg (t.ex. 50)", @@ -288,7 +285,7 @@ "File": "", "File Mode": "Fil-läge", "File not found.": "Fil hittades inte.", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "", "Filter is now globally disabled": "", "Filter is now globally enabled": "", @@ -365,6 +362,7 @@ "large language models, locally.": "", "Last Active": "Senast aktiv", "Last Modified": "", + "Leave empty for unlimited": "", "Light": "Ljus", "Listening...": "Lyssnar...", "LLMs can make mistakes. Verify important information.": "LLM:er kan göra misstag. Granska viktig information.", @@ -378,9 +376,9 @@ "Manage Ollama Models": "Hantera Ollama-modeller", "Manage Pipelines": "Hantera rörledningar", "March": "mars", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "Maximalt antal tokens (num_predict)", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Högst 3 modeller kan laddas ner samtidigt. Vänligen försök igen senare.", "May": "maj", "Memories accessible by LLMs will be shown here.": "Minnen som LLM:er kan komma åt visas här.", @@ -619,6 +617,8 @@ "Tfs Z": "Tfs Z", "Thanks for your feedback!": "Tack för din feedback!", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "Betyget ska vara ett värde mellan 0.0 (0%) och 1.0 (100%).", "Theme": "Tema", "Thinking...": "", @@ -718,6 +718,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Skriv en sammanfattning på 50 ord som sammanfattar [ämne eller nyckelord].", "Yesterday": "Igår", "You": "Dig", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Du kan anpassa dina interaktioner med stora språkmodeller genom att lägga till minnen via knappen 'Hantera' nedan, så att de blir mer användbara och skräddarsydda för dig.", "You cannot clone a base model": "Du kan inte klona en basmodell", "You have no archived conversations.": "Du har inga arkiverade samtal.", diff --git a/src/lib/i18n/locales/th-TH/translation.json b/src/lib/i18n/locales/th-TH/translation.json index 1f85170162..5a217ff215 100644 --- a/src/lib/i18n/locales/th-TH/translation.json +++ b/src/lib/i18n/locales/th-TH/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "อักขระตัวเลขและขีดกลาง", "Already have an account?": "มีบัญชีอยู่แล้ว?", "an assistant": "ผู้ช่วย", - "An error occurred while processing files.": "", "and": "และ", "and create a new shared link.": "และสร้างลิงก์ที่แชร์ใหม่", "API Base URL": "URL ฐานของ API", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "ใส่รหัสเครื่องยนต์ของ Google PSE", "Enter Image Size (e.g. 512x512)": "ใส่ขนาดภาพ (เช่น 512x512)", "Enter language codes": "ใส่รหัสภาษา", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "ใส่แท็กโมเดล (เช่น {{modelTag}})", "Enter Number of Steps (e.g. 50)": "ใส่จำนวนขั้นตอน (เช่น 50)", @@ -288,7 +285,7 @@ "File": "ไฟล์", "File Mode": "โหมดไฟล์", "File not found.": "ไม่พบไฟล์", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "ไฟล์", "Filter is now globally disabled": "การกรองถูกปิดใช้งานทั่วโลกแล้ว", "Filter is now globally enabled": "การกรองถูกเปิดใช้งานทั่วโลกแล้ว", @@ -365,6 +362,7 @@ "large language models, locally.": "โมเดลภาษาขนาดใหญ่ในเครื่อง", "Last Active": "ใช้งานล่าสุด", "Last Modified": "แก้ไขล่าสุด", + "Leave empty for unlimited": "", "Light": "แสง", "Listening...": "กำลังฟัง...", "LLMs can make mistakes. Verify important information.": "LLMs สามารถทำผิดพลาดได้ ตรวจสอบข้อมูลสำคัญ", @@ -378,9 +376,9 @@ "Manage Ollama Models": "จัดการโมเดล Ollama", "Manage Pipelines": "จัดการไปป์ไลน์", "March": "มีนาคม", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "โทเค็นสูงสุด (num_predict)", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "สามารถดาวน์โหลดโมเดลได้สูงสุด 3 โมเดลในเวลาเดียวกัน โปรดลองอีกครั้งในภายหลัง", "May": "พฤษภาคม", "Memories accessible by LLMs will be shown here.": "", @@ -619,6 +617,8 @@ "Tfs Z": "Tfs Z", "Thanks for your feedback!": "ขอบคุณสำหรับความคิดเห็นของคุณ!", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "นักพัฒนาที่อยู่เบื้องหลังปลั๊กอินนี้เป็นอาสาสมัครที่มีชื่นชอบการแบ่งบัน หากคุณพบว่าปลั๊กอินนี้มีประโยชน์ โปรดพิจารณาสนับสนุนการพัฒนาของเขา", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "คะแนนควรอยู่ระหว่าง 0.0 (0%) ถึง 1.0 (100%)", "Theme": "ธีม", "Thinking...": "กำลังคิด...", @@ -718,6 +718,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "เขียนสรุปใน 50 คำที่สรุป [หัวข้อหรือคำสำคัญ]", "Yesterday": "เมื่อวาน", "You": "คุณ", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "คุณสามารถปรับแต่งการโต้ตอบของคุณกับ LLMs โดยเพิ่มความทรงจำผ่านปุ่ม 'จัดการ' ด้านล่าง ทำให้มันมีประโยชน์และเหมาะกับคุณมากขึ้น", "You cannot clone a base model": "คุณไม่สามารถโคลนโมเดลฐานได้", "You have no archived conversations.": "คุณไม่มีการสนทนาที่เก็บถาวร", diff --git a/src/lib/i18n/locales/tk-TW/translation.json b/src/lib/i18n/locales/tk-TW/translation.json index 50803353f3..1102b92aac 100644 --- a/src/lib/i18n/locales/tk-TW/translation.json +++ b/src/lib/i18n/locales/tk-TW/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "", "Already have an account?": "", "an assistant": "", - "An error occurred while processing files.": "", "and": "", "and create a new shared link.": "", "API Base URL": "", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "", "Enter Image Size (e.g. 512x512)": "", "Enter language codes": "", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "", "Enter Number of Steps (e.g. 50)": "", @@ -288,7 +285,7 @@ "File": "", "File Mode": "", "File not found.": "", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "", "Filter is now globally disabled": "", "Filter is now globally enabled": "", @@ -365,6 +362,7 @@ "large language models, locally.": "", "Last Active": "", "Last Modified": "", + "Leave empty for unlimited": "", "Light": "", "Listening...": "", "LLMs can make mistakes. Verify important information.": "", @@ -378,9 +376,9 @@ "Manage Ollama Models": "", "Manage Pipelines": "", "March": "", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "", "May": "", "Memories accessible by LLMs will be shown here.": "", @@ -619,6 +617,8 @@ "Tfs Z": "", "Thanks for your feedback!": "", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "", "Theme": "", "Thinking...": "", @@ -718,6 +718,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "", "Yesterday": "", "You": "", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "", "You cannot clone a base model": "", "You have no archived conversations.": "", diff --git a/src/lib/i18n/locales/tr-TR/translation.json b/src/lib/i18n/locales/tr-TR/translation.json index 05d61de431..c984cccb1c 100644 --- a/src/lib/i18n/locales/tr-TR/translation.json +++ b/src/lib/i18n/locales/tr-TR/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "alfanumerik karakterler ve tireler", "Already have an account?": "Zaten bir hesabınız mı var?", "an assistant": "bir asistan", - "An error occurred while processing files.": "", "and": "ve", "and create a new shared link.": "ve yeni bir paylaşılan bağlantı oluşturun.", "API Base URL": "API Temel URL", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "Google PSE Engine Id'sini Girin", "Enter Image Size (e.g. 512x512)": "Görüntü Boyutunu Girin (örn. 512x512)", "Enter language codes": "Dil kodlarını girin", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "Model etiketini girin (örn. {{modelTag}})", "Enter Number of Steps (e.g. 50)": "Adım Sayısını Girin (örn. 50)", @@ -288,7 +285,7 @@ "File": "Dosya", "File Mode": "Dosya Modu", "File not found.": "Dosya bulunamadı.", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "", "Filter is now globally disabled": "Filtre artık global olarak devre dışı", "Filter is now globally enabled": "Filtre artık global olarak devrede", @@ -365,6 +362,7 @@ "large language models, locally.": "", "Last Active": "Son Aktivite", "Last Modified": "Son Düzenleme", + "Leave empty for unlimited": "", "Light": "Açık", "Listening...": "Dinleniyor...", "LLMs can make mistakes. Verify important information.": "LLM'ler hata yapabilir. Önemli bilgileri doğrulayın.", @@ -378,9 +376,9 @@ "Manage Ollama Models": "Ollama Modellerini Yönet", "Manage Pipelines": "Pipelineları Yönet", "March": "Mart", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "Maksimum Token (num_predict)", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Aynı anda en fazla 3 model indirilebilir. Lütfen daha sonra tekrar deneyin.", "May": "Mayıs", "Memories accessible by LLMs will be shown here.": "LLM'ler tarafından erişilebilen bellekler burada gösterilecektir.", @@ -619,6 +617,8 @@ "Tfs Z": "Tfs Z", "Thanks for your feedback!": "Geri bildiriminiz için teşekkürler!", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "Puan 0.0 (%0) ile 1.0 (%100) arasında bir değer olmalıdır.", "Theme": "Tema", "Thinking...": "Düşünüyor...", @@ -718,6 +718,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "[Konuyu veya anahtar kelimeyi] özetleyen 50 kelimelik bir özet yazın.", "Yesterday": "Dün", "You": "Sen", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Aşağıdaki 'Yönet' düğmesi aracılığıyla bellekler ekleyerek LLM'lerle etkileşimlerinizi kişiselleştirebilir, onları daha yararlı ve size özel hale getirebilirsiniz.", "You cannot clone a base model": "Bir temel modeli klonlayamazsınız", "You have no archived conversations.": "Arşivlenmiş sohbetleriniz yok.", diff --git a/src/lib/i18n/locales/uk-UA/translation.json b/src/lib/i18n/locales/uk-UA/translation.json index 7ea31fbded..a1533034dc 100644 --- a/src/lib/i18n/locales/uk-UA/translation.json +++ b/src/lib/i18n/locales/uk-UA/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "алфавітно-цифрові символи та дефіси", "Already have an account?": "Вже є обліковий запис?", "an assistant": "асистента", - "An error occurred while processing files.": "", "and": "та", "and create a new shared link.": "і створіть нове спільне посилання.", "API Base URL": "URL-адреса API", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "Введіть Google PSE Engine Id", "Enter Image Size (e.g. 512x512)": "Введіть розмір зображення (напр., 512x512)", "Enter language codes": "Введіть мовні коди", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "Введіть тег моделі (напр., {{modelTag}})", "Enter Number of Steps (e.g. 50)": "Введіть кількість кроків (напр., 50)", @@ -288,7 +285,7 @@ "File": "Файл", "File Mode": "Файловий режим", "File not found.": "Файл не знайдено.", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "Файли", "Filter is now globally disabled": "Фільтр глобально вимкнено", "Filter is now globally enabled": "Фільтр увімкнено глобально", @@ -365,6 +362,7 @@ "large language models, locally.": "великими мовними моделями, локально.", "Last Active": "Остання активність", "Last Modified": "Востаннє змінено", + "Leave empty for unlimited": "", "Light": "Світла", "Listening...": "Слухаю...", "LLMs can make mistakes. Verify important information.": "LLMs можуть помилятися. Перевірте важливу інформацію.", @@ -378,9 +376,9 @@ "Manage Ollama Models": "Керування моделями Ollama", "Manage Pipelines": "Керування конвеєрами", "March": "Березень", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "Макс токенів (num_predict)", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Максимум 3 моделі можна завантажити одночасно. Будь ласка, спробуйте пізніше.", "May": "Травень", "Memories accessible by LLMs will be shown here.": "Пам'ять, яка доступна LLM, буде показана тут.", @@ -621,6 +619,8 @@ "Tfs Z": "Tfs Z", "Thanks for your feedback!": "Дякуємо за ваш відгук!", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "Розробники цього плагіна - пристрасні волонтери зі спільноти. Якщо ви вважаєте цей плагін корисним, будь ласка, зробіть свій внесок у його розвиток.", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "Оцінка повинна бути в діапазоні від 0.0 (0%) до 1.0 (100%).", "Theme": "Тема", "Thinking...": "Думаю...", @@ -720,6 +720,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Напишіть стислий зміст у 50 слів, який узагальнює [тема або ключове слово].", "Yesterday": "Вчора", "You": "Ви", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Ви можете налаштувати ваші взаємодії з мовними моделями, додавши спогади через кнопку 'Керувати' внизу, що зробить їх більш корисними та персоналізованими для вас.", "You cannot clone a base model": "Базову модель не можна клонувати", "You have no archived conversations.": "У вас немає архівованих розмов.", diff --git a/src/lib/i18n/locales/vi-VN/translation.json b/src/lib/i18n/locales/vi-VN/translation.json index dcd595ea77..2fe4de4473 100644 --- a/src/lib/i18n/locales/vi-VN/translation.json +++ b/src/lib/i18n/locales/vi-VN/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "ký tự số và gạch nối", "Already have an account?": "Bạn đã có tài khoản?", "an assistant": "trợ lý", - "An error occurred while processing files.": "", "and": "và", "and create a new shared link.": "và tạo một link chia sẻ mới", "API Base URL": "Đường dẫn tới API (API Base URL)", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "Nhập Google PSE Engine Id", "Enter Image Size (e.g. 512x512)": "Nhập Kích thước ảnh (vd: 512x512)", "Enter language codes": "Nhập mã ngôn ngữ", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "Nhập thẻ mô hình (vd: {{modelTag}})", "Enter Number of Steps (e.g. 50)": "Nhập số Steps (vd: 50)", @@ -288,7 +285,7 @@ "File": "Tệp", "File Mode": "Chế độ Tệp văn bản", "File not found.": "Không tìm thấy tệp.", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "Tệp", "Filter is now globally disabled": "Bộ lọc hiện đã bị vô hiệu hóa trên toàn hệ thống", "Filter is now globally enabled": "Bộ lọc hiện được kích hoạt trên toàn hệ thống", @@ -365,6 +362,7 @@ "large language models, locally.": "các mô hình ngôn ngữ lớn, mang tính địa phương", "Last Active": "Truy cập gần nhất", "Last Modified": "Lần sửa gần nhất", + "Leave empty for unlimited": "", "Light": "Sáng", "Listening...": "Đang nghe...", "LLMs can make mistakes. Verify important information.": "Hệ thống có thể tạo ra nội dung không chính xác hoặc sai. Hãy kiểm chứng kỹ lưỡng thông tin trước khi tiếp nhận và sử dụng.", @@ -378,9 +376,9 @@ "Manage Ollama Models": "Quản lý mô hình với Ollama", "Manage Pipelines": "Quản lý Pipelines", "March": "Tháng 3", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "Tokens tối đa (num_predict)", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Tối đa 3 mô hình có thể được tải xuống cùng lúc. Vui lòng thử lại sau.", "May": "Tháng 5", "Memories accessible by LLMs will be shown here.": "Memory có thể truy cập bởi LLMs sẽ hiển thị ở đây.", @@ -618,6 +616,8 @@ "Tfs Z": "Tfs Z", "Thanks for your feedback!": "Cám ơn bạn đã gửi phản hồi!", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "Các nhà phát triển đằng sau plugin này là những tình nguyện viên nhiệt huyết của cộng đồng. Nếu bạn thấy plugin này hữu ích, vui lòng cân nhắc đóng góp cho sự phát triển của nó.", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "Điểm (score) phải có giá trị từ 0,0 (0%) đến 1,0 (100%).", "Theme": "Chủ đề", "Thinking...": "Đang suy luận...", @@ -717,6 +717,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Viết một tóm tắt trong vòng 50 từ cho [chủ đề hoặc từ khóa].", "Yesterday": "Hôm qua", "You": "Bạn", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Bạn có thể cá nhân hóa các tương tác của mình với LLM bằng cách thêm bộ nhớ thông qua nút 'Quản lý' bên dưới, làm cho chúng hữu ích hơn và phù hợp với bạn hơn.", "You cannot clone a base model": "Bạn không thể nhân bản base model", "You have no archived conversations.": "Bạn chưa lưu trữ một nội dung chat nào", diff --git a/src/lib/i18n/locales/zh-CN/translation.json b/src/lib/i18n/locales/zh-CN/translation.json index fd90599df5..5a548c43ff 100644 --- a/src/lib/i18n/locales/zh-CN/translation.json +++ b/src/lib/i18n/locales/zh-CN/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "字母数字字符和连字符", "Already have an account?": "已经拥有账号了?", "an assistant": "助手", - "An error occurred while processing files.": "", "and": "和", "and create a new shared link.": "并创建一个新的分享链接。", "API Base URL": "API 基础地址", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "输入 Google PSE 引擎 ID", "Enter Image Size (e.g. 512x512)": "输入图像分辨率 (例如:512x512)", "Enter language codes": "输入语言代码", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "输入模型 ID", "Enter model tag (e.g. {{modelTag}})": "输入模型标签 (例如:{{modelTag}})", "Enter Number of Steps (e.g. 50)": "输入步骤数 (Steps) (例如:50)", @@ -288,7 +285,7 @@ "File": "文件", "File Mode": "文件模式", "File not found.": "文件未找到。", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "文件", "Filter is now globally disabled": "过滤器已全局禁用", "Filter is now globally enabled": "过滤器已全局启用", @@ -365,6 +362,7 @@ "large language models, locally.": "本地大语言模型", "Last Active": "最后在线时间", "Last Modified": "最后修改时间", + "Leave empty for unlimited": "", "Light": "浅色", "Listening...": "正在倾听...", "LLMs can make mistakes. Verify important information.": "大语言模型可能会生成误导性错误信息,请对关键信息加以验证。", @@ -378,9 +376,9 @@ "Manage Ollama Models": "管理 Ollama 模型", "Manage Pipelines": "管理 Pipeline", "March": "三月", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "最多 Token (num_predict)", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "最多可以同时下载 3 个模型,请稍后重试。", "May": "五月", "Memories accessible by LLMs will be shown here.": "大语言模型可访问的记忆将在此显示。", @@ -618,6 +616,8 @@ "Tfs Z": "Tfs Z", "Thanks for your feedback!": "感谢您的反馈!", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "本插件的背后开发者是社区中热情的志愿者。如果此插件有帮助到您,烦请考虑一下为它的开发做出贡献。", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "分值应介于 0.0(0%)和 1.0(100%)之间。", "Theme": "主题", "Thinking...": "正在思考...", @@ -717,6 +717,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "用 50 个字写一个总结 [主题或关键词]。", "Yesterday": "昨天", "You": "你", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "通过点击下方的“管理”按钮,你可以添加记忆,以个性化大语言模型的互动,使其更有用,更符合你的需求。", "You cannot clone a base model": "你不能复制基础模型", "You have no archived conversations.": "你没有已归档的对话。", diff --git a/src/lib/i18n/locales/zh-TW/translation.json b/src/lib/i18n/locales/zh-TW/translation.json index 37717bfc46..1ad449563e 100644 --- a/src/lib/i18n/locales/zh-TW/translation.json +++ b/src/lib/i18n/locales/zh-TW/translation.json @@ -52,7 +52,6 @@ "alphanumeric characters and hyphens": "英文字母、數字和連字號", "Already have an account?": "已經有帳號了嗎?", "an assistant": "一位助手", - "An error occurred while processing files.": "", "and": "和", "and create a new shared link.": "並建立新的共用連結。", "API Base URL": "API 基礎 URL", @@ -245,8 +244,6 @@ "Enter Google PSE Engine Id": "輸入 Google PSE 引擎 ID", "Enter Image Size (e.g. 512x512)": "輸入圖片大小(例如:512x512)", "Enter language codes": "輸入語言代碼", - "Enter Max File Count": "", - "Enter Max File Size(MB)": "", "Enter Model ID": "", "Enter model tag (e.g. {{modelTag}})": "輸入模型標籤(例如:{{modelTag}})", "Enter Number of Steps (e.g. 50)": "輸入步驟數(例如:50)", @@ -288,7 +285,7 @@ "File": "檔案", "File Mode": "檔案模式", "File not found.": "找不到檔案。", - "File size exceeds the limit of {{size}}MB": "", + "File size should not exceed {{maxSize}} MB.": "", "Files": "檔案", "Filter is now globally disabled": "篩選器現在已全域停用", "Filter is now globally enabled": "篩選器現在已全域啟用", @@ -365,6 +362,7 @@ "large language models, locally.": "在本機執行大型語言模型。", "Last Active": "上次活動時間", "Last Modified": "上次修改時間", + "Leave empty for unlimited": "", "Light": "淺色", "Listening...": "正在聆聽...", "LLMs can make mistakes. Verify important information.": "大型語言模型可能會出錯。請驗證重要資訊。", @@ -378,9 +376,9 @@ "Manage Ollama Models": "管理 Ollama 模型", "Manage Pipelines": "管理管線", "March": "3 月", - "Max File Count": "", - "Max File Size(MB)": "", "Max Tokens (num_predict)": "最大 token 數(num_predict)", + "Max Upload Count": "", + "Max Upload Size": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "最多可同時下載 3 個模型。請稍後再試。", "May": "5 月", "Memories accessible by LLMs will be shown here.": "可被大型語言模型存取的記憶將顯示在這裡。", @@ -619,6 +617,8 @@ "Tfs Z": "Tfs Z", "Thanks for your feedback!": "感謝您的回饋!", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "這個外掛背後的開發者是來自社群的熱情志願者。如果您覺得這個外掛很有幫助,請考慮為其開發做出貢獻。", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "分數應該是介於 0.0(0%)和 1.0(100%)之間的值。", "Theme": "主題", "Thinking...": "正在思考...", @@ -718,6 +718,7 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "用 50 字寫一篇總結 [主題或關鍵字] 的摘要。", "Yesterday": "昨天", "You": "您", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "您可以透過下方的「管理」按鈕新增記憶,將您與大型語言模型的互動個人化,讓它們更有幫助並更符合您的需求。", "You cannot clone a base model": "您無法複製基礎模型", "You have no archived conversations.": "您沒有已封存的對話。", From 7a024fbe1ef6abc94ca064f608c16d918aedf0a5 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Tue, 27 Aug 2024 18:18:40 +0200 Subject: [PATCH 89/91] refac --- src/lib/components/chat/Chat.svelte | 38 ++++++++++++++--------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/src/lib/components/chat/Chat.svelte b/src/lib/components/chat/Chat.svelte index 0bd7896799..3b3c9cf613 100644 --- a/src/lib/components/chat/Chat.svelte +++ b/src/lib/components/chat/Chat.svelte @@ -1679,25 +1679,6 @@
{/if} + + { + const model = $models.find((m) => m.id === e); + if (model) { + return [...a, model]; + } + return a; + }, [])} + bind:show={showControls} + bind:chatFiles + bind:params + bind:files + {submitPrompt} + {stopResponse} + modelId={selectedModelIds?.at(0) ?? null} + chatId={$chatId} + {eventTarget} +/> From fb9b7275ad3af53e8fa1db18484b06d4b5e692d1 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Tue, 27 Aug 2024 18:45:35 +0200 Subject: [PATCH 90/91] doc: changelog --- CHANGELOG.md | 26 ++++++++++++++++++++++++++ package-lock.json | 12 ++++++------ package.json | 2 +- 3 files changed, 33 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6b86b26001..1a39cf2df9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,32 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.3.16] - 2024-08-27 + +### Added + +- **🚀 Config DB Migration**: Migrated configuration handling from config.json to the database, enabling high-availability setups and load balancing across multiple Open WebUI instances. +- **🔗 Call Mode Activation via URL**: Added a 'call=true' URL search parameter enabling direct shortcuts to activate call mode, enhancing user interaction on mobile devices. +- **✨ TTS Content Control**: Added functionality to control how message content is segmented for Text-to-Speech (TTS) generation requests, allowing for more flexible speech output options. +- **😄 Show Knowledge Search Status**: Enhanced model usage transparency by displaying status when working with knowledge-augmented models, helping users understand the system's state during queries. +- **👆 Click-to-Copy for Codespan**: Enhanced interactive experience in the WebUI by allowing users to click to copy content from code spans directly. +- **🚫 API User Blocking via Model Filter**: Introduced the ability to block API users based on customized model filters, enhancing security and control over API access. +- **🎬 Call Overlay Styling**: Adjusted call overlay styling on large screens to not cover the entire interface, but only the chat control area, for a more unobtrusive interaction experience. + +### Fixed + +- **🔧 LaTeX Rendering Issue**: Addressed an issue that affected the correct rendering of LaTeX. +- **📁 File Leak Prevention**: Resolved the issue of uploaded files mistakenly being accessible across user chats. +- **🔧 Pipe Functions with '**files**' Param**: Fixed issues with '**files**' parameter not functioning correctly in pipe functions. +- **📝 Markdown Processing for RAG**: Fixed issues with processing Markdown in files. +- **🚫 Duplicate System Prompts**: Fixed bugs causing system prompts to duplicate. + +### Changed + +- **🔋 Wakelock Permission**: Optimized the activation of wakelock to only engage during call mode, conserving device resources and improving battery performance during idle periods. +- **🔍 Content-Type for Ollama Chats**: Added 'application/x-ndjson' content-type to '/api/chat' endpoint responses to match raw Ollama responses. +- **✋ Disable Signups Conditionally**: Implemented conditional logic to disable sign-ups when 'ENABLE_LOGIN_FORM' is set to false. + ## [0.3.15] - 2024-08-21 ### Added diff --git a/package-lock.json b/package-lock.json index d612dddcb8..c32a7adf80 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "open-webui", - "version": "0.3.15", + "version": "0.3.16", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "open-webui", - "version": "0.3.15", + "version": "0.3.16", "dependencies": { "@codemirror/lang-javascript": "^6.2.2", "@codemirror/lang-python": "^6.1.6", @@ -6576,12 +6576,12 @@ ] }, "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { diff --git a/package.json b/package.json index 7252d8829a..175830ef31 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "open-webui", - "version": "0.3.15", + "version": "0.3.16", "private": true, "scripts": { "dev": "npm run pyodide:fetch && vite dev --host", From 63c07721358c2543d8672a9c7e8e385899ba3e49 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Tue, 27 Aug 2024 18:48:56 +0200 Subject: [PATCH 91/91] Update uv.lock --- uv.lock | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/uv.lock b/uv.lock index 19e8af61f4..cfc4dcf5aa 100644 --- a/uv.lock +++ b/uv.lock @@ -4,13 +4,16 @@ resolution-markers = [ "python_full_version < '3.12' and platform_system == 'Darwin'", "python_full_version < '3.12' and platform_machine == 'aarch64' and platform_system == 'Linux'", "(python_full_version < '3.12' and platform_machine != 'aarch64' and platform_system != 'Darwin') or (python_full_version < '3.12' and platform_system != 'Darwin' and platform_system != 'Linux')", - "python_full_version < '3.12.4' and platform_system == 'Darwin'", + "python_full_version < '3.12' and platform_system == 'Darwin'", + "python_full_version >= '3.12' and python_full_version < '3.12.4' and platform_system == 'Darwin'", "python_full_version >= '3.12.4' and python_full_version < '3.13' and platform_system == 'Darwin'", "python_full_version >= '3.13' and platform_system == 'Darwin'", - "python_full_version < '3.12.4' and platform_machine == 'aarch64' and platform_system == 'Linux'", + "python_full_version < '3.12' and platform_machine == 'aarch64' and platform_system == 'Linux'", + "python_full_version >= '3.12' and python_full_version < '3.12.4' and platform_machine == 'aarch64' and platform_system == 'Linux'", "python_full_version >= '3.12.4' and python_full_version < '3.13' and platform_machine == 'aarch64' and platform_system == 'Linux'", "python_full_version >= '3.13' and platform_machine == 'aarch64' and platform_system == 'Linux'", - "(python_full_version < '3.12.4' and platform_machine != 'aarch64' and platform_system != 'Darwin') or (python_full_version < '3.12.4' and platform_system != 'Darwin' and platform_system != 'Linux')", + "(python_full_version < '3.12' and platform_machine != 'aarch64' and platform_system != 'Darwin') or (python_full_version < '3.12' and platform_system != 'Darwin' and platform_system != 'Linux')", + "(python_full_version >= '3.12' and python_full_version < '3.12.4' and platform_machine != 'aarch64' and platform_system != 'Darwin') or (python_full_version >= '3.12' and python_full_version < '3.12.4' and platform_system != 'Darwin' and platform_system != 'Linux')", "(python_full_version >= '3.12.4' and python_full_version < '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin') or (python_full_version >= '3.12.4' and python_full_version < '3.13' and platform_system != 'Darwin' and platform_system != 'Linux')", "(python_full_version >= '3.13' and platform_machine != 'aarch64' and platform_system != 'Darwin') or (python_full_version >= '3.13' and platform_system != 'Darwin' and platform_system != 'Linux')", ] @@ -2102,7 +2105,7 @@ wheels = [ [[package]] name = "open-webui" -version = "0.3.15" +version = "0.3.16" source = { editable = "." } dependencies = [ { name = "aiohttp" }, @@ -2131,6 +2134,7 @@ dependencies = [ { name = "langchain-community" }, { name = "langfuse" }, { name = "markdown" }, + { name = "nltk" }, { name = "openai" }, { name = "opencv-python-headless" }, { name = "openpyxl" }, @@ -2197,6 +2201,7 @@ requires-dist = [ { name = "langchain-community", specifier = "==0.2.12" }, { name = "langfuse", specifier = "==2.44.0" }, { name = "markdown", specifier = "==3.7" }, + { name = "nltk", specifier = "==3.9.1" }, { name = "openai" }, { name = "opencv-python-headless", specifier = "==4.10.0.84" }, { name = "openpyxl", specifier = "==3.1.5" }, @@ -3836,8 +3841,6 @@ dependencies = [ wheels = [ { url = "https://files.pythonhosted.org/packages/33/3e/a2f59384587eff6aeb7d37b6780de7fedd2214935e27520430ca9f5b7975/triton-3.0.0-1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5ce8520437c602fb633f1324cc3871c47bee3b67acf9756c1a66309b60e3216c", size = 209438883 }, { url = "https://files.pythonhosted.org/packages/fe/7b/7757205dee3628f75e7991021d15cd1bd0c9b044ca9affe99b50879fc0e1/triton-3.0.0-1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:34e509deb77f1c067d8640725ef00c5cbfcb2052a1a3cb6a6d343841f92624eb", size = 209464695 }, - { url = "https://files.pythonhosted.org/packages/ea/6b/1d72cc8a7379822dadf050474add7d8b73b02c35057446b6f17d27cb9ea2/triton-3.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cd34f19a8582af96e6291d4afce25dac08cb2a5d218c599163761e8e0827208e", size = 209442823 }, - { url = "https://files.pythonhosted.org/packages/ae/b2/048c9ecfdba0e6b0ae3c02eed2d9dd3e9e990a6d46da98555cf0c2232168/triton-3.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0d5e10de8c011adeb7c878c6ce0dd6073b14367749e34467f1cff2bde1b78253", size = 209468633 }, ] [[package]]