Merge branch 'open-webui:dev' into dev

This commit is contained in:
Classic298 2025-06-10 19:06:57 +02:00 committed by GitHub
commit 395c43c296
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
63 changed files with 132 additions and 43 deletions

View File

@ -5,6 +5,45 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.6.14] - 2025-06-10
### Added
- 🤖 **Automatic "Follow Up" Suggestions**: Open WebUI now intelligently generates actionable "Follow Up" suggestions automatically with each message you send, helping you stay productive and inspired without interrupting your flow; you can always disable this in Settings if you prefer a distraction-free experience.
- 🧩 **OpenAI-Compatible Embeddings Endpoint**: Introducing a fully OpenAI-style '/api/embeddings' endpoint—now you can plug in OpenAI-style embeddings workflows with zero hassle, making integrations with external tools and platforms seamless and familiar.
- ↗️ **Model Pinning for Quick Access**: Pin your favorite or most-used models to the sidebar for instant selection—no more scrolling through long model lists; your go-to models are always visible and ready for fast access.
- 📌 **Selector Model Item Menu**: Each model in the selector now features a menu where you can easily pin/unpin to the sidebar and copy a direct link—simplifying collaboration and staying organized in even the busiest environments.
- 🛑 **Reliable Stop for Ongoing Chats in Multi-Replica Setups**: Stopping or cancelling an in-progress chat now works reliably even in clustered deployments—ensuring every user can interrupt AI output at any time, no matter your scale.
- 🧠 **'Think' Parameter for Ollama Models**: Leverage new 'think' parameter support for Ollama—giving you advanced control over AI reasoning process and further tuning model behavior for your unique use cases.
- 💬 **Picture Description Modes for Docling**: Customize how images are described/extracted by Docling Loader for smarter, more detailed, and workflow-tailored image understanding in your document pipelines.
- 🛠 **Settings Modal Deep Linking**: Every tab in Settings now has its own route—making direct navigation and sharing of precise settings faster and more intuitive.
- 🎤 **Audio HTML Component Token**: Easily embed and play audio directly in your chats, improving voice-based workflows and making audio content instantly accessible and manageable from any conversation.
- 🔑 **Support for Secret Key File**: Now you can specify 'WEBUI_SECRET_KEY_FILE' for more secure and flexible key management—ideal for advanced deployments and tighter security standards.
- 💡 **Clarity When Cloning Prompts**: Cloned workspace prompts are clearly labelled with "(Clone)" and IDs have "-clone", keeping your prompt library organized and preventing accidental overwrites.
- 📝 **Dedicated User Role Edit Modal**: Updating user roles now reliably opens a dedicated edit user modal instead of cycling through roles—making it safer and more clear to manage team permissions.
- 🏞️ **Better Handling & Storage of Interpreter-Generated Images**: Code interpreter-generated images are now centrally stored and reliably loaded from the database or cloud storage, ensuring your artifacts are always available.
- 🚀 **Pinecone & Vector Search Optimizations**: Applied latest best practices from Pinecone for smarter timeouts, intelligent retry control, improved connection pooling, faster DNS, and concurrent batch handling—giving you more reliable, faster document search and RAG performance without manual tweaks.
- ⚙️ **Ollama Advanced Parameters Unified**: 'keep_alive' and 'format' options are now integrated into the advanced params section—edit everything from the model editor for flexible model control.
- 🛠️ **CUDA 12.6 Docker Image Support**: Deploy to NVIDIA GPUs with capability 7.0 and below (e.g., V100, GTX1080) via new cuda126 image—broadening your hardware options for scalable AI workloads.
- 🔒 **Experimental Table-Level PGVector Data Encryption**: Activate pgcrypto encryption support for pgvector to secure your vector search table contents, giving organizations enhanced compliance and data protection—perfect for enterprise or regulated environments.
- 👁 **Accessibility Upgrades Across Interface**: Chat buttons and close controls are now labelled and structured for optimal accessibility support, ensuring smoother operation with assistive technologies.
- 🎨 **High-Contrast Mode Expansions**: High-contrast accessibility mode now also applies to menu items, tabs, and search input fields, offering a more readable experience for all users.
- 🛠️ **Tooltip & Translation Clarity**: Improved translation and tooltip clarity, especially over radio buttons, making the UI more understandable for all users.
- 🔠 **Global Localization & Translation Improvements**: Hefty upgrades to Traditional Chinese, Simplified Chinese, Hebrew, Russian, Irish, German, and Danish translation packs—making the platform feel native and intuitive for even more users worldwide.
- ⚡ **General Backend Stability & Security Enhancements**: Refined numerous backend routines to minimize memory use, improve performance, and streamline integration with external APIs—making the entire platform more robust and secure for daily work.
### Fixed
- 🏷 **Feedback Score Display Improved**: Addressed overflow and visibility issues with feedback scores for more readable and accessible evaluations.
- 🗂 **Admin Settings Model Edits Apply Immediately**: Changes made in the Model Editor within Admin Settings now take effect instantly, eliminating confusion during model management.
- 🔄 **Assigned Tools Update Instantly on New Chats**: Models assigned with specific tools now consistently update and are available in every new chat—making tool workflows more predictable and robust.
- 🛠 **Document Settings Saved Only on User Action**: Document settings now save only when you press the Save button, reducing accidental changes and ensuring greater control.
- 🔊 **Voice Recording on Older iOS Devices Restored**: Voice input is now fully functional on older iOS devices, keeping voice workflows accessible to all users.
- 🔒 **Trusted Email Header Session Security**: User sessions now strictly verify the trusted email header matches the logged-in user's email, ensuring secure authentication and preventing accidental session switching.
- 🔒 **Consistent User Signout on Email Mismatch**: When the trusted email in the header changes, you will now be properly signed out and redirected, safeguarding your session's integrity.
- 🛠 **General Error & Content Validation Improvements**: Smarter error handling means clearer messages and fewer unnecessary retries—making batch uploads, document handling, and knowledge indexing more resilient.
- 🕵️ **Better Feedback on Chat Title Edits**: Error messages now show clearly if problems occur while editing chat titles.
## [0.6.13] - 2025-05-30
### Added

