From 3321a1b922588dfc7d137646c79ed69a3b327aeb Mon Sep 17 00:00:00 2001 From: Yanyutin753 <132346501+Yanyutin753@users.noreply.github.com> Date: Sun, 28 Apr 2024 12:00:52 +0800 Subject: [PATCH 01/75] =?UTF-8?q?=E2=9C=A8=20expend=20the=20image=20format?= =?UTF-8?q?=20type=20after=20the=20file=20is=20downloaded?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/apps/images/main.py | 60 +++++++++++++++++++++++-------------- 1 file changed, 38 insertions(+), 22 deletions(-) diff --git a/backend/apps/images/main.py b/backend/apps/images/main.py index fd72b203c..8c5457e8a 100644 --- a/backend/apps/images/main.py +++ b/backend/apps/images/main.py @@ -24,6 +24,7 @@ from utils.misc import calculate_sha256 from typing import Optional from pydantic import BaseModel from pathlib import Path +import mimetypes import uuid import base64 import json @@ -315,38 +316,47 @@ class GenerateImageForm(BaseModel): def save_b64_image(b64_str): - image_id = str(uuid.uuid4()) - file_path = IMAGE_CACHE_DIR.joinpath(f"{image_id}.png") - try: - # Split the base64 string to get the actual image data - img_data = base64.b64decode(b64_str) + header, encoded = b64_str.split(",", 1) + mime_type = header.split(";")[0] - # Write the image data to a file + image_format = mimetypes.guess_extension(mime_type) + img_data = base64.b64decode(encoded) + image_id = str(uuid.uuid4()) + file_path = IMAGE_CACHE_DIR / f"{image_id}{image_format}" with open(file_path, "wb") as f: f.write(img_data) - - return image_id + return image_id, image_format except Exception as e: - log.error(f"Error saving image: {e}") - return None + log.exception(f"Error saving image: {e}") + return None, None def save_url_image(url): image_id = str(uuid.uuid4()) - file_path = IMAGE_CACHE_DIR.joinpath(f"{image_id}.png") - try: r = requests.get(url) r.raise_for_status() + if r.headers["content-type"].split("/")[0] == "image": - with open(file_path, "wb") as image_file: - image_file.write(r.content) + mime_type = r.headers["content-type"] + image_format = mimetypes.guess_extension(mime_type) + + if not image_format: + raise ValueError("Could not determine image type from MIME type") + + file_path = IMAGE_CACHE_DIR.joinpath(f"{image_id}{image_format}") + with open(file_path, "wb") as image_file: + for chunk in r.iter_content(chunk_size=8192): + image_file.write(chunk) + return image_id, image_format + else: + log.error(f"Url does not point to an image.") + return None, None - return image_id except Exception as e: log.exception(f"Error saving image: {e}") - return None + return None, None @app.post("/generations") @@ -385,8 +395,10 @@ def generate_image( images = [] for image in res["data"]: - image_id = save_b64_image(image["b64_json"]) - images.append({"url": f"/cache/image/generations/{image_id}.png"}) + image_id, image_format = save_b64_image(image["b64_json"]) + images.append( + {"url": f"/cache/image/generations/{image_id}{image_format}"} + ) file_body_path = IMAGE_CACHE_DIR.joinpath(f"{image_id}.json") with open(file_body_path, "w") as f: @@ -422,8 +434,10 @@ def generate_image( images = [] for image in res["data"]: - image_id = save_url_image(image["url"]) - images.append({"url": f"/cache/image/generations/{image_id}.png"}) + image_id, image_format = save_url_image(image["url"]) + images.append( + {"url": f"/cache/image/generations/{image_id}{image_format}"} + ) file_body_path = IMAGE_CACHE_DIR.joinpath(f"{image_id}.json") with open(file_body_path, "w") as f: @@ -460,8 +474,10 @@ def generate_image( images = [] for image in res["images"]: - image_id = save_b64_image(image) - images.append({"url": f"/cache/image/generations/{image_id}.png"}) + image_id, image_format = save_b64_image(image) + images.append( + {"url": f"/cache/image/generations/{image_id}{image_format}"} + ) file_body_path = IMAGE_CACHE_DIR.joinpath(f"{image_id}.json") with open(file_body_path, "w") as f: From c0bb32d76820fbb6b46fd214c4a06b1d6bdd8c73 Mon Sep 17 00:00:00 2001 From: Yanyutin753 <132346501+Yanyutin753@users.noreply.github.com> Date: Tue, 30 Apr 2024 13:51:30 +0800 Subject: [PATCH 02/75] =?UTF-8?q?=F0=9F=93=8C=20fixed=20a=20bug=20where=20?= =?UTF-8?q?RAG=20would=20not=20reply=20after=20not=20reading=20the=20file?= =?UTF-8?q?=20correctly?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/apps/rag/utils.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/backend/apps/rag/utils.py b/backend/apps/rag/utils.py index 10f1f7bed..9941eb46c 100644 --- a/backend/apps/rag/utils.py +++ b/backend/apps/rag/utils.py @@ -321,8 +321,12 @@ def rag_messages( context_string = "" for context in relevant_contexts: - items = context["documents"][0] - context_string += "\n\n".join(items) + try: + if "documents" in context: + items = [item for item in context["documents"][0] if item is not None] + context_string += "\n\n".join(items) + except Exception as e: + log.exception(e) context_string = context_string.strip() ra_content = rag_template( From 80413a7628a86376b0d990e6d792b92e5a954404 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Tue, 30 Apr 2024 11:52:08 -0700 Subject: [PATCH 03/75] refac --- backend/apps/images/main.py | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/backend/apps/images/main.py b/backend/apps/images/main.py index 8c5457e8a..88cecc940 100644 --- a/backend/apps/images/main.py +++ b/backend/apps/images/main.py @@ -320,16 +320,19 @@ def save_b64_image(b64_str): header, encoded = b64_str.split(",", 1) mime_type = header.split(";")[0] - image_format = mimetypes.guess_extension(mime_type) img_data = base64.b64decode(encoded) + image_id = str(uuid.uuid4()) - file_path = IMAGE_CACHE_DIR / f"{image_id}{image_format}" + image_format = mimetypes.guess_extension(mime_type) + + image_filename = f"{image_id}{image_format}" + file_path = IMAGE_CACHE_DIR / f"{image_filename}" with open(file_path, "wb") as f: f.write(img_data) - return image_id, image_format + return image_filename except Exception as e: log.exception(f"Error saving image: {e}") - return None, None + return None def save_url_image(url): @@ -395,10 +398,8 @@ def generate_image( images = [] for image in res["data"]: - image_id, image_format = save_b64_image(image["b64_json"]) - images.append( - {"url": f"/cache/image/generations/{image_id}{image_format}"} - ) + image_filename = save_b64_image(image["b64_json"]) + images.append({"url": f"/cache/image/generations/{image_filename}"}) file_body_path = IMAGE_CACHE_DIR.joinpath(f"{image_id}.json") with open(file_body_path, "w") as f: @@ -474,10 +475,8 @@ def generate_image( images = [] for image in res["images"]: - image_id, image_format = save_b64_image(image) - images.append( - {"url": f"/cache/image/generations/{image_id}{image_format}"} - ) + image_filename = save_b64_image(image) + images.append({"url": f"/cache/image/generations/{image_filename}"}) file_body_path = IMAGE_CACHE_DIR.joinpath(f"{image_id}.json") with open(file_body_path, "w") as f: From b763535c92a516c8f248ceecf7f7015a4134fa17 Mon Sep 17 00:00:00 2001 From: Silentoplayz <50341825+Silentoplayz@users.noreply.github.com> Date: Tue, 30 Apr 2024 19:10:44 +0000 Subject: [PATCH 04/75] Added: Environment Variable ANONYMIZED_TELEMETRY=False to .env.example & Dockerfile files to prevent/disable the creation of telemetry_user_id file created by Chroma in Docker installation methods. --- .env.example | 3 ++- Dockerfile | 9 +++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/.env.example b/.env.example index 05854cd0f..a3e37d9a2 100644 --- a/.env.example +++ b/.env.example @@ -10,7 +10,8 @@ OPENAI_API_KEY='' # DO NOT TRACK SCARF_NO_ANALYTICS=true DO_NOT_TRACK=true +ANONYMIZED_TELEMETRY=false # Use locally bundled version of the LiteLLM cost map json # to avoid repetitive startup connections -LITELLM_LOCAL_MODEL_COST_MAP="True" +LITELLM_LOCAL_MODEL_COST_MAP="true" \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index c43cd8cb3..77f85c21d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -51,11 +51,12 @@ ENV OLLAMA_BASE_URL="/ollama" \ ENV OPENAI_API_KEY="" \ WEBUI_SECRET_KEY="" \ SCARF_NO_ANALYTICS=true \ - DO_NOT_TRACK=true + DO_NOT_TRACK=true \ + ANONYMIZED_TELEMETRY=false # Use locally bundled version of the LiteLLM cost map json # to avoid repetitive startup connections -ENV LITELLM_LOCAL_MODEL_COST_MAP="True" +ENV LITELLM_LOCAL_MODEL_COST_MAP="true" #### Other models ######################################################### @@ -74,6 +75,10 @@ ENV HF_HOME="/app/backend/data/cache/embedding/models" WORKDIR /app/backend +ENV HOME /root +RUN mkdir -p $HOME/.cache/chroma +RUN echo -n 00000000-0000-0000-0000-000000000000 > $HOME/.cache/chroma/telemetry_user_id + RUN if [ "$USE_OLLAMA" = "true" ]; then \ apt-get update && \ # Install pandoc and netcat From 79bbc2be2308d2dbe9d2207d1b1247ea0e899843 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Tue, 30 Apr 2024 12:34:56 -0700 Subject: [PATCH 05/75] chore: formatting --- src/lib/i18n/locales/bg-BG/translation.json | 10 ++- src/lib/i18n/locales/bn-BD/translation.json | 15 ++-- src/lib/i18n/locales/ca-ES/translation.json | 18 ++-- src/lib/i18n/locales/de-DE/translation.json | 16 ++-- src/lib/i18n/locales/dg-DG/translation.json | 96 +++++++++++++++++---- src/lib/i18n/locales/en-GB/translation.json | 7 +- src/lib/i18n/locales/en-US/translation.json | 13 +-- src/lib/i18n/locales/es-ES/translation.json | 48 ++++++++--- src/lib/i18n/locales/fa-IR/translation.json | 18 ++-- src/lib/i18n/locales/fr-CA/translation.json | 18 ++-- src/lib/i18n/locales/fr-FR/translation.json | 18 ++-- src/lib/i18n/locales/it-IT/translation.json | 19 ++-- src/lib/i18n/locales/ja-JP/translation.json | 18 ++-- src/lib/i18n/locales/ka-GE/translation.json | 18 ++-- src/lib/i18n/locales/ko-KR/translation.json | 18 ++-- src/lib/i18n/locales/nl-NL/translation.json | 18 ++-- src/lib/i18n/locales/pl-PL/translation.json | 11 +-- src/lib/i18n/locales/pt-BR/translation.json | 19 ++-- src/lib/i18n/locales/pt-PT/translation.json | 19 ++-- src/lib/i18n/locales/ru-RU/translation.json | 18 ++-- src/lib/i18n/locales/tr-TR/translation.json | 15 ++-- src/lib/i18n/locales/uk-UA/translation.json | 18 ++-- src/lib/i18n/locales/vi-VN/translation.json | 18 ++-- src/lib/i18n/locales/zh-CN/translation.json | 19 ++-- src/lib/i18n/locales/zh-TW/translation.json | 18 ++-- 25 files changed, 329 insertions(+), 194 deletions(-) diff --git a/src/lib/i18n/locales/bg-BG/translation.json b/src/lib/i18n/locales/bg-BG/translation.json index 425553a04..e59b624bf 100644 --- a/src/lib/i18n/locales/bg-BG/translation.json +++ b/src/lib/i18n/locales/bg-BG/translation.json @@ -158,7 +158,7 @@ "Enter Max Tokens (litellm_params.max_tokens)": "Въведете Max Tokens (litellm_params.max_tokens)", "Enter model tag (e.g. {{modelTag}})": "Въведете таг на модел (напр. {{modelTag}})", "Enter Number of Steps (e.g. 50)": "Въведете брой стъпки (напр. 50)", - "Enter Relevance Threshold": "", + "Enter Score": "", "Enter stop sequence": "Въведете стоп последователност", "Enter Top K": "Въведете Top K", "Enter URL (e.g. http://127.0.0.1:7860/)": "Въведете URL (напр. http://127.0.0.1:7860/)", @@ -177,12 +177,11 @@ "File Mode": "Файл Мод", "File not found.": "Файл не е намерен.", "Fingerprint spoofing detected: Unable to use initials as avatar. Defaulting to default profile image.": "", - "Fluidly stream large external response chunks": "", + "Fluidly stream large external response chunks": "Плавно предаване на големи части от външен отговор", "Focus chat input": "Фокусиране на чат вход", "Followed instructions perfectly": "", "Format your variables using square brackets like this:": "Форматирайте вашите променливи, като използвате квадратни скоби, както следва:", "From (Base Model)": "От (Базов модел)", - "Fluidly stream large external response chunks": "Плавно предаване на големи части от външен отговор", "Full Screen Mode": "На Цял екран", "General": "Основни", "General Settings": "Основни Настройки", @@ -222,6 +221,7 @@ "Manage Ollama Models": "Управление на Ollama Моделите", "Max Tokens": "Max Tokens", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Максимум 3 модели могат да бъдат сваляни едновременно. Моля, опитайте отново по-късно.", + "Minimum Score": "", "Mirostat": "Mirostat", "Mirostat Eta": "Mirostat Eta", "Mirostat Tau": "Mirostat Tau", @@ -254,6 +254,7 @@ "Not factually correct": "", "Not sure what to add?": "Не сте сигурни, какво да добавите?", "Not sure what to write? Switch to": "Не сте сигурни, какво да напишете? Превключете към", + "Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "", "Notifications": "Десктоп Известия", "Off": "Изкл.", "Okay, Let's Go!": "ОК, Нека започваме!", @@ -303,11 +304,11 @@ "Refused when it shouldn't have": "", "Regenerate": "", "Release Notes": "Бележки по изданието", - "Relevance Threshold": "", "Remove": "", "Repeat Last N": "Repeat Last N", "Repeat Penalty": "Repeat Penalty", "Request Mode": "Request Mode", + "Reranking model disabled": "", "Reranking model set to \"{{reranking_model}}\"": "", "Reset Vector Storage": "Ресет Vector Storage", "Response AutoCopy to Clipboard": "Аувтоматично копиране на отговор в клипборда", @@ -376,6 +377,7 @@ "Text-to-Speech Engine": "Text-to-Speech Engine", "Tfs Z": "Tfs Z", "Thanks for your feedback!": "", + "The score should be a value between 0.0 (0%) and 1.0 (100%).": "", "Theme": "Тема", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Това гарантира, че ценните ви разговори се запазват сигурно във вашата бекенд база данни. Благодарим ви!", "This setting does not sync across browsers or devices.": "Тази настройка не се синхронизира между браузъри или устройства.", diff --git a/src/lib/i18n/locales/bn-BD/translation.json b/src/lib/i18n/locales/bn-BD/translation.json index 4b45f485a..d4c8dd2c2 100644 --- a/src/lib/i18n/locales/bn-BD/translation.json +++ b/src/lib/i18n/locales/bn-BD/translation.json @@ -39,7 +39,7 @@ "API keys": "", "API RPM": "এপিআই আরপিএম", "Archive": "", - "Archived Chats": "", + "Archived Chats": "চ্যাট ইতিহাস সংরক্ষণাগার", "are allowed - Activate this command by typing": "অনুমোদিত - কমান্ডটি চালু করার জন্য লিখুন", "Are you sure?": "আপনি নিশ্চিত?", "Attention to detail": "", @@ -158,7 +158,7 @@ "Enter Max Tokens (litellm_params.max_tokens)": "সর্বোচ্চ টোকেন সংখ্যা দিন (litellm_params.max_tokens)", "Enter model tag (e.g. {{modelTag}})": "মডেল ট্যাগ লিখুন (e.g. {{modelTag}})", "Enter Number of Steps (e.g. 50)": "ধাপের সংখ্যা দিন (যেমন: 50)", - "Enter Relevance Threshold": "", + "Enter Score": "", "Enter stop sequence": "স্টপ সিকোয়েন্স লিখুন", "Enter Top K": "Top K লিখুন", "Enter URL (e.g. http://127.0.0.1:7860/)": "ইউআরএল দিন (যেমন http://127.0.0.1:7860/)", @@ -212,7 +212,6 @@ "Language": "ভাষা", "Last Active": "", "Light": "লাইট", - "OLED Dark": "OLED ডার্ক", "Listening...": "শুনছে...", "LLMs can make mistakes. Verify important information.": "LLM ভুল করতে পারে। গুরুত্বপূর্ণ তথ্য যাচাই করে নিন।", "Made by OpenWebUI Community": "OpenWebUI কমিউনিটিকর্তৃক নির্মিত", @@ -222,6 +221,7 @@ "Manage Ollama Models": "Ollama মডেলসূহ ব্যবস্থাপনা করুন", "Max Tokens": "সর্বোচ্চ টোকন", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "একসঙ্গে সর্বোচ্চ তিনটি মডেল ডাউনলোড করা যায়। দয়া করে পরে আবার চেষ্টা করুন।", + "Minimum Score": "", "Mirostat": "Mirostat", "Mirostat Eta": "Mirostat Eta", "Mirostat Tau": "Mirostat Tau", @@ -254,6 +254,7 @@ "Not factually correct": "", "Not sure what to add?": "কী যুক্ত করতে হবে নিশ্চিত না?", "Not sure what to write? Switch to": "কী লিখতে হবে নিশ্চিত না? পরিবর্তন করুন:", + "Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "", "Notifications": "নোটিফিকেশনসমূহ", "Off": "বন্ধ", "Okay, Let's Go!": "ঠিক আছে, চলুন যাই!", @@ -286,8 +287,9 @@ "Permission denied when accessing microphone: {{error}}": "মাইক্রোফোন ব্যবহারের অনুমতি পাওয়া যায়নি: {{error}}", "Plain text (.txt)": "", "Playground": "খেলাঘর", - "Archived Chats": "চ্যাট ইতিহাস সংরক্ষণাগার", - "Profile": "প্রোফাইল", + "Positive attitude": "", + "Profile Image": "", + "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "", "Prompt Content": "প্রম্পট কন্টেন্ট", "Prompt suggestions": "প্রম্পট সাজেশনসমূহ", "Prompts": "প্রম্পটসমূহ", @@ -302,11 +304,11 @@ "Refused when it shouldn't have": "", "Regenerate": "", "Release Notes": "রিলিজ নোটসমূহ", - "Relevance Threshold": "", "Remove": "", "Repeat Last N": "রিপিট Last N", "Repeat Penalty": "রিপিট প্যানাল্টি", "Request Mode": "রিকোয়েস্ট মোড", + "Reranking model disabled": "", "Reranking model set to \"{{reranking_model}}\"": "", "Reset Vector Storage": "ভেক্টর স্টোরেজ রিসেট করুন", "Response AutoCopy to Clipboard": "রেসপন্সগুলো স্বয়ংক্রিভাবে ক্লিপবোর্ডে কপি হবে", @@ -375,6 +377,7 @@ "Text-to-Speech Engine": "টেক্সট-টু-স্পিচ ইঞ্জিন", "Tfs Z": "Tfs Z", "Thanks for your feedback!": "", + "The score should be a value between 0.0 (0%) and 1.0 (100%).": "", "Theme": "থিম", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "এটা নিশ্চিত করে যে, আপনার গুরুত্বপূর্ণ আলোচনা নিরাপদে আপনার ব্যাকএন্ড ডেটাবেজে সংরক্ষিত আছে। ধন্যবাদ!", "This setting does not sync across browsers or devices.": "এই সেটিং অন্যন্য ব্রাউজার বা ডিভাইসের সাথে সিঙ্ক্রোনাইজ নয় না।", diff --git a/src/lib/i18n/locales/ca-ES/translation.json b/src/lib/i18n/locales/ca-ES/translation.json index 71d5962b2..d38e7c2ae 100644 --- a/src/lib/i18n/locales/ca-ES/translation.json +++ b/src/lib/i18n/locales/ca-ES/translation.json @@ -39,7 +39,7 @@ "API keys": "", "API RPM": "RPM de l'API", "Archive": "", - "Archived Chats": "", + "Archived Chats": "Arxiu d'historial de xat", "are allowed - Activate this command by typing": "estan permesos - Activa aquesta comanda escrivint", "Are you sure?": "Estàs segur?", "Attention to detail": "", @@ -158,7 +158,7 @@ "Enter Max Tokens (litellm_params.max_tokens)": "Introdueix el Màxim de Tokens (litellm_params.max_tokens)", "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 Relevance Threshold": "", + "Enter Score": "", "Enter stop sequence": "Introdueix la seqüència de parada", "Enter Top K": "Introdueix Top K", "Enter URL (e.g. http://127.0.0.1:7860/)": "Introdueix l'URL (p. ex. http://127.0.0.1:7860/)", @@ -177,12 +177,11 @@ "File Mode": "Mode Arxiu", "File not found.": "Arxiu no trobat.", "Fingerprint spoofing detected: Unable to use initials as avatar. Defaulting to default profile image.": "", - "Fluidly stream large external response chunks": "", + "Fluidly stream large external response chunks": "Transmita con fluidez grandes fragmentos de respuesta externa", "Focus chat input": "Enfoca l'entrada del xat", "Followed instructions perfectly": "", "Format your variables using square brackets like this:": "Formata les teves variables utilitzant claudàtors així:", "From (Base Model)": "Des de (Model Base)", - "Fluidly stream large external response chunks": "Transmita con fluidez grandes fragmentos de respuesta externa", "Full Screen Mode": "Mode de Pantalla Completa", "General": "General", "General Settings": "Configuració General", @@ -213,7 +212,6 @@ "Language": "Idioma", "Last Active": "", "Light": "Clar", - "OLED Dark": "OLED escuro", "Listening...": "Escoltant...", "LLMs can make mistakes. Verify important information.": "Els LLMs poden cometre errors. Verifica la informació important.", "Made by OpenWebUI Community": "Creat per la Comunitat OpenWebUI", @@ -223,6 +221,7 @@ "Manage Ollama Models": "Gestiona Models Ollama", "Max Tokens": "Màxim de Tokens", "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.", + "Minimum Score": "", "Mirostat": "Mirostat", "Mirostat Eta": "Eta de Mirostat", "Mirostat Tau": "Tau de Mirostat", @@ -255,6 +254,7 @@ "Not factually correct": "", "Not sure what to add?": "No estàs segur del que afegir?", "Not sure what to write? Switch to": "No estàs segur del que escriure? Canvia a", + "Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "", "Notifications": "Notificacions d'Escriptori", "Off": "Desactivat", "Okay, Let's Go!": "D'acord, Anem!", @@ -287,8 +287,9 @@ "Permission denied when accessing microphone: {{error}}": "Permís denegat en accedir al micròfon: {{error}}", "Plain text (.txt)": "", "Playground": "Zona de Jocs", - "Archived Chats": "Arxiu d'historial de xat", - "Profile": "Perfil", + "Positive attitude": "", + "Profile Image": "", + "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "", "Prompt Content": "Contingut del Prompt", "Prompt suggestions": "Suggeriments de Prompt", "Prompts": "Prompts", @@ -303,11 +304,11 @@ "Refused when it shouldn't have": "", "Regenerate": "", "Release Notes": "Notes de la Versió", - "Relevance Threshold": "", "Remove": "", "Repeat Last N": "Repeteix Últim N", "Repeat Penalty": "Penalització de Repetició", "Request Mode": "Mode de Sol·licitud", + "Reranking model disabled": "", "Reranking model set to \"{{reranking_model}}\"": "", "Reset Vector Storage": "Reinicia l'Emmagatzematge de Vectors", "Response AutoCopy to Clipboard": "Resposta AutoCopiar al Portapapers", @@ -376,6 +377,7 @@ "Text-to-Speech Engine": "Motor de Text a Veu", "Tfs Z": "Tfs Z", "Thanks for your feedback!": "", + "The score should be a value between 0.0 (0%) and 1.0 (100%).": "", "Theme": "Tema", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Això assegura que les teves converses valuoses queden segurament guardades a la teva base de dades backend. Gràcies!", "This setting does not sync across browsers or devices.": "Aquesta configuració no es sincronitza entre navegadors ni dispositius.", diff --git a/src/lib/i18n/locales/de-DE/translation.json b/src/lib/i18n/locales/de-DE/translation.json index f3037a8f0..07b87c540 100644 --- a/src/lib/i18n/locales/de-DE/translation.json +++ b/src/lib/i18n/locales/de-DE/translation.json @@ -158,7 +158,7 @@ "Enter Max Tokens (litellm_params.max_tokens)": "Gib die maximalen Token ein (litellm_params.max_tokens) an", "Enter model tag (e.g. {{modelTag}})": "Gib den Model-Tag ein", "Enter Number of Steps (e.g. 50)": "Gib die Anzahl an Schritten ein (z.B. 50)", - "Enter Relevance Threshold": "Gib die Relevanzschwelle", + "Enter Score": "", "Enter stop sequence": "Stop-Sequenz eingeben", "Enter Top K": "Gib Top K ein", "Enter URL (e.g. http://127.0.0.1:7860/)": "Gib die URL ein (z.B. http://127.0.0.1:7860/)", @@ -177,12 +177,11 @@ "File Mode": "File Modus", "File not found.": "Datei nicht gefunden.", "Fingerprint spoofing detected: Unable to use initials as avatar. Defaulting to default profile image.": "Fingerprint spoofing erkannt: Initialen können nicht als Avatar verwendet werden. Es wird auf das Standardprofilbild zurückgegriffen.", - "Fluidly stream large external response chunks": "Flüssiges Streamen großer externer Antwortblöcke", + "Fluidly stream large external response chunks": "Streamen Sie große externe Antwortblöcke flüssig", "Focus chat input": "Chat-Eingabe fokussieren", "Followed instructions perfectly": "Anweisungen perfekt befolgt", "Format your variables using square brackets like this:": "Formatiere deine Variablen mit eckigen Klammern wie folgt:", "From (Base Model)": "Von (Basismodell)", - "Fluidly stream large external response chunks": "Streamen Sie große externe Antwortblöcke flüssig", "Full Screen Mode": "Vollbildmodus", "General": "Allgemein", "General Settings": "Allgemeine Einstellungen", @@ -213,7 +212,6 @@ "Language": "Sprache", "Last Active": "Zuletzt aktiv", "Light": "Hell", - "OLED Dark": "OLED Dunkel", "Listening...": "Hören...", "LLMs can make mistakes. Verify important information.": "LLMs können Fehler machen. Überprüfe wichtige Informationen.", "Made by OpenWebUI Community": "Von der OpenWebUI-Community", @@ -223,6 +221,7 @@ "Manage Ollama Models": "Ollama-Modelle verwalten", "Max Tokens": "Maximale Tokens", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Es können maximal 3 Modelle gleichzeitig heruntergeladen werden. Bitte versuche es später erneut.", + "Minimum Score": "", "Mirostat": "Mirostat", "Mirostat Eta": "Mirostat Eta", "Mirostat Tau": "Mirostat Tau", @@ -255,6 +254,7 @@ "Not factually correct": "Nicht sachlich korrekt.", "Not sure what to add?": "Nicht sicher, was hinzugefügt werden soll?", "Not sure what to write? Switch to": "Nicht sicher, was Du schreiben sollst? Wechsel zu", + "Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "", "Notifications": "Desktop-Benachrichtigungen", "Off": "Aus", "Okay, Let's Go!": "Okay, los geht's!", @@ -286,13 +286,10 @@ "pending": "ausstehend", "Permission denied when accessing microphone: {{error}}": "Zugriff auf das Mikrofon verweigert: {{error}}", "Plain text (.txt)": "Nur Text (.txt)", - "Playground": "Playground", + "Playground": "Spielplatz", "Positive attitude": "Positive Einstellung", "Profile Image": "Profilbild", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Prompt (z.B. Erzähle mir eine interessante Tatsache über das Römische Reich.", - "Playground": "Spielplatz", - - "Profile": "Profil", "Prompt Content": "Prompt-Inhalt", "Prompt suggestions": "Prompt-Vorschläge", "Prompts": "Prompts", @@ -307,11 +304,11 @@ "Refused when it shouldn't have": "Abgelehnt, obwohl es nicht hätte sein sollen.", "Regenerate": "Neu generieren", "Release Notes": "Versionshinweise", - "Relevance Threshold": "", "Remove": "Entfernen", "Repeat Last N": "Repeat Last N", "Repeat Penalty": "Repeat Penalty", "Request Mode": "Request-Modus", + "Reranking model disabled": "", "Reranking model set to \"{{reranking_model}}\"": "", "Reset Vector Storage": "Vektorspeicher zurücksetzen", "Response AutoCopy to Clipboard": "Antwort automatisch in die Zwischenablage kopieren", @@ -380,6 +377,7 @@ "Text-to-Speech Engine": "Text-zu-Sprache-Engine", "Tfs Z": "Tfs Z", "Thanks for your feedback!": "Danke für dein Feedback", + "The score should be a value between 0.0 (0%) and 1.0 (100%).": "", "Theme": "Design", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Dadurch werden deine wertvollen Unterhaltungen sicher in der Backend-Datenbank gespeichert. Vielen Dank!", "This setting does not sync across browsers or devices.": "Diese Einstellung wird nicht zwischen Browsern oder Geräten synchronisiert.", diff --git a/src/lib/i18n/locales/dg-DG/translation.json b/src/lib/i18n/locales/dg-DG/translation.json index 24cf140c6..fc4c0f992 100644 --- a/src/lib/i18n/locales/dg-DG/translation.json +++ b/src/lib/i18n/locales/dg-DG/translation.json @@ -4,11 +4,12 @@ "(e.g. `sh webui.sh --api`)": "(such e.g. `sh webui.sh --api`)", "(latest)": "(much latest)", "{{modelName}} is thinking...": "{{modelName}} is thinkin'...", + "{{user}}'s Chats": "", "{{webUIName}} Backend Required": "{{webUIName}} Backend Much Required", "a user": "such user", "About": "Much About", "Account": "Account", - "Action": "Action", + "Accurate information": "", "Add a model": "Add a model", "Add a model tag name": "Add a model tag name", "Add a short description about what this modelfile does": "Add short description about what this modelfile does", @@ -17,7 +18,8 @@ "Add Docs": "Add Docs", "Add Files": "Add Files", "Add message": "Add Prompt", - "add tags": "add tags", + "Add Model": "", + "Add Tags": "", "Adjusting these settings will apply changes universally to all users.": "Adjusting these settings will apply changes to all users. Such universal, very wow.", "admin": "admin", "Admin Panel": "Admin Panel", @@ -33,9 +35,14 @@ "and": "and", "API Base URL": "API Base URL", "API Key": "API Key", + "API Key created.": "", + "API keys": "", "API RPM": "API RPM", + "Archive": "", + "Archived Chats": "", "are allowed - Activate this command by typing": "are allowed. Activate typing", "Are you sure?": "Such certainty?", + "Attention to detail": "", "Audio": "Audio", "Auto-playback response": "Auto-playback response", "Auto-send input after 3 sec.": "Auto-send after 3 sec.", @@ -43,6 +50,8 @@ "AUTOMATIC1111 Base URL is required.": "AUTOMATIC1111 Base URL is required.", "available!": "available! So excite!", "Back": "Back", + "Bad Response": "", + "Being lazy": "", "Builder Mode": "Builder Mode", "Cancel": "Cancel", "Categories": "Categories", @@ -66,20 +75,27 @@ "Click on the user role button to change a user's role.": "Click user role button to change role.", "Close": "Close", "Collection": "Collection", + "ComfyUI": "", + "ComfyUI Base URL": "", + "ComfyUI Base URL is required.": "", "Command": "Command", "Confirm Password": "Confirm Password", "Connections": "Connections", "Content": "Content", "Context Length": "Context Length", + "Continue Response": "", "Conversation Mode": "Conversation Mode", + "Copied shared chat URL to clipboard!": "", + "Copy": "", "Copy last code block": "Copy last code block", "Copy last response": "Copy last response", + "Copy Link": "", "Copying to clipboard was successful!": "Copying to clipboard was success! Very success!", "Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "Create short phrase, 3-5 word, as header for query, much strict, avoid 'title':", "Create a modelfile": "Create modelfile", "Create Account": "Create Account", "Created at": "Created at", - "Created by": "Created by", + "Created At": "", "Current Model": "Current Model", "Current Password": "Current Password", "Custom": "Custom", @@ -89,18 +105,22 @@ "DD/MM/YYYY HH:mm": "DD/MM/YYYY HH:mm", "Default": "Default", "Default (Automatic1111)": "Default (Automatic1111)", + "Default (SentenceTransformers)": "", "Default (Web API)": "Default (Web API)", "Default model updated": "Default model much updated", "Default Prompt Suggestions": "Default Prompt Suggestions", "Default User Role": "Default User Role", "delete": "delete", + "Delete": "", "Delete a model": "Delete a model", "Delete chat": "Delete chat", + "Delete Chat": "", "Delete Chats": "Delete Chats", + "Delete User": "", "Deleted {{deleteModelTag}}": "Deleted {{deleteModelTag}}", - "Deleted {tagName}": "Deleted {tagName}", + "Deleted {{tagName}}": "", "Description": "Description", - "Notifications": "Notifications", + "Didn't fully follow instructions": "", "Disabled": "Disabled", "Discover a modelfile": "Discover modelfile", "Discover a prompt": "Discover a prompt", @@ -113,19 +133,21 @@ "does not make any external connections, and your data stays securely on your locally hosted server.": "does not connect external, data stays safe locally.", "Don't Allow": "Don't Allow", "Don't have an account?": "No account? Much sad.", - "Download as a File": "Download as File", + "Don't like the style": "", + "Download": "", "Download Database": "Download Database", "Drop any files here to add to the conversation": "Drop files here to add to conversation", "e.g. '30s','10m'. Valid time units are 's', 'm', 'h'.": "e.g. '30s','10m'. Much time units are 's', 'm', 'h'.", + "Edit": "", "Edit Doc": "Edit Doge", "Edit User": "Edit Wowser", "Email": "Email", - "Embedding model: {{embedding_model}}": "Embedding model: {{embedding_model}}", + "Embedding Model Engine": "", + "Embedding model set to \"{{embedding_model}}\"": "", "Enable Chat History": "Activate Chat Story", "Enable New Sign Ups": "Enable New Bark Ups", "Enabled": "So Activated", "Enter {{role}} message here": "Enter {{role}} bork here", - "Enter API Key": "Enter API Bark", "Enter Chunk Overlap": "Enter Overlap of Chunks", "Enter Chunk Size": "Enter Size of Chunk", "Enter Image Size (e.g. 512x512)": "Enter Size of Wow (e.g. 512x512)", @@ -136,6 +158,7 @@ "Enter Max Tokens (litellm_params.max_tokens)": "Enter Maximum Tokens (litellm_params.max_tokens)", "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)", + "Enter Score": "", "Enter stop sequence": "Enter stop bark", "Enter Top K": "Enter Top Wow", "Enter URL (e.g. http://127.0.0.1:7860/)": "Enter URL (e.g. http://127.0.0.1:7860/)", @@ -148,21 +171,28 @@ "Export Documents Mapping": "Export Mappings of Dogos", "Export Modelfiles": "Export Modelfiles", "Export Prompts": "Export Promptos", + "Failed to create API Key.": "", "Failed to read clipboard contents": "Failed to read clipboard borks", + "Feel free to add specific details": "", "File Mode": "Bark Mode", "File not found.": "Bark not found.", "Fingerprint spoofing detected: Unable to use initials as avatar. Defaulting to default profile image.": "Fingerprint dogeing: Unable to use initials as avatar. Defaulting to default doge image.", "Fluidly stream large external response chunks": "Fluidly wow big chunks", "Focus chat input": "Focus chat bork", + "Followed instructions perfectly": "", "Format your variables using square brackets like this:": "Format variables using square brackets like wow:", "From (Base Model)": "From (Base Wow)", "Full Screen Mode": "Much Full Bark Mode", "General": "Woweral", "General Settings": "General Doge Settings", + "Generation Info": "", + "Good Response": "", + "has no conversations.": "", "Hello, {{name}}": "Much helo, {{name}}", "Hide": "Hide", "Hide Additional Params": "Hide Extra Barkos", "How can I help you today?": "How can I halp u today?", + "Hybrid Search": "", "Image Generation (Experimental)": "Image Wow (Much Experiment)", "Image Generation Engine": "Image Engine", "Image Settings": "Settings for Wowmage", @@ -180,8 +210,8 @@ "Keep Alive": "Keep Wow", "Keyboard shortcuts": "Keyboard Barkcuts", "Language": "Doge Speak", + "Last Active": "", "Light": "Light", - "OLED Dark": "OLED Dark", "Listening...": "Listening...", "LLMs can make mistakes. Verify important information.": "LLMs can make borks. Verify important info.", "Made by OpenWebUI Community": "Made by OpenWebUI Community", @@ -191,14 +221,14 @@ "Manage Ollama Models": "Manage Ollama Wowdels", "Max Tokens": "Max Tokens", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Maximum of 3 models can be downloaded simultaneously. Please try again later.", + "Minimum Score": "", "Mirostat": "Mirostat", "Mirostat Eta": "Mirostat Eta", "Mirostat Tau": "Mirostat Tau", "MMMM DD, YYYY": "MMMM DD, YYYY", + "MMMM DD, YYYY HH:mm": "", "Model '{{modelName}}' has been successfully downloaded.": "Model '{{modelName}}' has been successfully downloaded.", "Model '{{modelTag}}' is already in queue for downloading.": "Model '{{modelTag}}' is already in queue for downloading.", - "Model {{embedding_model}} update complete!": "Model {{embedding_model}} update complete!", - "Model {{embedding_model}} update failed or not required!": "Model {{embedding_model}} update failed or not required!", "Model {{modelId}} not found": "Model {{modelId}} not found", "Model {{modelName}} already exists.": "Model {{modelName}} already exists.", "Model filesystem path detected. Model shortname is required for update, cannot continue.": "Model filesystem bark detected. Model shortname is required for update, cannot continue.", @@ -212,6 +242,7 @@ "Modelfile Content": "Modelfile Content", "Modelfiles": "Modelfiles", "Models": "Wowdels", + "More": "", "My Documents": "My Doguments", "My Modelfiles": "My Modelfiles", "My Prompts": "My Promptos", @@ -220,10 +251,15 @@ "Name your modelfile": "Name your modelfile", "New Chat": "New Bark", "New Password": "New Barkword", + "Not factually correct": "", "Not sure what to add?": "Not sure what to add?", "Not sure what to write? Switch to": "Not sure what to write? Switch to", + "Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "", + "Notifications": "Notifications", "Off": "Off", "Okay, Let's Go!": "Okay, Let's Go!", + "OLED Dark": "OLED Dark", + "Ollama": "", "Ollama Base URL": "Ollama Base Bark", "Ollama Version": "Ollama Version", "On": "On", @@ -236,17 +272,24 @@ "Open AI": "Open AI", "Open AI (Dall-E)": "Open AI (Dall-E)", "Open new chat": "Open new bark", + "OpenAI": "", "OpenAI API": "OpenAI API", - "OpenAI API Key": "OpenAI Bark Key", + "OpenAI API Config": "", "OpenAI API Key is required.": "OpenAI Bark Key is required.", + "OpenAI URL/Key required.": "", "or": "or", + "Other": "", "Parameters": "Parametos", "Password": "Barkword", + "PDF document (.pdf)": "", "PDF Extract Images (OCR)": "PDF Extract Wowmages (OCR)", "pending": "pending", "Permission denied when accessing microphone: {{error}}": "Permission denied when accessing microphone: {{error}}", + "Plain text (.txt)": "", "Playground": "Playground", - "Profile": "Profile", + "Positive attitude": "", + "Profile Image": "", + "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "", "Prompt Content": "Prompt Content", "Prompt suggestions": "Prompt wowgestions", "Prompts": "Promptos", @@ -255,12 +298,18 @@ "Query Params": "Query Bark", "RAG Template": "RAG Template", "Raw Format": "Raw Wowmat", + "Read Aloud": "", "Record voice": "Record Bark", "Redirecting you to OpenWebUI Community": "Redirecting you to OpenWebUI Community", + "Refused when it shouldn't have": "", + "Regenerate": "", "Release Notes": "Release Borks", + "Remove": "", "Repeat Last N": "Repeat Last N", "Repeat Penalty": "Repeat Penalty", "Request Mode": "Request Bark", + "Reranking model disabled": "", + "Reranking model set to \"{{reranking_model}}\"": "", "Reset Vector Storage": "Reset Vector Storage", "Response AutoCopy to Clipboard": "Copy Bark Auto Bark", "Role": "Role", @@ -275,6 +324,7 @@ "Scan complete!": "Scan complete! Very wow!", "Scan for documents from {{path}}": "Scan for documents from {{path}} wow", "Search": "Search very search", + "Search a model": "", "Search Documents": "Search Documents much find", "Search Prompts": "Search Prompts much wow", "See readme.md for instructions": "See readme.md for instructions wow", @@ -294,37 +344,47 @@ "Set Voice": "Set Voice so speak", "Settings": "Settings much settings", "Settings saved successfully!": "Settings saved successfully! Very success!", + "Share": "", + "Share Chat": "", "Share to OpenWebUI Community": "Share to OpenWebUI Community much community", "short-summary": "short-summary so short", "Show": "Show much show", "Show Additional Params": "Show Additional Params very many params", "Show shortcuts": "Show shortcuts much shortcut", + "Showcased creativity": "", "sidebar": "sidebar much side", "Sign in": "Sign in very sign", "Sign Out": "Sign Out much logout", "Sign up": "Sign up much join", + "Signing in": "", "Speech recognition error: {{error}}": "Speech recognition error: {{error}} so error", "Speech-to-Text Engine": "Speech-to-Text Engine much speak", "SpeechRecognition API is not supported in this browser.": "SpeechRecognition API is not supported in this browser. Much sad.", "Stop Sequence": "Stop Sequence much stop", "STT Settings": "STT Settings very settings", "Submit": "Submit much submit", + "Subtitle (e.g. about the Roman Empire)": "", "Success": "Success very success", "Successfully updated.": "Successfully updated. Very updated.", "Sync All": "Sync All much sync", "System": "System very system", "System Prompt": "System Prompt much prompt", "Tags": "Tags very tags", + "Tell us more:": "", "Temperature": "Temperature very temp", "Template": "Template much template", "Text Completion": "Text Completion much complete", "Text-to-Speech Engine": "Text-to-Speech Engine much speak", "Tfs Z": "Tfs Z much Z", + "Thanks for your feedback!": "", + "The score should be a value between 0.0 (0%) and 1.0 (100%).": "", "Theme": "Theme much theme", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "This ensures that your valuable conversations are securely saved to your backend database. Thank you! Much secure!", "This setting does not sync across browsers or devices.": "This setting does not sync across browsers or devices. Very not sync.", + "Thorough explanation": "", "Tip: Update multiple variable slots consecutively by pressing the tab key in the chat input after each replacement.": "Tip: Update multiple variable slots consecutively by pressing the tab key in the chat input after each replacement. Much tip!", "Title": "Title very title", + "Title (e.g. Tell me a fun fact)": "", "Title Auto-Generation": "Title Auto-Generation much auto-gen", "Title Generation Prompt": "Title Generation Prompt very prompt", "to": "to very to", @@ -339,11 +399,13 @@ "TTS Settings": "TTS Settings much settings", "Type Hugging Face Resolve (Download) URL": "Type Hugging Face Resolve (Download) URL much download", "Uh-oh! There was an issue connecting to {{provider}}.": "Uh-oh! There was an issue connecting to {{provider}}. Much uh-oh!", - "Understand that updating or changing your embedding model requires reset of the vector database and re-import of all documents. You have been warned!": "Understand that updating or changing your embedding model requires reset of the vector database and re-import of all documents. You have been warned! Very understand!", "Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Unknown File Type '{{file_type}}', but accepting and treating as plain text very unknown", - "Update": "Update much update", - "Update embedding model {{embedding_model}}": "Update embedding model {{embedding_model}} much update", + "Update and Copy Link": "", + "Update Embedding Model": "", + "Update embedding model (e.g. {{model}})": "", "Update password": "Update password much change", + "Update Reranking Model": "", + "Update reranking model (e.g. {{model}})": "", "Upload a GGUF model": "Upload a GGUF model very upload", "Upload files": "Upload files very upload", "Upload Progress": "Upload Progress much progress", @@ -359,7 +421,9 @@ "variable": "variable very variable", "variable to have them replaced with clipboard content.": "variable to have them replaced with clipboard content. Very replace.", "Version": "Version much version", + "Warning: If you update or change your embedding model, you will need to re-import all documents.": "", "Web": "Web very web", + "Webhook URL": "", "WebUI Add-ons": "WebUI Add-ons very add-ons", "WebUI Settings": "WebUI Settings much settings", "WebUI will make requests to": "WebUI will make requests to much request", diff --git a/src/lib/i18n/locales/en-GB/translation.json b/src/lib/i18n/locales/en-GB/translation.json index 6ca2c9215..f64dd3647 100644 --- a/src/lib/i18n/locales/en-GB/translation.json +++ b/src/lib/i18n/locales/en-GB/translation.json @@ -158,7 +158,7 @@ "Enter Max Tokens (litellm_params.max_tokens)": "", "Enter model tag (e.g. {{modelTag}})": "", "Enter Number of Steps (e.g. 50)": "", - "Enter Relevance Threshold": "", + "Enter Score": "", "Enter stop sequence": "", "Enter Top K": "", "Enter URL (e.g. http://127.0.0.1:7860/)": "", @@ -221,6 +221,7 @@ "Manage Ollama Models": "", "Max Tokens": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "", + "Minimum Score": "", "Mirostat": "", "Mirostat Eta": "", "Mirostat Tau": "", @@ -253,6 +254,7 @@ "Not factually correct": "", "Not sure what to add?": "", "Not sure what to write? Switch to": "", + "Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "", "Notifications": "", "Off": "", "Okay, Let's Go!": "", @@ -302,11 +304,11 @@ "Refused when it shouldn't have": "", "Regenerate": "", "Release Notes": "", - "Relevance Threshold": "", "Remove": "", "Repeat Last N": "", "Repeat Penalty": "", "Request Mode": "", + "Reranking model disabled": "", "Reranking model set to \"{{reranking_model}}\"": "", "Reset Vector Storage": "", "Response AutoCopy to Clipboard": "", @@ -375,6 +377,7 @@ "Text-to-Speech Engine": "", "Tfs Z": "", "Thanks for your feedback!": "", + "The score should be a value between 0.0 (0%) and 1.0 (100%).": "", "Theme": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "", "This setting does not sync across browsers or devices.": "", diff --git a/src/lib/i18n/locales/en-US/translation.json b/src/lib/i18n/locales/en-US/translation.json index 754b621f6..f64dd3647 100644 --- a/src/lib/i18n/locales/en-US/translation.json +++ b/src/lib/i18n/locales/en-US/translation.json @@ -158,7 +158,7 @@ "Enter Max Tokens (litellm_params.max_tokens)": "", "Enter model tag (e.g. {{modelTag}})": "", "Enter Number of Steps (e.g. 50)": "", - "Enter Relevance Threshold": "", + "Enter Score": "", "Enter stop sequence": "", "Enter Top K": "", "Enter URL (e.g. http://127.0.0.1:7860/)": "", @@ -212,7 +212,6 @@ "Language": "", "Last Active": "", "Light": "", - "OLED Dark": "", "Listening...": "", "LLMs can make mistakes. Verify important information.": "", "Made by OpenWebUI Community": "", @@ -222,6 +221,7 @@ "Manage Ollama Models": "", "Max Tokens": "", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "", + "Minimum Score": "", "Mirostat": "", "Mirostat Eta": "", "Mirostat Tau": "", @@ -254,6 +254,7 @@ "Not factually correct": "", "Not sure what to add?": "", "Not sure what to write? Switch to": "", + "Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "", "Notifications": "", "Off": "", "Okay, Let's Go!": "", @@ -286,8 +287,9 @@ "Permission denied when accessing microphone: {{error}}": "", "Plain text (.txt)": "", "Playground": "", - "Archived Chats": "", - "Profile": "", + "Positive attitude": "", + "Profile Image": "", + "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "", "Prompt Content": "", "Prompt suggestions": "", "Prompts": "", @@ -302,11 +304,11 @@ "Refused when it shouldn't have": "", "Regenerate": "", "Release Notes": "", - "Relevance Threshold": "", "Remove": "", "Repeat Last N": "", "Repeat Penalty": "", "Request Mode": "", + "Reranking model disabled": "", "Reranking model set to \"{{reranking_model}}\"": "", "Reset Vector Storage": "", "Response AutoCopy to Clipboard": "", @@ -375,6 +377,7 @@ "Text-to-Speech Engine": "", "Tfs Z": "", "Thanks for your feedback!": "", + "The score should be a value between 0.0 (0%) and 1.0 (100%).": "", "Theme": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "", "This setting does not sync across browsers or devices.": "", diff --git a/src/lib/i18n/locales/es-ES/translation.json b/src/lib/i18n/locales/es-ES/translation.json index 1efad4dbd..e41675fcb 100644 --- a/src/lib/i18n/locales/es-ES/translation.json +++ b/src/lib/i18n/locales/es-ES/translation.json @@ -39,9 +39,10 @@ "API keys": "", "API RPM": "RPM de la API", "Archive": "", - "Archived Chats": "", + "Archived Chats": "Chats archivados", "are allowed - Activate this command by typing": "están permitidos - Active este comando escribiendo", "Are you sure?": "¿Está seguro?", + "Attention to detail": "", "Audio": "Audio", "Auto-playback response": "Respuesta de reproducción automática", "Auto-send input after 3 sec.": "Envía la información entrada automáticamente luego de 3 segundos.", @@ -49,6 +50,8 @@ "AUTOMATIC1111 Base URL is required.": "La dirección URL de AUTOMATIC1111 es requerida.", "available!": "¡disponible!", "Back": "Volver", + "Bad Response": "", + "Being lazy": "", "Builder Mode": "Modo de Constructor", "Cancel": "Cancelar", "Categories": "Categorías", @@ -80,11 +83,13 @@ "Connections": "Conexiones", "Content": "Contenido", "Context Length": "Longitud del contexto", + "Continue Response": "", "Conversation Mode": "Modo de Conversación", "Copied shared chat URL to clipboard!": "", "Copy": "", "Copy last code block": "Copia el último bloque de código", "Copy last response": "Copia la última respuesta", + "Copy Link": "", "Copying to clipboard was successful!": "¡La copia al portapapeles se ha realizado correctamente!", "Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "Cree una frase concisa de 3 a 5 palabras como encabezado para la siguiente consulta, respetando estrictamente el límite de 3 a 5 palabras y evitando el uso de la palabra 'título':", "Create a modelfile": "Crea un modelfile", @@ -128,7 +133,8 @@ "does not make any external connections, and your data stays securely on your locally hosted server.": "no realiza ninguna conexión externa y sus datos permanecen seguros en su servidor alojado localmente.", "Don't Allow": "No Permitir", "Don't have an account?": "¿No tienes una cuenta?", - "Download as a File": "Descargar como Archivo", + "Don't like the style": "", + "Download": "", "Download Database": "Descarga la Base de Datos", "Drop any files here to add to the conversation": "Suelta cualquier archivo aquí para agregarlo a la conversación", "e.g. '30s','10m'. Valid time units are 's', 'm', 'h'.": "p.ej. '30s','10m'. Unidades válidas de tiempo son 's', 'm', 'h'.", @@ -142,7 +148,6 @@ "Enable New Sign Ups": "Habilitar Nuevos Registros", "Enabled": "Activado", "Enter {{role}} message here": "Ingrese el mensaje {{role}} aquí", - "Enter API Key": "Ingrese la clave API", "Enter Chunk Overlap": "Ingresar superposición de fragmentos", "Enter Chunk Size": "Ingrese el tamaño del fragmento", "Enter Image Size (e.g. 512x512)": "Ingrese el tamaño de la imagen (p.ej. 512x512)", @@ -153,6 +158,7 @@ "Enter Max Tokens (litellm_params.max_tokens)": "Ingrese tokens máximos (litellm_params.max_tokens)", "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)", + "Enter Score": "", "Enter stop sequence": "Ingrese la secuencia de parada", "Enter Top K": "Ingrese el Top K", "Enter URL (e.g. http://127.0.0.1:7860/)": "Ingrese la URL (p.ej., http://127.0.0.1:7860/)", @@ -173,6 +179,7 @@ "Fingerprint spoofing detected: Unable to use initials as avatar. Defaulting to default profile image.": "Se detectó suplantación de huellas: No se pueden usar las iniciales como avatar. Por defecto se utiliza la imagen de perfil predeterminada.", "Fluidly stream large external response chunks": "Transmita con fluidez grandes fragmentos de respuesta externa", "Focus chat input": "Enfoca la entrada del chat", + "Followed instructions perfectly": "", "Format your variables using square brackets like this:": "Formatea tus variables usando corchetes de la siguiente manera:", "From (Base Model)": "Desde (Modelo Base)", "Full Screen Mode": "Modo de Pantalla Completa", @@ -205,7 +212,6 @@ "Language": "Lenguaje", "Last Active": "", "Light": "Claro", - "OLED Dark": "OLED oscuro", "Listening...": "Escuchando...", "LLMs can make mistakes. Verify important information.": "Los LLM pueden cometer errores. Verifica la información importante.", "Made by OpenWebUI Community": "Hecho por la comunidad de OpenWebUI", @@ -215,6 +221,7 @@ "Manage Ollama Models": "Administrar Modelos Ollama", "Max Tokens": "Máximo de Tokens", "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.", + "Minimum Score": "", "Mirostat": "Mirostat", "Mirostat Eta": "Mirostat Eta", "Mirostat Tau": "Mirostat Tau", @@ -222,8 +229,6 @@ "MMMM DD, YYYY HH:mm": "", "Model '{{modelName}}' has been successfully downloaded.": "El modelo '{{modelName}}' se ha descargado correctamente.", "Model '{{modelTag}}' is already in queue for downloading.": "El modelo '{{modelTag}}' ya está en cola para descargar.", - "Model {{embedding_model}} update complete!": "¡La actualización del modelo {{embedding_model}} fue completada!", - "Model {{embedding_model}} update failed or not required!": "¡La actualización del modelo {{embedding_model}} falló o no es requerida!", "Model {{modelId}} not found": "El modelo {{modelId}} no fue encontrado", "Model {{modelName}} already exists.": "El modelo {{modelName}} ya existe.", "Model filesystem path detected. Model shortname is required for update, cannot continue.": "Se detectó la ruta del sistema de archivos del modelo. Se requiere el nombre corto del modelo para la actualización, no se puede continuar.", @@ -246,10 +251,15 @@ "Name your modelfile": "Nombra tu modelfile", "New Chat": "Nuevo Chat", "New Password": "Nueva Contraseña", + "Not factually correct": "", "Not sure what to add?": "¿No sabes qué añadir?", "Not sure what to write? Switch to": "¿No sabes qué escribir? Cambia a", + "Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "", + "Notifications": "", "Off": "Desactivado", "Okay, Let's Go!": "Bien, ¡Vamos!", + "OLED Dark": "OLED oscuro", + "Ollama": "", "Ollama Base URL": "URL base de Ollama", "Ollama Version": "Versión de Ollama", "On": "Activado", @@ -264,18 +274,22 @@ "Open new chat": "Abrir nuevo chat", "OpenAI": "", "OpenAI API": "OpenAI API", - "OpenAI API Key": "Clave de la API de OpenAI", + "OpenAI API Config": "", "OpenAI API Key is required.": "La Clave de la API de OpenAI es requerida.", + "OpenAI URL/Key required.": "", "or": "o", + "Other": "", "Parameters": "Parámetros", "Password": "Contraseña", "PDF document (.pdf)": "", "PDF Extract Images (OCR)": "Extraer imágenes de PDF (OCR)", "pending": "pendiente", "Permission denied when accessing microphone: {{error}}": "Permiso denegado al acceder al micrófono: {{error}}", + "Plain text (.txt)": "", "Playground": "Patio de juegos", - "Archived Chats": "Chats archivados", - "Profile": "Perfil", + "Positive attitude": "", + "Profile Image": "", + "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "", "Prompt Content": "Contenido del Prompt", "Prompt suggestions": "Sugerencias de Prompts", "Prompts": "Prompts", @@ -284,16 +298,17 @@ "Query Params": "Parámetros de consulta", "RAG Template": "Plantilla de RAG", "Raw Format": "Formato sin procesar", + "Read Aloud": "", "Record voice": "Grabar voz", "Redirecting you to OpenWebUI Community": "Redireccionándote a la comunidad OpenWebUI", "Refused when it shouldn't have": "", "Regenerate": "", "Release Notes": "Notas de la versión", - "Relevance Threshold": "", "Remove": "", "Repeat Last N": "Repetir las últimas N", "Repeat Penalty": "Penalidad de repetición", "Request Mode": "Modo de petición", + "Reranking model disabled": "", "Reranking model set to \"{{reranking_model}}\"": "", "Reset Vector Storage": "Restablecer almacenamiento vectorial", "Response AutoCopy to Clipboard": "Copiar respuesta automáticamente al portapapeles", @@ -329,6 +344,8 @@ "Set Voice": "Establecer la voz", "Settings": "Configuración", "Settings saved successfully!": "¡Configuración guardada exitosamente!", + "Share": "", + "Share Chat": "", "Share to OpenWebUI Community": "Compartir con la comunidad OpenWebUI", "short-summary": "resumen-corto", "Show": "Mostrar", @@ -339,6 +356,7 @@ "Sign in": "Iniciar sesión", "Sign Out": "Cerrar sesión", "Sign up": "Crear una cuenta", + "Signing in": "", "Speech recognition error: {{error}}": "Error de reconocimiento de voz: {{error}}", "Speech-to-Text Engine": "Motor de voz a texto", "SpeechRecognition API is not supported in this browser.": "La API SpeechRecognition no es compatible con este navegador.", @@ -359,9 +377,11 @@ "Text-to-Speech Engine": "Motor de texto a voz", "Tfs Z": "Tfs Z", "Thanks for your feedback!": "", + "The score should be a value between 0.0 (0%) and 1.0 (100%).": "", "Theme": "Tema", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Esto garantiza que sus valiosas conversaciones se guarden de forma segura en su base de datos en el backend. ¡Gracias!", "This setting does not sync across browsers or devices.": "Esta configuración no se sincroniza entre navegadores o dispositivos.", + "Thorough explanation": "", "Tip: Update multiple variable slots consecutively by pressing the tab key in the chat input after each replacement.": "Consejo: Actualice múltiples variables consecutivamente presionando la tecla tab en la entrada del chat después de cada reemplazo.", "Title": "Título", "Title (e.g. Tell me a fun fact)": "", @@ -379,11 +399,13 @@ "TTS Settings": "Configuración de TTS", "Type Hugging Face Resolve (Download) URL": "Escriba la URL (Descarga) de Hugging Face Resolve", "Uh-oh! There was an issue connecting to {{provider}}.": "¡Uh oh! Hubo un problema al conectarse a {{provider}}.", - "Understand that updating or changing your embedding model requires reset of the vector database and re-import of all documents. You have been warned!": "Comprenda que actualizar o cambiar su modelo de embedding requiere restablecer la base de datos de vectores y volver a importar todos los documentos. ¡Usted ha sido advertido!", "Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Tipo de archivo desconocido '{{file_type}}', pero se acepta y se trata como texto sin formato", - "Update": "Actualizar", - "Update embedding model {{embedding_model}}": "Actualizar modelo de embedding {{embedding_model}}", + "Update and Copy Link": "", + "Update Embedding Model": "", + "Update embedding model (e.g. {{model}})": "", "Update password": "Actualizar contraseña", + "Update Reranking Model": "", + "Update reranking model (e.g. {{model}})": "", "Upload a GGUF model": "Subir un modelo GGUF", "Upload files": "Subir archivos", "Upload Progress": "Progreso de carga", diff --git a/src/lib/i18n/locales/fa-IR/translation.json b/src/lib/i18n/locales/fa-IR/translation.json index 2200fc814..5d50234ff 100644 --- a/src/lib/i18n/locales/fa-IR/translation.json +++ b/src/lib/i18n/locales/fa-IR/translation.json @@ -39,7 +39,7 @@ "API keys": "", "API RPM": "API RPM", "Archive": "", - "Archived Chats": "", + "Archived Chats": "آرشیو تاریخچه چت", "are allowed - Activate this command by typing": "مجاز هستند - این دستور را با تایپ کردن این فعال کنید:", "Are you sure?": "آیا مطمئن هستید؟", "Attention to detail": "", @@ -158,7 +158,7 @@ "Enter Max Tokens (litellm_params.max_tokens)": "حداکثر تعداد توکن را وارد کنید (litellm_params.max_tokens)", "Enter model tag (e.g. {{modelTag}})": "تگ مدل را وارد کنید (مثلا {{modelTag}})", "Enter Number of Steps (e.g. 50)": "تعداد گام ها را وارد کنید (مثال: 50)", - "Enter Relevance Threshold": "", + "Enter Score": "", "Enter stop sequence": "توالی توقف را وارد کنید", "Enter Top K": "مقدار Top K را وارد کنید", "Enter URL (e.g. http://127.0.0.1:7860/)": "مقدار URL را وارد کنید (مثال http://127.0.0.1:7860/)", @@ -177,12 +177,11 @@ "File Mode": "حالت فایل", "File not found.": "فایل یافت نشد.", "Fingerprint spoofing detected: Unable to use initials as avatar. Defaulting to default profile image.": "", - "Fluidly stream large external response chunks": "", + "Fluidly stream large external response chunks": "تکه های پاسخ خارجی بزرگ را به صورت سیال پخش کنید", "Focus chat input": "فوکوس کردن ورودی گپ", "Followed instructions perfectly": "", "Format your variables using square brackets like this:": "متغیرهای خود را با استفاده از براکت مربع به شکل زیر قالب بندی کنید:", "From (Base Model)": "از (مدل پایه)", - "Fluidly stream large external response chunks": "تکه های پاسخ خارجی بزرگ را به صورت سیال پخش کنید", "Full Screen Mode": "حالت تمام صفحه", "General": "عمومی", "General Settings": "تنظیمات عمومی", @@ -213,7 +212,6 @@ "Language": "زبان", "Last Active": "", "Light": "روشن", - "OLED Dark": "OLED تاریک", "Listening...": "در حال گوش دادن...", "LLMs can make mistakes. Verify important information.": "مدل\u200cهای زبانی بزرگ می\u200cتوانند اشتباه کنند. اطلاعات مهم را راستی\u200cآزمایی کنید.", "Made by OpenWebUI Community": "ساخته شده توسط OpenWebUI Community", @@ -223,6 +221,7 @@ "Manage Ollama Models": "مدیریت مدل\u200cهای اولاما", "Max Tokens": "حداکثر توکن", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "حداکثر 3 مدل را می توان به طور همزمان دانلود کرد. لطفاً بعداً دوباره امتحان کنید.", + "Minimum Score": "", "Mirostat": "Mirostat", "Mirostat Eta": "Mirostat Eta", "Mirostat Tau": "Mirostat Tau", @@ -255,6 +254,7 @@ "Not factually correct": "", "Not sure what to add?": "مطمئن نیستید چه چیزی را اضافه کنید؟", "Not sure what to write? Switch to": "مطمئن نیستید چه بنویسید؟ تغییر به", + "Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "", "Notifications": "اعلان", "Off": "خاموش", "Okay, Let's Go!": "باشه، بزن بریم!", @@ -287,8 +287,9 @@ "Permission denied when accessing microphone: {{error}}": "هنگام دسترسی به میکروفون، اجازه داده نشد: {{error}}", "Plain text (.txt)": "", "Playground": "زمین بازی", - "Archived Chats": "آرشیو تاریخچه چت", - "Profile": "پروفایل", + "Positive attitude": "", + "Profile Image": "", + "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "", "Prompt Content": "محتویات پرامپت", "Prompt suggestions": "پیشنهادات پرامپت", "Prompts": "پرامپت\u200cها", @@ -303,11 +304,11 @@ "Refused when it shouldn't have": "", "Regenerate": "", "Release Notes": "یادداشت\u200cهای انتشار", - "Relevance Threshold": "", "Remove": "", "Repeat Last N": "Repeat Last N", "Repeat Penalty": "Repeat Penalty", "Request Mode": "حالت درخواست", + "Reranking model disabled": "", "Reranking model set to \"{{reranking_model}}\"": "", "Reset Vector Storage": "بازنشانی ذخیره سازی برداری", "Response AutoCopy to Clipboard": "کپی خودکار پاسخ به کلیپ بورد", @@ -376,6 +377,7 @@ "Text-to-Speech Engine": "موتور تبدیل متن به گفتار", "Tfs Z": "Tfs Z", "Thanks for your feedback!": "", + "The score should be a value between 0.0 (0%) and 1.0 (100%).": "", "Theme": "قالب", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "این تضمین می کند که مکالمات ارزشمند شما به طور ایمن در پایگاه داده بکند ذخیره می شود. تشکر!", "This setting does not sync across browsers or devices.": "این تنظیم در مرورگرها یا دستگاه\u200cها همگام\u200cسازی نمی\u200cشود.", diff --git a/src/lib/i18n/locales/fr-CA/translation.json b/src/lib/i18n/locales/fr-CA/translation.json index 4b9b2c564..213dd6562 100644 --- a/src/lib/i18n/locales/fr-CA/translation.json +++ b/src/lib/i18n/locales/fr-CA/translation.json @@ -39,7 +39,7 @@ "API keys": "", "API RPM": "RPM API", "Archive": "", - "Archived Chats": "", + "Archived Chats": "enregistrement du chat", "are allowed - Activate this command by typing": "sont autorisés - Activez cette commande en tapant", "Are you sure?": "Êtes-vous sûr ?", "Attention to detail": "", @@ -158,7 +158,7 @@ "Enter Max Tokens (litellm_params.max_tokens)": "Entrez le nombre max de tokens (litellm_params.max_tokens)", "Enter model tag (e.g. {{modelTag}})": "Entrez le tag du modèle (p. ex. {{modelTag}})", "Enter Number of Steps (e.g. 50)": "Entrez le nombre d'étapes (p. ex. 50)", - "Enter Relevance Threshold": "", + "Enter Score": "", "Enter stop sequence": "Entrez la séquence de fin", "Enter Top K": "Entrez Top K", "Enter URL (e.g. http://127.0.0.1:7860/)": "Entrez l'URL (p. ex. http://127.0.0.1:7860/)", @@ -177,12 +177,11 @@ "File Mode": "Mode fichier", "File not found.": "Fichier introuvable.", "Fingerprint spoofing detected: Unable to use initials as avatar. Defaulting to default profile image.": "", - "Fluidly stream large external response chunks": "", + "Fluidly stream large external response chunks": "Diffusez de manière fluide de gros morceaux de réponses externes", "Focus chat input": "Se concentrer sur l'entrée de la discussion", "Followed instructions perfectly": "", "Format your variables using square brackets like this:": "Formatez vos variables en utilisant des crochets comme ceci :", "From (Base Model)": "De (Modèle de base)", - "Fluidly stream large external response chunks": "Diffusez de manière fluide de gros morceaux de réponses externes", "Full Screen Mode": "Mode plein écran", "General": "Général", "General Settings": "Paramètres généraux", @@ -213,7 +212,6 @@ "Language": "Langue", "Last Active": "", "Light": "Lumière", - "OLED Dark": "OLED sombre", "Listening...": "Écoute...", "LLMs can make mistakes. Verify important information.": "Les LLMs peuvent faire des erreurs. Vérifiez les informations importantes.", "Made by OpenWebUI Community": "Réalisé par la communauté OpenWebUI", @@ -223,6 +221,7 @@ "Manage Ollama Models": "Gérer les modèles Ollama", "Max Tokens": "Tokens maximaux", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Un maximum de 3 modèles peut être téléchargé simultanément. Veuillez réessayer plus tard.", + "Minimum Score": "", "Mirostat": "Mirostat", "Mirostat Eta": "Mirostat Eta", "Mirostat Tau": "Mirostat Tau", @@ -255,6 +254,7 @@ "Not factually correct": "", "Not sure what to add?": "Pas sûr de quoi ajouter ?", "Not sure what to write? Switch to": "Pas sûr de quoi écrire ? Changez pour", + "Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "", "Notifications": "Notifications de bureau", "Off": "Éteint", "Okay, Let's Go!": "Okay, Allons-y !", @@ -287,8 +287,9 @@ "Permission denied when accessing microphone: {{error}}": "Permission refusée lors de l'accès au microphone : {{error}}", "Plain text (.txt)": "", "Playground": "Aire de jeu", - "Archived Chats": "enregistrement du chat", - "Profile": "Profil", + "Positive attitude": "", + "Profile Image": "", + "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "", "Prompt Content": "Contenu du prompt", "Prompt suggestions": "Suggestions de prompt", "Prompts": "Prompts", @@ -303,11 +304,11 @@ "Refused when it shouldn't have": "", "Regenerate": "", "Release Notes": "Notes de version", - "Relevance Threshold": "", "Remove": "", "Repeat Last N": "Répéter les N derniers", "Repeat Penalty": "Pénalité de répétition", "Request Mode": "Mode de requête", + "Reranking model disabled": "", "Reranking model set to \"{{reranking_model}}\"": "", "Reset Vector Storage": "Réinitialiser le stockage vectoriel", "Response AutoCopy to Clipboard": "Copie automatique de la réponse vers le presse-papiers", @@ -376,6 +377,7 @@ "Text-to-Speech Engine": "Moteur de texte à la parole", "Tfs Z": "Tfs Z", "Thanks for your feedback!": "", + "The score should be a value between 0.0 (0%) and 1.0 (100%).": "", "Theme": "Thème", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Cela garantit que vos précieuses conversations sont enregistrées en toute sécurité dans votre base de données backend. Merci !", "This setting does not sync across browsers or devices.": "Ce réglage ne se synchronise pas entre les navigateurs ou les appareils.", diff --git a/src/lib/i18n/locales/fr-FR/translation.json b/src/lib/i18n/locales/fr-FR/translation.json index 149a93244..78d60ffc9 100644 --- a/src/lib/i18n/locales/fr-FR/translation.json +++ b/src/lib/i18n/locales/fr-FR/translation.json @@ -39,7 +39,7 @@ "API keys": "", "API RPM": "RPM API", "Archive": "", - "Archived Chats": "", + "Archived Chats": "enregistrement du chat", "are allowed - Activate this command by typing": "sont autorisés - Activez cette commande en tapant", "Are you sure?": "Êtes-vous sûr ?", "Attention to detail": "", @@ -158,7 +158,7 @@ "Enter Max Tokens (litellm_params.max_tokens)": "Entrez le nombre max de tokens (litellm_params.max_tokens)", "Enter model tag (e.g. {{modelTag}})": "Entrez le tag du modèle (p. ex. {{modelTag}})", "Enter Number of Steps (e.g. 50)": "Entrez le nombre d'étapes (p. ex. 50)", - "Enter Relevance Threshold": "", + "Enter Score": "", "Enter stop sequence": "Entrez la séquence de fin", "Enter Top K": "Entrez Top K", "Enter URL (e.g. http://127.0.0.1:7860/)": "Entrez l'URL (p. ex. http://127.0.0.1:7860/)", @@ -177,12 +177,11 @@ "File Mode": "Mode fichier", "File not found.": "Fichier non trouvé.", "Fingerprint spoofing detected: Unable to use initials as avatar. Defaulting to default profile image.": "", - "Fluidly stream large external response chunks": "", + "Fluidly stream large external response chunks": "Diffusez de manière fluide de gros morceaux de réponses externes", "Focus chat input": "Concentrer sur l'entrée du chat", "Followed instructions perfectly": "", "Format your variables using square brackets like this:": "Formatez vos variables en utilisant des crochets comme ceci :", "From (Base Model)": "De (Modèle de base)", - "Fluidly stream large external response chunks": "Diffusez de manière fluide de gros morceaux de réponses externes", "Full Screen Mode": "Mode plein écran", "General": "Général", "General Settings": "Paramètres généraux", @@ -213,7 +212,6 @@ "Language": "Langue", "Last Active": "", "Light": "Clair", - "OLED Dark": "OLED sombre", "Listening...": "Écoute...", "LLMs can make mistakes. Verify important information.": "Les LLMs peuvent faire des erreurs. Vérifiez les informations importantes.", "Made by OpenWebUI Community": "Réalisé par la communauté OpenWebUI", @@ -223,6 +221,7 @@ "Manage Ollama Models": "Gérer les modèles Ollama", "Max Tokens": "Tokens maximaux", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Un maximum de 3 modèles peut être téléchargé simultanément. Veuillez réessayer plus tard.", + "Minimum Score": "", "Mirostat": "Mirostat", "Mirostat Eta": "Mirostat Eta", "Mirostat Tau": "Mirostat Tau", @@ -255,6 +254,7 @@ "Not factually correct": "", "Not sure what to add?": "Vous ne savez pas quoi ajouter ?", "Not sure what to write? Switch to": "Vous ne savez pas quoi écrire ? Basculer vers", + "Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "", "Notifications": "Notifications de bureau", "Off": "Désactivé", "Okay, Let's Go!": "D'accord, allons-y !", @@ -287,8 +287,9 @@ "Permission denied when accessing microphone: {{error}}": "Permission refusée lors de l'accès au microphone : {{error}}", "Plain text (.txt)": "", "Playground": "Aire de jeu", - "Archived Chats": "enregistrement du chat", - "Profile": "Profil", + "Positive attitude": "", + "Profile Image": "", + "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "", "Prompt Content": "Contenu du prompt", "Prompt suggestions": "Suggestions de prompt", "Prompts": "Prompts", @@ -303,11 +304,11 @@ "Refused when it shouldn't have": "", "Regenerate": "", "Release Notes": "Notes de version", - "Relevance Threshold": "", "Remove": "", "Repeat Last N": "Répéter les derniers N", "Repeat Penalty": "Pénalité de répétition", "Request Mode": "Mode de demande", + "Reranking model disabled": "", "Reranking model set to \"{{reranking_model}}\"": "", "Reset Vector Storage": "Réinitialiser le stockage de vecteur", "Response AutoCopy to Clipboard": "Copie automatique de la réponse dans le presse-papiers", @@ -376,6 +377,7 @@ "Text-to-Speech Engine": "Moteur de synthèse vocale", "Tfs Z": "Tfs Z", "Thanks for your feedback!": "", + "The score should be a value between 0.0 (0%) and 1.0 (100%).": "", "Theme": "Thème", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Cela garantit que vos précieuses conversations sont en sécurité dans votre base de données. Merci !", "This setting does not sync across browsers or devices.": "Ce paramètre ne se synchronise pas entre les navigateurs ou les appareils.", diff --git a/src/lib/i18n/locales/it-IT/translation.json b/src/lib/i18n/locales/it-IT/translation.json index 5bd0e5e19..80160fedb 100644 --- a/src/lib/i18n/locales/it-IT/translation.json +++ b/src/lib/i18n/locales/it-IT/translation.json @@ -39,7 +39,7 @@ "API keys": "", "API RPM": "API RPM", "Archive": "", - "Archived Chats": "", + "Archived Chats": "Chat archiviate", "are allowed - Activate this command by typing": "sono consentiti - Attiva questo comando digitando", "Are you sure?": "Sei sicuro?", "Attention to detail": "", @@ -158,7 +158,7 @@ "Enter Max Tokens (litellm_params.max_tokens)": "Inserisci Max Tokens (litellm_params.max_tokens)", "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)", - "Enter Relevance Threshold": "", + "Enter Score": "", "Enter stop sequence": "Inserisci la sequenza di arresto", "Enter Top K": "Inserisci Top K", "Enter URL (e.g. http://127.0.0.1:7860/)": "Inserisci URL (ad esempio http://127.0.0.1:7860/)", @@ -177,12 +177,11 @@ "File Mode": "Modalità file", "File not found.": "File non trovato.", "Fingerprint spoofing detected: Unable to use initials as avatar. Defaulting to default profile image.": "", - "Fluidly stream large external response chunks": "", + "Fluidly stream large external response chunks": "Trasmetti in modo fluido blocchi di risposta esterni di grandi dimensioni", "Focus chat input": "Metti a fuoco l'input della chat", "Followed instructions perfectly": "", "Format your variables using square brackets like this:": "Formatta le tue variabili usando parentesi quadre come questa:", "From (Base Model)": "Da (modello base)", - "Fluidly stream large external response chunks": "Trasmetti in modo fluido blocchi di risposta esterni di grandi dimensioni", "Full Screen Mode": "Modalità a schermo intero", "General": "Generale", "General Settings": "Impostazioni generali", @@ -213,7 +212,6 @@ "Language": "Lingua", "Last Active": "", "Light": "Chiaro", - "OLED Dark": "OLED scuro", "Listening...": "Ascolto...", "LLMs can make mistakes. Verify important information.": "Gli LLM possono commettere errori. Verifica le informazioni importanti.", "Made by OpenWebUI Community": "Realizzato dalla comunità OpenWebUI", @@ -223,6 +221,7 @@ "Manage Ollama Models": "Gestisci modelli Ollama", "Max Tokens": "Max token", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "È possibile scaricare un massimo di 3 modelli contemporaneamente. Riprova più tardi.", + "Minimum Score": "", "Mirostat": "Mirostat", "Mirostat Eta": "Mirostat Eta", "Mirostat Tau": "Mirostat Tau", @@ -255,6 +254,7 @@ "Not factually correct": "", "Not sure what to add?": "Non sei sicuro di cosa aggiungere?", "Not sure what to write? Switch to": "Non sei sicuro di cosa scrivere? Passa a", + "Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "", "Notifications": "Notifiche desktop", "Off": "Disattivato", "Okay, Let's Go!": "Ok, andiamo!", @@ -285,9 +285,11 @@ "PDF Extract Images (OCR)": "Estrazione immagini PDF (OCR)", "pending": "in sospeso", "Permission denied when accessing microphone: {{error}}": "Autorizzazione negata durante l'accesso al microfono: {{error}}", + "Plain text (.txt)": "", "Playground": "Terreno di gioco", - "Archived Chats": "Chat archiviate", - "Profile": "Profilo", + "Positive attitude": "", + "Profile Image": "", + "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "", "Prompt Content": "Contenuto del prompt", "Prompt suggestions": "Suggerimenti prompt", "Prompts": "Prompt", @@ -302,11 +304,11 @@ "Refused when it shouldn't have": "", "Regenerate": "", "Release Notes": "Note di rilascio", - "Relevance Threshold": "", "Remove": "", "Repeat Last N": "Ripeti ultimi N", "Repeat Penalty": "Penalità di ripetizione", "Request Mode": "Modalità richiesta", + "Reranking model disabled": "", "Reranking model set to \"{{reranking_model}}\"": "", "Reset Vector Storage": "Reimposta archivio vettoriale", "Response AutoCopy to Clipboard": "Copia automatica della risposta negli appunti", @@ -375,6 +377,7 @@ "Text-to-Speech Engine": "Motore da testo a voce", "Tfs Z": "Tfs Z", "Thanks for your feedback!": "", + "The score should be a value between 0.0 (0%) and 1.0 (100%).": "", "Theme": "Tema", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Ciò garantisce che le tue preziose conversazioni siano salvate in modo sicuro nel tuo database backend. Grazie!", "This setting does not sync across browsers or devices.": "Questa impostazione non si sincronizza tra browser o dispositivi.", diff --git a/src/lib/i18n/locales/ja-JP/translation.json b/src/lib/i18n/locales/ja-JP/translation.json index e8d50b4ac..58c90ebcf 100644 --- a/src/lib/i18n/locales/ja-JP/translation.json +++ b/src/lib/i18n/locales/ja-JP/translation.json @@ -39,7 +39,7 @@ "API keys": "", "API RPM": "API RPM", "Archive": "", - "Archived Chats": "", + "Archived Chats": "チャット記録", "are allowed - Activate this command by typing": "が許可されています - 次のように入力してこのコマンドをアクティブ化します", "Are you sure?": "よろしいですか?", "Attention to detail": "", @@ -158,7 +158,7 @@ "Enter Max Tokens (litellm_params.max_tokens)": "最大トークン数を入力してください (litellm_params.max_tokens)", "Enter model tag (e.g. {{modelTag}})": "モデルタグを入力してください (例: {{modelTag}})", "Enter Number of Steps (e.g. 50)": "ステップ数を入力してください (例: 50)", - "Enter Relevance Threshold": "", + "Enter Score": "", "Enter stop sequence": "ストップシーケンスを入力してください", "Enter Top K": "トップ K を入力してください", "Enter URL (e.g. http://127.0.0.1:7860/)": "URL を入力してください (例: http://127.0.0.1:7860/)", @@ -177,12 +177,11 @@ "File Mode": "ファイルモード", "File not found.": "ファイルが見つかりません。", "Fingerprint spoofing detected: Unable to use initials as avatar. Defaulting to default profile image.": "", - "Fluidly stream large external response chunks": "", + "Fluidly stream large external response chunks": "大規模な外部応答チャンクを流動的にストリーミングする", "Focus chat input": "チャット入力をフォーカス", "Followed instructions perfectly": "", "Format your variables using square brackets like this:": "次のように角括弧を使用して変数をフォーマットします。", "From (Base Model)": "From (ベースモデル)", - "Fluidly stream large external response chunks": "大規模な外部応答チャンクを流動的にストリーミングする", "Full Screen Mode": "フルスクリーンモード", "General": "一般", "General Settings": "一般設定", @@ -213,7 +212,6 @@ "Language": "言語", "Last Active": "", "Light": "ライト", - "OLED Dark": "OLEDダーク", "Listening...": "聞いています...", "LLMs can make mistakes. Verify important information.": "LLM は間違いを犯す可能性があります。重要な情報を検証してください。", "Made by OpenWebUI Community": "OpenWebUI コミュニティによって作成", @@ -223,6 +221,7 @@ "Manage Ollama Models": "Ollama モデルを管理", "Max Tokens": "最大トークン数", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "同時にダウンロードできるモデルは最大 3 つです。後でもう一度お試しください。", + "Minimum Score": "", "Mirostat": "ミロスタット", "Mirostat Eta": "ミロスタット Eta", "Mirostat Tau": "ミロスタット Tau", @@ -255,6 +254,7 @@ "Not factually correct": "", "Not sure what to add?": "何を追加すればよいかわからない?", "Not sure what to write? Switch to": "何を書けばよいかわからない? 次に切り替える", + "Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "", "Notifications": "デスクトップ通知", "Off": "オフ", "Okay, Let's Go!": "OK、始めましょう!", @@ -287,8 +287,9 @@ "Permission denied when accessing microphone: {{error}}": "マイクへのアクセス時に権限が拒否されました: {{error}}", "Plain text (.txt)": "", "Playground": "プレイグラウンド", - "Archived Chats": "チャット記録", - "Profile": "プロフィール", + "Positive attitude": "", + "Profile Image": "", + "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "", "Prompt Content": "プロンプトの内容", "Prompt suggestions": "プロンプトの提案", "Prompts": "プロンプト", @@ -303,11 +304,11 @@ "Refused when it shouldn't have": "", "Regenerate": "", "Release Notes": "リリースノート", - "Relevance Threshold": "", "Remove": "", "Repeat Last N": "最後の N を繰り返す", "Repeat Penalty": "繰り返しペナルティ", "Request Mode": "リクエストモード", + "Reranking model disabled": "", "Reranking model set to \"{{reranking_model}}\"": "", "Reset Vector Storage": "ベクトルストレージをリセット", "Response AutoCopy to Clipboard": "クリップボードへの応答の自動コピー", @@ -376,6 +377,7 @@ "Text-to-Speech Engine": "テキスト音声変換エンジン", "Tfs Z": "Tfs Z", "Thanks for your feedback!": "", + "The score should be a value between 0.0 (0%) and 1.0 (100%).": "", "Theme": "テーマ", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "これは、貴重な会話がバックエンドデータベースに安全に保存されることを保証します。ありがとうございます!", "This setting does not sync across browsers or devices.": "この設定は、ブラウザやデバイス間で同期されません。", diff --git a/src/lib/i18n/locales/ka-GE/translation.json b/src/lib/i18n/locales/ka-GE/translation.json index 1637a2037..7a5fc0cd2 100644 --- a/src/lib/i18n/locales/ka-GE/translation.json +++ b/src/lib/i18n/locales/ka-GE/translation.json @@ -39,7 +39,7 @@ "API keys": "", "API RPM": "API RPM", "Archive": "", - "Archived Chats": "", + "Archived Chats": "ჩატის ისტორიის არქივი", "are allowed - Activate this command by typing": "დაშვებულია - ბრძანების გასააქტიურებლად აკრიფეთ:", "Are you sure?": "დარწმუნებული ხარ?", "Attention to detail": "", @@ -158,7 +158,7 @@ "Enter Max Tokens (litellm_params.max_tokens)": "შეიყვანეთ მაქსიმალური ტოკენები (litellm_params.max_tokens)", "Enter model tag (e.g. {{modelTag}})": "შეიყვანეთ მოდელის ტეგი (მაგ. {{modelTag}})", "Enter Number of Steps (e.g. 50)": "შეიყვანეთ ნაბიჯების რაოდენობა (მაგ. 50)", - "Enter Relevance Threshold": "", + "Enter Score": "", "Enter stop sequence": "შეიყვანეთ ტოპ თანმიმდევრობა", "Enter Top K": "შეიყვანეთ Top K", "Enter URL (e.g. http://127.0.0.1:7860/)": "შეიყვანეთ მისამართი (მაგალითად http://127.0.0.1:7860/)", @@ -177,10 +177,9 @@ "File Mode": "ფაილური რეჟიმი", "File not found.": "ფაილი ვერ მოიძებნა", "Fingerprint spoofing detected: Unable to use initials as avatar. Defaulting to default profile image.": "აღმოჩენილია თითის ანაბეჭდის გაყალბება: ინიციალების გამოყენება ავატარად შეუძლებელია. დეფოლტ პროფილის დეფოლტ სურათი.", - "Fluidly stream large external response chunks": "", + "Fluidly stream large external response chunks": "თხევადი ნაკადი დიდი გარე საპასუხო ნაწილაკების", "Focus chat input": "ჩეთის შეყვანის ფოკუსი", "Followed instructions perfectly": "", - "Fluidly stream large external response chunks": "თხევადი ნაკადი დიდი გარე საპასუხო ნაწილაკების", "Format your variables using square brackets like this:": "დააფორმატეთ თქვენი ცვლადები კვადრატული ფრჩხილების გამოყენებით:", "From (Base Model)": "(საბაზო მოდელი) დან", "Full Screen Mode": "Სრული ეკრანის რეჟიმი", @@ -213,7 +212,6 @@ "Language": "ენა", "Last Active": "", "Light": "მსუბუქი", - "OLED Dark": "OLED მუქი", "Listening...": "გისმენ...", "LLMs can make mistakes. Verify important information.": "შესაძლოა LLM-ებმა შეცდომები დაუშვან. გადაამოწმეთ მნიშვნელოვანი ინფორმაცია.", "Made by OpenWebUI Community": "დამზადებულია OpenWebUI საზოგადოების მიერ", @@ -223,6 +221,7 @@ "Manage Ollama Models": "Ollama მოდელების მართვა", "Max Tokens": "მაქსიმალური ტოკენები", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "მაქსიმუმ 3 მოდელის ჩამოტვირთვა შესაძლებელია ერთდროულად. Გთხოვთ სცადოთ მოგვიანებით.", + "Minimum Score": "", "Mirostat": "მიროსტატი", "Mirostat Eta": "მიროსტატი ეტა", "Mirostat Tau": "მიროსტატი ტაუ", @@ -255,6 +254,7 @@ "Not factually correct": "", "Not sure what to add?": "არ იცი რა დაამატო?", "Not sure what to write? Switch to": "არ იცი რა დაწერო? გადართვა:", + "Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "", "Notifications": "შეტყობინება", "Off": "გამორთვა", "Okay, Let's Go!": "კარგი, წავედით!", @@ -287,8 +287,9 @@ "Permission denied when accessing microphone: {{error}}": "ნებართვა უარყოფილია მიკროფონზე წვდომისას: {{error}}", "Plain text (.txt)": "", "Playground": "სათამაშო მოედანი", - "Archived Chats": "ჩატის ისტორიის არქივი", - "Profile": "პროფილი", + "Positive attitude": "", + "Profile Image": "", + "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "", "Prompt Content": "მოთხოვნის შინაარსი", "Prompt suggestions": "მოთხოვნის რჩევები", "Prompts": "მოთხოვნები", @@ -303,11 +304,11 @@ "Refused when it shouldn't have": "", "Regenerate": "", "Release Notes": "Გამოშვების შენიშვნები", - "Relevance Threshold": "", "Remove": "", "Repeat Last N": "გაიმეორეთ ბოლო N", "Repeat Penalty": "გაიმეორეთ პენალტი", "Request Mode": "მოთხოვნის რეჟიმი", + "Reranking model disabled": "", "Reranking model set to \"{{reranking_model}}\"": "", "Reset Vector Storage": "ვექტორული მეხსიერების გადატვირთვა", "Response AutoCopy to Clipboard": "პასუხის ავტომატური კოპირება ბუფერში", @@ -376,6 +377,7 @@ "Text-to-Speech Engine": "ტექსტურ-ხმოვანი ძრავი", "Tfs Z": "Tfs Z", "Thanks for your feedback!": "", + "The score should be a value between 0.0 (0%) and 1.0 (100%).": "", "Theme": "თემა", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "ეს უზრუნველყოფს, რომ თქვენი ძვირფასი საუბრები უსაფრთხოდ შეინახება თქვენს backend მონაცემთა ბაზაში. Გმადლობთ!", "This setting does not sync across browsers or devices.": "ეს პარამეტრი არ სინქრონიზდება ბრაუზერებსა და მოწყობილობებში", diff --git a/src/lib/i18n/locales/ko-KR/translation.json b/src/lib/i18n/locales/ko-KR/translation.json index bd3d3d13f..5821080b4 100644 --- a/src/lib/i18n/locales/ko-KR/translation.json +++ b/src/lib/i18n/locales/ko-KR/translation.json @@ -39,7 +39,7 @@ "API keys": "", "API RPM": "API RPM", "Archive": "", - "Archived Chats": "", + "Archived Chats": "채팅 기록 아카이브", "are allowed - Activate this command by typing": "허용됩니다 - 이 명령을 활성화하려면 입력하세요.", "Are you sure?": "확실합니까?", "Attention to detail": "", @@ -158,7 +158,7 @@ "Enter Max Tokens (litellm_params.max_tokens)": "최대 토큰 수 입력(litellm_params.max_tokens)", "Enter model tag (e.g. {{modelTag}})": "모델 태그 입력(예: {{modelTag}})", "Enter Number of Steps (e.g. 50)": "단계 수 입력(예: 50)", - "Enter Relevance Threshold": "", + "Enter Score": "", "Enter stop sequence": "중지 시퀀스 입력", "Enter Top K": "Top K 입력", "Enter URL (e.g. http://127.0.0.1:7860/)": "URL 입력(예: http://127.0.0.1:7860/)", @@ -177,12 +177,11 @@ "File Mode": "파일 모드", "File not found.": "파일을 찾을 수 없습니다.", "Fingerprint spoofing detected: Unable to use initials as avatar. Defaulting to default profile image.": "", - "Fluidly stream large external response chunks": "", + "Fluidly stream large external response chunks": "대규모 외부 응답 청크를 유동적으로 스트리밍", "Focus chat input": "채팅 입력 포커스", "Followed instructions perfectly": "", "Format your variables using square brackets like this:": "이렇게 대괄호를 사용하여 변수를 형식화하세요:", "From (Base Model)": "출처(기본 모델)", - "Fluidly stream large external response chunks": "대규모 외부 응답 청크를 유동적으로 스트리밍", "Full Screen Mode": "전체 화면 모드", "General": "일반", "General Settings": "일반 설정", @@ -213,7 +212,6 @@ "Language": "언어", "Last Active": "", "Light": "밝음", - "OLED Dark": "OLED 다크", "Listening...": "청취 중...", "LLMs can make mistakes. Verify important information.": "LLM은 실수를 할 수 있습니다. 중요한 정보를 확인하세요.", "Made by OpenWebUI Community": "OpenWebUI 커뮤니티에서 제작", @@ -223,6 +221,7 @@ "Manage Ollama Models": "Ollama 모델 관리", "Max Tokens": "최대 토큰 수", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "최대 3개의 모델을 동시에 다운로드할 수 있습니다. 나중에 다시 시도하세요.", + "Minimum Score": "", "Mirostat": "Mirostat", "Mirostat Eta": "Mirostat Eta", "Mirostat Tau": "Mirostat Tau", @@ -255,6 +254,7 @@ "Not factually correct": "", "Not sure what to add?": "추가할 것이 궁금하세요?", "Not sure what to write? Switch to": "무엇을 쓸지 모르겠나요? 전환하세요.", + "Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "", "Notifications": "알림", "Off": "끄기", "Okay, Let's Go!": "그렇습니다, 시작합시다!", @@ -287,8 +287,9 @@ "Permission denied when accessing microphone: {{error}}": "마이크 액세스가 거부되었습니다: {{error}}", "Plain text (.txt)": "", "Playground": "놀이터", - "Archived Chats": "채팅 기록 아카이브", - "Profile": "프로필", + "Positive attitude": "", + "Profile Image": "", + "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "", "Prompt Content": "프롬프트 내용", "Prompt suggestions": "프롬프트 제안", "Prompts": "프롬프트", @@ -303,11 +304,11 @@ "Refused when it shouldn't have": "", "Regenerate": "", "Release Notes": "릴리스 노트", - "Relevance Threshold": "", "Remove": "", "Repeat Last N": "마지막 N 반복", "Repeat Penalty": "반복 패널티", "Request Mode": "요청 모드", + "Reranking model disabled": "", "Reranking model set to \"{{reranking_model}}\"": "", "Reset Vector Storage": "벡터 스토리지 초기화", "Response AutoCopy to Clipboard": "응답 자동 클립보드 복사", @@ -376,6 +377,7 @@ "Text-to-Speech Engine": "텍스트-음성 엔진", "Tfs Z": "Tfs Z", "Thanks for your feedback!": "", + "The score should be a value between 0.0 (0%) and 1.0 (100%).": "", "Theme": "테마", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "이렇게 하면 소중한 대화 내용이 백엔드 데이터베이스에 안전하게 저장됩니다. 감사합니다!", "This setting does not sync across browsers or devices.": "이 설정은 브라우저 또는 장치 간에 동기화되지 않습니다.", diff --git a/src/lib/i18n/locales/nl-NL/translation.json b/src/lib/i18n/locales/nl-NL/translation.json index e7bbf2f35..cc3d1d958 100644 --- a/src/lib/i18n/locales/nl-NL/translation.json +++ b/src/lib/i18n/locales/nl-NL/translation.json @@ -39,7 +39,7 @@ "API keys": "", "API RPM": "API RPM", "Archive": "", - "Archived Chats": "", + "Archived Chats": "chatrecord", "are allowed - Activate this command by typing": "zijn toegestaan - Activeer deze commando door te typen", "Are you sure?": "Zeker weten?", "Attention to detail": "", @@ -158,7 +158,7 @@ "Enter Max Tokens (litellm_params.max_tokens)": "Voeg maximum aantal tokens toe (litellm_params.max_tokens)", "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)", - "Enter Relevance Threshold": "", + "Enter Score": "", "Enter stop sequence": "Zet stop sequentie", "Enter Top K": "Voeg Top K toe", "Enter URL (e.g. http://127.0.0.1:7860/)": "Zet URL (Bijv. http://127.0.0.1:7860/)", @@ -177,12 +177,11 @@ "File Mode": "Bestandsmodus", "File not found.": "Bestand niet gevonden.", "Fingerprint spoofing detected: Unable to use initials as avatar. Defaulting to default profile image.": "", - "Fluidly stream large external response chunks": "", + "Fluidly stream large external response chunks": "Stream vloeiend grote externe responsbrokken", "Focus chat input": "Focus chat input", "Followed instructions perfectly": "", "Format your variables using square brackets like this:": "Formatteer je variabelen met vierkante haken zoals dit:", "From (Base Model)": "Van (Basis Model)", - "Fluidly stream large external response chunks": "Stream vloeiend grote externe responsbrokken", "Full Screen Mode": "Volledig Scherm Modus", "General": "Algemeen", "General Settings": "Algemene Instellingen", @@ -213,7 +212,6 @@ "Language": "Taal", "Last Active": "", "Light": "Licht", - "OLED Dark": "OLED-donker", "Listening...": "Luisteren...", "LLMs can make mistakes. Verify important information.": "LLMs kunnen fouten maken. Verifieer belangrijke informatie.", "Made by OpenWebUI Community": "Gemaakt door OpenWebUI Community", @@ -223,6 +221,7 @@ "Manage Ollama Models": "Beheer Ollama Modellen", "Max Tokens": "Max Tokens", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Maximaal 3 modellen kunnen tegelijkertijd worden gedownload. Probeer het later opnieuw.", + "Minimum Score": "", "Mirostat": "Mirostat", "Mirostat Eta": "Mirostat Eta", "Mirostat Tau": "Mirostat Tau", @@ -255,6 +254,7 @@ "Not factually correct": "", "Not sure what to add?": "Niet zeker wat toe te voegen?", "Not sure what to write? Switch to": "Niet zeker wat te schrijven? Schakel over naar", + "Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "", "Notifications": "Desktop Notificaties", "Off": "Uit", "Okay, Let's Go!": "Okay, Laten we gaan!", @@ -287,8 +287,9 @@ "Permission denied when accessing microphone: {{error}}": "Toestemming geweigerd bij toegang tot microfoon: {{error}}", "Plain text (.txt)": "", "Playground": "Speeltuin", - "Archived Chats": "chatrecord", - "Profile": "Profiel", + "Positive attitude": "", + "Profile Image": "", + "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "", "Prompt Content": "Prompt Inhoud", "Prompt suggestions": "Prompt suggesties", "Prompts": "Prompts", @@ -303,11 +304,11 @@ "Refused when it shouldn't have": "", "Regenerate": "", "Release Notes": "Release Notes", - "Relevance Threshold": "", "Remove": "", "Repeat Last N": "Herhaal Laatste N", "Repeat Penalty": "Herhaal Straf", "Request Mode": "Request Modus", + "Reranking model disabled": "", "Reranking model set to \"{{reranking_model}}\"": "", "Reset Vector Storage": "Reset Vector Opslag", "Response AutoCopy to Clipboard": "Antwoord Automatisch Kopiëren naar Klembord", @@ -376,6 +377,7 @@ "Text-to-Speech Engine": "Tekst-naar-Spraak Engine", "Tfs Z": "Tfs Z", "Thanks for your feedback!": "", + "The score should be a value between 0.0 (0%) and 1.0 (100%).": "", "Theme": "Thema", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Dit zorgt ervoor dat je waardevolle gesprekken veilig worden opgeslagen in je backend database. Dank je wel!", "This setting does not sync across browsers or devices.": "Deze instelling wordt niet gesynchroniseerd tussen browsers of apparaten.", diff --git a/src/lib/i18n/locales/pl-PL/translation.json b/src/lib/i18n/locales/pl-PL/translation.json index 5a8ce01f6..45568aef1 100644 --- a/src/lib/i18n/locales/pl-PL/translation.json +++ b/src/lib/i18n/locales/pl-PL/translation.json @@ -158,7 +158,7 @@ "Enter Max Tokens (litellm_params.max_tokens)": "Wprowadź maksymalną liczbę tokenów (litellm_params.max_tokens)", "Enter model tag (e.g. {{modelTag}})": "Wprowadź tag modelu (np. {{modelTag}})", "Enter Number of Steps (e.g. 50)": "Wprowadź liczbę kroków (np. 50)", - "Enter Relevance Threshold": "", + "Enter Score": "", "Enter stop sequence": "Wprowadź sekwencję zatrzymania", "Enter Top K": "Wprowadź Top K", "Enter URL (e.g. http://127.0.0.1:7860/)": "Wprowadź adres URL (np. http://127.0.0.1:7860/)", @@ -177,10 +177,9 @@ "File Mode": "Tryb pliku", "File not found.": "Plik nie został znaleziony.", "Fingerprint spoofing detected: Unable to use initials as avatar. Defaulting to default profile image.": "Wykryto podszywanie się pod odcisk palca: Nie można używać inicjałów jako awatara. Przechodzenie do domyślnego obrazu profilowego.", - "Fluidly stream large external response chunks": "", + "Fluidly stream large external response chunks": "Płynnie przesyłaj strumieniowo duże fragmenty odpowiedzi zewnętrznych", "Focus chat input": "Skoncentruj na czacie", "Followed instructions perfectly": "", - "Fluidly stream large external response chunks": "Płynnie przesyłaj strumieniowo duże fragmenty odpowiedzi zewnętrznych", "Format your variables using square brackets like this:": "Formatuj swoje zmienne, używając nawiasów kwadratowych, np.", "From (Base Model)": "Z (Model Podstawowy)", "Full Screen Mode": "Tryb pełnoekranowy", @@ -213,7 +212,6 @@ "Language": "Język", "Last Active": "", "Light": "Jasny", - "OLED Dark": "Ciemny OLED", "Listening...": "Nasłuchiwanie...", "LLMs can make mistakes. Verify important information.": "LLMy mogą popełniać błędy. Zweryfikuj ważne informacje.", "Made by OpenWebUI Community": "Stworzone przez społeczność OpenWebUI", @@ -223,6 +221,7 @@ "Manage Ollama Models": "Zarządzaj modelami Ollama", "Max Tokens": "Maksymalna liczba tokenów", "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.", + "Minimum Score": "", "Mirostat": "Mirostat", "Mirostat Eta": "Mirostat Eta", "Mirostat Tau": "Mirostat Tau", @@ -255,6 +254,7 @@ "Not factually correct": "", "Not sure what to add?": "Nie wiesz, co dodać?", "Not sure what to write? Switch to": "Nie wiesz, co napisać? Przełącz się na", + "Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "", "Notifications": "Powiadomienia", "Off": "Wyłączony", "Okay, Let's Go!": "Okej, zaczynamy!", @@ -304,11 +304,11 @@ "Refused when it shouldn't have": "", "Regenerate": "", "Release Notes": "Notatki wydania", - "Relevance Threshold": "", "Remove": "", "Repeat Last N": "Powtórz ostatnie N", "Repeat Penalty": "Kara za powtórzenie", "Request Mode": "Tryb żądania", + "Reranking model disabled": "", "Reranking model set to \"{{reranking_model}}\"": "", "Reset Vector Storage": "Resetuj przechowywanie wektorów", "Response AutoCopy to Clipboard": "Automatyczne kopiowanie odpowiedzi do schowka", @@ -377,6 +377,7 @@ "Text-to-Speech Engine": "Silnik tekstu na mowę", "Tfs Z": "Tfs Z", "Thanks for your feedback!": "", + "The score should be a value between 0.0 (0%) and 1.0 (100%).": "", "Theme": "Motyw", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "To zapewnia, że Twoje cenne rozmowy są bezpiecznie zapisywane w bazie danych backendowej. Dziękujemy!", "This setting does not sync across browsers or devices.": "To ustawienie nie synchronizuje się między przeglądarkami ani urządzeniami.", diff --git a/src/lib/i18n/locales/pt-BR/translation.json b/src/lib/i18n/locales/pt-BR/translation.json index a710a373e..0bbe8f234 100644 --- a/src/lib/i18n/locales/pt-BR/translation.json +++ b/src/lib/i18n/locales/pt-BR/translation.json @@ -39,7 +39,7 @@ "API keys": "", "API RPM": "API RPM", "Archive": "", - "Archived Chats": "", + "Archived Chats": "Bate-papos arquivados", "are allowed - Activate this command by typing": "são permitidos - Ative este comando digitando", "Are you sure?": "Tem certeza?", "Attention to detail": "", @@ -158,7 +158,7 @@ "Enter Max Tokens (litellm_params.max_tokens)": "Digite o Máximo de Tokens (litellm_params.max_tokens)", "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 Etapas (por exemplo, 50)", - "Enter Relevance Threshold": "", + "Enter Score": "", "Enter stop sequence": "Digite a sequência de parada", "Enter Top K": "Digite o Top K", "Enter URL (e.g. http://127.0.0.1:7860/)": "Digite a URL (por exemplo, http://127.0.0.1:7860/)", @@ -177,12 +177,11 @@ "File Mode": "Modo de Arquivo", "File not found.": "Arquivo não encontrado.", "Fingerprint spoofing detected: Unable to use initials as avatar. Defaulting to default profile image.": "", - "Fluidly stream large external response chunks": "", + "Fluidly stream large external response chunks": "Transmita com fluidez grandes blocos de resposta externa", "Focus chat input": "Focar entrada de bate-papo", "Followed instructions perfectly": "", "Format your variables using square brackets like this:": "Formate suas variáveis usando colchetes como este:", "From (Base Model)": "De (Modelo Base)", - "Fluidly stream large external response chunks": "Transmita com fluidez grandes blocos de resposta externa", "Full Screen Mode": "Modo de Tela Cheia", "General": "Geral", "General Settings": "Configurações Gerais", @@ -213,7 +212,6 @@ "Language": "Idioma", "Last Active": "", "Light": "Claro", - "OLED Dark": "OLED escuro", "Listening...": "Ouvindo...", "LLMs can make mistakes. Verify important information.": "LLMs podem cometer erros. Verifique informações importantes.", "Made by OpenWebUI Community": "Feito pela Comunidade OpenWebUI", @@ -223,6 +221,7 @@ "Manage Ollama Models": "Gerenciar Modelos Ollama", "Max Tokens": "Máximo de Tokens", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Máximo de 3 modelos podem ser baixados simultaneamente. Tente novamente mais tarde.", + "Minimum Score": "", "Mirostat": "Mirostat", "Mirostat Eta": "Mirostat Eta", "Mirostat Tau": "Mirostat Tau", @@ -255,6 +254,7 @@ "Not factually correct": "", "Not sure what to add?": "Não tem certeza do que adicionar?", "Not sure what to write? Switch to": "Não tem certeza do que escrever? Mude para", + "Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "", "Notifications": "Notificações da Área de Trabalho", "Off": "Desligado", "Okay, Let's Go!": "Ok, Vamos Lá!", @@ -285,9 +285,11 @@ "PDF Extract Images (OCR)": "Extrair Imagens de PDF (OCR)", "pending": "pendente", "Permission denied when accessing microphone: {{error}}": "Permissão negada ao acessar o microfone: {{error}}", + "Plain text (.txt)": "", "Playground": "Parque infantil", - "Archived Chats": "Bate-papos arquivados", - "Profile": "Perfil", + "Positive attitude": "", + "Profile Image": "", + "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "", "Prompt Content": "Conteúdo do Prompt", "Prompt suggestions": "Sugestões de Prompt", "Prompts": "Prompts", @@ -302,11 +304,11 @@ "Refused when it shouldn't have": "", "Regenerate": "", "Release Notes": "Notas de Lançamento", - "Relevance Threshold": "", "Remove": "", "Repeat Last N": "Repetir Últimos N", "Repeat Penalty": "Penalidade de Repetição", "Request Mode": "Modo de Solicitação", + "Reranking model disabled": "", "Reranking model set to \"{{reranking_model}}\"": "", "Reset Vector Storage": "Redefinir Armazenamento de Vetor", "Response AutoCopy to Clipboard": "Cópia Automática da Resposta para a Área de Transferência", @@ -375,6 +377,7 @@ "Text-to-Speech Engine": "Mecanismo de Texto para Fala", "Tfs Z": "Tfs Z", "Thanks for your feedback!": "", + "The score should be a value between 0.0 (0%) and 1.0 (100%).": "", "Theme": "Tema", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Isso garante que suas conversas valiosas sejam salvas com segurança em seu banco de dados de backend. Obrigado!", "This setting does not sync across browsers or devices.": "Esta configuração não sincroniza entre navegadores ou dispositivos.", diff --git a/src/lib/i18n/locales/pt-PT/translation.json b/src/lib/i18n/locales/pt-PT/translation.json index fa09451c8..c16e9ce9a 100644 --- a/src/lib/i18n/locales/pt-PT/translation.json +++ b/src/lib/i18n/locales/pt-PT/translation.json @@ -39,7 +39,7 @@ "API keys": "", "API RPM": "API RPM", "Archive": "", - "Archived Chats": "", + "Archived Chats": "Bate-papos arquivados", "are allowed - Activate this command by typing": "são permitidos - Ative este comando digitando", "Are you sure?": "Tem certeza?", "Attention to detail": "", @@ -158,7 +158,7 @@ "Enter Max Tokens (litellm_params.max_tokens)": "Digite o Máximo de Tokens (litellm_params.max_tokens)", "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 Etapas (por exemplo, 50)", - "Enter Relevance Threshold": "", + "Enter Score": "", "Enter stop sequence": "Digite a sequência de parada", "Enter Top K": "Digite o Top K", "Enter URL (e.g. http://127.0.0.1:7860/)": "Digite a URL (por exemplo, http://127.0.0.1:7860/)", @@ -177,12 +177,11 @@ "File Mode": "Modo de Arquivo", "File not found.": "Arquivo não encontrado.", "Fingerprint spoofing detected: Unable to use initials as avatar. Defaulting to default profile image.": "", - "Fluidly stream large external response chunks": "", + "Fluidly stream large external response chunks": "Transmita com fluidez grandes blocos de resposta externa", "Focus chat input": "Focar entrada de bate-papo", "Followed instructions perfectly": "", "Format your variables using square brackets like this:": "Formate suas variáveis usando colchetes como este:", "From (Base Model)": "De (Modelo Base)", - "Fluidly stream large external response chunks": "Transmita com fluidez grandes blocos de resposta externa", "Full Screen Mode": "Modo de Tela Cheia", "General": "Geral", "General Settings": "Configurações Gerais", @@ -213,7 +212,6 @@ "Language": "Idioma", "Last Active": "", "Light": "Claro", - "OLED Dark": "OLED escuro", "Listening...": "Ouvindo...", "LLMs can make mistakes. Verify important information.": "LLMs podem cometer erros. Verifique informações importantes.", "Made by OpenWebUI Community": "Feito pela Comunidade OpenWebUI", @@ -223,6 +221,7 @@ "Manage Ollama Models": "Gerenciar Modelos Ollama", "Max Tokens": "Máximo de Tokens", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Máximo de 3 modelos podem ser baixados simultaneamente. Tente novamente mais tarde.", + "Minimum Score": "", "Mirostat": "Mirostat", "Mirostat Eta": "Mirostat Eta", "Mirostat Tau": "Mirostat Tau", @@ -255,6 +254,7 @@ "Not factually correct": "", "Not sure what to add?": "Não tem certeza do que adicionar?", "Not sure what to write? Switch to": "Não tem certeza do que escrever? Mude para", + "Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "", "Notifications": "Notificações da Área de Trabalho", "Off": "Desligado", "Okay, Let's Go!": "Ok, Vamos Lá!", @@ -285,9 +285,11 @@ "PDF Extract Images (OCR)": "Extrair Imagens de PDF (OCR)", "pending": "pendente", "Permission denied when accessing microphone: {{error}}": "Permissão negada ao acessar o microfone: {{error}}", + "Plain text (.txt)": "", "Playground": "Parque infantil", - "Archived Chats": "Bate-papos arquivados", - "Profile": "Perfil", + "Positive attitude": "", + "Profile Image": "", + "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "", "Prompt Content": "Conteúdo do Prompt", "Prompt suggestions": "Sugestões de Prompt", "Prompts": "Prompts", @@ -302,11 +304,11 @@ "Refused when it shouldn't have": "", "Regenerate": "", "Release Notes": "Notas de Lançamento", - "Relevance Threshold": "", "Remove": "", "Repeat Last N": "Repetir Últimos N", "Repeat Penalty": "Penalidade de Repetição", "Request Mode": "Modo de Solicitação", + "Reranking model disabled": "", "Reranking model set to \"{{reranking_model}}\"": "", "Reset Vector Storage": "Redefinir Armazenamento de Vetor", "Response AutoCopy to Clipboard": "Cópia Automática da Resposta para a Área de Transferência", @@ -375,6 +377,7 @@ "Text-to-Speech Engine": "Mecanismo de Texto para Fala", "Tfs Z": "Tfs Z", "Thanks for your feedback!": "", + "The score should be a value between 0.0 (0%) and 1.0 (100%).": "", "Theme": "Tema", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Isso garante que suas conversas valiosas sejam salvas com segurança em seu banco de dados de backend. Obrigado!", "This setting does not sync across browsers or devices.": "Esta configuração não sincroniza entre navegadores ou dispositivos.", diff --git a/src/lib/i18n/locales/ru-RU/translation.json b/src/lib/i18n/locales/ru-RU/translation.json index 5728d7d35..c5c57b1dc 100644 --- a/src/lib/i18n/locales/ru-RU/translation.json +++ b/src/lib/i18n/locales/ru-RU/translation.json @@ -39,7 +39,7 @@ "API keys": "", "API RPM": "API RPM", "Archive": "", - "Archived Chats": "", + "Archived Chats": "запис на чат", "are allowed - Activate this command by typing": "разрешено - активируйте эту команду вводом", "Are you sure?": "Вы уверены?", "Attention to detail": "", @@ -158,7 +158,7 @@ "Enter Max Tokens (litellm_params.max_tokens)": "Введите максимальное количество токенов (litellm_params.max_tokens)", "Enter model tag (e.g. {{modelTag}})": "Введите тег модели (например, {{modelTag}})", "Enter Number of Steps (e.g. 50)": "Введите количество шагов (например, 50)", - "Enter Relevance Threshold": "", + "Enter Score": "", "Enter stop sequence": "Введите последовательность остановки", "Enter Top K": "Введите Top K", "Enter URL (e.g. http://127.0.0.1:7860/)": "Введите URL-адрес (например, http://127.0.0.1:7860/)", @@ -177,12 +177,11 @@ "File Mode": "Режим файла", "File not found.": "Файл не найден.", "Fingerprint spoofing detected: Unable to use initials as avatar. Defaulting to default profile image.": "", - "Fluidly stream large external response chunks": "", + "Fluidly stream large external response chunks": "Плавная потоковая передача больших фрагментов внешних ответов", "Focus chat input": "Фокус ввода чата", "Followed instructions perfectly": "", "Format your variables using square brackets like this:": "Форматируйте ваши переменные, используя квадратные скобки, как здесь:", "From (Base Model)": "Из (базой модель)", - "Fluidly stream large external response chunks": "Плавная потоковая передача больших фрагментов внешних ответов", "Full Screen Mode": "Полноэкранный режим", "General": "Общее", "General Settings": "Общие настройки", @@ -213,7 +212,6 @@ "Language": "Язык", "Last Active": "", "Light": "Светлый", - "OLED Dark": "OLED темный", "Listening...": "Слушаю...", "LLMs can make mistakes. Verify important information.": "LLMs могут допускать ошибки. Проверяйте важную информацию.", "Made by OpenWebUI Community": "Сделано сообществом OpenWebUI", @@ -223,6 +221,7 @@ "Manage Ollama Models": "Управление моделями Ollama", "Max Tokens": "Максимальное количество токенов", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Максимальное количество моделей для загрузки одновременно - 3. Пожалуйста, попробуйте позже.", + "Minimum Score": "", "Mirostat": "Mirostat", "Mirostat Eta": "Mirostat Eta", "Mirostat Tau": "Mirostat Tau", @@ -255,6 +254,7 @@ "Not factually correct": "", "Not sure what to add?": "Не уверены, что добавить?", "Not sure what to write? Switch to": "Не уверены, что написать? Переключитесь на", + "Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "", "Notifications": "Уведомления на рабочем столе", "Off": "Выключено.", "Okay, Let's Go!": "Давайте начнём!", @@ -287,8 +287,9 @@ "Permission denied when accessing microphone: {{error}}": "Отказано в доступе к микрофону: {{error}}", "Plain text (.txt)": "", "Playground": "Площадка", - "Archived Chats": "запис на чат", - "Profile": "Профиль", + "Positive attitude": "", + "Profile Image": "", + "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "", "Prompt Content": "Содержание промпта", "Prompt suggestions": "Предложения промптов", "Prompts": "Промпты", @@ -303,11 +304,11 @@ "Refused when it shouldn't have": "", "Regenerate": "", "Release Notes": "Примечания к выпуску", - "Relevance Threshold": "", "Remove": "", "Repeat Last N": "Повторить последние N", "Repeat Penalty": "Штраф за повтор", "Request Mode": "Режим запроса", + "Reranking model disabled": "", "Reranking model set to \"{{reranking_model}}\"": "", "Reset Vector Storage": "Сбросить векторное хранилище", "Response AutoCopy to Clipboard": "Автоматическое копирование ответа в буфер обмена", @@ -376,6 +377,7 @@ "Text-to-Speech Engine": "Система синтеза речи", "Tfs Z": "Tfs Z", "Thanks for your feedback!": "", + "The score should be a value between 0.0 (0%) and 1.0 (100%).": "", "Theme": "Тема", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Это обеспечивает сохранение ваших ценных разговоров в безопасной базе данных на вашем сервере. Спасибо!", "This setting does not sync across browsers or devices.": "Эта настройка не синхронизируется между браузерами или устройствами.", diff --git a/src/lib/i18n/locales/tr-TR/translation.json b/src/lib/i18n/locales/tr-TR/translation.json index 8009f63b5..ac447161f 100644 --- a/src/lib/i18n/locales/tr-TR/translation.json +++ b/src/lib/i18n/locales/tr-TR/translation.json @@ -39,7 +39,7 @@ "API keys": "", "API RPM": "API RPM", "Archive": "", - "Archived Chats": "", + "Archived Chats": "sohbet kaydı", "are allowed - Activate this command by typing": "izin verilir - Bu komutu yazarak etkinleştirin", "Are you sure?": "Emin misiniz?", "Attention to detail": "", @@ -158,7 +158,7 @@ "Enter Max Tokens (litellm_params.max_tokens)": "Maksimum Token Sayısını Girin (litellm_params.max_tokens)", "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)", - "Enter Relevance Threshold": "", + "Enter Score": "", "Enter stop sequence": "Durdurma dizisini girin", "Enter Top K": "Top K'yı girin", "Enter URL (e.g. http://127.0.0.1:7860/)": "URL'yi Girin (örn. http://127.0.0.1:7860/)", @@ -212,7 +212,6 @@ "Language": "Dil", "Last Active": "", "Light": "Açık", - "OLED Dark": "OLED Koyu", "Listening...": "Dinleniyor...", "LLMs can make mistakes. Verify important information.": "LLM'ler hata yapabilir. Önemli bilgileri doğrulayın.", "Made by OpenWebUI Community": "OpenWebUI Topluluğu tarafından yapılmıştır", @@ -222,6 +221,7 @@ "Manage Ollama Models": "Ollama Modellerini Yönet", "Max Tokens": "Maksimum Token", "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.", + "Minimum Score": "", "Mirostat": "Mirostat", "Mirostat Eta": "Mirostat Eta", "Mirostat Tau": "Mirostat Tau", @@ -254,6 +254,7 @@ "Not factually correct": "", "Not sure what to add?": "Ne ekleyeceğinizden emin değil misiniz?", "Not sure what to write? Switch to": "Ne yazacağınızdan emin değil misiniz? Şuraya geçin", + "Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "", "Notifications": "Bildirimler", "Off": "Kapalı", "Okay, Let's Go!": "Tamam, Hadi Başlayalım!", @@ -286,8 +287,9 @@ "Permission denied when accessing microphone: {{error}}": "Mikrofona erişim izni reddedildi: {{error}}", "Plain text (.txt)": "", "Playground": "Oyun Alanı", - "Archived Chats": "sohbet kaydı", - "Profile": "Profil", + "Positive attitude": "", + "Profile Image": "", + "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "", "Prompt Content": "Prompt İçeriği", "Prompt suggestions": "Prompt önerileri", "Prompts": "Promptlar", @@ -302,11 +304,11 @@ "Refused when it shouldn't have": "", "Regenerate": "", "Release Notes": "Sürüm Notları", - "Relevance Threshold": "", "Remove": "", "Repeat Last N": "Son N'yi Tekrar Et", "Repeat Penalty": "Tekrar Cezası", "Request Mode": "İstek Modu", + "Reranking model disabled": "", "Reranking model set to \"{{reranking_model}}\"": "", "Reset Vector Storage": "Vektör Depolamayı Sıfırla", "Response AutoCopy to Clipboard": "Yanıtı Panoya Otomatik Kopyala", @@ -375,6 +377,7 @@ "Text-to-Speech Engine": "Metinden Sese Motoru", "Tfs Z": "Tfs Z", "Thanks for your feedback!": "", + "The score should be a value between 0.0 (0%) and 1.0 (100%).": "", "Theme": "Tema", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Bu, önemli konuşmalarınızın güvenli bir şekilde arkayüz veritabanınıza kaydedildiğini garantiler. Teşekkür ederiz!", "This setting does not sync across browsers or devices.": "Bu ayar tarayıcılar veya cihazlar arasında senkronize edilmez.", diff --git a/src/lib/i18n/locales/uk-UA/translation.json b/src/lib/i18n/locales/uk-UA/translation.json index 8b63689ef..a36cabb55 100644 --- a/src/lib/i18n/locales/uk-UA/translation.json +++ b/src/lib/i18n/locales/uk-UA/translation.json @@ -39,7 +39,7 @@ "API keys": "", "API RPM": "API RPM", "Archive": "", - "Archived Chats": "", + "Archived Chats": "запис чату", "are allowed - Activate this command by typing": "дозволено - активізуйте цю команду набором", "Are you sure?": "Ви впевнені?", "Attention to detail": "", @@ -158,7 +158,7 @@ "Enter Max Tokens (litellm_params.max_tokens)": "Введіть максимальну кількість токенів (litellm_params.max_tokens)", "Enter model tag (e.g. {{modelTag}})": "Введіть тег моделі (напр. {{modelTag}})", "Enter Number of Steps (e.g. 50)": "Введіть кількість кроків (напр. 50)", - "Enter Relevance Threshold": "", + "Enter Score": "", "Enter stop sequence": "Введіть символ зупинки", "Enter Top K": "Введіть Top K", "Enter URL (e.g. http://127.0.0.1:7860/)": "Введіть URL-адресу (напр. http://127.0.0.1:7860/)", @@ -177,12 +177,11 @@ "File Mode": "Файловий режим", "File not found.": "Файл не знайдено.", "Fingerprint spoofing detected: Unable to use initials as avatar. Defaulting to default profile image.": "", - "Fluidly stream large external response chunks": "", + "Fluidly stream large external response chunks": "Плавно передавати великі фрагменти зовнішніх відповідей", "Focus chat input": "Фокус вводу чату", "Followed instructions perfectly": "", "Format your variables using square brackets like this:": "Форматуйте свої змінні квадратними дужками так:", "From (Base Model)": "Від (базова модель)", - "Fluidly stream large external response chunks": "Плавно передавати великі фрагменти зовнішніх відповідей", "Full Screen Mode": "Режим повного екрану", "General": "Загальні", "General Settings": "Загальні налаштування", @@ -213,7 +212,6 @@ "Language": "Мова", "Last Active": "", "Light": "Світла", - "OLED Dark": "OLED Темний", "Listening...": "Слухаю...", "LLMs can make mistakes. Verify important information.": "LLMs можуть помилятися. Перевірте важливу інформацію.", "Made by OpenWebUI Community": "Зроблено спільнотою OpenWebUI", @@ -223,6 +221,7 @@ "Manage Ollama Models": "Керування моделями Ollama", "Max Tokens": "Максимальна кількість токенів", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Максимум 3 моделі можна завантажити одночасно. Будь ласка, спробуйте пізніше.", + "Minimum Score": "", "Mirostat": "Mirostat", "Mirostat Eta": "Mirostat Eta", "Mirostat Tau": "Mirostat Tau", @@ -255,6 +254,7 @@ "Not factually correct": "", "Not sure what to add?": "Не впевнений, що додати?", "Not sure what to write? Switch to": "Не впевнений, що писати? Переключитися на", + "Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "", "Notifications": "Сповіщення", "Off": "Вимк", "Okay, Let's Go!": "Гаразд, давайте почнемо!", @@ -287,8 +287,9 @@ "Permission denied when accessing microphone: {{error}}": "Доступ до мікрофона заборонено: {{error}}", "Plain text (.txt)": "", "Playground": "Майданчик", - "Archived Chats": "запис чату", - "Profile": "Профіль", + "Positive attitude": "", + "Profile Image": "", + "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "", "Prompt Content": "Зміст промту", "Prompt suggestions": "Швидкі промти", "Prompts": "Промти", @@ -303,11 +304,11 @@ "Refused when it shouldn't have": "", "Regenerate": "", "Release Notes": "Нотатки до випуску", - "Relevance Threshold": "", "Remove": "", "Repeat Last N": "Повторити останні N", "Repeat Penalty": "Штраф за повторення", "Request Mode": "Режим запиту", + "Reranking model disabled": "", "Reranking model set to \"{{reranking_model}}\"": "", "Reset Vector Storage": "Скинути векторне сховище", "Response AutoCopy to Clipboard": "Автокопіювання відповіді в буфер обміну", @@ -376,6 +377,7 @@ "Text-to-Speech Engine": "Система синтезу мови", "Tfs Z": "Tfs Z", "Thanks for your feedback!": "", + "The score should be a value between 0.0 (0%) and 1.0 (100%).": "", "Theme": "Тема", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Це забезпечує збереження ваших цінних розмов у безпечному бекенд-сховищі. Дякуємо!", "This setting does not sync across browsers or devices.": "Це налаштування не синхронізується між браузерами або пристроями.", diff --git a/src/lib/i18n/locales/vi-VN/translation.json b/src/lib/i18n/locales/vi-VN/translation.json index 15c59f939..e7f9a7dd1 100644 --- a/src/lib/i18n/locales/vi-VN/translation.json +++ b/src/lib/i18n/locales/vi-VN/translation.json @@ -39,7 +39,7 @@ "API keys": "", "API RPM": "API RPM", "Archive": "", - "Archived Chats": "", + "Archived Chats": "bản ghi trò chuyện", "are allowed - Activate this command by typing": "được phép - Kích hoạt lệnh này bằng cách gõ", "Are you sure?": "Bạn có chắc chắn không?", "Attention to detail": "Có sự chú ý đến chi tiết của vấn đề", @@ -158,7 +158,7 @@ "Enter Max Tokens (litellm_params.max_tokens)": "Nhập Số Token Tối đa (litellm_params.max_tokens)", "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)", - "Enter Relevance Threshold": "", + "Enter Score": "", "Enter stop sequence": "Nhập stop sequence", "Enter Top K": "Nhập Top K", "Enter URL (e.g. http://127.0.0.1:7860/)": "Nhập URL (vd: http://127.0.0.1:7860/)", @@ -177,12 +177,11 @@ "File Mode": "Chế độ Tệp văn bản", "File not found.": "Không tìm thấy tệp.", "Fingerprint spoofing detected: Unable to use initials as avatar. Defaulting to default profile image.": "", - "Fluidly stream large external response chunks": "", + "Fluidly stream large external response chunks": "Truyền tải các khối phản hồi bên ngoài lớn một cách trôi chảy", "Focus chat input": "Tập trung vào nội dung chat", "Followed instructions perfectly": "Tuân theo chỉ dẫn một cách hoàn hảo", "Format your variables using square brackets like this:": "Định dạng các biến của bạn bằng cách sử dụng dấu ngoặc vuông như thế này:", "From (Base Model)": "Từ (Base Model)", - "Fluidly stream large external response chunks": "Truyền tải các khối phản hồi bên ngoài lớn một cách trôi chảy", "Full Screen Mode": "Chế độ Toàn màn hình", "General": "Cài đặt chung", "General Settings": "Cấu hình chung", @@ -213,7 +212,6 @@ "Language": "Ngôn ngữ", "Last Active": "", "Light": "Sáng", - "OLED Dark": "OLED tối", "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.", "Made by OpenWebUI Community": "Được tạo bởi Cộng đồng OpenWebUI", @@ -223,6 +221,7 @@ "Manage Ollama Models": "Quản lý mô hình với Ollama", "Max Tokens": "Max Tokens", "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.", + "Minimum Score": "", "Mirostat": "Mirostat", "Mirostat Eta": "Mirostat Eta", "Mirostat Tau": "Mirostat Tau", @@ -255,6 +254,7 @@ "Not factually correct": "Không chính xác so với thực tế", "Not sure what to add?": "Không chắc phải thêm gì?", "Not sure what to write? Switch to": "Không chắc phải viết gì? Chuyển sang", + "Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "", "Notifications": "Thông báo trên máy tính (Notification)", "Off": "Tắt", "Okay, Let's Go!": "Được rồi, Bắt đầu thôi!", @@ -287,8 +287,9 @@ "Permission denied when accessing microphone: {{error}}": "Quyền truy cập micrô bị từ chối: {{error}}", "Plain text (.txt)": "", "Playground": "Thử nghiệm (Playground)", - "Archived Chats": "bản ghi trò chuyện", - "Profile": "Hồ sơ", + "Positive attitude": "", + "Profile Image": "", + "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "", "Prompt Content": "Nội dung prompt", "Prompt suggestions": "Gợi ý prompt", "Prompts": "Prompt", @@ -303,11 +304,11 @@ "Refused when it shouldn't have": "Từ chối trả lời mà nhẽ không nên làm vậy", "Regenerate": "", "Release Notes": "Mô tả những cập nhật mới", - "Relevance Threshold": "", "Remove": "", "Repeat Last N": "Repeat Last N", "Repeat Penalty": "Repeat Penalty", "Request Mode": "Request Mode", + "Reranking model disabled": "", "Reranking model set to \"{{reranking_model}}\"": "", "Reset Vector Storage": "Cài đặt lại Vector Storage", "Response AutoCopy to Clipboard": "Tự động Sao chép Phản hồi vào clipboard", @@ -376,6 +377,7 @@ "Text-to-Speech Engine": "Công cụ Chuyển Văn bản thành Giọng nói", "Tfs Z": "Tfs Z", "Thanks for your feedback!": "Cám ơn bạn đã gửi phản hồi!", + "The score should be a value between 0.0 (0%) and 1.0 (100%).": "", "Theme": "Chủ đề", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Điều này đảm bảo rằng các nội dung chat có giá trị của bạn được lưu an toàn vào cơ sở dữ liệu backend của bạn. Cảm ơn bạn!", "This setting does not sync across browsers or devices.": "Cài đặt này không đồng bộ hóa trên các trình duyệt hoặc thiết bị.", diff --git a/src/lib/i18n/locales/zh-CN/translation.json b/src/lib/i18n/locales/zh-CN/translation.json index 21e5e990d..ed31b8d09 100644 --- a/src/lib/i18n/locales/zh-CN/translation.json +++ b/src/lib/i18n/locales/zh-CN/translation.json @@ -39,7 +39,7 @@ "API keys": "", "API RPM": "API RPM", "Archive": "", - "Archived Chats": "", + "Archived Chats": "聊天记录存档", "are allowed - Activate this command by typing": "允许 - 通过输入来激活这个命令", "Are you sure?": "你确定吗?", "Attention to detail": "", @@ -158,7 +158,7 @@ "Enter Max Tokens (litellm_params.max_tokens)": "输入模型的 Max Tokens (litellm_params.max_tokens)", "Enter model tag (e.g. {{modelTag}})": "输入模型标签(例如{{modelTag}})", "Enter Number of Steps (e.g. 50)": "输入步数(例如50)", - "Enter Relevance Threshold": "", + "Enter Score": "", "Enter stop sequence": "输入停止序列", "Enter Top K": "输入 Top K", "Enter URL (e.g. http://127.0.0.1:7860/)": "输入 URL (例如 http://127.0.0.1:7860/)", @@ -177,12 +177,11 @@ "File Mode": "文件模式", "File not found.": "文件未找到。", "Fingerprint spoofing detected: Unable to use initials as avatar. Defaulting to default profile image.": "", - "Fluidly stream large external response chunks": "", + "Fluidly stream large external response chunks": "流畅地传输大型外部响应块", "Focus chat input": "聚焦聊天输入", "Followed instructions perfectly": "", "Format your variables using square brackets like this:": "使用这样的方括号格式化你的变量:", "From (Base Model)": "来自(基础模型)", - "Fluidly stream large external response chunks": "流畅地传输大型外部响应块", "Full Screen Mode": "全屏模式", "General": "通用", "General Settings": "通用设置", @@ -213,7 +212,6 @@ "Language": "语言", "Last Active": "", "Light": "浅色", - "OLED Dark": "暗黑色", "Listening...": "监听中...", "LLMs can make mistakes. Verify important information.": "LLM可能会生成错误信息,请验证重要信息。", "Made by OpenWebUI Community": "由OpenWebUI社区制作", @@ -223,6 +221,7 @@ "Manage Ollama Models": "管理Ollama模型", "Max Tokens": "最大令牌数", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "最多可以同时下载3个模型,请稍后重试。", + "Minimum Score": "", "Mirostat": "Mirostat", "Mirostat Eta": "Mirostat Eta", "Mirostat Tau": "Mirostat Tau", @@ -255,6 +254,7 @@ "Not factually correct": "", "Not sure what to add?": "不确定要添加什么?", "Not sure what to write? Switch to": "不确定写什么?切换到", + "Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "", "Notifications": "桌面通知", "Off": "关闭", "Okay, Let's Go!": "好的,我们开始吧!", @@ -285,9 +285,11 @@ "PDF Extract Images (OCR)": "PDF图像处理(使用OCR)", "pending": "待定", "Permission denied when accessing microphone: {{error}}": "访问麦克风时权限被拒绝:{{error}}", + "Plain text (.txt)": "", "Playground": "AI 对话游乐场", - "Archived Chats": "聊天记录存档", - "Profile": "个人资料", + "Positive attitude": "", + "Profile Image": "", + "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "", "Prompt Content": "提示词内容", "Prompt suggestions": "提示词建议", "Prompts": "提示词", @@ -302,11 +304,11 @@ "Refused when it shouldn't have": "", "Regenerate": "", "Release Notes": "发布说明", - "Relevance Threshold": "", "Remove": "", "Repeat Last N": "重复最后 N 次", "Repeat Penalty": "重复惩罚", "Request Mode": "请求模式", + "Reranking model disabled": "", "Reranking model set to \"{{reranking_model}}\"": "", "Reset Vector Storage": "重置向量存储", "Response AutoCopy to Clipboard": "自动复制回答到剪贴板", @@ -375,6 +377,7 @@ "Text-to-Speech Engine": "文本转语音引擎", "Tfs Z": "Tfs Z", "Thanks for your feedback!": "", + "The score should be a value between 0.0 (0%) and 1.0 (100%).": "", "Theme": "主题", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "这确保了您宝贵的对话被安全保存到后端数据库中。谢谢!", "This setting does not sync across browsers or devices.": "此设置不会在浏览器或设备之间同步。", diff --git a/src/lib/i18n/locales/zh-TW/translation.json b/src/lib/i18n/locales/zh-TW/translation.json index 44e6e175c..d67de92a5 100644 --- a/src/lib/i18n/locales/zh-TW/translation.json +++ b/src/lib/i18n/locales/zh-TW/translation.json @@ -39,7 +39,7 @@ "API keys": "", "API RPM": "API RPM", "Archive": "", - "Archived Chats": "", + "Archived Chats": "聊天記錄存檔", "are allowed - Activate this command by typing": "是允許的 - 透過輸入", "Are you sure?": "你確定嗎?", "Attention to detail": "", @@ -158,7 +158,7 @@ "Enter Max Tokens (litellm_params.max_tokens)": "輸入最大 Token 數(litellm_params.max_tokens)", "Enter model tag (e.g. {{modelTag}})": "輸入模型標籤(例如 {{modelTag}})", "Enter Number of Steps (e.g. 50)": "輸入步數(例如 50)", - "Enter Relevance Threshold": "", + "Enter Score": "", "Enter stop sequence": "輸入停止序列", "Enter Top K": "輸入 Top K", "Enter URL (e.g. http://127.0.0.1:7860/)": "輸入 URL(例如 http://127.0.0.1:7860/)", @@ -177,11 +177,10 @@ "File Mode": "檔案模式", "File not found.": "找不到檔案。", "Fingerprint spoofing detected: Unable to use initials as avatar. Defaulting to default profile image.": "", - "Fluidly stream large external response chunks": "", + "Fluidly stream large external response chunks": "流暢地傳輸大型外部響應區塊", "Focus chat input": "聚焦聊天輸入框", "Followed instructions perfectly": "", "Format your variables using square brackets like this:": "像這樣使用方括號來格式化你的變數:", - "Fluidly stream large external response chunks": "流暢地傳輸大型外部響應區塊", "From (Base Model)": "來自(基礎模型)", "Full Screen Mode": "全螢幕模式", "General": "常用", @@ -213,7 +212,6 @@ "Language": "語言", "Last Active": "", "Light": "亮色", - "OLED Dark": "暗黑色", "Listening...": "正在聽取...", "LLMs can make mistakes. Verify important information.": "LLM 可能會產生錯誤。請驗證重要資訊。", "Made by OpenWebUI Community": "由 OpenWebUI 社區製作", @@ -223,6 +221,7 @@ "Manage Ollama Models": "管理 Ollama 模型", "Max Tokens": "最大 Token 數", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "最多可以同時下載 3 個模型。請稍後再試。", + "Minimum Score": "", "Mirostat": "Mirostat", "Mirostat Eta": "Mirostat Eta", "Mirostat Tau": "Mirostat Tau", @@ -255,6 +254,7 @@ "Not factually correct": "", "Not sure what to add?": "不確定要新增什麼嗎?", "Not sure what to write? Switch to": "不確定要寫什麼?切換到", + "Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "", "Notifications": "桌面通知", "Off": "關閉", "Okay, Let's Go!": "好的,啟動吧!", @@ -287,8 +287,9 @@ "Permission denied when accessing microphone: {{error}}": "存取麥克風時被拒絕權限: {{error}}", "Plain text (.txt)": "", "Playground": "AI 對話遊樂場", - "Archived Chats": "聊天記錄存檔", - "Profile": "個人資料", + "Positive attitude": "", + "Profile Image": "", + "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "", "Prompt Content": "提示詞內容", "Prompt suggestions": "提示詞建議", "Prompts": "提示詞", @@ -303,11 +304,11 @@ "Refused when it shouldn't have": "", "Regenerate": "", "Release Notes": "發布說明", - "Relevance Threshold": "", "Remove": "", "Repeat Last N": "重複最後 N 次", "Repeat Penalty": "重複懲罰", "Request Mode": "請求模式", + "Reranking model disabled": "", "Reranking model set to \"{{reranking_model}}\"": "", "Reset Vector Storage": "重置向量儲存空間", "Response AutoCopy to Clipboard": "自動複製回答到剪貼簿", @@ -376,6 +377,7 @@ "Text-to-Speech Engine": "文字轉語音引擎", "Tfs Z": "Tfs Z", "Thanks for your feedback!": "", + "The score should be a value between 0.0 (0%) and 1.0 (100%).": "", "Theme": "主題", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "這確保你寶貴的對話安全地儲存到你的後台資料庫。謝謝!", "This setting does not sync across browsers or devices.": "此設定不會在瀏覽器或裝置間同步。", From abc9b6b3f3a953dc7bfc3a37e2fae46e84a07a76 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Tue, 30 Apr 2024 12:41:35 -0700 Subject: [PATCH 06/75] fix: version pinning --- backend/requirements.txt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/backend/requirements.txt b/backend/requirements.txt index eb509c6ed..60e4f89cc 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -28,9 +28,10 @@ argon2-cffi apscheduler google-generativeai -langchain +langchain==0.1.16 +langchain-community==0.0.34 langchain-chroma -langchain-community + fake_useragent chromadb sentence_transformers From e8bf59695996e8d6d363468ac8ec8e333e522c79 Mon Sep 17 00:00:00 2001 From: Jun Siang Cheah Date: Tue, 30 Apr 2024 20:42:55 +0100 Subject: [PATCH 07/75] feat: switch OpenAI SSE parsing to eventsource-parser --- package-lock.json | 9 +++++ package.json | 1 + src/lib/apis/streaming/index.ts | 54 ++++++++++++++-------------- src/routes/(app)/+page.svelte | 10 ++---- src/routes/(app)/c/[id]/+page.svelte | 10 ++---- 5 files changed, 40 insertions(+), 44 deletions(-) diff --git a/package-lock.json b/package-lock.json index 913c55b78..938bf4b0b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,6 +12,7 @@ "async": "^3.2.5", "bits-ui": "^0.19.7", "dayjs": "^1.11.10", + "eventsource-parser": "^1.1.2", "file-saver": "^2.0.5", "highlight.js": "^11.9.0", "i18next": "^23.10.0", @@ -3167,6 +3168,14 @@ "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", "dev": true }, + "node_modules/eventsource-parser": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-1.1.2.tgz", + "integrity": "sha512-v0eOBUbiaFojBu2s2NPBfYUoRR9GjcDNvCXVaqEf5vVfpIAh9f8RCo4vXTP8c63QRKCFwoLpMpTdPwwhEKVgzA==", + "engines": { + "node": ">=14.18" + } + }, "node_modules/execa": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", diff --git a/package.json b/package.json index c38120727..d5b276182 100644 --- a/package.json +++ b/package.json @@ -49,6 +49,7 @@ "async": "^3.2.5", "bits-ui": "^0.19.7", "dayjs": "^1.11.10", + "eventsource-parser": "^1.1.2", "file-saver": "^2.0.5", "highlight.js": "^11.9.0", "i18next": "^23.10.0", diff --git a/src/lib/apis/streaming/index.ts b/src/lib/apis/streaming/index.ts index aad42b2b6..a72dbe47d 100644 --- a/src/lib/apis/streaming/index.ts +++ b/src/lib/apis/streaming/index.ts @@ -1,15 +1,22 @@ +import { EventSourceParserStream } from 'eventsource-parser/stream'; +import type { ParsedEvent } from 'eventsource-parser'; + type TextStreamUpdate = { done: boolean; value: string; }; -// createOpenAITextStream takes a ReadableStreamDefaultReader from an SSE response, +// createOpenAITextStream takes a responseBody with a SSE response, // and returns an async generator that emits delta updates with large deltas chunked into random sized chunks export async function createOpenAITextStream( - messageStream: ReadableStreamDefaultReader, + responseBody: ReadableStream, splitLargeDeltas: boolean ): Promise> { - let iterator = openAIStreamToIterator(messageStream); + const eventStream = responseBody + .pipeThrough(new TextDecoderStream()) + .pipeThrough(new EventSourceParserStream()) + .getReader(); + let iterator = openAIStreamToIterator(eventStream); if (splitLargeDeltas) { iterator = streamLargeDeltasAsRandomChunks(iterator); } @@ -17,7 +24,7 @@ export async function createOpenAITextStream( } async function* openAIStreamToIterator( - reader: ReadableStreamDefaultReader + reader: ReadableStreamDefaultReader ): AsyncGenerator { while (true) { const { value, done } = await reader.read(); @@ -25,31 +32,22 @@ async function* openAIStreamToIterator( yield { done: true, value: '' }; break; } - const lines = value.split('\n'); - for (let line of lines) { - if (line.endsWith('\r')) { - // Remove trailing \r - line = line.slice(0, -1); - } - if (line !== '') { - console.log(line); - if (line === 'data: [DONE]') { - yield { done: true, value: '' }; - } else if (line.startsWith(':')) { - // Events starting with : are comments https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#event_stream_format - // OpenRouter sends heartbeats like ": OPENROUTER PROCESSING" - continue; - } else { - try { - const data = JSON.parse(line.replace(/^data: /, '')); - console.log(data); + if (!value) { + continue; + } + const data = value.data; + if (data.startsWith('[DONE]')) { + yield { done: true, value: '' }; + break; + } - yield { done: false, value: data.choices?.[0]?.delta?.content ?? '' }; - } catch (e) { - console.error('Error extracting delta from SSE event:', e); - } - } - } + try { + const parsedData = JSON.parse(data); + console.log(parsedData); + + yield { done: false, value: parsedData.choices?.[0]?.delta?.content ?? '' }; + } catch (e) { + console.error('Error extracting delta from SSE event:', e); } } } diff --git a/src/routes/(app)/+page.svelte b/src/routes/(app)/+page.svelte index f745fcbe6..e572f82fd 100644 --- a/src/routes/(app)/+page.svelte +++ b/src/routes/(app)/+page.svelte @@ -605,14 +605,8 @@ scrollToBottom(); - if (res && res.ok) { - const reader = res.body - .pipeThrough(new TextDecoderStream()) - .pipeThrough(splitStream('\n')) - .getReader(); - - const textStream = await createOpenAITextStream(reader, $settings.splitLargeChunks); - console.log(textStream); + if (res && res.ok && res.body) { + const textStream = await createOpenAITextStream(res.body, $settings.splitLargeChunks); for await (const update of textStream) { const { value, done } = update; diff --git a/src/routes/(app)/c/[id]/+page.svelte b/src/routes/(app)/c/[id]/+page.svelte index 33578681f..bf5bdf86f 100644 --- a/src/routes/(app)/c/[id]/+page.svelte +++ b/src/routes/(app)/c/[id]/+page.svelte @@ -617,14 +617,8 @@ scrollToBottom(); - if (res && res.ok) { - const reader = res.body - .pipeThrough(new TextDecoderStream()) - .pipeThrough(splitStream('\n')) - .getReader(); - - const textStream = await createOpenAITextStream(reader, $settings.splitLargeChunks); - console.log(textStream); + if (res && res.ok && res.body) { + const textStream = await createOpenAITextStream(res.body, $settings.splitLargeChunks); for await (const update of textStream) { const { value, done } = update; From b3ccabd2fe6e66b61d8124d587c35a9fb98c0e6d Mon Sep 17 00:00:00 2001 From: Jun Siang Cheah Date: Tue, 30 Apr 2024 20:43:43 +0100 Subject: [PATCH 08/75] fix: add missing type for splitLargeChunks --- src/lib/stores/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/stores/index.ts b/src/lib/stores/index.ts index 1d1826e3f..174d71ac0 100644 --- a/src/lib/stores/index.ts +++ b/src/lib/stores/index.ts @@ -78,6 +78,7 @@ type Settings = { saveChatHistory?: boolean; notificationEnabled?: boolean; title?: TitleSettings; + splitLargeDeltas?: boolean; system?: string; requestFormat?: string; From 563377a58af918485f3a737a66862f9e118c1747 Mon Sep 17 00:00:00 2001 From: Silentoplayz <50341825+Silentoplayz@users.noreply.github.com> Date: Tue, 30 Apr 2024 20:04:30 +0000 Subject: [PATCH 09/75] fix --- .env.example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.env.example b/.env.example index a3e37d9a2..2d782fce1 100644 --- a/.env.example +++ b/.env.example @@ -14,4 +14,4 @@ ANONYMIZED_TELEMETRY=false # Use locally bundled version of the LiteLLM cost map json # to avoid repetitive startup connections -LITELLM_LOCAL_MODEL_COST_MAP="true" \ No newline at end of file +LITELLM_LOCAL_MODEL_COST_MAP="True" \ No newline at end of file From b2020383dd5878db43bb6ec7d64a112cb81fe3a3 Mon Sep 17 00:00:00 2001 From: Silentoplayz <50341825+Silentoplayz@users.noreply.github.com> Date: Tue, 30 Apr 2024 20:05:11 +0000 Subject: [PATCH 10/75] Update Dockerfile fix --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 77f85c21d..faee1ac32 100644 --- a/Dockerfile +++ b/Dockerfile @@ -56,7 +56,7 @@ ENV OPENAI_API_KEY="" \ # Use locally bundled version of the LiteLLM cost map json # to avoid repetitive startup connections -ENV LITELLM_LOCAL_MODEL_COST_MAP="true" +ENV LITELLM_LOCAL_MODEL_COST_MAP="True" #### Other models ######################################################### @@ -134,4 +134,4 @@ COPY ./backend . EXPOSE 8080 -CMD [ "bash", "start.sh"] \ No newline at end of file +CMD [ "bash", "start.sh"] From ddac5284fe8f5519c567035d95582e5cccd436a3 Mon Sep 17 00:00:00 2001 From: Jun Siang Cheah Date: Tue, 30 Apr 2024 21:21:00 +0100 Subject: [PATCH 11/75] feat: specify versions for python packages --- backend/requirements.txt | 88 ++++++++++++++++++++-------------------- 1 file changed, 44 insertions(+), 44 deletions(-) diff --git a/backend/requirements.txt b/backend/requirements.txt index 60e4f89cc..79eddeaeb 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -1,61 +1,61 @@ -fastapi -uvicorn[standard] -pydantic -python-multipart +fastapi==0.109.2 +uvicorn[standard]==0.22.0 +pydantic==2.7.1 +python-multipart==0.0.9 -flask -flask_cors +Flask==3.0.3 +Flask-Cors==4.0.0 -python-socketio -python-jose -passlib[bcrypt] -uuid +python-socketio==5.11.2 +python-jose==3.3.0 +passlib[bcrypt]==1.7.4 +uuid==1.30 -requests -aiohttp -peewee -peewee-migrate -psycopg2-binary -pymysql -bcrypt +requests==2.31.0 +aiohttp==3.9.5 +peewee==3.17.3 +peewee-migrate==1.12.2 +psycopg2-binary==2.9.9 +PyMySQL==1.1.0 +bcrypt==4.1.2 litellm==1.35.28 litellm[proxy]==1.35.28 -boto3 +boto3==1.34.95 -argon2-cffi -apscheduler -google-generativeai +argon2-cffi==23.1.0 +APScheduler==3.10.4 +google-generativeai==0.5.2 langchain==0.1.16 langchain-community==0.0.34 -langchain-chroma +langchain-chroma==0.1.0 -fake_useragent -chromadb -sentence_transformers -pypdf -docx2txt -unstructured -markdown -pypandoc -pandas -openpyxl -pyxlsb -xlrd -validators +fake-useragent==1.5.1 +chromadb==0.4.24 +sentence-transformers==2.7.0 +pypdf==4.2.0 +docx2txt==0.8 +unstructured==0.11.8 +Markdown==3.6 +pypandoc==1.13 +pandas==2.2.2 +openpyxl==3.1.2 +pyxlsb==1.0.10 +xlrd==2.0.1 +validators==0.28.1 -opencv-python-headless -rapidocr-onnxruntime +opencv-python-headless==4.9.0.80 +rapidocr-onnxruntime==1.2.3 -fpdf2 -rank_bm25 +fpdf2==2.7.8 +rank-bm25==0.2.2 -faster-whisper +faster-whisper==1.0.1 -PyJWT -pyjwt[crypto] +PyJWT==2.8.0 +PyJWT[crypto]==2.8.0 -black -langfuse +black==24.4.2 +langfuse==2.27.3 From fe56c0a7ac08353d0dabff6e9f790c03efd0d531 Mon Sep 17 00:00:00 2001 From: Jun Siang Cheah Date: Tue, 30 Apr 2024 21:23:52 +0100 Subject: [PATCH 12/75] feat: add dependabot config for keeping python packages updated --- .github/dependabot.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..3dd5eaf6b --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,11 @@ +version: 2 +updates: +- package-ecosystem: pip + directory: "/backend" + schedule: + interval: daily + time: "13:00" + groups: + python-packages: + patterns: + - "*" From 18e5c2e4cb4c0c018341dac2e26c812dd554d726 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Tue, 30 Apr 2024 14:56:06 -0700 Subject: [PATCH 13/75] refac: styling --- src/lib/components/chat/MessageInput.svelte | 5 +- .../chat/MessageInput/Suggestions.svelte | 29 +++-- src/lib/components/chat/Messages.svelte | 19 ++- .../chat/Messages/Placeholder.svelte | 112 ++++++++++-------- src/routes/(app)/+page.svelte | 13 +- 5 files changed, 110 insertions(+), 68 deletions(-) diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte index 7911b0207..5aceaccef 100644 --- a/src/lib/components/chat/MessageInput.svelte +++ b/src/lib/components/chat/MessageInput.svelte @@ -20,7 +20,6 @@ export let submitPrompt: Function; export let stopResponse: Function; - export let suggestionPrompts = []; export let autoScroll = true; let chatTextAreaElement: HTMLTextAreaElement; let filesInputElement; @@ -453,9 +452,9 @@ /> {/if} - {#if messages.length == 0 && suggestionPrompts.length !== 0} + diff --git a/src/lib/components/chat/MessageInput/Suggestions.svelte b/src/lib/components/chat/MessageInput/Suggestions.svelte index 13a8e1d7a..dd37cc636 100644 --- a/src/lib/components/chat/MessageInput/Suggestions.svelte +++ b/src/lib/components/chat/MessageInput/Suggestions.svelte @@ -10,14 +10,12 @@ : suggestionPrompts.sort(() => Math.random() - 0.5).slice(0, 4); -
-
+
+
{#each prompts as prompt, promptIdx} -
+
{/each} +
+ + diff --git a/src/lib/components/chat/Messages.svelte b/src/lib/components/chat/Messages.svelte index 2da91c50f..534f48968 100644 --- a/src/lib/components/chat/Messages.svelte +++ b/src/lib/components/chat/Messages.svelte @@ -22,6 +22,8 @@ export let continueGeneration: Function; export let regenerateResponse: Function; + export let prompt; + export let suggestionPrompts; export let processing = ''; export let bottomPadding = false; export let autoScroll; @@ -276,7 +278,22 @@ {#if messages.length == 0} - + { + const chatTextAreaElement = document.getElementById('chat-textarea'); + if (chatTextAreaElement) { + prompt = p; + + await tick(); + + chatTextAreaElement.style.height = ''; + chatTextAreaElement.style.height = Math.min(chatTextAreaElement.scrollHeight, 200) + 'px'; + } + }} + /> {:else}
{#key chatId} diff --git a/src/lib/components/chat/Messages/Placeholder.svelte b/src/lib/components/chat/Messages/Placeholder.svelte index d9e04972f..12392c828 100644 --- a/src/lib/components/chat/Messages/Placeholder.svelte +++ b/src/lib/components/chat/Messages/Placeholder.svelte @@ -2,12 +2,16 @@ import { WEBUI_BASE_URL } from '$lib/constants'; import { user } from '$lib/stores'; import { onMount, getContext } from 'svelte'; + import Suggestions from '../MessageInput/Suggestions.svelte'; const i18n = getContext('i18n'); export let models = []; export let modelfiles = []; + export let submitPrompt; + export let suggestionPrompts; + let modelfile = null; let selectedModelIdx = 0; @@ -20,56 +24,68 @@ {#if models.length > 0} -
-
-
- {#each models as model, modelIdx} - - {/each} -
-
-
- {#if modelfile} - - {modelfile.title} - -
- {modelfile.desc} -
- {#if modelfile.user} -
- By {modelfile.user.name ? modelfile.user.name : `@${modelfile.user.username}`} +
+
+
+ {#each models as model, modelIdx} +
- {/if} - {:else} -
{$i18n.t('Hello, {{name}}', { name: $user.name })}
+ {#if model in modelfiles} + modelfile + {:else} + logo + {/if} + + {/each} +
+
+
+
+ {#if modelfile} + + {modelfile.title} + +
+ {modelfile.desc} +
+ {#if modelfile.user} + + {/if} + {:else} +
{$i18n.t('Hello, {{name}}', { name: $user.name })}
-
{$i18n.t('How can I help you today?')}
- {/if} +
+ {$i18n.t('How can I help you today?')} +
+ {/if} +
+
+ +
+ +
{/if} diff --git a/src/routes/(app)/+page.svelte b/src/routes/(app)/+page.svelte index e572f82fd..b5ff1ccfa 100644 --- a/src/routes/(app)/+page.svelte +++ b/src/routes/(app)/+page.svelte @@ -867,7 +867,10 @@ bind:history bind:messages bind:autoScroll + bind:prompt bottomPadding={files.length > 0} + suggestionPrompts={selectedModelfile?.suggestionPrompts ?? + $config.default_prompt_suggestions} {sendPrompt} {continueGeneration} {regenerateResponse} @@ -875,14 +878,6 @@
- +
From 35437fb3a3a067209bce64d70dbfaaddc94a9ab9 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Tue, 30 Apr 2024 14:58:11 -0700 Subject: [PATCH 14/75] refac: styling --- src/lib/components/chat/Messages/Placeholder.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/components/chat/Messages/Placeholder.svelte b/src/lib/components/chat/Messages/Placeholder.svelte index 12392c828..9f58660f3 100644 --- a/src/lib/components/chat/Messages/Placeholder.svelte +++ b/src/lib/components/chat/Messages/Placeholder.svelte @@ -56,7 +56,7 @@
{#if modelfile} From 27ff3861154c0c95cf8cbc448b99cca105dc2c82 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Tue, 30 Apr 2024 15:08:34 -0700 Subject: [PATCH 15/75] fix: horizontal scroll issue on mobile #1854 --- .../chat/MessageInput/Suggestions.svelte | 8 +++--- src/lib/components/layout/Sidebar.svelte | 27 ++++++++++--------- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/src/lib/components/chat/MessageInput/Suggestions.svelte b/src/lib/components/chat/MessageInput/Suggestions.svelte index dd37cc636..e68caafa0 100644 --- a/src/lib/components/chat/MessageInput/Suggestions.svelte +++ b/src/lib/components/chat/MessageInput/Suggestions.svelte @@ -4,10 +4,10 @@ let prompts = []; - $: prompts = - suggestionPrompts.length <= 4 - ? suggestionPrompts - : suggestionPrompts.sort(() => Math.random() - 0.5).slice(0, 4); + $: prompts = suggestionPrompts; + // suggestionPrompts.length <= 4 + // ? suggestionPrompts + // : suggestionPrompts.sort(() => Math.random() - 0.5).slice(0, 4);
diff --git a/src/lib/components/layout/Sidebar.svelte b/src/lib/components/layout/Sidebar.svelte index 6764e1a15..5be325f87 100644 --- a/src/lib/components/layout/Sidebar.svelte +++ b/src/lib/components/layout/Sidebar.svelte @@ -53,28 +53,29 @@ show = window.innerWidth > BREAKPOINT; await chats.set(await getChatList(localStorage.token)); - let touchstartX = 0; - let touchendX = 0; + let touchstart; + let touchend; function checkDirection() { const screenWidth = window.innerWidth; - const swipeDistance = Math.abs(touchendX - touchstartX); - if (swipeDistance >= screenWidth / 4) { - if (touchendX < touchstartX) { + const swipeDistance = Math.abs(touchend.screenX - touchstart.screenX); + if (touchstart.clientX < 40 && swipeDistance >= screenWidth / 4) { + if (touchend.screenX < touchstart.screenX) { show = false; } - if (touchendX > touchstartX) { + if (touchend.screenX > touchstart.screenX) { show = true; } } } const onTouchStart = (e) => { - touchstartX = e.changedTouches[0].screenX; + touchstart = e.changedTouches[0]; + console.log(touchstart.clientX); }; const onTouchEnd = (e) => { - touchendX = e.changedTouches[0].screenX; + touchend = e.changedTouches[0]; checkDirection(); }; @@ -84,14 +85,14 @@ } }; - document.addEventListener('touchstart', onTouchStart); - document.addEventListener('touchend', onTouchEnd); + window.addEventListener('touchstart', onTouchStart); + window.addEventListener('touchend', onTouchEnd); window.addEventListener('resize', onResize); return () => { - document.removeEventListener('touchstart', onTouchStart); - document.removeEventListener('touchend', onTouchEnd); - document.removeEventListener('resize', onResize); + window.removeEventListener('touchstart', onTouchStart); + window.removeEventListener('touchend', onTouchEnd); + window.removeEventListener('resize', onResize); }; }); From 01c077da3d5eded83a20a21e8643eaafc6edeae5 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Tue, 30 Apr 2024 15:10:39 -0700 Subject: [PATCH 16/75] refac --- src/lib/components/chat/Messages.svelte | 2 +- .../chat/Messages/ResponseMessage.svelte | 30 ++++++++++--------- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/src/lib/components/chat/Messages.svelte b/src/lib/components/chat/Messages.svelte index 534f48968..26291e115 100644 --- a/src/lib/components/chat/Messages.svelte +++ b/src/lib/components/chat/Messages.svelte @@ -295,7 +295,7 @@ }} /> {:else} -
+
{#key chatId} {#each messages as message, messageIdx}
diff --git a/src/lib/components/chat/Messages/ResponseMessage.svelte b/src/lib/components/chat/Messages/ResponseMessage.svelte index 0a557b362..5cce7b774 100644 --- a/src/lib/components/chat/Messages/ResponseMessage.svelte +++ b/src/lib/components/chat/Messages/ResponseMessage.svelte @@ -137,20 +137,22 @@ .getElementById(`message-${message.id}`) ?.getElementsByClassName('chat-assistant'); - for (const element of chatMessageElements) { - auto_render(element, { - // customised options - // • auto-render specific keys, e.g.: - delimiters: [ - { left: '$$', right: '$$', display: false }, - { left: '$ ', right: ' $', display: false }, - { left: '\\(', right: '\\)', display: false }, - { left: '\\[', right: '\\]', display: false }, - { left: '[ ', right: ' ]', display: false } - ], - // • rendering keys, e.g.: - throwOnError: false - }); + if (chatMessageElements) { + for (const element of chatMessageElements) { + auto_render(element, { + // customised options + // • auto-render specific keys, e.g.: + delimiters: [ + { left: '$$', right: '$$', display: false }, + { left: '$ ', right: ' $', display: false }, + { left: '\\(', right: '\\)', display: false }, + { left: '\\[', right: '\\]', display: false }, + { left: '[ ', right: ' ]', display: false } + ], + // • rendering keys, e.g.: + throwOnError: false + }); + } } }; From f653944849ea43d1aff80001e6e88830d4e75926 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Tue, 30 Apr 2024 15:11:17 -0700 Subject: [PATCH 17/75] refac: snap-center removed --- src/lib/components/chat/MessageInput/Suggestions.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/components/chat/MessageInput/Suggestions.svelte b/src/lib/components/chat/MessageInput/Suggestions.svelte index e68caafa0..18419e92f 100644 --- a/src/lib/components/chat/MessageInput/Suggestions.svelte +++ b/src/lib/components/chat/MessageInput/Suggestions.svelte @@ -13,7 +13,7 @@
{#each prompts as prompt, promptIdx} -
+
- {/each} -
-
-
-
- {#if modelfile} - - {modelfile.title} - -
- {modelfile.desc} -
- {#if modelfile.user} - +
+
+
+ {#each models as model, modelIdx} + + {/each} +
+
+
+
+ {#if modelfile} + + {modelfile.title} + +
+ {modelfile.desc} +
+ {#if modelfile.user} + {/if} -
-
+ {:else} +
{$i18n.t('Hello, {{name}}', { name: $user.name })}
-
- +
+ {$i18n.t('How can I help you today?')} +
+ {/if}
+ +
+ +
{/if} From 3c9fc7858bcf2c317976f11c76587633b7485342 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Tue, 30 Apr 2024 16:34:29 -0700 Subject: [PATCH 23/75] fix: styling --- src/lib/components/chat/MessageInput.svelte | 953 ++++++++++---------- src/lib/components/chat/Messages.svelte | 2 +- src/lib/components/layout/Sidebar.svelte | 33 +- src/lib/stores/index.ts | 2 + src/routes/(app)/+page.svelte | 3 +- src/routes/(app)/c/[id]/+page.svelte | 21 +- 6 files changed, 507 insertions(+), 507 deletions(-) diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte index 99d9a39fb..30380e941 100644 --- a/src/lib/components/chat/MessageInput.svelte +++ b/src/lib/components/chat/MessageInput.svelte @@ -1,7 +1,7 @@
@@ -297,10 +260,10 @@ }} /> {:else} -
+
{#key chatId} {#each messages as message, messageIdx} -
+
+
{/if} {/key}
diff --git a/src/lib/components/chat/Messages/CodeBlock.svelte b/src/lib/components/chat/Messages/CodeBlock.svelte index c52905476..18ee9f541 100644 --- a/src/lib/components/chat/Messages/CodeBlock.svelte +++ b/src/lib/components/chat/Messages/CodeBlock.svelte @@ -31,7 +31,9 @@ >
-
{@html highlightedCode || code}
From d513629984a8765927f017fdb8663b919b4d7768 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Tue, 30 Apr 2024 16:55:32 -0700 Subject: [PATCH 25/75] fix: styling --- src/lib/components/layout/Sidebar.svelte | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/lib/components/layout/Sidebar.svelte b/src/lib/components/layout/Sidebar.svelte index d78194611..b20b239d5 100644 --- a/src/lib/components/layout/Sidebar.svelte +++ b/src/lib/components/layout/Sidebar.svelte @@ -417,7 +417,7 @@
{/if} -
+
{#each $chats.filter((chat) => { if (search === '') { return true; @@ -831,3 +831,14 @@
+ + From a01fd1581241127d1b1b423c69de0f7d7f635b4c Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Tue, 30 Apr 2024 16:58:07 -0700 Subject: [PATCH 26/75] refac: sidebar styling --- src/lib/components/layout/Sidebar.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/components/layout/Sidebar.svelte b/src/lib/components/layout/Sidebar.svelte index b20b239d5..ab4e1044f 100644 --- a/src/lib/components/layout/Sidebar.svelte +++ b/src/lib/components/layout/Sidebar.svelte @@ -165,7 +165,7 @@ id="sidebar" class="h-screen max-h-[100dvh] min-h-screen {$showSidebar ? 'lg:relative w-[260px]' - : '-translate-x-[260px] w-[0px]'} bg-gray-50 text-gray-900 dark:bg-gray-950 dark:text-gray-200 text-sm transition fixed z-50 top-0 left-0 + : '-translate-x-[260px] w-[0px]'} bg-gray-50 text-gray-900 dark:bg-gray-950 dark:text-gray-200 text-sm transition fixed z-50 top-0 left-0 rounded-r-2xl " data-state={$showSidebar} > From 44884a888691129ab013fa534b4df6462a38ebe2 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Tue, 30 Apr 2024 17:07:03 -0700 Subject: [PATCH 27/75] feat: randomised suggestion --- src/lib/components/chat/MessageInput/Suggestions.svelte | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lib/components/chat/MessageInput/Suggestions.svelte b/src/lib/components/chat/MessageInput/Suggestions.svelte index cbc3a7e5f..fc8038c41 100644 --- a/src/lib/components/chat/MessageInput/Suggestions.svelte +++ b/src/lib/components/chat/MessageInput/Suggestions.svelte @@ -4,7 +4,9 @@ let prompts = []; - $: prompts = suggestionPrompts; + $: prompts = suggestionPrompts + .reduce((acc, current) => [...acc, ...[current]], []) + .sort(() => Math.random() - 0.5); // suggestionPrompts.length <= 4 // ? suggestionPrompts // : suggestionPrompts.sort(() => Math.random() - 0.5).slice(0, 4); From 1e05caf809dca2035b0db683f8d30e2b8ed1509c Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Tue, 30 Apr 2024 17:10:12 -0700 Subject: [PATCH 28/75] fix: response profile image --- src/lib/components/chat/Messages/ResponseMessage.svelte | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/lib/components/chat/Messages/ResponseMessage.svelte b/src/lib/components/chat/Messages/ResponseMessage.svelte index 5cce7b774..4d87f929f 100644 --- a/src/lib/components/chat/Messages/ResponseMessage.svelte +++ b/src/lib/components/chat/Messages/ResponseMessage.svelte @@ -327,9 +327,8 @@ {#key message.id}
From c580d29a5daf18d8309358eb80aea7eb6966fa98 Mon Sep 17 00:00:00 2001 From: Joakim Date: Wed, 1 May 2024 14:30:16 +0200 Subject: [PATCH 29/75] Create translation.json for sv-SE Translation to Swedish --- src/lib/i18n/locales/sv-SE/translation.json | 373 ++++++++++++++++++++ 1 file changed, 373 insertions(+) create mode 100644 src/lib/i18n/locales/sv-SE/translation.json diff --git a/src/lib/i18n/locales/sv-SE/translation.json b/src/lib/i18n/locales/sv-SE/translation.json new file mode 100644 index 000000000..aa31c5682 --- /dev/null +++ b/src/lib/i18n/locales/sv-SE/translation.json @@ -0,0 +1,373 @@ +{ + "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' eller '-1' för ingen utgång.", + "(Beta)": "(Beta)", + "(e.g. `sh webui.sh --api`)": "(t.ex. `sh webui.sh --api`)", + "(latest)": "(senaste)", + "{{modelName}} is thinking...": "{{modelName}} tänker...", + "{{webUIName}} Backend Required": "{{webUIName}} Backend krävs", + "a user": "en användare", + "About": "Om", + "Account": "Konto", + "Action": "Åtgärd", + "Add a model": "Lägg till en modell", + "Add a model tag name": "Lägg till ett modellnamn", + "Add a short description about what this modelfile does": "Lägg till en kort beskrivning av vad den här modelfilen gör", + "Add a short title for this prompt": "Lägg till en kort titel för denna prompt", + "Add a tag": "Lägg till en tagg", + "Add Docs": "Lägg till dokument", + "Add Files": "Lägg till filer", + "Add message": "Lägg till meddelande", + "add tags": "lägg till taggar", + "Adjusting these settings will apply changes universally to all users.": "Justering av dessa inställningar kommer att tillämpa ändringar universellt för alla användare.", + "admin": "administratör", + "Admin Panel": "Administrationspanel", + "Admin Settings": "Administratörsinställningar", + "Advanced Parameters": "Avancerade parametrar", + "all": "alla", + "All Users": "Alla användare", + "Allow": "Tillåt", + "Allow Chat Deletion": "Tillåt chattborttagning", + "alphanumeric characters and hyphens": "alfanumeriska tecken och bindestreck", + "Already have an account?": "Har du redan ett konto?", + "an assistant": "en assistent", + "and": "och", + "API Base URL": "API-bas-URL", + "API Key": "API-nyckel", + "API RPM": "API RPM", + "are allowed - Activate this command by typing": "är tillåtna - Aktivera detta kommando genom att skriva", + "Are you sure?": "Är du säker?", + "Audio": "Ljud", + "Auto-playback response": "Automatisk uppspelning", + "Auto-send input after 3 sec.": "Skicka automatiskt indata efter 3 sek.", + "AUTOMATIC1111 Base URL": "AUTOMATIC1111 bas-URL", + "AUTOMATIC1111 Base URL is required.": "AUTOMATIC1111 bas-URL krävs.", + "available!": "tillgänglig!", + "Back": "Tillbaka", + "Builder Mode": "Byggarläge", + "Cancel": "Avbryt", + "Categories": "Kategorier", + "Change Password": "Ändra lösenord", + "Chat": "Chatt", + "Chat History": "Chatthistorik", + "Chat History is off for this browser.": "Chatthistoriken är avstängd för denna webbläsare.", + "Chats": "Chattar", + "Check Again": "Kontrollera igen", + "Check for updates": "Sök efter uppdateringar", + "Checking for updates...": "Söker efter uppdateringar...", + "Choose a model before saving...": "Välj en modell innan du sparar...", + "Chunk Overlap": "Överlappning", + "Chunk Params": "Chunk-parametrar", + "Chunk Size": "Chunk-storlek", + "Click here for help.": "Klicka här för hjälp.", + "Click here to check other modelfiles.": "Klicka här för att kontrollera andra modelfiler.", + "Click here to select": "Klicka här för att välja", + "Click here to select documents.": "Klicka här för att välja dokument.", + "click here.": "klicka här.", + "Click on the user role button to change a user's role.": "Klicka på knappen för användarroll för att ändra en användares roll.", + "Close": "Stäng", + "Collection": "Samling", + "Command": "Kommando", + "Confirm Password": "Bekräfta lösenord", + "Connections": "Anslutningar", + "Content": "Innehåll", + "Context Length": "Kontextlängd", + "Conversation Mode": "Samtalsläge", + "Copy last code block": "Kopiera sista kodblock", + "Copy last response": "Kopiera sista svar", + "Copying to clipboard was successful!": "Kopiering till urklipp lyckades!", + "Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "Skapa en kort, 3-5 ords fras som rubrik för följande fråga, strikt följa 3-5 ordsgränsen och undvika användning av ordet 'titel':", + "Create a modelfile": "Skapa en modelfil", + "Create Account": "Skapa konto", + "Created at": "Skapad kl", + "Created by": "Skapad av", + "Current Model": "Aktuell modell", + "Current Password": "Nuvarande lösenord", + "Custom": "Anpassad", + "Customize Ollama models for a specific purpose": "Anpassa Ollama-modeller för ett specifikt ändamål", + "Dark": "Mörk", + "Database": "Databas", + "DD/MM/YYYY HH:mm": "DD/MM/ÅÅÅÅ TT:mm", + "Default": "Standard", + "Default (Automatic1111)": "Standard (Automatic1111)", + "Default (Web API)": "Standard (Web API)", + "Default model updated": "Standardmodell uppdaterad", + "Default Prompt Suggestions": "Standardpromptförslag", + "Default User Role": "Standardanvändarroll", + "delete": "radera", + "Delete a model": "Ta bort en modell", + "Delete chat": "Radera chatt", + "Delete Chats": "Radera chattar", + "Deleted {{deleteModelTag}}": "Raderad {{deleteModelTag}}", + "Deleted {tagName}": "Raderad {tagName}", + "Description": "Beskrivning", + "Notifications": "Notifikationer", + "Disabled": "Inaktiverad", + "Discover a modelfile": "Upptäck en modelfil", + "Discover a prompt": "Upptäck en prompt", + "Discover, download, and explore custom prompts": "Upptäck, ladda ner och utforska anpassade prompts", + "Discover, download, and explore model presets": "Upptäck, ladda ner och utforska modellförinställningar", + "Display the username instead of You in the Chat": "Visa användarnamnet istället för du i chatten", + "Document": "Dokument", + "Document Settings": "Dokumentinställningar", + "Documents": "Dokument", + "does not make any external connections, and your data stays securely on your locally hosted server.": "gör inga externa anslutningar, och dina data förblir säkra på din lokalt värdade server.", + "Don't Allow": "Tillåt inte", + "Don't have an account?": "Har du inte ett konto?", + "Download as a File": "Ladda ner som en fil", + "Download Database": "Ladda ner databas", + "Drop any files here to add to the conversation": "Släpp filer här för att lägga till i konversationen", + "e.g. '30s','10m'. Valid time units are 's', 'm', 'h'.": "t.ex. '30s', '10m'. Giltiga tidsenheter är 's', 'm', 'h'.", + "Edit Doc": "Redigera dokument", + "Edit User": "Redigera användare", + "Email": "E-post", + "Embedding model: {{embedding_model}}": "Inbäddningsmodell: {{embedding_model}}", + "Enable Chat History": "Aktivera chatthistorik", + "Enable New Sign Ups": "Aktivera nya registreringar", + "Enabled": "Aktiverad", + "Enter {{role}} message here": "Skriv {{role}} meddelande här", + "Enter API Key": "Ange API-nyckel", + "Enter Chunk Overlap": "Ange Chunk-överlappning", + "Enter Chunk Size": "Ange Chunk-storlek", + "Enter Image Size (e.g. 512x512)": "Ange bildstorlek (t.ex. 512x512)", + "Enter LiteLLM API Base URL (litellm_params.api_base)": "Ange LiteLLM API-bas-URL (litellm_params.api_base)", + "Enter LiteLLM API Key (litellm_params.api_key)": "Ange LiteLLM API-nyckel (litellm_params.api_key)", + "Enter LiteLLM API RPM (litellm_params.rpm)": "Ange LiteLLM API RPM (litellm_params.rpm)", + "Enter LiteLLM Model (litellm_params.model)": "Ange LiteLLM-modell (litellm_params.model)", + "Enter Max Tokens (litellm_params.max_tokens)": "Ange max antal tokens (litellm_params.max_tokens)", + "Enter model tag (e.g. {{modelTag}})": "Ange modelltagg (t.ex. {{modelTag}})", + "Enter Number of Steps (e.g. 50)": "Ange antal steg (t.ex. 50)", + "Enter stop sequence": "Ange stoppsekvens", + "Enter Top K": "Ange Top K", + "Enter URL (e.g. http://127.0.0.1:7860/)": "Ange URL (t.ex. http://127.0.0.1:7860/)", + "Enter Your Email": "Ange din e-post", + "Enter Your Full Name": "Ange ditt fullständiga namn", + "Enter Your Password": "Ange ditt lösenord", + "Experimental": "Experimentell", + "Export All Chats (All Users)": "Exportera alla chattar (alla användare)", + "Export Chats": "Exportera chattar", + "Export Documents Mapping": "Exportera dokumentmappning", + "Export Modelfiles": "Exportera modelfiler", + "Export Prompts": "Exportera prompts", + "Failed to read clipboard contents": "Misslyckades med att läsa urklippsinnehåll", + "File Mode": "Fil-läge", + "File not found.": "Fil hittades inte.", + "Fingerprint spoofing detected: Unable to use initials as avatar. Defaulting to default profile image.": "Fingeravtrycksmanipulering upptäckt: Kan inte använda initialer som avatar. Återställning till standardprofilbild.", + "Fluidly stream large external response chunks": "Flytande ström stora externa svarsblock", + "Focus chat input": "Fokusera chattindata", + "Format your variables using square brackets like this:": "Formatera dina variabler med hakparenteser så här:", + "From (Base Model)": "Från (basmodell)", + "Full Screen Mode": "Helskärmsläge", + "General": "Allmän", + "General Settings": "Allmänna inställningar", + "Hello, {{name}}": "Hej, {{name}}", + "Hide": "Dölj", + "Hide Additional Params": "Dölj ytterligare parametrar", + "How can I help you today?": "Hur kan jag hjälpa dig idag?", + "Image Generation (Experimental)": "Bildgenerering (experimentell)", + "Image Generation Engine": "Bildgenereringsmotor", + "Image Settings": "Bildinställningar", + "Images": "Bilder", + "Import Chats": "Importera chattar", + "Import Documents Mapping": "Importera dokumentmappning", + "Import Modelfiles": "Importera modelfiler", + "Import Prompts": "Importera prompts", + "Include `--api` flag when running stable-diffusion-webui": "Inkludera `--api`-flagga när du kör stabil-diffusion-webui", + "Interface": "Gränssnitt", + "join our Discord for help.": "gå med i vår Discord för hjälp.", + "JSON": "JSON", + "JWT Expiration": "JWT-utgång", + "JWT Token": "JWT-token", + "Keep Alive": "Håll vid liv", + "Keyboard shortcuts": "Tangentbordsgenvägar", + "Language": "Språk", + "Light": "Ljus", + "Listening...": "Lyssnar...", + "LLMs can make mistakes. Verify important information.": "LLM:er kan göra misstag. Verifiera viktig information.", + "Made by OpenWebUI Community": "Tillverkad av OpenWebUI Community", + "Make sure to enclose them with": "Se till att bifoga dem med", + "Manage LiteLLM Models": "Hantera LiteLLM-modeller", + "Manage Models": "Hantera modeller", + "Manage Ollama Models": "Hantera Ollama-modeller", + "Max Tokens": "Max antal tokens", + "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.", + "Mirostat": "Mirostat", + "Mirostat Eta": "Mirostat Eta", + "Mirostat Tau": "Mirostat Tau", + "MMMM DD, YYYY": "MMMM DD, ÅÅÅÅ", + "Model '{{modelName}}' has been successfully downloaded.": "Modellen '{{modelName}}' har laddats ner framgångsrikt.", + "Model '{{modelTag}}' is already in queue for downloading.": "Modellen '{{modelTag}}' är redan i kö för nedladdning.", + "Model {{embedding_model}} update complete!": "Modelluppdateringen {{embedding_model}} är klar!", + "Model {{embedding_model}} update failed or not required!": "Modelluppdateringen {{embedding_model}} misslyckades eller krävs inte!", + "Model {{modelId}} not found": "Modell {{modelId}} hittades inte", + "Model {{modelName}} already exists.": "Modellen {{modelName}} finns redan.", + "Model filesystem path detected. Model shortname is required for update, cannot continue.": "Modellens filsystemväg upptäckt. Modellens kortnamn krävs för uppdatering, kan inte fortsätta.", + "Model Name": "Modellnamn", + "Model not selected": "Modell inte vald", + "Model Tag Name": "Modelltaggnamn", + "Model Whitelisting": "Modellens vitlista", + "Model(s) Whitelisted": "Modell(er) vitlistade", + "Modelfile": "Modelfil", + "Modelfile Advanced Settings": "Modelfilens avancerade inställningar", + "Modelfile Content": "Modelfilens innehåll", + "Modelfiles": "Modelfiler", + "Models": "Modeller", + "My Documents": "Mina dokument", + "My Modelfiles": "Mina modelfiler", + "My Prompts": "Mina prompts", + "Name": "Namn", + "Name Tag": "Namnskylt", + "Name your modelfile": "Namnge din modelfil", + "New Chat": "Ny chatt", + "New Password": "Nytt lösenord", + "Not sure what to add?": "Inte säker på vad du ska lägga till?", + "Not sure what to write? Switch to": "Inte säker på vad du ska skriva? Växla till", + "Off": "Av", + "Okay, Let's Go!": "Okej, nu kör vi!", + "Ollama Base URL": "Ollama bas-URL", + "Ollama Version": "Ollama-version", + "On": "På", + "Only": "Endast", + "Only alphanumeric characters and hyphens are allowed in the command string.": "Endast alfanumeriska tecken och bindestreck är tillåtna i kommandosträngen.", + "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.": "Hoppsan! Håll i dig! Dina filer är fortfarande i bearbetningsugnen. Vi lagar dem till perfektion. Var tålmodig så meddelar vi dig när de är redo.", + "Oops! Looks like the URL is invalid. Please double-check and try again.": "Hoppsan! Det ser ut som om URL:en är ogiltig. Dubbelkolla gärna och försök igen.", + "Oops! You're using an unsupported method (frontend only). Please serve the WebUI from the backend.": "Hoppsan! Du använder en ej stödd metod (endast frontend). Vänligen servera WebUI från backend.", + "Open": "Öppna", + "Open AI": "Öppna AI", + "Open AI (Dall-E)": "Öppna AI (Dall-E)", + "Open new chat": "Öppna ny chatt", + "OpenAI API": "OpenAI API", + "OpenAI API Key": "OpenAI API-nyckel", + "OpenAI API Key is required.": "OpenAI API-nyckel krävs.", + "or": "eller", + "Parameters": "Parametrar", + "Password": "Lösenord", + "PDF Extract Images (OCR)": "PDF Extrahera bilder (OCR)", + "pending": "väntande", + "Permission denied when accessing microphone: {{error}}": "Tillstånd nekades vid åtkomst till mikrofon: {{error}}", + "Playground": "Lekplats", + "Profile": "Profil", + "Prompt Content": "Promptinnehåll", + "Prompt suggestions": "Förslag", + "Prompts": "Prompts", + "Pull a model from Ollama.com": "Dra en modell från Ollama.com", + "Pull Progress": "Dra framsteg", + "Query Params": "Frågeparametrar", + "RAG Template": "RAG-mall", + "Raw Format": "Råformat", + "Record voice": "Spela in röst", + "Redirecting you to OpenWebUI Community": "Omdirigerar dig till OpenWebUI Community", + "Release Notes": "Versionsinformation", + "Repeat Last N": "Upprepa senaste N", + "Repeat Penalty": "Upprepa straff", + "Request Mode": "Begär läge", + "Reset Vector Storage": "Återställ vektorlager", + "Response AutoCopy to Clipboard": "Svara AutoCopy till urklipp", + "Role": "Roll", + "Rosé Pine": "Rosé Pine", + "Rosé Pine Dawn": "Rosé Pine Dawn", + "Save": "Spara", + "Save & Create": "Spara och skapa", + "Save & Submit": "Spara och skicka", + "Save & Update": "Spara och uppdatera", + "Saving chat logs directly to your browser's storage is no longer supported. Please take a moment to download and delete your chat logs by clicking the button below. Don't worry, you can easily re-import your chat logs to the backend through": "Att spara chatloggar direkt till din webbläsares lagring stöds inte längre. Ta en stund och ladda ner och radera dina chattloggar genom att klicka på knappen nedan. Oroa dig inte, du kan enkelt importera dina chattloggar till backend genom", + "Scan": "Skanna", + "Scan complete!": "Skanning klar!", + "Scan for documents from {{path}}": "Skanna efter dokument från {{path}}", + "Search": "Sök", + "Search Documents": "Sök dokument", + "Search Prompts": "Sök promptar", + "See readme.md for instructions": "Se readme.md för instruktioner", + "See what's new": "Se vad som är nytt", + "Seed": "Seed", + "Select a mode": "Välj ett läge", + "Select a model": "Välj en modell", + "Select an Ollama instance": "Välj en Ollama-instans", + "Send a Message": "Skicka ett meddelande", + "Send message": "Skicka meddelande", + "Server connection verified": "Serveranslutning verifierad", + "Set as default": "Ange som standard", + "Set Default Model": "Ange standardmodell", + "Set Image Size": "Ange bildstorlek", + "Set Steps": "Ange steg", + "Set Title Auto-Generation Model": "Ange modell för automatisk generering av titel", + "Set Voice": "Ange röst", + "Settings": "Inställningar", + "Settings saved successfully!": "Inställningar sparades framgångsrikt!", + "Share to OpenWebUI Community": "Dela till OpenWebUI Community", + "short-summary": "kort sammanfattning", + "Show": "Visa", + "Show Additional Params": "Visa ytterligare parametrar", + "Show shortcuts": "Visa genvägar", + "sidebar": "sidofält", + "Sign in": "Logga in", + "Sign Out": "Logga ut", + "Sign up": "Registrera dig", + "Speech recognition error: {{error}}": "Fel vid taligenkänning: {{error}}", + "Speech-to-Text Engine": "Tal-till-text-motor", + "SpeechRecognition API is not supported in this browser.": "SpeechRecognition API stöds inte i denna webbläsare.", + "Stop Sequence": "Stoppsekvens", + "STT Settings": "STT-inställningar", + "Submit": "Skicka in", + "Success": "Framgång", + "Successfully updated.": "Uppdaterades framgångsrikt.", + "Sync All": "Synkronisera allt", + "System": "System", + "System Prompt": "Systemprompt", + "Tags": "Taggar", + "Temperature": "Temperatur", + "Template": "Mall", + "Text Completion": "Textslutförande", + "Text-to-Speech Engine": "Text-till-tal-motor", + "Tfs Z": "Tfs Z", + "Theme": "Tema", + "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Detta säkerställer att dina värdefulla konversationer sparas säkert till din backend-databas. Tack!", + "This setting does not sync across browsers or devices.": "Denna inställning synkroniseras inte mellan webbläsare eller enheter.", + "Tip: Update multiple variable slots consecutively by pressing the tab key in the chat input after each replacement.": "Tips: Uppdatera flera variabelplatser efter varandra genom att trycka på tabb-tangenten i chattinmatningen efter varje ersättning.", + "Title": "Titel", + "Title Auto-Generation": "Automatisk generering av titel", + "Title Generation Prompt": "Titelgenereringsprompt", + "to": "till", + "To access the available model names for downloading,": "För att komma åt de tillgängliga modellnamnen för nedladdning,", + "To access the GGUF models available for downloading,": "För att komma åt de GGUF-modeller som finns tillgängliga för nedladdning,", + "to chat input.": "till chattinmatning.", + "Toggle settings": "Växla inställningar", + "Toggle sidebar": "Växla sidofält", + "Top K": "Topp K", + "Top P": "Topp P", + "Trouble accessing Ollama?": "Problem med att komma åt Ollama?", + "TTS Settings": "TTS-inställningar", + "Type Hugging Face Resolve (Download) URL": "Skriv Hugging Face Resolve (nedladdning) URL", + "Uh-oh! There was an issue connecting to {{provider}}.": "Oj då! Det uppstod ett problem med att ansluta till {{provider}}.", + "Understand that updating or changing your embedding model requires reset of the vector database and re-import of all documents. You have been warned!": "Förstå att uppdatering eller ändring av din inbäddningsmodell kräver återställning av vektordatabasen och återimport av alla dokument. Du har blivit varnad!", + "Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Okänd filtyp '{{file_type}}', men accepterar och behandlar som vanlig text", + "Update": "Uppdatera", + "Update embedding model {{embedding_model}}": "Uppdatera inbäddningsmodell {{embedding_model}}", + "Update password": "Uppdatera lösenord", + "Upload a GGUF model": "Ladda upp en GGUF-modell", + "Upload files": "Ladda upp filer", + "Upload Progress": "Uppladdningsförlopp", + "URL Mode": "URL-läge", + "Use '#' in the prompt input to load and select your documents.": "Använd '#' i promptinmatningen för att ladda och välja dina dokument.", + "Use Gravatar": "Använd Gravatar", + "Use Initials": "Använd initialer", + "user": "användare", + "User Permissions": "Användarbehörigheter", + "Users": "Användare", + "Utilize": "Använd", + "Valid time units:": "Giltiga tidsenheter:", + "variable": "variabel", + "variable to have them replaced with clipboard content.": "variabel för att få dem ersatta med urklippsinnehåll.", + "Version": "Version", + "Web": "Webb", + "WebUI Add-ons": "WebUI-tillägg", + "WebUI Settings": "WebUI-inställningar", + "WebUI will make requests to": "WebUI kommer att skicka förfrågningar till", + "What’s New in": "Vad är nytt i", + "When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "När historiken är avstängd visas inte nya chattar i denna webbläsare i din historik på någon av dina enheter.", + "Whisper (Local)": "Whisper (lokal)", + "Write a prompt suggestion (e.g. Who are you?)": "Skriv ett förslag (t.ex. Vem är du?)", + "Write a summary in 50 words that summarizes [topic or keyword].": "Skriv en sammanfattning på 50 ord som sammanfattar [ämne eller nyckelord].", + "You": "Du", + "You're a helpful assistant.": "Du är en hjälpsam assistent.", + "You're now logged in.": "Du är nu inloggad." +} From 20be93217bba00218b69f5c5b8d645b10e732e8b Mon Sep 17 00:00:00 2001 From: Joakim Date: Wed, 1 May 2024 14:35:17 +0200 Subject: [PATCH 30/75] Update languages.json to add sv-SE Swedish translation --- src/lib/i18n/locales/languages.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/lib/i18n/locales/languages.json b/src/lib/i18n/locales/languages.json index 515f05e1f..14b7e9df5 100644 --- a/src/lib/i18n/locales/languages.json +++ b/src/lib/i18n/locales/languages.json @@ -95,4 +95,8 @@ "code": "zh-TW", "title": "Chinese (Traditional)" } + { + "code": "sv-SE", + "title": "Swedish" + } ] From 34be6de4d8c51b7abb6e146b4e4df4824ac34e20 Mon Sep 17 00:00:00 2001 From: Joakim Date: Wed, 1 May 2024 14:43:12 +0200 Subject: [PATCH 31/75] Update translation.json sv-SE Minor changes to Swedish translations --- src/lib/i18n/locales/sv-SE/translation.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib/i18n/locales/sv-SE/translation.json b/src/lib/i18n/locales/sv-SE/translation.json index aa31c5682..93e7eeb67 100644 --- a/src/lib/i18n/locales/sv-SE/translation.json +++ b/src/lib/i18n/locales/sv-SE/translation.json @@ -78,7 +78,7 @@ "Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "Skapa en kort, 3-5 ords fras som rubrik för följande fråga, strikt följa 3-5 ordsgränsen och undvika användning av ordet 'titel':", "Create a modelfile": "Skapa en modelfil", "Create Account": "Skapa konto", - "Created at": "Skapad kl", + "Created at": "Skapad", "Created by": "Skapad av", "Current Model": "Aktuell modell", "Current Password": "Nuvarande lösenord", @@ -183,7 +183,7 @@ "Light": "Ljus", "Listening...": "Lyssnar...", "LLMs can make mistakes. Verify important information.": "LLM:er kan göra misstag. Verifiera viktig information.", - "Made by OpenWebUI Community": "Tillverkad av OpenWebUI Community", + "Made by OpenWebUI Community": "Skapad av OpenWebUI Community", "Make sure to enclose them with": "Se till att bifoga dem med", "Manage LiteLLM Models": "Hantera LiteLLM-modeller", "Manage Models": "Hantera modeller", @@ -213,9 +213,9 @@ "Models": "Modeller", "My Documents": "Mina dokument", "My Modelfiles": "Mina modelfiler", - "My Prompts": "Mina prompts", + "My Prompts": "Mina promptar", "Name": "Namn", - "Name Tag": "Namnskylt", + "Name Tag": "Namntag", "Name your modelfile": "Namnge din modelfil", "New Chat": "Ny chatt", "New Password": "Nytt lösenord", From e626fb2dbfb6abf29d97b234f34538c2ee7f488e Mon Sep 17 00:00:00 2001 From: Joakim Date: Wed, 1 May 2024 20:42:50 +0200 Subject: [PATCH 32/75] Update languages.json Moved sv-SE to correct position alphabetically --- src/lib/i18n/locales/languages.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib/i18n/locales/languages.json b/src/lib/i18n/locales/languages.json index 14b7e9df5..c84921742 100644 --- a/src/lib/i18n/locales/languages.json +++ b/src/lib/i18n/locales/languages.json @@ -75,6 +75,10 @@ "code": "ru-RU", "title": "Russian (Russia)" }, + { + "code": "sv-SE", + "title": "Swedish" + }, { "code": "tr-TR", "title": "Turkish" @@ -95,8 +99,4 @@ "code": "zh-TW", "title": "Chinese (Traditional)" } - { - "code": "sv-SE", - "title": "Swedish" - } ] From d5bcae6182a6433d4d744a5041f3d87fdd53f993 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Wed, 1 May 2024 15:41:39 -0700 Subject: [PATCH 33/75] chore: format --- src/lib/i18n/locales/languages.json | 2 +- src/lib/i18n/locales/sv-SE/translation.json | 807 +++++++++++--------- 2 files changed, 437 insertions(+), 372 deletions(-) diff --git a/src/lib/i18n/locales/languages.json b/src/lib/i18n/locales/languages.json index cb8acf2b6..690152bb0 100644 --- a/src/lib/i18n/locales/languages.json +++ b/src/lib/i18n/locales/languages.json @@ -78,7 +78,7 @@ { "code": "sv-SE", "title": "Swedish" - }, + }, { "code": "tr-TR", "title": "Turkish" diff --git a/src/lib/i18n/locales/sv-SE/translation.json b/src/lib/i18n/locales/sv-SE/translation.json index 93e7eeb67..bcf3a1b3a 100644 --- a/src/lib/i18n/locales/sv-SE/translation.json +++ b/src/lib/i18n/locales/sv-SE/translation.json @@ -1,373 +1,438 @@ { - "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' eller '-1' för ingen utgång.", - "(Beta)": "(Beta)", - "(e.g. `sh webui.sh --api`)": "(t.ex. `sh webui.sh --api`)", - "(latest)": "(senaste)", - "{{modelName}} is thinking...": "{{modelName}} tänker...", - "{{webUIName}} Backend Required": "{{webUIName}} Backend krävs", - "a user": "en användare", - "About": "Om", - "Account": "Konto", - "Action": "Åtgärd", - "Add a model": "Lägg till en modell", - "Add a model tag name": "Lägg till ett modellnamn", - "Add a short description about what this modelfile does": "Lägg till en kort beskrivning av vad den här modelfilen gör", - "Add a short title for this prompt": "Lägg till en kort titel för denna prompt", - "Add a tag": "Lägg till en tagg", - "Add Docs": "Lägg till dokument", - "Add Files": "Lägg till filer", - "Add message": "Lägg till meddelande", - "add tags": "lägg till taggar", - "Adjusting these settings will apply changes universally to all users.": "Justering av dessa inställningar kommer att tillämpa ändringar universellt för alla användare.", - "admin": "administratör", - "Admin Panel": "Administrationspanel", - "Admin Settings": "Administratörsinställningar", - "Advanced Parameters": "Avancerade parametrar", - "all": "alla", - "All Users": "Alla användare", - "Allow": "Tillåt", - "Allow Chat Deletion": "Tillåt chattborttagning", - "alphanumeric characters and hyphens": "alfanumeriska tecken och bindestreck", - "Already have an account?": "Har du redan ett konto?", - "an assistant": "en assistent", - "and": "och", - "API Base URL": "API-bas-URL", - "API Key": "API-nyckel", - "API RPM": "API RPM", - "are allowed - Activate this command by typing": "är tillåtna - Aktivera detta kommando genom att skriva", - "Are you sure?": "Är du säker?", - "Audio": "Ljud", - "Auto-playback response": "Automatisk uppspelning", - "Auto-send input after 3 sec.": "Skicka automatiskt indata efter 3 sek.", - "AUTOMATIC1111 Base URL": "AUTOMATIC1111 bas-URL", - "AUTOMATIC1111 Base URL is required.": "AUTOMATIC1111 bas-URL krävs.", - "available!": "tillgänglig!", - "Back": "Tillbaka", - "Builder Mode": "Byggarläge", - "Cancel": "Avbryt", - "Categories": "Kategorier", - "Change Password": "Ändra lösenord", - "Chat": "Chatt", - "Chat History": "Chatthistorik", - "Chat History is off for this browser.": "Chatthistoriken är avstängd för denna webbläsare.", - "Chats": "Chattar", - "Check Again": "Kontrollera igen", - "Check for updates": "Sök efter uppdateringar", - "Checking for updates...": "Söker efter uppdateringar...", - "Choose a model before saving...": "Välj en modell innan du sparar...", - "Chunk Overlap": "Överlappning", - "Chunk Params": "Chunk-parametrar", - "Chunk Size": "Chunk-storlek", - "Click here for help.": "Klicka här för hjälp.", - "Click here to check other modelfiles.": "Klicka här för att kontrollera andra modelfiler.", - "Click here to select": "Klicka här för att välja", - "Click here to select documents.": "Klicka här för att välja dokument.", - "click here.": "klicka här.", - "Click on the user role button to change a user's role.": "Klicka på knappen för användarroll för att ändra en användares roll.", - "Close": "Stäng", - "Collection": "Samling", - "Command": "Kommando", - "Confirm Password": "Bekräfta lösenord", - "Connections": "Anslutningar", - "Content": "Innehåll", - "Context Length": "Kontextlängd", - "Conversation Mode": "Samtalsläge", - "Copy last code block": "Kopiera sista kodblock", - "Copy last response": "Kopiera sista svar", - "Copying to clipboard was successful!": "Kopiering till urklipp lyckades!", - "Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "Skapa en kort, 3-5 ords fras som rubrik för följande fråga, strikt följa 3-5 ordsgränsen och undvika användning av ordet 'titel':", - "Create a modelfile": "Skapa en modelfil", - "Create Account": "Skapa konto", - "Created at": "Skapad", - "Created by": "Skapad av", - "Current Model": "Aktuell modell", - "Current Password": "Nuvarande lösenord", - "Custom": "Anpassad", - "Customize Ollama models for a specific purpose": "Anpassa Ollama-modeller för ett specifikt ändamål", - "Dark": "Mörk", - "Database": "Databas", - "DD/MM/YYYY HH:mm": "DD/MM/ÅÅÅÅ TT:mm", - "Default": "Standard", - "Default (Automatic1111)": "Standard (Automatic1111)", - "Default (Web API)": "Standard (Web API)", - "Default model updated": "Standardmodell uppdaterad", - "Default Prompt Suggestions": "Standardpromptförslag", - "Default User Role": "Standardanvändarroll", - "delete": "radera", - "Delete a model": "Ta bort en modell", - "Delete chat": "Radera chatt", - "Delete Chats": "Radera chattar", - "Deleted {{deleteModelTag}}": "Raderad {{deleteModelTag}}", - "Deleted {tagName}": "Raderad {tagName}", - "Description": "Beskrivning", - "Notifications": "Notifikationer", - "Disabled": "Inaktiverad", - "Discover a modelfile": "Upptäck en modelfil", - "Discover a prompt": "Upptäck en prompt", - "Discover, download, and explore custom prompts": "Upptäck, ladda ner och utforska anpassade prompts", - "Discover, download, and explore model presets": "Upptäck, ladda ner och utforska modellförinställningar", - "Display the username instead of You in the Chat": "Visa användarnamnet istället för du i chatten", - "Document": "Dokument", - "Document Settings": "Dokumentinställningar", - "Documents": "Dokument", - "does not make any external connections, and your data stays securely on your locally hosted server.": "gör inga externa anslutningar, och dina data förblir säkra på din lokalt värdade server.", - "Don't Allow": "Tillåt inte", - "Don't have an account?": "Har du inte ett konto?", - "Download as a File": "Ladda ner som en fil", - "Download Database": "Ladda ner databas", - "Drop any files here to add to the conversation": "Släpp filer här för att lägga till i konversationen", - "e.g. '30s','10m'. Valid time units are 's', 'm', 'h'.": "t.ex. '30s', '10m'. Giltiga tidsenheter är 's', 'm', 'h'.", - "Edit Doc": "Redigera dokument", - "Edit User": "Redigera användare", - "Email": "E-post", - "Embedding model: {{embedding_model}}": "Inbäddningsmodell: {{embedding_model}}", - "Enable Chat History": "Aktivera chatthistorik", - "Enable New Sign Ups": "Aktivera nya registreringar", - "Enabled": "Aktiverad", - "Enter {{role}} message here": "Skriv {{role}} meddelande här", - "Enter API Key": "Ange API-nyckel", - "Enter Chunk Overlap": "Ange Chunk-överlappning", - "Enter Chunk Size": "Ange Chunk-storlek", - "Enter Image Size (e.g. 512x512)": "Ange bildstorlek (t.ex. 512x512)", - "Enter LiteLLM API Base URL (litellm_params.api_base)": "Ange LiteLLM API-bas-URL (litellm_params.api_base)", - "Enter LiteLLM API Key (litellm_params.api_key)": "Ange LiteLLM API-nyckel (litellm_params.api_key)", - "Enter LiteLLM API RPM (litellm_params.rpm)": "Ange LiteLLM API RPM (litellm_params.rpm)", - "Enter LiteLLM Model (litellm_params.model)": "Ange LiteLLM-modell (litellm_params.model)", - "Enter Max Tokens (litellm_params.max_tokens)": "Ange max antal tokens (litellm_params.max_tokens)", - "Enter model tag (e.g. {{modelTag}})": "Ange modelltagg (t.ex. {{modelTag}})", - "Enter Number of Steps (e.g. 50)": "Ange antal steg (t.ex. 50)", - "Enter stop sequence": "Ange stoppsekvens", - "Enter Top K": "Ange Top K", - "Enter URL (e.g. http://127.0.0.1:7860/)": "Ange URL (t.ex. http://127.0.0.1:7860/)", - "Enter Your Email": "Ange din e-post", - "Enter Your Full Name": "Ange ditt fullständiga namn", - "Enter Your Password": "Ange ditt lösenord", - "Experimental": "Experimentell", - "Export All Chats (All Users)": "Exportera alla chattar (alla användare)", - "Export Chats": "Exportera chattar", - "Export Documents Mapping": "Exportera dokumentmappning", - "Export Modelfiles": "Exportera modelfiler", - "Export Prompts": "Exportera prompts", - "Failed to read clipboard contents": "Misslyckades med att läsa urklippsinnehåll", - "File Mode": "Fil-läge", - "File not found.": "Fil hittades inte.", - "Fingerprint spoofing detected: Unable to use initials as avatar. Defaulting to default profile image.": "Fingeravtrycksmanipulering upptäckt: Kan inte använda initialer som avatar. Återställning till standardprofilbild.", - "Fluidly stream large external response chunks": "Flytande ström stora externa svarsblock", - "Focus chat input": "Fokusera chattindata", - "Format your variables using square brackets like this:": "Formatera dina variabler med hakparenteser så här:", - "From (Base Model)": "Från (basmodell)", - "Full Screen Mode": "Helskärmsläge", - "General": "Allmän", - "General Settings": "Allmänna inställningar", - "Hello, {{name}}": "Hej, {{name}}", - "Hide": "Dölj", - "Hide Additional Params": "Dölj ytterligare parametrar", - "How can I help you today?": "Hur kan jag hjälpa dig idag?", - "Image Generation (Experimental)": "Bildgenerering (experimentell)", - "Image Generation Engine": "Bildgenereringsmotor", - "Image Settings": "Bildinställningar", - "Images": "Bilder", - "Import Chats": "Importera chattar", - "Import Documents Mapping": "Importera dokumentmappning", - "Import Modelfiles": "Importera modelfiler", - "Import Prompts": "Importera prompts", - "Include `--api` flag when running stable-diffusion-webui": "Inkludera `--api`-flagga när du kör stabil-diffusion-webui", - "Interface": "Gränssnitt", - "join our Discord for help.": "gå med i vår Discord för hjälp.", - "JSON": "JSON", - "JWT Expiration": "JWT-utgång", - "JWT Token": "JWT-token", - "Keep Alive": "Håll vid liv", - "Keyboard shortcuts": "Tangentbordsgenvägar", - "Language": "Språk", - "Light": "Ljus", - "Listening...": "Lyssnar...", - "LLMs can make mistakes. Verify important information.": "LLM:er kan göra misstag. Verifiera viktig information.", - "Made by OpenWebUI Community": "Skapad av OpenWebUI Community", - "Make sure to enclose them with": "Se till att bifoga dem med", - "Manage LiteLLM Models": "Hantera LiteLLM-modeller", - "Manage Models": "Hantera modeller", - "Manage Ollama Models": "Hantera Ollama-modeller", - "Max Tokens": "Max antal tokens", - "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.", - "Mirostat": "Mirostat", - "Mirostat Eta": "Mirostat Eta", - "Mirostat Tau": "Mirostat Tau", - "MMMM DD, YYYY": "MMMM DD, ÅÅÅÅ", - "Model '{{modelName}}' has been successfully downloaded.": "Modellen '{{modelName}}' har laddats ner framgångsrikt.", - "Model '{{modelTag}}' is already in queue for downloading.": "Modellen '{{modelTag}}' är redan i kö för nedladdning.", - "Model {{embedding_model}} update complete!": "Modelluppdateringen {{embedding_model}} är klar!", - "Model {{embedding_model}} update failed or not required!": "Modelluppdateringen {{embedding_model}} misslyckades eller krävs inte!", - "Model {{modelId}} not found": "Modell {{modelId}} hittades inte", - "Model {{modelName}} already exists.": "Modellen {{modelName}} finns redan.", - "Model filesystem path detected. Model shortname is required for update, cannot continue.": "Modellens filsystemväg upptäckt. Modellens kortnamn krävs för uppdatering, kan inte fortsätta.", - "Model Name": "Modellnamn", - "Model not selected": "Modell inte vald", - "Model Tag Name": "Modelltaggnamn", - "Model Whitelisting": "Modellens vitlista", - "Model(s) Whitelisted": "Modell(er) vitlistade", - "Modelfile": "Modelfil", - "Modelfile Advanced Settings": "Modelfilens avancerade inställningar", - "Modelfile Content": "Modelfilens innehåll", - "Modelfiles": "Modelfiler", - "Models": "Modeller", - "My Documents": "Mina dokument", - "My Modelfiles": "Mina modelfiler", - "My Prompts": "Mina promptar", - "Name": "Namn", - "Name Tag": "Namntag", - "Name your modelfile": "Namnge din modelfil", - "New Chat": "Ny chatt", - "New Password": "Nytt lösenord", - "Not sure what to add?": "Inte säker på vad du ska lägga till?", - "Not sure what to write? Switch to": "Inte säker på vad du ska skriva? Växla till", - "Off": "Av", - "Okay, Let's Go!": "Okej, nu kör vi!", - "Ollama Base URL": "Ollama bas-URL", - "Ollama Version": "Ollama-version", - "On": "På", - "Only": "Endast", - "Only alphanumeric characters and hyphens are allowed in the command string.": "Endast alfanumeriska tecken och bindestreck är tillåtna i kommandosträngen.", - "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.": "Hoppsan! Håll i dig! Dina filer är fortfarande i bearbetningsugnen. Vi lagar dem till perfektion. Var tålmodig så meddelar vi dig när de är redo.", - "Oops! Looks like the URL is invalid. Please double-check and try again.": "Hoppsan! Det ser ut som om URL:en är ogiltig. Dubbelkolla gärna och försök igen.", - "Oops! You're using an unsupported method (frontend only). Please serve the WebUI from the backend.": "Hoppsan! Du använder en ej stödd metod (endast frontend). Vänligen servera WebUI från backend.", - "Open": "Öppna", - "Open AI": "Öppna AI", - "Open AI (Dall-E)": "Öppna AI (Dall-E)", - "Open new chat": "Öppna ny chatt", - "OpenAI API": "OpenAI API", - "OpenAI API Key": "OpenAI API-nyckel", - "OpenAI API Key is required.": "OpenAI API-nyckel krävs.", - "or": "eller", - "Parameters": "Parametrar", - "Password": "Lösenord", - "PDF Extract Images (OCR)": "PDF Extrahera bilder (OCR)", - "pending": "väntande", - "Permission denied when accessing microphone: {{error}}": "Tillstånd nekades vid åtkomst till mikrofon: {{error}}", - "Playground": "Lekplats", - "Profile": "Profil", - "Prompt Content": "Promptinnehåll", - "Prompt suggestions": "Förslag", - "Prompts": "Prompts", - "Pull a model from Ollama.com": "Dra en modell från Ollama.com", - "Pull Progress": "Dra framsteg", - "Query Params": "Frågeparametrar", - "RAG Template": "RAG-mall", - "Raw Format": "Råformat", - "Record voice": "Spela in röst", - "Redirecting you to OpenWebUI Community": "Omdirigerar dig till OpenWebUI Community", - "Release Notes": "Versionsinformation", - "Repeat Last N": "Upprepa senaste N", - "Repeat Penalty": "Upprepa straff", - "Request Mode": "Begär läge", - "Reset Vector Storage": "Återställ vektorlager", - "Response AutoCopy to Clipboard": "Svara AutoCopy till urklipp", - "Role": "Roll", - "Rosé Pine": "Rosé Pine", - "Rosé Pine Dawn": "Rosé Pine Dawn", - "Save": "Spara", - "Save & Create": "Spara och skapa", - "Save & Submit": "Spara och skicka", - "Save & Update": "Spara och uppdatera", - "Saving chat logs directly to your browser's storage is no longer supported. Please take a moment to download and delete your chat logs by clicking the button below. Don't worry, you can easily re-import your chat logs to the backend through": "Att spara chatloggar direkt till din webbläsares lagring stöds inte längre. Ta en stund och ladda ner och radera dina chattloggar genom att klicka på knappen nedan. Oroa dig inte, du kan enkelt importera dina chattloggar till backend genom", - "Scan": "Skanna", - "Scan complete!": "Skanning klar!", - "Scan for documents from {{path}}": "Skanna efter dokument från {{path}}", - "Search": "Sök", - "Search Documents": "Sök dokument", - "Search Prompts": "Sök promptar", - "See readme.md for instructions": "Se readme.md för instruktioner", - "See what's new": "Se vad som är nytt", - "Seed": "Seed", - "Select a mode": "Välj ett läge", - "Select a model": "Välj en modell", - "Select an Ollama instance": "Välj en Ollama-instans", - "Send a Message": "Skicka ett meddelande", - "Send message": "Skicka meddelande", - "Server connection verified": "Serveranslutning verifierad", - "Set as default": "Ange som standard", - "Set Default Model": "Ange standardmodell", - "Set Image Size": "Ange bildstorlek", - "Set Steps": "Ange steg", - "Set Title Auto-Generation Model": "Ange modell för automatisk generering av titel", - "Set Voice": "Ange röst", - "Settings": "Inställningar", - "Settings saved successfully!": "Inställningar sparades framgångsrikt!", - "Share to OpenWebUI Community": "Dela till OpenWebUI Community", - "short-summary": "kort sammanfattning", - "Show": "Visa", - "Show Additional Params": "Visa ytterligare parametrar", - "Show shortcuts": "Visa genvägar", - "sidebar": "sidofält", - "Sign in": "Logga in", - "Sign Out": "Logga ut", - "Sign up": "Registrera dig", - "Speech recognition error: {{error}}": "Fel vid taligenkänning: {{error}}", - "Speech-to-Text Engine": "Tal-till-text-motor", - "SpeechRecognition API is not supported in this browser.": "SpeechRecognition API stöds inte i denna webbläsare.", - "Stop Sequence": "Stoppsekvens", - "STT Settings": "STT-inställningar", - "Submit": "Skicka in", - "Success": "Framgång", - "Successfully updated.": "Uppdaterades framgångsrikt.", - "Sync All": "Synkronisera allt", - "System": "System", - "System Prompt": "Systemprompt", - "Tags": "Taggar", - "Temperature": "Temperatur", - "Template": "Mall", - "Text Completion": "Textslutförande", - "Text-to-Speech Engine": "Text-till-tal-motor", - "Tfs Z": "Tfs Z", - "Theme": "Tema", - "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Detta säkerställer att dina värdefulla konversationer sparas säkert till din backend-databas. Tack!", - "This setting does not sync across browsers or devices.": "Denna inställning synkroniseras inte mellan webbläsare eller enheter.", - "Tip: Update multiple variable slots consecutively by pressing the tab key in the chat input after each replacement.": "Tips: Uppdatera flera variabelplatser efter varandra genom att trycka på tabb-tangenten i chattinmatningen efter varje ersättning.", - "Title": "Titel", - "Title Auto-Generation": "Automatisk generering av titel", - "Title Generation Prompt": "Titelgenereringsprompt", - "to": "till", - "To access the available model names for downloading,": "För att komma åt de tillgängliga modellnamnen för nedladdning,", - "To access the GGUF models available for downloading,": "För att komma åt de GGUF-modeller som finns tillgängliga för nedladdning,", - "to chat input.": "till chattinmatning.", - "Toggle settings": "Växla inställningar", - "Toggle sidebar": "Växla sidofält", - "Top K": "Topp K", - "Top P": "Topp P", - "Trouble accessing Ollama?": "Problem med att komma åt Ollama?", - "TTS Settings": "TTS-inställningar", - "Type Hugging Face Resolve (Download) URL": "Skriv Hugging Face Resolve (nedladdning) URL", - "Uh-oh! There was an issue connecting to {{provider}}.": "Oj då! Det uppstod ett problem med att ansluta till {{provider}}.", - "Understand that updating or changing your embedding model requires reset of the vector database and re-import of all documents. You have been warned!": "Förstå att uppdatering eller ändring av din inbäddningsmodell kräver återställning av vektordatabasen och återimport av alla dokument. Du har blivit varnad!", - "Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Okänd filtyp '{{file_type}}', men accepterar och behandlar som vanlig text", - "Update": "Uppdatera", - "Update embedding model {{embedding_model}}": "Uppdatera inbäddningsmodell {{embedding_model}}", - "Update password": "Uppdatera lösenord", - "Upload a GGUF model": "Ladda upp en GGUF-modell", - "Upload files": "Ladda upp filer", - "Upload Progress": "Uppladdningsförlopp", - "URL Mode": "URL-läge", - "Use '#' in the prompt input to load and select your documents.": "Använd '#' i promptinmatningen för att ladda och välja dina dokument.", - "Use Gravatar": "Använd Gravatar", - "Use Initials": "Använd initialer", - "user": "användare", - "User Permissions": "Användarbehörigheter", - "Users": "Användare", - "Utilize": "Använd", - "Valid time units:": "Giltiga tidsenheter:", - "variable": "variabel", - "variable to have them replaced with clipboard content.": "variabel för att få dem ersatta med urklippsinnehåll.", - "Version": "Version", - "Web": "Webb", - "WebUI Add-ons": "WebUI-tillägg", - "WebUI Settings": "WebUI-inställningar", - "WebUI will make requests to": "WebUI kommer att skicka förfrågningar till", - "What’s New in": "Vad är nytt i", - "When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "När historiken är avstängd visas inte nya chattar i denna webbläsare i din historik på någon av dina enheter.", - "Whisper (Local)": "Whisper (lokal)", - "Write a prompt suggestion (e.g. Who are you?)": "Skriv ett förslag (t.ex. Vem är du?)", - "Write a summary in 50 words that summarizes [topic or keyword].": "Skriv en sammanfattning på 50 ord som sammanfattar [ämne eller nyckelord].", - "You": "Du", - "You're a helpful assistant.": "Du är en hjälpsam assistent.", - "You're now logged in.": "Du är nu inloggad." + "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' eller '-1' för ingen utgång.", + "(Beta)": "(Beta)", + "(e.g. `sh webui.sh --api`)": "(t.ex. `sh webui.sh --api`)", + "(latest)": "(senaste)", + "{{modelName}} is thinking...": "{{modelName}} tänker...", + "{{user}}'s Chats": "", + "{{webUIName}} Backend Required": "{{webUIName}} Backend krävs", + "a user": "en användare", + "About": "Om", + "Account": "Konto", + "Accurate information": "", + "Add a model": "Lägg till en modell", + "Add a model tag name": "Lägg till ett modellnamn", + "Add a short description about what this modelfile does": "Lägg till en kort beskrivning av vad den här modelfilen gör", + "Add a short title for this prompt": "Lägg till en kort titel för denna prompt", + "Add a tag": "Lägg till en tagg", + "Add Docs": "Lägg till dokument", + "Add Files": "Lägg till filer", + "Add message": "Lägg till meddelande", + "Add Model": "", + "Add Tags": "", + "Adjusting these settings will apply changes universally to all users.": "Justering av dessa inställningar kommer att tillämpa ändringar universellt för alla användare.", + "admin": "administratör", + "Admin Panel": "Administrationspanel", + "Admin Settings": "Administratörsinställningar", + "Advanced Parameters": "Avancerade parametrar", + "all": "alla", + "All Users": "Alla användare", + "Allow": "Tillåt", + "Allow Chat Deletion": "Tillåt chattborttagning", + "alphanumeric characters and hyphens": "alfanumeriska tecken och bindestreck", + "Already have an account?": "Har du redan ett konto?", + "an assistant": "en assistent", + "and": "och", + "API Base URL": "API-bas-URL", + "API Key": "API-nyckel", + "API Key created.": "", + "API keys": "", + "API RPM": "API RPM", + "Archive": "", + "Archived Chats": "", + "are allowed - Activate this command by typing": "är tillåtna - Aktivera detta kommando genom att skriva", + "Are you sure?": "Är du säker?", + "Attention to detail": "", + "Audio": "Ljud", + "Auto-playback response": "Automatisk uppspelning", + "Auto-send input after 3 sec.": "Skicka automatiskt indata efter 3 sek.", + "AUTOMATIC1111 Base URL": "AUTOMATIC1111 bas-URL", + "AUTOMATIC1111 Base URL is required.": "AUTOMATIC1111 bas-URL krävs.", + "available!": "tillgänglig!", + "Back": "Tillbaka", + "Bad Response": "", + "Being lazy": "", + "Builder Mode": "Byggarläge", + "Cancel": "Avbryt", + "Categories": "Kategorier", + "Change Password": "Ändra lösenord", + "Chat": "Chatt", + "Chat History": "Chatthistorik", + "Chat History is off for this browser.": "Chatthistoriken är avstängd för denna webbläsare.", + "Chats": "Chattar", + "Check Again": "Kontrollera igen", + "Check for updates": "Sök efter uppdateringar", + "Checking for updates...": "Söker efter uppdateringar...", + "Choose a model before saving...": "Välj en modell innan du sparar...", + "Chunk Overlap": "Överlappning", + "Chunk Params": "Chunk-parametrar", + "Chunk Size": "Chunk-storlek", + "Click here for help.": "Klicka här för hjälp.", + "Click here to check other modelfiles.": "Klicka här för att kontrollera andra modelfiler.", + "Click here to select": "Klicka här för att välja", + "Click here to select documents.": "Klicka här för att välja dokument.", + "click here.": "klicka här.", + "Click on the user role button to change a user's role.": "Klicka på knappen för användarroll för att ändra en användares roll.", + "Close": "Stäng", + "Collection": "Samling", + "ComfyUI": "", + "ComfyUI Base URL": "", + "ComfyUI Base URL is required.": "", + "Command": "Kommando", + "Confirm Password": "Bekräfta lösenord", + "Connections": "Anslutningar", + "Content": "Innehåll", + "Context Length": "Kontextlängd", + "Continue Response": "", + "Conversation Mode": "Samtalsläge", + "Copied shared chat URL to clipboard!": "", + "Copy": "", + "Copy last code block": "Kopiera sista kodblock", + "Copy last response": "Kopiera sista svar", + "Copy Link": "", + "Copying to clipboard was successful!": "Kopiering till urklipp lyckades!", + "Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "Skapa en kort, 3-5 ords fras som rubrik för följande fråga, strikt följa 3-5 ordsgränsen och undvika användning av ordet 'titel':", + "Create a modelfile": "Skapa en modelfil", + "Create Account": "Skapa konto", + "Created at": "Skapad", + "Created At": "", + "Current Model": "Aktuell modell", + "Current Password": "Nuvarande lösenord", + "Custom": "Anpassad", + "Customize Ollama models for a specific purpose": "Anpassa Ollama-modeller för ett specifikt ändamål", + "Dark": "Mörk", + "Database": "Databas", + "DD/MM/YYYY HH:mm": "DD/MM/ÅÅÅÅ TT:mm", + "Default": "Standard", + "Default (Automatic1111)": "Standard (Automatic1111)", + "Default (SentenceTransformers)": "", + "Default (Web API)": "Standard (Web API)", + "Default model updated": "Standardmodell uppdaterad", + "Default Prompt Suggestions": "Standardpromptförslag", + "Default User Role": "Standardanvändarroll", + "delete": "radera", + "Delete": "", + "Delete a model": "Ta bort en modell", + "Delete chat": "Radera chatt", + "Delete Chat": "", + "Delete Chats": "Radera chattar", + "Delete User": "", + "Deleted {{deleteModelTag}}": "Raderad {{deleteModelTag}}", + "Deleted {{tagName}}": "", + "Description": "Beskrivning", + "Didn't fully follow instructions": "", + "Disabled": "Inaktiverad", + "Discover a modelfile": "Upptäck en modelfil", + "Discover a prompt": "Upptäck en prompt", + "Discover, download, and explore custom prompts": "Upptäck, ladda ner och utforska anpassade prompts", + "Discover, download, and explore model presets": "Upptäck, ladda ner och utforska modellförinställningar", + "Display the username instead of You in the Chat": "Visa användarnamnet istället för du i chatten", + "Document": "Dokument", + "Document Settings": "Dokumentinställningar", + "Documents": "Dokument", + "does not make any external connections, and your data stays securely on your locally hosted server.": "gör inga externa anslutningar, och dina data förblir säkra på din lokalt värdade server.", + "Don't Allow": "Tillåt inte", + "Don't have an account?": "Har du inte ett konto?", + "Don't like the style": "", + "Download": "", + "Download Database": "Ladda ner databas", + "Drop any files here to add to the conversation": "Släpp filer här för att lägga till i konversationen", + "e.g. '30s','10m'. Valid time units are 's', 'm', 'h'.": "t.ex. '30s', '10m'. Giltiga tidsenheter är 's', 'm', 'h'.", + "Edit": "", + "Edit Doc": "Redigera dokument", + "Edit User": "Redigera användare", + "Email": "E-post", + "Embedding Model Engine": "", + "Embedding model set to \"{{embedding_model}}\"": "", + "Enable Chat History": "Aktivera chatthistorik", + "Enable New Sign Ups": "Aktivera nya registreringar", + "Enabled": "Aktiverad", + "Enter {{role}} message here": "Skriv {{role}} meddelande här", + "Enter Chunk Overlap": "Ange Chunk-överlappning", + "Enter Chunk Size": "Ange Chunk-storlek", + "Enter Image Size (e.g. 512x512)": "Ange bildstorlek (t.ex. 512x512)", + "Enter LiteLLM API Base URL (litellm_params.api_base)": "Ange LiteLLM API-bas-URL (litellm_params.api_base)", + "Enter LiteLLM API Key (litellm_params.api_key)": "Ange LiteLLM API-nyckel (litellm_params.api_key)", + "Enter LiteLLM API RPM (litellm_params.rpm)": "Ange LiteLLM API RPM (litellm_params.rpm)", + "Enter LiteLLM Model (litellm_params.model)": "Ange LiteLLM-modell (litellm_params.model)", + "Enter Max Tokens (litellm_params.max_tokens)": "Ange max antal tokens (litellm_params.max_tokens)", + "Enter model tag (e.g. {{modelTag}})": "Ange modelltagg (t.ex. {{modelTag}})", + "Enter Number of Steps (e.g. 50)": "Ange antal steg (t.ex. 50)", + "Enter Score": "", + "Enter stop sequence": "Ange stoppsekvens", + "Enter Top K": "Ange Top K", + "Enter URL (e.g. http://127.0.0.1:7860/)": "Ange URL (t.ex. http://127.0.0.1:7860/)", + "Enter Your Email": "Ange din e-post", + "Enter Your Full Name": "Ange ditt fullständiga namn", + "Enter Your Password": "Ange ditt lösenord", + "Experimental": "Experimentell", + "Export All Chats (All Users)": "Exportera alla chattar (alla användare)", + "Export Chats": "Exportera chattar", + "Export Documents Mapping": "Exportera dokumentmappning", + "Export Modelfiles": "Exportera modelfiler", + "Export Prompts": "Exportera prompts", + "Failed to create API Key.": "", + "Failed to read clipboard contents": "Misslyckades med att läsa urklippsinnehåll", + "Feel free to add specific details": "", + "File Mode": "Fil-läge", + "File not found.": "Fil hittades inte.", + "Fingerprint spoofing detected: Unable to use initials as avatar. Defaulting to default profile image.": "Fingeravtrycksmanipulering upptäckt: Kan inte använda initialer som avatar. Återställning till standardprofilbild.", + "Fluidly stream large external response chunks": "Flytande ström stora externa svarsblock", + "Focus chat input": "Fokusera chattindata", + "Followed instructions perfectly": "", + "Format your variables using square brackets like this:": "Formatera dina variabler med hakparenteser så här:", + "From (Base Model)": "Från (basmodell)", + "Full Screen Mode": "Helskärmsläge", + "General": "Allmän", + "General Settings": "Allmänna inställningar", + "Generation Info": "", + "Good Response": "", + "has no conversations.": "", + "Hello, {{name}}": "Hej, {{name}}", + "Hide": "Dölj", + "Hide Additional Params": "Dölj ytterligare parametrar", + "How can I help you today?": "Hur kan jag hjälpa dig idag?", + "Hybrid Search": "", + "Image Generation (Experimental)": "Bildgenerering (experimentell)", + "Image Generation Engine": "Bildgenereringsmotor", + "Image Settings": "Bildinställningar", + "Images": "Bilder", + "Import Chats": "Importera chattar", + "Import Documents Mapping": "Importera dokumentmappning", + "Import Modelfiles": "Importera modelfiler", + "Import Prompts": "Importera prompts", + "Include `--api` flag when running stable-diffusion-webui": "Inkludera `--api`-flagga när du kör stabil-diffusion-webui", + "Interface": "Gränssnitt", + "join our Discord for help.": "gå med i vår Discord för hjälp.", + "JSON": "JSON", + "JWT Expiration": "JWT-utgång", + "JWT Token": "JWT-token", + "Keep Alive": "Håll vid liv", + "Keyboard shortcuts": "Tangentbordsgenvägar", + "Language": "Språk", + "Last Active": "", + "Light": "Ljus", + "Listening...": "Lyssnar...", + "LLMs can make mistakes. Verify important information.": "LLM:er kan göra misstag. Verifiera viktig information.", + "Made by OpenWebUI Community": "Skapad av OpenWebUI Community", + "Make sure to enclose them with": "Se till att bifoga dem med", + "Manage LiteLLM Models": "Hantera LiteLLM-modeller", + "Manage Models": "Hantera modeller", + "Manage Ollama Models": "Hantera Ollama-modeller", + "Max Tokens": "Max antal tokens", + "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.", + "Minimum Score": "", + "Mirostat": "Mirostat", + "Mirostat Eta": "Mirostat Eta", + "Mirostat Tau": "Mirostat Tau", + "MMMM DD, YYYY": "MMMM DD, ÅÅÅÅ", + "MMMM DD, YYYY HH:mm": "", + "Model '{{modelName}}' has been successfully downloaded.": "Modellen '{{modelName}}' har laddats ner framgångsrikt.", + "Model '{{modelTag}}' is already in queue for downloading.": "Modellen '{{modelTag}}' är redan i kö för nedladdning.", + "Model {{modelId}} not found": "Modell {{modelId}} hittades inte", + "Model {{modelName}} already exists.": "Modellen {{modelName}} finns redan.", + "Model filesystem path detected. Model shortname is required for update, cannot continue.": "Modellens filsystemväg upptäckt. Modellens kortnamn krävs för uppdatering, kan inte fortsätta.", + "Model Name": "Modellnamn", + "Model not selected": "Modell inte vald", + "Model Tag Name": "Modelltaggnamn", + "Model Whitelisting": "Modellens vitlista", + "Model(s) Whitelisted": "Modell(er) vitlistade", + "Modelfile": "Modelfil", + "Modelfile Advanced Settings": "Modelfilens avancerade inställningar", + "Modelfile Content": "Modelfilens innehåll", + "Modelfiles": "Modelfiler", + "Models": "Modeller", + "More": "", + "My Documents": "Mina dokument", + "My Modelfiles": "Mina modelfiler", + "My Prompts": "Mina promptar", + "Name": "Namn", + "Name Tag": "Namntag", + "Name your modelfile": "Namnge din modelfil", + "New Chat": "Ny chatt", + "New Password": "Nytt lösenord", + "Not factually correct": "", + "Not sure what to add?": "Inte säker på vad du ska lägga till?", + "Not sure what to write? Switch to": "Inte säker på vad du ska skriva? Växla till", + "Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "", + "Notifications": "Notifikationer", + "Off": "Av", + "Okay, Let's Go!": "Okej, nu kör vi!", + "OLED Dark": "", + "Ollama": "", + "Ollama Base URL": "Ollama bas-URL", + "Ollama Version": "Ollama-version", + "On": "På", + "Only": "Endast", + "Only alphanumeric characters and hyphens are allowed in the command string.": "Endast alfanumeriska tecken och bindestreck är tillåtna i kommandosträngen.", + "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.": "Hoppsan! Håll i dig! Dina filer är fortfarande i bearbetningsugnen. Vi lagar dem till perfektion. Var tålmodig så meddelar vi dig när de är redo.", + "Oops! Looks like the URL is invalid. Please double-check and try again.": "Hoppsan! Det ser ut som om URL:en är ogiltig. Dubbelkolla gärna och försök igen.", + "Oops! You're using an unsupported method (frontend only). Please serve the WebUI from the backend.": "Hoppsan! Du använder en ej stödd metod (endast frontend). Vänligen servera WebUI från backend.", + "Open": "Öppna", + "Open AI": "Öppna AI", + "Open AI (Dall-E)": "Öppna AI (Dall-E)", + "Open new chat": "Öppna ny chatt", + "OpenAI": "", + "OpenAI API": "OpenAI API", + "OpenAI API Config": "", + "OpenAI API Key is required.": "OpenAI API-nyckel krävs.", + "OpenAI URL/Key required.": "", + "or": "eller", + "Other": "", + "Parameters": "Parametrar", + "Password": "Lösenord", + "PDF document (.pdf)": "", + "PDF Extract Images (OCR)": "PDF Extrahera bilder (OCR)", + "pending": "väntande", + "Permission denied when accessing microphone: {{error}}": "Tillstånd nekades vid åtkomst till mikrofon: {{error}}", + "Plain text (.txt)": "", + "Playground": "Lekplats", + "Positive attitude": "", + "Profile Image": "", + "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "", + "Prompt Content": "Promptinnehåll", + "Prompt suggestions": "Förslag", + "Prompts": "Prompts", + "Pull a model from Ollama.com": "Dra en modell från Ollama.com", + "Pull Progress": "Dra framsteg", + "Query Params": "Frågeparametrar", + "RAG Template": "RAG-mall", + "Raw Format": "Råformat", + "Read Aloud": "", + "Record voice": "Spela in röst", + "Redirecting you to OpenWebUI Community": "Omdirigerar dig till OpenWebUI Community", + "Refused when it shouldn't have": "", + "Regenerate": "", + "Release Notes": "Versionsinformation", + "Remove": "", + "Repeat Last N": "Upprepa senaste N", + "Repeat Penalty": "Upprepa straff", + "Request Mode": "Begär läge", + "Reranking model disabled": "", + "Reranking model set to \"{{reranking_model}}\"": "", + "Reset Vector Storage": "Återställ vektorlager", + "Response AutoCopy to Clipboard": "Svara AutoCopy till urklipp", + "Role": "Roll", + "Rosé Pine": "Rosé Pine", + "Rosé Pine Dawn": "Rosé Pine Dawn", + "Save": "Spara", + "Save & Create": "Spara och skapa", + "Save & Submit": "Spara och skicka", + "Save & Update": "Spara och uppdatera", + "Saving chat logs directly to your browser's storage is no longer supported. Please take a moment to download and delete your chat logs by clicking the button below. Don't worry, you can easily re-import your chat logs to the backend through": "Att spara chatloggar direkt till din webbläsares lagring stöds inte längre. Ta en stund och ladda ner och radera dina chattloggar genom att klicka på knappen nedan. Oroa dig inte, du kan enkelt importera dina chattloggar till backend genom", + "Scan": "Skanna", + "Scan complete!": "Skanning klar!", + "Scan for documents from {{path}}": "Skanna efter dokument från {{path}}", + "Search": "Sök", + "Search a model": "", + "Search Documents": "Sök dokument", + "Search Prompts": "Sök promptar", + "See readme.md for instructions": "Se readme.md för instruktioner", + "See what's new": "Se vad som är nytt", + "Seed": "Seed", + "Select a mode": "Välj ett läge", + "Select a model": "Välj en modell", + "Select an Ollama instance": "Välj en Ollama-instans", + "Send a Message": "Skicka ett meddelande", + "Send message": "Skicka meddelande", + "Server connection verified": "Serveranslutning verifierad", + "Set as default": "Ange som standard", + "Set Default Model": "Ange standardmodell", + "Set Image Size": "Ange bildstorlek", + "Set Steps": "Ange steg", + "Set Title Auto-Generation Model": "Ange modell för automatisk generering av titel", + "Set Voice": "Ange röst", + "Settings": "Inställningar", + "Settings saved successfully!": "Inställningar sparades framgångsrikt!", + "Share": "", + "Share Chat": "", + "Share to OpenWebUI Community": "Dela till OpenWebUI Community", + "short-summary": "kort sammanfattning", + "Show": "Visa", + "Show Additional Params": "Visa ytterligare parametrar", + "Show shortcuts": "Visa genvägar", + "Showcased creativity": "", + "sidebar": "sidofält", + "Sign in": "Logga in", + "Sign Out": "Logga ut", + "Sign up": "Registrera dig", + "Signing in": "", + "Speech recognition error: {{error}}": "Fel vid taligenkänning: {{error}}", + "Speech-to-Text Engine": "Tal-till-text-motor", + "SpeechRecognition API is not supported in this browser.": "SpeechRecognition API stöds inte i denna webbläsare.", + "Stop Sequence": "Stoppsekvens", + "STT Settings": "STT-inställningar", + "Submit": "Skicka in", + "Subtitle (e.g. about the Roman Empire)": "", + "Success": "Framgång", + "Successfully updated.": "Uppdaterades framgångsrikt.", + "Sync All": "Synkronisera allt", + "System": "System", + "System Prompt": "Systemprompt", + "Tags": "Taggar", + "Tell us more:": "", + "Temperature": "Temperatur", + "Template": "Mall", + "Text Completion": "Textslutförande", + "Text-to-Speech Engine": "Text-till-tal-motor", + "Tfs Z": "Tfs Z", + "Thanks for your feedback!": "", + "The score should be a value between 0.0 (0%) and 1.0 (100%).": "", + "Theme": "Tema", + "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Detta säkerställer att dina värdefulla konversationer sparas säkert till din backend-databas. Tack!", + "This setting does not sync across browsers or devices.": "Denna inställning synkroniseras inte mellan webbläsare eller enheter.", + "Thorough explanation": "", + "Tip: Update multiple variable slots consecutively by pressing the tab key in the chat input after each replacement.": "Tips: Uppdatera flera variabelplatser efter varandra genom att trycka på tabb-tangenten i chattinmatningen efter varje ersättning.", + "Title": "Titel", + "Title (e.g. Tell me a fun fact)": "", + "Title Auto-Generation": "Automatisk generering av titel", + "Title Generation Prompt": "Titelgenereringsprompt", + "to": "till", + "To access the available model names for downloading,": "För att komma åt de tillgängliga modellnamnen för nedladdning,", + "To access the GGUF models available for downloading,": "För att komma åt de GGUF-modeller som finns tillgängliga för nedladdning,", + "to chat input.": "till chattinmatning.", + "Toggle settings": "Växla inställningar", + "Toggle sidebar": "Växla sidofält", + "Top K": "Topp K", + "Top P": "Topp P", + "Trouble accessing Ollama?": "Problem med att komma åt Ollama?", + "TTS Settings": "TTS-inställningar", + "Type Hugging Face Resolve (Download) URL": "Skriv Hugging Face Resolve (nedladdning) URL", + "Uh-oh! There was an issue connecting to {{provider}}.": "Oj då! Det uppstod ett problem med att ansluta till {{provider}}.", + "Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Okänd filtyp '{{file_type}}', men accepterar och behandlar som vanlig text", + "Update and Copy Link": "", + "Update Embedding Model": "", + "Update embedding model (e.g. {{model}})": "", + "Update password": "Uppdatera lösenord", + "Update Reranking Model": "", + "Update reranking model (e.g. {{model}})": "", + "Upload a GGUF model": "Ladda upp en GGUF-modell", + "Upload files": "Ladda upp filer", + "Upload Progress": "Uppladdningsförlopp", + "URL Mode": "URL-läge", + "Use '#' in the prompt input to load and select your documents.": "Använd '#' i promptinmatningen för att ladda och välja dina dokument.", + "Use Gravatar": "Använd Gravatar", + "Use Initials": "Använd initialer", + "user": "användare", + "User Permissions": "Användarbehörigheter", + "Users": "Användare", + "Utilize": "Använd", + "Valid time units:": "Giltiga tidsenheter:", + "variable": "variabel", + "variable to have them replaced with clipboard content.": "variabel för att få dem ersatta med urklippsinnehåll.", + "Version": "Version", + "Warning: If you update or change your embedding model, you will need to re-import all documents.": "", + "Web": "Webb", + "Webhook URL": "", + "WebUI Add-ons": "WebUI-tillägg", + "WebUI Settings": "WebUI-inställningar", + "WebUI will make requests to": "WebUI kommer att skicka förfrågningar till", + "What’s New in": "Vad är nytt i", + "When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "När historiken är avstängd visas inte nya chattar i denna webbläsare i din historik på någon av dina enheter.", + "Whisper (Local)": "Whisper (lokal)", + "Write a prompt suggestion (e.g. Who are you?)": "Skriv ett förslag (t.ex. Vem är du?)", + "Write a summary in 50 words that summarizes [topic or keyword].": "Skriv en sammanfattning på 50 ord som sammanfattar [ämne eller nyckelord].", + "You": "Du", + "You're a helpful assistant.": "Du är en hjälpsam assistent.", + "You're now logged in.": "Du är nu inloggad." } From e60c87d750dd456363a2c726b027e91b4f5ea6ea Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Wed, 1 May 2024 16:08:06 -0700 Subject: [PATCH 34/75] fix: delete chat shortcut --- src/lib/components/layout/Sidebar.svelte | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/lib/components/layout/Sidebar.svelte b/src/lib/components/layout/Sidebar.svelte index ab4e1044f..480d39003 100644 --- a/src/lib/components/layout/Sidebar.svelte +++ b/src/lib/components/layout/Sidebar.svelte @@ -619,6 +619,27 @@ + + {#if chat.id === $chatId} + + {/if}
{/if}
From 0595c04909d73608bf9006fa3e12ca086ba75c84 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Wed, 1 May 2024 17:17:00 -0700 Subject: [PATCH 35/75] feat: youtube rag --- backend/apps/rag/main.py | 29 ++++++- backend/requirements.txt | 1 + src/lib/apis/rag/index.ts | 31 ++++++++ src/lib/components/admin/AddUserModal.svelte | 0 src/lib/components/chat/MessageInput.svelte | 38 +++++++++- .../chat/MessageInput/Documents.svelte | 36 ++++++++- src/routes/(app)/admin/+page.svelte | 75 ++++++++++++------- 7 files changed, 180 insertions(+), 30 deletions(-) create mode 100644 src/lib/components/admin/AddUserModal.svelte diff --git a/backend/apps/rag/main.py b/backend/apps/rag/main.py index f147152b7..a3e3c1134 100644 --- a/backend/apps/rag/main.py +++ b/backend/apps/rag/main.py @@ -28,6 +28,7 @@ from langchain_community.document_loaders import ( UnstructuredXMLLoader, UnstructuredRSTLoader, UnstructuredExcelLoader, + YoutubeLoader, ) from langchain.text_splitter import RecursiveCharacterTextSplitter @@ -181,7 +182,7 @@ class CollectionNameForm(BaseModel): collection_name: Optional[str] = "test" -class StoreWebForm(CollectionNameForm): +class UrlForm(CollectionNameForm): url: str @@ -456,8 +457,32 @@ def query_collection_handler( ) +@app.post("/youtube") +def store_youtube_video(form_data: UrlForm, user=Depends(get_current_user)): + try: + loader = YoutubeLoader.from_youtube_url(form_data.url, add_video_info=False) + data = loader.load() + + collection_name = form_data.collection_name + if collection_name == "": + collection_name = calculate_sha256_string(form_data.url)[:63] + + store_data_in_vector_db(data, collection_name, overwrite=True) + return { + "status": True, + "collection_name": collection_name, + "filename": form_data.url, + } + except Exception as e: + log.exception(e) + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail=ERROR_MESSAGES.DEFAULT(e), + ) + + @app.post("/web") -def store_web(form_data: StoreWebForm, user=Depends(get_current_user)): +def store_web(form_data: UrlForm, user=Depends(get_current_user)): # "https://www.gutenberg.org/files/1727/1727-h/1727-h.htm" try: loader = get_web_loader(form_data.url) diff --git a/backend/requirements.txt b/backend/requirements.txt index 79eddeaeb..ce01cf508 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -59,3 +59,4 @@ PyJWT[crypto]==2.8.0 black==24.4.2 langfuse==2.27.3 +youtube-transcript-api diff --git a/src/lib/apis/rag/index.ts b/src/lib/apis/rag/index.ts index 5dfa3d3aa..a9d163f87 100644 --- a/src/lib/apis/rag/index.ts +++ b/src/lib/apis/rag/index.ts @@ -221,6 +221,37 @@ export const uploadWebToVectorDB = async (token: string, collection_name: string return res; }; +export const uploadYoutubeTranscriptionToVectorDB = async (token: string, url: string) => { + let error = null; + + const res = await fetch(`${RAG_API_BASE_URL}/youtube`, { + method: 'POST', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + authorization: `Bearer ${token}` + }, + body: JSON.stringify({ + url: url + }) + }) + .then(async (res) => { + if (!res.ok) throw await res.json(); + return res.json(); + }) + .catch((err) => { + error = err.detail; + console.log(err); + return null; + }); + + if (error) { + throw error; + } + + return res; +}; + export const queryDoc = async ( token: string, collection_name: string, diff --git a/src/lib/components/admin/AddUserModal.svelte b/src/lib/components/admin/AddUserModal.svelte new file mode 100644 index 000000000..e69de29bb diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte index 30380e941..2a9c579fd 100644 --- a/src/lib/components/chat/MessageInput.svelte +++ b/src/lib/components/chat/MessageInput.svelte @@ -6,7 +6,11 @@ import Prompts from './MessageInput/PromptCommands.svelte'; import Suggestions from './MessageInput/Suggestions.svelte'; - import { uploadDocToVectorDB, uploadWebToVectorDB } from '$lib/apis/rag'; + import { + uploadDocToVectorDB, + uploadWebToVectorDB, + uploadYoutubeTranscriptionToVectorDB + } from '$lib/apis/rag'; import AddFilesPlaceholder from '../AddFilesPlaceholder.svelte'; import { SUPPORTED_FILE_TYPE, SUPPORTED_FILE_EXTENSIONS } from '$lib/constants'; import Documents from './MessageInput/Documents.svelte'; @@ -290,6 +294,34 @@ } }; + const uploadYoutubeTranscription = async (url) => { + console.log(url); + + const doc = { + type: 'doc', + name: url, + collection_name: '', + upload_status: false, + url: url, + error: '' + }; + + try { + files = [...files, doc]; + const res = await uploadYoutubeTranscriptionToVectorDB(localStorage.token, url); + + if (res) { + doc.upload_status = true; + doc.collection_name = res.collection_name; + files = files; + } + } catch (e) { + // Remove the failed doc from the files array + files = files.filter((f) => f.name !== url); + toast.error(e); + } + }; + onMount(() => { console.log(document.getElementById('sidebar')); window.setTimeout(() => chatTextAreaElement?.focus(), 0); @@ -428,6 +460,10 @@ { + console.log(e); + uploadYoutubeTranscription(e.detail); + }} on:url={(e) => { console.log(e); uploadWeb(e.detail); diff --git a/src/lib/components/chat/MessageInput/Documents.svelte b/src/lib/components/chat/MessageInput/Documents.svelte index 3d358acc4..37fb672c8 100644 --- a/src/lib/components/chat/MessageInput/Documents.svelte +++ b/src/lib/components/chat/MessageInput/Documents.svelte @@ -87,6 +87,17 @@ chatInputElement?.focus(); await tick(); }; + + const confirmSelectYoutube = async (url) => { + dispatch('youtube', url); + + prompt = removeFirstHashWord(prompt); + const chatInputElement = document.getElementById('chat-textarea'); + + await tick(); + chatInputElement?.focus(); + await tick(); + }; {#if filteredItems.length > 0 || prompt.split(' ')?.at(0)?.substring(1).startsWith('http')} @@ -132,7 +143,30 @@ {/each} - {#if prompt.split(' ')?.at(0)?.substring(1).startsWith('http')} + {#if prompt.split(' ')?.at(0)?.substring(1).startsWith('https://www.youtube.com')} + + {:else if prompt.split(' ')?.at(0)?.substring(1).startsWith('http')} + + +
-
+
Overview

-
-
+
+
{$i18n.t('All Users')}
@@ -147,12 +150,32 @@ >
-
+
+ +
+ +
From ebc6a269d36aa411e1e71c7705cdd0b320147a1b Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Wed, 1 May 2024 17:20:21 -0700 Subject: [PATCH 36/75] chore: i18n --- src/lib/i18n/locales/bg-BG/translation.json | 3 ++- src/lib/i18n/locales/bn-BD/translation.json | 3 ++- src/lib/i18n/locales/ca-ES/translation.json | 3 ++- src/lib/i18n/locales/de-DE/translation.json | 3 ++- src/lib/i18n/locales/dg-DG/translation.json | 3 ++- src/lib/i18n/locales/en-GB/translation.json | 3 ++- src/lib/i18n/locales/en-US/translation.json | 3 ++- src/lib/i18n/locales/es-ES/translation.json | 3 ++- src/lib/i18n/locales/fa-IR/translation.json | 3 ++- src/lib/i18n/locales/fr-CA/translation.json | 3 ++- src/lib/i18n/locales/fr-FR/translation.json | 3 ++- src/lib/i18n/locales/it-IT/translation.json | 3 ++- src/lib/i18n/locales/ja-JP/translation.json | 3 ++- src/lib/i18n/locales/ka-GE/translation.json | 3 ++- src/lib/i18n/locales/ko-KR/translation.json | 3 ++- src/lib/i18n/locales/nl-NL/translation.json | 3 ++- src/lib/i18n/locales/pl-PL/translation.json | 3 ++- src/lib/i18n/locales/pt-BR/translation.json | 3 ++- src/lib/i18n/locales/pt-PT/translation.json | 3 ++- src/lib/i18n/locales/ru-RU/translation.json | 3 ++- src/lib/i18n/locales/sv-SE/translation.json | 3 ++- src/lib/i18n/locales/tr-TR/translation.json | 3 ++- src/lib/i18n/locales/uk-UA/translation.json | 3 ++- src/lib/i18n/locales/vi-VN/translation.json | 3 ++- src/lib/i18n/locales/zh-CN/translation.json | 3 ++- src/lib/i18n/locales/zh-TW/translation.json | 3 ++- 26 files changed, 52 insertions(+), 26 deletions(-) diff --git a/src/lib/i18n/locales/bg-BG/translation.json b/src/lib/i18n/locales/bg-BG/translation.json index e59b624bf..0943d97bd 100644 --- a/src/lib/i18n/locales/bg-BG/translation.json +++ b/src/lib/i18n/locales/bg-BG/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Напиши описание в 50 знака, което описва [тема или ключова дума].", "You": "Вие", "You're a helpful assistant.": "Вие сте полезен асистент.", - "You're now logged in.": "Сега, вие влязохте в системата." + "You're now logged in.": "Сега, вие влязохте в системата.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/bn-BD/translation.json b/src/lib/i18n/locales/bn-BD/translation.json index d4c8dd2c2..b96138e6d 100644 --- a/src/lib/i18n/locales/bn-BD/translation.json +++ b/src/lib/i18n/locales/bn-BD/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "৫০ শব্দের মধ্যে [topic or keyword] এর একটি সারসংক্ষেপ লিখুন।", "You": "আপনি", "You're a helpful assistant.": "আপনি একজন উপকারী এসিস্ট্যান্ট", - "You're now logged in.": "আপনি এখন লগইন করা অবস্থায় আছেন" + "You're now logged in.": "আপনি এখন লগইন করা অবস্থায় আছেন", + "Youtube": "" } diff --git a/src/lib/i18n/locales/ca-ES/translation.json b/src/lib/i18n/locales/ca-ES/translation.json index d38e7c2ae..8ea000b78 100644 --- a/src/lib/i18n/locales/ca-ES/translation.json +++ b/src/lib/i18n/locales/ca-ES/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Escriu un resum en 50 paraules que resumeixi [tema o paraula clau].", "You": "Tu", "You're a helpful assistant.": "Ets un assistent útil.", - "You're now logged in.": "Ara estàs connectat." + "You're now logged in.": "Ara estàs connectat.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/de-DE/translation.json b/src/lib/i18n/locales/de-DE/translation.json index 07b87c540..74fbff68f 100644 --- a/src/lib/i18n/locales/de-DE/translation.json +++ b/src/lib/i18n/locales/de-DE/translation.json @@ -434,5 +434,6 @@ "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.", "You": "Du", "You're a helpful assistant.": "Du bist ein hilfreicher Assistent.", - "You're now logged in.": "Du bist nun eingeloggt." + "You're now logged in.": "Du bist nun eingeloggt.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/dg-DG/translation.json b/src/lib/i18n/locales/dg-DG/translation.json index fc4c0f992..7e82e653d 100644 --- a/src/lib/i18n/locales/dg-DG/translation.json +++ b/src/lib/i18n/locales/dg-DG/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Write a summary in 50 words that summarizes [topic or keyword]. Much summarize.", "You": "You very you", "You're a helpful assistant.": "You're a helpful assistant. Much helpful.", - "You're now logged in.": "You're now logged in. Much logged." + "You're now logged in.": "You're now logged in. Much logged.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/en-GB/translation.json b/src/lib/i18n/locales/en-GB/translation.json index f64dd3647..b556f8588 100644 --- a/src/lib/i18n/locales/en-GB/translation.json +++ b/src/lib/i18n/locales/en-GB/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "", "You": "", "You're a helpful assistant.": "", - "You're now logged in.": "" + "You're now logged in.": "", + "Youtube": "" } diff --git a/src/lib/i18n/locales/en-US/translation.json b/src/lib/i18n/locales/en-US/translation.json index f64dd3647..b556f8588 100644 --- a/src/lib/i18n/locales/en-US/translation.json +++ b/src/lib/i18n/locales/en-US/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "", "You": "", "You're a helpful assistant.": "", - "You're now logged in.": "" + "You're now logged in.": "", + "Youtube": "" } diff --git a/src/lib/i18n/locales/es-ES/translation.json b/src/lib/i18n/locales/es-ES/translation.json index e41675fcb..ef9689baa 100644 --- a/src/lib/i18n/locales/es-ES/translation.json +++ b/src/lib/i18n/locales/es-ES/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Escribe un resumen en 50 palabras que resuma [tema o palabra clave].", "You": "Usted", "You're a helpful assistant.": "Eres un asistente útil.", - "You're now logged in.": "Has iniciado sesión." + "You're now logged in.": "Has iniciado sesión.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/fa-IR/translation.json b/src/lib/i18n/locales/fa-IR/translation.json index 5d50234ff..8f2c81f13 100644 --- a/src/lib/i18n/locales/fa-IR/translation.json +++ b/src/lib/i18n/locales/fa-IR/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "خلاصه ای در 50 کلمه بنویسید که [موضوع یا کلمه کلیدی] را خلاصه کند.", "You": "شما", "You're a helpful assistant.": "تو یک دستیار سودمند هستی.", - "You're now logged in.": "شما اکنون وارد شده\u200cاید." + "You're now logged in.": "شما اکنون وارد شده\u200cاید.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/fr-CA/translation.json b/src/lib/i18n/locales/fr-CA/translation.json index 213dd6562..db0eb78fa 100644 --- a/src/lib/i18n/locales/fr-CA/translation.json +++ b/src/lib/i18n/locales/fr-CA/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Rédigez un résumé en 50 mots qui résume [sujet ou mot-clé].", "You": "You", "You're a helpful assistant.": "Vous êtes un assistant utile", - "You're now logged in.": "Vous êtes maintenant connecté." + "You're now logged in.": "Vous êtes maintenant connecté.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/fr-FR/translation.json b/src/lib/i18n/locales/fr-FR/translation.json index 78d60ffc9..beb81b8ab 100644 --- a/src/lib/i18n/locales/fr-FR/translation.json +++ b/src/lib/i18n/locales/fr-FR/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Ecrivez un résumé en 50 mots [sujet ou mot-clé]", "You": "You", "You're a helpful assistant.": "Vous êtes un assistant utile", - "You're now logged in.": "Vous êtes maintenant connecté." + "You're now logged in.": "Vous êtes maintenant connecté.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/it-IT/translation.json b/src/lib/i18n/locales/it-IT/translation.json index 80160fedb..91e1bbd8a 100644 --- a/src/lib/i18n/locales/it-IT/translation.json +++ b/src/lib/i18n/locales/it-IT/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Scrivi un riassunto in 50 parole che riassume [argomento o parola chiave].", "You": "Tu", "You're a helpful assistant.": "Sei un assistente utile.", - "You're now logged in.": "Ora hai effettuato l'accesso." + "You're now logged in.": "Ora hai effettuato l'accesso.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/ja-JP/translation.json b/src/lib/i18n/locales/ja-JP/translation.json index 58c90ebcf..279d61fe2 100644 --- a/src/lib/i18n/locales/ja-JP/translation.json +++ b/src/lib/i18n/locales/ja-JP/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "[トピックまたはキーワード] を要約する 50 語の概要を書いてください。", "You": "あなた", "You're a helpful assistant.": "あなたは役に立つアシスタントです。", - "You're now logged in.": "ログインしました。" + "You're now logged in.": "ログインしました。", + "Youtube": "" } diff --git a/src/lib/i18n/locales/ka-GE/translation.json b/src/lib/i18n/locales/ka-GE/translation.json index 7a5fc0cd2..862e8afae 100644 --- a/src/lib/i18n/locales/ka-GE/translation.json +++ b/src/lib/i18n/locales/ka-GE/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "დაწერეთ რეზიუმე 50 სიტყვით, რომელიც აჯამებს [თემას ან საკვანძო სიტყვას].", "You": "თქვენ", "You're a helpful assistant.": "თქვენ სასარგებლო ასისტენტი ხართ.", - "You're now logged in.": "თქვენ შესული ხართ." + "You're now logged in.": "თქვენ შესული ხართ.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/ko-KR/translation.json b/src/lib/i18n/locales/ko-KR/translation.json index 5821080b4..007395a5d 100644 --- a/src/lib/i18n/locales/ko-KR/translation.json +++ b/src/lib/i18n/locales/ko-KR/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "[주제 또는 키워드]에 대한 50단어 요약문 작성.", "You": "당신", "You're a helpful assistant.": "당신은 유용한 어시스턴트입니다.", - "You're now logged in.": "로그인되었습니다." + "You're now logged in.": "로그인되었습니다.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/nl-NL/translation.json b/src/lib/i18n/locales/nl-NL/translation.json index cc3d1d958..61f347638 100644 --- a/src/lib/i18n/locales/nl-NL/translation.json +++ b/src/lib/i18n/locales/nl-NL/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Schrijf een samenvatting in 50 woorden die [onderwerp of trefwoord] samenvat.", "You": "Jij", "You're a helpful assistant.": "Jij bent een behulpzame assistent.", - "You're now logged in.": "Je bent nu ingelogd." + "You're now logged in.": "Je bent nu ingelogd.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/pl-PL/translation.json b/src/lib/i18n/locales/pl-PL/translation.json index 45568aef1..043fe83aa 100644 --- a/src/lib/i18n/locales/pl-PL/translation.json +++ b/src/lib/i18n/locales/pl-PL/translation.json @@ -434,5 +434,6 @@ "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].", "You": "Ty", "You're a helpful assistant.": "Jesteś pomocnym asystentem.", - "You're now logged in.": "Jesteś teraz zalogowany." + "You're now logged in.": "Jesteś teraz zalogowany.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/pt-BR/translation.json b/src/lib/i18n/locales/pt-BR/translation.json index 0bbe8f234..111e3c4cc 100644 --- a/src/lib/i18n/locales/pt-BR/translation.json +++ b/src/lib/i18n/locales/pt-BR/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Escreva um resumo em 50 palavras que resuma [tópico ou palavra-chave].", "You": "Você", "You're a helpful assistant.": "Você é um assistente útil.", - "You're now logged in.": "Você está conectado agora." + "You're now logged in.": "Você está conectado agora.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/pt-PT/translation.json b/src/lib/i18n/locales/pt-PT/translation.json index c16e9ce9a..9a5741d74 100644 --- a/src/lib/i18n/locales/pt-PT/translation.json +++ b/src/lib/i18n/locales/pt-PT/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Escreva um resumo em 50 palavras que resuma [tópico ou palavra-chave].", "You": "Você", "You're a helpful assistant.": "Você é um assistente útil.", - "You're now logged in.": "Você está conectado agora." + "You're now logged in.": "Você está conectado agora.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/ru-RU/translation.json b/src/lib/i18n/locales/ru-RU/translation.json index c5c57b1dc..37a5b833b 100644 --- a/src/lib/i18n/locales/ru-RU/translation.json +++ b/src/lib/i18n/locales/ru-RU/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Напишите резюме в 50 словах, которое кратко описывает [тему или ключевое слово].", "You": "Вы", "You're a helpful assistant.": "Вы полезный ассистент.", - "You're now logged in.": "Вы вошли в систему." + "You're now logged in.": "Вы вошли в систему.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/sv-SE/translation.json b/src/lib/i18n/locales/sv-SE/translation.json index bcf3a1b3a..ab7a64e78 100644 --- a/src/lib/i18n/locales/sv-SE/translation.json +++ b/src/lib/i18n/locales/sv-SE/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Skriv en sammanfattning på 50 ord som sammanfattar [ämne eller nyckelord].", "You": "Du", "You're a helpful assistant.": "Du är en hjälpsam assistent.", - "You're now logged in.": "Du är nu inloggad." + "You're now logged in.": "Du är nu inloggad.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/tr-TR/translation.json b/src/lib/i18n/locales/tr-TR/translation.json index ac447161f..2748b437d 100644 --- a/src/lib/i18n/locales/tr-TR/translation.json +++ b/src/lib/i18n/locales/tr-TR/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "[Konuyu veya anahtar kelimeyi] özetleyen 50 kelimelik bir özet yazın.", "You": "Siz", "You're a helpful assistant.": "Sen yardımcı bir asistansın.", - "You're now logged in.": "Şimdi oturum açtınız." + "You're now logged in.": "Şimdi oturum açtınız.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/uk-UA/translation.json b/src/lib/i18n/locales/uk-UA/translation.json index a36cabb55..bec540580 100644 --- a/src/lib/i18n/locales/uk-UA/translation.json +++ b/src/lib/i18n/locales/uk-UA/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "Напишіть стислий зміст у 50 слів, який узагальнює [тема або ключове слово].", "You": "Ви", "You're a helpful assistant.": "Ви корисний асистент.", - "You're now logged in.": "Ви увійшли в систему." + "You're now logged in.": "Ви увійшли в систему.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/vi-VN/translation.json b/src/lib/i18n/locales/vi-VN/translation.json index e7f9a7dd1..1d94a8ec2 100644 --- a/src/lib/i18n/locales/vi-VN/translation.json +++ b/src/lib/i18n/locales/vi-VN/translation.json @@ -434,5 +434,6 @@ "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].", "You": "Bạn", "You're a helpful assistant.": "Bạn là một trợ lý hữu ích.", - "You're now logged in.": "Bạn đã đăng nhập." + "You're now logged in.": "Bạn đã đăng nhập.", + "Youtube": "" } diff --git a/src/lib/i18n/locales/zh-CN/translation.json b/src/lib/i18n/locales/zh-CN/translation.json index ed31b8d09..9597709ec 100644 --- a/src/lib/i18n/locales/zh-CN/translation.json +++ b/src/lib/i18n/locales/zh-CN/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "用50个字写一个总结[主题或关键词]。", "You": "你", "You're a helpful assistant.": "你是一个有帮助的助手。", - "You're now logged in.": "已登录。" + "You're now logged in.": "已登录。", + "Youtube": "" } diff --git a/src/lib/i18n/locales/zh-TW/translation.json b/src/lib/i18n/locales/zh-TW/translation.json index d67de92a5..9c846d276 100644 --- a/src/lib/i18n/locales/zh-TW/translation.json +++ b/src/lib/i18n/locales/zh-TW/translation.json @@ -434,5 +434,6 @@ "Write a summary in 50 words that summarizes [topic or keyword].": "寫一個50字的摘要來概括[主題或關鍵詞]。", "You": "你", "You're a helpful assistant.": "你是一位善於協助他人的助手。", - "You're now logged in.": "已登入。" + "You're now logged in.": "已登入。", + "Youtube": "" } From b7fcf14f6eefdefeebb7616641767c0004c0d640 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Wed, 1 May 2024 17:55:18 -0700 Subject: [PATCH 37/75] refac: styling --- backend/apps/web/models/auths.py | 4 + backend/apps/web/routers/auths.py | 45 ++++++ src/lib/apis/auths/index.ts | 38 +++++ src/lib/components/admin/AddUserModal.svelte | 152 ++++++++++++++++++ src/lib/components/admin/SettingsModal.svelte | 3 +- src/lib/components/chat/SettingsModal.svelte | 3 +- src/lib/components/chat/ShareChatModal.svelte | 5 +- src/lib/components/chat/ShortcutsModal.svelte | 3 +- .../components/documents/AddDocModal.svelte | 4 +- .../components/documents/EditDocModal.svelte | 22 +-- .../components/documents/SettingsModal.svelte | 3 +- .../layout/Sidebar/ArchivedChatsModal.svelte | 3 +- src/routes/(app)/admin/+page.svelte | 7 + 13 files changed, 259 insertions(+), 33 deletions(-) diff --git a/backend/apps/web/models/auths.py b/backend/apps/web/models/auths.py index 9c4e5ffed..07c751988 100644 --- a/backend/apps/web/models/auths.py +++ b/backend/apps/web/models/auths.py @@ -89,6 +89,10 @@ class SignupForm(BaseModel): profile_image_url: Optional[str] = "/user.png" +class AddUserForm(SignupForm): + role: str = "pending" + + class AuthsTable: def __init__(self, db): self.db = db diff --git a/backend/apps/web/routers/auths.py b/backend/apps/web/routers/auths.py index 321b26034..e08f0ac84 100644 --- a/backend/apps/web/routers/auths.py +++ b/backend/apps/web/routers/auths.py @@ -11,6 +11,7 @@ import uuid from apps.web.models.auths import ( SigninForm, SignupForm, + AddUserForm, UpdateProfileForm, UpdatePasswordForm, UserResponse, @@ -205,6 +206,50 @@ async def signup(request: Request, form_data: SignupForm): raise HTTPException(500, detail=ERROR_MESSAGES.DEFAULT(err)) +############################ +# AddUser +############################ + + +@router.post("/add", response_model=SigninResponse) +async def signup(form_data: AddUserForm, user=Depends(get_admin_user)): + + if not validate_email_format(form_data.email.lower()): + raise HTTPException( + status.HTTP_400_BAD_REQUEST, detail=ERROR_MESSAGES.INVALID_EMAIL_FORMAT + ) + + if Users.get_user_by_email(form_data.email.lower()): + raise HTTPException(400, detail=ERROR_MESSAGES.EMAIL_TAKEN) + + try: + role = form_data.role + hashed = get_password_hash(form_data.password) + user = Auths.insert_new_auth( + form_data.email.lower(), + hashed, + form_data.name, + form_data.profile_image_url, + role, + ) + + if user: + token = create_token(data={"id": user.id}) + return { + "token": token, + "token_type": "Bearer", + "id": user.id, + "email": user.email, + "name": user.name, + "role": user.role, + "profile_image_url": user.profile_image_url, + } + else: + raise HTTPException(500, detail=ERROR_MESSAGES.CREATE_USER_ERROR) + except Exception as err: + raise HTTPException(500, detail=ERROR_MESSAGES.DEFAULT(err)) + + ############################ # ToggleSignUp ############################ diff --git a/src/lib/apis/auths/index.ts b/src/lib/apis/auths/index.ts index efeeff333..f7c75d02d 100644 --- a/src/lib/apis/auths/index.ts +++ b/src/lib/apis/auths/index.ts @@ -95,6 +95,44 @@ export const userSignUp = async ( return res; }; +export const addUser = async ( + token: string, + name: string, + email: string, + password: string, + role: string +) => { + let error = null; + + const res = await fetch(`${WEBUI_API_BASE_URL}/auths/add`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ + name: name, + email: email, + password: password, + role: role + }) + }) + .then(async (res) => { + if (!res.ok) throw await res.json(); + return res.json(); + }) + .catch((err) => { + console.log(err); + error = err.detail; + return null; + }); + + if (error) { + throw error; + } + + return res; +}; + export const updateUserProfile = async (token: string, name: string, profileImageUrl: string) => { let error = null; diff --git a/src/lib/components/admin/AddUserModal.svelte b/src/lib/components/admin/AddUserModal.svelte index e69de29bb..44d5ba238 100644 --- a/src/lib/components/admin/AddUserModal.svelte +++ b/src/lib/components/admin/AddUserModal.svelte @@ -0,0 +1,152 @@ + + + +
+
+
{$i18n.t('Add User')}
+ +
+ +
+
+
{ + submitHandler(); + }} + > +
+
+
{$i18n.t('Name')}
+ +
+ +
+
+ +
+ +
+
{$i18n.t('Email')}
+ +
+ +
+
+ +
+
{$i18n.t('Password')}
+ +
+ +
+
+
+ +
+ +
+
+
+
+
+
+ + diff --git a/src/lib/components/admin/SettingsModal.svelte b/src/lib/components/admin/SettingsModal.svelte index 7b7262146..923ab576a 100644 --- a/src/lib/components/admin/SettingsModal.svelte +++ b/src/lib/components/admin/SettingsModal.svelte @@ -15,7 +15,7 @@
-
+
{$i18n.t('Admin Settings')}
-
-
+
{$i18n.t('Settings')}
-
-
+
{$i18n.t('Share Chat')}
-
{#if chat} -
+
{#if chat.share_id}
-
+
{$i18n.t('Keyboard shortcuts')}
-
diff --git a/src/lib/components/documents/AddDocModal.svelte b/src/lib/components/documents/AddDocModal.svelte index 9c9763890..b3c550c3f 100644 --- a/src/lib/components/documents/AddDocModal.svelte +++ b/src/lib/components/documents/AddDocModal.svelte @@ -96,7 +96,7 @@
-
+
{$i18n.t('Add Docs')}
-
-
-
+
{$i18n.t('Edit Doc')}
-
-
#
- -
@@ -140,7 +128,7 @@
-
{$i18n.t('Tags')}
+
{$i18n.t('Tags')}
diff --git a/src/lib/components/documents/SettingsModal.svelte b/src/lib/components/documents/SettingsModal.svelte index 3b044e00f..e3f2e0037 100644 --- a/src/lib/components/documents/SettingsModal.svelte +++ b/src/lib/components/documents/SettingsModal.svelte @@ -12,7 +12,7 @@
-
+
{$i18n.t('Document Settings')}
-
-
+
{$i18n.t('Archived Chats')}
-
diff --git a/src/routes/(app)/admin/+page.svelte b/src/routes/(app)/admin/+page.svelte index 57fb36b6c..9c14f1f30 100644 --- a/src/routes/(app)/admin/+page.svelte +++ b/src/routes/(app)/admin/+page.svelte @@ -18,6 +18,7 @@ import ChatBubbles from '$lib/components/icons/ChatBubbles.svelte'; import Tooltip from '$lib/components/common/Tooltip.svelte'; import UserChatsModal from '$lib/components/admin/UserChatsModal.svelte'; + import AddUserModal from '$lib/components/admin/AddUserModal.svelte'; const i18n = getContext('i18n'); @@ -92,6 +93,12 @@ /> {/key} + { + users = await getUsers(localStorage.token); + }} +/> From 96af34f2409f0b8a1b799a62487affff2c592d67 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Wed, 1 May 2024 17:56:39 -0700 Subject: [PATCH 38/75] chore: i18n --- 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/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/fr-CA/translation.json | 1 + src/lib/i18n/locales/fr-FR/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/nl-NL/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/ru-RU/translation.json | 1 + src/lib/i18n/locales/sv-SE/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 + 26 files changed, 26 insertions(+) diff --git a/src/lib/i18n/locales/bg-BG/translation.json b/src/lib/i18n/locales/bg-BG/translation.json index 0943d97bd..bf52e83f9 100644 --- a/src/lib/i18n/locales/bg-BG/translation.json +++ b/src/lib/i18n/locales/bg-BG/translation.json @@ -20,6 +20,7 @@ "Add message": "Добавяне на съобщение", "Add Model": "", "Add Tags": "добавяне на тагове", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "При промяна на тези настройки промените се прилагат за всички потребители.", "admin": "админ", "Admin Panel": "Панел на Администратор", diff --git a/src/lib/i18n/locales/bn-BD/translation.json b/src/lib/i18n/locales/bn-BD/translation.json index b96138e6d..289bb9a07 100644 --- a/src/lib/i18n/locales/bn-BD/translation.json +++ b/src/lib/i18n/locales/bn-BD/translation.json @@ -20,6 +20,7 @@ "Add message": "মেসেজ যোগ করুন", "Add Model": "", "Add Tags": "ট্যাগ যোগ করুন", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "এই সেটিংগুলো পরিবর্তন করলে তা সব ইউজারের উপরেই প্রয়োগ করা হবে", "admin": "এডমিন", "Admin Panel": "এডমিন প্যানেল", diff --git a/src/lib/i18n/locales/ca-ES/translation.json b/src/lib/i18n/locales/ca-ES/translation.json index 8ea000b78..51c4c308e 100644 --- a/src/lib/i18n/locales/ca-ES/translation.json +++ b/src/lib/i18n/locales/ca-ES/translation.json @@ -20,6 +20,7 @@ "Add message": "Afegeix missatge", "Add Model": "", "Add Tags": "afegeix etiquetes", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "Ajustar aquests paràmetres aplicarà canvis de manera universal a tots els usuaris.", "admin": "administrador", "Admin Panel": "Panell d'Administració", diff --git a/src/lib/i18n/locales/de-DE/translation.json b/src/lib/i18n/locales/de-DE/translation.json index 74fbff68f..3aeb94a51 100644 --- a/src/lib/i18n/locales/de-DE/translation.json +++ b/src/lib/i18n/locales/de-DE/translation.json @@ -20,6 +20,7 @@ "Add message": "Nachricht eingeben", "Add Model": "Modell hinzufügen", "Add Tags": "Tags hinzufügen", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "Das Anpassen dieser Einstellungen wirkt sich universell auf alle Benutzer aus.", "admin": "Administrator", "Admin Panel": "Admin Panel", diff --git a/src/lib/i18n/locales/dg-DG/translation.json b/src/lib/i18n/locales/dg-DG/translation.json index 7e82e653d..f12993c29 100644 --- a/src/lib/i18n/locales/dg-DG/translation.json +++ b/src/lib/i18n/locales/dg-DG/translation.json @@ -20,6 +20,7 @@ "Add message": "Add Prompt", "Add Model": "", "Add Tags": "", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "Adjusting these settings will apply changes to all users. Such universal, very wow.", "admin": "admin", "Admin Panel": "Admin Panel", diff --git a/src/lib/i18n/locales/en-GB/translation.json b/src/lib/i18n/locales/en-GB/translation.json index b556f8588..4a736f3c4 100644 --- a/src/lib/i18n/locales/en-GB/translation.json +++ b/src/lib/i18n/locales/en-GB/translation.json @@ -20,6 +20,7 @@ "Add message": "", "Add Model": "", "Add Tags": "", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "", "admin": "", "Admin Panel": "", diff --git a/src/lib/i18n/locales/en-US/translation.json b/src/lib/i18n/locales/en-US/translation.json index b556f8588..4a736f3c4 100644 --- a/src/lib/i18n/locales/en-US/translation.json +++ b/src/lib/i18n/locales/en-US/translation.json @@ -20,6 +20,7 @@ "Add message": "", "Add Model": "", "Add Tags": "", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "", "admin": "", "Admin Panel": "", diff --git a/src/lib/i18n/locales/es-ES/translation.json b/src/lib/i18n/locales/es-ES/translation.json index ef9689baa..948842843 100644 --- a/src/lib/i18n/locales/es-ES/translation.json +++ b/src/lib/i18n/locales/es-ES/translation.json @@ -20,6 +20,7 @@ "Add message": "Agregar Prompt", "Add Model": "", "Add Tags": "agregar etiquetas", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "Ajustar estas opciones aplicará los cambios universalmente a todos los usuarios.", "admin": "admin", "Admin Panel": "Panel de Administración", diff --git a/src/lib/i18n/locales/fa-IR/translation.json b/src/lib/i18n/locales/fa-IR/translation.json index 8f2c81f13..8b299a797 100644 --- a/src/lib/i18n/locales/fa-IR/translation.json +++ b/src/lib/i18n/locales/fa-IR/translation.json @@ -20,6 +20,7 @@ "Add message": "اضافه کردن پیغام", "Add Model": "", "Add Tags": "اضافه کردن تگ\u200cها", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "با تنظیم این تنظیمات، تغییرات به طور کلی برای همه کاربران اعمال می شود.", "admin": "مدیر", "Admin Panel": "پنل مدیریت", diff --git a/src/lib/i18n/locales/fr-CA/translation.json b/src/lib/i18n/locales/fr-CA/translation.json index db0eb78fa..06855c45c 100644 --- a/src/lib/i18n/locales/fr-CA/translation.json +++ b/src/lib/i18n/locales/fr-CA/translation.json @@ -20,6 +20,7 @@ "Add message": "Ajouter un message", "Add Model": "", "Add Tags": "ajouter des tags", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "L'ajustement de ces paramètres appliquera les changements à tous les utilisateurs.", "admin": "Administrateur", "Admin Panel": "Panneau d'administration", diff --git a/src/lib/i18n/locales/fr-FR/translation.json b/src/lib/i18n/locales/fr-FR/translation.json index beb81b8ab..7c2cb8efa 100644 --- a/src/lib/i18n/locales/fr-FR/translation.json +++ b/src/lib/i18n/locales/fr-FR/translation.json @@ -20,6 +20,7 @@ "Add message": "Ajouter un message", "Add Model": "", "Add Tags": "ajouter des tags", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "L'ajustement de ces paramètres appliquera les changements à tous les utilisateurs.", "admin": "Administrateur", "Admin Panel": "Panneau d'administration", diff --git a/src/lib/i18n/locales/it-IT/translation.json b/src/lib/i18n/locales/it-IT/translation.json index 91e1bbd8a..7e46c74fb 100644 --- a/src/lib/i18n/locales/it-IT/translation.json +++ b/src/lib/i18n/locales/it-IT/translation.json @@ -20,6 +20,7 @@ "Add message": "Aggiungi messaggio", "Add Model": "", "Add Tags": "aggiungi tag", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "La modifica di queste impostazioni applicherà le modifiche universalmente a tutti gli utenti.", "admin": "amministratore", "Admin Panel": "Pannello di amministrazione", diff --git a/src/lib/i18n/locales/ja-JP/translation.json b/src/lib/i18n/locales/ja-JP/translation.json index 279d61fe2..4942fcbcc 100644 --- a/src/lib/i18n/locales/ja-JP/translation.json +++ b/src/lib/i18n/locales/ja-JP/translation.json @@ -20,6 +20,7 @@ "Add message": "メッセージを追加", "Add Model": "", "Add Tags": "タグを追加", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "これらの設定を調整すると、すべてのユーザーに普遍的に変更が適用されます。", "admin": "管理者", "Admin Panel": "管理者パネル", diff --git a/src/lib/i18n/locales/ka-GE/translation.json b/src/lib/i18n/locales/ka-GE/translation.json index 862e8afae..9d0f184af 100644 --- a/src/lib/i18n/locales/ka-GE/translation.json +++ b/src/lib/i18n/locales/ka-GE/translation.json @@ -20,6 +20,7 @@ "Add message": "შეტყობინების დამატება", "Add Model": "", "Add Tags": "ტეგების დამატება", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "ამ პარამეტრების რეგულირება ცვლილებებს უნივერსალურად გამოიყენებს ყველა მომხმარებლისთვის", "admin": "ადმინისტრატორი", "Admin Panel": "ადმინ პანელი", diff --git a/src/lib/i18n/locales/ko-KR/translation.json b/src/lib/i18n/locales/ko-KR/translation.json index 007395a5d..9518462e8 100644 --- a/src/lib/i18n/locales/ko-KR/translation.json +++ b/src/lib/i18n/locales/ko-KR/translation.json @@ -20,6 +20,7 @@ "Add message": "메시지 추가", "Add Model": "", "Add Tags": "태그들 추가", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "이 설정을 조정하면 모든 사용자에게 적용됩니다.", "admin": "관리자", "Admin Panel": "관리자 패널", diff --git a/src/lib/i18n/locales/nl-NL/translation.json b/src/lib/i18n/locales/nl-NL/translation.json index 61f347638..841476cfe 100644 --- a/src/lib/i18n/locales/nl-NL/translation.json +++ b/src/lib/i18n/locales/nl-NL/translation.json @@ -20,6 +20,7 @@ "Add message": "Voeg bericht toe", "Add Model": "", "Add Tags": "voeg tags toe", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "Het aanpassen van deze instellingen zal universeel worden toegepast op alle gebruikers.", "admin": "admin", "Admin Panel": "Administratieve Paneel", diff --git a/src/lib/i18n/locales/pl-PL/translation.json b/src/lib/i18n/locales/pl-PL/translation.json index 043fe83aa..994fea446 100644 --- a/src/lib/i18n/locales/pl-PL/translation.json +++ b/src/lib/i18n/locales/pl-PL/translation.json @@ -20,6 +20,7 @@ "Add message": "Dodaj wiadomość", "Add Model": "", "Add Tags": "dodaj tagi", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "Dostosowanie tych ustawień spowoduje zastosowanie zmian uniwersalnie do wszystkich użytkowników.", "admin": "admin", "Admin Panel": "Panel administracyjny", diff --git a/src/lib/i18n/locales/pt-BR/translation.json b/src/lib/i18n/locales/pt-BR/translation.json index 111e3c4cc..3515419a4 100644 --- a/src/lib/i18n/locales/pt-BR/translation.json +++ b/src/lib/i18n/locales/pt-BR/translation.json @@ -20,6 +20,7 @@ "Add message": "Adicionar mensagem", "Add Model": "", "Add Tags": "adicionar tags", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "Ajustar essas configurações aplicará alterações universalmente a todos os usuários.", "admin": "administrador", "Admin Panel": "Painel do Administrador", diff --git a/src/lib/i18n/locales/pt-PT/translation.json b/src/lib/i18n/locales/pt-PT/translation.json index 9a5741d74..ca6ebc0bd 100644 --- a/src/lib/i18n/locales/pt-PT/translation.json +++ b/src/lib/i18n/locales/pt-PT/translation.json @@ -20,6 +20,7 @@ "Add message": "Adicionar mensagem", "Add Model": "", "Add Tags": "adicionar tags", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "Ajustar essas configurações aplicará alterações universalmente a todos os usuários.", "admin": "administrador", "Admin Panel": "Painel do Administrador", diff --git a/src/lib/i18n/locales/ru-RU/translation.json b/src/lib/i18n/locales/ru-RU/translation.json index 37a5b833b..f11bf97c8 100644 --- a/src/lib/i18n/locales/ru-RU/translation.json +++ b/src/lib/i18n/locales/ru-RU/translation.json @@ -20,6 +20,7 @@ "Add message": "Добавьте сообщение", "Add Model": "", "Add Tags": "Добавьте тэгы", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "Регулирующий этих настроек приведет к изменениям для все пользователей.", "admin": "админ", "Admin Panel": "Панель админ", diff --git a/src/lib/i18n/locales/sv-SE/translation.json b/src/lib/i18n/locales/sv-SE/translation.json index ab7a64e78..f51d94415 100644 --- a/src/lib/i18n/locales/sv-SE/translation.json +++ b/src/lib/i18n/locales/sv-SE/translation.json @@ -20,6 +20,7 @@ "Add message": "Lägg till meddelande", "Add Model": "", "Add Tags": "", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "Justering av dessa inställningar kommer att tillämpa ändringar universellt för alla användare.", "admin": "administratör", "Admin Panel": "Administrationspanel", diff --git a/src/lib/i18n/locales/tr-TR/translation.json b/src/lib/i18n/locales/tr-TR/translation.json index 2748b437d..e015486f6 100644 --- a/src/lib/i18n/locales/tr-TR/translation.json +++ b/src/lib/i18n/locales/tr-TR/translation.json @@ -20,6 +20,7 @@ "Add message": "Mesaj ekle", "Add Model": "", "Add Tags": "etiketler ekle", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "Bu ayarları ayarlamak değişiklikleri tüm kullanıcılara evrensel olarak uygular.", "admin": "yönetici", "Admin Panel": "Yönetici Paneli", diff --git a/src/lib/i18n/locales/uk-UA/translation.json b/src/lib/i18n/locales/uk-UA/translation.json index bec540580..5093cf8c1 100644 --- a/src/lib/i18n/locales/uk-UA/translation.json +++ b/src/lib/i18n/locales/uk-UA/translation.json @@ -20,6 +20,7 @@ "Add message": "Додати повідомлення", "Add Model": "", "Add Tags": "додати теги", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "Зміни в цих налаштуваннях будуть застосовані для всіх користувачів.", "admin": "адмін", "Admin Panel": "Панель адміністратора", diff --git a/src/lib/i18n/locales/vi-VN/translation.json b/src/lib/i18n/locales/vi-VN/translation.json index 1d94a8ec2..0bdeec8bd 100644 --- a/src/lib/i18n/locales/vi-VN/translation.json +++ b/src/lib/i18n/locales/vi-VN/translation.json @@ -20,6 +20,7 @@ "Add message": "Thêm tin nhắn", "Add Model": "", "Add Tags": "thêm thẻ", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "Các thay đổi cài đặt này sẽ áp dụng cho tất cả người sử dụng.", "admin": "quản trị viên", "Admin Panel": "Trang Quản trị", diff --git a/src/lib/i18n/locales/zh-CN/translation.json b/src/lib/i18n/locales/zh-CN/translation.json index 9597709ec..12b6b886e 100644 --- a/src/lib/i18n/locales/zh-CN/translation.json +++ b/src/lib/i18n/locales/zh-CN/translation.json @@ -20,6 +20,7 @@ "Add message": "添加消息", "Add Model": "", "Add Tags": "添加标签", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "调整这些设置将会对所有用户应用更改。", "admin": "管理员", "Admin Panel": "管理员面板", diff --git a/src/lib/i18n/locales/zh-TW/translation.json b/src/lib/i18n/locales/zh-TW/translation.json index 9c846d276..f8e6843b3 100644 --- a/src/lib/i18n/locales/zh-TW/translation.json +++ b/src/lib/i18n/locales/zh-TW/translation.json @@ -20,6 +20,7 @@ "Add message": "新增訊息", "Add Model": "", "Add Tags": "新增標籤", + "Add User": "", "Adjusting these settings will apply changes universally to all users.": "調整這些設定將對所有使用者進行更改。", "admin": "管理員", "Admin Panel": "管理員控制台", From e6bcdba5ad7d8ba2555392687f5183edf4743733 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Wed, 1 May 2024 18:06:02 -0700 Subject: [PATCH 39/75] feat: add user from admin panel --- backend/apps/web/models/auths.py | 2 +- backend/apps/web/routers/auths.py | 5 ++-- src/lib/apis/auths/index.ts | 5 ++-- src/lib/components/admin/AddUserModal.svelte | 30 +++++++++++++++++-- .../layout/Sidebar/ArchivedChatsModal.svelte | 2 +- 5 files changed, 36 insertions(+), 8 deletions(-) diff --git a/backend/apps/web/models/auths.py b/backend/apps/web/models/auths.py index 07c751988..dfa0c4395 100644 --- a/backend/apps/web/models/auths.py +++ b/backend/apps/web/models/auths.py @@ -90,7 +90,7 @@ class SignupForm(BaseModel): class AddUserForm(SignupForm): - role: str = "pending" + role: Optional[str] = "pending" class AuthsTable: diff --git a/backend/apps/web/routers/auths.py b/backend/apps/web/routers/auths.py index e08f0ac84..e4a41a74d 100644 --- a/backend/apps/web/routers/auths.py +++ b/backend/apps/web/routers/auths.py @@ -223,14 +223,15 @@ async def signup(form_data: AddUserForm, user=Depends(get_admin_user)): raise HTTPException(400, detail=ERROR_MESSAGES.EMAIL_TAKEN) try: - role = form_data.role + + print(form_data) hashed = get_password_hash(form_data.password) user = Auths.insert_new_auth( form_data.email.lower(), hashed, form_data.name, form_data.profile_image_url, - role, + form_data.role, ) if user: diff --git a/src/lib/apis/auths/index.ts b/src/lib/apis/auths/index.ts index f7c75d02d..26feb29b6 100644 --- a/src/lib/apis/auths/index.ts +++ b/src/lib/apis/auths/index.ts @@ -100,14 +100,15 @@ export const addUser = async ( name: string, email: string, password: string, - role: string + role: string = 'pending' ) => { let error = null; const res = await fetch(`${WEBUI_API_BASE_URL}/auths/add`, { method: 'POST', headers: { - 'Content-Type': 'application/json' + 'Content-Type': 'application/json', + ...(token && { authorization: `Bearer ${token}` }) }, body: JSON.stringify({ name: name, diff --git a/src/lib/components/admin/AddUserModal.svelte b/src/lib/components/admin/AddUserModal.svelte index 44d5ba238..e779c9f75 100644 --- a/src/lib/components/admin/AddUserModal.svelte +++ b/src/lib/components/admin/AddUserModal.svelte @@ -15,9 +15,18 @@ name: '', email: '', password: '', - role: '' + role: 'pending' }; + $: if (show) { + _user = { + name: '', + email: '', + password: '', + role: 'pending' + }; + } + const submitHandler = async () => { const res = await addUser( localStorage.token, @@ -38,7 +47,7 @@
-
+
{$i18n.t('Add User')}
-
+
{#if chats.length > 0}
From 8745091a16ee9077d84018dc46391ddb128c0b3e Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Wed, 1 May 2024 18:07:29 -0700 Subject: [PATCH 40/75] chore: i18n --- 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/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/fr-CA/translation.json | 1 + src/lib/i18n/locales/fr-FR/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/nl-NL/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/ru-RU/translation.json | 1 + src/lib/i18n/locales/sv-SE/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 + src/routes/(app)/admin/+page.svelte | 34 +++++++++++---------- 27 files changed, 44 insertions(+), 16 deletions(-) diff --git a/src/lib/i18n/locales/bg-BG/translation.json b/src/lib/i18n/locales/bg-BG/translation.json index bf52e83f9..3630af97c 100644 --- a/src/lib/i18n/locales/bg-BG/translation.json +++ b/src/lib/i18n/locales/bg-BG/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "Въведете имейл", "Enter Your Full Name": "Въведете вашето пълно име", "Enter Your Password": "Въведете вашата парола", + "Enter Your Role": "", "Experimental": "Експериментално", "Export All Chats (All Users)": "Експортване на всички чатове (За всички потребители)", "Export Chats": "Експортване на чатове", diff --git a/src/lib/i18n/locales/bn-BD/translation.json b/src/lib/i18n/locales/bn-BD/translation.json index 289bb9a07..6788cda25 100644 --- a/src/lib/i18n/locales/bn-BD/translation.json +++ b/src/lib/i18n/locales/bn-BD/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "আপনার ইমেইল লিখুন", "Enter Your Full Name": "আপনার পূর্ণ নাম লিখুন", "Enter Your Password": "আপনার পাসওয়ার্ড লিখুন", + "Enter Your Role": "", "Experimental": "পরিক্ষামূলক", "Export All Chats (All Users)": "সব চ্যাট এক্সপোর্ট করুন (সব ইউজারের)", "Export Chats": "চ্যাটগুলো এক্সপোর্ট করুন", diff --git a/src/lib/i18n/locales/ca-ES/translation.json b/src/lib/i18n/locales/ca-ES/translation.json index 51c4c308e..5774e38f3 100644 --- a/src/lib/i18n/locales/ca-ES/translation.json +++ b/src/lib/i18n/locales/ca-ES/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "Introdueix el Teu Correu Electrònic", "Enter Your Full Name": "Introdueix el Teu Nom Complet", "Enter Your Password": "Introdueix la Teva Contrasenya", + "Enter Your Role": "", "Experimental": "Experimental", "Export All Chats (All Users)": "Exporta Tots els Xats (Tots els Usuaris)", "Export Chats": "Exporta Xats", diff --git a/src/lib/i18n/locales/de-DE/translation.json b/src/lib/i18n/locales/de-DE/translation.json index 3aeb94a51..5f1115344 100644 --- a/src/lib/i18n/locales/de-DE/translation.json +++ b/src/lib/i18n/locales/de-DE/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "Gib deine E-Mail-Adresse ein", "Enter Your Full Name": "Gib deinen vollständigen Namen ein", "Enter Your Password": "Gib dein Passwort ein", + "Enter Your Role": "", "Experimental": "Experimentell", "Export All Chats (All Users)": "Alle Chats exportieren (alle Benutzer)", "Export Chats": "Chats exportieren", diff --git a/src/lib/i18n/locales/dg-DG/translation.json b/src/lib/i18n/locales/dg-DG/translation.json index f12993c29..dc362d484 100644 --- a/src/lib/i18n/locales/dg-DG/translation.json +++ b/src/lib/i18n/locales/dg-DG/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "Enter Your Dogemail", "Enter Your Full Name": "Enter Your Full Wow", "Enter Your Password": "Enter Your Barkword", + "Enter Your Role": "", "Experimental": "Much Experiment", "Export All Chats (All Users)": "Export All Chats (All Doggos)", "Export Chats": "Export Barks", diff --git a/src/lib/i18n/locales/en-GB/translation.json b/src/lib/i18n/locales/en-GB/translation.json index 4a736f3c4..ece75475b 100644 --- a/src/lib/i18n/locales/en-GB/translation.json +++ b/src/lib/i18n/locales/en-GB/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "", "Enter Your Full Name": "", "Enter Your Password": "", + "Enter Your Role": "", "Experimental": "", "Export All Chats (All Users)": "", "Export Chats": "", diff --git a/src/lib/i18n/locales/en-US/translation.json b/src/lib/i18n/locales/en-US/translation.json index 4a736f3c4..ece75475b 100644 --- a/src/lib/i18n/locales/en-US/translation.json +++ b/src/lib/i18n/locales/en-US/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "", "Enter Your Full Name": "", "Enter Your Password": "", + "Enter Your Role": "", "Experimental": "", "Export All Chats (All Users)": "", "Export Chats": "", diff --git a/src/lib/i18n/locales/es-ES/translation.json b/src/lib/i18n/locales/es-ES/translation.json index 948842843..4f24f9161 100644 --- a/src/lib/i18n/locales/es-ES/translation.json +++ b/src/lib/i18n/locales/es-ES/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "Ingrese su correo electrónico", "Enter Your Full Name": "Ingrese su nombre completo", "Enter Your Password": "Ingrese su contraseña", + "Enter Your Role": "", "Experimental": "Experimental", "Export All Chats (All Users)": "Exportar todos los chats (Todos los usuarios)", "Export Chats": "Exportar Chats", diff --git a/src/lib/i18n/locales/fa-IR/translation.json b/src/lib/i18n/locales/fa-IR/translation.json index 8b299a797..150433314 100644 --- a/src/lib/i18n/locales/fa-IR/translation.json +++ b/src/lib/i18n/locales/fa-IR/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "ایمیل خود را وارد کنید", "Enter Your Full Name": "نام کامل خود را وارد کنید", "Enter Your Password": "رمز عبور خود را وارد کنید", + "Enter Your Role": "", "Experimental": "آزمایشی", "Export All Chats (All Users)": "اکسپورت از همه گپ\u200cها(همه کاربران)", "Export Chats": "اکسپورت از گپ\u200cها", diff --git a/src/lib/i18n/locales/fr-CA/translation.json b/src/lib/i18n/locales/fr-CA/translation.json index 06855c45c..a62d635ed 100644 --- a/src/lib/i18n/locales/fr-CA/translation.json +++ b/src/lib/i18n/locales/fr-CA/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "Entrez votre adresse email", "Enter Your Full Name": "Entrez votre nom complet", "Enter Your Password": "Entrez votre mot de passe", + "Enter Your Role": "", "Experimental": "Expérimental", "Export All Chats (All Users)": "Exporter toutes les discussions (Tous les utilisateurs)", "Export Chats": "Exporter les discussions", diff --git a/src/lib/i18n/locales/fr-FR/translation.json b/src/lib/i18n/locales/fr-FR/translation.json index 7c2cb8efa..12cc36d02 100644 --- a/src/lib/i18n/locales/fr-FR/translation.json +++ b/src/lib/i18n/locales/fr-FR/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "Entrez votre email", "Enter Your Full Name": "Entrez votre nom complet", "Enter Your Password": "Entrez votre mot de passe", + "Enter Your Role": "", "Experimental": "Expérimental", "Export All Chats (All Users)": "Exporter tous les chats (tous les utilisateurs)", "Export Chats": "Exporter les chats", diff --git a/src/lib/i18n/locales/it-IT/translation.json b/src/lib/i18n/locales/it-IT/translation.json index 7e46c74fb..b0b128be9 100644 --- a/src/lib/i18n/locales/it-IT/translation.json +++ b/src/lib/i18n/locales/it-IT/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "Inserisci la tua email", "Enter Your Full Name": "Inserisci il tuo nome completo", "Enter Your Password": "Inserisci la tua password", + "Enter Your Role": "", "Experimental": "Sperimentale", "Export All Chats (All Users)": "Esporta tutte le chat (tutti gli utenti)", "Export Chats": "Esporta chat", diff --git a/src/lib/i18n/locales/ja-JP/translation.json b/src/lib/i18n/locales/ja-JP/translation.json index 4942fcbcc..7f7058a5e 100644 --- a/src/lib/i18n/locales/ja-JP/translation.json +++ b/src/lib/i18n/locales/ja-JP/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "メールアドレスを入力してください", "Enter Your Full Name": "フルネームを入力してください", "Enter Your Password": "パスワードを入力してください", + "Enter Your Role": "", "Experimental": "実験的", "Export All Chats (All Users)": "すべてのチャットをエクスポート (すべてのユーザー)", "Export Chats": "チャットをエクスポート", diff --git a/src/lib/i18n/locales/ka-GE/translation.json b/src/lib/i18n/locales/ka-GE/translation.json index 9d0f184af..d6d814a9f 100644 --- a/src/lib/i18n/locales/ka-GE/translation.json +++ b/src/lib/i18n/locales/ka-GE/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "შეიყვანეთ თქვენი ელ-ფოსტა", "Enter Your Full Name": "შეიყვანეთ თქვენი სრული სახელი", "Enter Your Password": "შეიყვანეთ თქვენი პაროლი", + "Enter Your Role": "", "Experimental": "ექსპერიმენტალური", "Export All Chats (All Users)": "", "Export Chats": "მიმოწერის ექსპორტირება", diff --git a/src/lib/i18n/locales/ko-KR/translation.json b/src/lib/i18n/locales/ko-KR/translation.json index 9518462e8..b989d2893 100644 --- a/src/lib/i18n/locales/ko-KR/translation.json +++ b/src/lib/i18n/locales/ko-KR/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "이메일 입력", "Enter Your Full Name": "전체 이름 입력", "Enter Your Password": "비밀번호 입력", + "Enter Your Role": "", "Experimental": "실험적", "Export All Chats (All Users)": "모든 채팅 내보내기 (모든 사용자)", "Export Chats": "채팅 내보내기", diff --git a/src/lib/i18n/locales/nl-NL/translation.json b/src/lib/i18n/locales/nl-NL/translation.json index 841476cfe..60618dc9b 100644 --- a/src/lib/i18n/locales/nl-NL/translation.json +++ b/src/lib/i18n/locales/nl-NL/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "Voer je Email in", "Enter Your Full Name": "Voer je Volledige Naam in", "Enter Your Password": "Voer je Wachtwoord in", + "Enter Your Role": "", "Experimental": "Experimenteel", "Export All Chats (All Users)": "Exporteer Alle Chats (Alle Gebruikers)", "Export Chats": "Exporteer Chats", diff --git a/src/lib/i18n/locales/pl-PL/translation.json b/src/lib/i18n/locales/pl-PL/translation.json index 994fea446..a7e9c31c3 100644 --- a/src/lib/i18n/locales/pl-PL/translation.json +++ b/src/lib/i18n/locales/pl-PL/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "Wprowadź swój adres email", "Enter Your Full Name": "Wprowadź swoje imię i nazwisko", "Enter Your Password": "Wprowadź swoje hasło", + "Enter Your Role": "", "Experimental": "Eksperymentalne", "Export All Chats (All Users)": "Eksportuj wszystkie czaty (wszyscy użytkownicy)", "Export Chats": "Eksportuj czaty", diff --git a/src/lib/i18n/locales/pt-BR/translation.json b/src/lib/i18n/locales/pt-BR/translation.json index 3515419a4..7ab86240e 100644 --- a/src/lib/i18n/locales/pt-BR/translation.json +++ b/src/lib/i18n/locales/pt-BR/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "Digite seu E-mail", "Enter Your Full Name": "Digite seu Nome Completo", "Enter Your Password": "Digite sua Senha", + "Enter Your Role": "", "Experimental": "Experimental", "Export All Chats (All Users)": "Exportar Todos os Bate-papos (Todos os Usuários)", "Export Chats": "Exportar Bate-papos", diff --git a/src/lib/i18n/locales/pt-PT/translation.json b/src/lib/i18n/locales/pt-PT/translation.json index ca6ebc0bd..c699f2fef 100644 --- a/src/lib/i18n/locales/pt-PT/translation.json +++ b/src/lib/i18n/locales/pt-PT/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "Digite seu E-mail", "Enter Your Full Name": "Digite seu Nome Completo", "Enter Your Password": "Digite sua Senha", + "Enter Your Role": "", "Experimental": "Experimental", "Export All Chats (All Users)": "Exportar Todos os Bate-papos (Todos os Usuários)", "Export Chats": "Exportar Bate-papos", diff --git a/src/lib/i18n/locales/ru-RU/translation.json b/src/lib/i18n/locales/ru-RU/translation.json index f11bf97c8..b3aefea94 100644 --- a/src/lib/i18n/locales/ru-RU/translation.json +++ b/src/lib/i18n/locales/ru-RU/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "Введите вашу электронную почту", "Enter Your Full Name": "Введите ваше полное имя", "Enter Your Password": "Введите ваш пароль", + "Enter Your Role": "", "Experimental": "Экспериментальное", "Export All Chats (All Users)": "Экспортировать все чаты (все пользователи)", "Export Chats": "Экспортировать чаты", diff --git a/src/lib/i18n/locales/sv-SE/translation.json b/src/lib/i18n/locales/sv-SE/translation.json index f51d94415..35ef92446 100644 --- a/src/lib/i18n/locales/sv-SE/translation.json +++ b/src/lib/i18n/locales/sv-SE/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "Ange din e-post", "Enter Your Full Name": "Ange ditt fullständiga namn", "Enter Your Password": "Ange ditt lösenord", + "Enter Your Role": "", "Experimental": "Experimentell", "Export All Chats (All Users)": "Exportera alla chattar (alla användare)", "Export Chats": "Exportera chattar", diff --git a/src/lib/i18n/locales/tr-TR/translation.json b/src/lib/i18n/locales/tr-TR/translation.json index e015486f6..104d7d428 100644 --- a/src/lib/i18n/locales/tr-TR/translation.json +++ b/src/lib/i18n/locales/tr-TR/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "E-postanızı Girin", "Enter Your Full Name": "Tam Adınızı Girin", "Enter Your Password": "Parolanızı Girin", + "Enter Your Role": "", "Experimental": "Deneysel", "Export All Chats (All Users)": "Tüm Sohbetleri Dışa Aktar (Tüm Kullanıcılar)", "Export Chats": "Sohbetleri Dışa Aktar", diff --git a/src/lib/i18n/locales/uk-UA/translation.json b/src/lib/i18n/locales/uk-UA/translation.json index 5093cf8c1..58bcd332d 100644 --- a/src/lib/i18n/locales/uk-UA/translation.json +++ b/src/lib/i18n/locales/uk-UA/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "Введіть вашу електронну пошту", "Enter Your Full Name": "Введіть ваше ім'я", "Enter Your Password": "Введіть ваш пароль", + "Enter Your Role": "", "Experimental": "Експериментальне", "Export All Chats (All Users)": "Експортувати всі чати (всі користувачі)", "Export Chats": "Експортувати чати", diff --git a/src/lib/i18n/locales/vi-VN/translation.json b/src/lib/i18n/locales/vi-VN/translation.json index 0bdeec8bd..331cb68cb 100644 --- a/src/lib/i18n/locales/vi-VN/translation.json +++ b/src/lib/i18n/locales/vi-VN/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "Nhập Email của bạn", "Enter Your Full Name": "Nhập Họ và Tên của bạn", "Enter Your Password": "Nhập Mật khẩu của bạn", + "Enter Your Role": "", "Experimental": "Thử nghiệm", "Export All Chats (All Users)": "Tải về tất cả nội dung chat (tất cả mọi người)", "Export Chats": "Tải nội dung chat về máy", diff --git a/src/lib/i18n/locales/zh-CN/translation.json b/src/lib/i18n/locales/zh-CN/translation.json index 12b6b886e..b5c322084 100644 --- a/src/lib/i18n/locales/zh-CN/translation.json +++ b/src/lib/i18n/locales/zh-CN/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "输入您的电子邮件", "Enter Your Full Name": "输入您的全名", "Enter Your Password": "输入您的密码", + "Enter Your Role": "", "Experimental": "实验性", "Export All Chats (All Users)": "导出所有聊天(所有用户)", "Export Chats": "导出聊天", diff --git a/src/lib/i18n/locales/zh-TW/translation.json b/src/lib/i18n/locales/zh-TW/translation.json index f8e6843b3..06896ce1c 100644 --- a/src/lib/i18n/locales/zh-TW/translation.json +++ b/src/lib/i18n/locales/zh-TW/translation.json @@ -166,6 +166,7 @@ "Enter Your Email": "輸入你的電子郵件", "Enter Your Full Name": "輸入你的全名", "Enter Your Password": "輸入你的密碼", + "Enter Your Role": "", "Experimental": "實驗功能", "Export All Chats (All Users)": "匯出所有聊天紀錄(所有使用者)", "Export Chats": "匯出聊天紀錄", diff --git a/src/routes/(app)/admin/+page.svelte b/src/routes/(app)/admin/+page.svelte index 9c14f1f30..bc09c0b30 100644 --- a/src/routes/(app)/admin/+page.svelte +++ b/src/routes/(app)/admin/+page.svelte @@ -165,23 +165,25 @@ />
- + + + + +
From 3431a9349968d848b0cfe029a0b50d3f0b6049df Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Wed, 1 May 2024 18:10:49 -0700 Subject: [PATCH 41/75] fix: safari styling --- src/routes/s/[id]/+page.svelte | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/routes/s/[id]/+page.svelte b/src/routes/s/[id]/+page.svelte index 2a2ed8ec6..6eb03300a 100644 --- a/src/routes/s/[id]/+page.svelte +++ b/src/routes/s/[id]/+page.svelte @@ -152,10 +152,7 @@
-