mirror of
https://github.com/open-webui/open-webui
synced 2025-06-23 02:16:52 +00:00
Merge branch 'open-webui:dev' into dev
This commit is contained in:
commit
395c43c296
39
CHANGELOG.md
39
CHANGELOG.md
@ -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
|
||||
|
@ -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})
|
||||
|
@ -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
|
||||
|
@ -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]:
|
||||
|
@ -14,7 +14,6 @@ aiocache
|
||||
aiofiles
|
||||
starlette-compress==1.6.0
|
||||
|
||||
|
||||
sqlalchemy==2.0.38
|
||||
alembic==1.14.0
|
||||
peewee==3.18.1
|
||||
|
@ -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",
|
||||
|
@ -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) => {
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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]">
|
||||
|
@ -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}
|
||||
|
@ -209,6 +209,7 @@
|
||||
"Clone Chat": "",
|
||||
"Clone of {{TITLE}}": "",
|
||||
"Close": "أغلق",
|
||||
"Close settings modal": "",
|
||||
"Code execution": "",
|
||||
"Code Execution": "",
|
||||
"Code Execution Engine": "",
|
||||
|
@ -209,6 +209,7 @@
|
||||
"Clone Chat": "استنساخ المحادثة",
|
||||
"Clone of {{TITLE}}": "استنساخ لـ {{TITLE}}",
|
||||
"Close": "إغلاق",
|
||||
"Close settings modal": "",
|
||||
"Code execution": "تنفيذ الشيفرة",
|
||||
"Code Execution": "تنفيذ الشيفرة",
|
||||
"Code Execution Engine": "محرك تنفيذ الشيفرة",
|
||||
|
@ -209,6 +209,7 @@
|
||||
"Clone Chat": "Клониране на чат",
|
||||
"Clone of {{TITLE}}": "Клонинг на {{TITLE}}",
|
||||
"Close": "Затвори",
|
||||
"Close settings modal": "",
|
||||
"Code execution": "Изпълнение на код",
|
||||
"Code Execution": "Изпълнение на код",
|
||||
"Code Execution Engine": "Двигател за изпълнение на кода",
|
||||
|
@ -209,6 +209,7 @@
|
||||
"Clone Chat": "",
|
||||
"Clone of {{TITLE}}": "",
|
||||
"Close": "বন্ধ",
|
||||
"Close settings modal": "",
|
||||
"Code execution": "",
|
||||
"Code Execution": "",
|
||||
"Code Execution Engine": "",
|
||||
|
@ -209,6 +209,7 @@
|
||||
"Clone Chat": "ཁ་བརྡ་འདྲ་བཟོ།",
|
||||
"Clone of {{TITLE}}": "{{TITLE}} ཡི་འདྲ་བཟོ།",
|
||||
"Close": "ཁ་རྒྱག་པ།",
|
||||
"Close settings modal": "",
|
||||
"Code execution": "ཀོཌ་ལག་བསྟར།",
|
||||
"Code Execution": "ཀོཌ་ལག་བསྟར།",
|
||||
"Code Execution Engine": "ཀོཌ་ལག་བསྟར་འཕྲུལ་འཁོར།",
|
||||
|
@ -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",
|
||||
|
@ -209,6 +209,7 @@
|
||||
"Clone Chat": "",
|
||||
"Clone of {{TITLE}}": "",
|
||||
"Close": "Suod nga",
|
||||
"Close settings modal": "",
|
||||
"Code execution": "",
|
||||
"Code Execution": "",
|
||||
"Code Execution Engine": "",
|
||||
|
@ -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": "",
|
||||
|
@ -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",
|
||||
|
@ -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.",
|
||||
|
@ -209,6 +209,7 @@
|
||||
"Clone Chat": "",
|
||||
"Clone of {{TITLE}}": "",
|
||||
"Close": "Close",
|
||||
"Close settings modal": "",
|
||||
"Code execution": "",
|
||||
"Code Execution": "",
|
||||
"Code Execution Engine": "",
|
||||
|
@ -209,6 +209,7 @@
|
||||
"Clone Chat": "",
|
||||
"Clone of {{TITLE}}": "",
|
||||
"Close": "Κλείσιμο",
|
||||
"Close settings modal": "",
|
||||
"Code execution": "Εκτέλεση κώδικα",
|
||||
"Code Execution": "",
|
||||
"Code Execution Engine": "",
|
||||
|
@ -209,6 +209,7 @@
|
||||
"Clone Chat": "",
|
||||
"Clone of {{TITLE}}": "",
|
||||
"Close": "",
|
||||
"Close settings modal": "",
|
||||
"Code execution": "",
|
||||
"Code Execution": "",
|
||||
"Code Execution Engine": "",
|
||||
|
@ -209,6 +209,7 @@
|
||||
"Clone Chat": "",
|
||||
"Clone of {{TITLE}}": "",
|
||||
"Close": "",
|
||||
"Close settings modal": "",
|
||||
"Code execution": "",
|
||||
"Code Execution": "",
|
||||
"Code Execution Engine": "",
|
||||
|
@ -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",
|
||||
|
@ -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",
|
||||
|
@ -209,6 +209,7 @@
|
||||
"Clone Chat": "",
|
||||
"Clone of {{TITLE}}": "",
|
||||
"Close": "Itxi",
|
||||
"Close settings modal": "",
|
||||
"Code execution": "Kodearen exekuzioa",
|
||||
"Code Execution": "",
|
||||
"Code Execution Engine": "",
|
||||
|
@ -209,6 +209,7 @@
|
||||
"Clone Chat": "کلون گفتگو",
|
||||
"Clone of {{TITLE}}": "کلون {{TITLE}}",
|
||||
"Close": "بسته",
|
||||
"Close settings modal": "",
|
||||
"Code execution": "اجرای کد",
|
||||
"Code Execution": "اجرای کد",
|
||||
"Code Execution Engine": "موتور اجرای کد",
|
||||
|
@ -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",
|
||||
|
@ -209,6 +209,7 @@
|
||||
"Clone Chat": "",
|
||||
"Clone of {{TITLE}}": "",
|
||||
"Close": "Fermer",
|
||||
"Close settings modal": "",
|
||||
"Code execution": "",
|
||||
"Code Execution": "",
|
||||
"Code Execution Engine": "",
|
||||
|
@ -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",
|
||||
|
@ -209,6 +209,7 @@
|
||||
"Clone Chat": "",
|
||||
"Clone of {{TITLE}}": "",
|
||||
"Close": "סגור",
|
||||
"Close settings modal": "",
|
||||
"Code execution": "הרצת קוד",
|
||||
"Code Execution": "הרצת קוד",
|
||||
"Code Execution Engine": "מנוע הרצת קוד",
|
||||
|
@ -209,6 +209,7 @@
|
||||
"Clone Chat": "",
|
||||
"Clone of {{TITLE}}": "",
|
||||
"Close": "बंद करना",
|
||||
"Close settings modal": "",
|
||||
"Code execution": "",
|
||||
"Code Execution": "",
|
||||
"Code Execution Engine": "",
|
||||
|
@ -209,6 +209,7 @@
|
||||
"Clone Chat": "",
|
||||
"Clone of {{TITLE}}": "",
|
||||
"Close": "Zatvori",
|
||||
"Close settings modal": "",
|
||||
"Code execution": "",
|
||||
"Code Execution": "",
|
||||
"Code Execution Engine": "",
|
||||
|
@ -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",
|
||||
|
@ -209,6 +209,7 @@
|
||||
"Clone Chat": "",
|
||||
"Clone of {{TITLE}}": "",
|
||||
"Close": "Tutup",
|
||||
"Close settings modal": "",
|
||||
"Code execution": "",
|
||||
"Code Execution": "",
|
||||
"Code Execution Engine": "",
|
||||
|
@ -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",
|
||||
|
@ -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",
|
||||
|
@ -209,6 +209,7 @@
|
||||
"Clone Chat": "チャットをクローン",
|
||||
"Clone of {{TITLE}}": "{{TITLE}}のクローン",
|
||||
"Close": "閉じる",
|
||||
"Close settings modal": "",
|
||||
"Code execution": "コードの実行",
|
||||
"Code Execution": "コードの実行",
|
||||
"Code Execution Engine": "コードの実行エンジン",
|
||||
|
@ -209,6 +209,7 @@
|
||||
"Clone Chat": "",
|
||||
"Clone of {{TITLE}}": "",
|
||||
"Close": "დახურვა",
|
||||
"Close settings modal": "",
|
||||
"Code execution": "",
|
||||
"Code Execution": "",
|
||||
"Code Execution Engine": "",
|
||||
|
@ -209,6 +209,7 @@
|
||||
"Clone Chat": "채팅 복제",
|
||||
"Clone of {{TITLE}}": "{{TITLE}}의 복제본",
|
||||
"Close": "닫기",
|
||||
"Close settings modal": "",
|
||||
"Code execution": "코드 실행",
|
||||
"Code Execution": "코드 실행",
|
||||
"Code Execution Engine": "코드 실행 엔진",
|
||||
|
@ -209,6 +209,7 @@
|
||||
"Clone Chat": "",
|
||||
"Clone of {{TITLE}}": "",
|
||||
"Close": "Uždaryti",
|
||||
"Close settings modal": "",
|
||||
"Code execution": "",
|
||||
"Code Execution": "",
|
||||
"Code Execution Engine": "",
|
||||
|
@ -209,6 +209,7 @@
|
||||
"Clone Chat": "",
|
||||
"Clone of {{TITLE}}": "",
|
||||
"Close": "Tutup",
|
||||
"Close settings modal": "",
|
||||
"Code execution": "",
|
||||
"Code Execution": "",
|
||||
"Code Execution Engine": "",
|
||||
|
@ -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",
|
||||
|
@ -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",
|
||||
|
@ -209,6 +209,7 @@
|
||||
"Clone Chat": "",
|
||||
"Clone of {{TITLE}}": "",
|
||||
"Close": "ਬੰਦ ਕਰੋ",
|
||||
"Close settings modal": "",
|
||||
"Code execution": "",
|
||||
"Code Execution": "",
|
||||
"Code Execution Engine": "",
|
||||
|
@ -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",
|
||||
|
@ -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": "",
|
||||
|
@ -209,6 +209,7 @@
|
||||
"Clone Chat": "",
|
||||
"Clone of {{TITLE}}": "",
|
||||
"Close": "Fechar",
|
||||
"Close settings modal": "",
|
||||
"Code execution": "",
|
||||
"Code Execution": "",
|
||||
"Code Execution Engine": "",
|
||||
|
@ -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": "",
|
||||
|
@ -209,6 +209,7 @@
|
||||
"Clone Chat": "Клонировать чат",
|
||||
"Clone of {{TITLE}}": "Клон {{TITLE}}",
|
||||
"Close": "Закрыть",
|
||||
"Close settings modal": "",
|
||||
"Code execution": "Исполнение кода",
|
||||
"Code Execution": "Исполнение кода",
|
||||
"Code Execution Engine": "Механизм исполнения кода",
|
||||
|
@ -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": "",
|
||||
|
@ -209,6 +209,7 @@
|
||||
"Clone Chat": "Клонирај ћаскање",
|
||||
"Clone of {{TITLE}}": "",
|
||||
"Close": "Затвори",
|
||||
"Close settings modal": "",
|
||||
"Code execution": "Извршавање кода",
|
||||
"Code Execution": "",
|
||||
"Code Execution Engine": "",
|
||||
|
@ -209,6 +209,7 @@
|
||||
"Clone Chat": "Klona chatt",
|
||||
"Clone of {{TITLE}}": "",
|
||||
"Close": "Stäng",
|
||||
"Close settings modal": "",
|
||||
"Code execution": "",
|
||||
"Code Execution": "",
|
||||
"Code Execution Engine": "",
|
||||
|
@ -209,6 +209,7 @@
|
||||
"Clone Chat": "",
|
||||
"Clone of {{TITLE}}": "",
|
||||
"Close": "ปิด",
|
||||
"Close settings modal": "",
|
||||
"Code execution": "",
|
||||
"Code Execution": "",
|
||||
"Code Execution Engine": "",
|
||||
|
@ -209,6 +209,7 @@
|
||||
"Clone Chat": "",
|
||||
"Clone of {{TITLE}}": "",
|
||||
"Close": "",
|
||||
"Close settings modal": "",
|
||||
"Code execution": "",
|
||||
"Code Execution": "",
|
||||
"Code Execution Engine": "",
|
||||
|
@ -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": "",
|
||||
|
@ -209,6 +209,7 @@
|
||||
"Clone Chat": "Клонувати чат",
|
||||
"Clone of {{TITLE}}": "Клон {{TITLE}}",
|
||||
"Close": "Закрити",
|
||||
"Close settings modal": "",
|
||||
"Code execution": "Виконання коду",
|
||||
"Code Execution": "Виконання коду",
|
||||
"Code Execution Engine": "Рушій виконання коду",
|
||||
|
@ -209,6 +209,7 @@
|
||||
"Clone Chat": "",
|
||||
"Clone of {{TITLE}}": "",
|
||||
"Close": "بند کریں",
|
||||
"Close settings modal": "",
|
||||
"Code execution": "کوڈ کا نفاذ",
|
||||
"Code Execution": "",
|
||||
"Code Execution Engine": "",
|
||||
|
@ -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ã",
|
||||
|
@ -209,6 +209,7 @@
|
||||
"Clone Chat": "克隆对话",
|
||||
"Clone of {{TITLE}}": "{{TITLE}} 的副本",
|
||||
"Close": "关闭",
|
||||
"Close settings modal": "",
|
||||
"Code execution": "代码执行",
|
||||
"Code Execution": "代码执行",
|
||||
"Code Execution Engine": "代码执行引擎",
|
||||
|
@ -209,6 +209,7 @@
|
||||
"Clone Chat": "複製對話",
|
||||
"Clone of {{TITLE}}": "{{TITLE}} 的副本",
|
||||
"Close": "關閉",
|
||||
"Close settings modal": "",
|
||||
"Code execution": "程式碼執行",
|
||||
"Code Execution": "程式碼執行",
|
||||
"Code Execution Engine": "程式碼執行引擎",
|
||||
|
Loading…
Reference in New Issue
Block a user