View File

@ -370,7 +370,7 @@ class UsersTable:
except Exception:
return False
def update_user_api_key_by_id(self, id: str, api_key: str) -> str:
def update_user_api_key_by_id(self, id: str, api_key: str) -> bool:
try:
with get_db() as db:
result = db.query(User).filter_by(id=id).update({"api_key": api_key})

View File

@ -1290,11 +1290,7 @@ async def generate_chat_completion(
if params:
system = params.pop("system", None)
# Unlike OpenAI, Ollama does not support params directly in the body
payload["options"] = apply_model_params_to_body_ollama(
params, (payload.get("options", {}) or {})
)
payload = apply_model_params_to_body_ollama(params, payload)
payload = apply_model_system_prompt_to_body(system, payload, metadata, user)
# Check if user has access to the model

View File

@ -196,7 +196,11 @@ def apply_model_params_to_body_ollama(params: dict, form_data: dict) -> dict:
form_data[key] = value(param)
del params[key]
return apply_model_params_to_body(params, form_data, mappings)
# Unlike OpenAI, Ollama does not support params directly in the body
form_data["options"] = apply_model_params_to_body(
params, (form_data.get("options", {}) or {}), mappings
)
return form_data
def convert_messages_openai_to_ollama(messages: list[dict]) -> list[dict]:

View File

@ -14,7 +14,6 @@ aiocache
aiofiles
starlette-compress==1.6.0
sqlalchemy==2.0.38
alembic==1.14.0
peewee==3.18.1

View File

@ -7,7 +7,7 @@ authors = [
license = { file = "LICENSE" }
dependencies = [
"fastapi==0.115.7",
"uvicorn[standard]==0.34.0",
"uvicorn[standard]==0.34.2",
"pydantic==2.10.6",
"python-multipart==0.0.20",
@ -20,7 +20,6 @@ dependencies = [
"async-timeout",
"aiocache",
"aiofiles",
"starlette-compress==1.6.0",
"sqlalchemy==2.0.38",
@ -83,13 +82,13 @@ dependencies = [
"openpyxl==3.1.5",
"pyxlsb==1.0.10",
"xlrd==2.0.1",
"validators==0.34.0",
"validators==0.35.0",
"psutil",
"sentencepiece",
"soundfile==0.13.1",
"azure-ai-documentintelligence==1.0.0",
"azure-ai-documentintelligence==1.0.2",
"pillow==11.1.0",
"pillow==11.2.1",
"opencv-python-headless==4.11.0.86",
"rapidocr-onnxruntime==1.4.4",
"rank-bm25==0.2.2",

View File

@ -75,6 +75,8 @@
};
const init = async () => {
models = null;
workspaceModels = await getBaseModels(localStorage.token);
baseModels = await getModels(localStorage.token, null, true);
@ -126,6 +128,7 @@
toast.success($i18n.t('Model updated successfully'));
}
}
await init();
_models.set(
await getModels(
@ -133,7 +136,6 @@
$config?.features?.enable_direct_connections && ($settings?.directConnections ?? null)
)
);
await init();
};
const toggleModelHandler = async (model) => {

View File

@ -101,7 +101,7 @@
<div class="flex-1">
<select
class="w-full rounded-sm text-sm bg-transparent disabled:text-gray-500 dark:disabled:text-gray-500 outline-hidden"
class="w-full dark:bg-gray-900 rounded-sm text-sm bg-transparent disabled:text-gray-500 dark:disabled:text-gray-500 outline-hidden"
bind:value={_user.role}
disabled={_user.id == sessionUser.id}
required

View File

@ -96,6 +96,7 @@
use_mlock: params.use_mlock !== null ? params.use_mlock : undefined,
num_thread: params.num_thread !== null ? params.num_thread : undefined,
num_gpu: params.num_gpu !== null ? params.num_gpu : undefined,
think: params.think !== null ? params.think : undefined,
keep_alive: params.keep_alive !== null ? params.keep_alive : undefined,
format: params.format !== null ? params.format : undefined
}

View File

@ -16,6 +16,7 @@
import User from '../icons/User.svelte';
import Personalization from './Settings/Personalization.svelte';
import Search from '../icons/Search.svelte';
import XMark from '../icons/XMark.svelte';
import Connections from './Settings/Connections.svelte';
import Tools from './Settings/Tools.svelte';
@ -541,21 +542,13 @@
<div class=" flex justify-between dark:text-gray-300 px-5 pt-4 pb-1">
<div class=" text-lg font-medium self-center">{$i18n.t('Settings')}</div>
<button
aria-label={$i18n.t('Close settings modal')}
class="self-center"
on:click={() => {
show = false;
}}
>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 20 20"
fill="currentColor"
class="w-5 h-5"
>
<path
d="M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z"
/>
</svg>
<XMark className="w-5 h-5"></XMark>
</button>
</div>
@ -873,11 +866,13 @@
{/if}
{#if $user?.role === 'admin'}
<button
<a
href="/admin/settings"
class="px-0.5 py-1 min-w-fit rounded-lg flex-1 md:flex-none md:mt-auto flex text-left transition {$settings?.highContrastMode
? 'hover:bg-gray-200 dark:hover:bg-gray-800'
: 'text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white'}"
on:click={async () => {
on:click={async (e) => {
e.preventDefault();
await goto('/admin/settings');
show = false;
}}
@ -887,6 +882,7 @@
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
fill="currentColor"
aria-hidden="true"
class="size-4"
>
<path
@ -897,7 +893,7 @@
</svg>
</div>
<div class=" self-center">{$i18n.t('Admin Settings')}</div>
</button>
</a>
{/if}
</div>
<div class="flex-1 md:min-h-[32rem] max-h-[32rem]">

View File

@ -7,6 +7,7 @@
xmlns="http://www.w3.org/2000/svg"
fill="none"
viewBox="0 0 24 24"
aria-hidden="true"
stroke-width={strokeWidth}
stroke="currentColor"
class={className}

View File

@ -209,6 +209,7 @@
"Clone Chat": "",
"Clone of {{TITLE}}": "",
"Close": "أغلق",
"Close settings modal": "",
"Code execution": "",
"Code Execution": "",
"Code Execution Engine": "",

View File

@ -209,6 +209,7 @@
"Clone Chat": "استنساخ المحادثة",
"Clone of {{TITLE}}": "استنساخ لـ {{TITLE}}",
"Close": "إغلاق",
"Close settings modal": "",
"Code execution": "تنفيذ الشيفرة",
"Code Execution": "تنفيذ الشيفرة",
"Code Execution Engine": "محرك تنفيذ الشيفرة",

View File

@ -209,6 +209,7 @@
"Clone Chat": "Клониране на чат",
"Clone of {{TITLE}}": "Клонинг на {{TITLE}}",
"Close": "Затвори",
"Close settings modal": "",
"Code execution": "Изпълнение на код",
"Code Execution": "Изпълнение на код",
"Code Execution Engine": "Двигател за изпълнение на кода",

View File

@ -209,6 +209,7 @@
"Clone Chat": "",
"Clone of {{TITLE}}": "",
"Close": "বন্ধ",
"Close settings modal": "",
"Code execution": "",
"Code Execution": "",
"Code Execution Engine": "",

View File

@ -209,6 +209,7 @@
"Clone Chat": "ཁ་བརྡ་འདྲ་བཟོ།",
"Clone of {{TITLE}}": "{{TITLE}} ཡི་འདྲ་བཟོ།",
"Close": "ཁ་རྒྱག་པ།",
"Close settings modal": "",
"Code execution": "ཀོཌ་ལག་བསྟར།",
"Code Execution": "ཀོཌ་ལག་བསྟར།",
"Code Execution Engine": "ཀོཌ་ལག་བསྟར་འཕྲུལ་འཁོར།",

View File

@ -209,6 +209,7 @@
"Clone Chat": "Clonar el xat",
"Clone of {{TITLE}}": "Clon de {{TITLE}}",
"Close": "Tancar",
"Close settings modal": "",
"Code execution": "Execució de codi",
"Code Execution": "Excució de Codi",
"Code Execution Engine": "Motor d'execució de codi",

View File

@ -209,6 +209,7 @@
"Clone Chat": "",
"Clone of {{TITLE}}": "",
"Close": "Suod nga",
"Close settings modal": "",
"Code execution": "",
"Code Execution": "",
"Code Execution Engine": "",

View File

@ -209,6 +209,7 @@
"Clone Chat": "",
"Clone of {{TITLE}}": "",
"Close": "Zavřít",
"Close settings modal": "",
"Code execution": "Provádění kódu",
"Code Execution": "",
"Code Execution Engine": "",

View File

@ -209,6 +209,7 @@
"Clone Chat": "Klon chat",
"Clone of {{TITLE}}": "Klon af {{TITLE}}",
"Close": "Luk",
"Close settings modal": "Luk dialogboks med indstillinger",
"Code execution": "Kode kørsel",
"Code Execution": "Kode kørsel",
"Code Execution Engine": "Kode kørsel engine",

View File

@ -35,7 +35,7 @@
"Add Connection": "Verbindung hinzufügen",
"Add Content": "Inhalt hinzufügen",
"Add content here": "Inhalt hier hinzufügen",
"Add Custom Parameter": "",
"Add Custom Parameter": "Benutzerdefinierten Parameter hinzufügen",
"Add custom prompt": "Benutzerdefinierten Prompt hinzufügen",
"Add Files": "Dateien hinzufügen",
"Add Group": "Gruppe hinzufügen",
@ -209,6 +209,7 @@
"Clone Chat": "Konversation klonen",
"Clone of {{TITLE}}": "Klon von {{TITLE}}",
"Close": "Schließen",
"Close settings modal": "",
"Code execution": "Codeausführung",
"Code Execution": "Codeausführung",
"Code Execution Engine": "Programm zur Codeausführung",
@ -254,7 +255,7 @@
"Controls": "Steuerung",
"Controls the balance between coherence and diversity of the output. A lower value will result in more focused and coherent text.": "",
"Copied": "Kopiert",
"Copied link to clipboard": "",
"Copied link to clipboard": "Link in Zwischenablage kopiert",
"Copied shared chat URL to clipboard!": "Freigabelink in die Zwischenablage kopiert!",
"Copied to clipboard": "In die Zwischenablage kopiert",
"Copy": "Kopieren",
@ -563,7 +564,7 @@
"Export Functions": "Funktionen exportieren",
"Export Models": "Modelle exportieren",
"Export Presets": "Voreinstellungen exportieren",
"Export Prompt Suggestions": "",
"Export Prompt Suggestions": "Prompt Vorschläge exportieren",
"Export Prompts": "Prompts exportieren",
"Export to CSV": "Als CSV exportieren",
"Export Tools": "Werkzeuge exportieren",
@ -576,7 +577,7 @@
"External Web Search URL": "Externe Websuche URL",
"Failed to add file.": "Fehler beim Hinzufügen der Datei.",
"Failed to connect to {{URL}} OpenAPI tool server": "Verbindung zum OpenAPI-Toolserver {{URL}} fehlgeschlagen",
"Failed to copy link": "",
"Failed to copy link": "Fehler beim kopieren des Links",
"Failed to create API Key.": "Fehler beim Erstellen des API-Schlüssels.",
"Failed to delete note": "Notiz konnte nicht gelöscht werden",
"Failed to fetch models": "Fehler beim Abrufen der Modelle",
@ -618,7 +619,7 @@
"Follow Up Generation Prompt": "",
"Follow-Up Auto-Generation": "",
"Followed instructions perfectly": "Anweisungen perfekt befolgt",
"Force OCR": "",
"Force OCR": "OCR erzwingen",
"Force OCR on all pages of the PDF. This can lead to worse results if you have good text in your PDFs. Defaults to False.": "",
"Forge new paths": "Neue Wege beschreiten",
"Form": "Formular",
@ -631,7 +632,7 @@
"Function deleted successfully": "Funktion erfolgreich gelöscht",
"Function Description": "Funktionsbeschreibung",
"Function ID": "Funktions-ID",
"Function imported successfully": "",
"Function imported successfully": "Funktion erfolgreich importiert",
"Function is now globally disabled": "Die Funktion ist jetzt global deaktiviert",
"Function is now globally enabled": "Die Funktion ist jetzt global aktiviert",
"Function Name": "Funktionsname",
@ -693,15 +694,15 @@
"Image Prompt Generation Prompt": "Prompt für die Bild-Prompt-Generierung",
"Image Settings": "Bildeinstellungen",
"Images": "Bilder",
"Import": "",
"Import": "Importieren",
"Import Chats": "Chats importieren",
"Import Config from JSON File": "Konfiguration aus JSON-Datei importieren",
"Import From Link": "",
"Import From Link": "Von Link importieren",
"Import Functions": "Funktionen importieren",
"Import Models": "Modelle importieren",
"Import Notes": "Notizen importieren",
"Import Presets": "Voreinstellungen importieren",
"Import Prompt Suggestions": "",
"Import Prompt Suggestions": "Prompt Vorschläge importieren",
"Import Prompts": "Prompts importieren",
"Import Tools": "Werkzeuge importieren",
"Include": "Einschließen",
@ -717,7 +718,7 @@
"Interface": "Oberfläche",
"Invalid file content": "Ungültiger Dateiinhalt",
"Invalid file format.": "Ungültiges Dateiformat.",
"Invalid JSON file": "",
"Invalid JSON file": "Ungültige JSON Datei",
"Invalid Tag": "Ungültiger Tag",
"is typing...": "schreibt ...",
"January": "Januar",
@ -748,7 +749,7 @@
"Landing Page Mode": "Startseitenmodus",
"Language": "Sprache",
"Language Locales": "",
"Languages": "",
"Languages": "Sprachen",
"Last Active": "Zuletzt aktiv",
"Last Modified": "Zuletzt bearbeitet",
"Last reply": "Letzte Antwort",
@ -847,14 +848,14 @@
"Native": "Nativ",
"New Chat": "Neuer Chat",
"New Folder": "Neuer Ordner",
"New Function": "",
"New Function": "Neue Funktion",
"New Note": "Neue Notiz",
"New Password": "Neues Passwort",
"New Tool": "",
"New Tool": "Neues Werkzeug",
"new-channel": "neuer-kanal",
"Next message": "",
"No chats found for this user.": "",
"No chats found.": "",
"No chats found for this user.": "Keine Chats für diesen Nutzer gefunden.",
"No chats found.": "Keine Chats gefunden.",
"No content": "Kein Inhalt",
"No content found": "Kein Inhalt gefunden",
"No content found in file.": "Kein Inhalt in Datei gefunden.",

View File

@ -209,6 +209,7 @@
"Clone Chat": "",
"Clone of {{TITLE}}": "",
"Close": "Close",
"Close settings modal": "",
"Code execution": "",
"Code Execution": "",
"Code Execution Engine": "",

View File

@ -209,6 +209,7 @@
"Clone Chat": "",
"Clone of {{TITLE}}": "",
"Close": "Κλείσιμο",
"Close settings modal": "",
"Code execution": "Εκτέλεση κώδικα",
"Code Execution": "",
"Code Execution Engine": "",

View File

@ -209,6 +209,7 @@
"Clone Chat": "",
"Clone of {{TITLE}}": "",
"Close": "",
"Close settings modal": "",
"Code execution": "",
"Code Execution": "",
"Code Execution Engine": "",

View File

@ -209,6 +209,7 @@
"Clone Chat": "",
"Clone of {{TITLE}}": "",
"Close": "",
"Close settings modal": "",
"Code execution": "",
"Code Execution": "",
"Code Execution Engine": "",

View File

@ -209,6 +209,7 @@
"Clone Chat": "Clonar Chat",
"Clone of {{TITLE}}": "Clon de {{TITLE}}",
"Close": "Cerrar",
"Close settings modal": "",
"Code execution": "Ejecución de Código",
"Code Execution": "Ejecución de Código",
"Code Execution Engine": "Motor de Ejecución de Código",

View File

@ -209,6 +209,7 @@
"Clone Chat": "Klooni vestlus",
"Clone of {{TITLE}}": "{{TITLE}} koopia",
"Close": "Sulge",
"Close settings modal": "",
"Code execution": "Koodi täitmine",
"Code Execution": "Koodi täitmine",
"Code Execution Engine": "Koodi täitmise mootor",

View File

@ -209,6 +209,7 @@
"Clone Chat": "",
"Clone of {{TITLE}}": "",
"Close": "Itxi",
"Close settings modal": "",
"Code execution": "Kodearen exekuzioa",
"Code Execution": "",
"Code Execution Engine": "",

View File

@ -209,6 +209,7 @@
"Clone Chat": "کلون گفتگو",
"Clone of {{TITLE}}": "کلون {{TITLE}}",
"Close": "بسته",
"Close settings modal": "",
"Code execution": "اجرای کد",
"Code Execution": "اجرای کد",
"Code Execution Engine": "موتور اجرای کد",

View File

@ -209,6 +209,7 @@
"Clone Chat": "Kloonaa keskustelu",
"Clone of {{TITLE}}": "{{TITLE}} klooni",
"Close": "Sulje",
"Close settings modal": "",
"Code execution": "Koodin suoritus",
"Code Execution": "Koodin Suoritus",
"Code Execution Engine": "Koodin suoritusmoottori",

View File

@ -209,6 +209,7 @@
"Clone Chat": "",
"Clone of {{TITLE}}": "",
"Close": "Fermer",
"Close settings modal": "",
"Code execution": "",
"Code Execution": "",
"Code Execution Engine": "",

View File

@ -209,6 +209,7 @@
"Clone Chat": "Dupliquer le Chat",
"Clone of {{TITLE}}": "Dupliquat de {{TITLE}}",
"Close": "Fermer",
"Close settings modal": "",
"Code execution": "Exécution de code",
"Code Execution": "Exécution de code",
"Code Execution Engine": "Moteur d'execution de code",

View File

@ -209,6 +209,7 @@
"Clone Chat": "",
"Clone of {{TITLE}}": "",
"Close": "סגור",
"Close settings modal": "",
"Code execution": "הרצת קוד",
"Code Execution": "הרצת קוד",
"Code Execution Engine": "מנוע הרצת קוד",

View File

@ -209,6 +209,7 @@
"Clone Chat": "",
"Clone of {{TITLE}}": "",
"Close": "बंद करना",
"Close settings modal": "",
"Code execution": "",
"Code Execution": "",
"Code Execution Engine": "",

View File

@ -209,6 +209,7 @@
"Clone Chat": "",
"Clone of {{TITLE}}": "",
"Close": "Zatvori",
"Close settings modal": "",
"Code execution": "",
"Code Execution": "",
"Code Execution Engine": "",

View File

@ -209,6 +209,7 @@
"Clone Chat": "Beszélgetés klónozása",
"Clone of {{TITLE}}": "{{TITLE}} klónja",
"Close": "Bezárás",
"Close settings modal": "",
"Code execution": "Kód végrehajtás",
"Code Execution": "Kód végrehajtás",
"Code Execution Engine": "Kód végrehajtási motor",

View File

@ -209,6 +209,7 @@
"Clone Chat": "",
"Clone of {{TITLE}}": "",
"Close": "Tutup",
"Close settings modal": "",
"Code execution": "",
"Code Execution": "",
"Code Execution Engine": "",

View File

@ -209,6 +209,7 @@
"Clone Chat": "Comhrá Clón",
"Clone of {{TITLE}}": "Clón de {{TITLE}}",
"Close": "Dún",
"Close settings modal": "",
"Code execution": "Cód a fhorghníomhú",
"Code Execution": "Forghníomhú Cóid",
"Code Execution Engine": "Inneall Forghníomhaithe Cóid",

View File

@ -209,6 +209,7 @@
"Clone Chat": "",
"Clone of {{TITLE}}": "Clone di {{TITLE}}",
"Close": "Chiudi",
"Close settings modal": "",
"Code execution": "Esecuzione codice",
"Code Execution": "Esecuzione codice",
"Code Execution Engine": "Motore di esecuzione codice",

View File

@ -209,6 +209,7 @@
"Clone Chat": "チャットをクローン",
"Clone of {{TITLE}}": "{{TITLE}}のクローン",
"Close": "閉じる",
"Close settings modal": "",
"Code execution": "コードの実行",
"Code Execution": "コードの実行",
"Code Execution Engine": "コードの実行エンジン",

View File

@ -209,6 +209,7 @@
"Clone Chat": "",
"Clone of {{TITLE}}": "",
"Close": "დახურვა",
"Close settings modal": "",
"Code execution": "",
"Code Execution": "",
"Code Execution Engine": "",

View File

@ -209,6 +209,7 @@
"Clone Chat": "채팅 복제",
"Clone of {{TITLE}}": "{{TITLE}}의 복제본",
"Close": "닫기",
"Close settings modal": "",
"Code execution": "코드 실행",
"Code Execution": "코드 실행",
"Code Execution Engine": "코드 실행 엔진",

View File

@ -209,6 +209,7 @@
"Clone Chat": "",
"Clone of {{TITLE}}": "",
"Close": "Uždaryti",
"Close settings modal": "",
"Code execution": "",
"Code Execution": "",
"Code Execution Engine": "",

View File

@ -209,6 +209,7 @@
"Clone Chat": "",
"Clone of {{TITLE}}": "",
"Close": "Tutup",
"Close settings modal": "",
"Code execution": "",
"Code Execution": "",
"Code Execution Engine": "",

View File

@ -209,6 +209,7 @@
"Clone Chat": "Klone chat",
"Clone of {{TITLE}}": "Klone av {{TITLE}}",
"Close": "Lukk",
"Close settings modal": "",
"Code execution": "Kodekjøring",
"Code Execution": "Kodekjøring",
"Code Execution Engine": "Motor for kodekjøring",

View File

@ -209,6 +209,7 @@
"Clone Chat": "Kloon chat",
"Clone of {{TITLE}}": "Kloon van {{TITLE}}",
"Close": "Sluiten",
"Close settings modal": "",
"Code execution": "Code uitvoeren",
"Code Execution": "Code-uitvoer",
"Code Execution Engine": "Code-uitvoer engine",

View File

@ -209,6 +209,7 @@
"Clone Chat": "",
"Clone of {{TITLE}}": "",
"Close": "ਬੰਦ ਕਰੋ",
"Close settings modal": "",
"Code execution": "",
"Code Execution": "",
"Code Execution Engine": "",

View File

@ -209,6 +209,7 @@
"Clone Chat": "Sklonuj czat",
"Clone of {{TITLE}}": "Klon {{TITLE}}",
"Close": "Zamknij",
"Close settings modal": "",
"Code execution": "Wykonanie kodu",
"Code Execution": "Wykonanie kodu",
"Code Execution Engine": "Silnik wykonawczy kodu",

View File

@ -209,6 +209,7 @@
"Clone Chat": "",
"Clone of {{TITLE}}": "",
"Close": "Fechar",
"Close settings modal": "",
"Code execution": "Execução de código",
"Code Execution": "",
"Code Execution Engine": "",

View File

@ -209,6 +209,7 @@
"Clone Chat": "",
"Clone of {{TITLE}}": "",
"Close": "Fechar",
"Close settings modal": "",
"Code execution": "",
"Code Execution": "",
"Code Execution Engine": "",

View File

@ -209,6 +209,7 @@
"Clone Chat": "Clonează chat",
"Clone of {{TITLE}}": "",
"Close": "Închide",
"Close settings modal": "",
"Code execution": "Executarea codului",
"Code Execution": "",
"Code Execution Engine": "",

View File

@ -209,6 +209,7 @@
"Clone Chat": "Клонировать чат",
"Clone of {{TITLE}}": "Клон {{TITLE}}",
"Close": "Закрыть",
"Close settings modal": "",
"Code execution": "Исполнение кода",
"Code Execution": "Исполнение кода",
"Code Execution Engine": "Механизм исполнения кода",

View File

@ -209,6 +209,7 @@
"Clone Chat": "",
"Clone of {{TITLE}}": "",
"Close": "Zavrieť",
"Close settings modal": "",
"Code execution": "Vykonávanie kódu",
"Code Execution": "",
"Code Execution Engine": "",

View File

@ -209,6 +209,7 @@
"Clone Chat": "Клонирај ћаскање",
"Clone of {{TITLE}}": "",
"Close": "Затвори",
"Close settings modal": "",
"Code execution": "Извршавање кода",
"Code Execution": "",
"Code Execution Engine": "",

View File

@ -209,6 +209,7 @@
"Clone Chat": "Klona chatt",
"Clone of {{TITLE}}": "",
"Close": "Stäng",
"Close settings modal": "",
"Code execution": "",
"Code Execution": "",
"Code Execution Engine": "",

View File

@ -209,6 +209,7 @@
"Clone Chat": "",
"Clone of {{TITLE}}": "",
"Close": "ปิด",
"Close settings modal": "",
"Code execution": "",
"Code Execution": "",
"Code Execution Engine": "",

View File

@ -209,6 +209,7 @@
"Clone Chat": "",
"Clone of {{TITLE}}": "",
"Close": "",
"Close settings modal": "",
"Code execution": "",
"Code Execution": "",
"Code Execution Engine": "",

View File

@ -209,6 +209,7 @@
"Clone Chat": "Sohbeti Klonla",
"Clone of {{TITLE}}": "{{TITLE}}'ın kopyası",
"Close": "Kapat",
"Close settings modal": "",
"Code execution": "Kod yürütme",
"Code Execution": "Kod Çalıştırma",
"Code Execution Engine": "",

View File

@ -209,6 +209,7 @@
"Clone Chat": "Клонувати чат",
"Clone of {{TITLE}}": "Клон {{TITLE}}",
"Close": "Закрити",
"Close settings modal": "",
"Code execution": "Виконання коду",
"Code Execution": "Виконання коду",
"Code Execution Engine": "Рушій виконання коду",

View File

@ -209,6 +209,7 @@
"Clone Chat": "",
"Clone of {{TITLE}}": "",
"Close": "بند کریں",
"Close settings modal": "",
"Code execution": "کوڈ کا نفاذ",
"Code Execution": "",
"Code Execution Engine": "",

View File

@ -209,6 +209,7 @@
"Clone Chat": "Nhân bản Chat",
"Clone of {{TITLE}}": "Bản sao của {{TITLE}}",
"Close": "Đóng",
"Close settings modal": "",
"Code execution": "Thực thi mã",
"Code Execution": "Thực thi Mã",
"Code Execution Engine": "Engine Thực thi Mã",

View File

@ -209,6 +209,7 @@
"Clone Chat": "克隆对话",
"Clone of {{TITLE}}": "{{TITLE}} 的副本",
"Close": "关闭",
"Close settings modal": "",
"Code execution": "代码执行",
"Code Execution": "代码执行",
"Code Execution Engine": "代码执行引擎",

View File

@ -209,6 +209,7 @@
"Clone Chat": "複製對話",
"Clone of {{TITLE}}": "{{TITLE}} 的副本",
"Close": "關閉",
"Close settings modal": "",
"Code execution": "程式碼執行",
"Code Execution": "程式碼執行",
"Code Execution Engine": "程式碼執行引擎",