Merge pull request #16859 from open-webui/dev

0.6.26
This commit is contained in:
Tim Jaeryang Baek 2025-08-28 14:40:19 +04:00 committed by GitHub
commit 2407d9b905
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
113 changed files with 2614 additions and 1405 deletions

View File

@ -419,6 +419,108 @@ jobs:
if-no-files-found: error
retention-days: 1
build-slim-image:
runs-on: ${{ matrix.runner }}
permissions:
contents: read
packages: write
strategy:
fail-fast: false
matrix:
include:
- platform: linux/amd64
runner: ubuntu-latest
- platform: linux/arm64
runner: ubuntu-24.04-arm
steps:
# GitHub Packages requires the entire repository name to be in lowercase
# although the repository owner has a lowercase username, this prevents some people from running actions after forking
- name: Set repository and image name to lowercase
run: |
echo "IMAGE_NAME=${IMAGE_NAME,,}" >>${GITHUB_ENV}
echo "FULL_IMAGE_NAME=ghcr.io/${IMAGE_NAME,,}" >>${GITHUB_ENV}
env:
IMAGE_NAME: '${{ github.repository }}'
- name: Prepare
run: |
platform=${{ matrix.platform }}
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to the Container registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata for Docker images (slim tag)
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.FULL_IMAGE_NAME }}
tags: |
type=ref,event=branch
type=ref,event=tag
type=sha,prefix=git-
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=raw,enable=${{ github.ref == 'refs/heads/main' }},prefix=,suffix=,value=slim
flavor: |
latest=${{ github.ref == 'refs/heads/main' }}
suffix=-slim,onlatest=true
- name: Extract metadata for Docker cache
id: cache-meta
uses: docker/metadata-action@v5
with:
images: ${{ env.FULL_IMAGE_NAME }}
tags: |
type=ref,event=branch
${{ github.ref_type == 'tag' && 'type=raw,value=main' || '' }}
flavor: |
prefix=cache-slim-${{ matrix.platform }}-
latest=false
- name: Build Docker image (slim)
uses: docker/build-push-action@v5
id: build
with:
context: .
push: true
platforms: ${{ matrix.platform }}
labels: ${{ steps.meta.outputs.labels }}
outputs: type=image,name=${{ env.FULL_IMAGE_NAME }},push-by-digest=true,name-canonical=true,push=true
cache-from: type=registry,ref=${{ steps.cache-meta.outputs.tags }}
cache-to: type=registry,ref=${{ steps.cache-meta.outputs.tags }},mode=max
build-args: |
BUILD_HASH=${{ github.sha }}
USE_SLIM=true
- name: Export digest
run: |
mkdir -p /tmp/digests
digest="${{ steps.build.outputs.digest }}"
touch "/tmp/digests/${digest#sha256:}"
- name: Upload digest
uses: actions/upload-artifact@v4
with:
name: digests-slim-${{ env.PLATFORM_PAIR }}
path: /tmp/digests/*
if-no-files-found: error
retention-days: 1
merge-main-images:
runs-on: ubuntu-latest
needs: [build-main-image]
@ -640,3 +742,59 @@ jobs:
- name: Inspect image
run: |
docker buildx imagetools inspect ${{ env.FULL_IMAGE_NAME }}:${{ steps.meta.outputs.version }}
merge-slim-images:
runs-on: ubuntu-latest
needs: [build-slim-image]
steps:
# GitHub Packages requires the entire repository name to be in lowercase
# although the repository owner has a lowercase username, this prevents some people from running actions after forking
- name: Set repository and image name to lowercase
run: |
echo "IMAGE_NAME=${IMAGE_NAME,,}" >>${GITHUB_ENV}
echo "FULL_IMAGE_NAME=ghcr.io/${IMAGE_NAME,,}" >>${GITHUB_ENV}
env:
IMAGE_NAME: '${{ github.repository }}'
- name: Download digests
uses: actions/download-artifact@v4
with:
pattern: digests-slim-*
path: /tmp/digests
merge-multiple: true
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to the Container registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata for Docker images (default slim tag)
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.FULL_IMAGE_NAME }}
tags: |
type=ref,event=branch
type=ref,event=tag
type=sha,prefix=git-
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=raw,enable=${{ github.ref == 'refs/heads/main' }},prefix=,suffix=,value=slim
flavor: |
latest=${{ github.ref == 'refs/heads/main' }}
suffix=-slim,onlatest=true
- name: Create manifest list and push
working-directory: /tmp/digests
run: |
docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
$(printf '${{ env.FULL_IMAGE_NAME }}@sha256:%s ' *)
- name: Inspect image
run: |
docker buildx imagetools inspect ${{ env.FULL_IMAGE_NAME }}:${{ steps.meta.outputs.version }}

View File

@ -5,6 +5,47 @@ 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.26] - 2025-08-28
### Added
- 🛂 **Granular Chat Interaction Permissions**: Added fine-grained permission controls for individual chat actions including "Continue Response", "Regenerate Response", "Rate Response", and "Delete Messages". Administrators can now configure these permissions per user group or set system defaults via environment variables, providing enhanced security and governance by preventing potential system prompt leakage through response continuation and enabling precise control over user interactions with AI responses.
- 🧠 **Custom Reasoning Tags Configuration**: Added configurable reasoning tag detection for AI model responses, allowing administrators and users to customize how the system identifies and processes reasoning content. Users can now define custom reasoning tag pairs, use default tags like "think" and "reasoning", or disable reasoning detection entirely through the Advanced Parameters interface, providing enhanced control over AI thought process visibility.
- 📱 **Pull-to-Refresh SupportA**: Added pull-to-refresh functionality allowing user to easily refresh the interface by pulling down on the navbar area. This resolves timeout issues that occurred when temporarily switching away from the app during long AI response generations, eliminating the need to close and relaunch the PWA.
- 📁 **Configurable File Upload Processing Mode**: Added "process_in_background" query parameter to the file upload API endpoint, allowing clients to choose between asynchronous (default) and synchronous file processing. Setting "process_in_background=false" forces the upload request to wait until extraction and embedding complete, returning immediately usable files and simplifying integration for backend API consumers that prefer blocking calls over polling workflows.
- 🔐 **Azure Document Intelligence DefaultAzureCredential Support**: Added support for authenticating with Azure Document Intelligence using DefaultAzureCredential in addition to API key authentication, enabling seamless integration with Azure Entra ID and managed identity authentication for enterprise Azure environments.
- 🔐 **Authentication Bootstrapping Enhancements**: Added "ENABLE_INITIAL_ADMIN_SIGNUP" environment variable and "?form=true" URL parameter to enable initial admin user creation and forced login form display in SSO-only deployments. This resolves bootstrap issues where administrators couldn't create the first user when login forms were disabled, allowing proper initialization of SSO-configured deployments without requiring temporary configuration changes.
- ⚡ **Query Generation Caching**: Added "ENABLE_QUERIES_CACHE" environment variable to enable request-scoped caching of generated search queries. When both web search and file retrieval are active, queries generated for web search are automatically reused for file retrieval, eliminating duplicate LLM API calls and reducing token usage and costs while maintaining search quality.
- 🔧 **Configurable Tool Call Retry Limit**: Added "CHAT_RESPONSE_MAX_TOOL_CALL_RETRIES" environment variable to control the maximum number of sequential tool calls allowed before safety stopping a chat session. This replaces the previous hardcoded limit of 10, enabling administrators to configure higher limits for complex workflows requiring extensive tool interactions.
- 📦 **Slim Docker Image Variant**: Added new slim Docker image option via "USE_SLIM" build argument that excludes embedded AI models and Ollama installation, reducing image size by approximately 1GB. This variant enables faster image pulls and deployments for environments where AI models are managed externally, particularly beneficial for auto-scaling clusters and distributed deployments.
- 🗂️ **Shift-to-Delete Functionality for Workspace Prompts**: Added keyboard shortcut support for quick prompt deletion on the Workspace Prompts page. Hold Shift and hover over any prompt to reveal a trash icon for instant deletion, bringing consistent interaction patterns across all workspace sections (Models, Tools, Functions, and now Prompts) and streamlining prompt management workflows.
- ♿ **Accessibility Enhancements**: Enhanced user interface accessibility with improved keyboard navigation, ARIA labels, and screen reader compatibility across key platform components.
- 📄 **Optimized PDF Export for Smaller File Size**: PDF exports are now significantly optimized, producing much smaller files for faster downloads and easier sharing or archiving of your chats and documents.
- 📦 **Slimmed Default Install with Optional Full Dependencies**: Installing Open WebUI via pip now defaults to a slimmer package; PostgreSQL support is no longer included by default—simply use 'pip install open-webui[all]' to include all optional dependencies for full feature compatibility.
- 🔄 **General Backend Refactoring**: Implemented various backend improvements to enhance performance, stability, and security, ensuring a more resilient and reliable platform for all users.
- 🌐 **Localization & Internationalization Improvements**: Enhanced and expanded translations for Finnish, Spanish, Japanese, Polish, Portuguese (Brazil), and Chinese, including missing translations and typo corrections, providing a more natural and professional user experience for speakers of these languages across the entire interface.
### Fixed
- ⚠️ **Chat Error Feedback Restored**: Fixed an issue where various backend errors (tool server failures, API connection issues, malformed responses) would cause chats to load indefinitely without providing user feedback. The system now properly displays error messages when failures occur during chat generation, allowing users to understand issues and retry as needed instead of waiting indefinitely.
- 🖼️ **Image Generation Steps Setting Visibility Fixed**: Fixed a UI issue where the "Set Steps" configuration option was incorrectly displayed for OpenAI and Gemini image generation engines that don't support this parameter. The setting is now only visible for compatible engines like ComfyUI and Automatic1111, eliminating user confusion about non-functional configuration options.
- 📄 **Datalab Marker API Document Loader Fixed**: Fixed broken Datalab Marker API document loader functionality by correcting URL path handling for both hosted Datalab services and self-hosted Marker servers. Removed hardcoded "/marker" paths from the loader code and restored proper default URL structure, ensuring PDF and document processing works correctly with both deployment types.
- 📋 **Citation Error Handling Improved**: Fixed an issue where malformed citation or source objects from external tools, pipes, or filters would cause JavaScript errors and make the chat interface completely unresponsive. The system now gracefully handles missing or undefined citation properties, allowing conversations to load properly even when tools generate defective citation events.
- 👥 **Group User Add API Endpoint Fixed**: Fixed an issue where the "/api/v1/groups/id/{group_id}/users/add" API endpoint would accept requests without errors but fail to actually add users to groups. The system now properly initializes and deduplicates user ID lists, ensuring users are correctly added to and removed from groups via API calls.
- 🛠️ **External Tool Server Error Handling Improved**: Fixed an issue where unreachable or misconfigured external tool servers would cause JavaScript errors and prevent the interface from loading properly. The system now gracefully handles connection failures, displays appropriate error messages, and filters out inaccessible servers while maintaining full functionality for working connections.
- 📋 **Code Block Copy Button Content Fixed**: Fixed an issue where the copy button in code blocks would copy the original AI-generated code instead of any user-edited content, ensuring the copy function always captures the currently displayed code as modified by users.
- 📄 **PDF Export Content Mismatch Fixed**: Resolved an issue where exporting a PDF of one chat while viewing another chat would incorrectly generate the PDF using the currently viewed chat's content instead of the intended chat's content. Additionally optimized the PDF generation algorithm with improved canvas slicing, better memory management, and enhanced image quality, while removing the problematic PDF export option from individual chat menus to prevent further confusion.
- 🖱️ **Windows Sidebar Cursor Icon Corrected**: Fixed confusing cursor icons on Windows systems where sidebar toggle buttons displayed resize cursors (ew-resize) instead of appropriate pointer cursors. The sidebar buttons now show standard pointer cursors on Windows, eliminating user confusion about whether the buttons expand/collapse the sidebar or resize it.
- 📝 **Safari IME Composition Bug Fixed**: Resolved an issue where pressing Enter while composing Chinese text using Input Method Editors (IMEs) on Safari would prematurely send messages instead of completing text composition. The system now properly detects composition states and ignores keydown events that occur immediately after composition ends, ensuring smooth multilingual text input across all browsers.
- 🔍 **Hybrid Search Parameter Handling Fixed**: Fixed an issue where the "hybrid" parameter in collection query requests was not being properly evaluated, causing the system to ignore user-specified hybrid search preferences and only check global configuration. Additionally resolved a division by zero error that occurred in hybrid search when BM25Retriever was called with empty document lists, ensuring robust search functionality across all collection states.
- 💬 **RTL Text Orientation in Messages Fixed**: Fixed text alignment issues in user messages and AI responses for Right-to-Left languages, ensuring proper text direction based on user language settings. Code blocks now consistently use Left-to-Right orientation regardless of the user's language preference, maintaining code readability across all supported languages.
- 📁 **File Content Preview in Modal Restored**: Fixed an issue where clicking on uploaded files would display an empty preview modal, even when the files were successfully processed and available for AI context. File content now displays correctly in the preview modal, ensuring users can verify and review their uploaded documents as intended.
- 🌐 **Playwright Timeout Configuration Corrected**: Fixed an issue where Playwright timeout values were incorrectly converted from milliseconds to seconds with an additional 1000x multiplier, causing excessively long web loading timeouts. The timeout parameter now correctly uses the configured millisecond values as intended, ensuring responsive web search and document loading operations.
### Changed
- 🔄 **Follow-Up Question Language Constraint Removed**: Follow-up question suggestions no longer strictly adhere to the chat's primary language setting, allowing for more flexible and diverse suggestion generation that may include questions in different languages based on conversation context and relevance rather than enforced language matching.
## [0.6.25] - 2025-08-22
### Fixed

View File

@ -3,6 +3,7 @@
# use build args in the docker build command with --build-arg="BUILDARG=true"
ARG USE_CUDA=false
ARG USE_OLLAMA=false
ARG USE_SLIM=false
# Tested with cu117 for CUDA 11 and cu121 for CUDA 12 (default)
ARG USE_CUDA_VER=cu128
# any sentence transformer model; models to use can be found at https://huggingface.co/models?library=sentence-transformers
@ -43,6 +44,7 @@ FROM python:3.11-slim-bookworm AS base
ARG USE_CUDA
ARG USE_OLLAMA
ARG USE_CUDA_VER
ARG USE_SLIM
ARG USE_EMBEDDING_MODEL
ARG USE_RERANKING_MODEL
ARG UID
@ -54,6 +56,7 @@ ENV ENV=prod \
# pass build args to the build
USE_OLLAMA_DOCKER=${USE_OLLAMA} \
USE_CUDA_DOCKER=${USE_CUDA} \
USE_SLIM_DOCKER=${USE_SLIM} \
USE_CUDA_DOCKER_VER=${USE_CUDA_VER} \
USE_EMBEDDING_MODEL_DOCKER=${USE_EMBEDDING_MODEL} \
USE_RERANKING_MODEL_DOCKER=${USE_RERANKING_MODEL}
@ -120,6 +123,7 @@ RUN apt-get update && \
COPY --chown=$UID:$GID ./backend/requirements.txt ./requirements.txt
RUN pip3 install --no-cache-dir uv && \
if [ "$USE_SLIM" != "true" ]; then \
if [ "$USE_CUDA" = "true" ]; then \
# If you use CUDA the whisper and embedding model will be downloaded on first use
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/$USE_CUDA_DOCKER_VER --no-cache-dir && \
@ -134,10 +138,13 @@ RUN pip3 install --no-cache-dir uv && \
python -c "import os; from faster_whisper import WhisperModel; WhisperModel(os.environ['WHISPER_MODEL'], device='cpu', compute_type='int8', download_root=os.environ['WHISPER_MODEL_DIR'])"; \
python -c "import os; import tiktoken; tiktoken.get_encoding(os.environ['TIKTOKEN_ENCODING_NAME'])"; \
fi; \
chown -R $UID:$GID /app/backend/data/
else \
uv pip install --system -r requirements.txt --no-cache-dir; \
fi; \
mkdir -p /app/backend/data && chown -R $UID:$GID /app/backend/data/
# Install Ollama if requested
RUN if [ "$USE_OLLAMA" = "true" ]; then \
RUN if [ "$USE_OLLAMA" = "true" ] && [ "$USE_SLIM" != "true" ]; then \
date +%s > /tmp/ollama_build_hash && \
echo "Cache broken at timestamp: `cat /tmp/ollama_build_hash`" && \
curl -fsSL https://ollama.com/install.sh | sh && \

View File

@ -1208,6 +1208,23 @@ USER_PERMISSIONS_CHAT_DELETE = (
os.environ.get("USER_PERMISSIONS_CHAT_DELETE", "True").lower() == "true"
)
USER_PERMISSIONS_CHAT_DELETE_MESSAGE = (
os.environ.get("USER_PERMISSIONS_CHAT_DELETE_MESSAGE", "True").lower() == "true"
)
USER_PERMISSIONS_CHAT_CONTINUE_RESPONSE = (
os.environ.get("USER_PERMISSIONS_CHAT_CONTINUE_RESPONSE", "True").lower() == "true"
)
USER_PERMISSIONS_CHAT_REGENERATE_RESPONSE = (
os.environ.get("USER_PERMISSIONS_CHAT_REGENERATE_RESPONSE", "True").lower()
== "true"
)
USER_PERMISSIONS_CHAT_RATE_RESPONSE = (
os.environ.get("USER_PERMISSIONS_CHAT_RATE_RESPONSE", "True").lower() == "true"
)
USER_PERMISSIONS_CHAT_EDIT = (
os.environ.get("USER_PERMISSIONS_CHAT_EDIT", "True").lower() == "true"
)
@ -1290,6 +1307,10 @@ DEFAULT_USER_PERMISSIONS = {
"params": USER_PERMISSIONS_CHAT_PARAMS,
"file_upload": USER_PERMISSIONS_CHAT_FILE_UPLOAD,
"delete": USER_PERMISSIONS_CHAT_DELETE,
"delete_message": USER_PERMISSIONS_CHAT_DELETE_MESSAGE,
"continue_response": USER_PERMISSIONS_CHAT_CONTINUE_RESPONSE,
"regenerate_response": USER_PERMISSIONS_CHAT_REGENERATE_RESPONSE,
"rate_response": USER_PERMISSIONS_CHAT_RATE_RESPONSE,
"edit": USER_PERMISSIONS_CHAT_EDIT,
"share": USER_PERMISSIONS_CHAT_SHARE,
"export": USER_PERMISSIONS_CHAT_EXPORT,
@ -1576,7 +1597,7 @@ FOLLOW_UP_GENERATION_PROMPT_TEMPLATE = PersistentConfig(
)
DEFAULT_FOLLOW_UP_GENERATION_PROMPT_TEMPLATE = """### Task:
Suggest 3-5 relevant follow-up questions or prompts in the chat's primary language that the user might naturally ask next in this conversation as a **user**, based on the chat history, to help continue or deepen the discussion.
Suggest 3-5 relevant follow-up questions or prompts that the user might naturally ask next in this conversation as a **user**, based on the chat history, to help continue or deepen the discussion.
### Guidelines:
- Write all follow-up questions from the users point of view, directed to the assistant.
- Make questions concise, clear, and directly related to the discussed topic(s).

View File

@ -362,6 +362,8 @@ ENABLE_REALTIME_CHAT_SAVE = (
os.environ.get("ENABLE_REALTIME_CHAT_SAVE", "False").lower() == "true"
)
ENABLE_QUERIES_CACHE = os.environ.get("ENABLE_QUERIES_CACHE", "False").lower() == "true"
####################################
# REDIS
####################################
@ -402,6 +404,10 @@ except ValueError:
####################################
WEBUI_AUTH = os.environ.get("WEBUI_AUTH", "True").lower() == "true"
ENABLE_INITIAL_ADMIN_SIGNUP = (
os.environ.get("ENABLE_INITIAL_ADMIN_SIGNUP", "False").lower() == "true"
)
ENABLE_SIGNUP_PASSWORD_CONFIRMATION = (
os.environ.get("ENABLE_SIGNUP_PASSWORD_CONFIRMATION", "False").lower() == "true"
)
@ -527,6 +533,19 @@ else:
CHAT_RESPONSE_STREAM_DELTA_CHUNK_SIZE = 1
CHAT_RESPONSE_MAX_TOOL_CALL_RETRIES = os.environ.get(
"CHAT_RESPONSE_MAX_TOOL_CALL_RETRIES", "10"
)
if CHAT_RESPONSE_MAX_TOOL_CALL_RETRIES == "":
CHAT_RESPONSE_MAX_TOOL_CALL_RETRIES = 10
else:
try:
CHAT_RESPONSE_MAX_TOOL_CALL_RETRIES = int(CHAT_RESPONSE_MAX_TOOL_CALL_RETRIES)
except Exception:
CHAT_RESPONSE_MAX_TOOL_CALL_RETRIES = 10
####################################
# WEBSOCKET SUPPORT
####################################

View File

@ -232,7 +232,7 @@ async def generate_function_chat_completion(
"__metadata__": metadata,
"__request__": request,
}
extra_params["__tools__"] = get_tools(
extra_params["__tools__"] = await get_tools(
request,
tool_ids,
user,

View File

@ -1437,11 +1437,15 @@ async def chat_completion(
stream_delta_chunk_size = form_data.get("params", {}).get(
"stream_delta_chunk_size"
)
reasoning_tags = form_data.get("params", {}).get("reasoning_tags")
# Model Params
if model_info_params.get("stream_delta_chunk_size"):
stream_delta_chunk_size = model_info_params.get("stream_delta_chunk_size")
if model_info_params.get("reasoning_tags") is not None:
reasoning_tags = model_info_params.get("reasoning_tags")
metadata = {
"user_id": user.id,
"chat_id": form_data.pop("chat_id", None),
@ -1457,6 +1461,7 @@ async def chat_completion(
"direct": model_item.get("direct", False),
"params": {
"stream_delta_chunk_size": stream_delta_chunk_size,
"reasoning_tags": reasoning_tags,
"function_calling": (
"native"
if (

View File

@ -288,13 +288,17 @@ class GroupTable:
if not group:
return None
if not group.user_ids:
group.user_ids = []
group_user_ids = group.user_ids
if not group_user_ids or not isinstance(group_user_ids, list):
group_user_ids = []
group_user_ids = list(set(group_user_ids)) # Deduplicate
for user_id in user_ids:
if user_id not in group.user_ids:
group.user_ids.append(user_id)
if user_id not in group_user_ids:
group_user_ids.append(user_id)
group.user_ids = group_user_ids
group.updated_at = int(time.time())
db.commit()
db.refresh(group)
@ -312,14 +316,20 @@ class GroupTable:
if not group:
return None
if not group.user_ids:
group_user_ids = group.user_ids
if not group_user_ids or not isinstance(group_user_ids, list):
return GroupModel.model_validate(group)
for user_id in user_ids:
if user_id in group.user_ids:
group.user_ids.remove(user_id)
group_user_ids = list(set(group_user_ids)) # Deduplicate
for user_id in user_ids:
if user_id in group_user_ids:
group_user_ids.remove(user_id)
group.user_ids = group_user_ids
group.updated_at = int(time.time())
db.commit()
db.refresh(group)
return GroupModel.model_validate(group)

View File

@ -64,7 +64,7 @@ class DatalabMarkerLoader:
return mime_map.get(ext, "application/octet-stream")
def check_marker_request_status(self, request_id: str) -> dict:
url = f"{self.api_base_url}/marker/{request_id}"
url = f"{self.api_base_url}/{request_id}"
headers = {"X-Api-Key": self.api_key}
try:
response = requests.get(url, headers=headers)
@ -111,7 +111,7 @@ class DatalabMarkerLoader:
with open(self.file_path, "rb") as f:
files = {"file": (filename, f, mime_type)}
response = requests.post(
f"{self.api_base_url}/marker",
f"{self.api_base_url}",
data=form_data,
files=files,
headers=headers,

View File

@ -4,6 +4,7 @@ import ftfy
import sys
import json
from azure.identity import DefaultAzureCredential
from langchain_community.document_loaders import (
AzureAIDocumentIntelligenceLoader,
BSHTMLLoader,
@ -283,7 +284,7 @@ class Loader:
):
api_base_url = self.kwargs.get("DATALAB_MARKER_API_BASE_URL", "")
if not api_base_url or api_base_url.strip() == "":
api_base_url = "https://www.datalab.to/api/v1"
api_base_url = "https://www.datalab.to/api/v1/marker" # https://github.com/open-webui/open-webui/pull/16867#issuecomment-3218424349
loader = DatalabMarkerLoader(
file_path=file_path,
@ -327,7 +328,6 @@ class Loader:
elif (
self.engine == "document_intelligence"
and self.kwargs.get("DOCUMENT_INTELLIGENCE_ENDPOINT") != ""
and self.kwargs.get("DOCUMENT_INTELLIGENCE_KEY") != ""
and (
file_ext in ["pdf", "xls", "xlsx", "docx", "ppt", "pptx"]
or file_content_type
@ -340,11 +340,18 @@ class Loader:
]
)
):
if self.kwargs.get("DOCUMENT_INTELLIGENCE_KEY") != "":
loader = AzureAIDocumentIntelligenceLoader(
file_path=file_path,
api_endpoint=self.kwargs.get("DOCUMENT_INTELLIGENCE_ENDPOINT"),
api_key=self.kwargs.get("DOCUMENT_INTELLIGENCE_KEY"),
)
else:
loader = AzureAIDocumentIntelligenceLoader(
file_path=file_path,
api_endpoint=self.kwargs.get("DOCUMENT_INTELLIGENCE_ENDPOINT"),
azure_credential=DefaultAzureCredential(),
)
elif (
self.engine == "mistral_ocr"
and self.kwargs.get("MISTRAL_OCR_API_KEY") != ""

View File

@ -124,6 +124,10 @@ def query_doc_with_hybrid_search(
hybrid_bm25_weight: float,
) -> dict:
try:
if not collection_result.documents[0]:
log.warning(f"query_doc_with_hybrid_search:no_docs {collection_name}")
return {"documents": [], "metadatas": [], "distances": []}
# BM_25 required only if weight is greater than 0
if hybrid_bm25_weight > 0:
log.debug(f"query_doc_with_hybrid_search:doc {collection_name}")

View File

@ -614,7 +614,7 @@ def get_web_loader(
WebLoaderClass = SafeWebBaseLoader
if WEB_LOADER_ENGINE.value == "playwright":
WebLoaderClass = SafePlaywrightURLLoader
web_loader_args["playwright_timeout"] = PLAYWRIGHT_TIMEOUT.value * 1000
web_loader_args["playwright_timeout"] = PLAYWRIGHT_TIMEOUT.value
if PLAYWRIGHT_WS_URL.value:
web_loader_args["playwright_ws_url"] = PLAYWRIGHT_WS_URL.value

View File

@ -29,6 +29,7 @@ from open_webui.env import (
WEBUI_AUTH_COOKIE_SAME_SITE,
WEBUI_AUTH_COOKIE_SECURE,
WEBUI_AUTH_SIGNOUT_REDIRECT_URL,
ENABLE_INITIAL_ADMIN_SIGNUP,
SRC_LOG_LEVELS,
)
from fastapi import APIRouter, Depends, HTTPException, Request, status
@ -569,6 +570,7 @@ async def signup(request: Request, response: Response, form_data: SignupForm):
not request.app.state.config.ENABLE_SIGNUP
or not request.app.state.config.ENABLE_LOGIN_FORM
):
if has_users or not ENABLE_INITIAL_ADMIN_SIGNUP:
raise HTTPException(
status.HTTP_403_FORBIDDEN, detail=ERROR_MESSAGES.ACCESS_PROHIBITED
)

View File

@ -143,9 +143,18 @@ def upload_file(
file: UploadFile = File(...),
metadata: Optional[dict | str] = Form(None),
process: bool = Query(True),
process_in_background: bool = Query(True),
user=Depends(get_verified_user),
):
return upload_file_handler(request, file, metadata, process, user, background_tasks)
return upload_file_handler(
request,
file=file,
metadata=metadata,
process=process,
process_in_background=process_in_background,
user=user,
background_tasks=background_tasks,
)
def upload_file_handler(
@ -153,6 +162,7 @@ def upload_file_handler(
file: UploadFile = File(...),
metadata: Optional[dict | str] = Form(None),
process: bool = Query(True),
process_in_background: bool = Query(True),
user=Depends(get_verified_user),
background_tasks: Optional[BackgroundTasks] = None,
):
@ -225,7 +235,7 @@ def upload_file_handler(
)
if process:
if background_tasks:
if background_tasks and process_in_background:
background_tasks.add_task(
process_uploaded_file,
request,

View File

@ -329,7 +329,8 @@ def merge_ollama_models_lists(model_lists):
for idx, model_list in enumerate(model_lists):
if model_list is not None:
for model in model_list:
id = model["model"]
id = model.get("model")
if id is not None:
if id not in merged_models:
model["urls"] = [idx]
merged_models[id] = model

View File

@ -2075,7 +2075,9 @@ def query_doc_handler(
user=Depends(get_verified_user),
):
try:
if request.app.state.config.ENABLE_RAG_HYBRID_SEARCH:
if request.app.state.config.ENABLE_RAG_HYBRID_SEARCH and (
form_data.hybrid is None or form_data.hybrid
):
collection_results = {}
collection_results[form_data.collection_name] = VECTOR_DB_CLIENT.get(
collection_name=form_data.collection_name
@ -2145,7 +2147,9 @@ def query_collection_handler(
user=Depends(get_verified_user),
):
try:
if request.app.state.config.ENABLE_RAG_HYBRID_SEARCH:
if request.app.state.config.ENABLE_RAG_HYBRID_SEARCH and (
form_data.hybrid is None or form_data.hybrid
):
return query_collection_with_hybrid_search(
collection_names=form_data.collection_names,
queries=[form_data.query],

View File

@ -470,6 +470,10 @@ async def generate_queries(
detail=f"Query generation is disabled",
)
if getattr(request.state, "cached_queries", None):
log.info(f"Reusing cached queries: {request.state.cached_queries}")
return request.state.cached_queries
if getattr(request.state, "direct", False) and hasattr(request.state, "model"):
models = {
request.state.model["id"]: request.state.model,

View File

@ -146,6 +146,10 @@ class ChatPermissions(BaseModel):
params: bool = True
file_upload: bool = True
delete: bool = True
delete_message: bool = True
continue_response: bool = True
regenerate_response: bool = True
rate_response: bool = True
edit: bool = True
share: bool = True
export: bool = True

View File

@ -115,7 +115,7 @@ if WEBSOCKET_MANAGER == "redis":
clean_up_lock = RedisLock(
redis_url=WEBSOCKET_REDIS_URL,
lock_name="usage_cleanup_lock",
lock_name=f"{REDIS_KEY_PREFIX}:usage_cleanup_lock",
timeout_secs=WEBSOCKET_REDIS_LOCK_TIMEOUT,
redis_sentinels=redis_sentinels,
redis_cluster=WEBSOCKET_REDIS_CLUSTER,
@ -705,6 +705,42 @@ def get_event_emitter(request_info, update_db=True):
},
)
if "type" in event_data and event_data["type"] == "files":
message = Chats.get_message_by_id_and_message_id(
request_info["chat_id"],
request_info["message_id"],
)
files = event_data.get("data", {}).get("files", [])
files.extend(message.get("files", []))
Chats.upsert_message_to_chat_by_id_and_message_id(
request_info["chat_id"],
request_info["message_id"],
{
"files": files,
},
)
if event_data.get("type") in ["source", "citation"]:
data = event_data.get("data", {})
if data.get("type") == None:
message = Chats.get_message_by_id_and_message_id(
request_info["chat_id"],
request_info["message_id"],
)
sources = message.get("sources", [])
sources.append(data)
Chats.upsert_message_to_chat_by_id_and_message_id(
request_info["chat_id"],
request_info["message_id"],
{
"sources": sources,
},
)
return __event_emitter__

View File

@ -98,8 +98,10 @@ from open_webui.env import (
SRC_LOG_LEVELS,
GLOBAL_LOG_LEVEL,
CHAT_RESPONSE_STREAM_DELTA_CHUNK_SIZE,
CHAT_RESPONSE_MAX_TOOL_CALL_RETRIES,
BYPASS_MODEL_ACCESS_CONTROL,
ENABLE_REALTIME_CHAT_SAVE,
ENABLE_QUERIES_CACHE,
)
from open_webui.constants import TASKS
@ -109,6 +111,20 @@ log = logging.getLogger(__name__)
log.setLevel(SRC_LOG_LEVELS["MAIN"])
DEFAULT_REASONING_TAGS = [
("<think>", "</think>"),
("<thinking>", "</thinking>"),
("<reason>", "</reason>"),
("<reasoning>", "</reasoning>"),
("<thought>", "</thought>"),
("<Thought>", "</Thought>"),
("<|begin_of_thought|>", "<|end_of_thought|>"),
("◁think▷", "◁/think▷"),
]
DEFAULT_SOLUTION_TAGS = [("<|begin_of_solution|>", "<|end_of_solution|>")]
DEFAULT_CODE_INTERPRETER_TAGS = [("<code_interpreter>", "</code_interpreter>")]
async def chat_completion_tools_handler(
request: Request, body: dict, extra_params: dict, user: UserModel, models, tools
) -> tuple[dict, dict]:
@ -390,6 +406,9 @@ async def chat_web_search_handler(
except Exception as e:
queries = [response]
if ENABLE_QUERIES_CACHE:
request.state.cached_queries = queries
except Exception as e:
log.exception(e)
queries = [user_message]
@ -689,6 +708,7 @@ def apply_params_to_form_data(form_data, model):
"stream_response": bool,
"stream_delta_chunk_size": int,
"function_calling": str,
"reasoning_tags": list,
"system": str,
}
@ -1285,6 +1305,13 @@ async def process_chat_response(
"error": {"content": error},
},
)
if isinstance(error, str) or isinstance(error, dict):
await event_emitter(
{
"type": "chat:message:error",
"data": {"error": {"content": error}},
},
)
if "selected_model_id" in response_data:
Chats.upsert_message_to_chat_by_id_and_message_id(
@ -1806,27 +1833,23 @@ async def process_chat_response(
}
]
# We might want to disable this by default
DETECT_REASONING = True
DETECT_SOLUTION = True
reasoning_tags_param = metadata.get("params", {}).get("reasoning_tags")
DETECT_REASONING_TAGS = reasoning_tags_param is not False
DETECT_CODE_INTERPRETER = metadata.get("features", {}).get(
"code_interpreter", False
)
reasoning_tags = []
if DETECT_REASONING_TAGS:
if (
isinstance(reasoning_tags_param, list)
and len(reasoning_tags_param) == 2
):
reasoning_tags = [
("<think>", "</think>"),
("<thinking>", "</thinking>"),
("<reason>", "</reason>"),
("<reasoning>", "</reasoning>"),
("<thought>", "</thought>"),
("<Thought>", "</Thought>"),
("<|begin_of_thought|>", "<|end_of_thought|>"),
("◁think▷", "◁/think▷"),
(reasoning_tags_param[0], reasoning_tags_param[1])
]
code_interpreter_tags = [("<code_interpreter>", "</code_interpreter>")]
solution_tags = [("<|begin_of_solution|>", "<|end_of_solution|>")]
else:
reasoning_tags = DEFAULT_REASONING_TAGS
try:
for event in events:
@ -2078,7 +2101,7 @@ async def process_chat_response(
content_blocks[-1]["content"] + value
)
if DETECT_REASONING:
if DETECT_REASONING_TAGS:
content, content_blocks, _ = (
tag_content_handler(
"reasoning",
@ -2088,11 +2111,20 @@ async def process_chat_response(
)
)
content, content_blocks, _ = (
tag_content_handler(
"solution",
DEFAULT_SOLUTION_TAGS,
content,
content_blocks,
)
)
if DETECT_CODE_INTERPRETER:
content, content_blocks, end = (
tag_content_handler(
"code_interpreter",
code_interpreter_tags,
DEFAULT_CODE_INTERPRETER_TAGS,
content,
content_blocks,
)
@ -2101,16 +2133,6 @@ async def process_chat_response(
if end:
break
if DETECT_SOLUTION:
content, content_blocks, _ = (
tag_content_handler(
"solution",
solution_tags,
content,
content_blocks,
)
)
if ENABLE_REALTIME_CHAT_SAVE:
# Save message in the database
Chats.upsert_message_to_chat_by_id_and_message_id(
@ -2185,10 +2207,12 @@ async def process_chat_response(
await stream_body_handler(response, form_data)
MAX_TOOL_CALL_RETRIES = 10
tool_call_retries = 0
while len(tool_calls) > 0 and tool_call_retries < MAX_TOOL_CALL_RETRIES:
while (
len(tool_calls) > 0
and tool_call_retries < CHAT_RESPONSE_MAX_TOOL_CALL_RETRIES
):
tool_call_retries += 1

View File

@ -63,6 +63,7 @@ def remove_open_webui_params(params: dict) -> dict:
"stream_response": bool,
"stream_delta_chunk_size": int,
"function_calling": str,
"reasoning_tags": list,
"system": str,
}

View File

@ -42,7 +42,7 @@ asgiref==3.8.1
# AI libraries
openai
anthropic
google-genai==1.28.0
google-genai==1.32.0
google-generativeai==0.8.5
tiktoken
@ -102,7 +102,6 @@ PyJWT[crypto]==2.10.1
authlib==1.6.1
black==25.1.0
langfuse==2.44.0
youtube-transcript-api==1.1.0
pytube==15.0.0

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{
"name": "open-webui",
"version": "0.6.25",
"version": "0.6.26",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "open-webui",
"version": "0.6.25",
"version": "0.6.26",
"dependencies": {
"@azure/msal-browser": "^4.5.0",
"@codemirror/lang-javascript": "^6.2.2",

View File

@ -1,6 +1,6 @@
{
"name": "open-webui",
"version": "0.6.25",
"version": "0.6.26",
"private": true,
"scripts": {
"dev": "npm run pyodide:fetch && vite dev --host",

View File

@ -15,6 +15,10 @@ dependencies = [
"python-jose==3.4.0",
"passlib[bcrypt]==1.7.4",
"cryptography",
"bcrypt==4.3.0",
"argon2-cffi==23.1.0",
"PyJWT[crypto]==2.10.1",
"authlib==1.6.1",
"requests==2.32.4",
"aiohttp==3.12.15",
@ -28,31 +32,24 @@ dependencies = [
"alembic==1.14.0",
"peewee==3.18.1",
"peewee-migrate==1.12.2",
"psycopg2-binary==2.9.9",
"pgvector==0.4.0",
"PyMySQL==1.1.1",
"bcrypt==4.3.0",
"pymongo",
"redis",
"boto3==1.40.5",
"argon2-cffi==23.1.0",
"APScheduler==3.10.4",
"pycrdt==0.12.25",
"redis",
"PyMySQL==1.1.1",
"boto3==1.40.5",
"APScheduler==3.10.4",
"RestrictedPython==8.0",
"loguru==0.7.3",
"asgiref==3.8.1",
"tiktoken",
"openai",
"anthropic",
"google-genai==1.28.0",
"google-genai==1.32.0",
"google-generativeai==0.8.5",
"tiktoken",
"langchain==0.3.26",
"langchain-community==0.3.26",
@ -100,14 +97,9 @@ dependencies = [
"rank-bm25==0.2.2",
"onnxruntime==1.20.1",
"faster-whisper==1.1.1",
"PyJWT[crypto]==2.10.1",
"authlib==1.6.1",
"black==25.1.0",
"langfuse==2.44.0",
"youtube-transcript-api==1.1.0",
"pytube==15.0.0",
@ -118,9 +110,7 @@ dependencies = [
"google-auth-httplib2",
"google-auth-oauthlib",
"docker~=7.1.0",
"pytest~=8.3.2",
"pytest-docker~=3.1.1",
"googleapis-common-protos==1.63.2",
"google-cloud-storage==2.19.0",
@ -131,12 +121,8 @@ dependencies = [
"ldap3==2.9.1",
"firecrawl-py==1.12.0",
"tencentcloud-sdk-python==3.0.1336",
"gcp-storage-emulator>=2024.8.3",
"moto[s3]>=5.0.26",
"oracledb>=3.2.0",
"posthog==5.4.0",
@ -154,6 +140,23 @@ classifiers = [
"Topic :: Multimedia",
]
[project.optional-dependencies]
postgres = [
"psycopg2-binary==2.9.9",
"pgvector==0.4.0",
]
all = [
"pymongo",
"psycopg2-binary==2.9.9",
"pgvector==0.4.0",
"moto[s3]>=5.0.26",
"gcp-storage-emulator>=2024.8.3",
"docker~=7.1.0",
"pytest~=8.3.2",
"pytest-docker~=3.1.1",
]
[project.scripts]
open-webui = "open_webui:app"

View File

@ -347,25 +347,20 @@ export const getToolServerData = async (token: string, url: string) => {
return data;
};
export const getToolServersData = async (i18n, servers: object[]) => {
export const getToolServersData = async (servers: object[]) => {
return (
await Promise.all(
servers
.filter((server) => server?.config?.enable)
.map(async (server) => {
let error = null;
const data = await getToolServerData(
(server?.auth_type ?? 'bearer') === 'bearer' ? server?.key : localStorage.token,
(server?.path ?? '').includes('://')
? server?.path
: `${server?.url}${(server?.path ?? '').startsWith('/') ? '' : '/'}${server?.path}`
).catch((err) => {
toast.error(
$i18n.t(`Failed to connect to {{URL}} OpenAPI tool server`, {
URL: (server?.path ?? '').includes('://')
? server?.path
: `${server?.url}${(server?.path ?? '').startsWith('/') ? '' : '/'}${server?.path}`
})
);
error = err;
return null;
});
@ -377,6 +372,13 @@ export const getToolServersData = async (i18n, servers: object[]) => {
info: info,
specs: specs
};
} else if (error) {
return {
error,
url: server?.url
};
} else {
return null;
}
})
)

View File

@ -185,10 +185,9 @@
if (
RAGConfig.CONTENT_EXTRACTION_ENGINE === 'document_intelligence' &&
(RAGConfig.DOCUMENT_INTELLIGENCE_ENDPOINT === '' ||
RAGConfig.DOCUMENT_INTELLIGENCE_KEY === '')
RAGConfig.DOCUMENT_INTELLIGENCE_ENDPOINT === ''
) {
toast.error($i18n.t('Document Intelligence endpoint and key required.'));
toast.error($i18n.t('Document Intelligence endpoint required.'));
return;
}
if (
@ -644,6 +643,7 @@
<SensitiveInput
placeholder={$i18n.t('Enter Document Intelligence Key')}
bind:value={RAGConfig.DOCUMENT_INTELLIGENCE_KEY}
required={false}
/>
</div>
{:else if RAGConfig.CONTENT_EXTRACTION_ENGINE === 'mistral_ocr'}

View File

@ -682,6 +682,7 @@
</div>
</div>
{#if ['comfyui', 'automatic1111', ''].includes(config?.engine)}
<div>
<div class=" mb-2.5 text-sm font-medium">{$i18n.t('Set Steps')}</div>
<div class="flex w-full">
@ -699,6 +700,7 @@
</div>
{/if}
{/if}
{/if}
</div>
<div class="flex justify-end pt-3 text-sm font-medium">

View File

@ -71,6 +71,10 @@
params: true,
file_upload: true,
delete: true,
delete_message: true,
continue_response: true,
regenerate_response: true,
rate_response: true,
edit: true,
share: true,
export: true,

View File

@ -53,6 +53,10 @@
params: true,
file_upload: true,
delete: true,
delete_message: true,
continue_response: true,
regenerate_response: true,
rate_response: true,
edit: true,
share: true,
export: true,

View File

@ -26,6 +26,10 @@
params: true,
file_upload: true,
delete: true,
delete_message: true,
continue_response: true,
regenerate_response: true,
rate_response: true,
edit: true,
share: true,
export: true,
@ -292,6 +296,14 @@
</div>
{/if}
<div class=" flex w-full justify-between my-2 pr-2">
<div class=" self-center text-xs font-medium">
{$i18n.t('Allow Chat Edit')}
</div>
<Switch bind:state={permissions.chat.edit} />
</div>
<div class=" flex w-full justify-between my-2 pr-2">
<div class=" self-center text-xs font-medium">
{$i18n.t('Allow Chat Delete')}
@ -302,10 +314,34 @@
<div class=" flex w-full justify-between my-2 pr-2">
<div class=" self-center text-xs font-medium">
{$i18n.t('Allow Chat Edit')}
{$i18n.t('Allow Delete Messages')}
</div>
<Switch bind:state={permissions.chat.edit} />
<Switch bind:state={permissions.chat.delete_message} />
</div>
<div class=" flex w-full justify-between my-2 pr-2">
<div class=" self-center text-xs font-medium">
{$i18n.t('Allow Continue Response')}
</div>
<Switch bind:state={permissions.chat.continue_response} />
</div>
<div class=" flex w-full justify-between my-2 pr-2">
<div class=" self-center text-xs font-medium">
{$i18n.t('Allow Regenerate Response')}
</div>
<Switch bind:state={permissions.chat.regenerate_response} />
</div>
<div class=" flex w-full justify-between my-2 pr-2">
<div class=" self-center text-xs font-medium">
{$i18n.t('Allow Rate Response')}
</div>
<Switch bind:state={permissions.chat.rate_response} />
</div>
<div class=" flex w-full justify-between my-2 pr-2">

View File

@ -324,6 +324,8 @@
message.content = data.content;
} else if (type === 'chat:message:files' || type === 'files') {
message.files = data.files;
} else if (type === 'chat:message:error') {
message.error = data.error;
} else if (type === 'chat:message:follow_ups') {
message.followUps = data.follow_ups;

View File

@ -417,6 +417,30 @@
let recording = false;
let isComposing = false;
// Safari has a bug where compositionend is not triggered correctly #16615
// when using the virtual keyboard on iOS.
let compositionEndedAt = -2e8;
const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
function inOrNearComposition(event: Event) {
if (isComposing) {
return true;
}
// See https://www.stum.de/2016/06/24/handling-ime-events-in-javascript/.
// On Japanese input method editors (IMEs), the Enter key is used to confirm character
// selection. On Safari, when Enter is pressed, compositionend and keydown events are
// emitted. The keydown event triggers newline insertion, which we don't want.
// This method returns true if the keydown event should be ignored.
// We only ignore it once, as pressing Enter a second time *should* insert a newline.
// Furthermore, the keydown event timestamp must be close to the compositionEndedAt timestamp.
// This guards against the case where compositionend is triggered without the keyboard
// (e.g. character confirmation may be done with the mouse), and keydown is triggered
// afterwards- we wouldn't want to ignore the keydown event in this case.
if (isSafari && Math.abs(event.timeStamp - compositionEndedAt) < 500) {
compositionEndedAt = -2e8;
return true;
}
return false;
}
let chatInputContainerElement;
let chatInputElement;
@ -1169,19 +1193,9 @@
return res;
}}
oncompositionstart={() => (isComposing = true)}
oncompositionend={() => {
const isSafari = /^((?!chrome|android).)*safari/i.test(
navigator.userAgent
);
if (isSafari) {
// Safari has a bug where compositionend is not triggered correctly #16615
// when using the virtual keyboard on iOS.
// We use a timeout to ensure that the composition is ended after a short delay.
setTimeout(() => (isComposing = false));
} else {
oncompositionend={(e) => {
compositionEndedAt = e.timeStamp;
isComposing = false;
}
}}
on:keydown={async (e) => {
e = e.detail.event;
@ -1290,7 +1304,7 @@
navigator.msMaxTouchPoints > 0
)
) {
if (isComposing) {
if (inOrNearComposition(e)) {
return;
}
@ -1393,17 +1407,9 @@
command = getCommand();
}}
on:compositionstart={() => (isComposing = true)}
on:compositionend={() => {
const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
if (isSafari) {
// Safari has a bug where compositionend is not triggered correctly #16615
// when using the virtual keyboard on iOS.
// We use a timeout to ensure that the composition is ended after a short delay.
setTimeout(() => (isComposing = false));
} else {
oncompositionend={(e) => {
compositionEndedAt = e.timeStamp;
isComposing = false;
}
}}
on:keydown={async (e) => {
const isCtrlPressed = e.ctrlKey || e.metaKey; // metaKey is for Cmd key on Mac
@ -1523,7 +1529,7 @@
navigator.msMaxTouchPoints > 0
)
) {
if (isComposing) {
if (inOrNearComposition(e)) {
return;
}

View File

@ -49,6 +49,7 @@
export let addMessages: Function = () => {};
export let readOnly = false;
export let editCodeBlock = true;
export let topPadding = false;
export let bottomPadding = false;
@ -56,7 +57,7 @@
export let onSelect = (e) => {};
let messagesCount = 20;
export let messagesCount: number | null = 20;
let messagesLoading = false;
const loadMoreMessages = async () => {
@ -76,7 +77,7 @@
let _messages = [];
let message = history.messages[history.currentId];
while (message && _messages.length <= messagesCount) {
while (message && (messagesCount !== null ? _messages.length <= messagesCount : true)) {
_messages.unshift({ ...message });
message = message.parentId !== null ? history.messages[message.parentId] : null;
}
@ -447,6 +448,7 @@
{addMessages}
{triggerScroll}
{readOnly}
{editCodeBlock}
{topPadding}
/>
{/each}

View File

@ -4,6 +4,7 @@
import Collapsible from '$lib/components/common/Collapsible.svelte';
import ChevronDown from '$lib/components/icons/ChevronDown.svelte';
import ChevronUp from '$lib/components/icons/ChevronUp.svelte';
import { mobile } from '$lib/stores';
const i18n = getContext('i18n');
@ -55,9 +56,9 @@
return acc;
}
source.document.forEach((document, index) => {
const metadata = source.metadata?.[index];
const distance = source.distances?.[index];
source?.document?.forEach((document, index) => {
const metadata = source?.metadata?.[index];
const distance = source?.distances?.[index];
// Within the same citation there could be multiple documents
const id = metadata?.source ?? source?.source?.id ?? 'N/A';
@ -87,6 +88,7 @@
});
}
});
return acc;
}, []);
console.log('citations', citations);
@ -155,7 +157,7 @@
>
<div class="flex items-center overflow-auto scrollbar-none w-full max-w-full flex-1">
<div class="flex text-xs font-medium items-center">
{#each citations.slice(0, 2) as citation, idx}
{#each citations.slice(0, $mobile ? 1 : 2) as citation, idx}
<button
class="no-toggle outline-hidden flex dark:text-gray-300 p-1 bg-gray-50 hover:bg-gray-100 dark:bg-gray-900 dark:hover:bg-gray-850 transition rounded-xl max-w-96"
on:click={() => {
@ -180,7 +182,7 @@
</div>
<div class="flex items-center gap-1 whitespace-nowrap shrink-0">
<span class="hidden sm:inline">{$i18n.t('and')}</span>
{citations.length - 2}
{citations.length - ($mobile ? 1 : 2)}
<span>{$i18n.t('more')}</span>
</div>
</div>
@ -194,7 +196,7 @@
</div>
<div slot="content">
<div class="flex text-xs font-medium flex-wrap">
{#each citations.slice(2) as citation, idx}
{#each citations.slice($mobile ? 1 : 2) as citation, idx}
<button
class="no-toggle outline-hidden flex dark:text-gray-300 p-1 bg-gray-50 hover:bg-gray-100 dark:bg-gray-900 dark:hover:bg-gray-850 transition rounded-xl max-w-96"
on:click={() => {

View File

@ -1,4 +1,6 @@
<script lang="ts">
import hljs from 'highlight.js';
import mermaid from 'mermaid';
import { v4 as uuidv4 } from 'uuid';
@ -22,6 +24,7 @@
const i18n = getContext('i18n');
export let id = '';
export let edit = true;
export let onSave = (e) => {};
export let onUpdate = (e) => {};
@ -84,7 +87,7 @@
const copyCode = async () => {
copied = true;
await copyToClipboard(code);
await copyToClipboard(_code);
setTimeout(() => {
copied = false;
@ -512,6 +515,7 @@
<div class=" pt-7 bg-gray-50 dark:bg-gray-850"></div>
{#if !collapsed}
{#if edit}
<CodeEditor
value={code}
{id}
@ -523,6 +527,19 @@
_code = value;
}}
/>
{:else}
<pre
class=" hljs p-4 px-5 overflow-x-auto"
style="border-top-left-radius: 0px; border-top-right-radius: 0px; {(executing ||
stdout ||
stderr ||
result) &&
'border-bottom-left-radius: 0px; border-bottom-right-radius: 0px;'}"><code
class="language-{lang} rounded-t-none whitespace-pre text-sm"
>{@html hljs.highlightAuto(code, hljs.getLanguage(lang)?.aliases).value ||
code}</code
></pre>
{/if}
{:else}
<div
class="bg-gray-50 dark:bg-black dark:text-white rounded-b-lg! pt-2 pb-2 px-4 flex flex-col gap-2 text-xs"

View File

@ -30,6 +30,8 @@
export let save = false;
export let preview = false;
export let floatingButtons = true;
export let editCodeBlock = true;
export let topPadding = false;
export let onSave = (e) => {};
@ -138,6 +140,7 @@
{save}
{preview}
{done}
{editCodeBlock}
{topPadding}
sourceIds={(sources ?? []).reduce((acc, source) => {
let ids = [];

View File

@ -14,6 +14,8 @@
export let model = null;
export let save = false;
export let preview = false;
export let editCodeBlock = true;
export let topPadding = false;
export let sourceIds = [];
@ -52,6 +54,7 @@
{done}
{save}
{preview}
{editCodeBlock}
{topPadding}
{onTaskClick}
{onSourceClick}

View File

@ -32,6 +32,8 @@
export let save = false;
export let preview = false;
export let editCodeBlock = true;
export let topPadding = false;
export let onSave: Function = () => {};
@ -106,6 +108,7 @@
{attributes}
{save}
{preview}
edit={editCodeBlock}
stickyButtonsClassName={topPadding ? 'top-8' : 'top-0'}
onSave={(value) => {
onSave({
@ -198,6 +201,7 @@
id={`${id}-${tokenIdx}`}
tokens={token.tokens}
{done}
{editCodeBlock}
{onTaskClick}
{onSourceClick}
/>
@ -231,6 +235,7 @@
tokens={item.tokens}
top={token.loose}
{done}
{editCodeBlock}
{onTaskClick}
{onSourceClick}
/>
@ -264,6 +269,7 @@
tokens={item.tokens}
top={token.loose}
{done}
{editCodeBlock}
{onTaskClick}
{onSourceClick}
/>
@ -274,6 +280,7 @@
tokens={item.tokens}
top={token.loose}
{done}
{editCodeBlock}
{onTaskClick}
{onSourceClick}
/>
@ -296,6 +303,7 @@
tokens={marked.lexer(token.text)}
attributes={token?.attributes}
{done}
{editCodeBlock}
{onTaskClick}
{onSourceClick}
/>

View File

@ -41,10 +41,11 @@
export let addMessages;
export let triggerScroll;
export let readOnly = false;
export let editCodeBlock = true;
export let topPadding = false;
</script>
<li
<div
class="flex flex-col justify-between px-5 mb-3 w-full {($settings?.widescreenMode ?? null)
? 'max-w-full'
: 'max-w-5xl'} mx-auto rounded-lg group"
@ -68,6 +69,7 @@
{editMessage}
{deleteMessage}
{readOnly}
{editCodeBlock}
{topPadding}
/>
{:else if (history.messages[history.messages[messageId].parentId]?.models?.length ?? 1) === 1}
@ -93,6 +95,7 @@
{regenerateResponse}
{addMessages}
{readOnly}
{editCodeBlock}
{topPadding}
/>
{:else}
@ -116,8 +119,9 @@
{triggerScroll}
{addMessages}
{readOnly}
{editCodeBlock}
{topPadding}
/>
{/if}
{/if}
</li>
</div>

View File

@ -29,6 +29,7 @@
export let isLastMessage;
export let readOnly = false;
export let editCodeBlock = true;
export let setInputText: Function = () => {};
export let updateChat: Function;
@ -379,6 +380,7 @@
}}
{addMessages}
{readOnly}
{editCodeBlock}
{topPadding}
/>
{/if}

View File

@ -138,6 +138,7 @@
export let isLastMessage = true;
export let readOnly = false;
export let editCodeBlock = true;
export let topPadding = false;
let citationsElement: HTMLDivElement;
@ -814,6 +815,7 @@
($settings?.showFloatingActionButtons ?? true)}
save={!readOnly}
preview={!readOnly}
{editCodeBlock}
{topPadding}
done={($settings?.chatFadeStreamingText ?? true)
? (message?.done ?? false)
@ -1222,7 +1224,7 @@
{/if}
{#if !readOnly}
{#if !$temporaryChatEnabled && ($config?.features.enable_message_rating ?? true)}
{#if !$temporaryChatEnabled && ($config?.features.enable_message_rating ?? true) && ($user?.role === 'admin' || ($user?.permissions?.chat?.rate_response ?? true))}
<Tooltip content={$i18n.t('Good Response')} placement="bottom">
<button
aria-label={$i18n.t('Good Response')}
@ -1300,7 +1302,7 @@
</Tooltip>
{/if}
{#if isLastMessage}
{#if isLastMessage && ($user?.role === 'admin' || ($user?.permissions?.chat?.continue_response ?? true))}
<Tooltip content={$i18n.t('Continue Response')} placement="bottom">
<button
aria-label={$i18n.t('Continue Response')}
@ -1337,6 +1339,7 @@
</Tooltip>
{/if}
{#if $user?.role === 'admin' || ($user?.permissions?.chat?.regenerate_response ?? false)}
{#if $settings?.regenerateMenu ?? true}
<button
type="button"
@ -1445,7 +1448,9 @@
</button>
</Tooltip>
{/if}
{/if}
{#if $user?.role === 'admin' || ($user?.permissions?.chat?.delete_message ?? false)}
{#if siblings.length > 1}
<Tooltip content={$i18n.t('Delete')} placement="bottom">
<button
@ -1477,6 +1482,7 @@
</button>
</Tooltip>
{/if}
{/if}
{#if isLastMessage}
{#each model?.actions ?? [] as action}

View File

@ -38,6 +38,7 @@
export let isFirstMessage: boolean;
export let readOnly: boolean;
export let editCodeBlock = true;
export let topPadding = false;
let showDeleteConfirm = false;
@ -332,7 +333,12 @@
: ' w-full'}"
>
{#if message.content}
<Markdown id={`${chatId}-${message.id}`} content={message.content} {topPadding} />
<Markdown
id={`${chatId}-${message.id}`}
content={message.content}
{editCodeBlock}
{topPadding}
/>
{/if}
</div>
</div>
@ -495,6 +501,7 @@
</Tooltip>
{/if}
{#if $_user?.role === 'admin' || ($_user?.permissions?.chat?.delete_message ?? false)}
{#if !readOnly && (!isFirstMessage || siblings.length > 1)}
<Tooltip content={$i18n.t('Delete')} placement="bottom">
<button
@ -522,6 +529,7 @@
</button>
</Tooltip>
{/if}
{/if}
{#if $settings?.chatBubble ?? true}
{#if siblings.length > 1}

View File

@ -17,6 +17,7 @@
stream_response: null, // Set stream responses for this model individually
stream_delta_chunk_size: null, // Set the chunk size for streaming responses
function_calling: null,
reasoning_tags: null,
seed: null,
stop: null,
temperature: null,
@ -175,6 +176,71 @@
</Tooltip>
</div>
<div class=" py-0.5 w-full justify-between">
<Tooltip
content={$i18n.t(
'Enable, disable, or customize the reasoning tags used by the model. "Enabled" uses default tags, "Disabled" turns off reasoning tags, and "Custom" lets you specify your own start and end tags.'
)}
placement="top-start"
className="inline-tooltip"
>
<div class="flex w-full justify-between">
<div class=" self-center text-xs font-medium">
{$i18n.t('Reasoning Tags')}
</div>
<button
class="p-1 px-3 text-xs flex rounded-sm transition shrink-0 outline-hidden"
type="button"
on:click={() => {
if ((params?.reasoning_tags ?? null) === null) {
params.reasoning_tags = ['', ''];
} else if ((params?.reasoning_tags ?? []).length === 2) {
params.reasoning_tags = true;
} else if ((params?.reasoning_tags ?? null) !== false) {
params.reasoning_tags = false;
} else {
params.reasoning_tags = null;
}
}}
>
{#if (params?.reasoning_tags ?? null) === null}
<span class="ml-2 self-center"> {$i18n.t('Default')} </span>
{:else if (params?.reasoning_tags ?? null) === true}
<span class="ml-2 self-center"> {$i18n.t('Enabled')} </span>
{:else if (params?.reasoning_tags ?? null) === false}
<span class="ml-2 self-center"> {$i18n.t('Disabled')} </span>
{:else}
<span class="ml-2 self-center"> {$i18n.t('Custom')} </span>
{/if}
</button>
</div>
</Tooltip>
{#if ![true, false, null].includes(params?.reasoning_tags ?? null) && (params?.reasoning_tags ?? []).length === 2}
<div class="flex mt-0.5 space-x-2">
<div class=" flex-1">
<input
class="text-sm w-full bg-transparent outline-hidden outline-none"
type="text"
placeholder={$i18n.t('Start Tag')}
bind:value={params.reasoning_tags[0]}
autocomplete="off"
/>
</div>
<div class=" flex-1">
<input
class="text-sm w-full bg-transparent outline-hidden outline-none"
type="text"
placeholder={$i18n.t('End Tag')}
bind:value={params.reasoning_tags[1]}
autocomplete="off"
/>
</div>
</div>
{/if}
</div>
<div class=" py-0.5 w-full justify-between">
<Tooltip
content={$i18n.t(

View File

@ -31,7 +31,20 @@
toolServers: servers
});
toolServers.set(await getToolServersData($i18n, $settings?.toolServers ?? []));
let toolServersData = await getToolServersData($settings?.toolServers ?? []);
toolServersData = toolServersData.filter((data) => {
if (data.error) {
toast.error(
$i18n.t(`Failed to connect to {{URL}} OpenAPI tool server`, {
URL: data?.url
})
);
return false;
}
return true;
});
toolServers.set(toolServersData);
};
onMount(async () => {

View File

@ -51,7 +51,7 @@
: 'rounded-2xl'} text-left"
type="button"
on:click={async () => {
if (item?.file?.data?.content || modal) {
if (item?.file?.data?.content || item?.type === 'file' || modal) {
showModal = !showModal;
} else {
if (url) {

View File

@ -13,6 +13,7 @@
import Tooltip from './Tooltip.svelte';
import dayjs from 'dayjs';
import Spinner from './Spinner.svelte';
import { getFileById } from '$lib/apis/files';
export let item;
export let show = false;
@ -24,6 +25,8 @@
let isAudio = false;
let loading = false;
let selectedTab = '';
$: isPDF =
item?.meta?.content_type === 'application/pdf' ||
(item?.name && item?.name.toLowerCase().endsWith('.pdf'));
@ -49,6 +52,18 @@
item.files = knowledge.files || [];
}
loading = false;
} else if (item?.type === 'file') {
loading = true;
const file = await getFileById(localStorage.token, item.id).catch((e) => {
console.error('Error fetching file:', e);
return null;
});
if (file) {
item.file = file || {};
}
loading = false;
}
await tick();
@ -102,7 +117,7 @@
<div>
<div class="flex flex-col items-center md:flex-row gap-1 justify-between w-full">
<div class=" flex flex-wrap text-sm gap-1 text-gray-500">
<div class=" flex flex-wrap text-xs gap-1 text-gray-500">
{#if item?.type === 'collection'}
{#if item?.type}
<div class="capitalize shrink-0">{item.type}</div>
@ -128,13 +143,13 @@
{#if item?.file?.data?.content}
<div class="capitalize shrink-0">
{getLineCount(item?.file?.data?.content ?? '')} extracted lines
{$i18n.t('{{COUNT}} extracted lines', {
COUNT: getLineCount(item?.file?.data?.content ?? '')
})}
</div>
<div class="flex items-center gap-1 shrink-0">
<Info />
Formatting may be inconsistent from source.
{$i18n.t('Formatting may be inconsistent from source.')}
</div>
{/if}
@ -189,11 +204,41 @@
{/each}
</div>
{:else if isPDF}
<div
class="flex mb-2.5 scrollbar-none overflow-x-auto w-full border-b border-gray-100 dark:border-gray-800 text-center text-sm font-medium bg-transparent dark:text-gray-200"
>
<button
class="min-w-fit py-1.5 px-4 border-b {selectedTab === ''
? ' '
: ' border-transparent text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white'} transition"
type="button"
on:click={() => {
selectedTab = '';
}}>{$i18n.t('Content')}</button
>
<button
class="min-w-fit py-1.5 px-4 border-b {selectedTab === 'preview'
? ' '
: ' border-transparent text-gray-300 dark:text-gray-600 hover:text-gray-700 dark:hover:text-white'} transition"
type="button"
on:click={() => {
selectedTab = 'preview';
}}>{$i18n.t('Preview')}</button
>
</div>
{#if selectedTab === 'preview'}
<iframe
title={item?.name}
src={`${WEBUI_API_BASE_URL}/files/${item.id}/content`}
class="w-full h-[70vh] border-0 rounded-lg mt-4"
class="w-full h-[70vh] border-0 rounded-lg"
/>
{:else}
<div class="max-h-96 overflow-scroll scrollbar-hidden text-xs whitespace-pre-wrap">
{item?.file?.data?.content ?? 'No content'}
</div>
{/if}
{:else}
{#if isAudio}
<audio

View File

@ -1,7 +1,7 @@
<script lang="ts">
import { toast } from 'svelte-sonner';
import { DropdownMenu } from 'bits-ui';
import { getContext } from 'svelte';
import { getContext, tick } from 'svelte';
import fileSaver from 'file-saver';
const { saveAs } = fileSaver;
@ -35,6 +35,7 @@
import Folder from '$lib/components/icons/Folder.svelte';
import Share from '$lib/components/icons/Share.svelte';
import ArchiveBox from '$lib/components/icons/ArchiveBox.svelte';
import Messages from '$lib/components/chat/Messages.svelte';
const i18n = getContext('i18n');
@ -50,6 +51,8 @@
export let chat;
export let onClose: Function = () => {};
let showFullMessages = false;
const getChatAsText = async () => {
const history = chat.chat.history;
const messages = createMessagesList(history, history.currentId);
@ -72,73 +75,102 @@
const downloadPdf = async () => {
if ($settings?.stylizedPdfExport ?? true) {
const containerElement = document.getElementById('messages-container');
showFullMessages = true;
await tick();
const containerElement = document.getElementById('full-messages-container');
if (containerElement) {
try {
const isDarkMode = document.documentElement.classList.contains('dark');
const virtualWidth = 800; // Fixed width in px
const pagePixelHeight = 1200; // Each slice height (adjust to avoid canvas bugs; generally 24k is safe)
const virtualWidth = 800; // px, fixed width for cloned element
// Clone & style once
// Clone and style
const clonedElement = containerElement.cloneNode(true);
clonedElement.classList.add('text-black');
clonedElement.classList.add('dark:text-white');
clonedElement.style.width = `${virtualWidth}px`;
clonedElement.style.position = 'absolute';
clonedElement.style.left = '-9999px'; // Offscreen
clonedElement.style.left = '-9999px';
clonedElement.style.height = 'auto';
document.body.appendChild(clonedElement);
// Get total height after attached to DOM
const totalHeight = clonedElement.scrollHeight;
let offsetY = 0;
let page = 0;
// Wait for DOM update/layout
await new Promise((r) => setTimeout(r, 100));
// Prepare PDF
const pdf = new jsPDF('p', 'mm', 'a4');
const imgWidth = 210; // A4 mm
const pageHeight = 297; // A4 mm
while (offsetY < totalHeight) {
// For each slice, adjust scrollTop to show desired part
clonedElement.scrollTop = offsetY;
// Optionally: mask/hide overflowing content via CSS if needed
clonedElement.style.maxHeight = `${pagePixelHeight}px`;
// Only render the visible part
// Render entire content once
const canvas = await html2canvas(clonedElement, {
backgroundColor: isDarkMode ? '#000' : '#fff',
useCORS: true,
scale: 2,
width: virtualWidth,
height: Math.min(pagePixelHeight, totalHeight - offsetY),
// Optionally: y offset for correct region?
windowWidth: virtualWidth
//windowHeight: pagePixelHeight,
scale: 2, // increase resolution
width: virtualWidth
});
const imgData = canvas.toDataURL('image/png');
// Maintain aspect ratio
const imgHeight = (canvas.height * imgWidth) / canvas.width;
const position = 0; // Always first line, since we've clipped vertically
if (page > 0) pdf.addPage();
// Set page background for dark mode
if (isDarkMode) {
pdf.setFillColor(0, 0, 0);
pdf.rect(0, 0, imgWidth, pageHeight, 'F'); // black bg
}
pdf.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight);
offsetY += pagePixelHeight;
page++;
}
document.body.removeChild(clonedElement);
const pdf = new jsPDF('p', 'mm', 'a4');
const pageWidthMM = 210;
const pageHeightMM = 297;
// Convert page height in mm to px on canvas scale for cropping
// Get canvas DPI scale:
const pxPerMM = canvas.width / virtualWidth; // width in px / width in px?
// Since 1 page width is 210 mm, but canvas width is 800 px at scale 2
// Assume 1 mm = px / (pageWidthMM scaled)
// Actually better: Calculate scale factor from px/mm:
// virtualWidth px corresponds directly to 210mm in PDF, so pxPerMM:
const pxPerPDFMM = canvas.width / pageWidthMM; // canvas px per PDF mm
// Height in px for one page slice:
const pagePixelHeight = Math.floor(pxPerPDFMM * pageHeightMM);
let offsetY = 0;
let page = 0;
while (offsetY < canvas.height) {
// Height of slice
const sliceHeight = Math.min(pagePixelHeight, canvas.height - offsetY);
// Create temp canvas for slice
const pageCanvas = document.createElement('canvas');
pageCanvas.width = canvas.width;
pageCanvas.height = sliceHeight;
const ctx = pageCanvas.getContext('2d');
// Draw the slice of original canvas onto pageCanvas
ctx.drawImage(
canvas,
0,
offsetY,
canvas.width,
sliceHeight,
0,
0,
canvas.width,
sliceHeight
);
const imgData = pageCanvas.toDataURL('image/jpeg', 0.7);
// Calculate image height in PDF units keeping aspect ratio
const imgHeightMM = (sliceHeight * pageWidthMM) / canvas.width;
if (page > 0) pdf.addPage();
if (isDarkMode) {
pdf.setFillColor(0, 0, 0);
pdf.rect(0, 0, pageWidthMM, pageHeightMM, 'F'); // black bg
}
pdf.addImage(imgData, 'JPEG', 0, 0, pageWidthMM, imgHeightMM);
offsetY += sliceHeight;
page++;
}
pdf.save(`chat-${chat.chat.title}.pdf`);
showFullMessages = false;
} catch (error) {
console.error('Error generating PDF', error);
}
@ -210,6 +242,27 @@
};
</script>
{#if showFullMessages}
<div class="hidden w-full h-full flex-col">
<div id="full-messages-container">
<Messages
className="h-full flex pt-4 pb-8 w-full"
chatId={`chat-preview-${chat?.id ?? ''}`}
user={$user}
readOnly={true}
history={chat.chat.history}
messages={chat.chat.messages}
autoScroll={true}
sendMessage={() => {}}
continueResponse={() => {}}
regenerateResponse={() => {}}
messagesCount={null}
editCodeBlock={false}
/>
</div>
</div>
{/if}
<Dropdown
on:change={(e) => {
if (e.detail === false) {

View File

@ -442,6 +442,8 @@
await tick();
};
const isWindows = /Windows/i.test(navigator.userAgent);
</script>
<ArchivedChatsModal
@ -515,7 +517,7 @@
id="sidebar"
>
<button
class="flex flex-col flex-1 cursor-[e-resize]"
class="flex flex-col flex-1 {isWindows ? 'cursor-pointer' : 'cursor-[e-resize]'}"
on:click={async () => {
showSidebar.set(!$showSidebar);
}}
@ -526,7 +528,10 @@
placement="right"
>
<button
class=" flex rounded-lg hover:bg-gray-100 dark:hover:bg-gray-850 transition group cursor-[e-resize]"
class="flex rounded-lg hover:bg-gray-100 dark:hover:bg-gray-850 transition group {isWindows
? 'cursor-pointer'
: 'cursor-[e-resize]'}"
aria-label={$showSidebar ? $i18n.t('Close Sidebar') : $i18n.t('Open Sidebar')}
>
<div class=" self-center flex items-center justify-center size-9">
<img
@ -556,6 +561,7 @@
goto('/');
newChatHandler();
}}
aria-label={$i18n.t('New Chat')}
>
<div class=" self-center flex items-center justify-center size-9">
<PencilSquare className="size-4.5" />
@ -575,6 +581,7 @@
showSearch.set(true);
}}
draggable="false"
aria-label={$i18n.t('Search')}
>
<div class=" self-center flex items-center justify-center size-9">
<Search className="size-4.5" />
@ -597,6 +604,7 @@
itemClickHandler();
}}
draggable="false"
aria-label={$i18n.t('Notes')}
>
<div class=" self-center flex items-center justify-center size-9">
<Note className="size-4.5" />
@ -619,6 +627,7 @@
goto('/workspace');
itemClickHandler();
}}
aria-label={$i18n.t('Workspace')}
draggable="false"
>
<div class=" self-center flex items-center justify-center size-9">
@ -721,10 +730,13 @@
placement="bottom"
>
<button
class=" flex rounded-lg hover:bg-gray-100 dark:hover:bg-gray-850 transition cursor-[w-resize]"
class="flex rounded-lg hover:bg-gray-100 dark:hover:bg-gray-850 transition {isWindows
? 'cursor-pointer'
: 'cursor-[w-resize]'}"
on:click={() => {
showSidebar.set(!$showSidebar);
}}
aria-label={$showSidebar ? $i18n.t('Close Sidebar') : $i18n.t('Open Sidebar')}
>
<div class=" self-center p-1.5">
<Sidebar />
@ -741,6 +753,7 @@
href="/"
draggable="false"
on:click={newChatHandler}
aria-label={$i18n.t('New Chat')}
>
<div class="self-center">
<PencilSquare className=" size-4.5" strokeWidth="2" />
@ -759,6 +772,7 @@
showSearch.set(true);
}}
draggable="false"
aria-label={$i18n.t('Search')}
>
<div class="self-center">
<Search strokeWidth="2" className="size-4.5" />
@ -777,6 +791,7 @@
href="/notes"
on:click={itemClickHandler}
draggable="false"
aria-label={$i18n.t('Notes')}
>
<div class="self-center">
<Note className="size-4.5" strokeWidth="2" />
@ -796,6 +811,7 @@
href="/workspace"
on:click={itemClickHandler}
draggable="false"
aria-label={$i18n.t('Workspace')}
>
<div class="self-center">
<svg

View File

@ -81,130 +81,6 @@
saveAs(blob, `chat-${chat.chat.title}.txt`);
};
const downloadPdf = async () => {
const chat = await getChatById(localStorage.token, chatId);
if ($settings?.stylizedPdfExport ?? true) {
const containerElement = document.getElementById('messages-container');
if (containerElement) {
try {
const isDarkMode = document.documentElement.classList.contains('dark');
const virtualWidth = 800; // Fixed width in px
const pagePixelHeight = 1200; // Each slice height (adjust to avoid canvas bugs; generally 24k is safe)
// Clone & style once
const clonedElement = containerElement.cloneNode(true);
clonedElement.classList.add('text-black');
clonedElement.classList.add('dark:text-white');
clonedElement.style.width = `${virtualWidth}px`;
clonedElement.style.position = 'absolute';
clonedElement.style.left = '-9999px'; // Offscreen
clonedElement.style.height = 'auto';
document.body.appendChild(clonedElement);
// Get total height after attached to DOM
const totalHeight = clonedElement.scrollHeight;
let offsetY = 0;
let page = 0;
// Prepare PDF
const pdf = new jsPDF('p', 'mm', 'a4');
const imgWidth = 210; // A4 mm
const pageHeight = 297; // A4 mm
while (offsetY < totalHeight) {
// For each slice, adjust scrollTop to show desired part
clonedElement.scrollTop = offsetY;
// Optionally: mask/hide overflowing content via CSS if needed
clonedElement.style.maxHeight = `${pagePixelHeight}px`;
// Only render the visible part
const canvas = await html2canvas(clonedElement, {
backgroundColor: isDarkMode ? '#000' : '#fff',
useCORS: true,
scale: 2,
width: virtualWidth,
height: Math.min(pagePixelHeight, totalHeight - offsetY),
// Optionally: y offset for correct region?
windowWidth: virtualWidth
//windowHeight: pagePixelHeight,
});
const imgData = canvas.toDataURL('image/png');
// Maintain aspect ratio
const imgHeight = (canvas.height * imgWidth) / canvas.width;
const position = 0; // Always first line, since we've clipped vertically
if (page > 0) pdf.addPage();
// Set page background for dark mode
if (isDarkMode) {
pdf.setFillColor(0, 0, 0);
pdf.rect(0, 0, imgWidth, pageHeight, 'F'); // black bg
}
pdf.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight);
offsetY += pagePixelHeight;
page++;
}
document.body.removeChild(clonedElement);
pdf.save(`chat-${chat.chat.title}.pdf`);
} catch (error) {
console.error('Error generating PDF', error);
}
}
} else {
console.log('Downloading PDF');
const chatText = await getChatAsText(chat);
const doc = new jsPDF();
// Margins
const left = 15;
const top = 20;
const right = 15;
const bottom = 20;
const pageWidth = doc.internal.pageSize.getWidth();
const pageHeight = doc.internal.pageSize.getHeight();
const usableWidth = pageWidth - left - right;
const usableHeight = pageHeight - top - bottom;
// Font size and line height
const fontSize = 8;
doc.setFontSize(fontSize);
const lineHeight = fontSize * 1; // adjust if needed
// Split the markdown into lines (handles \n)
const paragraphs = chatText.split('\n');
let y = top;
for (let paragraph of paragraphs) {
// Wrap each paragraph to fit the width
const lines = doc.splitTextToSize(paragraph, usableWidth);
for (let line of lines) {
// If the line would overflow the bottom, add a new page
if (y + lineHeight > pageHeight - bottom) {
doc.addPage();
y = top;
}
doc.text(line, left, y);
y += lineHeight;
}
// Add empty line at paragraph breaks
y += lineHeight * 0.5;
}
doc.save(`chat-${chat.chat.title}.pdf`);
}
};
const downloadJSONExport = async () => {
const chat = await getChatById(localStorage.token, chatId);
@ -360,15 +236,6 @@
>
<div class="flex items-center line-clamp-1">{$i18n.t('Plain text (.txt)')}</div>
</DropdownMenu.Item>
<DropdownMenu.Item
class="flex gap-2 items-center px-3 py-2 text-sm cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-md"
on:click={() => {
downloadPdf();
}}
>
<div class="flex items-center line-clamp-1">{$i18n.t('PDF document (.pdf)')}</div>
</DropdownMenu.Item>
</DropdownMenu.SubContent>
</DropdownMenu.Sub>
<DropdownMenu.Item

View File

@ -610,7 +610,7 @@ ${content}
document.body.removeChild(node);
}
const imgData = canvas.toDataURL('image/png');
const imgData = canvas.toDataURL('image/jpeg', 0.7);
// A4 page settings
const pdf = new jsPDF('p', 'mm', 'a4');
@ -622,7 +622,7 @@ ${content}
let heightLeft = imgHeight;
let position = 0;
pdf.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight);
pdf.addImage(imgData, 'JPEG', 0, position, imgWidth, imgHeight);
heightLeft -= pageHeight;
// Handle additional pages
@ -630,7 +630,7 @@ ${content}
position -= pageHeight;
pdf.addPage();
pdf.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight);
pdf.addImage(imgData, 'JPEG', 0, position, imgWidth, imgHeight);
heightLeft -= pageHeight;
}

View File

@ -167,7 +167,7 @@
document.body.removeChild(node);
}
const imgData = canvas.toDataURL('image/png');
const imgData = canvas.toDataURL('image/jpeg', 0.7);
// A4 page settings
const pdf = new jsPDF('p', 'mm', 'a4');
@ -179,7 +179,7 @@
let heightLeft = imgHeight;
let position = 0;
pdf.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight);
pdf.addImage(imgData, 'JPEG', 0, position, imgWidth, imgHeight);
heightLeft -= pageHeight;
// Handle additional pages
@ -187,7 +187,7 @@
position -= pageHeight;
pdf.addPage();
pdf.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight);
pdf.addImage(imgData, 'JPEG', 0, position, imgWidth, imgHeight);
heightLeft -= pageHeight;
}

View File

@ -24,6 +24,9 @@
import Tooltip from '../common/Tooltip.svelte';
import { capitalizeFirstLetter, slugify } from '$lib/utils';
import XMark from '../icons/XMark.svelte';
import GarbageBin from '../icons/GarbageBin.svelte';
let shiftKey = false;
const i18n = getContext('i18n');
let promptsImportInputElement: HTMLInputElement;
@ -89,7 +92,16 @@
const deleteHandler = async (prompt) => {
const command = prompt.command;
await deletePromptByCommand(localStorage.token, command);
const res = await deletePromptByCommand(localStorage.token, command).catch((err) => {
toast.error(err);
return null;
});
if (res) {
toast.success($i18n.t(`Deleted {{name}}`, { name: command }));
}
await init();
};
@ -101,6 +113,32 @@
onMount(async () => {
await init();
loaded = true;
const onKeyDown = (event) => {
if (event.key === 'Shift') {
shiftKey = true;
}
};
const onKeyUp = (event) => {
if (event.key === 'Shift') {
shiftKey = false;
}
};
const onBlur = () => {
shiftKey = false;
};
window.addEventListener('keydown', onKeyDown);
window.addEventListener('keyup', onKeyUp);
window.addEventListener('blur', onBlur);
return () => {
window.removeEventListener('keydown', onKeyDown);
window.removeEventListener('keyup', onKeyUp);
window.removeEventListener('blur', onBlur);
};
});
</script>
@ -202,6 +240,19 @@
</a>
</div>
<div class="flex flex-row gap-0.5 self-center">
{#if shiftKey}
<Tooltip content={$i18n.t('Delete')}>
<button
class="self-center w-fit text-sm px-2 py-2 dark:text-gray-300 dark:hover:text-white hover:bg-black/5 dark:hover:bg-white/5 rounded-xl"
type="button"
on:click={() => {
deleteHandler(prompt);
}}
>
<GarbageBin />
</button>
</Tooltip>
{:else}
<a
class="self-center w-fit text-sm px-2 py-2 dark:text-gray-300 dark:hover:text-white hover:bg-black/5 dark:hover:bg-white/5 rounded-xl"
type="button"
@ -246,6 +297,7 @@
<EllipsisHorizontal className="size-5" />
</button>
</PromptMenu>
{/if}
</div>
</div>
{/each}

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ نماذج }}",
"{{COUNT}} Available Tools": "",
"{{COUNT}} characters": "",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "",
"{{COUNT}} Replies": "",
"{{COUNT}} words": "",
@ -82,9 +83,13 @@
"Allow Chat Share": "",
"Allow Chat System Prompt": "",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "",
"Allow Multiple Models in Chat": "",
"Allow non-local voices": "",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "",
"Allow Temporary Chat": "",
"Allow Text to Speech": "",
@ -425,7 +430,7 @@
"Docling Server URL required.": "",
"Document": "المستند",
"Document Intelligence": "",
"Document Intelligence endpoint and key required.": "",
"Document Intelligence endpoint required.": "",
"Documentation": "",
"Documents": "مستندات",
"does not make any external connections, and your data stays securely on your locally hosted server.": "لا يجري أي اتصالات خارجية، وتظل بياناتك آمنة على الخادم المستضاف محليًا.",
@ -489,7 +494,9 @@
"Enable Message Rating": "",
"Enable Mirostat sampling for controlling perplexity.": "",
"Enable New Sign Ups": "تفعيل عمليات التسجيل الجديدة",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "ممكّن",
"End Tag": "",
"Endpoint URL": "",
"Enforce Temporary Chat": "",
"Enhance": "",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "",
"Full Context Mode": "",
"Function": "",
@ -1167,6 +1175,7 @@
"Read Aloud": "أقراء لي",
"Reason": "",
"Reasoning Effort": "",
"Reasoning Tags": "",
"Record": "",
"Record voice": "سجل صوت",
"Redirecting you to Open WebUI Community": "OpenWebUI إعادة توجيهك إلى مجتمع ",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "",
"Speech-to-Text Engine": "محرك تحويل الكلام إلى نص",
"Start of the channel": "بداية القناة",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "",
"Stop Generating": "",

View File

@ -11,6 +11,7 @@
"{{ models }}": "النماذج: {{ models }}",
"{{COUNT}} Available Tools": "",
"{{COUNT}} characters": "",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "{{COUNT}} سطر/أسطر مخفية",
"{{COUNT}} Replies": "{{COUNT}} رد/ردود",
"{{COUNT}} words": "",
@ -82,9 +83,13 @@
"Allow Chat Share": "",
"Allow Chat System Prompt": "",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "السماح بتحميل الملفات",
"Allow Multiple Models in Chat": "",
"Allow non-local voices": "السماح بالأصوات غير المحلية",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "",
"Allow Temporary Chat": "السماح بالمحادثة المؤقتة",
"Allow Text to Speech": "",
@ -425,7 +430,7 @@
"Docling Server URL required.": "",
"Document": "المستند",
"Document Intelligence": "تحليل المستندات الذكي",
"Document Intelligence endpoint and key required.": "يتطلب نقطة نهاية ومفتاح لتحليل المستندات.",
"Document Intelligence endpoint required.": "",
"Documentation": "التوثيق",
"Documents": "مستندات",
"does not make any external connections, and your data stays securely on your locally hosted server.": "لا يجري أي اتصالات خارجية، وتظل بياناتك آمنة على الخادم المستضاف محليًا.",
@ -489,7 +494,9 @@
"Enable Message Rating": "تفعيل تقييم الرسائل",
"Enable Mirostat sampling for controlling perplexity.": "تفعيل أخذ عينات Mirostat للتحكم في درجة التعقيد.",
"Enable New Sign Ups": "تفعيل عمليات التسجيل الجديدة",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "مفعل",
"End Tag": "",
"Endpoint URL": "",
"Enforce Temporary Chat": "",
"Enhance": "",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "نسّق متغيراتك باستخدام الأقواس بهذا الشكل:",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "",
"Full Context Mode": "وضع السياق الكامل",
"Function": "وظيفة",
@ -1167,6 +1175,7 @@
"Read Aloud": "أقراء لي",
"Reason": "",
"Reasoning Effort": "جهد الاستدلال",
"Reasoning Tags": "",
"Record": "",
"Record voice": "سجل صوت",
"Redirecting you to Open WebUI Community": "OpenWebUI إعادة توجيهك إلى مجتمع ",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "",
"Speech-to-Text Engine": "محرك تحويل الكلام إلى نص",
"Start of the channel": "بداية القناة",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "إيقاف",
"Stop Generating": "",

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ models }}",
"{{COUNT}} Available Tools": "",
"{{COUNT}} characters": "",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "",
"{{COUNT}} Replies": "{{COUNT}} Отговори",
"{{COUNT}} words": "",
@ -82,9 +83,13 @@
"Allow Chat Share": "",
"Allow Chat System Prompt": "",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "Разреши качване на файлове",
"Allow Multiple Models in Chat": "",
"Allow non-local voices": "Разреши нелокални гласове",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "",
"Allow Temporary Chat": "Разреши временен чат",
"Allow Text to Speech": "",
@ -425,7 +430,7 @@
"Docling Server URL required.": "",
"Document": "Документ",
"Document Intelligence": "",
"Document Intelligence endpoint and key required.": "",
"Document Intelligence endpoint required.": "",
"Documentation": "Документация",
"Documents": "Документи",
"does not make any external connections, and your data stays securely on your locally hosted server.": "няма външни връзки, а вашите данни остават сигурни на локално назначен сървър.",
@ -489,7 +494,9 @@
"Enable Message Rating": "Активиране на оценяване на съобщения",
"Enable Mirostat sampling for controlling perplexity.": "",
"Enable New Sign Ups": "Включване на нови регистрации",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "Активирано",
"End Tag": "",
"Endpoint URL": "",
"Enforce Temporary Chat": "",
"Enhance": "",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "Форматирайте вашите променливи, използвайки скоби като това:",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "",
"Full Context Mode": "Режим на пълен контекст",
"Function": "Функция",
@ -1167,6 +1175,7 @@
"Read Aloud": "Прочети на глас",
"Reason": "",
"Reasoning Effort": "Усилие за разсъждение",
"Reasoning Tags": "",
"Record": "Запиши",
"Record voice": "Записване на глас",
"Redirecting you to Open WebUI Community": "Пренасочване към OpenWebUI общността",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "",
"Speech-to-Text Engine": "Двигател за преобразуване на реч в текста",
"Start of the channel": "Начало на канала",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "Спри",
"Stop Generating": "",

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ মডেল}}",
"{{COUNT}} Available Tools": "",
"{{COUNT}} characters": "",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "",
"{{COUNT}} Replies": "",
"{{COUNT}} words": "",
@ -82,9 +83,13 @@
"Allow Chat Share": "",
"Allow Chat System Prompt": "",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "",
"Allow Multiple Models in Chat": "",
"Allow non-local voices": "",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "",
"Allow Temporary Chat": "",
"Allow Text to Speech": "",
@ -425,7 +430,7 @@
"Docling Server URL required.": "",
"Document": "ডকুমেন্ট",
"Document Intelligence": "",
"Document Intelligence endpoint and key required.": "",
"Document Intelligence endpoint required.": "",
"Documentation": "",
"Documents": "ডকুমেন্টসমূহ",
"does not make any external connections, and your data stays securely on your locally hosted server.": "কোন এক্সটার্নাল কানেকশন তৈরি করে না, এবং আপনার ডেটা আর লোকালি হোস্টেড সার্ভারেই নিরাপদে থাকে।",
@ -489,7 +494,9 @@
"Enable Message Rating": "",
"Enable Mirostat sampling for controlling perplexity.": "",
"Enable New Sign Ups": "নতুন সাইনআপ চালু করুন",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "সক্রিয়",
"End Tag": "",
"Endpoint URL": "",
"Enforce Temporary Chat": "",
"Enhance": "",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "",
"Full Context Mode": "",
"Function": "",
@ -1167,6 +1175,7 @@
"Read Aloud": "পড়াশোনা করুন",
"Reason": "",
"Reasoning Effort": "",
"Reasoning Tags": "",
"Record": "",
"Record voice": "ভয়েস রেকর্ড করুন",
"Redirecting you to Open WebUI Community": "আপনাকে OpenWebUI কমিউনিটিতে পাঠানো হচ্ছে",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "",
"Speech-to-Text Engine": "স্পিচ-টু-টেক্সট ইঞ্জিন",
"Start of the channel": "চ্যানেলের শুরু",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "",
"Stop Generating": "",

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ models }}",
"{{COUNT}} Available Tools": "",
"{{COUNT}} characters": "",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "ཡིག་ཕྲེང་ {{COUNT}} སྦས་ཡོད།",
"{{COUNT}} Replies": "ལན་ {{COUNT}}",
"{{COUNT}} words": "",
@ -82,9 +83,13 @@
"Allow Chat Share": "",
"Allow Chat System Prompt": "",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "ཡིག་ཆ་སྤར་བར་གནང་བ་སྤྲོད་པ།",
"Allow Multiple Models in Chat": "",
"Allow non-local voices": "ས་གནས་མིན་པའི་སྐད་གདངས་ལ་གནང་བ་སྤྲོད་པ།",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "",
"Allow Temporary Chat": "གནས་སྐབས་ཁ་བརྡར་གནང་བ་སྤྲོད་པ།",
"Allow Text to Speech": "",
@ -425,7 +430,7 @@
"Docling Server URL required.": "Docling སར་བར་གྱི་ URL དགོས་ངེས།",
"Document": "ཡིག་ཆ།",
"Document Intelligence": "ཡིག་ཆའི་རིག་ནུས།",
"Document Intelligence endpoint and key required.": "ཡིག་ཆའི་རིག་ནུས་མཇུག་མཐུད་དང་ལྡེ་མིག་དགོས་ངེས།",
"Document Intelligence endpoint required.": "",
"Documentation": "ཡིག་ཆ།",
"Documents": "ཡིག་ཆ།",
"does not make any external connections, and your data stays securely on your locally hosted server.": "ཕྱི་རོལ་གྱི་སྦྲེལ་མཐུད་གང་ཡང་མི་བྱེད། དེ་མིན་ཁྱེད་ཀྱི་གནས་ཚུལ་དེ་ཁྱེད་ཀྱི་ས་གནས་སུ་བཀོད་སྒྲིག་བྱས་པའི་སར་བར་སྟེང་བདེ་འཇགས་ངང་གནས་ངེས།",
@ -489,7 +494,9 @@
"Enable Message Rating": "འཕྲིན་ལ་སྐར་མ་སྤྲོད་པ་སྒུལ་བསྐྱོད་བྱེད་པ།",
"Enable Mirostat sampling for controlling perplexity.": "རྙོག་འཛིང་ཚད་ཚོད་འཛིན་གྱི་ཆེད་དུ་ Mirostat མ་དཔེ་འདེམས་པ་སྒུལ་བསྐྱོད་བྱེད་པ།",
"Enable New Sign Ups": "ཐོ་འགོད་གསར་པ་སྒུལ་བསྐྱོད་བྱེད་པ།",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "སྒུལ་བསྐྱོད་བྱས་ཡོད།",
"End Tag": "",
"Endpoint URL": "",
"Enforce Temporary Chat": "གནས་སྐབས་ཁ་བརྡ་བཙན་བཀོལ་བྱེད་པ།",
"Enhance": "",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "ཁྱེད་ཀྱི་འགྱུར་ཚད་དེ་འདི་ལྟར་གུག་རྟགས་བེད་སྤྱོད་ནས་བཀོད་སྒྲིག་བྱེད་པ།:",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "",
"Full Context Mode": "ནང་དོན་ཆ་ཚང་མ་དཔེ།",
"Function": "ལས་འགན།",
@ -1167,6 +1175,7 @@
"Read Aloud": "སྐད་གསལ་པོས་ཀློག་པ།",
"Reason": "",
"Reasoning Effort": "རྒྱུ་མཚན་འདྲེན་པའི་འབད་བརྩོན།",
"Reasoning Tags": "",
"Record": "",
"Record voice": "སྐད་སྒྲ་ཕབ་པ།",
"Redirecting you to Open WebUI Community": "ཁྱེད་ Open WebUI སྤྱི་ཚོགས་ལ་ཁ་ཕྱོགས་སྒྱུར་བཞིན་པ།",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "",
"Speech-to-Text Engine": "གཏམ་བཤད་ནས་ཡིག་རྐྱང་གི་འཕྲུལ་འཁོར།",
"Start of the channel": "རྒྱས་ལམ་འགོ་རིམ་",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "མཚམས་འཇོག",
"Stop Generating": "",

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ models }}",
"{{COUNT}} Available Tools": "{{COUNT}} eines disponibles",
"{{COUNT}} characters": "{{COUNT}} caràcters",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "{{COUNT}} línies ocultes",
"{{COUNT}} Replies": "{{COUNT}} respostes",
"{{COUNT}} words": "{{COUNT}} paraules",
@ -82,9 +83,13 @@
"Allow Chat Share": "Permetre compartir el xat",
"Allow Chat System Prompt": "Permet la indicació de sistema al xat",
"Allow Chat Valves": "Permetre Valves al xat",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "Permetre la pujada d'arxius",
"Allow Multiple Models in Chat": "Permetre múltiple models al xat",
"Allow non-local voices": "Permetre veus no locals",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "Permetre Parla a Text",
"Allow Temporary Chat": "Permetre el xat temporal",
"Allow Text to Speech": "Permetre Text a Parla",
@ -425,7 +430,7 @@
"Docling Server URL required.": "La URL del servidor Docling és necessària",
"Document": "Document",
"Document Intelligence": "Document Intelligence",
"Document Intelligence endpoint and key required.": "Fa falta un punt de connexió i una clau per a Document Intelligence.",
"Document Intelligence endpoint required.": "",
"Documentation": "Documentació",
"Documents": "Documents",
"does not make any external connections, and your data stays securely on your locally hosted server.": "no realitza connexions externes, i les teves dades romanen segures al teu servidor allotjat localment.",
@ -489,7 +494,9 @@
"Enable Message Rating": "Permetre la qualificació de missatges",
"Enable Mirostat sampling for controlling perplexity.": "Permetre el mostreig de Mirostat per controlar la perplexitat",
"Enable New Sign Ups": "Permetre nous registres",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "Habilitat",
"End Tag": "",
"Endpoint URL": "URL de connexió",
"Enforce Temporary Chat": "Forçar els xats temporals",
"Enhance": "Millorar",
@ -718,6 +725,7 @@
"Format Lines": "Formatar les línies",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "Formata les línies a la sortida. Per defecte, és Fals. Si es defineix com a Cert, les línies es formataran per detectar matemàtiques i estils en línia.",
"Format your variables using brackets like this:": "Formata les teves variables utilitzant claudàtors així:",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "Envia les credencials de l'usuari del sistema per autenticar",
"Full Context Mode": "Mode de context complert",
"Function": "Funció",
@ -1167,6 +1175,7 @@
"Read Aloud": "Llegir en veu alta",
"Reason": "Raó",
"Reasoning Effort": "Esforç de raonament",
"Reasoning Tags": "",
"Record": "Enregistrar",
"Record voice": "Enregistrar la veu",
"Redirecting you to Open WebUI Community": "Redirigint-te a la comunitat OpenWebUI",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "Àudio-a-Text",
"Speech-to-Text Engine": "Motor de veu a text",
"Start of the channel": "Inici del canal",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "Atura",
"Stop Generating": "Atura la generació",

View File

@ -11,6 +11,7 @@
"{{ models }}": "",
"{{COUNT}} Available Tools": "",
"{{COUNT}} characters": "",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "",
"{{COUNT}} Replies": "",
"{{COUNT}} words": "",
@ -82,9 +83,13 @@
"Allow Chat Share": "",
"Allow Chat System Prompt": "",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "",
"Allow Multiple Models in Chat": "",
"Allow non-local voices": "",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "",
"Allow Temporary Chat": "",
"Allow Text to Speech": "",
@ -425,7 +430,7 @@
"Docling Server URL required.": "",
"Document": "Dokumento",
"Document Intelligence": "",
"Document Intelligence endpoint and key required.": "",
"Document Intelligence endpoint required.": "",
"Documentation": "",
"Documents": "Mga dokumento",
"does not make any external connections, and your data stays securely on your locally hosted server.": "wala maghimo ug eksternal nga koneksyon, ug ang imong data nagpabiling luwas sa imong lokal nga host server.",
@ -489,7 +494,9 @@
"Enable Message Rating": "",
"Enable Mirostat sampling for controlling perplexity.": "",
"Enable New Sign Ups": "I-enable ang bag-ong mga rehistro",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "Gipaandar",
"End Tag": "",
"Endpoint URL": "",
"Enforce Temporary Chat": "",
"Enhance": "",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "",
"Full Context Mode": "",
"Function": "",
@ -1167,6 +1175,7 @@
"Read Aloud": "",
"Reason": "",
"Reasoning Effort": "",
"Reasoning Tags": "",
"Record": "",
"Record voice": "Irekord ang tingog",
"Redirecting you to Open WebUI Community": "Gi-redirect ka sa komunidad sa OpenWebUI",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "",
"Speech-to-Text Engine": "Engine sa pag-ila sa tingog",
"Start of the channel": "Sinugdan sa channel",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "",
"Stop Generating": "",

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ models }}",
"{{COUNT}} Available Tools": "{{COUNT}} dostupných nástrojů",
"{{COUNT}} characters": "{{COUNT}} znaků",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "{{COUNT}} skrytých řádků",
"{{COUNT}} Replies": "{{COUNT}} odpovědí",
"{{COUNT}} words": "{{COUNT}} slov",
@ -82,9 +83,13 @@
"Allow Chat Share": "Povolit sdílení konverzace",
"Allow Chat System Prompt": "Povolit systémové instrukce konverzace",
"Allow Chat Valves": "Povolit ventily chatu",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "Povolit nahrávání souborů",
"Allow Multiple Models in Chat": "Povolit více modelů v chatu",
"Allow non-local voices": "Povolit nelokální hlasy",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "Povolit převod řeči na text",
"Allow Temporary Chat": "Povolit dočasnou konverzaci",
"Allow Text to Speech": "Povolit převod textu na řeč",
@ -425,7 +430,7 @@
"Docling Server URL required.": "Je vyžadována URL adresa serveru Docling.",
"Document": "Dokument",
"Document Intelligence": "Document Intelligence",
"Document Intelligence endpoint and key required.": "Je vyžadován koncový bod a klíč pro Document Intelligence.",
"Document Intelligence endpoint required.": "",
"Documentation": "Dokumentace",
"Documents": "Dokumenty",
"does not make any external connections, and your data stays securely on your locally hosted server.": "nevytváří žádná externí připojení a vaše data zůstávají bezpečně na vašem lokálně hostovaném serveru.",
@ -489,7 +494,9 @@
"Enable Message Rating": "Povolit hodnocení zpráv",
"Enable Mirostat sampling for controlling perplexity.": "Povolit vzorkování Mirostat pro řízení perplexity.",
"Enable New Sign Ups": "Povolit nové registrace",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "Povoleno",
"End Tag": "",
"Endpoint URL": "URL koncového bodu",
"Enforce Temporary Chat": "Vynutit dočasnou konverzaci",
"Enhance": "Vylepšit",
@ -718,6 +725,7 @@
"Format Lines": "Formátovat řádky",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "Formátovat řádky ve výstupu. Výchozí hodnota je False. Pokud je nastaveno na True, řádky budou formátovány pro detekci vložené matematiky a stylů.",
"Format your variables using brackets like this:": "Formátujte své proměnné pomocí složených závorek takto:",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "Přeposílá přihlašovací údaje relace systémového uživatele pro ověření",
"Full Context Mode": "Režim plného kontextu",
"Function": "Funkce",
@ -1167,6 +1175,7 @@
"Read Aloud": "Číst nahlas",
"Reason": "Důvod",
"Reasoning Effort": "Úsilí pro uvažování",
"Reasoning Tags": "",
"Record": "Nahrát",
"Record voice": "Nahrát hlas",
"Redirecting you to Open WebUI Community": "Přesměrovávám vás do komunity Open WebUI",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "Převod řeči na text",
"Speech-to-Text Engine": "Jádro pro převod řeči na text",
"Start of the channel": "Začátek kanálu",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "Zastavit",
"Stop Generating": "Zastavit generování",

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ modeller }}",
"{{COUNT}} Available Tools": "{{COUNT}} Tilgængelige værktøjer",
"{{COUNT}} characters": "{{COUNT}} tegn",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "{{COUNT}} skjulte linjer",
"{{COUNT}} Replies": "{{COUNT}} svar",
"{{COUNT}} words": "{{COUNT}} ord",
@ -82,9 +83,13 @@
"Allow Chat Share": "Tillad deling af chats",
"Allow Chat System Prompt": "Tillad system prompt",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "Tillad upload af fil",
"Allow Multiple Models in Chat": "Tillad flere modeller i chats",
"Allow non-local voices": "Tillad ikke-lokale stemmer",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "Tillad tale til tekst",
"Allow Temporary Chat": "Tillad midlertidig chat",
"Allow Text to Speech": "Tillad tekst til tale",
@ -425,7 +430,7 @@
"Docling Server URL required.": "Docling Server URL påkrævet.",
"Document": "Dokument",
"Document Intelligence": "Dokument Intelligence",
"Document Intelligence endpoint and key required.": "Dokument Intelligence endpoint og nøgle påkrævet.",
"Document Intelligence endpoint required.": "",
"Documentation": "Dokumentation",
"Documents": "Dokumenter",
"does not make any external connections, and your data stays securely on your locally hosted server.": "laver ikke eksterne kald, og din data bliver sikkert på din egen lokalt hostede server.",
@ -489,7 +494,9 @@
"Enable Message Rating": "Aktiver rating af besked",
"Enable Mirostat sampling for controlling perplexity.": "Aktiver Mirostat sampling for at kontrollere perplexity.",
"Enable New Sign Ups": "Aktiver nye signups",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "Aktiveret",
"End Tag": "",
"Endpoint URL": "Endpoint URL",
"Enforce Temporary Chat": "Gennemtving midlertidig chat",
"Enhance": "Forbedre",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "Formater dine variable ved hjælp af klammer som dette:",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "Videresender system bruger session credentials til autentificering",
"Full Context Mode": "Fuld kontekst tilstand",
"Function": "Funktion",
@ -1167,6 +1175,7 @@
"Read Aloud": "Læs højt",
"Reason": "Årsag",
"Reasoning Effort": "Ræsonnements indsats",
"Reasoning Tags": "",
"Record": "Optag",
"Record voice": "Optag stemme",
"Redirecting you to Open WebUI Community": "Omdirigerer dig til OpenWebUI Community",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "Tale-til-tekst",
"Speech-to-Text Engine": "Tale-til-tekst-engine",
"Start of the channel": "Kanalens start",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "Stop",
"Stop Generating": "Stop generering",

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ Modelle }}",
"{{COUNT}} Available Tools": "{{COUNT}} verfügbare Werkzeuge",
"{{COUNT}} characters": "{{COUNT}} Zeichen",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "{{COUNT}} versteckte Zeilen",
"{{COUNT}} Replies": "{{COUNT}} Antworten",
"{{COUNT}} words": "{{COUNT}} Wörter",
@ -82,9 +83,13 @@
"Allow Chat Share": "Erlaube Chat teilen",
"Allow Chat System Prompt": "Erlaube Chat System Prompt",
"Allow Chat Valves": "Erlaube Chat Valves",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "Hochladen von Dateien erlauben",
"Allow Multiple Models in Chat": "Multiple Modelle in Chat erlauben",
"Allow non-local voices": "Nicht-lokale Stimmen erlauben",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "Sprache zu Text erlauben",
"Allow Temporary Chat": "Temporäre Chats erlauben",
"Allow Text to Speech": "Text zu Sprache erlauben",
@ -425,7 +430,7 @@
"Docling Server URL required.": "Docling Server URL erforderlich",
"Document": "Dokument",
"Document Intelligence": "",
"Document Intelligence endpoint and key required.": "Endpunkt und Schlüssel für document intelligence erforderlich.",
"Document Intelligence endpoint required.": "",
"Documentation": "Dokumentation",
"Documents": "Dokumente",
"does not make any external connections, and your data stays securely on your locally hosted server.": "stellt keine externen Verbindungen her, und Ihre Daten bleiben sicher auf Ihrem lokal gehosteten Server.",
@ -489,7 +494,9 @@
"Enable Message Rating": "Nachrichtenbewertung aktivieren",
"Enable Mirostat sampling for controlling perplexity.": "",
"Enable New Sign Ups": "Registrierung erlauben",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "Aktiviert",
"End Tag": "",
"Endpoint URL": "Endpunkt-URL",
"Enforce Temporary Chat": "Temporären Chat erzwingen",
"Enhance": "Verbessern",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "Formatieren Sie Ihre Variablen mit Klammern, wie hier:",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "Leitet Anmeldedaten der user session zur Authentifizierung weiter",
"Full Context Mode": "Voll-Kontext Modus",
"Function": "Funktion",
@ -1167,6 +1175,7 @@
"Read Aloud": "Vorlesen",
"Reason": "Nachdenken",
"Reasoning Effort": "Nachdenk-Aufwand",
"Reasoning Tags": "",
"Record": "Aufzeichnen",
"Record voice": "Stimme aufnehmen",
"Redirecting you to Open WebUI Community": "Sie werden zur OpenWebUI-Community weitergeleitet",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "Sprache-zu-Text",
"Speech-to-Text Engine": "Sprache-zu-Text-Engine",
"Start of the channel": "Beginn des Kanals",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "Stop",
"Stop Generating": "Generierung stoppen",

View File

@ -11,6 +11,7 @@
"{{ models }}": "",
"{{COUNT}} Available Tools": "",
"{{COUNT}} characters": "",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "",
"{{COUNT}} Replies": "",
"{{COUNT}} words": "",
@ -82,9 +83,13 @@
"Allow Chat Share": "",
"Allow Chat System Prompt": "",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "",
"Allow Multiple Models in Chat": "",
"Allow non-local voices": "",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "",
"Allow Temporary Chat": "",
"Allow Text to Speech": "",
@ -425,7 +430,7 @@
"Docling Server URL required.": "",
"Document": "Document",
"Document Intelligence": "",
"Document Intelligence endpoint and key required.": "",
"Document Intelligence endpoint required.": "",
"Documentation": "",
"Documents": "Documents",
"does not make any external connections, and your data stays securely on your locally hosted server.": "does not connect external, data stays safe locally.",
@ -489,7 +494,9 @@
"Enable Message Rating": "",
"Enable Mirostat sampling for controlling perplexity.": "",
"Enable New Sign Ups": "Enable New Bark Ups",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "Enabled wow",
"End Tag": "",
"Endpoint URL": "",
"Enforce Temporary Chat": "",
"Enhance": "",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "",
"Full Context Mode": "",
"Function": "",
@ -1167,6 +1175,7 @@
"Read Aloud": "",
"Reason": "",
"Reasoning Effort": "",
"Reasoning Tags": "",
"Record": "",
"Record voice": "Record Bark",
"Redirecting you to Open WebUI Community": "Redirecting you to Open WebUI Community",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "",
"Speech-to-Text Engine": "Speech-to-Text Engine much speak",
"Start of the channel": "Start of channel",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "",
"Stop Generating": "",

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ models }}",
"{{COUNT}} Available Tools": "",
"{{COUNT}} characters": "",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "",
"{{COUNT}} Replies": "",
"{{COUNT}} words": "",
@ -82,9 +83,13 @@
"Allow Chat Share": "",
"Allow Chat System Prompt": "",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "Επιτρέπεται η Αποστολή Αρχείων",
"Allow Multiple Models in Chat": "",
"Allow non-local voices": "Επιτρέπονται μη τοπικές φωνές",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "",
"Allow Temporary Chat": "Επιτρέπεται η Προσωρινή Συνομιλία",
"Allow Text to Speech": "",
@ -425,7 +430,7 @@
"Docling Server URL required.": "",
"Document": "Έγγραφο",
"Document Intelligence": "",
"Document Intelligence endpoint and key required.": "",
"Document Intelligence endpoint required.": "",
"Documentation": "Τεκμηρίωση",
"Documents": "Έγγραφα",
"does not make any external connections, and your data stays securely on your locally hosted server.": "δεν κάνει καμία εξωτερική σύνδεση, και τα δεδομένα σας παραμένουν ασφαλή στον τοπικά φιλοξενούμενο διακομιστή σας.",
@ -489,7 +494,9 @@
"Enable Message Rating": "Ενεργοποίηση Αξιολόγησης Μηνυμάτων",
"Enable Mirostat sampling for controlling perplexity.": "",
"Enable New Sign Ups": "Ενεργοποίηση Νέων Εγγραφών",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "Ενεργοποιημένο",
"End Tag": "",
"Endpoint URL": "",
"Enforce Temporary Chat": "",
"Enhance": "",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "Μορφοποιήστε τις μεταβλητές σας χρησιμοποιώντας αγκύλες όπως αυτό:",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "",
"Full Context Mode": "",
"Function": "Λειτουργία",
@ -1167,6 +1175,7 @@
"Read Aloud": "Ανάγνωση Φωναχτά",
"Reason": "",
"Reasoning Effort": "",
"Reasoning Tags": "",
"Record": "",
"Record voice": "Εγγραφή φωνής",
"Redirecting you to Open WebUI Community": "Μετακατεύθυνση στην Κοινότητα OpenWebUI",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "",
"Speech-to-Text Engine": "Μηχανή Speech-to-Text",
"Start of the channel": "Αρχή του καναλιού",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "Σταμάτημα",
"Stop Generating": "",

View File

@ -11,6 +11,7 @@
"{{ models }}": "",
"{{COUNT}} Available Tools": "",
"{{COUNT}} characters": "",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "",
"{{COUNT}} Replies": "",
"{{COUNT}} words": "",
@ -82,9 +83,13 @@
"Allow Chat Share": "",
"Allow Chat System Prompt": "",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "",
"Allow Multiple Models in Chat": "",
"Allow non-local voices": "",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "",
"Allow Temporary Chat": "",
"Allow Text to Speech": "",
@ -425,7 +430,7 @@
"Docling Server URL required.": "",
"Document": "",
"Document Intelligence": "",
"Document Intelligence endpoint and key required.": "",
"Document Intelligence endpoint required.": "",
"Documentation": "",
"Documents": "",
"does not make any external connections, and your data stays securely on your locally hosted server.": "",
@ -489,7 +494,9 @@
"Enable Message Rating": "",
"Enable Mirostat sampling for controlling perplexity.": "",
"Enable New Sign Ups": "",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "",
"End Tag": "",
"Endpoint URL": "",
"Enforce Temporary Chat": "",
"Enhance": "",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "",
"Full Context Mode": "",
"Function": "",
@ -1167,6 +1175,7 @@
"Read Aloud": "",
"Reason": "",
"Reasoning Effort": "",
"Reasoning Tags": "",
"Record": "",
"Record voice": "",
"Redirecting you to Open WebUI Community": "",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "",
"Speech-to-Text Engine": "",
"Start of the channel": "",
"Start Tag": "",
"STDOUT/STDERR": "",
"Stop": "",
"Stop Generating": "",

View File

@ -11,6 +11,7 @@
"{{ models }}": "",
"{{COUNT}} Available Tools": "",
"{{COUNT}} characters": "",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "",
"{{COUNT}} Replies": "",
"{{COUNT}} words": "",
@ -82,9 +83,13 @@
"Allow Chat Share": "",
"Allow Chat System Prompt": "",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "",
"Allow Multiple Models in Chat": "",
"Allow non-local voices": "",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "",
"Allow Temporary Chat": "",
"Allow Text to Speech": "",
@ -425,7 +430,7 @@
"Docling Server URL required.": "",
"Document": "",
"Document Intelligence": "",
"Document Intelligence endpoint and key required.": "",
"Document Intelligence endpoint required.": "",
"Documentation": "",
"Documents": "",
"does not make any external connections, and your data stays securely on your locally hosted server.": "",
@ -489,7 +494,9 @@
"Enable Message Rating": "",
"Enable Mirostat sampling for controlling perplexity.": "",
"Enable New Sign Ups": "",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "",
"End Tag": "",
"Endpoint URL": "",
"Enforce Temporary Chat": "",
"Enhance": "",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "",
"Full Context Mode": "",
"Function": "",
@ -1167,6 +1175,7 @@
"Read Aloud": "",
"Reason": "",
"Reasoning Effort": "",
"Reasoning Tags": "",
"Record": "",
"Record voice": "",
"Redirecting you to Open WebUI Community": "",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "",
"Speech-to-Text Engine": "",
"Start of the channel": "",
"Start Tag": "",
"STDOUT/STDERR": "",
"Stop": "",
"Stop Generating": "",

View File

@ -11,10 +11,11 @@
"{{ models }}": "{{ models }}",
"{{COUNT}} Available Tools": "{{COUNT}} herramientas disponibles",
"{{COUNT}} characters": "{{COUNT}} caracteres",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "{{COUNT}} líneas ocultas",
"{{COUNT}} Replies": "{{COUNT}} Respuestas",
"{{COUNT}} words": "{{COUNT}} palabras",
"{{model}} download has been canceled": "",
"{{model}} download has been canceled": "La descarga de {{model}} ha sido cancelada",
"{{user}}'s Chats": "Chats de {{user}}",
"{{webUIName}} Backend Required": "{{webUIName}} Servidor Requerido",
"*Prompt node ID(s) are required for image generation": "Los ID de nodo son requeridos para la generación de imágenes",
@ -30,7 +31,7 @@
"Account Activation Pending": "Activación de cuenta Pendiente",
"Accurate information": "Información precisa",
"Action": "Acción",
"Action not found": "",
"Action not found": "Acción no encontrada",
"Action Required for Chat Log Storage": "Se requiere acción para almacenar el registro del chat",
"Actions": "Acciones",
"Activate": "Activar",
@ -82,9 +83,13 @@
"Allow Chat Share": "Permitir Compartir Chat",
"Allow Chat System Prompt": "Permitir Indicador del Sistema en Chat",
"Allow Chat Valves": "Permitir Válvulas en Chat",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "Permitir Subida de Archivos",
"Allow Multiple Models in Chat": "Permitir Chat con Múltiples Modelos",
"Allow non-local voices": "Permitir voces no locales",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "Permitir Transcribir Voz a Texto",
"Allow Temporary Chat": "Permitir Chat Temporal",
"Allow Text to Speech": "Permitir Leer Texto",
@ -101,7 +106,7 @@
"Always Play Notification Sound": "Reproducir Siempre Sonido de Notificación",
"Amazing": "Emocionante",
"an assistant": "un asistente",
"An error occurred while fetching the explanation": "",
"An error occurred while fetching the explanation": "Ha ocurrido un error obtenendo la explicación",
"Analytics": "Analíticas",
"Analyzed": "Analizado",
"Analyzing...": "Analizando..",
@ -117,8 +122,8 @@
"API Key created.": "Clave API creada.",
"API Key Endpoint Restrictions": "Clave API para Endpoints Restringidos",
"API keys": "Claves API",
"API Version": "Version API",
"API Version is required": "",
"API Version": "Versión API",
"API Version is required": "La Versión API es requerida",
"Application DN": "Aplicacion DN",
"Application DN Password": "Contraseña Aplicacion DN",
"applies to all users with the \"user\" role": "se aplica a todos los usuarios con el rol \"user\" ",
@ -169,14 +174,14 @@
"Banners": "Banners",
"Base Model (From)": "Modelo Base (desde)",
"Base Model List Cache speeds up access by fetching base models only at startup or on settings save—faster, but may not show recent base model changes.": "Cachear Lista Modelos Base acelera el acceso recuperando los modelos base solo al inicio o en el auto guardado rápido de la configuración, si se activa hay que tener en cuenta que los cambios más recientes en las listas de modelos podrían no reflejarse de manera inmediata.",
"Bearer": "",
"Bearer": "Portador (Bearer)",
"before": "antes",
"Being lazy": "Ser perezoso",
"Beta": "Beta",
"Bing Search V7 Endpoint": "Endpoint de Bing Search V7",
"Bing Search V7 Subscription Key": "Clave de Suscripción de Bing Search V7",
"Bio": "",
"Birth Date": "",
"Bio": "Bio",
"Birth Date": "Fecha de Nacimiento",
"BM25 Weight": "Ponderación BM25",
"Bocha Search API Key": "Clave API de Bocha Search",
"Bold": "Negrita",
@ -201,21 +206,21 @@
"Capture Audio": "Capturar Audio",
"Certificate Path": "Ruta a Certificado",
"Change Password": "Cambiar Contraseña",
"Channel deleted successfully": "",
"Channel deleted successfully": "Canal borrado correctamente",
"Channel Name": "Nombre del Canal",
"Channel updated successfully": "",
"Channel updated successfully": "Canal actualizado correctamente",
"Channels": "Canal",
"Character": "Carácter",
"Character limit for autocomplete generation input": "Límite de caracteres de entrada de la generación de autocompletado",
"Chart new frontiers": "Trazar nuevas fronteras",
"Chat": "Chat",
"Chat Background Image": "Imágen de Fondo del Chat",
"Chat Bubble UI": "Interfaz de Chat en Burbuja",
"Chat Controls": "Controles de chat",
"Chat Conversation": "",
"Chat direction": "Dirección de Chat",
"Chat Bubble UI": "Interfaz del Chat en Burbuja",
"Chat Controls": "Controles del Chat",
"Chat Conversation": "Conversación del Chat",
"Chat direction": "Dirección del Chat",
"Chat ID": "ID del Chat",
"Chat moved successfully": "",
"Chat moved successfully": "Chat movido correctamente",
"Chat Overview": "Vista General del Chat",
"Chat Permissions": "Permisos del Chat",
"Chat Tags Auto-Generation": "AutoGeneración de Etiquetas de Chat",
@ -254,7 +259,7 @@
"Close modal": "Cerrar modal",
"Close settings modal": "Cerrar modal configuraciones",
"Close Sidebar": "Cerrar Barra Lateral",
"CMU ARCTIC speaker embedding name": "",
"CMU ARCTIC speaker embedding name": "Nombre de incrustación CMU ARCTIC del interlocutor",
"Code Block": "Bloque de Código",
"Code execution": "Ejecución de Código",
"Code Execution": "Ejecución de Código",
@ -273,13 +278,13 @@
"ComfyUI Base URL is required.": "La URL Base de ComfyUI es necesaria.",
"ComfyUI Workflow": "Flujo de Trabajo de ComfyUI",
"ComfyUI Workflow Nodes": "Nodos del Flujo de Trabajo de ComfyUI",
"Comma separated Node Ids (e.g. 1 or 1,2)": "",
"Comma separated Node Ids (e.g. 1 or 1,2)": "IDs de Nodo separados por comas (ej. 1 o 1,2)",
"Command": "Comando",
"Comment": "Comentario",
"Completions": "Cumplimientos",
"Compress Images in Channels": "Comprimir Imágenes en Canales",
"Concurrent Requests": "Número de Solicitudes Concurrentes",
"Config imported successfully": "",
"Config imported successfully": "Configuración importada correctamente",
"Configure": "Configurar",
"Confirm": "Confirmar",
"Confirm Password": "Confirma Contraseña",
@ -306,7 +311,7 @@
"Control the repetition of token sequences in the generated text. A higher value (e.g., 1.5) will penalize repetitions more strongly, while a lower value (e.g., 1.1) will be more lenient. At 1, it is disabled.": "Controla la repetición de secuencias de tokens en el texto generado. Un valor más alto (p.ej., 1.5) penalizá más las repeticiones, mientras que un valor más bajo (p.ej., 1.1) sería más permisivo. En 1, el control está desactivado.",
"Controls": "Controles",
"Controls the balance between coherence and diversity of the output. A lower value will result in more focused and coherent text.": "Controles del equilibrio entre coherencia y diversidad de la salida. Un valor más bajo produce un texto más centrado y coherente.",
"Conversation saved successfully": "",
"Conversation saved successfully": "Conversación guardada correctamente",
"Copied": "Copiado",
"Copied link to clipboard": "Enlace copiado a portapapeles",
"Copied shared chat URL to clipboard!": "¡Copiada al portapapeles la URL del chat compartido!",
@ -351,7 +356,7 @@
"Datalab Marker API Key required.": "Clave API de Datalab Marker Requerida",
"DD/MM/YYYY": "DD/MM/YYYY",
"December": "Diciembre",
"Deepgram": "",
"Deepgram": "Deepgram",
"Default": "Predeterminado",
"Default (Open AI)": "Predeterminado (Open AI)",
"Default (SentenceTransformers)": "Predeterminado (SentenceTransformers)",
@ -398,7 +403,7 @@
"Direct Connections": "Conexiones Directas",
"Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "Las Conexiones Directas permiten a los usuarios conectar a sus propios endpoints compatibles API OpenAI.",
"Direct Tool Servers": "Servidores de Herramientas Directos",
"Directory selection was cancelled": "",
"Directory selection was cancelled": "La selección de directorio ha sido cancelada",
"Disable Code Interpreter": "Deshabilitar Interprete de Código",
"Disable Image Extraction": "Deshabilitar Extracción de Imágenes",
"Disable image extraction from the PDF. If Use LLM is enabled, images will be automatically captioned. Defaults to False.": "Desabilita la extracción de imágenes del pdf. Si está habilitado Usar LLM las imágenes se capturan automáticamente. Por defecto el valor es Falso (las imágenes se extraen).",
@ -425,7 +430,7 @@
"Docling Server URL required.": "Docling URL del servidor necesaria.",
"Document": "Documento",
"Document Intelligence": "Azure Doc Intelligence",
"Document Intelligence endpoint and key required.": "Es neceario un endpoint y clave de Azure Document Intelligence.",
"Document Intelligence endpoint required.": "",
"Documentation": "Documentación",
"Documents": "Documentos",
"does not make any external connections, and your data stays securely on your locally hosted server.": "no se realiza ninguna conexión externa y tus datos permanecen seguros alojados localmente en tu servidor.",
@ -489,7 +494,9 @@
"Enable Message Rating": "Habilitar Calificación de los Mensajes",
"Enable Mirostat sampling for controlling perplexity.": "Algoritmo de decodificación de texto neuronal que controla activamente el proceso generativo para mantener la perplejidad del texto generado en un valor deseado. Previene las trampas de aburrimiento (por excesivas repeticiones) y de incoherencia (por generación de excesivo texto).",
"Enable New Sign Ups": "Habilitar Registros de Nuevos Usuarios",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "Habilitado",
"End Tag": "",
"Endpoint URL": "Endpoint URL",
"Enforce Temporary Chat": "Forzar el uso de Chat Temporal",
"Enhance": "Mejorar",
@ -512,7 +519,7 @@
"Enter comma-separated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "Ingresar pares \"token:valor_sesgo\" separados por comas (ejemplo: 5432:100, 413:-100)",
"Enter Config in JSON format": "Ingresar Config en formato JSON",
"Enter content for the pending user info overlay. Leave empty for default.": "Ingresar contenido para la sobrecapa informativa de usuario pendiente. Dejar vacío para usar el predeterminado.",
"Enter coordinates (e.g. 51.505, -0.09)": "",
"Enter coordinates (e.g. 51.505, -0.09)": "Ingresar coordenadas (ej. 51.505, -0.09)",
"Enter Datalab Marker API Base URL": "Ingresar la URL Base para la API de Datalab Marker",
"Enter Datalab Marker API Key": "Ingresar Clave API de Datalab Marker",
"Enter description": "Ingresar Descripción",
@ -535,8 +542,8 @@
"Enter Github Raw URL": "Ingresar URL Github en Bruto(raw)",
"Enter Google PSE API Key": "Ingresar Clave API de Google PSE",
"Enter Google PSE Engine Id": "Ingresa ID del Motor PSE de Google",
"Enter hex color (e.g. #FF0000)": "",
"Enter ID": "",
"Enter hex color (e.g. #FF0000)": "Ingresa color hex (ej. #FF0000)",
"Enter ID": "Ingresar ID",
"Enter Image Size (e.g. 512x512)": "Ingresar Tamaño de Imagen (p.ej. 512x512)",
"Enter Jina API Key": "Ingresar Clave API de Jina",
"Enter JSON config (e.g., {\"disable_links\": true})": "Ingresar config JSON (ej., {\"disable_links\": true})",
@ -590,8 +597,8 @@
"Enter Top K Reranker": "Ingresar Top K Reclasificador",
"Enter URL (e.g. http://127.0.0.1:7860/)": "Ingresar URL (p.ej., http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "Ingresar URL (p.ej., http://localhost:11434)",
"Enter value": "",
"Enter value (true/false)": "",
"Enter value": "Ingresar valor",
"Enter value (true/false)": "Ingresar valor (true/false)",
"Enter Yacy Password": "Ingresar Contraseña de Yacy",
"Enter Yacy URL (e.g. http://yacy.example.com:8090)": "Ingresar URL de Yacy (p.ej. http://yacy.ejemplo.com:8090)",
"Enter Yacy Username": "Ingresar Nombre de Usuario de Yacy",
@ -599,7 +606,7 @@
"Enter your current password": "Ingresa tu contraseña actual",
"Enter Your Email": "Ingresa tu correo electrónico",
"Enter Your Full Name": "Ingresa su nombre completo",
"Enter your gender": "",
"Enter your gender": "Ingresa tu género",
"Enter your message": "Ingresa tu mensaje",
"Enter your name": "Ingresa tu nombre",
"Enter Your Name": "Ingresa Tu Nombre",
@ -610,14 +617,14 @@
"Enter your webhook URL": "Ingresa tu URL de webhook",
"Error": "Error",
"ERROR": "ERROR",
"Error accessing directory": "",
"Error accessing directory": "Error accediendo al directorio",
"Error accessing Google Drive: {{error}}": "Error accediendo a Google Drive: {{error}}",
"Error accessing media devices.": "Error accediendo a dispositivos de medios.",
"Error starting recording.": "Error al comenzar la grabación.",
"Error unloading model: {{error}}": "Error subiendo el modelo: {{error}}",
"Error uploading file: {{error}}": "Error subiendo el archivo: {{error}}",
"Error: A model with the ID '{{modelId}}' already exists. Please select a different ID to proceed.": "",
"Error: Model ID cannot be empty. Please enter a valid ID to proceed.": "",
"Error: A model with the ID '{{modelId}}' already exists. Please select a different ID to proceed.": "Error: Ya existe un modelo con el ID '{{modelId}}'. Seleccione otro ID para continuar.",
"Error: Model ID cannot be empty. Please enter a valid ID to proceed.": "Error: El ID del modelo no puede estar vacío. Ingrese un ID válido para continuar.",
"Evaluations": "Evaluaciones",
"Everyone": "Todos",
"Exa API Key": "Clave API de Exa",
@ -667,7 +674,7 @@
"Failed to generate title": "Fallo al generar el título",
"Failed to load chat preview": "Fallo al cargar la previsualización del chat",
"Failed to load file content.": "Fallo al cargar el contenido del archivo",
"Failed to move chat": "",
"Failed to move chat": "Fallo al mover el chat",
"Failed to read clipboard contents": "Fallo al leer el contenido del portapapeles",
"Failed to save connections": "Fallo al grabar las conexiones",
"Failed to save conversation": "Fallo al guardar la conversación",
@ -681,7 +688,7 @@
"Feedback History": "Historia de la Opiniones",
"Feedbacks": "Opiniones",
"Feel free to add specific details": "Añade libremente detalles específicos",
"Female": "",
"Female": "Mujer",
"File": "Archivo",
"File added successfully.": "Archivo añadido correctamente.",
"File content updated successfully.": "Contenido del archivo actualizado correctamente.",
@ -718,6 +725,7 @@
"Format Lines": "Formatear Líneas",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "Formatear las lineas en la salida. Por defecto, False. Si la opción es True, las líneas se formatearán detectando estilos e 'inline math'",
"Format your variables using brackets like this:": "Formatea tus variables usando corchetes así:",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "Reenvío de las credenciales de la sesión del usuario del sistema para autenticación",
"Full Context Mode": "Modo Contexto Completo",
"Function": "Función",
@ -737,7 +745,7 @@
"Gemini": "Gemini",
"Gemini API Config": "Config API Gemini",
"Gemini API Key is required.": "Se requiere Clave API de Gemini.",
"Gender": "",
"Gender": "Género",
"General": "General",
"Generate": "Generar",
"Generate an image": "Generar una imagen",
@ -753,7 +761,7 @@
"Google Drive": "Google Drive",
"Google PSE API Key": "Clave API de Google PSE",
"Google PSE Engine Id": "ID del Motor PSE de Google",
"Gravatar": "",
"Gravatar": "Gravatar",
"Group": "Grupo",
"Group created successfully": "Grupo creado correctamente",
"Group deleted successfully": "Grupo eliminado correctamente",
@ -765,7 +773,7 @@
"H2": "H2",
"H3": "H3",
"Haptic Feedback": "Realimentación Háptica",
"Height": "",
"Height": "Altura",
"Hello, {{name}}": "Hola, {{name}}",
"Help": "Ayuda",
"Help us create the best community leaderboard by sharing your feedback history!": "¡Ayúdanos a crear la mejor tabla clasificatoria comunitaria compartiendo tus comentarios!",
@ -774,7 +782,7 @@
"Hide": "Esconder",
"Hide from Sidebar": "Ocultar Panel Lateral",
"Hide Model": "Ocultar Modelo",
"High": "",
"High": "Alto",
"High Contrast Mode": "Modo Alto Contraste",
"Home": "Inicio",
"Host": "Host",
@ -819,11 +827,11 @@
"Includes SharePoint": "Incluye SharePoint",
"Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "Influye en la rápidez de respuesta a la realimentación desde el texto generado. Una tasa de aprendizaje más baja resulta en un ajustado más lento, mientras que una tasa de aprendizaje más alta hará que el algoritmo sea más reactivo.",
"Info": "Información",
"Initials": "",
"Initials": "Iniciales",
"Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "Inyecta el contenido completo como contexto para un procesado comprensivo, recomendado para consultas complejas.",
"Input": "Entrada",
"Input commands": "Ingresar comandos",
"Input Key (e.g. text, unet_name, steps)": "",
"Input Key (e.g. text, unet_name, steps)": "Ingresa Clave (ej. text, unet_name. steps)",
"Input Variables": "Ingresar variables",
"Insert": "Insertar",
"Insert Follow-Up Prompt to Input": "Insertar Sugerencia de Indicador a la Entrada",
@ -835,7 +843,7 @@
"Invalid file content": "Contenido de archivo inválido",
"Invalid file format.": "Formato de archivo inválido.",
"Invalid JSON file": "Archivo JSON inválido",
"Invalid JSON format for ComfyUI Workflow.": "",
"Invalid JSON format for ComfyUI Workflow.": "Formato JSON Inválido para el Flujo de Trabajo de ComfyUI",
"Invalid JSON format in Additional Config": "Formato JSON Inválido en Configuración Adicional",
"Invalid Tag": "Etiqueta Inválida",
"is typing...": "está escribiendo...",
@ -855,15 +863,15 @@
"Keep Follow-Up Prompts in Chat": "Mantener Sugerencias de Indicador en el Chat",
"Keep in Sidebar": "Mantener en Barra Lateral",
"Key": "Clave",
"Key is required": "",
"Key is required": "La Clave es requerida",
"Keyboard shortcuts": "Atajos de teclado",
"Knowledge": "Conocimiento",
"Knowledge Access": "Acceso a Conocimiento",
"Knowledge Base": "Base de Conocimiento",
"Knowledge created successfully.": "Conocimiento creado correctamente.",
"Knowledge deleted successfully.": "Conocimiento eliminado correctamente.",
"Knowledge Description": "",
"Knowledge Name": "",
"Knowledge Description": "Descripción del Conocimiento",
"Knowledge Name": "Nombre del Conocimiento",
"Knowledge Public Sharing": "Compartir Conocimiento Públicamente",
"Knowledge reset successfully.": "Conocimiento restablecido correctamente.",
"Knowledge updated successfully": "Conocimiento actualizado correctamente.",
@ -903,13 +911,13 @@
"Local Task Model": "Modelo Local para Tarea",
"Location access not allowed": "Sin acceso a la Ubicación",
"Lost": "Perdido",
"Low": "",
"Low": "Bajo",
"LTR": "LTR",
"Made by Open WebUI Community": "Creado por la Comunidad Open-WebUI",
"Make password visible in the user interface": "Hacer visible la contraseña en la interfaz del usuario.",
"Make sure to enclose them with": "Asegúrate de delimitarlos con",
"Make sure to export a workflow.json file as API format from ComfyUI.": "Asegúrate de exportar un archivo workflow.json en formato API desde ComfyUI.",
"Male": "",
"Male": "Hombre",
"Manage": "Gestionar",
"Manage Direct Connections": "Gestionar Conexiones Directas",
"Manage Models": "Gestionar Modelos",
@ -918,7 +926,7 @@
"Manage OpenAI API Connections": "Gestionar Conexiones API de OpenAI",
"Manage Pipelines": "Gestionar Tuberías",
"Manage Tool Servers": "Gestionar Servidores de Herramientas",
"Manage your account information.": "",
"Manage your account information.": "Gestionar la información de tu cuenta",
"March": "Marzo",
"Markdown": "Markdown",
"Markdown (Header)": "Markdown (Encabezado)",
@ -927,7 +935,7 @@
"Max Upload Size": "Tamaño Max de Subidas",
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Se puede descargar un máximo de 3 modelos simultáneamente. Por favor, reinténtelo más tarde.",
"May": "Mayo",
"Medium": "",
"Medium": "Medio",
"Memories accessible by LLMs will be shown here.": "Las memorias accesibles por los LLMs se mostrarán aquí.",
"Memory": "Memoria",
"Memory added successfully": "Memoria añadida correctamente",
@ -963,7 +971,7 @@
"Model ID is required.": "El ID de Modelo es requerido",
"Model IDs": "IDs Modelo",
"Model Name": "Nombre Modelo",
"Model name already exists, please choose a different one": "",
"Model name already exists, please choose a different one": "Ese nombre de modelo ya existe, por favor elige otro diferente",
"Model Name is required.": "El Nombre de Modelo es requerido",
"Model not selected": "Modelo no seleccionado",
"Model Params": "Paráms Modelo",
@ -981,9 +989,9 @@
"More": "Más",
"More Concise": "Más Conciso",
"More Options": "Más Opciones",
"Move": "",
"Move": "Mover",
"Name": "Nombre",
"Name and ID are required, please fill them out": "",
"Name and ID are required, please fill them out": "Nombre e ID requeridos, por favor introducelos",
"Name your knowledge base": "Nombra tu base de conocimientos",
"Native": "Nativo",
"New Button": "Nuevo Botón",
@ -1002,7 +1010,7 @@
"No content found": "No se encontró contenido",
"No content found in file.": "No se encontró contenido en el archivo",
"No content to speak": "No hay contenido para hablar",
"No conversation to save": "",
"No conversation to save": "No hay conversación para guardar",
"No distance available": "No hay distancia disponible",
"No feedbacks found": "No se encontraron comentarios",
"No file selected": "No se seleccionó archivo",
@ -1021,9 +1029,9 @@
"No source available": "No hay fuente disponible",
"No suggestion prompts": "Sin prompts sugeridos",
"No users were found.": "No se encontraron usuarios.",
"No valves": "",
"No valves": "No hay válvulas",
"No valves to update": "No hay válvulas para actualizar",
"Node Ids": "",
"Node Ids": "IDs de Nodo",
"None": "Ninguno",
"Not factually correct": "No es correcto en todos los aspectos",
"Not helpful": "No aprovechable",
@ -1074,7 +1082,7 @@
"OpenAI API settings updated": "Ajustes de API OpenAI actualizados",
"OpenAI URL/Key required.": "URL/Clave de OpenAI requerida.",
"openapi.json URL or Path": "URL o Ruta a openapi.json",
"Optional": "",
"Optional": "Opcional",
"Options for running a local vision-language model in the picture description. The parameters refer to a model hosted on Hugging Face. This parameter is mutually exclusive with picture_description_api.": "Opciones para usar modelos locales en la descripción de imágenes. Los parámetros se refieren a modelos alojados en HugginFace. Esta opción es mutuamente excluyente con \"picture_description_api\".",
"or": "o",
"Ordered List": "Lista Ordenada",
@ -1124,18 +1132,18 @@
"Playwright WebSocket URL": "URL de WebSocket de Playwright",
"Please carefully review the following warnings:": "Por favor revisar cuidadosamente los siguientes avisos:",
"Please do not close the settings page while loading the model.": "Por favor no cerrar la página de ajustes mientras se está descargando el modelo.",
"Please enter a message or attach a file.": "",
"Please enter a prompt": "Por favor ingresar un indicador",
"Please enter a message or attach a file.": "Por favor, ingresa un mensaje o adjunta un fichero.",
"Please enter a prompt": "Por favor, ingresa un indicador",
"Please enter a valid path": "Por favor, ingresa una ruta válida",
"Please enter a valid URL": "Por favor, ingresa una URL válida",
"Please fill in all fields.": "Por favor rellenar todos los campos.",
"Please select a model first.": "Por favor primero seleccionar un modelo.",
"Please select a model.": "Por favor seleccionar un modelo.",
"Please select a reason": "Por favor seleccionar un motivo",
"Please select a model first.": "Por favor primero selecciona un modelo.",
"Please select a model.": "Por favor selecciona un modelo.",
"Please select a reason": "Por favor selecciona un motivo",
"Please wait until all files are uploaded.": "Por favor, espera a que todos los ficheros se acaben de subir",
"Port": "Puerto",
"Positive attitude": "Actitud Positiva",
"Prefer not to say": "",
"Prefer not to say": "Prefiero no decirlo",
"Prefix ID": "prefijo ID",
"Prefix ID is used to avoid conflicts with other connections by adding a prefix to the model IDs - leave empty to disable": "El prefijo ID se utiliza para evitar conflictos con otras conexiones al añadir un prefijo a los IDs de modelo, dejar vacío para deshabilitarlo",
"Prevent file creation": "Prevenir la creación de archivos",
@ -1167,6 +1175,7 @@
"Read Aloud": "Leer en voz alta",
"Reason": "Razonamiento",
"Reasoning Effort": "Esfuerzo del Razonamiento",
"Reasoning Tags": "",
"Record": "Grabar",
"Record voice": "Grabar voz",
"Redirecting you to Open WebUI Community": "Redireccionando a la Comunidad Open-WebUI",
@ -1175,7 +1184,7 @@
"References from": "Referencias desde",
"Refused when it shouldn't have": "Rechazado cuando no debería haberlo hecho",
"Regenerate": "Regenerar",
"Regenerate Menu": "",
"Regenerate Menu": "Regenerar Menú",
"Reindex": "Reindexar",
"Reindex Knowledge Base Vectors": "Reindexar Base Vectorial de Conocimiento",
"Release Notes": "Notas de la Versión",
@ -1222,14 +1231,14 @@
"Save & Create": "Guardar y Crear",
"Save & Update": "Guardar y Actualizar",
"Save As Copy": "Guardar como Copia",
"Save Chat": "",
"Save Chat": "Guardar Chat",
"Save Tag": "Guardar Etiqueta",
"Saved": "Guardado",
"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": "Ya no está soportado guardar registros de chat directamente en el almacenamiento del navegador. Por favor, dedica un momento a descargar y eliminar tus registros de chat pulsando en el botón de abajo. No te preocupes, puedes re-importar fácilmente tus registros desde las opciones de configuración",
"Scroll On Branch Change": "Desplazamiento al Cambiar Rama",
"Search": "Buscar",
"Search a model": "Buscar un Modelo",
"Search all emojis": "",
"Search all emojis": "Buscar todos los emojis",
"Search Base": "Busqueda Base",
"Search Chats": "Buscar Chats",
"Search Collection": "Buscar Colección",
@ -1259,32 +1268,32 @@
"See readme.md for instructions": "Ver readme.md para instrucciones",
"See what's new": "Ver las novedades",
"Seed": "Semilla",
"Select": "",
"Select": "Seleccionar",
"Select a base model": "Seleccionar un modelo base",
"Select a base model (e.g. llama3, gpt-4o)": "",
"Select a base model (e.g. llama3, gpt-4o)": "Seleccionar un modelo base (ej. llama3, gpt-4o)",
"Select a conversation to preview": "Seleccionar una conversación para previsualizar",
"Select a engine": "Seleccionar un motor",
"Select a function": "Seleccionar una función",
"Select a group": "Seleccionar un grupo",
"Select a language": "",
"Select a mode": "",
"Select a language": "Seleccionar un idioma",
"Select a mode": "Seleccionar un modo",
"Select a model": "Selecciona un modelo",
"Select a model (optional)": "",
"Select a model (optional)": "Selecionar un modelo (opcional)",
"Select a pipeline": "Seleccionar una tubería",
"Select a pipeline url": "Seleccionar una url de tubería",
"Select a reranking model engine": "",
"Select a role": "",
"Select a theme": "",
"Select a reranking model engine": "Seleccionar un motor de modelos de reclasificación",
"Select a role": "Seleccionar un rol",
"Select a theme": "Seleccionar un tema",
"Select a tool": "Seleccioanr una herramienta",
"Select a voice": "",
"Select a voice": "Seleccioanr una voz",
"Select an auth method": "Seleccionar un método de autentificación",
"Select an embedding model engine": "",
"Select an engine": "",
"Select an embedding model engine": "Seleccionar un motor de modelos de incrustación",
"Select an engine": "Seleccionar un motor",
"Select an Ollama instance": "Seleccionar una instancia de Ollama",
"Select an output format": "",
"Select dtype": "",
"Select an output format": "Seleccionar un formato de salida",
"Select dtype": "Seleccionar dtype",
"Select Engine": "Seleccionar Motor",
"Select how to split message text for TTS requests": "",
"Select how to split message text for TTS requests": "Seleccionar como dividir los mensajes de texto para las peticiones TTS",
"Select Knowledge": "Seleccionar Conocimiento",
"Select only one model to call": "Seleccionar sólo un modelo a llamar",
"Selected model(s) do not support image inputs": "Modelo(s) seleccionado(s) no admiten entradas de imagen",
@ -1301,7 +1310,7 @@
"Serply API Key": "Clave API de Serply",
"Serpstack API Key": "Clave API de Serpstack",
"Server connection verified": "Conexión al servidor verificada",
"Session": "",
"Session": "Sesión",
"Set as default": "Establecer como Predeterminado",
"Set CFG Scale": "Establecer la Escala CFG",
"Set Default Model": "Establecer Modelo Predeterminado",
@ -1327,7 +1336,7 @@
"Share": "Compartir",
"Share Chat": "Compartir Chat",
"Share to Open WebUI Community": "Compartir con la Comunidad Open-WebUI",
"Share your background and interests": "",
"Share your background and interests": "Compartir tus antecedentes e intereses",
"Sharing Permissions": "Permisos al Compartir",
"Shortcuts with an asterisk (*) are situational and only active under specific conditions.": "Accesos cortos con un asterisco (*) depende de la situación y solo activos bajo determinadas condiciones.",
"Show": "Mostrar",
@ -1353,12 +1362,12 @@
"sk-1234": "sk-1234",
"Skip Cache": "Evitar Caché",
"Skip the cache and re-run the inference. Defaults to False.": "Evitar caché y reiniciar la interfaz. Valor predeterminado Falso",
"Something went wrong :/": "",
"Sonar": "",
"Sonar Deep Research": "",
"Sonar Pro": "",
"Sonar Reasoning": "",
"Sonar Reasoning Pro": "",
"Something went wrong :/": "Algo ha ido mal :/",
"Sonar": "Sonar",
"Sonar Deep Research": "Sonar Investigación Profunda",
"Sonar Pro": "Sonar Pro",
"Sonar Reasoning": "Sonar Razonamiento",
"Sonar Reasoning Pro": "Sonar Razonamiento Pro",
"Sougou Search API sID": "API sID de Sougou Search",
"Sougou Search API SK": "SK API de Sougou Search",
"Source": "Fuente",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "Voz a Texto",
"Speech-to-Text Engine": "Motor Voz a Texto(STT)",
"Start of the channel": "Inicio del canal",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "Detener",
"Stop Generating": "Detener la Generación",
@ -1381,7 +1391,7 @@
"Stylized PDF Export": "Exportar PDF Estilizado",
"Subtitle (e.g. about the Roman Empire)": "Subtítulo (p.ej. sobre el Imperio Romano)",
"Success": "Correcto",
"Successfully imported {{userCount}} users.": "",
"Successfully imported {{userCount}} users.": "{{userCount}} usuarios importados correctamente.",
"Successfully updated.": "Actualizado correctamente.",
"Suggest a change": "Sugerir un cambio",
"Suggested": "Sugerido",
@ -1406,7 +1416,7 @@
"Tell us more:": "Dinos algo más:",
"Temperature": "Temperatura",
"Temporary Chat": "Chat Temporal",
"Temporary Chat by Default": "",
"Temporary Chat by Default": "Chat Temporal Predeterminado",
"Text Splitter": "Divisor de Texto",
"Text-to-Speech": "Texto a Voz",
"Text-to-Speech Engine": "Motor Texto a Voz(TTS)",
@ -1425,7 +1435,7 @@
"The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "El tamaño máximo del archivo en MB. Si el tamaño del archivo supera este límite, el archivo no se subirá.",
"The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "El número máximo de archivos que se pueden utilizar a la vez en el chat. Si se supera este límite, los archivos no se subirán.",
"The output format for the text. Can be 'json', 'markdown', or 'html'. Defaults to 'markdown'.": "El formato de salida para el texto. Puede ser 'json', 'markdown' o 'html'. Valor predeterminado: 'markdown'",
"The passwords you entered don't quite match. Please double-check and try again.": "",
"The passwords you entered don't quite match. Please double-check and try again.": "Las contraseñas que ingresó no coinciden. Por favor, verifique y vuelva a intentarlo.",
"The score should be a value between 0.0 (0%) and 1.0 (100%).": "La puntuación debe ser un valor entre 0.0 (0%) y 1.0 (100%).",
"The stream delta chunk size for the model. Increasing the chunk size will make the model respond with larger pieces of text at once.": "El tamaño del fragmentado incremental para el modelo. Aumentar el tamaño del fragmentado hará que el modelo responda con fragmentos de texto más grandes cada vez.",
"The temperature of the model. Increasing the temperature will make the model answer more creatively.": "La temperatura del modelo. Aumentar la temperatura hará que el modelo responda de forma más creativa.",
@ -1539,9 +1549,9 @@
"Upload Files": "Subir Archivos",
"Upload Pipeline": "Subir Tubería",
"Upload Progress": "Progreso de la Subida",
"Upload Progress: {{uploadedFiles}}/{{totalFiles}} ({{percentage}}%)": "",
"Upload Progress: {{uploadedFiles}}/{{totalFiles}} ({{percentage}}%)": "Progreso de la Subida: {{uploadedFiles}}/{{totalFiles}} ({{percentage}}%)",
"URL": "URL",
"URL is required": "",
"URL is required": "La URL es requerida",
"URL Mode": "Modo URL",
"Usage": "Uso",
"Use '#' in the prompt input to load and include your knowledge.": "Utilizar '#' en el indicador para cargar e incluir tu conocimiento.",
@ -1551,7 +1561,7 @@
"Use proxy designated by http_proxy and https_proxy environment variables to fetch page contents.": "Usar el proxy asignado en las variables del entorno http_proxy y/o https_proxy para extraer contenido",
"user": "usuario",
"User": "Usuario",
"User Groups": "",
"User Groups": "Grupos de Usuarios",
"User location successfully retrieved.": "Ubicación de usuario obtenida correctamente.",
"User menu": "Menu de Usuario",
"User Webhooks": "Usuario Webhooks",
@ -1561,7 +1571,7 @@
"Using Focused Retrieval": "Usando Recuperación Focalizada",
"Using the default arena model with all models. Click the plus button to add custom models.": "Usando el modelo de arena predeterminado con todos los modelos. Pulsar en el botón + para agregar modelos personalizados.",
"Valid time units:": "Unidades de tiempo válidas:",
"Validate certificate": "",
"Validate certificate": "Validar certificado",
"Valves": "Válvulas",
"Valves updated": "Válvulas actualizadas",
"Valves updated successfully": "Válvulas actualizados correctamente",
@ -1604,7 +1614,7 @@
"Whisper (Local)": "Whisper (Local)",
"Why?": "¿Por qué?",
"Widescreen Mode": "Modo Pantalla Ancha",
"Width": "",
"Width": "Ancho",
"Won": "Ganó",
"Works together with top-k. A higher value (e.g., 0.95) will lead to more diverse text, while a lower value (e.g., 0.5) will generate more focused and conservative text.": "Trabaja conjuntamente con top-k. Un valor más alto (p.ej. 0.95) dará lugar a un texto más diverso, mientras que un valor más bajo (p.ej. 0.5) generará un texto más centrado y conservador.",
"Workspace": "Espacio de Trabajo",
@ -1628,7 +1638,7 @@
"You have shared this chat": "Has compartido esta conversación",
"You're a helpful assistant.": "Eres un asistente atento, amable y servicial.",
"You're now logged in.": "Has iniciado sesión.",
"Your Account": "",
"Your Account": "Tu Cuenta",
"Your account status is currently pending activation.": "Tu cuenta está pendiente de activación.",
"Your entire contribution will go directly to the plugin developer; Open WebUI does not take any percentage. However, the chosen funding platform might have its own fees.": "Tu entera contribución irá directamente al desarrollador del complemento; Open-WebUI no recibe ningún porcentaje. Sin embargo, la plataforma de financiación elegida podría tener sus propias tarifas.",
"Youtube": "Youtube",

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ mudelid }}",
"{{COUNT}} Available Tools": "",
"{{COUNT}} characters": "",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "{{COUNT}} peidetud rida",
"{{COUNT}} Replies": "{{COUNT}} vastust",
"{{COUNT}} words": "",
@ -82,9 +83,13 @@
"Allow Chat Share": "",
"Allow Chat System Prompt": "",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "Luba failide üleslaadimine",
"Allow Multiple Models in Chat": "",
"Allow non-local voices": "Luba mitte-lokaalsed hääled",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "",
"Allow Temporary Chat": "Luba ajutine vestlus",
"Allow Text to Speech": "",
@ -425,7 +430,7 @@
"Docling Server URL required.": "",
"Document": "Dokument",
"Document Intelligence": "Dokumendi intelligentsus",
"Document Intelligence endpoint and key required.": "Dokumendi intelligentsuse lõpp-punkt ja võti on nõutavad.",
"Document Intelligence endpoint required.": "",
"Documentation": "Dokumentatsioon",
"Documents": "Dokumendid",
"does not make any external connections, and your data stays securely on your locally hosted server.": "ei loo väliseid ühendusi ja teie andmed jäävad turvaliselt teie kohalikult majutatud serverisse.",
@ -489,7 +494,9 @@
"Enable Message Rating": "Luba sõnumite hindamine",
"Enable Mirostat sampling for controlling perplexity.": "Luba Mirostat'i valim perplekssuse juhtimiseks.",
"Enable New Sign Ups": "Luba uued registreerimised",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "Lubatud",
"End Tag": "",
"Endpoint URL": "",
"Enforce Temporary Chat": "",
"Enhance": "",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "Vormindage oma muutujad sulgudega nagu siin:",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "",
"Full Context Mode": "Täiskonteksti režiim",
"Function": "Funktsioon",
@ -1167,6 +1175,7 @@
"Read Aloud": "Loe valjult",
"Reason": "",
"Reasoning Effort": "Arutluspingutus",
"Reasoning Tags": "",
"Record": "",
"Record voice": "Salvesta hääl",
"Redirecting you to Open WebUI Community": "Suunamine Open WebUI kogukonda",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "",
"Speech-to-Text Engine": "Kõne-tekstiks mootor",
"Start of the channel": "Kanali algus",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "Peata",
"Stop Generating": "",

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ models }}",
"{{COUNT}} Available Tools": "",
"{{COUNT}} characters": "",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "",
"{{COUNT}} Replies": "",
"{{COUNT}} words": "",
@ -82,9 +83,13 @@
"Allow Chat Share": "",
"Allow Chat System Prompt": "",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "Baimendu Fitxategiak Igotzea",
"Allow Multiple Models in Chat": "",
"Allow non-local voices": "Baimendu urruneko ahotsak",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "",
"Allow Temporary Chat": "Baimendu Behin-behineko Txata",
"Allow Text to Speech": "",
@ -425,7 +430,7 @@
"Docling Server URL required.": "",
"Document": "Dokumentua",
"Document Intelligence": "",
"Document Intelligence endpoint and key required.": "",
"Document Intelligence endpoint required.": "",
"Documentation": "Dokumentazioa",
"Documents": "Dokumentuak",
"does not make any external connections, and your data stays securely on your locally hosted server.": "ez du kanpo konexiorik egiten, eta zure datuak modu seguruan mantentzen dira zure zerbitzari lokalean.",
@ -489,7 +494,9 @@
"Enable Message Rating": "Gaitu Mezuen Balorazioa",
"Enable Mirostat sampling for controlling perplexity.": "",
"Enable New Sign Ups": "Gaitu Izena Emate Berriak",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "Gaituta",
"End Tag": "",
"Endpoint URL": "",
"Enforce Temporary Chat": "",
"Enhance": "",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "Formateatu zure aldagaiak kortxeteak erabiliz honela:",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "",
"Full Context Mode": "",
"Function": "Funtzioa",
@ -1167,6 +1175,7 @@
"Read Aloud": "Irakurri ozen",
"Reason": "",
"Reasoning Effort": "",
"Reasoning Tags": "",
"Record": "",
"Record voice": "Grabatu ahotsa",
"Redirecting you to Open WebUI Community": "OpenWebUI Komunitatera berbideratzen",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "",
"Speech-to-Text Engine": "Ahotsetik-testura motorra",
"Start of the channel": "Kanalaren hasiera",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "Gelditu",
"Stop Generating": "",

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ models }}",
"{{COUNT}} Available Tools": "{{COUNT}} ابزار موجود",
"{{COUNT}} characters": "",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "{{COUNT}} خط پنهان",
"{{COUNT}} Replies": "{{COUNT}} پاسخ",
"{{COUNT}} words": "",
@ -82,9 +83,13 @@
"Allow Chat Share": "",
"Allow Chat System Prompt": "",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "اجازه بارگذاری فایل",
"Allow Multiple Models in Chat": "اجازه استفاده از چند مدل در گفتگو",
"Allow non-local voices": "اجازه صداهای غیر محلی",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "اجازه تبدیل گفتار به متن",
"Allow Temporary Chat": "اجازهٔ گفتگوی موقتی",
"Allow Text to Speech": "اجازه تبدیل متن به گفتار",
@ -425,7 +430,7 @@
"Docling Server URL required.": "آدرس سرور داکلینگ مورد نیاز است.",
"Document": "سند",
"Document Intelligence": "هوش اسناد",
"Document Intelligence endpoint and key required.": "نقطه پایانی و کلید هوش اسناد مورد نیاز است.",
"Document Intelligence endpoint required.": "",
"Documentation": "مستندات",
"Documents": "اسناد",
"does not make any external connections, and your data stays securely on your locally hosted server.": "هیچ اتصال خارجی ایجاد نمی کند و داده های شما به طور ایمن در سرور میزبان محلی شما باقی می ماند.",
@ -489,7 +494,9 @@
"Enable Message Rating": "فعال\u200cسازی امتیازدهی پیام",
"Enable Mirostat sampling for controlling perplexity.": "فعال\u200cسازی نمونه\u200cبرداری میروستات برای کنترل سردرگمی",
"Enable New Sign Ups": "فعال کردن ثبت نام\u200cهای جدید",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "فعال شده",
"End Tag": "",
"Endpoint URL": "",
"Enforce Temporary Chat": "اجبار چت موقت",
"Enhance": "",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "متغیرهای خود را با استفاده از براکت به این شکل قالب\u200cبندی کنید:",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "اعتبارنامه\u200cهای نشست کاربر سیستم را برای احراز هویت ارسال می\u200cکند",
"Full Context Mode": "حالت متن کامل",
"Function": "تابع",
@ -1167,6 +1175,7 @@
"Read Aloud": "خواندن به صورت صوتی",
"Reason": "",
"Reasoning Effort": "تلاش استدلال",
"Reasoning Tags": "",
"Record": "",
"Record voice": "ضبط صدا",
"Redirecting you to Open WebUI Community": "در حال هدایت به OpenWebUI Community",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "",
"Speech-to-Text Engine": "موتور گفتار به متن",
"Start of the channel": "آغاز کانال",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "توقف",
"Stop Generating": "",

View File

@ -7,10 +7,11 @@
"(leave blank for to use commercial endpoint)": "(Jätä tyhjäksi, jos haluat käyttää kaupallista päätepistettä)",
"[Last] dddd [at] h:mm A": "[Viimeisin] dddd h:mm A",
"[Today at] h:mm A": "[Tänään] h:mm A",
"[Yesterday at] h:mm A": "[Huommenna] h:mm A",
"[Yesterday at] h:mm A": "[Eilen] h:mm A",
"{{ models }}": "{{ mallit }}",
"{{COUNT}} Available Tools": "{{COUNT}} työkalua saatavilla",
"{{COUNT}} characters": "{{COUNT}} kirjainta",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "{{COUNT}} piilotettua riviä",
"{{COUNT}} Replies": "{{COUNT}} vastausta",
"{{COUNT}} words": "{{COUNT}} sanaa",
@ -30,7 +31,7 @@
"Account Activation Pending": "Tilin aktivointi odottaa",
"Accurate information": "Tarkkaa tietoa",
"Action": "Toiminto",
"Action not found": "",
"Action not found": "Toimintoa ei löytynyt",
"Action Required for Chat Log Storage": "Toiminto vaaditaan keskustelulokin tallentamiseksi",
"Actions": "Toiminnot",
"Activate": "Aktivoi",
@ -82,9 +83,13 @@
"Allow Chat Share": "Salli keskustelujen jako",
"Allow Chat System Prompt": "Salli keskustelujen järjestelmä kehoitteet",
"Allow Chat Valves": "Salli keskustelu venttiilit",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "Salli tiedostojen lataus",
"Allow Multiple Models in Chat": "Salli useampi malli keskustelussa",
"Allow non-local voices": "Salli ei-paikalliset äänet",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "Salli puhe tekstiksi",
"Allow Temporary Chat": "Salli väliaikaiset keskustelut",
"Allow Text to Speech": "Salli teksti puheeksi",
@ -101,7 +106,7 @@
"Always Play Notification Sound": "Toista aina ilmoitusääni",
"Amazing": "Hämmästyttävä",
"an assistant": "avustaja",
"An error occurred while fetching the explanation": "",
"An error occurred while fetching the explanation": "Tapahtui virhe hakiessa selitystä",
"Analytics": "Analytiikka",
"Analyzed": "Analysoitu",
"Analyzing...": "Analysoidaan..",
@ -111,14 +116,14 @@
"Android": "Android",
"API": "API",
"API Base URL": "API:n verkko-osoite",
"API Base URL for Datalab Marker service. Defaults to: https://www.datalab.to/api/v1/marker": "",
"API details for using a vision-language model in the picture description. This parameter is mutually exclusive with picture_description_local.": "",
"API Base URL for Datalab Marker service. Defaults to: https://www.datalab.to/api/v1/marker": "API verkko-osoite Datalabb Marker palveluun. Oletuksena: https://www.datalab.to/api/v1/marker",
"API details for using a vision-language model in the picture description. This parameter is mutually exclusive with picture_description_local.": "Kuvan kuvaus API-asetukset näkömallin käyttöön. Tämä parametri on toisensa poissulkeva picture_description_local-parametrin kanssa.",
"API Key": "API-avain",
"API Key created.": "API-avain luotu.",
"API Key Endpoint Restrictions": "API-avaimen päätepiste rajoitukset",
"API keys": "API-avaimet",
"API Version": "API-versio",
"API Version is required": "",
"API Version is required": "API-versio vaaditaan",
"Application DN": "Sovelluksen DN",
"Application DN Password": "Sovelluksen DN-salasana",
"applies to all users with the \"user\" role": "koskee kaikkia käyttäjiä, joilla on \"käyttäjä\"-rooli",
@ -169,15 +174,15 @@
"Banners": "Bannerit",
"Base Model (From)": "Perusmalli (alkaen)",
"Base Model List Cache speeds up access by fetching base models only at startup or on settings save—faster, but may not show recent base model changes.": "",
"Bearer": "",
"Bearer": "Bearer",
"before": "ennen",
"Being lazy": "Oli laiska",
"Beta": "Beta",
"Bing Search V7 Endpoint": "Bing Search V7 -päätepisteen osoite",
"Bing Search V7 Subscription Key": "Bing Search V7 -tilauskäyttäjäavain",
"Bio": "",
"Birth Date": "",
"BM25 Weight": "",
"Bio": "Elämänkerta",
"Birth Date": "Syntymäpäivä",
"BM25 Weight": "BM25 paino",
"Bocha Search API Key": "Bocha Search API -avain",
"Bold": "Lihavointi",
"Boosting or penalizing specific tokens for constrained responses. Bias values will be clamped between -100 and 100 (inclusive). (Default: none)": "",
@ -201,9 +206,9 @@
"Capture Audio": "Kaappaa ääntä",
"Certificate Path": "Varmennepolku",
"Change Password": "Vaihda salasana",
"Channel deleted successfully": "",
"Channel deleted successfully": "Kanavan poisto onnistui",
"Channel Name": "Kanavan nimi",
"Channel updated successfully": "",
"Channel updated successfully": "Kanavan päivitys onnistui",
"Channels": "Kanavat",
"Character": "Kirjain",
"Character limit for autocomplete generation input": "Automaattisen täydennyksen syötteen merkkiraja",
@ -212,10 +217,10 @@
"Chat Background Image": "Keskustelun taustakuva",
"Chat Bubble UI": "Keskustelu-pallojen käyttöliittymä",
"Chat Controls": "Keskustelun hallinta",
"Chat Conversation": "",
"Chat Conversation": "Chat-keskustelut",
"Chat direction": "Keskustelun suunta",
"Chat ID": "Keskustelu ID",
"Chat moved successfully": "",
"Chat moved successfully": "Keskustelu siirrettiin onnistuneesti",
"Chat Overview": "Keskustelun yleiskatsaus",
"Chat Permissions": "Keskustelun käyttöoikeudet",
"Chat Tags Auto-Generation": "Keskustelutunnisteiden automaattinen luonti",
@ -254,7 +259,7 @@
"Close modal": "Sulje modaali",
"Close settings modal": "Sulje asetus modaali",
"Close Sidebar": "Sulje sivupalkki",
"CMU ARCTIC speaker embedding name": "",
"CMU ARCTIC speaker embedding name": "CMU ARCTIC puhujan upotus nimi",
"Code Block": "Koodiblokki",
"Code execution": "Koodin suoritus",
"Code Execution": "Koodin Suoritus",
@ -273,13 +278,13 @@
"ComfyUI Base URL is required.": "ComfyUI verkko-osoite vaaditaan.",
"ComfyUI Workflow": "ComfyUI-työnkulku",
"ComfyUI Workflow Nodes": "ComfyUI-työnkulun solmut",
"Comma separated Node Ids (e.g. 1 or 1,2)": "",
"Comma separated Node Ids (e.g. 1 or 1,2)": "Pilkulla erotellut Node Id:t (esim. 1 tai 1,2)",
"Command": "Komento",
"Comment": "Kommentti",
"Completions": "Täydennykset",
"Compress Images in Channels": "Pakkaa kuvat kanavissa",
"Concurrent Requests": "Samanaikaiset pyynnöt",
"Config imported successfully": "",
"Config imported successfully": "Määritysten tuonti onnistui",
"Configure": "Määritä",
"Confirm": "Vahvista",
"Confirm Password": "Vahvista salasana",
@ -306,7 +311,7 @@
"Control the repetition of token sequences in the generated text. A higher value (e.g., 1.5) will penalize repetitions more strongly, while a lower value (e.g., 1.1) will be more lenient. At 1, it is disabled.": "",
"Controls": "Ohjaimet",
"Controls the balance between coherence and diversity of the output. A lower value will result in more focused and coherent text.": "Kontrolloi yhtenäisyyden ja monimuotoisuuden tasapainoa tuloksessa. Pienempi arvo tuottaa kohdennetumman ja johdonmukaisemman tekstin.",
"Conversation saved successfully": "",
"Conversation saved successfully": "Keskustelun tallennus onnistui",
"Copied": "Kopioitu",
"Copied link to clipboard": "Linkki kopioitu leikepöydälle",
"Copied shared chat URL to clipboard!": "Jaettu keskustelulinkki kopioitu leikepöydälle!",
@ -351,7 +356,7 @@
"Datalab Marker API Key required.": "Datalab Marker API-avain vaaditaan.",
"DD/MM/YYYY": "DD/MM/YYYY",
"December": "joulukuu",
"Deepgram": "",
"Deepgram": "Deepgram",
"Default": "Oletus",
"Default (Open AI)": "Oletus (Open AI)",
"Default (SentenceTransformers)": "Oletus (SentenceTransformers)",
@ -398,7 +403,7 @@
"Direct Connections": "Suorat yhteydet",
"Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "Suorat yhteydet mahdollistavat käyttäjien yhdistää omia OpenAI-yhteensopivia API-päätepisteitä.",
"Direct Tool Servers": "Suorat työkalu palvelimet",
"Directory selection was cancelled": "",
"Directory selection was cancelled": "Hakemiston valinta keskeytettiin",
"Disable Code Interpreter": "Poista Koodin suoritus käytöstä",
"Disable Image Extraction": "Poista kuvien poiminta käytöstä",
"Disable image extraction from the PDF. If Use LLM is enabled, images will be automatically captioned. Defaults to False.": "Poista kuvien poiminta käytöstä PDF tiedostoista. Jos LLM on käytössä, kuvat tekstitetään automaattisesti. Oletuksena ei käytössä.",
@ -425,7 +430,7 @@
"Docling Server URL required.": "Docling palvelimen verkko-osoite vaaditaan.",
"Document": "Asiakirja",
"Document Intelligence": "Asiakirja tiedustelu",
"Document Intelligence endpoint and key required.": "Asiakirja tiedustelun päätepiste ja avain vaaditaan.",
"Document Intelligence endpoint required.": "",
"Documentation": "Dokumentaatio",
"Documents": "Asiakirjat",
"does not make any external connections, and your data stays securely on your locally hosted server.": "ei tee ulkoisia yhteyksiä, ja tietosi pysyvät turvallisesti paikallisesti isännöidyllä palvelimellasi.",
@ -489,7 +494,9 @@
"Enable Message Rating": "Ota viestiarviointi käyttöön",
"Enable Mirostat sampling for controlling perplexity.": "",
"Enable New Sign Ups": "Salli uudet rekisteröitymiset",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "Käytössä",
"End Tag": "",
"Endpoint URL": "Päätepiste verkko-osoite",
"Enforce Temporary Chat": "Pakota väliaikaiset keskustelut",
"Enhance": "Paranna",
@ -535,8 +542,8 @@
"Enter Github Raw URL": "Kirjoita Github Raw -verkko-osoite",
"Enter Google PSE API Key": "Kirjoita Google PSE API -avain",
"Enter Google PSE Engine Id": "Kirjoita Google PSE -moottorin tunnus",
"Enter hex color (e.g. #FF0000)": "",
"Enter ID": "",
"Enter hex color (e.g. #FF0000)": "Kirjota hex väri (esim. #FF0000)",
"Enter ID": "Kirjoita ID",
"Enter Image Size (e.g. 512x512)": "Kirjoita kuvan koko (esim. 512x512)",
"Enter Jina API Key": "Kirjoita Jina API -avain",
"Enter JSON config (e.g., {\"disable_links\": true})": "Kirjoita JSON asetus (esim. {\"disable_links\": true})",
@ -590,8 +597,8 @@
"Enter Top K Reranker": "Kirjoita Top K uudelleen sijoittaja",
"Enter URL (e.g. http://127.0.0.1:7860/)": "Kirjoita verkko-osoite (esim. http://127.0.0.1:7860/)",
"Enter URL (e.g. http://localhost:11434)": "Kirjoita verkko-osoite (esim. http://localhost:11434)",
"Enter value": "",
"Enter value (true/false)": "",
"Enter value": "Kirjoita arvo",
"Enter value (true/false)": "Kirjoita arvo (true/false)",
"Enter Yacy Password": "Kirjoita Yacy salasana",
"Enter Yacy URL (e.g. http://yacy.example.com:8090)": "Kirjoita Yacy verkko-osoite (esim. http://yacy.example.com:8090)",
"Enter Yacy Username": "Kirjoita Yacy käyttäjänimi",
@ -599,7 +606,7 @@
"Enter your current password": "Kirjoita nykyinen salasanasi",
"Enter Your Email": "Kirjoita sähköpostiosoitteesi",
"Enter Your Full Name": "Kirjoita koko nimesi",
"Enter your gender": "",
"Enter your gender": "Kirjoita sukupuoli",
"Enter your message": "Kirjoita viestisi",
"Enter your name": "Kirjoita nimesi tähän",
"Enter Your Name": "Kirjoita nimesi",
@ -610,14 +617,14 @@
"Enter your webhook URL": "Kirjoita webhook osoitteesi",
"Error": "Virhe",
"ERROR": "VIRHE",
"Error accessing directory": "",
"Error accessing directory": "Virhe hakemistoa avattaessa",
"Error accessing Google Drive: {{error}}": "Virhe yhdistäessä Google Drive: {{error}}",
"Error accessing media devices.": "Virhe medialaitteita käytettäessä.",
"Error starting recording.": "Virhe nauhoitusta aloittaessa.",
"Error unloading model: {{error}}": "Virhe mallia ladattaessa: {{error}}",
"Error uploading file: {{error}}": "Virhe ladattaessa tiedostoa: {{error}}",
"Error: A model with the ID '{{modelId}}' already exists. Please select a different ID to proceed.": "",
"Error: Model ID cannot be empty. Please enter a valid ID to proceed.": "",
"Error: A model with the ID '{{modelId}}' already exists. Please select a different ID to proceed.": "Virhe: Malli '{{modelId}}' on jo käytössä. Valitse toinen ID jatkaaksesi.",
"Error: Model ID cannot be empty. Please enter a valid ID to proceed.": "Virhe: Mallin ID ei voi olla tyhjä. Kirjoita ID jatkaaksesi.",
"Evaluations": "Arvioinnit",
"Everyone": "Kaikki",
"Exa API Key": "Exa API -avain",
@ -658,7 +665,7 @@
"Fade Effect for Streaming Text": "Häivytystehoste suoratoistetulle tekstille",
"Failed to add file.": "Tiedoston lisääminen epäonnistui.",
"Failed to connect to {{URL}} OpenAPI tool server": "Yhdistäminen {{URL}} OpenAPI työkalu palvelimeen epäonnistui",
"Failed to copy link": "Linkin kopioinmti epäonnistui",
"Failed to copy link": "Linkin kopiointi epäonnistui",
"Failed to create API Key.": "API-avaimen luonti epäonnistui.",
"Failed to delete note": "Muistiinpanon poistaminen epäonnistui",
"Failed to extract content from the file: {{error}}": "Tiedoston sisällön pomiminen epäonnistui: {{error}}",
@ -667,7 +674,7 @@
"Failed to generate title": "Otsikon luonti epäonnistui",
"Failed to load chat preview": "Keskustelun esikatselun lataaminen epäonnistui",
"Failed to load file content.": "Tiedoston sisällön lataaminen epäonnistui.",
"Failed to move chat": "",
"Failed to move chat": "Keskustelun siirto epäonnistui",
"Failed to read clipboard contents": "Leikepöydän sisällön lukeminen epäonnistui",
"Failed to save connections": "Yhteyksien tallentaminen epäonnistui",
"Failed to save conversation": "Keskustelun tallentaminen epäonnistui",
@ -681,7 +688,7 @@
"Feedback History": "Palautehistoria",
"Feedbacks": "Palautteet",
"Feel free to add specific details": "Voit lisätä tarkempia tietoja",
"Female": "",
"Female": "Nainen",
"File": "Tiedosto",
"File added successfully.": "Tiedosto lisätty onnistuneesti.",
"File content updated successfully.": "Tiedoston sisältö päivitetty onnistuneesti.",
@ -718,6 +725,7 @@
"Format Lines": "Muotoile rivit",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "Muotoile rivit. Oletusarvo on False. Jos arvo on True, rivit muotoillaan siten, että ne havaitsevat riviin liitetyn matematiikan ja tyylit.",
"Format your variables using brackets like this:": "Muotoile muuttujasi hakasulkeilla tällä tavalla:",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "Välittää järjestelmän käyttäjän istunnon tunnistetiedot todennusta varten",
"Full Context Mode": "Koko kontekstitila",
"Function": "Toiminto",
@ -737,7 +745,7 @@
"Gemini": "Gemini",
"Gemini API Config": "Gemini API konfiguraatio",
"Gemini API Key is required.": "Gemini API -avain on vaaditaan.",
"Gender": "",
"Gender": "Sukupuoli",
"General": "Yleinen",
"Generate": "Luo",
"Generate an image": "Luo kuva",
@ -753,7 +761,7 @@
"Google Drive": "Google Drive",
"Google PSE API Key": "Google PSE API -avain",
"Google PSE Engine Id": "Google PSE -moottorin tunnus",
"Gravatar": "",
"Gravatar": "Gravatar",
"Group": "Ryhmä",
"Group created successfully": "Ryhmä luotu onnistuneesti",
"Group deleted successfully": "Ryhmä poistettu onnistuneesti",
@ -765,7 +773,7 @@
"H2": "H2",
"H3": "H3",
"Haptic Feedback": "Haptinen palaute",
"Height": "",
"Height": "Korkeus",
"Hello, {{name}}": "Hei, {{name}}",
"Help": "Ohje",
"Help us create the best community leaderboard by sharing your feedback history!": "Auta meitä luomaan paras yhteisön tulosluettelo jakamalla palautehistoriasi!",
@ -774,7 +782,7 @@
"Hide": "Piilota",
"Hide from Sidebar": "Piilota sivupalkista",
"Hide Model": "Piilota malli",
"High": "",
"High": "Korkea",
"High Contrast Mode": "Korkean kontrastin tila",
"Home": "Koti",
"Host": "Palvelin",
@ -817,13 +825,13 @@
"Include `--api-auth` flag when running stable-diffusion-webui": "Sisällytä `--api-auth`-lippu ajettaessa stable-diffusion-webui",
"Include `--api` flag when running stable-diffusion-webui": "Sisällytä `--api`-lippu ajettaessa stable-diffusion-webui",
"Includes SharePoint": "Sisältää SharePointin",
"Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "",
"Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "Kuinka nopeasti algoritmi mukautuu generoidun tekstin palautteeseen. Alempi oppimisnopeus hidastaa mukautumista, kun taas nopeampi oppimisnopeus tekee algoritmistä reagoivamman.",
"Info": "Tiedot",
"Initials": "",
"Initials": "Nimikirjaimet",
"Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "Upota koko sisältö kontekstiin kattavaa käsittelyä varten. Tätä suositellaan monimutkaisille kyselyille.",
"Input": "Syöte",
"Input commands": "Syötekäskyt",
"Input Key (e.g. text, unet_name, steps)": "",
"Input Key (e.g. text, unet_name, steps)": "Syötteen arvo (esim. text, unet_namme, steps)",
"Input Variables": "Syötteen muuttujat",
"Insert": "Lisää",
"Insert Follow-Up Prompt to Input": "Lisää jatkokysymys syötteeseen",
@ -835,7 +843,7 @@
"Invalid file content": "Virheellinen tiedostosisältö",
"Invalid file format.": "Virheellinen tiedostomuoto.",
"Invalid JSON file": "Virheellinen JSON tiedosto",
"Invalid JSON format for ComfyUI Workflow.": "",
"Invalid JSON format for ComfyUI Workflow.": "Virhellinen JSON muotoilu ComfyUI työnkululle.",
"Invalid JSON format in Additional Config": "Virheellinen JSON muotoilu lisäasetuksissa",
"Invalid Tag": "Virheellinen tagi",
"is typing...": "Kirjoittaa...",
@ -855,15 +863,15 @@
"Keep Follow-Up Prompts in Chat": "Säilytä jatkokysymys kehoitteet keskustelussa",
"Keep in Sidebar": "Pidä sivupalkissa",
"Key": "Avain",
"Key is required": "",
"Key is required": "Avain vaaditaan",
"Keyboard shortcuts": "Pikanäppäimet",
"Knowledge": "Tietämys",
"Knowledge Access": "Tiedon käyttöoikeus",
"Knowledge Base": "Tietokanta",
"Knowledge created successfully.": "Tietokanta luotu onnistuneesti.",
"Knowledge deleted successfully.": "Tietokanta poistettu onnistuneesti.",
"Knowledge Description": "",
"Knowledge Name": "",
"Knowledge Description": "Tietokannan kuvaus",
"Knowledge Name": "Tietokannan nimi",
"Knowledge Public Sharing": "Tietokannan julkinen jakaminen",
"Knowledge reset successfully.": "Tietokanta nollattu onnistuneesti.",
"Knowledge updated successfully": "Tietokanta päivitetty onnistuneesti",
@ -903,13 +911,13 @@
"Local Task Model": "Paikallinen työmalli",
"Location access not allowed": "Ei pääsyä sijaintitietoihin",
"Lost": "Mennyt",
"Low": "",
"Low": "Matala",
"LTR": "LTR",
"Made by Open WebUI Community": "Tehnyt OpenWebUI-yhteisö",
"Make password visible in the user interface": "Näytä salasana käyttöliittymässä",
"Make sure to enclose them with": "Varmista, että suljet ne",
"Make sure to export a workflow.json file as API format from ComfyUI.": "Muista viedä workflow.json-tiedosto API-muodossa ComfyUI:sta.",
"Male": "",
"Male": "Mies",
"Manage": "Hallitse",
"Manage Direct Connections": "Hallitse suoria yhteyksiä",
"Manage Models": "Hallitse malleja",
@ -918,7 +926,7 @@
"Manage OpenAI API Connections": "Hallitse OpenAI API -yhteyksiä",
"Manage Pipelines": "Hallitse putkia",
"Manage Tool Servers": "Hallitse työkalu palvelimia",
"Manage your account information.": "",
"Manage your account information.": "Hallitse tilitietojasi",
"March": "maaliskuu",
"Markdown": "Markdown",
"Markdown (Header)": "Markdown (otsikko)",
@ -927,7 +935,7 @@
"Max Upload Size": "Latausten enimmäiskoko",
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Enintään 3 mallia voidaan ladata samanaikaisesti. Yritä myöhemmin uudelleen.",
"May": "toukokuu",
"Medium": "",
"Medium": "Keskitaso",
"Memories accessible by LLMs will be shown here.": "Muistitiedostot, joita LLM-ohjelmat käyttävät, näkyvät tässä.",
"Memory": "Muisti",
"Memory added successfully": "Muisti lisätty onnistuneesti",
@ -963,7 +971,7 @@
"Model ID is required.": "Mallin tunnus on pakollinen",
"Model IDs": "Mallitunnukset",
"Model Name": "Mallin nimi",
"Model name already exists, please choose a different one": "",
"Model name already exists, please choose a different one": "Mallin nimi on jo olemassa, valitse toinen nimi.",
"Model Name is required.": "Mallin nimi on pakollinen",
"Model not selected": "Mallia ei ole valittu",
"Model Params": "Mallin parametrit",
@ -981,9 +989,9 @@
"More": "Lisää",
"More Concise": "Ytimekkäämpi",
"More Options": "Lisää vaihtoehtoja",
"Move": "",
"Move": "Siirrä",
"Name": "Nimi",
"Name and ID are required, please fill them out": "",
"Name and ID are required, please fill them out": "Nimi ja ID vaaditaan, täytä puuttuvat kentät",
"Name your knowledge base": "Anna tietokannalle nimi",
"Native": "Natiivi",
"New Button": "Uusi painike",
@ -1002,7 +1010,7 @@
"No content found": "Sisältöä ei löytynyt",
"No content found in file.": "Sisältöä ei löytynyt tiedostosta.",
"No content to speak": "Ei puhuttavaa sisältöä",
"No conversation to save": "",
"No conversation to save": "Ei tallennettavaa keskustelua",
"No distance available": "Etäisyyttä ei saatavilla",
"No feedbacks found": "Palautteita ei löytynyt",
"No file selected": "Tiedostoa ei ole valittu",
@ -1021,7 +1029,7 @@
"No source available": "Lähdettä ei saatavilla",
"No suggestion prompts": "Ei ehdotettuja promptteja",
"No users were found.": "Käyttäjiä ei löytynyt.",
"No valves": "",
"No valves": "Ei venttiileitä",
"No valves to update": "Ei venttiileitä päivitettäväksi",
"Node Ids": "",
"None": "Ei mikään",
@ -1045,8 +1053,8 @@
"Ollama Version": "Ollama-versio",
"On": "Päällä",
"OneDrive": "OneDrive",
"Only active when \"Paste Large Text as File\" setting is toggled on.": "",
"Only active when the chat input is in focus and an LLM is generating a response.": "",
"Only active when \"Paste Large Text as File\" setting is toggled on.": "Vain käytössä jos \"Liitä suuri teksti tiedostona\" asetus on käytössä.",
"Only active when the chat input is in focus and an LLM is generating a response.": "Aktiivinen vain, kun keskustelusyöte on kohdistettu ja LLM generoi vastausta.",
"Only alphanumeric characters and hyphens are allowed": "Vain kirjaimet, numerot ja väliviivat ovat sallittuja",
"Only alphanumeric characters and hyphens are allowed in the command string.": "Vain kirjaimet, numerot ja väliviivat ovat sallittuja komentosarjassa.",
"Only collections can be edited, create a new knowledge base to edit/add documents.": "Vain kokoelmia voi muokata, luo uusi tietokanta muokataksesi/lisätäksesi asiakirjoja.",
@ -1074,8 +1082,8 @@
"OpenAI API settings updated": "OpenAI API -asetukset päivitetty",
"OpenAI URL/Key required.": "OpenAI URL/avain vaaditaan.",
"openapi.json URL or Path": "openapi.json verkko-osoite tai polku",
"Optional": "",
"Options for running a local vision-language model in the picture description. The parameters refer to a model hosted on Hugging Face. This parameter is mutually exclusive with picture_description_api.": "",
"Optional": "Valinnainen",
"Options for running a local vision-language model in the picture description. The parameters refer to a model hosted on Hugging Face. This parameter is mutually exclusive with picture_description_api.": "Vaihtoehdot paikallisen näkömallin suorittamiseen kuvan kuvauksessa. Parametrit viittaavat Hugging Facessa ylläpidettyyn malliin. Tämä parametri on toisensa poissulkeva picture_description_api:n kanssa.",
"or": "tai",
"Ordered List": "Järjestetty lista",
"Organize your users": "Järjestä käyttäjäsi",
@ -1124,7 +1132,7 @@
"Playwright WebSocket URL": "Playwright WebSocket verkko-osoite",
"Please carefully review the following warnings:": "Tarkista huolellisesti seuraavat varoitukset:",
"Please do not close the settings page while loading the model.": "Älä sulje asetussivua mallin latautuessa.",
"Please enter a message or attach a file.": "",
"Please enter a message or attach a file.": "Kirjoita viesti tai liittä tiedosto.",
"Please enter a prompt": "Kirjoita kehote",
"Please enter a valid path": "Kirjoita kelvollinen polku",
"Please enter a valid URL": "Kirjoita kelvollinen verkko-osoite",
@ -1135,7 +1143,7 @@
"Please wait until all files are uploaded.": "Odota kunnes kaikki tiedostot ovat ladattu.",
"Port": "Portti",
"Positive attitude": "Positiivinen asenne",
"Prefer not to say": "",
"Prefer not to say": "En halua sanoa",
"Prefix ID": "Etuliite-ID",
"Prefix ID is used to avoid conflicts with other connections by adding a prefix to the model IDs - leave empty to disable": "Etuliite-ID:tä käytetään välttämään ristiriidat muiden yhteyksien kanssa lisäämällä etuliite mallitunnuksiin - jätä tyhjäksi, jos haluat ottaa sen pois käytöstä",
"Prevent file creation": "Estä tiedostojen luonti",
@ -1167,6 +1175,7 @@
"Read Aloud": "Lue ääneen",
"Reason": "",
"Reasoning Effort": "",
"Reasoning Tags": "",
"Record": "Nauhoita",
"Record voice": "Nauhoita ääntä",
"Redirecting you to Open WebUI Community": "Ohjataan sinut OpenWebUI-yhteisöön",
@ -1222,14 +1231,14 @@
"Save & Create": "Tallenna ja luo",
"Save & Update": "Tallenna ja päivitä",
"Save As Copy": "Tallenna kopiona",
"Save Chat": "",
"Save Chat": "Tallenna keskustelu",
"Save Tag": "Tallenna tagi",
"Saved": "Tallennettu",
"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": "Keskustelulokien tallentaminen suoraan selaimen tallennustilaan ei ole enää tuettu. Lataa ja poista keskustelulokit napsauttamalla alla olevaa painiketta. Älä huoli, voit helposti tuoda keskustelulokit takaisin backendiin",
"Scroll On Branch Change": "Vieritä haaran vaihtoon",
"Search": "Haku",
"Search a model": "Hae mallia",
"Search all emojis": "",
"Search all emojis": "Hae emojeista",
"Search Base": "Hakupohja",
"Search Chats": "Hae keskusteluja",
"Search Collection": "Hae kokoelmaa",
@ -1259,32 +1268,32 @@
"See readme.md for instructions": "Katso ohjeet readme.md-tiedostosta",
"See what's new": "Katso, mitä uutta",
"Seed": "Siemenluku",
"Select": "",
"Select": "Valitse",
"Select a base model": "Valitse perusmalli",
"Select a base model (e.g. llama3, gpt-4o)": "",
"Select a base model (e.g. llama3, gpt-4o)": "Valitse perusmalli (esim. llama3, gtp-4o)",
"Select a conversation to preview": "Valitse keskustelun esikatselu",
"Select a engine": "Valitse moottori",
"Select a function": "Valitse toiminto",
"Select a group": "Valitse ryhmä",
"Select a language": "",
"Select a mode": "",
"Select a language": "Valitse kieli",
"Select a mode": "Valitse malli",
"Select a model": "Valitse malli",
"Select a model (optional)": "",
"Select a model (optional)": "Valitse malli (valinnainen)",
"Select a pipeline": "Valitse putki",
"Select a pipeline url": "Valitse putken verkko-osoite",
"Select a reranking model engine": "",
"Select a role": "",
"Select a theme": "",
"Select a reranking model engine": "Valitse uudelleenpisteytymismallin moottori",
"Select a role": "Valitse rooli",
"Select a theme": "Valitse teema",
"Select a tool": "Valitse työkalu",
"Select a voice": "",
"Select a voice": "Valitse ääni",
"Select an auth method": "Valitse kirjautumistapa",
"Select an embedding model engine": "",
"Select an engine": "",
"Select an embedding model engine": "Valitse upotusmallin moottori",
"Select an engine": "Valitse moottori",
"Select an Ollama instance": "Valitse Ollama instanssi",
"Select an output format": "",
"Select dtype": "",
"Select an output format": "Valitse tulostusmuoto",
"Select dtype": "Valitse dtype",
"Select Engine": "Valitse moottori",
"Select how to split message text for TTS requests": "",
"Select how to split message text for TTS requests": "Valitse, miten viestit jaetaan TTS-pyyntöjä varten",
"Select Knowledge": "Valitse tietämys",
"Select only one model to call": "Valitse vain yksi malli kutsuttavaksi",
"Selected model(s) do not support image inputs": "Valitut mallit eivät tue kuvasöytteitä",
@ -1301,7 +1310,7 @@
"Serply API Key": "Serply API -avain",
"Serpstack API Key": "Serpstack API -avain",
"Server connection verified": "Palvelinyhteys vahvistettu",
"Session": "",
"Session": "Istunto",
"Set as default": "Aseta oletukseksi",
"Set CFG Scale": "Aseta CFG-mitta",
"Set Default Model": "Aseta oletusmalli",
@ -1327,7 +1336,7 @@
"Share": "Jaa",
"Share Chat": "Jaa keskustelu",
"Share to Open WebUI Community": "Jaa OpenWebUI-yhteisöön",
"Share your background and interests": "",
"Share your background and interests": "Jaa taustasi ja kiinnostuksen kohteesi",
"Sharing Permissions": "Jako oikeudet",
"Shortcuts with an asterisk (*) are situational and only active under specific conditions.": "Tähdellä (*) merkityt pikavalinnat ovat tilannekohtaisia ja aktiivisia vain tietyissä olosuhteissa.",
"Show": "Näytä",
@ -1347,18 +1356,18 @@
"Sign Out": "Kirjaudu ulos",
"Sign up": "Rekisteröidy",
"Sign up to {{WEBUI_NAME}}": "Rekisteröidy palveluun {{WEBUI_NAME}}",
"Significantly improves accuracy by using an LLM to enhance tables, forms, inline math, and layout detection. Will increase latency. Defaults to False.": "",
"Significantly improves accuracy by using an LLM to enhance tables, forms, inline math, and layout detection. Will increase latency. Defaults to False.": "Parantaa merkittävästi tarkkuutta käyttämällä LLM mallia taulukoiden, lomakkeiden, rivikohtaisen matematiikan ja asettelun tunnistuksen parantamiseen. Lisää viivettä. Oletusarvo on False.",
"Signing in to {{WEBUI_NAME}}": "Kirjaudutaan sisään palveluun {{WEBUI_NAME}}",
"Sink List": "",
"Sink List": "Upotuslista",
"sk-1234": "",
"Skip Cache": "Ohita välimuisti",
"Skip the cache and re-run the inference. Defaults to False.": "Ohita välimuisti ja suorita päätelmä uudelleen. Oletusarvo ei käytössä.",
"Something went wrong :/": "",
"Sonar": "",
"Sonar Deep Research": "",
"Sonar Pro": "",
"Sonar Reasoning": "",
"Sonar Reasoning Pro": "",
"Something went wrong :/": "Jokin meni pieleen :/",
"Sonar": "Sonar",
"Sonar Deep Research": "Sonar Deep Research",
"Sonar Pro": "Sonar Pro",
"Sonar Reasoning": "Sonar Reasoning",
"Sonar Reasoning Pro": "Sonar Reasoning Pro",
"Sougou Search API sID": "Sougou Search API sID",
"Sougou Search API SK": "Sougou Search API SK",
"Source": "Lähde",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "Puheentunnistus",
"Speech-to-Text Engine": "Puheentunnistusmoottori",
"Start of the channel": "Kanavan alku",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "Pysäytä",
"Stop Generating": "Lopeta generointi",
@ -1381,7 +1391,7 @@
"Stylized PDF Export": "Muotoiltun PDF-vienti",
"Subtitle (e.g. about the Roman Empire)": "Alaotsikko (esim. Rooman valtakunta)",
"Success": "Onnistui",
"Successfully imported {{userCount}} users.": "",
"Successfully imported {{userCount}} users.": "{{userCount}} käyttäjää tuottiin onnistuneesti.",
"Successfully updated.": "Päivitetty onnistuneesti.",
"Suggest a change": "Ehdota muutosta",
"Suggested": "Ehdotukset",
@ -1406,7 +1416,7 @@
"Tell us more:": "Kerro lisää:",
"Temperature": "Lämpötila",
"Temporary Chat": "Väliaikainen keskustelu",
"Temporary Chat by Default": "",
"Temporary Chat by Default": "Väliaikainen keskustelu oletuksena",
"Text Splitter": "Tekstin jakaja",
"Text-to-Speech": "Puhesynteesi",
"Text-to-Speech Engine": "Puhesynteesimoottori",
@ -1539,9 +1549,9 @@
"Upload Files": "Lataa tiedostoja",
"Upload Pipeline": "Lataa putki",
"Upload Progress": "Latauksen edistyminen",
"Upload Progress: {{uploadedFiles}}/{{totalFiles}} ({{percentage}}%)": "",
"Upload Progress: {{uploadedFiles}}/{{totalFiles}} ({{percentage}}%)": "Latauksen edistyminen: {{uploadedFiles}}/{{totalFiles}} ({{percentage}}%)",
"URL": "URL",
"URL is required": "",
"URL is required": "URL vaaditaan",
"URL Mode": "URL-tila",
"Usage": "Käyttö",
"Use '#' in the prompt input to load and include your knowledge.": "Käytä '#' -merkkiä kehotekenttään ladataksesi ja sisällyttääksesi tietämystäsi.",
@ -1561,7 +1571,7 @@
"Using Focused Retrieval": "Kohdennetun haun käyttäminen",
"Using the default arena model with all models. Click the plus button to add custom models.": "Käytetään oletusarena-mallia kaikkien mallien kanssa. Napsauta plus-painiketta lisätäksesi mukautettuja malleja.",
"Valid time units:": "Kelvolliset aikayksiköt:",
"Validate certificate": "",
"Validate certificate": "Tarkista sertifikaatti",
"Valves": "Venttiilit",
"Valves updated": "Venttiilit päivitetty",
"Valves updated successfully": "Venttiilit päivitetty onnistuneesti",
@ -1604,7 +1614,7 @@
"Whisper (Local)": "Whisper (paikallinen)",
"Why?": "Miksi?",
"Widescreen Mode": "Laajakuvatila",
"Width": "",
"Width": "Leveys",
"Won": "Voitti",
"Works together with top-k. A higher value (e.g., 0.95) will lead to more diverse text, while a lower value (e.g., 0.5) will generate more focused and conservative text.": "",
"Workspace": "Työtila",
@ -1628,7 +1638,7 @@
"You have shared this chat": "Olet jakanut tämän keskustelun",
"You're a helpful assistant.": "Olet avulias avustaja.",
"You're now logged in.": "Olet nyt kirjautunut sisään.",
"Your Account": "",
"Your Account": "Tilisi",
"Your account status is currently pending activation.": "Tilisi tila on tällä hetkellä odottaa aktivointia.",
"Your entire contribution will go directly to the plugin developer; Open WebUI does not take any percentage. However, the chosen funding platform might have its own fees.": "Koko panoksesi menee suoraan lisäosan kehittäjälle; Open WebUI ei pidätä prosenttiosuutta. Valittu rahoitusalusta voi kuitenkin periä omia maksujaan.",
"Youtube": "YouTube",

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ models }}",
"{{COUNT}} Available Tools": "Nombre d'outils disponibles {{COUNT}}",
"{{COUNT}} characters": "",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "Nombres de lignes cachées {{COUNT}}",
"{{COUNT}} Replies": "{{COUNT}} réponses",
"{{COUNT}} words": "",
@ -82,9 +83,13 @@
"Allow Chat Share": "Autoriser le partage de la conversation",
"Allow Chat System Prompt": "Autoriser le prompt système de la conversation",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "Autoriser le téléversement de fichiers",
"Allow Multiple Models in Chat": "Autoriser plusieurs modèles dans la conversation",
"Allow non-local voices": "Autoriser les voix non locales",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "Autoriser la reconnaissance vocale",
"Allow Temporary Chat": "Autoriser la conversation temporaire",
"Allow Text to Speech": "Autoriser la synthèse vocale",
@ -425,7 +430,7 @@
"Docling Server URL required.": "URL du serveur Docling requise.",
"Document": "Document",
"Document Intelligence": "Intelligence documentaire",
"Document Intelligence endpoint and key required.": "Endpoint et clé requis pour l'intelligence documentaire",
"Document Intelligence endpoint required.": "",
"Documentation": "Documentation",
"Documents": "Documents",
"does not make any external connections, and your data stays securely on your locally hosted server.": "n'établit aucune connexion externe et garde vos données en sécurité sur votre serveur local.",
@ -489,7 +494,9 @@
"Enable Message Rating": "Activer l'évaluation des messages",
"Enable Mirostat sampling for controlling perplexity.": "Activer l'échantillonnage Mirostat pour contrôler Perplexité.",
"Enable New Sign Ups": "Activer les nouvelles inscriptions",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "Activé",
"End Tag": "",
"Endpoint URL": "URL du point de terminaison",
"Enforce Temporary Chat": "Imposer les discussions temporaires",
"Enhance": "Améliore",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "Formatez vos variables en utilisant des parenthèses comme ceci :",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "Transmet les identifiants de session de l'utilisateur pour l'authentification",
"Full Context Mode": "Mode avec injection complète dans le Context",
"Function": "Fonction",
@ -1167,6 +1175,7 @@
"Read Aloud": "Lire à haute voix",
"Reason": "Raisonne",
"Reasoning Effort": "Effort de raisonnement",
"Reasoning Tags": "",
"Record": "Enregistrement",
"Record voice": "Enregistrer la voix",
"Redirecting you to Open WebUI Community": "Redirection vers la communauté OpenWebUI",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "Reconnaissance vocale",
"Speech-to-Text Engine": "Moteur de reconnaissance vocale",
"Start of the channel": "Début du canal",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "Stop",
"Stop Generating": "Arrêter la génération",

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ models }}",
"{{COUNT}} Available Tools": "Nombre d'outils disponibles {{COUNT}}",
"{{COUNT}} characters": "{{COUNT}} caractères",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "Nombres de lignes cachées {{COUNT}}",
"{{COUNT}} Replies": "{{COUNT}} réponses",
"{{COUNT}} words": "{{COUNT}} mots",
@ -82,9 +83,13 @@
"Allow Chat Share": "Autoriser le partage de la conversation",
"Allow Chat System Prompt": "Autoriser le prompt système de la conversation",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "Autoriser le téléversement de fichiers",
"Allow Multiple Models in Chat": "Autoriser plusieurs modèles dans la conversation",
"Allow non-local voices": "Autoriser les voix non locales",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "Autoriser la reconnaissance vocale",
"Allow Temporary Chat": "Autoriser la conversation temporaire",
"Allow Text to Speech": "Autoriser la synthèse vocale",
@ -425,7 +430,7 @@
"Docling Server URL required.": "URL du serveur Docling requise.",
"Document": "Document",
"Document Intelligence": "Intelligence documentaire",
"Document Intelligence endpoint and key required.": "Endpoint et clé requis pour l'intelligence documentaire",
"Document Intelligence endpoint required.": "",
"Documentation": "Documentation",
"Documents": "Documents",
"does not make any external connections, and your data stays securely on your locally hosted server.": "n'établit aucune connexion externe et garde vos données en sécurité sur votre serveur local.",
@ -489,7 +494,9 @@
"Enable Message Rating": "Activer l'évaluation des messages",
"Enable Mirostat sampling for controlling perplexity.": "Activer l'échantillonnage Mirostat pour contrôler Perplexité.",
"Enable New Sign Ups": "Activer les nouvelles inscriptions",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "Activé",
"End Tag": "",
"Endpoint URL": "URL du point de terminaison",
"Enforce Temporary Chat": "Imposer les discussions temporaires",
"Enhance": "Améliore",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "Formatez vos variables en utilisant des parenthèses comme ceci :",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "Transmet les identifiants de session de l'utilisateur pour l'authentification",
"Full Context Mode": "Mode avec injection complète dans le Context",
"Function": "Fonction",
@ -1167,6 +1175,7 @@
"Read Aloud": "Lire à haute voix",
"Reason": "Raisonne",
"Reasoning Effort": "Effort de raisonnement",
"Reasoning Tags": "",
"Record": "Enregistrement",
"Record voice": "Enregistrer la voix",
"Redirecting you to Open WebUI Community": "Redirection vers la communauté OpenWebUI",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "Reconnaissance vocale",
"Speech-to-Text Engine": "Moteur de reconnaissance vocale",
"Start of the channel": "Début du canal",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "Stop",
"Stop Generating": "Arrêter la génération",

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ models }}",
"{{COUNT}} Available Tools": "",
"{{COUNT}} characters": "",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "",
"{{COUNT}} Replies": "{{COUNT}} Respostas",
"{{COUNT}} words": "",
@ -82,9 +83,13 @@
"Allow Chat Share": "",
"Allow Chat System Prompt": "",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "Permitir asubida de Arquivos",
"Allow Multiple Models in Chat": "",
"Allow non-local voices": "Permitir voces non locales",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "",
"Allow Temporary Chat": "Permitir Chat Temporal",
"Allow Text to Speech": "",
@ -425,7 +430,7 @@
"Docling Server URL required.": "",
"Document": "Documento",
"Document Intelligence": "Inteligencia documental",
"Document Intelligence endpoint and key required.": "Endpoint e chave de Intelixencia de Documentos requeridos.",
"Document Intelligence endpoint required.": "",
"Documentation": "Documentación",
"Documents": "Documentos",
"does not make any external connections, and your data stays securely on your locally hosted server.": "non realiza ninguna conexión externa y sus datos permanecen seguros en su servidor alojado localmente.",
@ -489,7 +494,9 @@
"Enable Message Rating": "Habilitar a calificación de os mensaxes",
"Enable Mirostat sampling for controlling perplexity.": "Habilitar o muestreo de Mirostat para controlar Perplexity.",
"Enable New Sign Ups": "Habilitar novos Registros",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "Activado",
"End Tag": "",
"Endpoint URL": "",
"Enforce Temporary Chat": "",
"Enhance": "",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "Formatea tus variables usando corchetes así:",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "",
"Full Context Mode": "",
"Function": "Función",
@ -1167,6 +1175,7 @@
"Read Aloud": "Ler en voz alta",
"Reason": "",
"Reasoning Effort": "Esfuerzo de razonamiento",
"Reasoning Tags": "",
"Record": "",
"Record voice": "Grabar voz",
"Redirecting you to Open WebUI Community": "Redireccionándote a a comunidad OpenWebUI",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "",
"Speech-to-Text Engine": "Motor de voz a texto",
"Start of the channel": "Inicio da canle",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "Detener",
"Stop Generating": "",

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ מודלים }}",
"{{COUNT}} Available Tools": "",
"{{COUNT}} characters": "",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "",
"{{COUNT}} Replies": "",
"{{COUNT}} words": "",
@ -82,9 +83,13 @@
"Allow Chat Share": "אפשר שיתוף צ'אט",
"Allow Chat System Prompt": "",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "אפשר העלאת קובץ",
"Allow Multiple Models in Chat": "",
"Allow non-local voices": "",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "",
"Allow Temporary Chat": "",
"Allow Text to Speech": "",
@ -425,7 +430,7 @@
"Docling Server URL required.": "",
"Document": "מסמך",
"Document Intelligence": "",
"Document Intelligence endpoint and key required.": "",
"Document Intelligence endpoint required.": "",
"Documentation": "",
"Documents": "מסמכים",
"does not make any external connections, and your data stays securely on your locally hosted server.": "לא מבצע חיבורים חיצוניים, והנתונים שלך נשמרים באופן מאובטח בשרת המקומי שלך.",
@ -489,7 +494,9 @@
"Enable Message Rating": "",
"Enable Mirostat sampling for controlling perplexity.": "",
"Enable New Sign Ups": "אפשר הרשמות חדשות",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "מופעל",
"End Tag": "",
"Endpoint URL": "",
"Enforce Temporary Chat": "",
"Enhance": "",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "",
"Full Context Mode": "",
"Function": "",
@ -1167,6 +1175,7 @@
"Read Aloud": "קרא בקול",
"Reason": "",
"Reasoning Effort": "",
"Reasoning Tags": "",
"Record": "",
"Record voice": "הקלט קול",
"Redirecting you to Open WebUI Community": "מפנה אותך לקהילת OpenWebUI",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "",
"Speech-to-Text Engine": "מנוע תחקור שמע",
"Start of the channel": "תחילת הערוץ",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "",
"Stop Generating": "",

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ मॉडल }}",
"{{COUNT}} Available Tools": "",
"{{COUNT}} characters": "",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "",
"{{COUNT}} Replies": "",
"{{COUNT}} words": "",
@ -82,9 +83,13 @@
"Allow Chat Share": "",
"Allow Chat System Prompt": "",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "",
"Allow Multiple Models in Chat": "",
"Allow non-local voices": "",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "",
"Allow Temporary Chat": "",
"Allow Text to Speech": "",
@ -425,7 +430,7 @@
"Docling Server URL required.": "",
"Document": "दस्तावेज़",
"Document Intelligence": "",
"Document Intelligence endpoint and key required.": "",
"Document Intelligence endpoint required.": "",
"Documentation": "",
"Documents": "दस्तावेज़",
"does not make any external connections, and your data stays securely on your locally hosted server.": "कोई बाहरी कनेक्शन नहीं बनाता है, और आपका डेटा आपके स्थानीय रूप से होस्ट किए गए सर्वर पर सुरक्षित रूप से रहता है।",
@ -489,7 +494,9 @@
"Enable Message Rating": "",
"Enable Mirostat sampling for controlling perplexity.": "",
"Enable New Sign Ups": "नए साइन अप सक्रिय करें",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "सक्षम",
"End Tag": "",
"Endpoint URL": "",
"Enforce Temporary Chat": "",
"Enhance": "",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "",
"Full Context Mode": "",
"Function": "",
@ -1167,6 +1175,7 @@
"Read Aloud": "जोर से पढ़ें",
"Reason": "",
"Reasoning Effort": "",
"Reasoning Tags": "",
"Record": "",
"Record voice": "आवाज रिकॉर्ड करना",
"Redirecting you to Open WebUI Community": "आपको OpenWebUI समुदाय पर पुनर्निर्देशित किया जा रहा है",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "",
"Speech-to-Text Engine": "वाक्-से-पाठ इंजन",
"Start of the channel": "चैनल की शुरुआत",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "",
"Stop Generating": "",

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ modeli }}",
"{{COUNT}} Available Tools": "",
"{{COUNT}} characters": "",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "",
"{{COUNT}} Replies": "",
"{{COUNT}} words": "",
@ -82,9 +83,13 @@
"Allow Chat Share": "",
"Allow Chat System Prompt": "",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "",
"Allow Multiple Models in Chat": "",
"Allow non-local voices": "Dopusti nelokalne glasove",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "",
"Allow Temporary Chat": "",
"Allow Text to Speech": "",
@ -425,7 +430,7 @@
"Docling Server URL required.": "",
"Document": "Dokument",
"Document Intelligence": "",
"Document Intelligence endpoint and key required.": "",
"Document Intelligence endpoint required.": "",
"Documentation": "Dokumentacija",
"Documents": "Dokumenti",
"does not make any external connections, and your data stays securely on your locally hosted server.": "ne uspostavlja vanjske veze, a vaši podaci ostaju sigurno na vašem lokalno hostiranom poslužitelju.",
@ -489,7 +494,9 @@
"Enable Message Rating": "",
"Enable Mirostat sampling for controlling perplexity.": "",
"Enable New Sign Ups": "Omogući nove prijave",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "Omogućeno",
"End Tag": "",
"Endpoint URL": "",
"Enforce Temporary Chat": "",
"Enhance": "",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "",
"Full Context Mode": "",
"Function": "",
@ -1167,6 +1175,7 @@
"Read Aloud": "Čitaj naglas",
"Reason": "",
"Reasoning Effort": "",
"Reasoning Tags": "",
"Record": "",
"Record voice": "Snimanje glasa",
"Redirecting you to Open WebUI Community": "Preusmjeravanje na OpenWebUI zajednicu",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "",
"Speech-to-Text Engine": "Stroj za prepoznavanje govora",
"Start of the channel": "Početak kanala",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "",
"Stop Generating": "",

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ modellek }}",
"{{COUNT}} Available Tools": "{{COUNT}} Elérhető eszköz",
"{{COUNT}} characters": "",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "{{COUNT}} rejtett sor",
"{{COUNT}} Replies": "{{COUNT}} Válasz",
"{{COUNT}} words": "",
@ -82,9 +83,13 @@
"Allow Chat Share": "",
"Allow Chat System Prompt": "",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "Fájlfeltöltés engedélyezése",
"Allow Multiple Models in Chat": "",
"Allow non-local voices": "Nem helyi hangok engedélyezése",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "",
"Allow Temporary Chat": "Ideiglenes beszélgetés engedélyezése",
"Allow Text to Speech": "",
@ -425,7 +430,7 @@
"Docling Server URL required.": "Docling szerver URL szükséges.",
"Document": "Dokumentum",
"Document Intelligence": "Dokumentum intelligencia",
"Document Intelligence endpoint and key required.": "Dokumentum intelligencia végpont és kulcs szükséges.",
"Document Intelligence endpoint required.": "",
"Documentation": "Dokumentáció",
"Documents": "Dokumentumok",
"does not make any external connections, and your data stays securely on your locally hosted server.": "nem létesít külső kapcsolatokat, és az adataid biztonságban maradnak a helyileg hosztolt szervereden.",
@ -489,7 +494,9 @@
"Enable Message Rating": "Üzenet értékelés engedélyezése",
"Enable Mirostat sampling for controlling perplexity.": "Engedélyezd a Mirostat mintavételezést a perplexitás szabályozásához.",
"Enable New Sign Ups": "Új regisztrációk engedélyezése",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "Engedélyezve",
"End Tag": "",
"Endpoint URL": "",
"Enforce Temporary Chat": "Ideiglenes csevegés kikényszerítése",
"Enhance": "",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "Formázd a változóidat zárójelekkel így:",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "Továbbítja a rendszer felhasználói munkamenet hitelesítő adatait a hitelesítéshez",
"Full Context Mode": "Teljes kontextus mód",
"Function": "Funkció",
@ -1167,6 +1175,7 @@
"Read Aloud": "Felolvasás",
"Reason": "",
"Reasoning Effort": "Érvelési erőfeszítés",
"Reasoning Tags": "",
"Record": "",
"Record voice": "Hang rögzítése",
"Redirecting you to Open WebUI Community": "Átirányítás az OpenWebUI közösséghez",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "",
"Speech-to-Text Engine": "Beszéd-szöveg motor",
"Start of the channel": "A csatorna eleje",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "Leállítás",
"Stop Generating": "",

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ models }}",
"{{COUNT}} Available Tools": "",
"{{COUNT}} characters": "",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "",
"{{COUNT}} Replies": "",
"{{COUNT}} words": "",
@ -82,9 +83,13 @@
"Allow Chat Share": "",
"Allow Chat System Prompt": "",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "",
"Allow Multiple Models in Chat": "",
"Allow non-local voices": "Izinkan suara non-lokal",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "",
"Allow Temporary Chat": "",
"Allow Text to Speech": "",
@ -425,7 +430,7 @@
"Docling Server URL required.": "",
"Document": "Dokumen",
"Document Intelligence": "",
"Document Intelligence endpoint and key required.": "",
"Document Intelligence endpoint required.": "",
"Documentation": "Dokumentasi",
"Documents": "Dokumen",
"does not make any external connections, and your data stays securely on your locally hosted server.": "tidak membuat koneksi eksternal apa pun, dan data Anda tetap aman di server yang dihosting secara lokal.",
@ -489,7 +494,9 @@
"Enable Message Rating": "",
"Enable Mirostat sampling for controlling perplexity.": "",
"Enable New Sign Ups": "Aktifkan Pendaftaran Baru",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "Diaktifkan",
"End Tag": "",
"Endpoint URL": "",
"Enforce Temporary Chat": "",
"Enhance": "",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "",
"Full Context Mode": "",
"Function": "",
@ -1167,6 +1175,7 @@
"Read Aloud": "Baca dengan Keras",
"Reason": "",
"Reasoning Effort": "",
"Reasoning Tags": "",
"Record": "",
"Record voice": "Rekam suara",
"Redirecting you to Open WebUI Community": "Mengarahkan Anda ke Komunitas OpenWebUI",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "",
"Speech-to-Text Engine": "Mesin Pengenal Ucapan ke Teks",
"Start of the channel": "Awal saluran",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "",
"Stop Generating": "",

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ models }}",
"{{COUNT}} Available Tools": "{{COUNT}} Uirlisí ar Fáil",
"{{COUNT}} characters": "{{COUNT}} carachtair",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "{{COUNT}} línte folaithe",
"{{COUNT}} Replies": "{{COUNT}} Freagra",
"{{COUNT}} words": "{{COUNT}} focail",
@ -82,9 +83,13 @@
"Allow Chat Share": "Ceadaigh Comhroinnt Comhrá",
"Allow Chat System Prompt": "Ceadaigh Pras Córais Comhrá",
"Allow Chat Valves": "Ceadaigh Comhlaí Comhrá",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "Ceadaigh Uaslódáil Comhad",
"Allow Multiple Models in Chat": "Ceadaigh Il-Samhlacha i gComhrá",
"Allow non-local voices": "Lig guthanna neamh-áitiúla",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "Ceadaigh Óráid go Téacs",
"Allow Temporary Chat": "Cead Comhrá Sealadach",
"Allow Text to Speech": "Ceadaigh Téacs a Chaint",
@ -425,7 +430,7 @@
"Docling Server URL required.": "URL Freastalaí Doling ag teastáil.",
"Document": "Doiciméad",
"Document Intelligence": "Faisnéise Doiciméad",
"Document Intelligence endpoint and key required.": "Críochphointe Faisnéise Doiciméad agus eochair ag teastáil.",
"Document Intelligence endpoint required.": "",
"Documentation": "Doiciméadú",
"Documents": "Doiciméid",
"does not make any external connections, and your data stays securely on your locally hosted server.": "ní dhéanann sé aon naisc sheachtracha, agus fanann do chuid sonraí go slán ar do fhreastalaí a óstáiltear go háitiúil.",
@ -489,7 +494,9 @@
"Enable Message Rating": "Cumasaigh Rátáil Teachtai",
"Enable Mirostat sampling for controlling perplexity.": "Cumasaigh sampláil Mirostat chun seachrán a rialú.",
"Enable New Sign Ups": "Cumasaigh Clárúcháin Nua",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "Cumasaithe",
"End Tag": "",
"Endpoint URL": "URL críochphointe",
"Enforce Temporary Chat": "Cuir Comhrá Sealadach i bhfeidhm",
"Enhance": "Feabhsaigh",
@ -718,6 +725,7 @@
"Format Lines": "Formáid Línte",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "Formáidigh na línte san aschur. Is é Bréag an réamhshocrú. Má shocraítear é go Fíor, déanfar na línte a fhormáidiú chun matamaitic agus stíleanna inlíne a bhrath.",
"Format your variables using brackets like this:": "Formáidigh na hathróga ag baint úsáide as lúibíní mar seo:",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "Cuir dintiúir seisiúin úsáideora córais ar aghaidh lena bhfíordheimhniú",
"Full Context Mode": "Mód Comhthéacs Iomlán",
"Function": "Feidhm",
@ -1167,6 +1175,7 @@
"Read Aloud": "Léigh Ard",
"Reason": "Cúis",
"Reasoning Effort": "Iarracht Réasúnúcháin",
"Reasoning Tags": "",
"Record": "Taifead",
"Record voice": "Taifead guth",
"Redirecting you to Open WebUI Community": "Tú a atreorú chuig OpenWebUI Community",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "Urlabhra-go-Téacs",
"Speech-to-Text Engine": "Inneall Cainte-go-Téacs",
"Start of the channel": "Tús an chainéil",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "Stad",
"Stop Generating": "Stop a Ghiniúint",

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ modelli }}",
"{{COUNT}} Available Tools": "{{COUNT}} Strumenti Disponibili",
"{{COUNT}} characters": "",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "{{COUNT}} righe nascoste",
"{{COUNT}} Replies": "{{COUNT}} Risposte",
"{{COUNT}} words": "",
@ -82,9 +83,13 @@
"Allow Chat Share": "Consenti condivisione chat",
"Allow Chat System Prompt": "",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "Consenti caricamento file",
"Allow Multiple Models in Chat": "Consenti più modelli in chat",
"Allow non-local voices": "Consenti voci non locali",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "Consenti trascrizione vocale",
"Allow Temporary Chat": "Consenti chat temporanea",
"Allow Text to Speech": "Consenti sintesi vocale",
@ -425,7 +430,7 @@
"Docling Server URL required.": "L'URL del server Docling è obbligatoria.",
"Document": "Documento",
"Document Intelligence": "Document Intelligence",
"Document Intelligence endpoint and key required.": "Endpoint e chiave per Document Intelligence sono richiesti.",
"Document Intelligence endpoint required.": "",
"Documentation": "Documentazione",
"Documents": "Documenti",
"does not make any external connections, and your data stays securely on your locally hosted server.": "non effettua connessioni esterne e i tuoi dati rimangono al sicuro sul tuo server ospitato localmente.",
@ -489,7 +494,9 @@
"Enable Message Rating": "Abilita valutazione messaggio",
"Enable Mirostat sampling for controlling perplexity.": "Abilita il campionamento Mirostat per controllare la perplessità.",
"Enable New Sign Ups": "Abilita Nuove Registrazioni",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "Abilitato",
"End Tag": "",
"Endpoint URL": "URL Endpoint",
"Enforce Temporary Chat": "Forza Chat Temporanea",
"Enhance": "Migliora",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "Formatta le tue variabili usando le parentesi quadre in questo modo:",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "Inoltra le credenziali della sessione utente di sistema per autenticare",
"Full Context Mode": "Modalità Contesto Completo",
"Function": "Funzione",
@ -1167,6 +1175,7 @@
"Read Aloud": "Leggi ad Alta Voce",
"Reason": "",
"Reasoning Effort": "Sforzo di ragionamento",
"Reasoning Tags": "",
"Record": "Registra",
"Record voice": "Registra voce",
"Redirecting you to Open WebUI Community": "Reindirizzamento alla comunità OpenWebUI",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "",
"Speech-to-Text Engine": "Motore da voce a testo",
"Start of the channel": "Inizio del canale",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "Arresta",
"Stop Generating": "Ferma generazione",

File diff suppressed because it is too large Load Diff

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ მოდელები }}",
"{{COUNT}} Available Tools": "",
"{{COUNT}} characters": "",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "",
"{{COUNT}} Replies": "{{COUNT}} პასუხი",
"{{COUNT}} words": "",
@ -82,9 +83,13 @@
"Allow Chat Share": "",
"Allow Chat System Prompt": "",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "ფაილის ატვირთვის დაშვება",
"Allow Multiple Models in Chat": "",
"Allow non-local voices": "არალოკალური ხმების დაშვება",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "",
"Allow Temporary Chat": "დროებითი ჩატის დაშვება",
"Allow Text to Speech": "",
@ -425,7 +430,7 @@
"Docling Server URL required.": "",
"Document": "დოკუმენტი",
"Document Intelligence": "",
"Document Intelligence endpoint and key required.": "",
"Document Intelligence endpoint required.": "",
"Documentation": "დოკუმენტაცია",
"Documents": "დოკუმენტები",
"does not make any external connections, and your data stays securely on your locally hosted server.": "არ ამყარებს გარე კავშირებს და თქვენი მონაცემები უსაფრთხოდ რჩება თქვენს ლოკალურ სერვერზე.",
@ -489,7 +494,9 @@
"Enable Message Rating": "",
"Enable Mirostat sampling for controlling perplexity.": "",
"Enable New Sign Ups": "ახალი რეგისტრაციების ჩართვა",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "ჩართულია",
"End Tag": "",
"Endpoint URL": "",
"Enforce Temporary Chat": "",
"Enhance": "",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "",
"Full Context Mode": "",
"Function": "ფუნქცია",
@ -1167,6 +1175,7 @@
"Read Aloud": "ხმამაღლა წაკითხვა",
"Reason": "",
"Reasoning Effort": "",
"Reasoning Tags": "",
"Record": "",
"Record voice": "ხმის ჩაწერა",
"Redirecting you to Open WebUI Community": "მიმდინარეობს გადამისამართება OpenWebUI-ის საზოგადოების საიტზე",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "",
"Speech-to-Text Engine": "საუბრიდან-ტექსტამდე-ის ძრავი",
"Start of the channel": "არხის დასაწყისი",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "გაჩერება",
"Stop Generating": "",

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ models }}",
"{{COUNT}} Available Tools": "Amḍan n yifecka i yellan {{COUNT}}",
"{{COUNT}} characters": "{{COUNT}} n isekkilen",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "{{COUNT}} n yizirigen yeffren",
"{{COUNT}} Replies": "{{COUNT}} n tririyin",
"{{COUNT}} words": "{{COUNT}} n wawalen",
@ -82,9 +83,13 @@
"Allow Chat Share": "Sireg beṭṭu n usqerdec",
"Allow Chat System Prompt": "Sireg aneftaɣ n unagraw n udiwenni",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "Sireg asali n yifuyla",
"Allow Multiple Models in Chat": "Sireg ugar n timudmiwin deg usqerdec",
"Allow non-local voices": "Sireg tuɣac tirdiganin",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "Sireg aɛqal n taɣect",
"Allow Temporary Chat": "Sireg asqerdec i kra n wakud",
"Allow Text to Speech": "Sireg aḍris ar umeslay",
@ -425,7 +430,7 @@
"Docling Server URL required.": "Tansa URL n uqeddac tuḥwaǧ.",
"Document": "Imesli",
"Document Intelligence": "Tigzi n tsemlit",
"Document Intelligence endpoint and key required.": "Agaz n tagara n warrat d tsarut i ilaqen.",
"Document Intelligence endpoint required.": "",
"Documentation": "Tasemlit",
"Documents": "Isemliyen",
"does not make any external connections, and your data stays securely on your locally hosted server.": "ur teqqen ara ɣer tuqqniwin tizɣarayin, akka isefka-k⋅m ad qqimen d iɣellsanen ɣef uqeddac-ik⋅im adigan.",
@ -489,7 +494,9 @@
"Enable Message Rating": "Rmed aktazal n yiznan",
"Enable Mirostat sampling for controlling perplexity.": "Rmed askar n Mirostat akken ad tḥekmed deg lbaṭel.",
"Enable New Sign Ups": "Rmed azmul amaynut Kkret",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "D urmid",
"End Tag": "",
"Endpoint URL": "URL n wagaz n uzgu",
"Enforce Temporary Chat": "Ḥettem idiwenniyen iskudanen",
"Enhance": "Yesnernay",
@ -718,6 +725,7 @@
"Format Lines": "Izirigen n umasal",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "Msel timuttiyin-ik⋅im s useqdec n tacciwin am:",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "Welleh inekcam n tɣimit n useqdac i usesteb",
"Full Context Mode": "Askar n usatal aččuran",
"Function": "Tasɣent",
@ -1167,6 +1175,7 @@
"Read Aloud": "Ɣeṛ-it-id s taɣect ɛlayen",
"Reason": "Ssebba",
"Reasoning Effort": "",
"Reasoning Tags": "",
"Record": "Aklas",
"Record voice": "Sekles taɣect",
"Redirecting you to Open WebUI Community": "",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "Aɛqal n taɣect",
"Speech-to-Text Engine": "Amsadday n uɛqal n taɣect",
"Start of the channel": "Tazwara n wabadu",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "Seḥbes",
"Stop Generating": "Seḥbes asirew",

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ models }}",
"{{COUNT}} Available Tools": "사용 가능한 도구 {{COUNT}}개",
"{{COUNT}} characters": "{{COUNT}} 문자",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "숨겨진 줄 {{COUNT}}개",
"{{COUNT}} Replies": "답글 {{COUNT}}개",
"{{COUNT}} words": "{{COUNT}} 단어",
@ -82,9 +83,13 @@
"Allow Chat Share": "채팅 공유 허용",
"Allow Chat System Prompt": "채팅 시스템 프롬프트 허용",
"Allow Chat Valves": "채팅 밸브 허용",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "파일 업로드 허용",
"Allow Multiple Models in Chat": "채팅에서 여러 모델 허용",
"Allow non-local voices": "외부 음성 허용",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "음성 텍스트 변환 허용",
"Allow Temporary Chat": "임시 채팅 허용",
"Allow Text to Speech": "텍스트 음성 변환 허용",
@ -425,7 +430,7 @@
"Docling Server URL required.": "Docling 서버 URL이 필요합니다.",
"Document": "문서",
"Document Intelligence": "",
"Document Intelligence endpoint and key required.": "Document Intelligence 엔드포인트 및 키가 필요합니다.",
"Document Intelligence endpoint required.": "",
"Documentation": "문서",
"Documents": "문서",
"does not make any external connections, and your data stays securely on your locally hosted server.": "외부와 어떠한 연결도 하지 않으며, 데이터는 로컬에서 호스팅되는 서버에 안전하게 유지됩니다.",
@ -489,7 +494,9 @@
"Enable Message Rating": "메시지 평가 활성화",
"Enable Mirostat sampling for controlling perplexity.": "퍼플렉서티 제어를 위해 Mirostat 샘플링 활성화",
"Enable New Sign Ups": "새 회원가입 활성화",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "활성화됨",
"End Tag": "",
"Endpoint URL": "엔드포인트 URL",
"Enforce Temporary Chat": "임시 채팅 강제 적용",
"Enhance": "향상",
@ -718,6 +725,7 @@
"Format Lines": "줄 서식",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "출력되는 줄에 서식을 적용합니다. 기본값은 False입니다. 이 옵션을 True로 하면, 인라인 수식 및 스타일을 감지하도록 줄에 서식이 적용됩니다.",
"Format your variables using brackets like this:": "변수를 다음과 같이 괄호를 사용하여 생성하세요",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "인증을 위해 시스템 사용자 세션 자격 증명 전달",
"Full Context Mode": "전체 컨텍스트 모드",
"Function": "함수",
@ -1167,6 +1175,7 @@
"Read Aloud": "읽어주기",
"Reason": "근거",
"Reasoning Effort": "추론 난이도",
"Reasoning Tags": "",
"Record": "녹음",
"Record voice": "음성 녹음",
"Redirecting you to Open WebUI Community": "OpenWebUI 커뮤니티로 리디렉션 중",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "음성-텍스트 변환",
"Speech-to-Text Engine": "음성-텍스트 변환 엔진",
"Start of the channel": "채널 시작",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "정지",
"Stop Generating": "생성 중지",

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ models }}",
"{{COUNT}} Available Tools": "",
"{{COUNT}} characters": "",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "",
"{{COUNT}} Replies": "",
"{{COUNT}} words": "",
@ -82,9 +83,13 @@
"Allow Chat Share": "",
"Allow Chat System Prompt": "",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "",
"Allow Multiple Models in Chat": "",
"Allow non-local voices": "Leisti nelokalius balsus",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "",
"Allow Temporary Chat": "",
"Allow Text to Speech": "",
@ -425,7 +430,7 @@
"Docling Server URL required.": "",
"Document": "Dokumentas",
"Document Intelligence": "",
"Document Intelligence endpoint and key required.": "",
"Document Intelligence endpoint required.": "",
"Documentation": "Dokumentacija",
"Documents": "Dokumentai",
"does not make any external connections, and your data stays securely on your locally hosted server.": "neturi jokių išorinių ryšių ir duomenys lieka serveryje.",
@ -489,7 +494,9 @@
"Enable Message Rating": "",
"Enable Mirostat sampling for controlling perplexity.": "",
"Enable New Sign Ups": "Aktyvuoti naujas registracijas",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "Leisti",
"End Tag": "",
"Endpoint URL": "",
"Enforce Temporary Chat": "",
"Enhance": "",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "",
"Full Context Mode": "",
"Function": "",
@ -1167,6 +1175,7 @@
"Read Aloud": "Skaityti garsiai",
"Reason": "",
"Reasoning Effort": "",
"Reasoning Tags": "",
"Record": "",
"Record voice": "Įrašyti balsą",
"Redirecting you to Open WebUI Community": "Perkeliam Jus į OpenWebUI bendruomenę",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "",
"Speech-to-Text Engine": "Balso atpažinimo modelis",
"Start of the channel": "Kanalo pradžia",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "",
"Stop Generating": "",

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ models }}",
"{{COUNT}} Available Tools": "",
"{{COUNT}} characters": "",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "",
"{{COUNT}} Replies": "",
"{{COUNT}} words": "",
@ -82,9 +83,13 @@
"Allow Chat Share": "",
"Allow Chat System Prompt": "",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "",
"Allow Multiple Models in Chat": "",
"Allow non-local voices": "Benarkan suara bukan tempatan ",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "",
"Allow Temporary Chat": "",
"Allow Text to Speech": "",
@ -425,7 +430,7 @@
"Docling Server URL required.": "",
"Document": "Dokumen",
"Document Intelligence": "",
"Document Intelligence endpoint and key required.": "",
"Document Intelligence endpoint required.": "",
"Documentation": "Dokumentasi",
"Documents": "Dokumen",
"does not make any external connections, and your data stays securely on your locally hosted server.": "tidak membuat sebarang sambungan luaran, dan data anda kekal selamat pada pelayan yang dihoskan ditempat anda",
@ -489,7 +494,9 @@
"Enable Message Rating": "",
"Enable Mirostat sampling for controlling perplexity.": "",
"Enable New Sign Ups": "Benarkan Pendaftaran Baharu",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "Dibenarkan",
"End Tag": "",
"Endpoint URL": "",
"Enforce Temporary Chat": "",
"Enhance": "",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "",
"Full Context Mode": "",
"Function": "",
@ -1167,6 +1175,7 @@
"Read Aloud": "Baca dengan lantang",
"Reason": "",
"Reasoning Effort": "",
"Reasoning Tags": "",
"Record": "",
"Record voice": "Rakam suara",
"Redirecting you to Open WebUI Community": "Membawa anda ke Komuniti OpenWebUI",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "",
"Speech-to-Text Engine": "Enjin Ucapan-ke-Teks",
"Start of the channel": "Permulaan saluran",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "",
"Stop Generating": "",

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ modeller }}",
"{{COUNT}} Available Tools": "",
"{{COUNT}} characters": "",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "",
"{{COUNT}} Replies": "{{COUNT}} svar",
"{{COUNT}} words": "",
@ -82,9 +83,13 @@
"Allow Chat Share": "",
"Allow Chat System Prompt": "",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "Tillatt opplasting av filer",
"Allow Multiple Models in Chat": "",
"Allow non-local voices": "Tillat ikke-lokale stemmer",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "",
"Allow Temporary Chat": "Tillat midlertidige chatter",
"Allow Text to Speech": "",
@ -425,7 +430,7 @@
"Docling Server URL required.": "",
"Document": "Dokument",
"Document Intelligence": "Intelligens i dokumenter",
"Document Intelligence endpoint and key required.": "Det kreves et endepunkt og en nøkkel for Intelligens i dokumenter",
"Document Intelligence endpoint required.": "",
"Documentation": "Dokumentasjon",
"Documents": "Dokumenter",
"does not make any external connections, and your data stays securely on your locally hosted server.": "ikke ingen tilkobling til eksterne tjenester. Dataene dine forblir sikkert på den lokale serveren.",
@ -489,7 +494,9 @@
"Enable Message Rating": "Aktivert vurdering av meldinger",
"Enable Mirostat sampling for controlling perplexity.": "",
"Enable New Sign Ups": "Aktiver nye registreringer",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "Aktivert",
"End Tag": "",
"Endpoint URL": "",
"Enforce Temporary Chat": "",
"Enhance": "",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "Formatér variablene dine med klammer som disse:",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "",
"Full Context Mode": "Modus for full kontekst",
"Function": "Funksjon",
@ -1167,6 +1175,7 @@
"Read Aloud": "Les høyt",
"Reason": "",
"Reasoning Effort": "Resonneringsinnsats",
"Reasoning Tags": "",
"Record": "",
"Record voice": "Ta opp tale",
"Redirecting you to Open WebUI Community": "Omdirigerer deg til OpenWebUI-fellesskapet",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "",
"Speech-to-Text Engine": "Motor for Tale-til-tekst",
"Start of the channel": "Starten av kanalen",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "Stopp",
"Stop Generating": "",

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ modellen }}",
"{{COUNT}} Available Tools": "{{COUNT}} beschikbare tools",
"{{COUNT}} characters": "{{COUNT}} karakters",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "{{COUNT}} verborgen regels",
"{{COUNT}} Replies": "{{COUNT}} antwoorden",
"{{COUNT}} words": "{{COUNT}} woorden",
@ -82,9 +83,13 @@
"Allow Chat Share": "",
"Allow Chat System Prompt": "",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "Bestandenupload toestaan",
"Allow Multiple Models in Chat": "",
"Allow non-local voices": "Niet-lokale stemmen toestaan",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "",
"Allow Temporary Chat": "Tijdelijke chat toestaan",
"Allow Text to Speech": "",
@ -425,7 +430,7 @@
"Docling Server URL required.": "Docling server-URL benodigd",
"Document": "Document",
"Document Intelligence": "Document Intelligence",
"Document Intelligence endpoint and key required.": "Document Intelligence-endpoint en -sleutel benodigd",
"Document Intelligence endpoint required.": "",
"Documentation": "Documentatie",
"Documents": "Documenten",
"does not make any external connections, and your data stays securely on your locally hosted server.": "maakt geen externe verbindingen, en je gegevens blijven veilig op je lokaal gehoste server.",
@ -489,7 +494,9 @@
"Enable Message Rating": "Schakel berichtbeoordeling in",
"Enable Mirostat sampling for controlling perplexity.": "Mirostat-sampling in om perplexiteit te controleren inschakelen.",
"Enable New Sign Ups": "Schakel nieuwe registraties in",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "Ingeschakeld",
"End Tag": "",
"Endpoint URL": "",
"Enforce Temporary Chat": "Tijdelijke chat afdwingen",
"Enhance": "",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "Formateer je variabelen met haken zoals dit:",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "",
"Full Context Mode": "Volledige contextmodus",
"Function": "Functie",
@ -1167,6 +1175,7 @@
"Read Aloud": "Voorlezen",
"Reason": "",
"Reasoning Effort": "Redeneerinspanning",
"Reasoning Tags": "",
"Record": "",
"Record voice": "Neem stem op",
"Redirecting you to Open WebUI Community": "Je wordt doorgestuurd naar OpenWebUI Community",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "",
"Speech-to-Text Engine": "Spraak-naar-tekst Engine",
"Start of the channel": "Begin van het kanaal",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "Stop",
"Stop Generating": "",

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ ਮਾਡਲ }}",
"{{COUNT}} Available Tools": "",
"{{COUNT}} characters": "",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "",
"{{COUNT}} Replies": "",
"{{COUNT}} words": "",
@ -82,9 +83,13 @@
"Allow Chat Share": "",
"Allow Chat System Prompt": "",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "",
"Allow Multiple Models in Chat": "",
"Allow non-local voices": "",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "",
"Allow Temporary Chat": "",
"Allow Text to Speech": "",
@ -425,7 +430,7 @@
"Docling Server URL required.": "",
"Document": "ਡਾਕੂਮੈਂਟ",
"Document Intelligence": "",
"Document Intelligence endpoint and key required.": "",
"Document Intelligence endpoint required.": "",
"Documentation": "",
"Documents": "ਡਾਕੂਮੈਂਟ",
"does not make any external connections, and your data stays securely on your locally hosted server.": "ਕੋਈ ਬਾਹਰੀ ਕਨੈਕਸ਼ਨ ਨਹੀਂ ਬਣਾਉਂਦਾ, ਅਤੇ ਤੁਹਾਡਾ ਡਾਟਾ ਤੁਹਾਡੇ ਸਥਾਨਕ ਸਰਵਰ 'ਤੇ ਸੁਰੱਖਿਅਤ ਰਹਿੰਦਾ ਹੈ।",
@ -489,7 +494,9 @@
"Enable Message Rating": "",
"Enable Mirostat sampling for controlling perplexity.": "",
"Enable New Sign Ups": "ਨਵੇਂ ਸਾਈਨ ਅਪ ਯੋਗ ਕਰੋ",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "ਚਾਲੂ",
"End Tag": "",
"Endpoint URL": "",
"Enforce Temporary Chat": "",
"Enhance": "",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "",
"Full Context Mode": "",
"Function": "",
@ -1167,6 +1175,7 @@
"Read Aloud": "ਜੋਰ ਨਾਲ ਪੜ੍ਹੋ",
"Reason": "",
"Reasoning Effort": "",
"Reasoning Tags": "",
"Record": "",
"Record voice": "ਆਵਾਜ਼ ਰਿਕਾਰਡ ਕਰੋ",
"Redirecting you to Open WebUI Community": "ਤੁਹਾਨੂੰ ਓਪਨਵੈਬਯੂਆਈ ਕਮਿਊਨਿਟੀ ਵੱਲ ਰੀਡਾਇਰੈਕਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "",
"Speech-to-Text Engine": "ਬੋਲ-ਤੋਂ-ਪਾਠ ਇੰਜਣ",
"Start of the channel": "ਚੈਨਲ ਦੀ ਸ਼ੁਰੂਆਤ",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "",
"Stop Generating": "",

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ models }}",
"{{COUNT}} Available Tools": "{{COUNT}} dostępnych narzędzi",
"{{COUNT}} characters": "{{COUNT}} znaków",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "{{COUNT}} ukrytych linii",
"{{COUNT}} Replies": "{{COUNT}} odpowiedzi",
"{{COUNT}} words": "{{COUNT}} słów",
@ -82,9 +83,13 @@
"Allow Chat Share": "Zezwól na udostępnianie",
"Allow Chat System Prompt": "Zezwól na zmianę promptu systemowego dla czatu",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "Pozwól na przesyłanie plików",
"Allow Multiple Models in Chat": "Zezwól na wiele modeli w ramach jednego czatu",
"Allow non-local voices": "Pozwól na głosy spoza lokalnej społeczności",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "Zezwól na transkrypcję",
"Allow Temporary Chat": "Zezwól na tymczasową rozmowę",
"Allow Text to Speech": "Zezwól na syntezator głosu",
@ -425,7 +430,7 @@
"Docling Server URL required.": "",
"Document": "Dokument",
"Document Intelligence": "",
"Document Intelligence endpoint and key required.": "",
"Document Intelligence endpoint required.": "",
"Documentation": "Dokumentacja",
"Documents": "Dokumenty",
"does not make any external connections, and your data stays securely on your locally hosted server.": "nie nawiązuje żadnych zewnętrznych połączeń, a Twoje dane pozostają bezpiecznie na Twoim lokalnie hostowanym serwerze.",
@ -489,7 +494,9 @@
"Enable Message Rating": "Włącz ocenianie wiadomości",
"Enable Mirostat sampling for controlling perplexity.": "",
"Enable New Sign Ups": "Włącz nowe rejestracje",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "Włączone",
"End Tag": "",
"Endpoint URL": "",
"Enforce Temporary Chat": "",
"Enhance": "",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "Sformatuj swoje zmienne, używając nawiasów w następujący sposób:",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "",
"Full Context Mode": "Tryb pełnego kontekstu",
"Function": "Funkcja",
@ -1167,6 +1175,7 @@
"Read Aloud": "Czytaj na głos",
"Reason": "Powód",
"Reasoning Effort": "Wysiłek rozumowania",
"Reasoning Tags": "",
"Record": "Nagraj",
"Record voice": "Nagraj swój głos",
"Redirecting you to Open WebUI Community": "Przekierowujemy Cię do społeczności Open WebUI",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "",
"Speech-to-Text Engine": "Silnik konwersji mowy na tekst",
"Start of the channel": "Początek kanału",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "Zatrzymaj",
"Stop Generating": "",
@ -1527,7 +1537,7 @@
"Update and Copy Link": "Aktualizuj i kopiuj link",
"Update for the latest features and improvements.": "Aktualizacja do najnowszych funkcji i ulepszeń.",
"Update password": "Zmiana hasła",
"Updated": "Aby zwiększyć wydajność aplikacji, należy rozważyć optymalizację kodu i użycie odpowiednich struktur danych. {optimization} [optimizations] mogą obejmować minimalizację liczby operacji we/wy, zwiększenie wydajności algorytmów oraz zmniejszenie zużycia pamięci. Ponadto, warto rozważyć użycie {caching} [pamięci podręcznej] do przechowywania często używanych danych, co może znacząco przyspieszyć działanie aplikacji. Wreszcie, monitorowanie wydajności aplikacji za pomocą narzędzi takich jak {profiling} [profilowanie] może pomóc zidentyfikować wolne miejsca i dalsze obszary do optymalizacji.",
"Updated": "Zaktualizowano",
"Updated at": "Aktualizacja dnia",
"Updated At": "Czas aktualizacji",
"Upgrade to a licensed plan for enhanced capabilities, including custom theming and branding, and dedicated support.": "Przejdź na licencjonowany plan, aby uzyskać rozszerzone możliwości, w tym niestandardowe motywy, personalizację oraz dedykowane wsparcie.",

View File

@ -11,10 +11,11 @@
"{{ models }}": "{{ models }}",
"{{COUNT}} Available Tools": "{{COUNT}} Ferramentas disponíveis",
"{{COUNT}} characters": "{{COUNT}} caracteres",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "{{COUNT}} linhas ocultas",
"{{COUNT}} Replies": "{{COUNT}} Respostas",
"{{COUNT}} words": "{{COUNT}} palavras",
"{{model}} download has been canceled": "",
"{{model}} download has been canceled": "O download do {{model}} foi cancelado",
"{{user}}'s Chats": "Chats de {{user}}",
"{{webUIName}} Backend Required": "Backend {{webUIName}} necessário",
"*Prompt node ID(s) are required for image generation": "*Prompt node ID(s) são obrigatórios para gerar imagens",
@ -30,7 +31,7 @@
"Account Activation Pending": "Ativação da Conta Pendente",
"Accurate information": "Informações precisas",
"Action": "Ação",
"Action not found": "",
"Action not found": "Ação não encontrada",
"Action Required for Chat Log Storage": "Ação necessária para salvar o registro do chat",
"Actions": "Ações",
"Activate": "Ativar",
@ -82,9 +83,13 @@
"Allow Chat Share": "Permitir compartilhamento de chat",
"Allow Chat System Prompt": "Permitir prompt do sistema de chat",
"Allow Chat Valves": "Permitir válvulas de chat",
"Allow Continue Response": "Permitir resposta contínua",
"Allow Delete Messages": "Permitir exclusão de mensagens",
"Allow File Upload": "Permitir Envio de arquivos",
"Allow Multiple Models in Chat": "Permitir vários modelos no chat",
"Allow non-local voices": "Permitir vozes não locais",
"Allow Rate Response": "Permitir Avaliar Resposta",
"Allow Regenerate Response": "Permitir Regenerar Resposta",
"Allow Speech to Text": "Permitir Fala para Texto",
"Allow Temporary Chat": "Permitir Conversa Temporária",
"Allow Text to Speech": "Permitir Texto para Fala",
@ -101,7 +106,7 @@
"Always Play Notification Sound": "Sempre reproduzir som de notificação",
"Amazing": "Incrível",
"an assistant": "um assistente",
"An error occurred while fetching the explanation": "",
"An error occurred while fetching the explanation": "Ocorreu um erro ao buscar a explicação",
"Analytics": "Análise",
"Analyzed": "Analisado",
"Analyzing...": "Analisando...",
@ -273,7 +278,7 @@
"ComfyUI Base URL is required.": "URL Base do ComfyUI é necessária.",
"ComfyUI Workflow": "",
"ComfyUI Workflow Nodes": "",
"Comma separated Node Ids (e.g. 1 or 1,2)": "",
"Comma separated Node Ids (e.g. 1 or 1,2)": "IDs de Nodes separados por vírgula (por exemplo, 1 ou 1,2)",
"Command": "Comando",
"Comment": "Comentário",
"Completions": "Conclusões",
@ -425,7 +430,7 @@
"Docling Server URL required.": "URL do servidor Docling necessária.",
"Document": "Documento",
"Document Intelligence": "Inteligência de documentos",
"Document Intelligence endpoint and key required.": "Endpoint e chave do Document Intelligence necessários.",
"Document Intelligence endpoint required.": "É necessário o endpoint do Document Intelligence.",
"Documentation": "Documentação",
"Documents": "Documentos",
"does not make any external connections, and your data stays securely on your locally hosted server.": "não faz nenhuma conexão externa, e seus dados permanecem seguros no seu servidor local.",
@ -489,7 +494,9 @@
"Enable Message Rating": "Ativar Avaliação de Mensagens",
"Enable Mirostat sampling for controlling perplexity.": "",
"Enable New Sign Ups": "Ativar Novos Cadastros",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "Ativado",
"End Tag": "",
"Endpoint URL": "",
"Enforce Temporary Chat": "Aplicar chat temporário",
"Enhance": "Melhorar",
@ -718,6 +725,7 @@
"Format Lines": "Formatar linhas",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "Formata as linhas na saída. O padrão é Falso. Se definido como Verdadeiro, as linhas serão formatadas para detectar matemática e estilos embutidos.",
"Format your variables using brackets like this:": "Formate suas variáveis usando colchetes como este:",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "Encaminha as credenciais da sessão do usuário do sistema para autenticação",
"Full Context Mode": "Modo de contexto completo",
"Function": "Função",
@ -761,9 +769,9 @@
"Group Name": "Nome do Grupo",
"Group updated successfully": "Grupo atualizado com sucesso",
"Groups": "Grupos",
"H1": "",
"H2": "",
"H3": "",
"H1": "Título",
"H2": "Subtítulo",
"H3": "Sub-subtítulos",
"Haptic Feedback": "",
"Height": "Altura",
"Hello, {{name}}": "Olá, {{name}}",
@ -1021,8 +1029,8 @@
"No source available": "Nenhuma fonte disponível",
"No suggestion prompts": "Sem prompts sugeridos",
"No users were found.": "Nenhum usuário foi encontrado.",
"No valves": "",
"No valves to update": "Nenhuma válvula para atualizar",
"No valves": "Sem configurações",
"No valves to update": "Nenhuma configuração para atualizar",
"Node Ids": "",
"None": "Nenhum",
"Not factually correct": "Não está factualmente correto",
@ -1167,6 +1175,7 @@
"Read Aloud": "Ler em Voz Alta",
"Reason": "Razão",
"Reasoning Effort": "Esforço de raciocínio",
"Reasoning Tags": "",
"Record": "Registro",
"Record voice": "Gravar voz",
"Redirecting you to Open WebUI Community": "Redirecionando você para a Comunidade OpenWebUI",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "Fala-para-Texto",
"Speech-to-Text Engine": "Motor de Transcrição de Fala",
"Start of the channel": "Início do canal",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "Parar",
"Stop Generating": "Pare de gerar",
@ -1388,7 +1398,7 @@
"Support": "Suporte",
"Support this plugin:": "Apoie este plugin:",
"Supported MIME Types": "Tipos MIME suportados",
"Sync directory": "",
"Sync directory": "Sincronizar Diretório",
"System": "Sistema",
"System Instructions": "Instruções do sistema",
"System Prompt": "Prompt do Sistema",

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ modelos }}",
"{{COUNT}} Available Tools": "",
"{{COUNT}} characters": "",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "",
"{{COUNT}} Replies": "",
"{{COUNT}} words": "",
@ -82,9 +83,13 @@
"Allow Chat Share": "",
"Allow Chat System Prompt": "",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "",
"Allow Multiple Models in Chat": "",
"Allow non-local voices": "Permitir vozes não locais",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "",
"Allow Temporary Chat": "",
"Allow Text to Speech": "",
@ -425,7 +430,7 @@
"Docling Server URL required.": "",
"Document": "Documento",
"Document Intelligence": "",
"Document Intelligence endpoint and key required.": "",
"Document Intelligence endpoint required.": "",
"Documentation": "Documentação",
"Documents": "Documentos",
"does not make any external connections, and your data stays securely on your locally hosted server.": "não faz conexões externas e os seus dados permanecem seguros no seu servidor alojado localmente.",
@ -489,7 +494,9 @@
"Enable Message Rating": "",
"Enable Mirostat sampling for controlling perplexity.": "",
"Enable New Sign Ups": "Ativar Novas Inscrições",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "Ativado",
"End Tag": "",
"Endpoint URL": "",
"Enforce Temporary Chat": "",
"Enhance": "",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "",
"Full Context Mode": "",
"Function": "",
@ -1167,6 +1175,7 @@
"Read Aloud": "Ler em Voz Alta",
"Reason": "",
"Reasoning Effort": "",
"Reasoning Tags": "",
"Record": "",
"Record voice": "Gravar voz",
"Redirecting you to Open WebUI Community": "Redirecionando-o para a Comunidade OpenWebUI",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "",
"Speech-to-Text Engine": "Motor de Fala para Texto",
"Start of the channel": "Início do canal",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "",
"Stop Generating": "",

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ modele }}",
"{{COUNT}} Available Tools": "",
"{{COUNT}} characters": "",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "",
"{{COUNT}} Replies": "",
"{{COUNT}} words": "",
@ -82,9 +83,13 @@
"Allow Chat Share": "",
"Allow Chat System Prompt": "",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "Permite încărcarea fișierelor",
"Allow Multiple Models in Chat": "Permite modele multiple în chat",
"Allow non-local voices": "Permite voci non-locale",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "Permite conversia vocală în text",
"Allow Temporary Chat": "Permite chat temporar",
"Allow Text to Speech": "Permite conversia textului în voce",
@ -425,7 +430,7 @@
"Docling Server URL required.": "",
"Document": "Document",
"Document Intelligence": "",
"Document Intelligence endpoint and key required.": "",
"Document Intelligence endpoint required.": "",
"Documentation": "Documentație",
"Documents": "Documente",
"does not make any external connections, and your data stays securely on your locally hosted server.": "nu face nicio conexiune externă, iar datele tale rămân în siguranță pe serverul găzduit local.",
@ -489,7 +494,9 @@
"Enable Message Rating": "Activează Evaluarea Mesajelor",
"Enable Mirostat sampling for controlling perplexity.": "",
"Enable New Sign Ups": "Activează Înscrierile Noi",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "Activat",
"End Tag": "",
"Endpoint URL": "",
"Enforce Temporary Chat": "",
"Enhance": "",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "Formatează variabilele folosind acolade așa:",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "",
"Full Context Mode": "",
"Function": "Funcție",
@ -1167,6 +1175,7 @@
"Read Aloud": "Citește cu Voce Tare",
"Reason": "",
"Reasoning Effort": "",
"Reasoning Tags": "",
"Record": "",
"Record voice": "Înregistrează vocea",
"Redirecting you to Open WebUI Community": "Vă redirecționăm către Comunitatea OpenWebUI",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "",
"Speech-to-Text Engine": "Motor de Conversie a Vocii în Text",
"Start of the channel": "Începutul canalului",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "Oprire",
"Stop Generating": "",

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ модели }}",
"{{COUNT}} Available Tools": "{{COUNT}} доступных инструментов",
"{{COUNT}} characters": "",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "{{COUNT}} скрытых строк",
"{{COUNT}} Replies": "{{COUNT}} Ответов",
"{{COUNT}} words": "",
@ -82,9 +83,13 @@
"Allow Chat Share": "Разрешить общий доступ к чату",
"Allow Chat System Prompt": "",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "Разрешить загрузку файлов",
"Allow Multiple Models in Chat": "Разрешить использование нескольких моделей в чате",
"Allow non-local voices": "Разрешить не локальные голоса",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "Разрешить преобразование речи в текст",
"Allow Temporary Chat": "Разрешить временные чаты",
"Allow Text to Speech": "Разрешить преобразование текста в речь",
@ -425,7 +430,7 @@
"Docling Server URL required.": "Необходим URL сервера Docling",
"Document": "Документ",
"Document Intelligence": "Интеллектуальный анализ документов",
"Document Intelligence endpoint and key required.": "Требуется энд-поинт анализа документов и ключ.",
"Document Intelligence endpoint required.": "",
"Documentation": "Документация",
"Documents": "Документы",
"does not make any external connections, and your data stays securely on your locally hosted server.": "не устанавливает никаких внешних соединений, и ваши данные надежно хранятся на вашем локальном сервере.",
@ -489,7 +494,9 @@
"Enable Message Rating": "Разрешить оценку ответов",
"Enable Mirostat sampling for controlling perplexity.": "Включите выборку Mirostat для контроля путаницы.",
"Enable New Sign Ups": "Разрешить новые регистрации",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "Включено",
"End Tag": "",
"Endpoint URL": "URL-адрес конечной точки",
"Enforce Temporary Chat": "Принудительный временный чат",
"Enhance": "Улучшить",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "Отформатируйте переменные, используя такие : скобки",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "Перенаправляет учетные данные сеанса системного пользователя для проверки подлинности",
"Full Context Mode": "Режим полного контекста",
"Function": "Функция",
@ -1167,6 +1175,7 @@
"Read Aloud": "Прочитать вслух",
"Reason": "",
"Reasoning Effort": "",
"Reasoning Tags": "",
"Record": "Запись",
"Record voice": "Записать голос",
"Redirecting you to Open WebUI Community": "Перенаправляем вас в сообщество OpenWebUI",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "",
"Speech-to-Text Engine": "Система распознавания речи",
"Start of the channel": "Начало канала",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "Остановить",
"Stop Generating": "",

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ models }}",
"{{COUNT}} Available Tools": "",
"{{COUNT}} characters": "",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "",
"{{COUNT}} Replies": "",
"{{COUNT}} words": "",
@ -82,9 +83,13 @@
"Allow Chat Share": "",
"Allow Chat System Prompt": "",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "Povoliť nahrávanie súborov",
"Allow Multiple Models in Chat": "",
"Allow non-local voices": "Povoliť ne-lokálne hlasy",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "",
"Allow Temporary Chat": "Povoliť dočasný chat",
"Allow Text to Speech": "",
@ -425,7 +430,7 @@
"Docling Server URL required.": "",
"Document": "Dokument",
"Document Intelligence": "",
"Document Intelligence endpoint and key required.": "",
"Document Intelligence endpoint required.": "",
"Documentation": "Dokumentácia",
"Documents": "Dokumenty",
"does not make any external connections, and your data stays securely on your locally hosted server.": "nevytvára žiadne externé pripojenia a vaše dáta zostávajú bezpečne na vašom lokálnom serveri.",
@ -489,7 +494,9 @@
"Enable Message Rating": "Povoliť hodnotenie správ",
"Enable Mirostat sampling for controlling perplexity.": "",
"Enable New Sign Ups": "Povoliť nové registrácie",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "Povolené",
"End Tag": "",
"Endpoint URL": "",
"Enforce Temporary Chat": "",
"Enhance": "",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "Formátujte svoje premenné pomocou zátvoriek takto:",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "",
"Full Context Mode": "",
"Function": "Funkcia",
@ -1167,6 +1175,7 @@
"Read Aloud": "Čítať nahlas",
"Reason": "",
"Reasoning Effort": "",
"Reasoning Tags": "",
"Record": "",
"Record voice": "Nahrať hlas",
"Redirecting you to Open WebUI Community": "Presmerovanie na komunitu OpenWebUI",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "",
"Speech-to-Text Engine": "Motor prevodu reči na text",
"Start of the channel": "Začiatok kanála",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "Zastaviť",
"Stop Generating": "",

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ модели }}",
"{{COUNT}} Available Tools": "",
"{{COUNT}} characters": "",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "",
"{{COUNT}} Replies": "{{COUNT}} одговора",
"{{COUNT}} words": "",
@ -82,9 +83,13 @@
"Allow Chat Share": "",
"Allow Chat System Prompt": "",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "Дозволи отпремање датотека",
"Allow Multiple Models in Chat": "",
"Allow non-local voices": "Дозволи нелокалне гласове",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "",
"Allow Temporary Chat": "Дозволи привремена ћаскања",
"Allow Text to Speech": "",
@ -425,7 +430,7 @@
"Docling Server URL required.": "",
"Document": "Документ",
"Document Intelligence": "",
"Document Intelligence endpoint and key required.": "",
"Document Intelligence endpoint required.": "",
"Documentation": "Документација",
"Documents": "Документи",
"does not make any external connections, and your data stays securely on your locally hosted server.": "не отвара никакве спољне везе и ваши подаци остају сигурно на вашем локално хостованом серверу.",
@ -489,7 +494,9 @@
"Enable Message Rating": "",
"Enable Mirostat sampling for controlling perplexity.": "",
"Enable New Sign Ups": "Омогући нове пријаве",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "Омогућено",
"End Tag": "",
"Endpoint URL": "",
"Enforce Temporary Chat": "",
"Enhance": "",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "",
"Full Context Mode": "",
"Function": "",
@ -1167,6 +1175,7 @@
"Read Aloud": "Прочитај наглас",
"Reason": "",
"Reasoning Effort": "Јачина размишљања",
"Reasoning Tags": "",
"Record": "",
"Record voice": "Сними глас",
"Redirecting you to Open WebUI Community": "Преусмеравање на OpenWebUI заједницу",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "",
"Speech-to-Text Engine": "Мотор за говор у текст",
"Start of the channel": "Почетак канала",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "Заустави",
"Stop Generating": "",

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ models }}",
"{{COUNT}} Available Tools": "{{COUNT}} Tillgängliga verktyg",
"{{COUNT}} characters": "",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "{{COUNT}} dolda rader",
"{{COUNT}} Replies": "{{COUNT}} Svar",
"{{COUNT}} words": "",
@ -82,9 +83,13 @@
"Allow Chat Share": "Tillåt delning av chatt",
"Allow Chat System Prompt": "Tillåt systemprompt i chatt",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "Tillåt filuppladdning",
"Allow Multiple Models in Chat": "Tillåt flera modeller i chatt",
"Allow non-local voices": "Tillåt icke-lokala röster",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "Tillåt tal till text",
"Allow Temporary Chat": "Tillåt tillfällig chatt",
"Allow Text to Speech": "Tillåt text till tal",
@ -425,7 +430,7 @@
"Docling Server URL required.": "Docling Server URL krävs.",
"Document": "Dokument",
"Document Intelligence": "Dokumentinformation",
"Document Intelligence endpoint and key required.": "Dokumentinformationsslutpunkt och nyckel krävs.",
"Document Intelligence endpoint required.": "",
"Documentation": "Dokumentation",
"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.",
@ -489,7 +494,9 @@
"Enable Message Rating": "Aktivera meddelandebetyg",
"Enable Mirostat sampling for controlling perplexity.": "Aktivera Mirostat-sampling för att kontrollera perplexitet.",
"Enable New Sign Ups": "Aktivera nya registreringar",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "Aktiverad",
"End Tag": "",
"Endpoint URL": "Endpoint URL",
"Enforce Temporary Chat": "Tvinga fram tillfällig chatt",
"Enhance": "Förbättra",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "Formatera dina variabler med hakparenteser så här:",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "Vidarebefordrar systemanvändarsessionens autentiseringsuppgifter för att autentisera",
"Full Context Mode": "Fullständigt kontextläge",
"Function": "Funktion",
@ -1167,6 +1175,7 @@
"Read Aloud": "Läs igenom",
"Reason": "Anledning",
"Reasoning Effort": "Resonemangsinsats",
"Reasoning Tags": "",
"Record": "Spela in",
"Record voice": "Spela in röst",
"Redirecting you to Open WebUI Community": "Omdirigerar dig till OpenWebUI Community",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "Tal-till-text",
"Speech-to-Text Engine": "Tal-till-text-motor",
"Start of the channel": "Början av kanalen",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "Stopp",
"Stop Generating": "Sluta generera",

View File

@ -11,6 +11,7 @@
"{{ models }}": "{{ models }}",
"{{COUNT}} Available Tools": "",
"{{COUNT}} characters": "",
"{{COUNT}} extracted lines": "",
"{{COUNT}} hidden lines": "",
"{{COUNT}} Replies": "",
"{{COUNT}} words": "",
@ -82,9 +83,13 @@
"Allow Chat Share": "อนุญาตการแชร์แชท",
"Allow Chat System Prompt": "",
"Allow Chat Valves": "",
"Allow Continue Response": "",
"Allow Delete Messages": "",
"Allow File Upload": "อนุญาตการนำเข้าไฟล์",
"Allow Multiple Models in Chat": "",
"Allow non-local voices": "อนุญาตเสียงที่ไม่ใช่ท้องถิ่น",
"Allow Rate Response": "",
"Allow Regenerate Response": "",
"Allow Speech to Text": "อนุญาตแปลงเสียงเป็นตัวอักษร",
"Allow Temporary Chat": "อนุญาตการแชทชั่วคราว",
"Allow Text to Speech": "อนุญาตแปลงตัวอักษรเป็นตัวเสียง",
@ -425,7 +430,7 @@
"Docling Server URL required.": "",
"Document": "เอกสาร",
"Document Intelligence": "",
"Document Intelligence endpoint and key required.": "",
"Document Intelligence endpoint required.": "",
"Documentation": "เอกสารประกอบ",
"Documents": "เอกสาร",
"does not make any external connections, and your data stays securely on your locally hosted server.": "ไม่เชื่อมต่อภายนอกใดๆ และข้อมูลของคุณจะอยู่บนเซิร์ฟเวอร์ที่โฮสต์ในท้องถิ่นของคุณอย่างปลอดภัย",
@ -489,7 +494,9 @@
"Enable Message Rating": "",
"Enable Mirostat sampling for controlling perplexity.": "",
"Enable New Sign Ups": "เปิดใช้งานการสมัครใหม่",
"Enable, disable, or customize the reasoning tags used by the model. \"Enabled\" uses default tags, \"Disabled\" turns off reasoning tags, and \"Custom\" lets you specify your own start and end tags.": "",
"Enabled": "เปิดใช้งาน",
"End Tag": "",
"Endpoint URL": "",
"Enforce Temporary Chat": "",
"Enhance": "",
@ -718,6 +725,7 @@
"Format Lines": "",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "",
"Format your variables using brackets like this:": "",
"Formatting may be inconsistent from source.": "",
"Forwards system user session credentials to authenticate": "",
"Full Context Mode": "",
"Function": "",
@ -1167,6 +1175,7 @@
"Read Aloud": "อ่านออกเสียง",
"Reason": "",
"Reasoning Effort": "",
"Reasoning Tags": "",
"Record": "",
"Record voice": "บันทึกเสียง",
"Redirecting you to Open WebUI Community": "กำลังเปลี่ยนเส้นทางคุณไปยังชุมชน OpenWebUI",
@ -1367,6 +1376,7 @@
"Speech-to-Text": "",
"Speech-to-Text Engine": "เครื่องมือแปลงเสียงเป็นข้อความ",
"Start of the channel": "จุดเริ่มต้นของช่อง",
"Start Tag": "",
"STDOUT/STDERR": "STDOUT/STDERR",
"Stop": "",
"Stop Generating": "",

Some files were not shown because too many files have changed in this diff Show More