fix: stabilize MCP prompt flow

This commit is contained in:
ultramancode 2026-04-22 14:25:28 +09:00
parent 47caa7b44c
commit 515e8d5144
No known key found for this signature in database
GPG key ID: B36278808EAC70EA
75 changed files with 1108 additions and 1004 deletions

View file

@ -1,51 +1,46 @@
import logging
from pathlib import Path
from typing import Optional
import time
import re
import time
from typing import Optional
import aiohttp
from open_webui.env import (
AIOHTTP_CLIENT_SESSION_SSL,
AIOHTTP_CLIENT_TIMEOUT,
ENABLE_FORWARD_USER_INFO_HEADERS,
)
from open_webui.models.groups import Groups
from pydantic import BaseModel, Field, HttpUrl
from fastapi import APIRouter, Depends, HTTPException, Request, status
from sqlalchemy.ext.asyncio import AsyncSession
from open_webui.config import BYPASS_ADMIN_ACCESS_CONTROL, CACHE_DIR
from open_webui.constants import ERROR_MESSAGES
from open_webui.env import AIOHTTP_CLIENT_SESSION_SSL, AIOHTTP_CLIENT_TIMEOUT
from open_webui.internal.db import get_async_session
from open_webui.models.oauth_sessions import OAuthSessions
from open_webui.models.access_grants import AccessGrants
from open_webui.models.groups import Groups
from open_webui.models.tools import (
ToolAccessResponse,
ToolForm,
ToolModel,
ToolResponse,
ToolUserResponse,
ToolAccessResponse,
Tools,
ToolUserResponse,
)
from open_webui.models.access_grants import AccessGrants
from open_webui.utils.plugin import (
load_tool_module_by_id,
replace_imports,
get_tool_module_from_cache,
resolve_valves_schema_options,
)
from open_webui.utils.tools import get_tool_specs
from open_webui.utils.auth import get_admin_user, get_verified_user
from open_webui.utils.access_control import (
has_permission,
filter_allowed_access_grants,
has_access,
has_connection_access,
filter_allowed_access_grants,
has_permission,
)
from open_webui.utils.tools import get_tool_servers
from open_webui.utils.mcp.client import MCPClient
from open_webui.utils.headers import include_user_info_headers
from open_webui.config import CACHE_DIR, BYPASS_ADMIN_ACCESS_CONTROL
from open_webui.constants import ERROR_MESSAGES
from open_webui.utils.auth import get_admin_user, get_verified_user
from open_webui.utils.mcp.client import MCPClient, build_mcp_user_error_message
from open_webui.utils.middleware import (
build_mcp_server_headers,
get_mcp_server_connection,
get_system_oauth_token,
)
from open_webui.utils.plugin import (
get_tool_module_from_cache,
load_tool_module_by_id,
replace_imports,
resolve_valves_schema_options,
)
from open_webui.utils.tools import get_tool_servers, get_tool_specs
from pydantic import BaseModel, Field, HttpUrl
from sqlalchemy.ext.asyncio import AsyncSession
log = logging.getLogger(__name__)
@ -248,16 +243,7 @@ async def get_tool_list(user=Depends(get_verified_user), db: AsyncSession = Depe
@router.get('/mcp/{server_id}/prompts', response_model=MCPPromptListResponse)
async def get_mcp_prompt_list(request: Request, server_id: str, user=Depends(get_verified_user)):
mcp_server_connection = next(
(
server_connection
for server_connection in request.app.state.config.TOOL_SERVER_CONNECTIONS
if server_connection.get('type', '') == 'mcp'
and server_connection.get('config', {}).get('enable')
and server_connection.get('info', {}).get('id') == server_id
),
None,
)
mcp_server_connection = get_mcp_server_connection(request, server_id, enabled_only=True)
if not mcp_server_connection:
raise HTTPException(
@ -265,40 +251,24 @@ async def get_mcp_prompt_list(request: Request, server_id: str, user=Depends(get
detail=f'MCP server with id {server_id} not found',
)
if not has_connection_access(user, mcp_server_connection):
if not await has_connection_access(user, mcp_server_connection):
raise HTTPException(
status_code=status.HTTP_403_FORBIDDEN,
detail=ERROR_MESSAGES.ACCESS_PROHIBITED,
)
auth_type = mcp_server_connection.get('auth_type', '')
headers = {}
extra_params = {'__oauth_token__': None}
if mcp_server_connection.get('auth_type') == 'system_oauth':
extra_params['__oauth_token__'] = await get_system_oauth_token(request, user)
if auth_type == 'bearer':
headers['Authorization'] = f'Bearer {mcp_server_connection.get("key", "")}'
elif auth_type == 'session':
headers['Authorization'] = f'Bearer {request.state.token.credentials}'
elif auth_type == 'system_oauth':
oauth_token = None
if request.cookies.get('oauth_session_id', None):
oauth_token = await request.app.state.oauth_manager.get_oauth_token(
user.id,
request.cookies.get('oauth_session_id', None),
)
if oauth_token:
headers['Authorization'] = f'Bearer {oauth_token.get("access_token", "")}'
elif auth_type in ('oauth_2.1', 'oauth_2.1_static'):
oauth_server_id = server_id.split(':')[-1] if ':' in server_id else server_id
oauth_token = await request.app.state.oauth_client_manager.get_oauth_token(user.id, f'mcp:{oauth_server_id}')
if oauth_token:
headers['Authorization'] = f'Bearer {oauth_token.get("access_token", "")}'
connection_headers = mcp_server_connection.get('headers', None)
if connection_headers and isinstance(connection_headers, dict):
headers.update(connection_headers)
if ENABLE_FORWARD_USER_INFO_HEADERS and user:
headers = include_user_info_headers(headers, user)
headers = await build_mcp_server_headers(
request,
user,
{},
extra_params,
server_id,
mcp_server_connection,
)
try:
mcp_client = MCPClient()
@ -330,9 +300,10 @@ async def get_mcp_prompt_list(request: Request, server_id: str, user=Depends(get
raise
except Exception as e:
log.exception(f'Failed to load MCP prompts for {server_id}: {e}')
error_message = build_mcp_user_error_message(e, 'Unable to connect to the MCP server.')
raise HTTPException(
status_code=status.HTTP_400_BAD_REQUEST,
detail=f'Failed to load MCP prompts: {e}',
detail=f'Failed to load MCP prompts: {error_message}',
)

View file

@ -5,9 +5,33 @@ from unittest.mock import AsyncMock
import pytest
def build_request(server_connection=None):
if server_connection is None:
server_connection = {
'type': 'mcp',
'config': {'enable': True},
'info': {'id': 'test-mcp'},
'url': 'http://127.0.0.1:8765/mcp',
'auth_type': 'none',
}
return SimpleNamespace(
app=SimpleNamespace(
state=SimpleNamespace(
config=SimpleNamespace(TOOL_SERVER_CONNECTIONS=[server_connection]),
oauth_manager=SimpleNamespace(get_oauth_token=AsyncMock(return_value=None)),
oauth_client_manager=SimpleNamespace(get_oauth_token=AsyncMock(return_value=None)),
)
),
state=SimpleNamespace(token=SimpleNamespace(credentials='token')),
cookies={},
)
@pytest.mark.asyncio
async def test_get_mcp_prompt_list_returns_argument_metadata(monkeypatch):
from open_webui.routers import tools as tools_router
from open_webui.utils import middleware as middleware_module
prompts_payload = [
{
@ -40,29 +64,10 @@ async def test_get_mcp_prompt_list_returns_argument_metadata(monkeypatch):
return prompts_payload
monkeypatch.setattr(tools_router, 'MCPClient', FakeMCPClient)
monkeypatch.setattr(tools_router, 'has_connection_access', lambda user, connection: True)
monkeypatch.setattr(tools_router, 'ENABLE_FORWARD_USER_INFO_HEADERS', False)
monkeypatch.setattr(tools_router, 'has_connection_access', AsyncMock(return_value=True))
monkeypatch.setattr(middleware_module, 'ENABLE_FORWARD_USER_INFO_HEADERS', False)
request = SimpleNamespace(
app=SimpleNamespace(
state=SimpleNamespace(
config=SimpleNamespace(
TOOL_SERVER_CONNECTIONS=[
{
'type': 'mcp',
'config': {'enable': True},
'info': {'id': 'test-mcp'},
'url': 'http://127.0.0.1:8765/mcp',
}
]
),
oauth_manager=SimpleNamespace(get_oauth_token=AsyncMock(return_value=None)),
oauth_client_manager=SimpleNamespace(get_oauth_token=AsyncMock(return_value=None)),
)
),
state=SimpleNamespace(token=SimpleNamespace(credentials='token')),
cookies={},
)
request = build_request()
user = SimpleNamespace(id='user-1')
response = await tools_router.get_mcp_prompt_list(request, 'test-mcp', user=user)
@ -89,3 +94,132 @@ async def test_get_mcp_prompt_list_returns_argument_metadata(monkeypatch):
}
]
}
@pytest.mark.asyncio
async def test_get_mcp_prompt_list_hides_taskgroup_error_details(monkeypatch):
from open_webui.routers import tools as tools_router
from open_webui.utils import middleware as middleware_module
class FakeMCPClient:
@asynccontextmanager
async def temporary_connection(self, url, headers=None):
if False:
yield self
raise ExceptionGroup(
'unhandled errors in a TaskGroup',
[RuntimeError('All connection attempts failed')],
)
async def list_prompts(self):
raise AssertionError('Prompt list should not be requested after a failed connection.')
monkeypatch.setattr(tools_router, 'MCPClient', FakeMCPClient)
monkeypatch.setattr(tools_router, 'has_connection_access', AsyncMock(return_value=True))
monkeypatch.setattr(middleware_module, 'ENABLE_FORWARD_USER_INFO_HEADERS', False)
request = build_request()
user = SimpleNamespace(id='user-1')
with pytest.raises(tools_router.HTTPException) as exc_info:
await tools_router.get_mcp_prompt_list(request, 'test-mcp', user=user)
assert exc_info.value.status_code == 400
assert exc_info.value.detail == 'Failed to load MCP prompts: All connection attempts failed'
@pytest.mark.asyncio
async def test_get_mcp_prompt_list_rejects_disabled_server(monkeypatch):
from open_webui.routers import tools as tools_router
class FakeMCPClient:
@asynccontextmanager
async def temporary_connection(self, url, headers=None):
raise AssertionError('Disabled MCP servers should not be connected.')
async def list_prompts(self):
raise AssertionError('Disabled MCP servers should not list prompts.')
monkeypatch.setattr(tools_router, 'MCPClient', FakeMCPClient)
request = build_request(
{
'type': 'mcp',
'config': {'enable': False},
'info': {'id': 'test-mcp'},
'url': 'http://127.0.0.1:8765/mcp',
'auth_type': 'none',
}
)
user = SimpleNamespace(id='user-1')
with pytest.raises(tools_router.HTTPException) as exc_info:
await tools_router.get_mcp_prompt_list(request, 'test-mcp', user=user)
assert exc_info.value.status_code == 404
assert exc_info.value.detail == 'MCP server with id test-mcp not found'
@pytest.mark.asyncio
async def test_get_mcp_prompt_list_rejects_access_denied(monkeypatch):
from open_webui.routers import tools as tools_router
class FakeMCPClient:
@asynccontextmanager
async def temporary_connection(self, url, headers=None):
raise AssertionError('Access denied requests should not connect to MCP servers.')
async def list_prompts(self):
raise AssertionError('Access denied requests should not list prompts.')
monkeypatch.setattr(tools_router, 'MCPClient', FakeMCPClient)
monkeypatch.setattr(tools_router, 'has_connection_access', AsyncMock(return_value=False))
request = build_request()
user = SimpleNamespace(id='user-1')
with pytest.raises(tools_router.HTTPException) as exc_info:
await tools_router.get_mcp_prompt_list(request, 'test-mcp', user=user)
assert exc_info.value.status_code == 403
assert exc_info.value.detail == tools_router.ERROR_MESSAGES.ACCESS_PROHIBITED
@pytest.mark.asyncio
async def test_get_mcp_prompt_list_uses_system_oauth_fallback(monkeypatch):
from open_webui.routers import tools as tools_router
from open_webui.utils import middleware as middleware_module
class FakeMCPClient:
@asynccontextmanager
async def temporary_connection(self, url, headers=None):
assert url == 'http://127.0.0.1:8765/mcp'
assert headers == {'Authorization': 'Bearer system-token'}
yield self
async def list_prompts(self):
return []
oauth_token = {'access_token': 'system-token'}
get_system_oauth_token = AsyncMock(return_value=oauth_token)
monkeypatch.setattr(tools_router, 'MCPClient', FakeMCPClient)
monkeypatch.setattr(tools_router, 'has_connection_access', AsyncMock(return_value=True))
monkeypatch.setattr(tools_router, 'get_system_oauth_token', get_system_oauth_token)
monkeypatch.setattr(middleware_module, 'ENABLE_FORWARD_USER_INFO_HEADERS', False)
request = build_request(
{
'type': 'mcp',
'config': {'enable': True},
'info': {'id': 'test-mcp'},
'url': 'http://127.0.0.1:8765/mcp',
'auth_type': 'system_oauth',
}
)
user = SimpleNamespace(id='user-1')
response = await tools_router.get_mcp_prompt_list(request, 'test-mcp', user=user)
assert response == {'prompts': []}
get_system_oauth_token.assert_awaited_once_with(request, user)

View file

@ -1,6 +1,8 @@
import sys
from types import ModuleType
from types import SimpleNamespace
from unittest.mock import AsyncMock
from contextlib import AsyncExitStack, asynccontextmanager
import pytest
@ -23,10 +25,24 @@ if 'bs4' not in sys.modules:
bs4_module.BeautifulSoup = DummyBeautifulSoup
sys.modules['bs4'] = bs4_module
if 'aiocache' not in sys.modules:
aiocache_module = ModuleType('aiocache')
def cached(*args, **kwargs):
def decorator(func):
return func
return decorator
aiocache_module.cached = cached
sys.modules['aiocache'] = aiocache_module
from open_webui.utils.mcp.client import MCPClient
from open_webui.utils.middleware import (
insert_messages_after_system,
insert_messages_before_current_user_turn,
normalize_mcp_prompt_messages,
process_chat_payload,
resolve_mcp_prompt_selection,
)
@ -38,6 +54,128 @@ class DummyMCPResult:
return self.payload
def build_process_chat_payload_request():
model = {
'id': 'test-model',
'owned_by': 'openai',
'info': {
'meta': {
'knowledge': False,
'capabilities': {
'file_context': False,
},
}
},
}
request = SimpleNamespace(
app=SimpleNamespace(
state=SimpleNamespace(
config=SimpleNamespace(
TOOL_SERVER_CONNECTIONS=[
{
'type': 'mcp',
'info': {'id': 'test-mcp'},
'url': 'http://127.0.0.1:8765/mcp',
'auth_type': 'none',
'config': {'enable': True},
}
],
TASK_MODEL=None,
TASK_MODEL_EXTERNAL=None,
),
MODELS={'test-model': model},
oauth_client_manager=SimpleNamespace(get_oauth_token=AsyncMock(return_value=None)),
)
),
state=SimpleNamespace(direct=False, token=SimpleNamespace(credentials='token')),
)
return request, model
def setup_process_chat_payload_mocks(monkeypatch):
from open_webui.utils import middleware as middleware_module
class FakeMCPClient:
@asynccontextmanager
async def temporary_connection(self, url, headers=None):
assert url == 'http://127.0.0.1:8765/mcp'
assert headers in (None, {})
yield self
async def get_prompt(self, name, arguments=None):
assert name == 'review_code'
assert arguments == {'language': 'python'}
return {
'messages': [
{
'role': 'user',
'content': {'type': 'text', 'text': 'Review this Python code'},
}
]
}
async def passthrough_convert_url_images_to_base64(form_data):
return form_data
async def passthrough_process_pipeline_inlet_filter(*args, **kwargs):
return args[1]
async def passthrough_filter_functions(*args, **kwargs):
return kwargs['form_data'], {}
async def passthrough_files_handler(*args, **kwargs):
return args[1], {'sources': []}
monkeypatch.setattr(middleware_module, 'MCPClient', FakeMCPClient)
monkeypatch.setattr(middleware_module, 'has_connection_access', AsyncMock(return_value=True))
monkeypatch.setattr(middleware_module, 'ENABLE_FORWARD_USER_INFO_HEADERS', False)
monkeypatch.setattr(middleware_module, 'apply_params_to_form_data', lambda form_data, model: form_data)
monkeypatch.setattr(middleware_module, 'process_messages_with_output', lambda messages: messages)
monkeypatch.setattr(middleware_module, 'apply_system_prompt_to_body', lambda *args, **kwargs: args[1])
monkeypatch.setattr(
middleware_module,
'convert_url_images_to_base64',
AsyncMock(side_effect=passthrough_convert_url_images_to_base64),
)
monkeypatch.setattr(middleware_module, 'get_system_oauth_token', AsyncMock(return_value=None))
monkeypatch.setattr(middleware_module, 'get_task_model_id', lambda model_id, *args, **kwargs: model_id)
monkeypatch.setattr(
middleware_module,
'process_pipeline_inlet_filter',
AsyncMock(side_effect=passthrough_process_pipeline_inlet_filter),
)
monkeypatch.setattr(middleware_module, 'get_sorted_filter_ids', AsyncMock(return_value=[]))
monkeypatch.setattr(
middleware_module,
'Functions',
SimpleNamespace(get_functions_by_ids=AsyncMock(return_value=[])),
)
monkeypatch.setattr(
middleware_module,
'process_filter_functions',
AsyncMock(side_effect=passthrough_filter_functions),
)
monkeypatch.setattr(
middleware_module,
'chat_completion_files_handler',
AsyncMock(side_effect=passthrough_files_handler),
)
monkeypatch.setattr(middleware_module, 'strip_empty_content_blocks', lambda messages: messages)
monkeypatch.setattr(middleware_module, 'merge_system_messages', lambda messages: messages)
monkeypatch.setattr(
middleware_module,
'Chats',
SimpleNamespace(get_chat_folder_id=AsyncMock(return_value=None)),
)
monkeypatch.setattr(
middleware_module,
'Folders',
SimpleNamespace(get_folder_by_id_and_user_id=AsyncMock(return_value=None)),
)
@pytest.mark.asyncio
async def test_list_prompts_returns_prompt_payloads():
client = MCPClient()
@ -118,6 +256,27 @@ async def test_get_prompt_returns_full_result_payload():
assert prompt['messages'][0]['content']['text'] == 'Hello'
@pytest.mark.asyncio
async def test_temporary_connection_keeps_session_and_exit_stack_in_sync():
client = MCPClient()
previous_session = object()
previous_exit_stack = object()
temporary_session = object()
client.session = previous_session
client.exit_stack = previous_exit_stack
client._open_session = AsyncMock(return_value=temporary_session)
async with client.temporary_connection('http://127.0.0.1:8765/mcp'):
assert client.session is temporary_session
assert client.exit_stack is not previous_exit_stack
assert isinstance(client.exit_stack, AsyncExitStack)
assert client.session is previous_session
assert client.exit_stack is previous_exit_stack
client._open_session.assert_awaited_once()
def test_normalize_mcp_prompt_messages_keeps_text_and_reports_omissions():
messages, omitted_types = normalize_mcp_prompt_messages(
{
@ -149,10 +308,12 @@ def test_normalize_mcp_prompt_messages_keeps_single_user_prompt_role():
assert omitted_types == []
def test_insert_messages_after_system_inserts_before_history():
result = insert_messages_after_system(
def test_insert_messages_before_current_user_turn_keeps_prior_history_in_place():
result = insert_messages_before_current_user_turn(
[
{'role': 'system', 'content': 'system'},
{'role': 'user', 'content': 'previous user message'},
{'role': 'assistant', 'content': 'previous assistant message'},
{'role': 'user', 'content': 'current user message'},
],
[
@ -163,7 +324,340 @@ def test_insert_messages_after_system_inserts_before_history():
assert result == [
{'role': 'system', 'content': 'system'},
{'role': 'user', 'content': 'previous user message'},
{'role': 'assistant', 'content': 'previous assistant message'},
{'role': 'user', 'content': 'prompt user'},
{'role': 'assistant', 'content': 'prompt assistant'},
{'role': 'user', 'content': 'current user message'},
]
def test_insert_messages_before_current_user_turn_appends_when_no_user_message_exists():
result = insert_messages_before_current_user_turn(
[
{'role': 'system', 'content': 'system'},
{'role': 'assistant', 'content': 'assistant only'},
],
[{'role': 'user', 'content': 'prompt user'}],
)
assert result == [
{'role': 'system', 'content': 'system'},
{'role': 'assistant', 'content': 'assistant only'},
{'role': 'user', 'content': 'prompt user'},
]
@pytest.mark.asyncio
async def test_resolve_mcp_prompt_selection_fetches_prompt_without_tool_ids(monkeypatch):
from open_webui.utils import middleware as middleware_module
class FakeMCPClient:
@asynccontextmanager
async def temporary_connection(self, url, headers=None):
assert url == 'http://127.0.0.1:8765/mcp'
assert headers in (None, {})
yield self
async def get_prompt(self, name, arguments=None):
assert name == 'review_code'
assert arguments == {'language': 'python'}
return {
'messages': [
{
'role': 'user',
'content': {'type': 'text', 'text': 'Review this Python code'},
}
]
}
monkeypatch.setattr(middleware_module, 'MCPClient', FakeMCPClient)
monkeypatch.setattr(middleware_module, 'has_connection_access', AsyncMock(return_value=True))
monkeypatch.setattr(middleware_module, 'ENABLE_FORWARD_USER_INFO_HEADERS', False)
request = SimpleNamespace(
app=SimpleNamespace(
state=SimpleNamespace(
config=SimpleNamespace(
TOOL_SERVER_CONNECTIONS=[
{
'type': 'mcp',
'info': {'id': 'test-mcp'},
'url': 'http://127.0.0.1:8765/mcp',
'auth_type': 'none',
'config': {'enable': True},
}
]
),
oauth_client_manager=SimpleNamespace(get_oauth_token=AsyncMock(return_value=None)),
)
),
state=SimpleNamespace(token=SimpleNamespace(credentials='token')),
)
user = SimpleNamespace(id='user-1')
metadata = {'chat_id': 'chat-1', 'message_id': 'message-1'}
extra_params = {'__oauth_token__': None}
messages, omitted_types = await resolve_mcp_prompt_selection(
request,
user,
metadata,
extra_params,
{
'server_id': 'test-mcp',
'name': 'review_code',
'arguments': {'language': 'python'},
},
)
assert messages == [{'role': 'user', 'content': 'Review this Python code'}]
assert omitted_types == []
@pytest.mark.asyncio
async def test_resolve_mcp_prompt_selection_rejects_disabled_server(monkeypatch):
from open_webui.utils import middleware as middleware_module
class FakeMCPClient:
@asynccontextmanager
async def temporary_connection(self, url, headers=None):
raise AssertionError('Disabled MCP servers should not be connected.')
async def get_prompt(self, name, arguments=None):
raise AssertionError('Disabled MCP servers should not resolve prompts.')
monkeypatch.setattr(middleware_module, 'MCPClient', FakeMCPClient)
monkeypatch.setattr(middleware_module, 'has_connection_access', AsyncMock(return_value=True))
monkeypatch.setattr(middleware_module, 'ENABLE_FORWARD_USER_INFO_HEADERS', False)
request = SimpleNamespace(
app=SimpleNamespace(
state=SimpleNamespace(
config=SimpleNamespace(
TOOL_SERVER_CONNECTIONS=[
{
'type': 'mcp',
'info': {'id': 'test-mcp'},
'url': 'http://127.0.0.1:8765/mcp',
'auth_type': 'none',
'config': {'enable': False},
}
]
),
oauth_client_manager=SimpleNamespace(get_oauth_token=AsyncMock(return_value=None)),
)
),
state=SimpleNamespace(token=SimpleNamespace(credentials='token')),
)
user = SimpleNamespace(id='user-1')
metadata = {'chat_id': 'chat-1', 'message_id': 'message-1'}
extra_params = {'__oauth_token__': None}
with pytest.raises(Exception, match='not found or is disabled'):
await resolve_mcp_prompt_selection(
request,
user,
metadata,
extra_params,
{
'server_id': 'test-mcp',
'name': 'review_code',
'arguments': {'language': 'python'},
},
)
@pytest.mark.asyncio
async def test_resolve_mcp_prompt_selection_hides_taskgroup_error_details(monkeypatch):
from open_webui.utils import middleware as middleware_module
class FakeMCPClient:
@asynccontextmanager
async def temporary_connection(self, url, headers=None):
if False:
yield self
raise ExceptionGroup(
'unhandled errors in a TaskGroup',
[RuntimeError('All connection attempts failed')],
)
async def get_prompt(self, name, arguments=None):
raise AssertionError('Prompt resolution should not run after a failed connection.')
monkeypatch.setattr(middleware_module, 'MCPClient', FakeMCPClient)
monkeypatch.setattr(middleware_module, 'has_connection_access', AsyncMock(return_value=True))
monkeypatch.setattr(middleware_module, 'ENABLE_FORWARD_USER_INFO_HEADERS', False)
request = SimpleNamespace(
app=SimpleNamespace(
state=SimpleNamespace(
config=SimpleNamespace(
TOOL_SERVER_CONNECTIONS=[
{
'type': 'mcp',
'info': {'id': 'test-mcp'},
'url': 'http://127.0.0.1:8765/mcp',
'auth_type': 'none',
'config': {'enable': True},
}
]
),
oauth_client_manager=SimpleNamespace(get_oauth_token=AsyncMock(return_value=None)),
)
),
state=SimpleNamespace(token=SimpleNamespace(credentials='token')),
)
user = SimpleNamespace(id='user-1')
metadata = {'chat_id': 'chat-1', 'message_id': 'message-1'}
extra_params = {'__oauth_token__': None}
with pytest.raises(Exception, match='Failed to resolve the selected MCP prompt: All connection attempts failed'):
await resolve_mcp_prompt_selection(
request,
user,
metadata,
extra_params,
{
'server_id': 'test-mcp',
'name': 'review_code',
'arguments': {'language': 'python'},
},
)
@pytest.mark.asyncio
async def test_process_chat_payload_inserts_mcp_prompt_without_tool_ids(monkeypatch):
setup_process_chat_payload_mocks(monkeypatch)
request, model = build_process_chat_payload_request()
user = SimpleNamespace(id='user-1')
form_data = {
'model': 'test-model',
'messages': [
{'role': 'system', 'content': 'system'},
{'role': 'user', 'content': 'current user message'},
],
}
metadata = {
'mcp_prompt_selection': {
'server_id': 'test-mcp',
'name': 'review_code',
'arguments': {'language': 'python'},
}
}
processed_form_data, processed_metadata, events = await process_chat_payload(
request,
form_data,
user,
metadata,
model,
)
assert processed_form_data['messages'] == [
{'role': 'system', 'content': 'system'},
{'role': 'user', 'content': 'Review this Python code'},
{'role': 'user', 'content': 'current user message'},
]
assert processed_metadata['tool_ids'] is None
assert 'tools' not in processed_form_data
assert events == []
@pytest.mark.asyncio
async def test_process_chat_payload_inserts_mcp_prompt_immediately_before_current_user_turn(
monkeypatch,
):
setup_process_chat_payload_mocks(monkeypatch)
request, model = build_process_chat_payload_request()
user = SimpleNamespace(id='user-1')
form_data = {
'model': 'test-model',
'messages': [
{'role': 'system', 'content': 'system'},
{'role': 'user', 'content': 'previous user message'},
{'role': 'assistant', 'content': 'previous assistant message'},
{'role': 'user', 'content': 'current user message'},
],
}
metadata = {
'mcp_prompt_selection': {
'server_id': 'test-mcp',
'name': 'review_code',
'arguments': {'language': 'python'},
}
}
processed_form_data, processed_metadata, events = await process_chat_payload(
request,
form_data,
user,
metadata,
model,
)
assert processed_form_data['messages'] == [
{'role': 'system', 'content': 'system'},
{'role': 'user', 'content': 'previous user message'},
{'role': 'assistant', 'content': 'previous assistant message'},
{'role': 'user', 'content': 'Review this Python code'},
{'role': 'user', 'content': 'current user message'},
]
assert processed_metadata['tool_ids'] is None
assert 'tools' not in processed_form_data
assert events == []
@pytest.mark.asyncio
async def test_process_chat_payload_allows_explicit_tools_with_mcp_prompt_selection(monkeypatch):
setup_process_chat_payload_mocks(monkeypatch)
request, model = build_process_chat_payload_request()
user = SimpleNamespace(id='user-1')
explicit_tools = [
{
'type': 'function',
'function': {
'name': 'explicit_review_tool',
'description': 'Review code explicitly',
'parameters': {'type': 'object', 'properties': {}},
},
}
]
form_data = {
'model': 'test-model',
'messages': [
{'role': 'system', 'content': 'system'},
{'role': 'user', 'content': 'current user message'},
],
'tools': explicit_tools,
}
metadata = {
'mcp_prompt_selection': {
'server_id': 'test-mcp',
'name': 'review_code',
'arguments': {'language': 'python'},
}
}
processed_form_data, processed_metadata, events = await process_chat_payload(
request,
form_data,
user,
metadata,
model,
)
assert processed_form_data['messages'] == [
{'role': 'system', 'content': 'system'},
{'role': 'user', 'content': 'Review this Python code'},
{'role': 'user', 'content': 'current user message'},
]
assert processed_form_data['tools'] == explicit_tools
assert processed_metadata['tool_ids'] is None
assert 'tools' not in processed_metadata
assert events == []

View file

@ -74,18 +74,12 @@ class MCPClient:
@asynccontextmanager
async def temporary_connection(self, url: str, headers: Optional[dict] = None):
"""Open an MCP session and close it within the same task.
Some MCP SDK streamable HTTP cleanup paths are task-sensitive on
Python 3.11+/anyio. For short-lived one-shot operations such as
server verification and prompt discovery, keeping connect/close
inside the same async context avoids cross-task shutdown errors.
"""
previous_session = self.session
previous_exit_stack = self.exit_stack
async with AsyncExitStack() as exit_stack:
self.session = await self._open_session(exit_stack, url, headers=headers)
self.exit_stack = exit_stack
try:
yield self
finally:
@ -226,10 +220,6 @@ class MCPClient:
# orphaned coroutines from spinning at 100 % CPU.
log.debug('MCPClient.disconnect() suppressed RuntimeError: %s', exc)
except BaseExceptionGroup as exc:
# Python 3.11+ may wrap the same streamable_http cleanup
# failures in a BaseExceptionGroup instead of a bare
# RuntimeError. Cleanup should stay best-effort and never
# convert a successful MCP request into a 500 response.
log.debug('MCPClient.disconnect() suppressed BaseExceptionGroup: %s', exc)
except Exception as exc:
log.debug('MCPClient.disconnect() error: %s', exc)
@ -241,3 +231,27 @@ class MCPClient:
async def __aexit__(self, exc_type, exc_value, traceback):
await self.exit_stack.__aexit__(exc_type, exc_value, traceback)
await self.disconnect()
def build_mcp_user_error_message(exc: BaseException, default: str) -> str:
"""Return a short user-facing MCP error message.
MCP streamable HTTP failures can surface as nested TaskGroup /
ExceptionGroup wrappers that are useful for logs but too noisy for API
responses. Unwrap nested exceptions and fall back to the provided default
when the raw error is empty or not actionable.
"""
if isinstance(exc, BaseExceptionGroup):
# Prefer the first nested exception that yields an actionable message.
for nested_exc in exc.exceptions:
nested_message = build_mcp_user_error_message(nested_exc, default)
if nested_message != default:
return nested_message
return default
message = str(exc).strip()
if not message or 'TaskGroup' in message:
# Hide framework noise from user-facing responses.
return default
return message

View file

@ -114,7 +114,7 @@ from open_webui.utils.filter import (
from open_webui.utils.code_interpreter import execute_code_jupyter
from open_webui.utils.payload import apply_system_prompt_to_body
from open_webui.utils.response import normalize_usage
from open_webui.utils.mcp.client import MCPClient
from open_webui.utils.mcp.client import MCPClient, build_mcp_user_error_message
from open_webui.config import (
@ -2202,12 +2202,23 @@ def normalize_mcp_prompt_messages(prompt_result: dict) -> tuple[list[dict], list
return messages, sorted(omitted_content_types)
def insert_messages_after_system(messages: list[dict], inserted_messages: list[dict]) -> list[dict]:
def insert_messages_before_current_user_turn(
messages: list[dict], inserted_messages: list[dict]
) -> list[dict]:
"""Insert MCP prompt messages right before the current user message.
In chat, the resolved MCP prompt should apply to the active user turn.
This helper treats the last user-role message in the payload as the
active turn and inserts the prompt messages immediately before it.
"""
if not inserted_messages:
return messages
insert_at = 1 if messages and messages[0].get('role') == 'system' else 0
return [*messages[:insert_at], *inserted_messages, *messages[insert_at:]]
for index in reversed(range(len(messages))):
if messages[index].get('role') == 'user':
return [*messages[:index], *inserted_messages, *messages[index:]]
return [*messages, *inserted_messages]
async def emit_mcp_prompt_notification(event_emitter, content: str, level: str = 'warning'):
@ -2223,6 +2234,111 @@ async def emit_mcp_prompt_notification(event_emitter, content: str, level: str =
)
def get_mcp_server_connection(request: Request, server_id: str, enabled_only: bool = False):
return next(
(
server_connection
for server_connection in request.app.state.config.TOOL_SERVER_CONNECTIONS
if server_connection.get('type', '') == 'mcp'
and server_connection.get('info', {}).get('id') == server_id
and (
not enabled_only
or bool(server_connection.get('config', {}).get('enable'))
)
),
None,
)
async def build_mcp_server_headers(
request: Request,
user,
metadata: dict,
extra_params: dict,
server_id: str,
mcp_server_connection: dict,
) -> dict:
auth_type = mcp_server_connection.get('auth_type', '')
headers = {}
if auth_type == 'bearer':
headers['Authorization'] = f'Bearer {mcp_server_connection.get("key", "")}'
elif auth_type == 'none':
pass
elif auth_type == 'session':
headers['Authorization'] = f'Bearer {request.state.token.credentials}'
elif auth_type == 'system_oauth':
oauth_token = extra_params.get('__oauth_token__', None)
if oauth_token:
headers['Authorization'] = f'Bearer {oauth_token.get("access_token", "")}'
elif auth_type in ('oauth_2.1', 'oauth_2.1_static'):
oauth_server_id = server_id.split(':')[-1] if ':' in server_id else server_id
oauth_token = await request.app.state.oauth_client_manager.get_oauth_token(user.id, f'mcp:{oauth_server_id}')
if oauth_token:
headers['Authorization'] = f'Bearer {oauth_token.get("access_token", "")}'
connection_headers = mcp_server_connection.get('headers', None)
if connection_headers and isinstance(connection_headers, dict):
headers.update(connection_headers)
if ENABLE_FORWARD_USER_INFO_HEADERS and user:
headers = include_user_info_headers(headers, user)
if metadata.get('chat_id'):
headers[FORWARD_SESSION_INFO_HEADER_CHAT_ID] = metadata.get('chat_id')
if metadata.get('message_id'):
headers[FORWARD_SESSION_INFO_HEADER_MESSAGE_ID] = metadata.get('message_id')
return headers
async def resolve_mcp_prompt_selection(
request: Request,
user,
metadata: dict,
extra_params: dict,
mcp_prompt_selection: dict,
) -> tuple[list[dict], list[str]]:
server_id = mcp_prompt_selection.get('server_id', '')
if not server_id:
raise Exception('Selected MCP prompt server is unavailable for this request.')
mcp_server_connection = get_mcp_server_connection(request, server_id, enabled_only=True)
if not mcp_server_connection:
raise Exception(f"Selected MCP prompt server '{server_id}' was not found or is disabled.")
if not await has_connection_access(user, mcp_server_connection):
raise Exception('Access denied to the selected MCP prompt server.')
headers = await build_mcp_server_headers(
request,
user,
metadata,
extra_params,
server_id,
mcp_server_connection,
)
mcp_client = MCPClient()
try:
async with mcp_client.temporary_connection(
url=mcp_server_connection.get('url', ''),
headers=headers if headers else None,
):
prompt_result = await mcp_client.get_prompt(
mcp_prompt_selection.get('name', ''),
mcp_prompt_selection.get('arguments') or None,
)
except Exception as e:
error_message = build_mcp_user_error_message(
e,
'Unable to connect to the selected MCP prompt server.',
)
raise Exception(f'Failed to resolve the selected MCP prompt: {error_message}') from e
return normalize_mcp_prompt_messages(prompt_result)
async def process_chat_payload(request, form_data, user, metadata, model):
# Pipeline Inlet -> Filter Inlet -> Chat Memory -> Chat Web Search -> Chat Image Generation
# -> Chat Code Interpreter (Form Data Update) -> (Default) Chat Tools Function Calling
@ -2505,13 +2621,8 @@ async def process_chat_payload(request, form_data, user, metadata, model):
form_data.pop('folder_id', None)
mcp_prompt_selection = metadata.get('mcp_prompt_selection') or None
# Caller-provided OpenAI-style tools take precedence over server-side
# tool resolution (tool_ids, MCP servers, builtin tools).
payload_tools = form_data.get('tools', None)
if mcp_prompt_selection and payload_tools:
raise Exception('MCP prompt selection is not supported when explicit tools are supplied in the request.')
# Skills
user_skill_ids = set(form_data.pop('skill_ids', None) or [])
model_skill_ids = set(model.get('info', {}).get('meta', {}).get('skillIds', []))
@ -2582,6 +2693,35 @@ async def process_chat_payload(request, form_data, user, metadata, model):
}
form_data['metadata'] = metadata
if mcp_prompt_selection:
mcp_prompt_messages, mcp_prompt_omitted_content_types = await resolve_mcp_prompt_selection(
request,
user,
metadata,
extra_params,
mcp_prompt_selection,
)
if mcp_prompt_messages:
# Keep MCP prompts scoped to the active user turn instead of
# hoisting them to the start of the conversation history.
form_data['messages'] = insert_messages_before_current_user_turn(
form_data['messages'],
mcp_prompt_messages,
)
else:
await emit_mcp_prompt_notification(
event_emitter,
'The selected MCP prompt returned no text content and was skipped.',
)
if mcp_prompt_omitted_content_types:
await emit_mcp_prompt_notification(
event_emitter,
'The selected MCP prompt omitted unsupported content types: '
+ ', '.join(mcp_prompt_omitted_content_types),
)
# When the caller provides an explicit OpenAI-style `tools` array in the
# request body, skip all server-side tool resolution and pass the caller's
# tools through to the model unchanged.
@ -2598,26 +2738,12 @@ async def process_chat_payload(request, form_data, user, metadata, model):
mcp_clients = {}
mcp_tools_dict = {}
mcp_prompt_messages = []
mcp_prompt_omitted_content_types = []
mcp_prompt_resolved = False
mcp_prompt_error = None
if tool_ids:
for tool_id in tool_ids:
if tool_id.startswith('server:mcp:'):
try:
server_id = tool_id[len('server:mcp:') :]
mcp_server_id = server_id
mcp_server_connection = None
for server_connection in request.app.state.config.TOOL_SERVER_CONNECTIONS:
if (
server_connection.get('type', '') == 'mcp'
and server_connection.get('info', {}).get('id') == server_id
):
mcp_server_connection = server_connection
break
mcp_server_connection = get_mcp_server_connection(request, server_id)
if not mcp_server_connection:
log.error(f'MCP server with id {server_id} not found')
@ -2628,46 +2754,18 @@ async def process_chat_payload(request, form_data, user, metadata, model):
log.warning(f'Access denied to MCP server {server_id} for user {user.id}')
continue
auth_type = mcp_server_connection.get('auth_type', '')
headers = {}
if auth_type == 'bearer':
headers['Authorization'] = f'Bearer {mcp_server_connection.get("key", "")}'
elif auth_type == 'none':
# No authentication
pass
elif auth_type == 'session':
headers['Authorization'] = f'Bearer {request.state.token.credentials}'
elif auth_type == 'system_oauth':
oauth_token = extra_params.get('__oauth_token__', None)
if oauth_token:
headers['Authorization'] = f'Bearer {oauth_token.get("access_token", "")}'
elif auth_type in ('oauth_2.1', 'oauth_2.1_static'):
try:
splits = server_id.split(':')
server_id = splits[-1] if len(splits) > 1 else server_id
oauth_token = await request.app.state.oauth_client_manager.get_oauth_token(
user.id, f'mcp:{server_id}'
)
if oauth_token:
headers['Authorization'] = f'Bearer {oauth_token.get("access_token", "")}'
except Exception as e:
log.error(f'Error getting OAuth token: {e}')
oauth_token = None
connection_headers = mcp_server_connection.get('headers', None)
if connection_headers and isinstance(connection_headers, dict):
for key, value in connection_headers.items():
headers[key] = value
# Add user info headers if enabled
if ENABLE_FORWARD_USER_INFO_HEADERS and user:
headers = include_user_info_headers(headers, user)
if metadata and metadata.get('chat_id'):
headers[FORWARD_SESSION_INFO_HEADER_CHAT_ID] = metadata.get('chat_id')
if metadata and metadata.get('message_id'):
headers[FORWARD_SESSION_INFO_HEADER_MESSAGE_ID] = metadata.get('message_id')
try:
headers = await build_mcp_server_headers(
request,
user,
metadata,
extra_params,
server_id,
mcp_server_connection,
)
except Exception as e:
log.error(f'Error building MCP headers for {server_id}: {e}')
continue
mcp_clients[server_id] = MCPClient()
await mcp_clients[server_id].connect(
@ -2675,17 +2773,6 @@ async def process_chat_payload(request, form_data, user, metadata, model):
headers=headers if headers else None,
)
if mcp_prompt_selection and mcp_prompt_selection.get('server_id') == mcp_server_id:
prompt_result = await mcp_clients[server_id].get_prompt(
mcp_prompt_selection.get('name', ''),
mcp_prompt_selection.get('arguments') or None,
)
(
mcp_prompt_messages,
mcp_prompt_omitted_content_types,
) = normalize_mcp_prompt_messages(prompt_result)
mcp_prompt_resolved = True
function_name_filter_list = mcp_server_connection.get('config', {}).get(
'function_name_filter_list', ''
)
@ -2723,11 +2810,6 @@ async def process_chat_payload(request, form_data, user, metadata, model):
'direct': False,
}
except Exception as e:
if (
mcp_prompt_selection
and mcp_prompt_selection.get('server_id') == tool_id[len('server:mcp:') :]
):
mcp_prompt_error = str(e)
log.debug(e)
if event_emitter:
await event_emitter(
@ -2738,35 +2820,6 @@ async def process_chat_payload(request, form_data, user, metadata, model):
)
continue
if mcp_prompt_selection:
selected_mcp_tool_id = f'server:mcp:{mcp_prompt_selection.get("server_id", "")}'
if selected_mcp_tool_id not in (tool_ids or []):
raise Exception('Selected MCP prompt server is not enabled for this chat.')
if not mcp_prompt_resolved:
raise Exception(
mcp_prompt_error or f"Failed to resolve MCP prompt '{mcp_prompt_selection.get('name', '')}'"
)
if mcp_prompt_messages:
form_data['messages'] = insert_messages_after_system(
form_data['messages'],
mcp_prompt_messages,
)
else:
await emit_mcp_prompt_notification(
event_emitter,
'The selected MCP prompt returned no text content and was skipped.',
)
if mcp_prompt_omitted_content_types:
await emit_mcp_prompt_notification(
event_emitter,
'The selected MCP prompt omitted unsupported content types: '
+ ', '.join(mcp_prompt_omitted_content_types),
)
tools_dict = await get_tools(
request,
tool_ids,
@ -2782,9 +2835,6 @@ async def process_chat_payload(request, form_data, user, metadata, model):
if mcp_tools_dict:
tools_dict = {**tools_dict, **mcp_tools_dict}
if mcp_prompt_selection and not tool_ids:
raise Exception('Selected MCP prompt server is not enabled for this chat.')
# Resolve terminal tools if terminal_id is set (outside tool_ids check
# so system terminals work even when no other tools are selected)
terminal_capability = (model.get('info', {}).get('meta', {}).get('capabilities') or {}).get('terminal', True)

View file

@ -13,6 +13,14 @@ export type MCPPrompt = {
arguments?: MCPPromptArgument[];
};
export type MCPPromptSelection = {
serverId: string;
serverName: string;
name: string;
title?: string;
arguments: Record<string, string>;
};
export const createNewTool = async (token: string, tool: object) => {
let error = null;

View file

@ -89,7 +89,7 @@
stopTasksByChatId,
getTaskIdsByChatId
} from '$lib/apis';
import { getTools } from '$lib/apis/tools';
import { getTools, type MCPPromptSelection } from '$lib/apis/tools';
import { uploadFile } from '$lib/apis/files';
import { createOpenAITextStream } from '$lib/apis/streaming';
import { getFunctions } from '$lib/apis/functions';
@ -147,8 +147,7 @@
let selectedToolIds = [];
let selectedFilterIds = [];
let pendingOAuthTools = [];
let pendingMcpPromptSelection = null;
let activeChatMcpPromptSelection = null;
let pendingMcpPromptSelection: MCPPromptSelection | null = null;
let imageGenerationEnabled = false;
let webSearchEnabled = false;
@ -172,20 +171,42 @@
let taskIds = null;
type QueuedChatRequest = {
id: string;
prompt: string;
files: any[];
mcpPromptSelection: MCPPromptSelection | null;
};
// Chat Input
let prompt = '';
let chatFiles = [];
let files = [];
let params = {};
const serializeMcpPromptSelection = (selection) => JSON.stringify(selection ?? null);
const cloneMcpPromptSelection = (selection) =>
selection ? structuredClone(selection) : undefined;
const getCurrentMcpPromptSelection = () =>
cloneMcpPromptSelection(pendingMcpPromptSelection ?? activeChatMcpPromptSelection);
const cloneMcpPromptSelection = (
selection: MCPPromptSelection | null | undefined
): MCPPromptSelection | undefined => (selection ? structuredClone(selection) : undefined);
const cloneMcpPromptSelectionOrNull = (selection: MCPPromptSelection | null | undefined) =>
selection ? structuredClone(selection) : null;
const getCurrentMcpPromptSelection = () => cloneMcpPromptSelection(pendingMcpPromptSelection);
const getCurrentMcpPromptSelectionSnapshot = () =>
cloneMcpPromptSelectionOrNull(pendingMcpPromptSelection);
const getMcpPromptSelectionKey = (selection: MCPPromptSelection | null | undefined) => {
if (!selection) {
return 'null';
}
let persistedActiveChatMcpPromptSelection = serializeMcpPromptSelection(null);
let persistActiveChatMcpPromptTimeout = null;
return JSON.stringify({
serverId: selection.serverId,
name: selection.name,
arguments: Object.fromEntries(
Object.entries(selection.arguments ?? {}).sort(([left], [right]) =>
left.localeCompare(right)
)
)
});
};
$: if (chatIdProp) {
navigateHandler();
@ -207,8 +228,6 @@
selectedToolIds = [];
selectedFilterIds = [];
pendingMcpPromptSelection = null;
activeChatMcpPromptSelection = null;
persistedActiveChatMcpPromptSelection = serializeMcpPromptSelection(null);
webSearchEnabled = false;
imageGenerationEnabled = false;
@ -247,9 +266,6 @@
if ('pendingMcpPromptSelection' in input) {
pendingMcpPromptSelection = input.pendingMcpPromptSelection;
}
if ('activeChatMcpPromptSelection' in input) {
activeChatMcpPromptSelection = input.activeChatMcpPromptSelection;
}
webSearchEnabled = input.webSearchEnabled;
imageGenerationEnabled = input.imageGenerationEnabled;
codeInterpreterEnabled = input.codeInterpreterEnabled;
@ -284,31 +300,6 @@
saveSessionSelectedModels();
}
$: {
const serializedActiveChatMcpPromptSelection = serializeMcpPromptSelection(
activeChatMcpPromptSelection
);
if (
!loading &&
$chatId &&
chat &&
!$temporaryChatEnabled &&
serializedActiveChatMcpPromptSelection !== persistedActiveChatMcpPromptSelection
) {
if (persistActiveChatMcpPromptTimeout) {
clearTimeout(persistActiveChatMcpPromptTimeout);
}
persistActiveChatMcpPromptTimeout = setTimeout(async () => {
chat = await updateChatById(localStorage.token, $chatId, {
activeMcpPromptSelection: activeChatMcpPromptSelection ?? null
});
persistedActiveChatMcpPromptSelection = serializedActiveChatMcpPromptSelection;
}, 250);
}
}
const saveSessionSelectedModels = () => {
const selectedModelsString = JSON.stringify(selectedModels);
if (
@ -842,9 +833,6 @@
if ('pendingMcpPromptSelection' in input) {
pendingMcpPromptSelection = input.pendingMcpPromptSelection;
}
if ('activeChatMcpPromptSelection' in input) {
activeChatMcpPromptSelection = input.activeChatMcpPromptSelection;
}
webSearchEnabled = input.webSearchEnabled;
imageGenerationEnabled = input.imageGenerationEnabled;
codeInterpreterEnabled = input.codeInterpreterEnabled;
@ -869,9 +857,6 @@
$socket?.off('events', chatEventHandler);
audioQueueInstance?.destroy();
audioQueue.set(null);
if (persistActiveChatMcpPromptTimeout) {
clearTimeout(persistActiveChatMcpPromptTimeout);
}
} catch (e) {
console.error(e);
}
@ -1246,8 +1231,6 @@
autoScroll = true;
resetInput();
activeChatMcpPromptSelection = null;
persistedActiveChatMcpPromptSelection = serializeMcpPromptSelection(null);
await chatId.set('');
await chatTitle.set('');
@ -1405,11 +1388,6 @@
(chatContent?.history ?? undefined) !== undefined
? chatContent.history
: convertMessagesToHistory(chatContent.messages);
activeChatMcpPromptSelection = chatContent?.activeMcpPromptSelection ?? null;
persistedActiveChatMcpPromptSelection = serializeMcpPromptSelection(
activeChatMcpPromptSelection
);
chatTitle.set(chatContent.title);
params = chatContent?.params ?? {};
@ -1493,15 +1471,38 @@
processingQueueChats.add(targetChatId);
try {
const combinedPrompt = queue.map((m) => m.prompt).join('\n\n');
const combinedFiles = queue.flatMap((m) => m.files);
const firstSelectionKey = getMcpPromptSelectionKey(queue[0]?.mcpPromptSelection);
const batch: QueuedChatRequest[] = [];
for (const item of queue) {
if (getMcpPromptSelectionKey(item.mcpPromptSelection) !== firstSelectionKey) {
break;
}
batch.push(item);
}
const combinedPrompt = batch.map((m) => m.prompt).join('\n\n');
const combinedFiles = batch.flatMap((m) => m.files);
const batchSelection = cloneMcpPromptSelectionOrNull(batch[0]?.mcpPromptSelection);
const remainingQueue = queue.slice(batch.length);
chatRequestQueues.update((q) => {
const { [targetChatId]: _, ...rest } = q;
return rest;
if (remainingQueue.length === 0) {
const { [targetChatId]: _, ...rest } = q;
return rest;
}
return {
...q,
[targetChatId]: remainingQueue
};
});
await submitPrompt(combinedPrompt, combinedFiles);
await submitPrompt(combinedPrompt, combinedFiles, {
mcpPromptSelectionOverride: batchSelection,
clearPendingMcpPromptSelection: false
});
} finally {
processingQueueChats.delete(targetChatId);
}
@ -1561,12 +1562,8 @@
messages: messages,
history: history,
params: params,
files: chatFiles,
activeMcpPromptSelection: activeChatMcpPromptSelection ?? null
files: chatFiles
});
persistedActiveChatMcpPromptSelection = serializeMcpPromptSelection(
activeChatMcpPromptSelection
);
currentChatPage.set(1);
await chats.set(await getChatList(localStorage.token, $currentChatPage));
@ -1886,9 +1883,22 @@
// Chat functions
//////////////////////////
const submitPrompt = async (inputContent, inputFiles) => {
const submitPrompt = async (
inputContent,
inputFiles,
{
mcpPromptSelectionOverride = undefined,
clearPendingMcpPromptSelection = true
}: {
mcpPromptSelectionOverride?: MCPPromptSelection | null;
clearPendingMcpPromptSelection?: boolean;
} = {}
) => {
const _files = structuredClone(inputFiles);
const mcpPromptSelection = getCurrentMcpPromptSelection();
const mcpPromptSelection =
mcpPromptSelectionOverride === undefined
? getCurrentMcpPromptSelection()
: cloneMcpPromptSelection(mcpPromptSelectionOverride);
chatFiles.push(
..._files.filter(
@ -1916,7 +1926,9 @@
...(mcpPromptSelection ? { mcpPromptSelection } : {})
};
pendingMcpPromptSelection = null;
if (clearPendingMcpPromptSelection) {
pendingMcpPromptSelection = null;
}
// Add message to history and Set currentId to messageId
history.messages[userMessageId] = userMessage;
@ -1994,10 +2006,22 @@
if ($settings?.enableMessageQueue ?? true) {
// Enqueue the request
const _files = structuredClone(files);
const queuedMcpPromptSelection = getCurrentMcpPromptSelectionSnapshot();
chatRequestQueues.update((q) => ({
...q,
[$chatId]: [...(q[$chatId] ?? []), { id: uuidv4(), prompt: userPrompt, files: _files }]
[$chatId]: [
...(q[$chatId] ?? []),
{
id: uuidv4(),
prompt: userPrompt,
files: _files,
mcpPromptSelection: queuedMcpPromptSelection
}
]
}));
if (queuedMcpPromptSelection) {
pendingMcpPromptSelection = null;
}
// Clear input
messageInput?.setText('');
prompt = '';
@ -2339,13 +2363,6 @@
}
}
if (mcpPromptSelection) {
const selectedMcpToolId = `server:mcp:${mcpPromptSelection.server_id}`;
if (!toolIds.includes(selectedMcpToolId)) {
toolIds.push(selectedMcpToolId);
}
}
// Parse skill mentions (<$skillId|label>) from user messages
const skillMentionRegex = /<\$([^|>]+)\|?[^>]*>/g;
const skillIds = [];
@ -2763,15 +2780,11 @@
params: params,
history: history,
messages: createMessagesList(history, history.currentId),
activeMcpPromptSelection: activeChatMcpPromptSelection ?? null,
tags: [],
timestamp: Date.now()
},
$selectedFolder?.id
);
persistedActiveChatMcpPromptSelection = serializeMcpPromptSelection(
activeChatMcpPromptSelection
);
_chatId = chat.id;
await chatId.set(_chatId);
@ -2801,12 +2814,8 @@
history: history,
messages: createMessagesList(history, history.currentId),
params: params,
files: chatFiles,
activeMcpPromptSelection: activeChatMcpPromptSelection ?? null
files: chatFiles
});
persistedActiveChatMcpPromptSelection = serializeMcpPromptSelection(
activeChatMcpPromptSelection
);
}
}
};
@ -2976,7 +2985,6 @@
params: params,
history: history,
messages: messages,
activeMcpPromptSelection: activeChatMcpPromptSelection ?? null,
timestamp: Date.now()
},
null
@ -3047,7 +3055,6 @@
bind:selectedToolIds
bind:selectedFilterIds
bind:pendingMcpPromptSelection
bind:activeChatMcpPromptSelection
bind:imageGenerationEnabled
bind:codeInterpreterEnabled
{pendingOAuthTools}
@ -3073,7 +3080,10 @@
}));
await stopResponse(false);
await tick();
await submitPrompt(item.prompt, item.files);
await submitPrompt(item.prompt, item.files, {
mcpPromptSelectionOverride: item.mcpPromptSelection,
clearPendingMcpPromptSelection: false
});
}
}}
onQueueEdit={(id) => {
@ -3087,6 +3097,13 @@
}));
// Set files and restore prompt to input
files = item.files;
if (item.mcpPromptSelection) {
pendingMcpPromptSelection = cloneMcpPromptSelection(
item.mcpPromptSelection
);
} else {
pendingMcpPromptSelection = null;
}
messageInput?.setText(item.prompt);
}
}}
@ -3130,7 +3147,6 @@
bind:selectedToolIds
bind:selectedFilterIds
bind:pendingMcpPromptSelection
bind:activeChatMcpPromptSelection
bind:imageGenerationEnabled
bind:codeInterpreterEnabled
bind:webSearchEnabled

View file

@ -57,7 +57,12 @@
import { deleteFileById } from '$lib/apis/files';
import { getChatById } from '$lib/apis/chats';
import { getSessionUser } from '$lib/apis/auths';
import { getMCPPrompts, getTools, type MCPPrompt } from '$lib/apis/tools';
import {
getMCPPrompts,
getTools,
type MCPPrompt,
type MCPPromptSelection
} from '$lib/apis/tools';
import { WEBUI_BASE_URL, WEBUI_API_BASE_URL, PASTED_TEXT_CHARACTER_LIMIT } from '$lib/constants';
import { getOAuthClientAuthorizationUrl } from '$lib/apis/configs';
@ -81,8 +86,6 @@
import Photo from '../icons/Photo.svelte';
import Wrench from '../icons/Wrench.svelte';
import Sparkles from '../icons/Sparkles.svelte';
import Pin from '../icons/Pin.svelte';
import PinSlash from '../icons/PinSlash.svelte';
import InputVariablesModal from './MessageInput/InputVariablesModal.svelte';
import Voice from '../icons/Voice.svelte';
@ -135,8 +138,7 @@
export let selectedToolIds = [];
export let selectedFilterIds = [];
export let pendingMcpPromptSelection = null;
export let activeChatMcpPromptSelection = null;
export let pendingMcpPromptSelection: MCPPromptSelection | null = null;
export let imageGenerationEnabled = false;
export let webSearchEnabled = false;
@ -146,15 +148,6 @@
let showTerminalMenu = false;
type MCPPromptSelection = {
serverId: string;
serverName: string;
name: string;
title?: string;
arguments: Record<string, string>;
mode?: 'once' | 'chat';
};
type MCPPromptVariableMap = Record<
string,
{
@ -163,7 +156,12 @@
}
>;
export let messageQueue: { id: string; prompt: string; files: any[] }[] = [];
export let messageQueue: {
id: string;
prompt: string;
files: any[];
mcpPromptSelection: MCPPromptSelection | null;
}[] = [];
export let onQueueSendNow: (id: string) => void = () => {};
export let onQueueEdit: (id: string) => void = () => {};
export let onQueueDelete: (id: string) => void = () => {};
@ -205,7 +203,6 @@
selectedToolIds,
selectedFilterIds,
pendingMcpPromptSelection,
activeChatMcpPromptSelection,
imageGenerationEnabled,
webSearchEnabled,
codeInterpreterEnabled
@ -372,25 +369,16 @@
);
};
const ensureMcpPromptToolSelected = (serverId: string) => {
const toolId = `server:mcp:${serverId}`;
if (!selectedToolIds.includes(toolId)) {
selectedToolIds = [...selectedToolIds, toolId];
}
};
const createMcpPromptSelection = (
prompt: MCPPrompt,
argumentsMap: Record<string, string> = {},
mode: 'once' | 'chat' = 'once'
argumentsMap: Record<string, string> = {}
): MCPPromptSelection => {
return {
serverId: mcpPromptServerId,
serverName: mcpPromptServerName,
name: prompt.name,
title: prompt.title,
arguments: argumentsMap,
mode
arguments: argumentsMap
} as MCPPromptSelection;
};
@ -398,38 +386,20 @@
prompt: MCPPrompt,
argumentsMap: Record<string, string> = {}
) => {
ensureMcpPromptToolSelected(mcpPromptServerId);
pendingMcpPromptSelection = createMcpPromptSelection(prompt, argumentsMap, 'once');
pendingMcpPromptSelection = createMcpPromptSelection(prompt, argumentsMap);
showMcpPromptPickerModal = false;
toast.success(
$i18n.t('Selected MCP prompt for this turn: {{prompt}}', {
$i18n.t('Selected MCP prompt: {{prompt}}', {
prompt: prompt.title ?? prompt.name
})
);
};
const setActiveChatMcpPromptSelection = (
prompt: MCPPrompt,
argumentsMap: Record<string, string> = {}
) => {
ensureMcpPromptToolSelected(mcpPromptServerId);
pendingMcpPromptSelection = null;
activeChatMcpPromptSelection = createMcpPromptSelection(prompt, argumentsMap, 'chat');
showMcpPromptPickerModal = false;
toast.success(
$i18n.t('Pinned MCP prompt for this chat: {{prompt}}', {
prompt: prompt.title ?? prompt.name
})
);
};
const selectMcpPrompt = async (prompt: MCPPrompt, mode: 'once' | 'chat' = 'once') => {
const selectMcpPrompt = async (prompt: MCPPrompt) => {
const promptArguments = prompt.arguments ?? [];
const applySelection =
mode === 'chat' ? setActiveChatMcpPromptSelection : setPendingMcpPromptSelection;
if (promptArguments.length === 0) {
applySelection(prompt, {});
setPendingMcpPromptSelection(prompt, {});
await tick();
document.getElementById('chat-input')?.focus();
return;
@ -444,7 +414,7 @@
}, {} as MCPPromptVariableMap);
inputVariablesModalCallback = (variableValues) => {
applySelection(prompt, normalizeMcpPromptArguments(variableValues));
setPendingMcpPromptSelection(prompt, normalizeMcpPromptArguments(variableValues));
showInputVariablesModal = false;
};
@ -452,10 +422,6 @@
showInputVariablesModal = true;
};
const pinMcpPromptToChat = async (prompt: MCPPrompt) => {
await selectMcpPrompt(prompt, 'chat');
};
const openMcpPromptPicker = async ({ serverId, name }: { serverId: string; name: string }) => {
mcpPromptServerId = serverId;
mcpPromptServerName = name;
@ -1274,7 +1240,6 @@
serverName={mcpPromptServerName}
prompts={mcpPrompts}
onSelect={selectMcpPrompt}
onPin={pinMcpPromptToChat}
onClose={async () => {
await tick();
document.getElementById('chat-input')?.focus();
@ -1883,35 +1848,6 @@
{/if}
<div class="ml-1 flex gap-1.5">
{#if activeChatMcpPromptSelection}
<Tooltip
content={`${activeChatMcpPromptSelection.serverName}: ${activeChatMcpPromptSelection.title ?? activeChatMcpPromptSelection.name}`}
placement="top"
>
<button
on:click|preventDefault={() => {
activeChatMcpPromptSelection = null;
}}
type="button"
aria-label={$i18n.t('Clear pinned MCP prompt')}
class="group px-2 py-[5px] flex gap-1.5 items-center text-xs rounded-full transition-colors duration-300 focus:outline-hidden max-w-full overflow-hidden
text-amber-700 dark:text-amber-200 bg-amber-50 hover:bg-amber-100 dark:bg-amber-400/10 dark:hover:bg-amber-500/15 border border-amber-200/50 dark:border-amber-500/20"
>
<Pin className="size-3.5" strokeWidth="1.75" />
<span class="truncate max-w-40">
{activeChatMcpPromptSelection.title ??
activeChatMcpPromptSelection.name}
</span>
<span class="shrink-0 text-[10px] uppercase tracking-wide opacity-75">
{$i18n.t('This chat')}
</span>
<div class="hidden group-hover:block">
<PinSlash className="size-3.5" strokeWidth="1.75" />
</div>
</button>
</Tooltip>
{/if}
{#if pendingMcpPromptSelection}
<Tooltip
content={`${pendingMcpPromptSelection.serverName}: ${pendingMcpPromptSelection.title ?? pendingMcpPromptSelection.name}`}
@ -1930,9 +1866,6 @@
<span class="truncate max-w-44">
{pendingMcpPromptSelection.title ?? pendingMcpPromptSelection.name}
</span>
<span class="shrink-0 text-[10px] uppercase tracking-wide opacity-75">
{$i18n.t('This turn')}
</span>
<div class="hidden group-hover:block">
<XMark className="size-3.5" strokeWidth="1.75" />
</div>

View file

@ -332,8 +332,7 @@
{#each Object.keys(tools) as toolId}
{@const isMcpServer = toolId.startsWith('server:mcp:')}
{@const promptSelectable =
isMcpServer && tools[toolId].enabled && (tools[toolId]?.authenticated ?? true)}
{@const promptSelectable = isMcpServer && (tools[toolId]?.authenticated ?? true)}
<button
class="relative flex w-full justify-between gap-2 items-center px-3 py-1.5 text-sm cursor-pointer rounded-xl hover:bg-gray-50 dark:hover:bg-gray-800/50"
on:click={async (e) => {
@ -402,7 +401,7 @@
{#if promptSelectable}
<div class=" shrink-0">
<Tooltip content={$i18n.t('MCP Prompt')}>
<Tooltip content={$i18n.t('Select MCP Prompt')}>
<button
class="self-center w-fit text-sm text-sky-600 dark:text-sky-300 hover:text-sky-700 dark:hover:text-sky-200 transition rounded-full"
type="button"

View file

@ -1,22 +1,22 @@
<script lang="ts">
import { getContext } from 'svelte';
import type { Writable } from 'svelte/store';
import type { i18n as i18nType } from 'i18next';
import type { MCPPrompt } from '$lib/apis/tools';
import Modal from '$lib/components/common/Modal.svelte';
import Spinner from '$lib/components/common/Spinner.svelte';
import Tooltip from '$lib/components/common/Tooltip.svelte';
import Sparkles from '$lib/components/icons/Sparkles.svelte';
import Pin from '$lib/components/icons/Pin.svelte';
import XMark from '$lib/components/icons/XMark.svelte';
const i18n = getContext('i18n');
const i18n: Writable<i18nType> = getContext('i18n');
export let show = false;
export let loading = false;
export let serverName = '';
export let prompts = [];
export let prompts: MCPPrompt[] = [];
export let onSelect = async () => {};
export let onPin = async () => {};
export let onSelect: (prompt: MCPPrompt) => Promise<void> | void = async () => {};
export let onClose = () => {};
</script>
@ -53,27 +53,19 @@
{$i18n.t('No MCP prompts are available for this server.')}
</div>
{:else}
<div class="mb-3 text-xs text-gray-500 dark:text-gray-400">
{$i18n.t(
'Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.'
)}
</div>
<div class="flex max-h-96 flex-col gap-2 overflow-y-auto pr-1">
{#each prompts as prompt (prompt.name)}
<div
<button
type="button"
class="w-full rounded-2xl border border-gray-100 px-4 py-3 transition hover:bg-gray-50 dark:border-gray-800 dark:hover:bg-gray-900/50"
on:click={() => onSelect(prompt)}
>
<div class="flex items-start gap-3">
<div class="mt-0.5 shrink-0 text-sky-500 dark:text-sky-300">
<Sparkles className="size-4" strokeWidth="1.75" />
</div>
<button
type="button"
class="min-w-0 flex-1 text-left"
on:click={() => onSelect(prompt)}
>
<div class="min-w-0 flex-1 text-left">
<div class="truncate text-sm font-medium text-gray-900 dark:text-gray-100">
{prompt.title ?? prompt.name}
</div>
@ -95,22 +87,9 @@
})}
</div>
{/if}
</button>
<div class="shrink-0">
<Tooltip content={$i18n.t('Pin to this chat')}>
<button
type="button"
class="rounded-full p-2 text-amber-600 transition hover:bg-amber-50 hover:text-amber-700 dark:text-amber-300 dark:hover:bg-amber-400/10 dark:hover:text-amber-200"
aria-label={$i18n.t('Pin prompt to this chat')}
on:click={() => onPin(prompt)}
>
<Pin className="size-4" strokeWidth="1.75" />
</button>
</Tooltip>
</div>
</div>
</div>
</button>
{/each}
</div>
{/if}

View file

@ -428,7 +428,12 @@
content: userPrompt,
...(files && { files: files }),
models: selectedModels,
timestamp: Math.floor(Date.now() / 1000) // Unix epoch
timestamp: Math.floor(Date.now() / 1000), // Unix epoch
...(history.messages[messageId].mcpPromptSelection
? {
mcpPromptSelection: structuredClone(history.messages[messageId].mcpPromptSelection)
}
: {})
};
let messageParentId = history.messages[messageId].parentId;

View file

@ -17,7 +17,6 @@
import Image from '$lib/components/common/Image.svelte';
import DeleteConfirmDialog from '$lib/components/common/ConfirmDialog.svelte';
import Sparkles from '../../icons/Sparkles.svelte';
import Pin from '../../icons/Pin.svelte';
import localizedFormat from 'dayjs/plugin/localizedFormat';
@ -213,26 +212,13 @@
<div class="mb-2 flex {($settings?.chatBubble ?? true) ? 'justify-end' : ''}">
<Tooltip content={getMcpPromptTooltip(message.mcpPromptSelection)}>
<div
class="inline-flex max-w-full items-center gap-1.5 rounded-full border px-2.5 py-1 text-xs
{message.mcpPromptSelection.mode === 'chat'
? 'border-amber-200/60 bg-amber-50 text-amber-700 dark:border-amber-500/20 dark:bg-amber-400/10 dark:text-amber-200'
: 'border-sky-200/50 bg-sky-50 text-sky-700 dark:border-sky-500/20 dark:bg-sky-400/10 dark:text-sky-200'}"
class="inline-flex max-w-full items-center gap-1.5 rounded-full border border-sky-200/50 bg-sky-50 px-2.5 py-1 text-xs text-sky-700 dark:border-sky-500/20 dark:bg-sky-400/10 dark:text-sky-200"
>
{#if message.mcpPromptSelection.mode === 'chat'}
<Pin className="size-3.5 shrink-0" strokeWidth="1.75" />
{:else}
<Sparkles className="size-3.5 shrink-0" strokeWidth="1.75" />
{/if}
<Sparkles className="size-3.5 shrink-0" strokeWidth="1.75" />
<span class="truncate max-w-44">
{getMcpPromptDisplayName(message.mcpPromptSelection)}
</span>
<span class="shrink-0 text-[10px] uppercase tracking-wide opacity-75">
{message.mcpPromptSelection.mode === 'chat'
? $i18n.t('This chat')
: $i18n.t('This turn')}
</span>
</div>
</Tooltip>
</div>

View file

@ -2,6 +2,7 @@
import { toast } from 'svelte-sonner';
import { marked } from 'marked';
import DOMPurify from 'dompurify';
import type { MCPPromptSelection } from '$lib/apis/tools';
import { onMount, getContext, tick, createEventDispatcher } from 'svelte';
import { blur, fade } from 'svelte/transition';
@ -49,8 +50,7 @@
export let selectedToolIds = [];
export let selectedFilterIds = [];
export let pendingOAuthTools = [];
export let pendingMcpPromptSelection = null;
export let activeChatMcpPromptSelection = null;
export let pendingMcpPromptSelection: MCPPromptSelection | null = null;
export let showCommands = false;
@ -221,7 +221,6 @@
bind:selectedToolIds
bind:selectedFilterIds
bind:pendingMcpPromptSelection
bind:activeChatMcpPromptSelection
bind:imageGenerationEnabled
bind:codeInterpreterEnabled
bind:webSearchEnabled

View file

@ -342,8 +342,6 @@
"Citation": "اقتباس",
"Citations": "",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "",
"Clear Memory": "",
"Clear search": "",
@ -1270,7 +1268,6 @@
"May": "مايو",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "",
@ -1559,11 +1556,8 @@
"Persistent": "",
"Personalization": "التخصيص",
"Pin": "",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "",
@ -1820,7 +1814,7 @@
"Select model": "",
"Select only one model to call": "",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "النموذج (النماذج) المحددة لا تدعم مدخلات الصور",
"Selected Models": "",
@ -2030,7 +2024,6 @@
"Thinking...": "",
"This action cannot be undone. Do you wish to continue?": "",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "وهذا يضمن حفظ محادثاتك القيمة بشكل آمن في قاعدة بياناتك الخلفية. شكرًا لك!",
"This feature is currently experimental and may not work as expected.": "",
@ -2045,7 +2038,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "",
"This response was generated by \"{{model}}\"": "",
"This turn": "",
"This will delete": "",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "",
"This will delete all models including custom models": "",

View file

@ -342,8 +342,6 @@
"Citation": "اقتباس",
"Citations": "",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "مسح الذاكرة",
"Clear Memory": "مسح الذاكرة",
"Clear search": "",
@ -1270,7 +1268,6 @@
"May": "مايو",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "",
@ -1559,11 +1556,8 @@
"Persistent": "",
"Personalization": "التخصيص",
"Pin": "تثبيت",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "مثبت",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "رؤى رائدة",
@ -1820,7 +1814,7 @@
"Select model": "",
"Select only one model to call": "اختر نموذجًا واحدًا فقط للاستدعاء",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "النموذج (النماذج) المحددة لا تدعم مدخلات الصور",
"Selected Models": "",
@ -2030,7 +2024,6 @@
"Thinking...": "جارٍ التفكير...",
"This action cannot be undone. Do you wish to continue?": "لا يمكن التراجع عن هذا الإجراء. هل ترغب في المتابعة؟",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "وهذا يضمن حفظ محادثاتك القيمة بشكل آمن في قاعدة بياناتك الخلفية. شكرًا لك!",
"This feature is currently experimental and may not work as expected.": "",
@ -2045,7 +2038,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "يحدد هذا الخيار الحد الأقصى لعدد الرموز التي يمكن للنموذج توليدها في الرد. زيادته تتيح للنموذج تقديم إجابات أطول، لكنها قد تزيد من احتمالية توليد محتوى غير مفيد أو غير ذي صلة.",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "سيؤدي هذا الخيار إلى حذف جميع الملفات الحالية في المجموعة واستبدالها بالملفات التي تم تحميلها حديثًا.",
"This response was generated by \"{{model}}\"": "تم توليد هذا الرد بواسطة \"{{model}}\"",
"This turn": "",
"This will delete": "هذا سيقوم بالحذف",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "هذا سيحذف <strong>{{NAME}}</strong> و<strong>كل محتوياته</strong>.",
"This will delete all models including custom models": "هذا سيحذف جميع النماذج بما في ذلك النماذج المخصصة",

View file

@ -338,8 +338,6 @@
"Citation": "Sitat",
"Citations": "Sitatlar",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Yaddaşı təmizlə",
"Clear Memory": "Yaddaşı Təmizlə",
"Clear search": "Axtarışı təmizlə",
@ -1266,7 +1264,6 @@
"May": "May",
"MBR": "MBR",
"MCP": "MCP",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "MCP dəstəyi eksperimentaldır və spesifikasiyası tez-tez dəyişir, bu da uyğunsuzluqlara səbəb ola bilər. OpenAPI spesifikasiyası birbaşa Open WebUI komandası tərəfindən dəstəklənir və daha etibarlıdır.",
"Medium": "Orta",
@ -1555,11 +1552,8 @@
"Persistent": "",
"Personalization": "Fərdiləşdirmə",
"Pin": "Bərkit",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "Bərkidilib",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "Bərkidilmiş mesajlar",
"Pinned Models": "Bərkidilmiş modellər",
"Pioneer insights": "Öncül anlayışlar",
@ -1812,7 +1806,7 @@
"Select model": "",
"Select only one model to call": "Çağırmaq üçün yalnız bir model seçin",
"Select view": "Görünüşü seçin",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "Seçilmiş model: {{modelName}}",
"Selected model(s) do not support image inputs": "Seçilmiş model(lər) şəkil girişini dəstəkləmir",
"Selected Models": "Seçilmiş Modellər",
@ -2018,7 +2012,6 @@
"Thinking...": "Düşünür...",
"This action cannot be undone. Do you wish to continue?": "Bu əməliyyat geri qaytarıla bilməz. Davam etmək istəyirsiniz?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "Bu kanal {{createdAt}} tarixində yaradılıb. Bu, {{channelName}} kanalının ən başlanğıcıdır.",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "Bu çat tarixçədə görünməyəcək və mesajlarınız yadda saxlanılmayacaq.",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Bu, dəyərli söhbətlərinizin backend verilənlər bazasına təhlükəsiz şəkildə saxlanmasını təmin edir. Təşəkkürlər!",
"This feature is currently experimental and may not work as expected.": "Bu funksiya hazırda eksperimental mərhələdədir və gözlənildiyi kimi işləməyə bilər.",
@ -2033,7 +2026,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "Bu seçim modelin cavabında yarada biləcəyi maksimum token sayını təyin edir. Bu limiti artırmaq modelə daha uzun cavablar verməyə imkan verir, lakin faydasız və ya mövzuya aid olmayan məzmunun yaranma ehtimalını da artıra bilər.",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "Bu seçim kolleksiyadakı bütün mövcud faylları siləcək və onları yeni yüklənmiş fayllarla əvəz edəcək.",
"This response was generated by \"{{model}}\"": "Bu cavab \"{{model}}\" tərəfindən yaradılmışdır",
"This turn": "",
"This will delete": "Bu, siləcək:",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "Bu, <strong>{{NAME}}</strong> adlı elementi və <strong>onun bütün məzmununu</strong> siləcək.",
"This will delete all models including custom models": "Bu, fərdi modellər də daxil olmaqla bütün modelləri siləcək",

View file

@ -338,8 +338,6 @@
"Citation": "Цитат",
"Citations": "",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Изчистване на паметта",
"Clear Memory": "",
"Clear search": "",
@ -1266,7 +1264,6 @@
"May": "Май",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "",
@ -1555,11 +1552,8 @@
"Persistent": "",
"Personalization": "Персонализация",
"Pin": "Закачи",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "Закачено",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "Пионерски прозрения",
@ -1812,7 +1806,7 @@
"Select model": "",
"Select only one model to call": "Изберете само един модел за извикване",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "Избраният(те) модел(и) не поддържа въвеждане на изображения",
"Selected Models": "",
@ -2018,7 +2012,6 @@
"Thinking...": "Мисля...",
"This action cannot be undone. Do you wish to continue?": "Това действие не може да бъде отменено. Желаете ли да продължите?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Това гарантира, че ценните ви разговори се запазват сигурно във вашата бекенд база данни. Благодарим ви!",
"This feature is currently experimental and may not work as expected.": "",
@ -2033,7 +2026,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "Тази опция ще изтрие всички съществуващи файлове в колекцията и ще ги замени с новокачени файлове.",
"This response was generated by \"{{model}}\"": "Този отговор беше генериран от \"{{model}}\"",
"This turn": "",
"This will delete": "Това ще изтрие",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "Това ще изтрие <strong>{{NAME}}</strong> и <strong>цялото му съдържание</strong>.",
"This will delete all models including custom models": "Това ще изтрие всички модели, включително персонализираните модели",

View file

@ -338,8 +338,6 @@
"Citation": "উদ্ধৃতি",
"Citations": "",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "",
"Clear Memory": "",
"Clear search": "",
@ -1266,7 +1264,6 @@
"May": "মে",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "",
@ -1555,11 +1552,8 @@
"Persistent": "",
"Personalization": "ডিজিটাল বাংলা",
"Pin": "",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "",
@ -1812,7 +1806,7 @@
"Select model": "",
"Select only one model to call": "",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "নির্বাচিত মডেল(গুলি) চিত্র ইনপুট সমর্থন করে না",
"Selected Models": "",
@ -2018,7 +2012,6 @@
"Thinking...": "",
"This action cannot be undone. Do you wish to continue?": "",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "এটা নিশ্চিত করে যে, আপনার গুরুত্বপূর্ণ আলোচনা নিরাপদে আপনার ব্যাকএন্ড ডেটাবেজে সংরক্ষিত আছে। ধন্যবাদ!",
"This feature is currently experimental and may not work as expected.": "",
@ -2033,7 +2026,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "",
"This response was generated by \"{{model}}\"": "",
"This turn": "",
"This will delete": "",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "",
"This will delete all models including custom models": "",

View file

@ -337,8 +337,6 @@
"Citation": "ལུང་འདྲེན།",
"Citations": "",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "དྲན་ཤེས་གཙང་སེལ།",
"Clear Memory": "དྲན་ཤེས་གཙང་སེལ།",
"Clear search": "",
@ -1265,7 +1263,6 @@
"May": "ཟླ་བ་ལྔ་པ།",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "",
@ -1554,11 +1551,8 @@
"Persistent": "",
"Personalization": "སྒེར་སྤྱོད་ཅན།",
"Pin": "གདབ་པ།",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "གདབ་ཟིན།",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "སྔོན་དཔག་རིག་ནུས།",
@ -1810,7 +1804,7 @@
"Select model": "",
"Select only one model to call": "འབོད་པར་དཔེ་དབྱིབས་གཅིག་ཁོ་ན་གདམ་པ།",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "གདམ་ཟིན་པའི་དཔེ་དབྱིབས་(ཚོ)ས་པར་གྱི་ནང་འཇུག་ལ་རྒྱབ་སྐྱོར་མི་བྱེད།",
"Selected Models": "",
@ -2015,7 +2009,6 @@
"Thinking...": "བསམ་བཞིན་པ།...",
"This action cannot be undone. Do you wish to continue?": "བྱ་སྤྱོད་འདི་ཕྱིར་ལྡོག་བྱེད་མི་ཐུབ། ཁྱེད་མུ་མཐུད་འདོད་ཡོད་དམ།",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "བགྲོ་གླེང་འདི་ {{createdAt}} ལ་བཟོས་པ། འདི་ནི་ {{channelName}} བགྲོ་གླེང་གི་ཐོག་མ་རང་ཡིན།",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "འདིས་ཁྱེད་ཀྱི་རྩ་ཆེའི་ཁ་བརྡ་དག་བདེ་འཇགས་ངང་ཁྱེད་ཀྱི་རྒྱབ་སྣེ་གནས་ཚུལ་མཛོད་དུ་ཉར་ཚགས་བྱེད་པ་ཁག་ཐེག་བྱེད། ཐུགས་རྗེ་ཆེ།",
"This feature is currently experimental and may not work as expected.": "",
@ -2030,7 +2023,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "འདེམས་ཀ་འདིས་དཔེ་དབྱིབས་ཀྱིས་དེའི་ལན་ནང་བཟོ་ཐུབ་པའི་ཊོཀ་ཀེན་གྱི་གྲངས་མང་ཤོས་འཇོག་པ། ཚད་བཀག་འདི་མང་དུ་བཏང་ན་དཔེ་དབྱིབས་ཀྱིས་ལན་རིང་བ་སྤྲོད་པར་གནང་བ་སྤྲོད། འོན་ཀྱང་དེས་ཕན་ཐོགས་མེད་པའམ་འབྲེལ་མེད་ཀྱི་ནང་དོན་བཟོ་བའི་ཆགས་ཚུལ་མང་དུ་གཏོང་སྲིད།",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "འདེམས་ཀ་འདིས་བསྡུ་གསོག་ནང་གི་ཡོད་པའི་ཡིག་ཆ་ཡོངས་རྫོགས་བསུབ་ནས་དེ་དག་གསར་དུ་སྤར་བའི་ཡིག་ཆས་ཚབ་བྱེད་ངེས།",
"This response was generated by \"{{model}}\"": "ལན་འདི་ \"{{model}}\" ཡིས་བཟོས་པ།",
"This turn": "",
"This will delete": "འདིས་བསུབ་ངེས།",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "འདིས་ <strong>{{NAME}}</strong> དང་ <strong>དེའི་ནང་དོན་ཡོངས་རྫོགས་</strong> བསུབ་ངེས།",
"This will delete all models including custom models": "འདིས་སྲོལ་བཟོས་དཔེ་དབྱིབས་ཚུད་པའི་དཔེ་དབྱིབས་ཡོངས་རྫོགས་བསུབ་ངེས།",

View file

@ -339,8 +339,6 @@
"Citation": "Citiranje",
"Citations": "",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Očisti memoriju",
"Clear Memory": "",
"Clear search": "",
@ -1267,7 +1265,6 @@
"May": "Maj",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "",
@ -1556,11 +1553,8 @@
"Persistent": "",
"Personalization": "Prilagodba",
"Pin": "",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "",
@ -1814,7 +1808,7 @@
"Select model": "",
"Select only one model to call": "Odaberite samo jedan model za poziv",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "Odabrani modeli ne podržavaju unose slika",
"Selected Models": "",
@ -2021,7 +2015,6 @@
"Thinking...": "Razmišljam",
"This action cannot be undone. Do you wish to continue?": "",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Ovo osigurava da su vaši vrijedni razgovori sigurno spremljeni u bazu podataka. Hvala vam!",
"This feature is currently experimental and may not work as expected.": "",
@ -2036,7 +2029,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "",
"This response was generated by \"{{model}}\"": "",
"This turn": "",
"This will delete": "",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "",
"This will delete all models including custom models": "",

View file

@ -339,8 +339,6 @@
"Citation": "Cita",
"Citations": "Cites",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Esborrar la memòria",
"Clear Memory": "Esborrar la memòria",
"Clear search": "Esborrar la cerca",
@ -1267,7 +1265,6 @@
"May": "Maig",
"MBR": "MBR",
"MCP": "MCP",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "El suport per a MCP és experimental i la seva especificació canvia sovint, cosa que pot provocar incompatibilitats. El suport per a l'especificació d'OpenAPI el manté directament l'equip d'Open WebUI, cosa que el converteix en l'opció més fiable per a la compatibilitat.",
"Medium": "Mig",
@ -1556,11 +1553,8 @@
"Persistent": "Persistent",
"Personalization": "Personalització",
"Pin": "Fixar",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "Fixar a la barra lateral",
"Pinned": "Fixat",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "Missatges fixats",
"Pinned Models": "Models fixats",
"Pioneer insights": "Perspectives pioneres",
@ -1814,7 +1808,7 @@
"Select model": "Escollir el model",
"Select only one model to call": "Seleccionar només un model per trucar",
"Select view": "Seleccionar una vista",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "Model seleccionat: {{modelName}}",
"Selected model(s) do not support image inputs": "El(s) model(s) seleccionats no admeten l'entrada d'imatges",
"Selected Models": "Models seleccionats",
@ -2021,7 +2015,6 @@
"Thinking...": "Pensant...",
"This action cannot be undone. Do you wish to continue?": "Aquesta acció no es pot desfer. Vols continuar?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "Aquest canal es va crear el dia {{createdAt}}. Aquest és el començament del canal {{channelName}}.",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "Aquest xat no apareixerà a l'historial i els teus missatges no es desaran.",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Això assegura que les teves converses valuoses queden desades de manera segura a la teva base de dades. Gràcies!",
"This feature is currently experimental and may not work as expected.": "Aquesta funció és actualment experimental i és possible que no funcioni com s'esperava.",
@ -2036,7 +2029,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "Aquesta opció estableix el nombre màxim de tokens que el model pot generar en la seva resposta. Augmentar aquest límit permet que el model proporcioni respostes més llargues, però també pot augmentar la probabilitat que es generi contingut poc útil o irrellevant.",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "Aquesta opció eliminarà tots els fitxers existents de la col·lecció i els substituirà per fitxers recentment penjats.",
"This response was generated by \"{{model}}\"": "Aquesta resposta l'ha generat el model \"{{model}}\"",
"This turn": "",
"This will delete": "Això eliminarà",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "Això eliminarà <strong>{{NAME}}</strong> i <strong>tots els continguts</strong>.",
"This will delete all models including custom models": "Això eliminarà tots els models incloent els personalitzats",

View file

@ -338,8 +338,6 @@
"Citation": "Mga kinutlo",
"Citations": "",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "",
"Clear Memory": "",
"Clear search": "",
@ -1266,7 +1264,6 @@
"May": "",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "",
@ -1555,11 +1552,8 @@
"Persistent": "",
"Personalization": "",
"Pin": "",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "",
@ -1812,7 +1806,7 @@
"Select model": "",
"Select only one model to call": "",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "",
"Selected Models": "",
@ -2018,7 +2012,6 @@
"Thinking...": "",
"This action cannot be undone. Do you wish to continue?": "",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Kini nagsiguro nga ang imong bililhon nga mga panag-istoryahanay luwas nga natipig sa imong backend database. ",
"This feature is currently experimental and may not work as expected.": "",
@ -2033,7 +2026,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "",
"This response was generated by \"{{model}}\"": "",
"This turn": "",
"This will delete": "",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "",
"This will delete all models including custom models": "",

View file

@ -340,8 +340,6 @@
"Citation": "Citace",
"Citations": "Citace",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Vymazat paměť",
"Clear Memory": "Vymazat paměť",
"Clear search": "",
@ -1268,7 +1266,6 @@
"May": "Květen",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "Střední",
@ -1557,11 +1554,8 @@
"Persistent": "",
"Personalization": "Personalizace",
"Pin": "Připnout",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "Připnuto",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "Objevujte nové poznatky",
@ -1816,7 +1810,7 @@
"Select model": "",
"Select only one model to call": "Vyberte pouze jeden model k volání",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "Vybraný model (modely) nepodporuje obrazové vstupy.",
"Selected Models": "",
@ -2024,7 +2018,6 @@
"Thinking...": "Přemýšlím...",
"This action cannot be undone. Do you wish to continue?": "Tuto akci nelze vrátit zpět. Přejete si pokračovat?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "Tento kanál byl vytvořen {{createdAt}}. Toto je úplný začátek kanálu {{channelName}}.",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "Tato konverzace se neobjeví v historii a vaše zprávy nebudou uloženy.",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Tím je zajištěno, že vaše cenné konverzace jsou bezpečně uloženy ve vaší backendové databázi. Děkujeme!",
"This feature is currently experimental and may not work as expected.": "",
@ -2039,7 +2032,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "Tato možnost nastavuje maximální počet tokenů, které může model vygenerovat ve své odpovědi. Zvýšení tohoto limitu umožňuje modelu poskytovat delší odpovědi, ale může také zvýšit pravděpodobnost generování neužitečného nebo irelevantního obsahu.",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "Tato volba smaže všechny existující soubory v kolekci a nahradí je nově nahranými soubory.",
"This response was generated by \"{{model}}\"": "Tato odpověď byla vygenerována modelem \"{{model}}\"",
"This turn": "",
"This will delete": "Tím se smaže",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "Tím se smaže <strong>{{NAME}}</strong> a <strong>veškerý jeho obsah</strong>.",
"This will delete all models including custom models": "Tím se smažou všechny modely včetně vlastních modelů",

View file

@ -338,8 +338,6 @@
"Citation": "Citat",
"Citations": "Citater",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Slet hukommelse",
"Clear Memory": "Slet hukommelse",
"Clear search": "",
@ -1266,7 +1264,6 @@
"May": "Maj",
"MBR": "MBR",
"MCP": "MCP",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "MCP understøttelse er eksperimentel og dens specifikationer ændres ofte hvilket kan medføre inkompatibilitet. OpenAI specifikationsunderstøttelse er vedligeholdt af Open WebUI-teamet hvilket gør det til den mest pålidelige mulighed for understøttelse.",
"Medium": "Medium",
@ -1555,11 +1552,8 @@
"Persistent": "",
"Personalization": "Personalisering",
"Pin": "Fastgør",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "Fastgjort",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "Fastgjorte beskeder",
"Pinned Models": "",
"Pioneer insights": "Banebrydende indsigter",
@ -1812,7 +1806,7 @@
"Select model": "",
"Select only one model to call": "Vælg kun én model at kalde",
"Select view": "Vælg visning",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "Valgte model(ler) understøtter ikke billedinput",
"Selected Models": "",
@ -2018,7 +2012,6 @@
"Thinking...": "Tænker...",
"This action cannot be undone. Do you wish to continue?": "Denne handling kan ikke fortrydes. Vil du fortsætte?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "Denne kanal blev oprettet den {{createdAt}}. Dette er det helt første i kanalen {{channelName}}.",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "Denne chat vil ikke vises i historikken, og dine beskeder vil ikke blive gemt.",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Dette sikrer, at dine værdifulde samtaler gemmes sikkert i din backend-database. Tak!",
"This feature is currently experimental and may not work as expected.": "",
@ -2033,7 +2026,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "Denne indstilling sætter det maksimale antal tokens modellen kan generere i sit svar. At øge denne grænse tillader modellen at give længere svar, men det kan også øge sandsynligheden for at unyttigt eller irrelevant indhold genereres.",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "Denne indstilling sletter alle eksisterende filer i samlingen og erstatter dem med nyligt uploadede filer.",
"This response was generated by \"{{model}}\"": "Dette svar blev genereret af \"{{model}}\"",
"This turn": "",
"This will delete": "Dette vil slette",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "Dette vil slette <strong>{{NAME}}</strong> og <strong>alt dens indhold</strong>.",
"This will delete all models including custom models": "Dette vil slette alle modeller, inklusive brugerdefinerede modeller",

View file

@ -338,8 +338,6 @@
"Citation": "Zitat",
"Citations": "Zitate",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Alle Erinnerungen löschen",
"Clear Memory": "Alle Erinnerungen löschen",
"Clear search": "Suche löschen",
@ -1266,7 +1264,6 @@
"May": "Mai",
"MBR": "MBR",
"MCP": "MCP",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "Die MCP-Unterstützung ist experimentell und ihre Spezifikation ändert sich häufig, was zu Inkompatibilitäten führen kann. Die Unterstützung der OpenAPI-Spezifikation wird direkt vom Open WebUI-Team gepflegt und ist daher die verlässlichere Option.",
"Medium": "Mittel",
@ -1555,11 +1552,8 @@
"Persistent": "Persistent",
"Personalization": "Personalisierung",
"Pin": "Anheften",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "An Seitenleiste anheften",
"Pinned": "Angeheftet",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "Angeheftete Nachrichten",
"Pinned Models": "Angepinnte Modelle",
"Pioneer insights": "Erkenntnisse gewinnen",
@ -1812,7 +1806,7 @@
"Select model": "Modell auswählen",
"Select only one model to call": "Wählen Sie nur ein Modell zum Aufrufen aus",
"Select view": "Ansicht wählen",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "Ausgewähltes Modell: {{modelName}}",
"Selected model(s) do not support image inputs": "Die ausgewählten Modelle unterstützen keine Bildeingaben",
"Selected Models": "Ausgewählte Modelle",
@ -2018,7 +2012,6 @@
"Thinking...": "Denke nach...",
"This action cannot be undone. Do you wish to continue?": "Diese Aktion kann nicht rückgängig gemacht werden. Möchten Sie fortfahren?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "Dieser Kanal wurde am {{createdAt}} erstellt. Dies ist der Anfang des Kanals {{channelName}}.",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "Dieser Chat erscheint nicht im Verlauf und Ihre Nachrichten werden nicht gespeichert.",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Dies stellt sicher, dass Ihre wertvollen Unterhaltungen sicher in Ihrer Backend-Datenbank gespeichert werden. Vielen Dank!",
"This feature is currently experimental and may not work as expected.": "Dieses Feature ist aktuell experimentell und funktioniert möglicherweise nicht wie erwartet.",
@ -2033,7 +2026,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "Diese Option legt die maximale Anzahl von Token fest, die das Modell generieren darf. Ein höheres Limit ermöglicht längere Antworten, kann aber auch die Wahrscheinlichkeit für irrelevante Inhalte erhöhen.",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "Diese Option löscht alle vorhandenen Dateien in der Sammlung und ersetzt sie durch die neu hochgeladenen Dateien.",
"This response was generated by \"{{model}}\"": "Diese Antwort wurde von \"{{model}}\" generiert",
"This turn": "",
"This will delete": "Dies löscht",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "Dies löscht <strong>{{NAME}}</strong> und <strong>alle Inhalte</strong>.",
"This will delete all models including custom models": "Dies löscht alle Modelle, einschließlich benutzerdefinierter Modelle",

View file

@ -338,8 +338,6 @@
"Citation": "",
"Citations": "",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "",
"Clear Memory": "",
"Clear search": "",
@ -1266,7 +1264,6 @@
"May": "",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "",
@ -1555,11 +1552,8 @@
"Persistent": "",
"Personalization": "Personalization",
"Pin": "",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "",
@ -1812,7 +1806,7 @@
"Select model": "",
"Select only one model to call": "",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "",
"Selected Models": "",
@ -2018,7 +2012,6 @@
"Thinking...": "",
"This action cannot be undone. Do you wish to continue?": "",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "This ensures that your valuable conversations are securely saved to your backend database. Thank you! Much secure!",
"This feature is currently experimental and may not work as expected.": "",
@ -2033,7 +2026,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "",
"This response was generated by \"{{model}}\"": "",
"This turn": "",
"This will delete": "",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "",
"This will delete all models including custom models": "",

View file

@ -338,8 +338,6 @@
"Citation": "Παραπομπή",
"Citations": "Παραπομπές",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Καθαρισμός μνήμης",
"Clear Memory": "",
"Clear search": "",
@ -1266,7 +1264,6 @@
"May": "Μάιος",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "",
@ -1555,11 +1552,8 @@
"Persistent": "",
"Personalization": "Προσωποποίηση",
"Pin": "Καρφίτσωμα",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "Καρφιτσωμένο",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "Συμβουλές πρωτοπόρων",
@ -1812,7 +1806,7 @@
"Select model": "",
"Select only one model to call": "Επιλέξτε μόνο ένα μοντέλο για κλήση",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "Τα επιλεγμένα μοντέλα δεν υποστηρίζουν είσοδο εικόνων",
"Selected Models": "",
@ -2018,7 +2012,6 @@
"Thinking...": "Σκέφτομαι...",
"This action cannot be undone. Do you wish to continue?": "Αυτή η ενέργεια δεν μπορεί να αναιρεθεί. Θέλετε να συνεχίσετε;",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Αυτό διασφαλίζει ότι οι πολύτιμες συνομιλίες σας αποθηκεύονται με ασφάλεια στη βάση δεδομένων backend σας. Ευχαριστούμε!",
"This feature is currently experimental and may not work as expected.": "",
@ -2033,7 +2026,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "Αυτή η επιλογή θα διαγράψει όλα τα υπάρχοντα αρχεία στη συλλογή και θα τα αντικαταστήσει με νέα ανεβασμένα αρχεία.",
"This response was generated by \"{{model}}\"": "Αυτή η απάντηση δημιουργήθηκε από \"{{model}}\"",
"This turn": "",
"This will delete": "Αυτό θα διαγράψει",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "Αυτό θα διαγράψει το <strong>{{NAME}}</strong> και <strong>όλο το περιεχόμενό του</strong>.",
"This will delete all models including custom models": "Αυτό θα διαγράψει όλα τα μοντέλα, συμπεριλαμβανομένων των προσαρμοσμένων μοντέλων",

View file

@ -338,8 +338,6 @@
"Citation": "",
"Citations": "",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "",
"Clear Memory": "",
"Clear search": "",
@ -1266,7 +1264,6 @@
"May": "",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "",
@ -1555,11 +1552,8 @@
"Persistent": "",
"Personalization": "Personalisation",
"Pin": "",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "",
@ -1812,7 +1806,7 @@
"Select model": "",
"Select only one model to call": "",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "",
"Selected Models": "",
@ -2018,7 +2012,6 @@
"Thinking...": "",
"This action cannot be undone. Do you wish to continue?": "",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "",
"This feature is currently experimental and may not work as expected.": "",
@ -2033,7 +2026,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "",
"This response was generated by \"{{model}}\"": "",
"This turn": "",
"This will delete": "",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "",
"This will delete all models including custom models": "",

View file

@ -338,8 +338,6 @@
"Citation": "",
"Citations": "",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "",
"Clear Memory": "",
"Clear search": "",
@ -1266,7 +1264,6 @@
"May": "",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "",
@ -1555,11 +1552,8 @@
"Persistent": "",
"Personalization": "",
"Pin": "",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "",
@ -1812,7 +1806,7 @@
"Select model": "",
"Select only one model to call": "",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "",
"Selected Models": "",
@ -2018,7 +2012,6 @@
"Thinking...": "",
"This action cannot be undone. Do you wish to continue?": "",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "",
"This feature is currently experimental and may not work as expected.": "",
@ -2033,7 +2026,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "",
"This response was generated by \"{{model}}\"": "",
"This turn": "",
"This will delete": "",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "",
"This will delete all models including custom models": "",

View file

@ -339,8 +339,6 @@
"Citation": "Cita",
"Citations": "Citas",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Liberar memoria",
"Clear Memory": "Liberar Memoria",
"Clear search": "Limpiar búsqueda",
@ -1267,7 +1265,6 @@
"May": "Mayo",
"MBR": "MBR",
"MCP": "MCP",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "El soporte de MCP es experimental y su especificación cambia con frecuencia, lo que puede generar incompatibilidades. El equipo de Open WebUI mantiene directamente la compatibilidad con la especificación OpenAPI, lo que la convierte en la opción más fiable para la compatibilidad.",
"Medium": "Medio",
@ -1556,11 +1553,8 @@
"Persistent": "Persistente",
"Personalization": "Personalización",
"Pin": "Fijar",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "Fijar al Panel Lateral",
"Pinned": "Fijado",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "Mensajes Fijados",
"Pinned Models": "Modelos Fijados",
"Pioneer insights": "Descubrir nuevas perspectivas",
@ -1814,7 +1808,7 @@
"Select model": "Seleccionar modelo",
"Select only one model to call": "Seleccionar sólo un modelo a llamar",
"Select view": "Seleccionar vista",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "Modelo seleccinado: {{modelName}}",
"Selected model(s) do not support image inputs": "Modelo(s) seleccionado(s) no admiten entradas de imagen",
"Selected Models": "Modelos Seleccionados",
@ -2021,7 +2015,6 @@
"Thinking...": "Pensando...",
"This action cannot be undone. Do you wish to continue?": "Esta acción no se puede deshacer. ¿Desea continuar?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "Este canal fue creado el {{createdAt}}. Este es el comienzo del canal {{channelName}}.",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "Este chat no aparecerá en el historial y los mensajes no se guardarán.",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Esto garantiza que sus valiosas conversaciones se guardan de forma segura en tu base de datos del servidor trasero (backend). ¡Gracias!",
"This feature is currently experimental and may not work as expected.": "Acualmente esta característica es experimental y puede no funcionar como se espera.",
@ -2036,7 +2029,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "Esta opción establece el número máximo de tokens que el modelo puede generar en sus respuestas. Aumentar este límite permite al modelo proporcionar respuestas más largas, pero también puede aumentar la probabilidad de que se genere contenido inútil o irrelevante.",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "Esta opción eliminará todos los archivos existentes en la colección y los reemplazará con los nuevos archivos subidos.",
"This response was generated by \"{{model}}\"": "Esta respuesta fue generada por \"{{model}}\"",
"This turn": "",
"This will delete": "Esto eliminará",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "Esto eliminará <strong>{{NAME}}</strong> y <strong>todo su contenido</strong>.",
"This will delete all models including custom models": "Esto eliminará todos los modelos, incluidos los modelos personalizados",

View file

@ -338,8 +338,6 @@
"Citation": "Viide",
"Citations": "Viited",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Tühjenda mälu",
"Clear Memory": "Tühjenda mälu",
"Clear search": "Tühjenda otsing",
@ -1266,7 +1264,6 @@
"May": "Mai",
"MBR": "MBR",
"MCP": "MCP",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "MCP tugi on eksperimentaalne ja selle spetsifikatsioon muutub sageli, mis võib põhjustada ühildumatusi. OpenAPI spetsifikatsiooni tuge hooldab otseselt Open WebUI meeskond, muutes selle ühilduvuse jaoks usaldusväärsemaks valikuks.",
"Medium": "Keskmine",
@ -1555,11 +1552,8 @@
"Persistent": "",
"Personalization": "Isikupärastamine",
"Pin": "Kinnita",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "Kinnitatud",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "Kinnitatud sõnumid",
"Pinned Models": "Kinnitatud mudelid",
"Pioneer insights": "Pioneeri arusaamad",
@ -1812,7 +1806,7 @@
"Select model": "",
"Select only one model to call": "Valige ainult üks mudel kutsumiseks",
"Select view": "Vali vaade",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "Valitud mudel: {{modelName}}",
"Selected model(s) do not support image inputs": "Valitud mudel(id) ei toeta pilte sisendina",
"Selected Models": "Valitud mudelid",
@ -2018,7 +2012,6 @@
"Thinking...": "Mõtleb...",
"This action cannot be undone. Do you wish to continue?": "Seda toimingut ei saa tagasi võtta. Kas soovite jätkata?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "See kanal loodi {{createdAt}}. See on {{channelName}} kanali algus.",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "See vestlus ei ilmu ajaloos ja teie sõnumeid ei salvestata.",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "See tagab, et teie väärtuslikud vestlused salvestatakse turvaliselt teie tagarakenduse andmebaasi. Täname!",
"This feature is currently experimental and may not work as expected.": "See funktsioon on praegu eksperimentaalne ja ei pruugi toimida ootuspäraselt.",
@ -2033,7 +2026,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "See valik määrab maksimaalse tokenite arvu, mida mudel saab oma vastuses genereerida. Selle piirmäära suurendamine võimaldab mudelil anda pikemaid vastuseid, kuid võib suurendada ka ebavajaliku või ebaolulise sisu genereerimise tõenäosust.",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "See valik kustutab kõik olemasolevad failid kogust ja asendab need äsja üleslaaditud failidega.",
"This response was generated by \"{{model}}\"": "Selle vastuse genereeris \"{{model}}\"",
"This turn": "",
"This will delete": "See kustutab",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "See kustutab <strong>{{NAME}}</strong> ja <strong>kogu selle sisu</strong>.",
"This will delete all models including custom models": "See kustutab kõik mudelid, sealhulgas kohandatud mudelid",

View file

@ -338,8 +338,6 @@
"Citation": "Aipamena",
"Citations": "",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Garbitu memoria",
"Clear Memory": "",
"Clear search": "",
@ -1266,7 +1264,6 @@
"May": "Maiatza",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "",
@ -1555,11 +1552,8 @@
"Persistent": "",
"Personalization": "Pertsonalizazioa",
"Pin": "Ainguratu",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "Ainguratuta",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "Ikuspegi aitzindariak",
@ -1812,7 +1806,7 @@
"Select model": "",
"Select only one model to call": "Hautatu modelo bakarra deitzeko",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "Hautatutako modelo(e)k ez dute irudi sarrerarik onartzen",
"Selected Models": "",
@ -2018,7 +2012,6 @@
"Thinking...": "Pentsatzen...",
"This action cannot be undone. Do you wish to continue?": "Ekintza hau ezin da desegin. Jarraitu nahi duzu?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Honek zure elkarrizketa baliotsuak modu seguruan zure backend datu-basean gordeko direla ziurtatzen du. Eskerrik asko!",
"This feature is currently experimental and may not work as expected.": "",
@ -2033,7 +2026,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "Aukera honek bilduman dauden fitxategi guztiak ezabatuko ditu eta berriki kargatutako fitxategiekin ordezkatuko ditu.",
"This response was generated by \"{{model}}\"": "Erantzun hau \"{{model}}\" modeloak sortu du",
"This turn": "",
"This will delete": "Honek ezabatuko du",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "Honek <strong>{{NAME}}</strong> eta <strong>bere eduki guztiak</strong> ezabatuko ditu.",
"This will delete all models including custom models": "Honek modelo guztiak ezabatuko ditu, modelo pertsonalizatuak barne",

View file

@ -338,8 +338,6 @@
"Citation": "استناد",
"Citations": "ارجاعات",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "پاک کردن حافظه",
"Clear Memory": "پاک کردن حافظه",
"Clear search": "",
@ -1266,7 +1264,6 @@
"May": "ماهی",
"MBR": "",
"MCP": "MCP",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "پشتیبانی MCP آزمایشی است و مشخصات آن اغلب تغییر می\u200cکند، که می\u200cتواند منجر به ناسازگاری شود. پشتیبانی از مشخصات OpenAPI مستقیماً توسط تیم Open WebUI نگهداری می\u200cشود و آن را به گزینه قابل اعتماد\u200cتری برای سازگاری تبدیل می\u200cکند.",
"Medium": "متوسط",
@ -1555,11 +1552,8 @@
"Persistent": "",
"Personalization": "شخصی سازی",
"Pin": "پین کردن",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "پین شده",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "بینش\u200cهای پیشگام",
@ -1812,7 +1806,7 @@
"Select model": "",
"Select only one model to call": "تنها یک مدل را برای صدا زدن انتخاب کنید",
"Select view": "انتخاب نما",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "مدل) های (انتخاب شده ورودیهای تصویر را پشتیبانی نمیکند",
"Selected Models": "",
@ -2018,7 +2012,6 @@
"Thinking...": "در حال فکر کردن...",
"This action cannot be undone. Do you wish to continue?": "این عمل قابل بازگشت نیست. آیا می\u200cخواهید ادامه دهید؟",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "این کانال در {{createdAt}} ایجاد شد. این آغاز کانال {{channelName}} است.",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "این چت در تاریخچه ظاهر نمی\u200cشود و پیام\u200cهای شما ذخیره نخواهند شد.",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "این اطمینان می\u200cدهد که مکالمات ارزشمند شما به طور امن در پایگاه داده پشتیبان ذخیره می\u200cشوند. متشکریم!",
"This feature is currently experimental and may not work as expected.": "",
@ -2033,7 +2026,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "این گزینه حداکثر تعداد توکن\u200cهایی را که مدل می\u200cتواند در پاسخ خود تولید کند تنظیم می\u200cکند. افزایش این محدودیت به مدل اجازه می\u200cدهد پاسخ\u200cهای طولانی\u200cتری ارائه دهد، اما ممکن است احتمال تولید محتوای بی\u200cفایده یا نامربوط را نیز افزایش دهد.",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "این گزینه تمام فایل\u200cهای موجود در مجموعه را حذف کرده و با فایل\u200cهای جدید آپلود شده جایگزین می\u200cکند.",
"This response was generated by \"{{model}}\"": "این پاسخ توسط \"{{model}}\" تولید شده است",
"This turn": "",
"This will delete": "این حذف خواهد شد",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "این <strong>{{NAME}}</strong> و <strong>تمام محتویات آن</strong> را حذف خواهد کرد.",
"This will delete all models including custom models": "این همه مدل\u200cها از جمله مدل\u200cهای سفارشی را حذف خواهد کرد",

View file

@ -338,8 +338,6 @@
"Citation": "Lähdeviite",
"Citations": "Lähdeviitteet",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Tyhjennä muisti",
"Clear Memory": "Tyhjennä Muisti",
"Clear search": "Tyhjennä haku",
@ -1266,7 +1264,6 @@
"May": "toukokuu",
"MBR": "MBR",
"MCP": "MCP",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "MCP-tuki on kokeellinen ja sen määritykset muuttuvat usein, mikä voi johtaa yhteensopivuus ongelmiin. OpenAPI-määritysten tuesta vastaa suoraan Open WebUI -tiimi, joten se on luotettavampi vaihtoehto yhteensopivuuden kannalta.",
"Medium": "Keskitaso",
@ -1555,11 +1552,8 @@
"Persistent": "Pysyvä",
"Personalization": "Personointi",
"Pin": "Kiinnitä",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "Kiinnitetty",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "Kiinnitetyt viestit",
"Pinned Models": "Kiinnitetyt mallit",
"Pioneer insights": "Pioneerin oivalluksia",
@ -1812,7 +1806,7 @@
"Select model": "",
"Select only one model to call": "Valitse vain yksi malli kutsuttavaksi",
"Select view": "Valitse näkymä",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "Valittu malli: {{modelName}}",
"Selected model(s) do not support image inputs": "Valitut mallit eivät tue kuvasyötteitä",
"Selected Models": "Valitut mallit",
@ -2018,7 +2012,6 @@
"Thinking...": "Ajattelee...",
"This action cannot be undone. Do you wish to continue?": "Tätä toimintoa ei voi peruuttaa. Haluatko jatkaa?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "Tämä kanava on luotiin {{createdAt}}. Tämä on {{channelName}} kanavan alku.",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "Tämä keskustelu ei näy historiassa, eikä viestejäsi tallenneta.",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Tämä varmistaa, että arvokkaat keskustelusi tallennetaan turvallisesti backend-tietokantaasi. Kiitos!",
"This feature is currently experimental and may not work as expected.": "Tämä ominaisuus on tällä hetkellä kokeellinen eikä välttämättä toimi odotetulla tavalla.",
@ -2033,7 +2026,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "Tämä vaihtoehto asettaa mallin vastauksessaan luomien tokenien enimmäismäärän. Tämän rajan nostaminen antaa mallille mahdollisuuden tarjota pidempiä vastauksia, mutta se voi myös lisätä hyödyttömän tai epäolennaisen sisällön luomisen todennäköisyyttä.",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "Tämä vaihtoehto poistaa kaikki kokoelman nykyiset tiedostot ja korvaa ne uusilla ladatuilla tiedostoilla.",
"This response was generated by \"{{model}}\"": "Tämän vastauksen tuotti \"{{model}}\"",
"This turn": "",
"This will delete": "Tämä poistaa",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "Tämä poistaa <strong>{{NAME}}</strong> ja <strong>kaikki sen sisällöt</strong>.",
"This will delete all models including custom models": "Tämä poistaa kaikki mallit mukaan lukien mukautetut mallit",

View file

@ -339,8 +339,6 @@
"Citation": "Citation",
"Citations": "Citations",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Effacer la mémoire",
"Clear Memory": "Effacer la mémoire",
"Clear search": "",
@ -1267,7 +1265,6 @@
"May": "Mai",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "",
@ -1556,11 +1553,8 @@
"Persistent": "",
"Personalization": "Personnalisation",
"Pin": "Épingler",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "Épinglé",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "Explorer de nouvelles perspectives",
@ -1814,7 +1808,7 @@
"Select model": "",
"Select only one model to call": "Sélectionnez seulement un modèle pour appeler",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "Les modèle(s) sélectionné(s) ne prennent pas en charge les entrées d'images",
"Selected Models": "",
@ -2021,7 +2015,6 @@
"Thinking...": "En train de réfléchir...",
"This action cannot be undone. Do you wish to continue?": "Cette action ne peut pas être annulée. Souhaitez-vous continuer ?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "Ce canal a été créé le {{createdAt}}. Voici le tout début du canal {{channelName}}.",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "Cette conversation n'apparaîtra pas dans l'historique et vos messages ne seront pas enregistrés.",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Cela garantit que vos conversations précieuses soient sauvegardées en toute sécurité dans votre base de données backend. Merci !",
"This feature is currently experimental and may not work as expected.": "",
@ -2036,7 +2029,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "Cette option définit le nombre maximal de Token que le modèle peut générer dans sa réponse. Une valeur plus élevée permet des réponses plus longues, mais peut aussi générer du contenu moins pertinent.",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "Cette option supprimera tous les fichiers existants dans la collection et les remplacera par les fichiers nouvellement téléchargés.",
"This response was generated by \"{{model}}\"": "Cette réponse a été générée par \"{{model}}\"",
"This turn": "",
"This will delete": "Cela supprimera",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "Cela supprimera <strong>{{NAME}}</strong> et <strong>tout son contenu</strong>.",
"This will delete all models including custom models": "Cela supprimera tous les modèles, y compris les modèles personnalisés",

View file

@ -339,8 +339,6 @@
"Citation": "Citation",
"Citations": "Citations",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Effacer la mémoire",
"Clear Memory": "Effacer la mémoire",
"Clear search": "Effacer la recherche",
@ -1267,7 +1265,6 @@
"May": "Mai",
"MBR": "Membre",
"MCP": "MCP",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "Le support du MCP est expérimental et sa spécification évolue fréquemment, ce qui peut entraîner des incompatibilités. Le support de la spécification OpenAPI est directement maintenu par l'équipe Open WebUI, ce qui en fait l'option la plus fiable en termes de compatibilité.",
"Medium": "Moyen",
@ -1556,11 +1553,8 @@
"Persistent": "",
"Personalization": "Personnalisation",
"Pin": "Épingler",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "Épinglé",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "Messages épinglés",
"Pinned Models": "Modèles épinglés",
"Pioneer insights": "Explorer de nouvelles perspectives",
@ -1814,7 +1808,7 @@
"Select model": "",
"Select only one model to call": "Sélectionnez seulement un modèle pour appeler",
"Select view": "Sélectionner la vue",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "Modèle sélectionné : {{modelName}}",
"Selected model(s) do not support image inputs": "Les modèle(s) sélectionné(s) ne prennent pas en charge les entrées d'images",
"Selected Models": "Modèles sélectionnés par défaut",
@ -2021,7 +2015,6 @@
"Thinking...": "En train de réfléchir...",
"This action cannot be undone. Do you wish to continue?": "Cette action ne peut pas être annulée. Souhaitez-vous continuer ?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "Ce canal a été créé le {{createdAt}}. Voici le tout début du canal {{channelName}}.",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "Cette conversation n'apparaîtra pas dans l'historique et vos messages ne seront pas enregistrés.",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Cela garantit que vos conversations précieuses soient sauvegardées en toute sécurité dans votre base de données backend. Merci !",
"This feature is currently experimental and may not work as expected.": "Cette fonctionnalité est actuellement expérimentale et peut ne pas fonctionner comme prévu.",
@ -2036,7 +2029,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "Cette option définit le nombre maximal de tokens que le modèle peut générer dans sa réponse. Une valeur plus élevée permet des réponses plus longues, mais peut aussi générer du contenu moins pertinent.",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "Cette option supprimera tous les fichiers existants dans la collection et les remplacera par les fichiers nouvellement téléchargés.",
"This response was generated by \"{{model}}\"": "Cette réponse a été générée par \"{{model}}\"",
"This turn": "",
"This will delete": "Cela supprimera",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "Cela supprimera <strong>{{NAME}}</strong> et <strong>tout son contenu</strong>.",
"This will delete all models including custom models": "Cela supprimera tous les modèles, y compris les modèles personnalisés",

View file

@ -338,8 +338,6 @@
"Citation": "Cita",
"Citations": "",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Liberar memoria",
"Clear Memory": "Limpar memoria",
"Clear search": "",
@ -1266,7 +1264,6 @@
"May": "Mayo",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "",
@ -1555,11 +1552,8 @@
"Persistent": "",
"Personalization": "Personalización",
"Pin": "Fijar",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "Fijado",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "Descubrir novas perspectivas",
@ -1812,7 +1806,7 @@
"Select model": "",
"Select only one model to call": "Selecciona sólo un modelo para llamar",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "Os modelos seleccionados no admiten entradas de imaxen",
"Selected Models": "",
@ -2018,7 +2012,6 @@
"Thinking...": "Pensando...",
"This action cannot be undone. Do you wish to continue?": "Esta acción no se puede deshacer. ¿Desea continuar?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Esto garantiza que sus valiosas conversacions se guarden de forma segura en su base de datos no backend. ¡Gracias!",
"This feature is currently experimental and may not work as expected.": "",
@ -2033,7 +2026,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "Esta opción eliminará todos os arquivos existentes na colección y os reemplazará con novos arquivos subidos.",
"This response was generated by \"{{model}}\"": "Esta resposta fue generada por \"{{model}}\"",
"This turn": "",
"This will delete": "Esto eliminará",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "Esto eliminará <strong>{{NAME}}</strong> y <strong>todo su contido</strong>.",
"This will delete all models including custom models": "Esto eliminará todos os modelos, incluidos os modelos personalizados",

View file

@ -339,8 +339,6 @@
"Citation": "ציטוט",
"Citations": "",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "נקה זיכרון",
"Clear Memory": "נקה",
"Clear search": "",
@ -1267,7 +1265,6 @@
"May": "מאי",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "",
@ -1556,11 +1553,8 @@
"Persistent": "",
"Personalization": "תאור",
"Pin": "",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "",
@ -1814,7 +1808,7 @@
"Select model": "",
"Select only one model to call": "",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "דגמים נבחרים אינם תומכים בקלט תמונה",
"Selected Models": "",
@ -2021,7 +2015,6 @@
"Thinking...": "חושב...",
"This action cannot be undone. Do you wish to continue?": "",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "פעולה זו מבטיחה שהשיחות בעלות הערך שלך יישמרו באופן מאובטח במסד הנתונים העורפי שלך. תודה!",
"This feature is currently experimental and may not work as expected.": "",
@ -2036,7 +2029,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "",
"This response was generated by \"{{model}}\"": "",
"This turn": "",
"This will delete": "",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "",
"This will delete all models including custom models": "",

View file

@ -338,8 +338,6 @@
"Citation": "उद्धरण",
"Citations": "",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "",
"Clear Memory": "",
"Clear search": "",
@ -1266,7 +1264,6 @@
"May": "मेई",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "",
@ -1555,11 +1552,8 @@
"Persistent": "",
"Personalization": "पेरसनलाइज़मेंट",
"Pin": "",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "",
@ -1812,7 +1806,7 @@
"Select model": "",
"Select only one model to call": "",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "चयनित मॉडल छवि इनपुट का समर्थन नहीं करते हैं",
"Selected Models": "",
@ -2018,7 +2012,6 @@
"Thinking...": "",
"This action cannot be undone. Do you wish to continue?": "",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "यह सुनिश्चित करता है कि आपकी मूल्यवान बातचीत आपके बैकएंड डेटाबेस में सुरक्षित रूप से सहेजी गई है। धन्यवाद!",
"This feature is currently experimental and may not work as expected.": "",
@ -2033,7 +2026,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "",
"This response was generated by \"{{model}}\"": "",
"This turn": "",
"This will delete": "",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "",
"This will delete all models including custom models": "",

View file

@ -339,8 +339,6 @@
"Citation": "Citiranje",
"Citations": "",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Očisti memoriju",
"Clear Memory": "",
"Clear search": "",
@ -1267,7 +1265,6 @@
"May": "Svibanj",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "",
@ -1556,11 +1553,8 @@
"Persistent": "",
"Personalization": "Prilagodba",
"Pin": "",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "",
@ -1814,7 +1808,7 @@
"Select model": "",
"Select only one model to call": "Odaberite samo jedan model za poziv",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "Odabrani modeli ne podržavaju unose slika",
"Selected Models": "",
@ -2021,7 +2015,6 @@
"Thinking...": "Razmišljam",
"This action cannot be undone. Do you wish to continue?": "",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Ovo osigurava da su vaši vrijedni razgovori sigurno spremljeni u bazu podataka. Hvala vam!",
"This feature is currently experimental and may not work as expected.": "",
@ -2036,7 +2029,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "",
"This response was generated by \"{{model}}\"": "",
"This turn": "",
"This will delete": "",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "",
"This will delete all models including custom models": "",

View file

@ -338,8 +338,6 @@
"Citation": "Idézet",
"Citations": "",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Memória törlése",
"Clear Memory": "Memória törlése",
"Clear search": "",
@ -1266,7 +1264,6 @@
"May": "Május",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "",
@ -1555,11 +1552,8 @@
"Persistent": "",
"Personalization": "Személyre szabás",
"Pin": "Rögzítés",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "Rögzítve",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "Úttörő betekintések",
@ -1812,7 +1806,7 @@
"Select model": "",
"Select only one model to call": "Csak egy modellt válasszon ki hívásra",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "A kiválasztott modell(ek) nem támogatják a képbemenetet",
"Selected Models": "",
@ -2018,7 +2012,6 @@
"Thinking...": "Gondolkodik...",
"This action cannot be undone. Do you wish to continue?": "Ez a művelet nem vonható vissza. Szeretné folytatni?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "Ez a csatorna {{createdAt}} időpontban jött létre. Ez a {{channelName}} csatorna legeslegeleje.",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "Ez a csevegés nem jelenik meg az előzményekben, és az üzeneteid nem kerülnek mentésre.",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Ez biztosítja, hogy értékes beszélgetései biztonságosan mentésre kerüljenek a backend adatbázisban. Köszönjük!",
"This feature is currently experimental and may not work as expected.": "",
@ -2033,7 +2026,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "Ez az opció beállítja a modell által generálható tokenek maximális számát a válaszban. Ezen limit növelése hosszabb válaszokat tesz lehetővé, de növelheti a nem hasznos vagy irreleváns tartalom generálásának valószínűségét.",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "Ez az opció törli az összes meglévő fájlt a gyűjteményben és lecseréli őket az újonnan feltöltött fájlokkal.",
"This response was generated by \"{{model}}\"": "Ezt a választ a \"{{model}}\" generálta",
"This turn": "",
"This will delete": "Ez törölni fogja",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "Ez törölni fogja a <strong>{{NAME}}</strong>-t és <strong>minden tartalmát</strong>.",
"This will delete all models including custom models": "Ez törölni fogja az összes modellt, beleértve az egyéni modelleket is",

View file

@ -337,8 +337,6 @@
"Citation": "Kutipan",
"Citations": "",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Menghapus memori",
"Clear Memory": "",
"Clear search": "",
@ -1265,7 +1263,6 @@
"May": "Mei",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "",
@ -1554,11 +1551,8 @@
"Persistent": "",
"Personalization": "Personalisasi",
"Pin": "",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "",
@ -1810,7 +1804,7 @@
"Select model": "",
"Select only one model to call": "Pilih hanya satu model untuk dipanggil",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "Model yang dipilih tidak mendukung input gambar",
"Selected Models": "",
@ -2015,7 +2009,6 @@
"Thinking...": "Berpikir",
"This action cannot be undone. Do you wish to continue?": "Tindakan ini tidak dapat dibatalkan. Apakah Anda ingin melanjutkan?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Ini akan memastikan bahwa percakapan Anda yang berharga disimpan dengan aman ke basis data backend. Terima kasih!",
"This feature is currently experimental and may not work as expected.": "",
@ -2030,7 +2023,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "",
"This response was generated by \"{{model}}\"": "",
"This turn": "",
"This will delete": "Ini akan menghapus",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "",
"This will delete all models including custom models": "",

View file

@ -338,8 +338,6 @@
"Citation": "Lua",
"Citations": "Comhlua",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Cuimhne ghlan",
"Clear Memory": "Glan Cuimhne",
"Clear search": "Glan an cuardach",
@ -1266,7 +1264,6 @@
"May": "Bealtaine",
"MBR": "MBR",
"MCP": "MCP",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "Is turgnamhach tacaíocht MCP agus athraítear a shonraíocht go minic, rud a d’fhéadfadh neamh-chomhoiriúnachtaí a bheith mar thoradh air. Déanann foireann Open WebUI cothabháil dhíreach ar thacaíocht sonraíochta OpenAPI, rud a fhágann gurb é an rogha is iontaofa é le haghaidh comhoiriúnachta.",
"Medium": "Meánach",
@ -1555,11 +1552,8 @@
"Persistent": "Dianseasmhach",
"Personalization": "Pearsantú",
"Pin": "Bioráin",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "Bioránaithe",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "Teachtaireachtaí Bioránaithe",
"Pinned Models": "Samhlacha Bioránaithe",
"Pioneer insights": "Léargais ceannródaí",
@ -1812,7 +1806,7 @@
"Select model": "Roghnaigh samhail",
"Select only one model to call": "Roghnaigh samhail amháin le glaoch",
"Select view": "Roghnaigh radharc",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "Samhail roghnaithe: {{modelName}}",
"Selected model(s) do not support image inputs": "Ní thacaíonn an/na samhlacha roghnaithe le hionchuir íomhá",
"Selected Models": "Samhlacha Roghnaithe",
@ -2018,7 +2012,6 @@
"Thinking...": "Ag smaoineamh...",
"This action cannot be undone. Do you wish to continue?": "Ní féidir an gníomh seo a chur ar ais. Ar mhaith leat leanúint ar aghaidh?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "Cruthaíodh an cainéal seo ar {{createdAt}}. Seo tús an chainéil {{channelName}}.",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "Ní bheidh an comhrá seo le feiceáil sa stair agus ní shábhálfar do theachtaireachtaí.",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Cinntíonn sé seo go sábhálfar do chomhráite luachmhara go daingean i do bhunachar sonraí cúltaca Go raibh maith agat!",
"This feature is currently experimental and may not work as expected.": "Tá an ghné seo turgnamhach faoi láthair agus b'fhéidir nach n-oibreoidh sí mar a bhíothas ag súil leis.",
@ -2033,7 +2026,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "Socraíonn an rogha seo an t-uaslíon comharthaí is féidir leis an tsamhail a ghiniúint ina fhreagra. Tríd an teorainn seo a mhéadú is féidir leis an tsamhail freagraí níos faide a sholáthar, ach d'fhéadfadh go méadódh sé an dóchúlacht go nginfear ábhar neamhchabhrach nó nach mbaineann le hábhar.",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "Scriosfaidh an rogha seo gach comhad atá sa bhailiúchán agus cuirfear comhaid nua-uaslódála ina n-ionad.",
"This response was generated by \"{{model}}\"": "Gin an freagra seo ag \"{{model}}\"",
"This turn": "",
"This will delete": "Scriosfaidh sé seo",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "Scriosfaidh sé seo <strong>{{NAME}}</strong> agus <strong>a bhfuil ann go léir</strong>.",
"This will delete all models including custom models": "Scriosfaidh sé seo gach samhail lena n-áirítear samhlacha saincheaptha",

View file

@ -339,8 +339,6 @@
"Citation": "Citazione",
"Citations": "Citazioni",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Cancella memoria",
"Clear Memory": "Cancella memoria",
"Clear search": "",
@ -1267,7 +1265,6 @@
"May": "Maggio",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "",
@ -1556,11 +1553,8 @@
"Persistent": "",
"Personalization": "Personalizzazione",
"Pin": "Appunta",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "Appuntato",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "Scopri nuove intuizioni",
@ -1814,7 +1808,7 @@
"Select model": "",
"Select only one model to call": "Seleziona solo un modello da chiamare",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "I modelli selezionati non supportano l'input di immagini",
"Selected Models": "",
@ -2021,7 +2015,6 @@
"Thinking...": "Sto pensando...",
"This action cannot be undone. Do you wish to continue?": "Questa azione non può essere annullata. Vuoi continuare?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "Questo canale è stato creato il {{createdAt}}. Questo è l'inizio del canale {{channelName}}.",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "Questa chat non apparirà nella cronologia e i tuoi messaggi non verranno salvati.",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Ciò garantisce che le tue preziose conversazioni siano salvate in modo sicuro nel tuo database backend. Grazie!",
"This feature is currently experimental and may not work as expected.": "",
@ -2036,7 +2029,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "Questa opzione imposta il numero massimo di token che il modello può generare nella sua risposta. Aumentare questo limite consente al modello di fornire risposte più lunghe, ma potrebbe anche aumentare la probabilità che vengano generati contenuti non utili o irrilevanti.",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "Questa opzione eliminerà tutti i file esistenti nella collezione e li sostituirà con i file appena caricati.",
"This response was generated by \"{{model}}\"": "Questa risposta è stata generata da \"{{model}}\"",
"This turn": "",
"This will delete": "Questa opzione eliminerà",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "Questa opzione eliminerà <strong>{{NAME}}</strong> e <strong>tutti i suoi contenuti</strong>.",
"This will delete all models including custom models": "Questa opzione eliminerà tutti i modelli, compresi i modelli personalizzati",

View file

@ -337,8 +337,6 @@
"Citation": "引用",
"Citations": "引用",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "メモリをクリア",
"Clear Memory": "メモリをクリア",
"Clear search": "",
@ -1265,7 +1263,6 @@
"May": "5月",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "中",
@ -1554,11 +1551,8 @@
"Persistent": "",
"Personalization": "パーソナライズ",
"Pin": "ピン留め",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "ピン留めされています",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "洞察を切り開く",
@ -1810,7 +1804,7 @@
"Select model": "モデルを選択",
"Select only one model to call": "1つのモデルを呼び出すには、1つのモデルを選択してください。",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "一部のモデルは画像入力をサポートしていません",
"Selected Models": "",
@ -2015,7 +2009,6 @@
"Thinking...": "思考中...",
"This action cannot be undone. Do you wish to continue?": "このアクションは取り消し不可です。続けますか?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "このチャンネルは{{createdAt}}に作成されました。これは{{channelName}}チャンネルの始まりです。",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "このチャットは履歴に表示されず、メッセージは保存されません。",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "これは、貴重な会話がバックエンドデータベースに安全に保存されることを保証します。ありがとうございます!",
"This feature is currently experimental and may not work as expected.": "",
@ -2030,7 +2023,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "このオプションは、モデルが生成できるトークンの最大数を設定します。この制限を増加すると、モデルはより長い回答を生成できるようになりますが、不適切な内容や関連性の低い内容が生成される可能性も高まります。",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "このオプションを有効にすると、コレクション内の既存ファイルがすべて削除され、新たにアップロードしたファイルに置き換わります。",
"This response was generated by \"{{model}}\"": "このレスポンスは\"{{model}}\"によって生成されました。",
"This turn": "",
"This will delete": "削除します",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "これは<strong>{{NAME}}</strong>とその<strong>すべての内容</strong>を削除します。",
"This will delete all models including custom models": "これはカスタムモデルを含むすべてのモデルを削除します",

View file

@ -338,8 +338,6 @@
"Citation": "ციტატა",
"Citations": "ციტატები",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "მეხსიერების გასუფთავება",
"Clear Memory": "მეხსიერების გასუფთავება",
"Clear search": "",
@ -1266,7 +1264,6 @@
"May": "მაისი",
"MBR": "",
"MCP": "MCP",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "საშუალო",
@ -1555,11 +1552,8 @@
"Persistent": "",
"Personalization": "პერსონალიზაცია",
"Pin": "მიმაგრება",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "მიმაგრებულია",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "",
@ -1812,7 +1806,7 @@
"Select model": "",
"Select only one model to call": "",
"Select view": "აირჩიეთ ხედი",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "მონიშნულ მოდელებს გამოსახულების შეყვანის მხარდაჭერა არ გააჩნიათ",
"Selected Models": "",
@ -2018,7 +2012,6 @@
"Thinking...": "ვფიქრობ...",
"This action cannot be undone. Do you wish to continue?": "",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "ეს უზრუნველყოფს, რომ თქვენი ღირებული საუბრები უსაფრთხოდ შეინახება თქვენს უკანაბოლო მონაცემთა ბაზაში. მადლობა!",
"This feature is currently experimental and may not work as expected.": "",
@ -2033,7 +2026,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "",
"This response was generated by \"{{model}}\"": "",
"This turn": "",
"This will delete": "ეს წაშლის",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "",
"This will delete all models including custom models": "",

View file

@ -338,8 +338,6 @@
"Citation": "Tanebdurt",
"Citations": "Tinebdurin",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Sfeḍ takatut",
"Clear Memory": "Sfeḍ takatut",
"Clear search": "",
@ -1266,7 +1264,6 @@
"May": "Mayyu",
"MBR": "",
"MCP": "MCP",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "",
@ -1555,11 +1552,8 @@
"Persistent": "",
"Personalization": "Asagen",
"Pin": "Senteḍ",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "Yettwasenteḍ",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "",
@ -1812,7 +1806,7 @@
"Select model": "",
"Select only one model to call": "Fren yiwet kan n tmudemt i wara d-siwleḍ",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "Ammud(s) yettwafernen ur yessefrak ara inekcamen n tugniwin yettwafernen",
"Selected Models": "",
@ -2018,7 +2012,6 @@
"Thinking...": "Yettxemmim…",
"This action cannot be undone. Do you wish to continue?": "Tigawt-a ur tettwakkes ara. Tebɣiḍ ad tkemmleḍ?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "Abadu-a yettwasnulaf-d deg {{created} Ɣef}}. D ta i d tazwara maḍi n ubadu {{channelName}}.",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "Aqeṣṣer-a ur d-yettban deg umezruy yerna iznan-nnek ur ttwaselkamen.",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "D ayen ara yeǧǧen adiwenni-inek s wazal-is ad yettwasellek s tɣellist deg taffa n yisefka-inek n deffir. Tanemmirt!",
"This feature is currently experimental and may not work as expected.": "",
@ -2033,7 +2026,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "",
"This response was generated by \"{{model}}\"": "Tiririt-a teslal-itt-id \"{model}}\"",
"This turn": "",
"This will delete": "Aya ad yekkes",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "Aya ad yekkes <strong>{NAME}}</strong> akked <strong> akk ayen yellan deg-s</strong>.",
"This will delete all models including custom models": "Aya ad yekkes akk timudmin yellan gar-asent timudmin n tannumi",

View file

@ -9,7 +9,7 @@
"[Today at] h:mm A": "[오늘] A h:mm",
"[Yesterday at] h:mm A": "[어제] A h:mm",
"{{ models }}": "{{ models }}",
"{{COUNT}} argument(s)": "",
"{{COUNT}} argument(s)": "인자 {{COUNT}}개",
"{{COUNT}} Available Tools": "사용 가능한 도구 {{COUNT}}개",
"{{COUNT}} characters": "{{COUNT}} 문자",
"{{COUNT}} extracted lines": "추출된 줄 {{COUNT}}개",
@ -336,9 +336,7 @@
"Ciphers": "암호",
"Citation": "인용",
"Citations": "인용",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear MCP prompt selection": "MCP 프롬프트 선택 해제",
"Clear memory": "메모리 초기화",
"Clear Memory": "메모리 지우기",
"Clear search": "",
@ -1265,8 +1263,7 @@
"May": "5월",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP Prompts": "MCP 프롬프트",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "MCP 지원은 실험적이며 명세가 자주 변경되므로, 호환성 문제가 발생할 수 있습니다. Open WebUI 팀이 OpenAPI 명세 지원을 직접 유지·관리하고 있어, 호환성 측면에서는 더 신뢰할 수 있는 선택입니다.",
"Medium": "",
"Member removed successfully": "멤버 삭제에 성공했습니다",
@ -1411,7 +1408,7 @@
"No knowledge bases found.": "",
"No knowledge found": "지식 기반을 찾을 수 없습니다",
"No limit": "",
"No MCP prompts are available for this server.": "",
"No MCP prompts are available for this server.": "이 서버에서 사용할 수 있는 MCP 프롬프트가 없습니다.",
"No memories to clear": "메모리를 정리할 수 없습니다",
"No model IDs": "모델 ID가 없습니다",
"No models available": "",
@ -1554,11 +1551,8 @@
"Persistent": "",
"Personalization": "개인화",
"Pin": "고정",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "고정됨",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "고정된 메시지",
"Pinned Models": "",
"Pioneer insights": "혁신적인 발견",
@ -1805,12 +1799,12 @@
"Select Engine": "엔진 선택",
"Select how to split message text for TTS requests": "TTS 요청에 대한 메시지 텍스트 분할 방법 선택",
"Select Knowledge": "지식 기반 선택",
"Select MCP Prompt": "",
"Select MCP Prompt": "MCP 프롬프트 선택",
"Select Method": "",
"Select model": "",
"Select only one model to call": "음성 기능을 위해서는 모델을 하나만 선택해야 합니다.",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "선택된 MCP 프롬프트: {{prompt}}",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "선택한 모델은 이미지 입력을 지원하지 않습니다.",
"Selected Models": "",
@ -2015,7 +2009,6 @@
"Thinking...": "생각 중...",
"This action cannot be undone. Do you wish to continue?": "이 행동은 되돌릴 수 없습니다. 계속 하시겠습니까?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "{{createdAt}}에 {{channelName}} 채널이 처음 만들어졌습니다. 대화를 시작해보세요.",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "이 채팅은 기록에 나타나지 않으며 메시지가 저장되지 않습니다.",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "이렇게 하면 소중한 대화 내용이 백엔드 데이터베이스에 안전하게 저장됩니다. 감사합니다!",
"This feature is currently experimental and may not work as expected.": "",
@ -2030,7 +2023,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "이 옵션은 모델이 응답에서 생성할 수 있는 최대 토큰 수를 설정합니다. 이 한도를 늘리면 모델이 더 긴 답변을 제공할 수 있지만, 도움이 되지 않거나 관련 없는 콘텐츠가 생성될 가능성도 높아질 수 있습니다.",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "이 옵션을 선택하면 기존 컬렉션의 모든 파일이 삭제되고, 새로 업로드된 파일로 대체됩니다.",
"This response was generated by \"{{model}}\"": "\"{{model}}\"이 생성한 응답입니다",
"This turn": "",
"This will delete": "삭제합니다.",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "<strong>{{NAME}}</strong> 와 <strong>모든 내용</strong>을 삭제합니다.",
"This will delete all models including custom models": "이렇게 하면 사용자 지정 모델을 포함한 모든 모델이 삭제됩니다",

View file

@ -340,8 +340,6 @@
"Citation": "Citata",
"Citations": "",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Ištrinti atmintį",
"Clear Memory": "",
"Clear search": "",
@ -1268,7 +1266,6 @@
"May": "gegužė",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "",
@ -1557,11 +1554,8 @@
"Persistent": "",
"Personalization": "Personalizacija",
"Pin": "Smeigtukas",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "Įsmeigta",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "",
@ -1816,7 +1810,7 @@
"Select model": "",
"Select only one model to call": "Pasirinkite vieną modelį",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "Pasirinkti modeliai nepalaiko vaizdinių užklausų",
"Selected Models": "",
@ -2024,7 +2018,6 @@
"Thinking...": "Mąsto...",
"This action cannot be undone. Do you wish to continue?": "Šis veiksmas negali būti atšauktas. Ar norite tęsti?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Tai užtikrina, kad Jūsų pokalbiai saugiai saugojami duomenų bazėje. Ačiū!",
"This feature is currently experimental and may not work as expected.": "",
@ -2039,7 +2032,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "",
"This response was generated by \"{{model}}\"": "",
"This turn": "",
"This will delete": "Tai ištrins",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "",
"This will delete all models including custom models": "",

View file

@ -339,8 +339,6 @@
"Citation": "Citāts",
"Citations": "Citāti",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Notīrīt atmiņu",
"Clear Memory": "Notīrīt atmiņu",
"Clear search": "",
@ -1267,7 +1265,6 @@
"May": "Maijs",
"MBR": "MBR",
"MCP": "MCP",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "MCP atbalsts ir eksperimentāls un tā specifikācija bieži mainās, kas var novest pie nesaderības. OpenAPI specifikācijas atbalstu tieši uztur Open WebUI komanda, padarot to par uzticamāku opciju saderībai.",
"Medium": "Vidējs",
@ -1556,11 +1553,8 @@
"Persistent": "",
"Personalization": "Personalizācija",
"Pin": "Piespraust",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "Piesprausts",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "Piespraustie ziņojumi",
"Pinned Models": "",
"Pioneer insights": "Pionieriskas atziņas",
@ -1814,7 +1808,7 @@
"Select model": "",
"Select only one model to call": "Izvēlieties tikai vienu modeli izsaukšanai",
"Select view": "Izvēlieties skatu",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "Izvēlētais(-ie) modelis(-i) neatbalsta attēlu ievades",
"Selected Models": "",
@ -2021,7 +2015,6 @@
"Thinking...": "Domā...",
"This action cannot be undone. Do you wish to continue?": "Šo darbību nevar atsaukt. Vai vēlaties turpināt?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "Šis kanāls tika izveidots {{createdAt}}. Šis ir paša sākums {{channelName}} kanālam.",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "Šī tērzēšana neparādīsies vēsturē un jūsu ziņojumi netiks saglabāti.",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Tas nodrošina, ka jūsu vērtīgās sarunas tiek droši saglabātas jūsu aizmugursistēmas datubāzē. Paldies!",
"This feature is currently experimental and may not work as expected.": "",
@ -2036,7 +2029,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "Šī opcija iestata maksimālo tokenu skaitu, ko modelis var ģenerēt savā atbildē. Šī ierobežojuma palielināšana ļauj modelim sniegt garākas atbildes, bet var arī palielināt nevēlama vai neatbilstoša satura ģenerēšanas iespējamību.",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "Šī opcija dzēsīs visus esošos failus kolekcijā un aizstās tos ar jaunaugšupielādētiem failiem.",
"This response was generated by \"{{model}}\"": "Šo atbildi ģenerēja \"{{model}}\"",
"This turn": "",
"This will delete": "Tas dzēsīs",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "Tas dzēsīs <strong>{{NAME}}</strong> un <strong>visu tā saturu</strong>.",
"This will delete all models including custom models": "Tas dzēsīs visus modeļus, ieskaitot pielāgotos modeļus",

View file

@ -337,8 +337,6 @@
"Citation": "Petikan",
"Citations": "Petikan",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Kosongkan memori",
"Clear Memory": "Padam Memori",
"Clear search": "Padam carian",
@ -1265,7 +1263,6 @@
"May": "Mei",
"MBR": "MBR",
"MCP": "MCP",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "Sokongan MCP adalah eksperimental dan spesifikasinya kerap berubah, yang boleh menyebabkan ketidakserasian. Sokongan spesifikasi OpenAPI dikekalkan secara langsung oleh pasukan Open WebUI, menjadikannya pilihan yang lebih boleh dipercayai untuk keserasian.",
"Medium": "Sederhana",
@ -1554,11 +1551,8 @@
"Persistent": "",
"Personalization": "Personalisasi",
"Pin": "Pin",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "Disemat",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "Mesej Disematkan",
"Pinned Models": "Model Tersapu",
"Pioneer insights": "Panduan Pelopor",
@ -1810,7 +1804,7 @@
"Select model": "",
"Select only one model to call": "Pilih hanya satu model untuk dipanggil",
"Select view": "Pilih paparan",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "Model terpilih: {{modelName}}",
"Selected model(s) do not support image inputs": "Model dipilih tidak menyokong input imej",
"Selected Models": "Model Terpilih",
@ -2015,7 +2009,6 @@
"Thinking...": "Berfikir...",
"This action cannot be undone. Do you wish to continue?": "Tindakan ini tidak boleh diubah semula kepada asal. Adakah anda ingin teruskan",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "Saluran ini telah diwujudkan pada {{createdAt}}. Ini adalah permulaan saluran {{channelName}}.",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "Perbualan ini tidak akan dipaparkan dalam sejarah dan mesej anda tidak akan disimpan.",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Ini akan memastikan bahawa perbualan berharga anda disimpan dengan selamat ke pangkalan data 'backend' anda. Terima kasih!",
"This feature is currently experimental and may not work as expected.": "Ciri ini sedang dalam peringkat eksperimental dan mungkin tidak berfungsi seperti yang dijangkakan.",
@ -2030,7 +2023,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "Pilihan ini menetapkan bilangan maksimum token yang boleh dijana oleh model dalam responsnya. Meningkatkan had ini membenarkan model memberikan jawapan yang lebih panjang, tetapi ia juga mungkin meningkatkan kemungkinan kandungan yang tidak berguna atau tidak relevan dijana.",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "Pilihan ini akan memadamkan semua fail sedia ada dalam koleksi dan menggantinya dengan fail yang baru dimuat naik.",
"This response was generated by \"{{model}}\"": "Respons ini dijana oleh \"{{model}}\"",
"This turn": "",
"This will delete": "Ini akan memadam",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "Ini akan memadam <strong>{{NAME}}</strong> dan <strong>semua kandungannya</strong>.",
"This will delete all models including custom models": "Ini akan memadam semua model termasuk model tersuai",

View file

@ -338,8 +338,6 @@
"Citation": "Kildehenvisning",
"Citations": "",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Tøm minnet",
"Clear Memory": "",
"Clear search": "",
@ -1266,7 +1264,6 @@
"May": "mai",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "",
@ -1555,11 +1552,8 @@
"Persistent": "",
"Personalization": "Tilpassing",
"Pin": "Fest",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "Festet",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "Nyskapende innsikt",
@ -1812,7 +1806,7 @@
"Select model": "",
"Select only one model to call": "Velg bare én modell som skal kalles",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "Valgte modell(er) støtter ikke bildeinndata",
"Selected Models": "",
@ -2018,7 +2012,6 @@
"Thinking...": "Tenker ...",
"This action cannot be undone. Do you wish to continue?": "Denne handlingen kan ikke angres. Vil du fortsette?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Dette sikrer at de verdifulle samtalene dine lagres sikkert i backend-databasen din. Takk!",
"This feature is currently experimental and may not work as expected.": "",
@ -2033,7 +2026,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "Dette alternativet sletter alle eksisterende filer i samlingen og erstatter dem med nyopplastede filer.",
"This response was generated by \"{{model}}\"": "Dette svaret er generert av \"{{modell}}\"",
"This turn": "",
"This will delete": "Dette sletter",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "Dette sletter <strong>{{NAME}}</strong> og <strong>alt innholdet</strong>.",
"This will delete all models including custom models": "Dette sletter alle modeller, inkludert tilpassede modeller",

View file

@ -338,8 +338,6 @@
"Citation": "Citaat",
"Citations": "Citaten",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Geheugen wissen",
"Clear Memory": "Geheugen wissen",
"Clear search": "",
@ -1266,7 +1264,6 @@
"May": "Mei",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "",
@ -1555,11 +1552,8 @@
"Persistent": "",
"Personalization": "Personalisatie",
"Pin": "Zet vast",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "Vastgezet",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "Verken inzichten",
@ -1812,7 +1806,7 @@
"Select model": "",
"Select only one model to call": "Selecteer maar één model om aan te roepen",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "Geselecteerde modellen ondersteunen geen beeldinvoer",
"Selected Models": "",
@ -2018,7 +2012,6 @@
"Thinking...": "Aan het denken...",
"This action cannot be undone. Do you wish to continue?": "Deze actie kan niet ongedaan worden gemaakt. Wilt u doorgaan?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "Dit kanaal is aangemaakt op {{createdAt}}. Dit is het begin van het kanaal {{channelName}}.",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Dit zorgt ervoor dat je waardevolle gesprekken veilig worden opgeslagen in je backend database. Dank je wel!",
"This feature is currently experimental and may not work as expected.": "",
@ -2033,7 +2026,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "Deze optie stelt het maximum aantal tokens in dat het model kan genereren in zijn antwoord. Door deze limiet te verhogen, kan het model langere antwoorden geven, maar het kan ook de kans vergroten dat er onbehulpzame of irrelevante inhoud wordt gegenereerd.",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "Deze optie verwijdert alle bestaande bestanden in de collectie en vervangt ze door nieuw geüploade bestanden.",
"This response was generated by \"{{model}}\"": "Dit antwoord is gegenereerd door \"{{model}}\"",
"This turn": "",
"This will delete": "Dit zal verwijderen",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "Dit zal <strong>{{NAME}}</strong> verwijderen en <strong>al zijn inhoud</strong>.",
"This will delete all models including custom models": "Dit zal alle modellen, ook aangepaste modellen, verwijderen",

View file

@ -338,8 +338,6 @@
"Citation": "ਹਵਾਲਾ",
"Citations": "",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "",
"Clear Memory": "",
"Clear search": "",
@ -1266,7 +1264,6 @@
"May": "ਮਈ",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "",
@ -1555,11 +1552,8 @@
"Persistent": "",
"Personalization": "ਪਰਸੋਨਲਿਸ਼ਮ",
"Pin": "",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "",
@ -1812,7 +1806,7 @@
"Select model": "",
"Select only one model to call": "",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "ਚੁਣੇ ਗਏ ਮਾਡਲ(ਆਂ) ਚਿੱਤਰ ਇਨਪੁੱਟਾਂ ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦੇ",
"Selected Models": "",
@ -2018,7 +2012,6 @@
"Thinking...": "",
"This action cannot be undone. Do you wish to continue?": "",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਤੁਹਾਡੀਆਂ ਕੀਮਤੀ ਗੱਲਾਂ ਤੁਹਾਡੇ ਬੈਕਐਂਡ ਡਾਟਾਬੇਸ ਵਿੱਚ ਸੁਰੱਖਿਅਤ ਤੌਰ 'ਤੇ ਸੰਭਾਲੀਆਂ ਗਈਆਂ ਹਨ। ਧੰਨਵਾਦ!",
"This feature is currently experimental and may not work as expected.": "",
@ -2033,7 +2026,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "",
"This response was generated by \"{{model}}\"": "",
"This turn": "",
"This will delete": "",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "",
"This will delete all models including custom models": "",

View file

@ -340,8 +340,6 @@
"Citation": "Cytat",
"Citations": "Cytaty",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Wyczyść pamięć",
"Clear Memory": "Wyczyść pamięć",
"Clear search": "",
@ -1268,7 +1266,6 @@
"May": "Maj",
"MBR": "MBR",
"MCP": "MCP",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "Wsparcie MCP jest eksperymentalne i może powodować niekompatybilność. Wsparcie OpenAPI jest utrzymywane przez zespół Open WebUI i jest bardziej niezawodne.",
"Medium": "Średni",
@ -1557,11 +1554,8 @@
"Persistent": "",
"Personalization": "Personalizacja",
"Pin": "Przypnij",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "Przypięte",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "Przypięte wiadomości",
"Pinned Models": "",
"Pioneer insights": "Przełomowe wnioski",
@ -1816,7 +1810,7 @@
"Select model": "",
"Select only one model to call": "Wybierz tylko jeden model do wywołania",
"Select view": "Wybierz widok",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "Wybrane modele nie obsługują obrazów",
"Selected Models": "",
@ -2024,7 +2018,6 @@
"Thinking...": "Myślę...",
"This action cannot be undone. Do you wish to continue?": "Tej akcji nie można cofnąć. Kontynuować?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "Ten kanał utworzono {{createdAt}}. To początek kanału {{channelName}}.",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "Ten czat nie pojawi się w historii, a wiadomości nie zostaną zapisane.",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "To zapewnia bezpieczny zapis rozmów w bazie danych. Dziękujemy!",
"This feature is currently experimental and may not work as expected.": "",
@ -2039,7 +2032,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "Ustawia maksymalną liczbę tokenów w odpowiedzi. Zwiększenie pozwala na dłuższe odpowiedzi.",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "Ta opcja usunie wszystkie pliki z kolekcji i zastąpi nowymi.",
"This response was generated by \"{{model}}\"": "Odpowiedź wygenerowana przez \"{{model}}\"",
"This turn": "",
"This will delete": "To usunie",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "To usunie <strong>{{NAME}}</strong> i <strong>całą zawartość</strong>.",
"This will delete all models including custom models": "To usunie wszystkie modele (w tym własne).",

View file

@ -339,8 +339,6 @@
"Citation": "Citação",
"Citations": "Citações",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Limpar memória",
"Clear Memory": "Limpar Memória",
"Clear search": "Limpar pesquisa",
@ -1267,7 +1265,6 @@
"May": "Maio",
"MBR": "MBR",
"MCP": "MCP",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "O suporte ao MCP é experimental e suas especificações mudam com frequência, o que pode levar a incompatibilidades. O suporte à especificação OpenAPI é mantido diretamente pela equipe do Open WebUI, tornando-o a opção mais confiável para compatibilidade.",
"Medium": "Médio",
@ -1556,11 +1553,8 @@
"Persistent": "Persistente",
"Personalization": "Personalização",
"Pin": "Fixar",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "Fixar na barra lateral",
"Pinned": "Fixado",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "Mensagens fixadas",
"Pinned Models": "Modelos Fixados",
"Pioneer insights": "Insights pioneiros",
@ -1814,7 +1808,7 @@
"Select model": "Selecione o modelo",
"Select only one model to call": "Selecione apenas um modelo para chamar",
"Select view": "Selecionar visualização",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "Modelo selecionado: {{modelName}}",
"Selected model(s) do not support image inputs": "Modelo(s) selecionado(s) não suportam entradas de imagem",
"Selected Models": "Modelos Selecionados",
@ -2021,7 +2015,6 @@
"Thinking...": "Pensando...",
"This action cannot be undone. Do you wish to continue?": "Esta ação não pode ser desfeita. Você deseja continuar?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "Este canal foi criado em {{createdAt}}. Este é o início do canal {{channelName}}.",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "Este chat não aparecerá no histórico e suas mensagens não serão salvas.",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Isso garante que suas conversas valiosas sejam salvas com segurança no banco de dados do backend. Obrigado!",
"This feature is currently experimental and may not work as expected.": "Esta funcionalidade encontra-se atualmente em fase experimental e poderá não funcionar conforme o esperado.",
@ -2036,7 +2029,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "Esta opção define o número máximo de tokens que o modelo pode gerar em sua resposta. Aumentar esse limite permite que o modelo forneça respostas mais longas, mas também pode aumentar a probabilidade de geração de conteúdo inútil ou irrelevante.",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "Essa opção deletará todos os arquivos existentes na coleção e todos eles serão substituídos.",
"This response was generated by \"{{model}}\"": "Esta resposta foi gerada por \"{{model}}\"",
"This turn": "",
"This will delete": "Isso vai excluir",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "Esta ação excluirá <strong>{{NAME}}</strong> e <strong>todos seus conteúdos</strong>.",
"This will delete all models including custom models": "Isto vai excluir todos os modelos, incluindo personalizados",

View file

@ -339,8 +339,6 @@
"Citation": "Citação",
"Citations": "Citações",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Limpar memória",
"Clear Memory": "Limpar Memória",
"Clear search": "Limpar pesquisa",
@ -1267,7 +1265,6 @@
"May": "Maio",
"MBR": "MBR",
"MCP": "MCP",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "O suporte MCP é experimental e sua especificação muda frequentemente, o que pode levar a incompatibilidades. O suporte à especificação OpenAPI é mantido diretamente pela equipe Open WebUI, tornando-o a opção mais confiável para compatibilidade.",
"Medium": "Médio",
@ -1556,11 +1553,8 @@
"Persistent": "",
"Personalization": "Personalização",
"Pin": "Fixar",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "Fixado",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "Mensagens Fixadas",
"Pinned Models": "Modelos Fixados",
"Pioneer insights": "Insights Pioneiros",
@ -1814,7 +1808,7 @@
"Select model": "",
"Select only one model to call": "Selecione apenas um modelo para a chamada",
"Select view": "Selecione a visualização",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "Modelo selecionado: {{modelName}}",
"Selected model(s) do not support image inputs": "O(s) modelo(s) selecionado(s) não suporta(m) entradas de imagem",
"Selected Models": "Modelos Selecionados",
@ -2021,7 +2015,6 @@
"Thinking...": "A pensar...",
"This action cannot be undone. Do you wish to continue?": "Esta ação não pode ser desfeita. Deseja continuar?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "Este canal foi criado em {{createdAt}}. Este é o início do canal {{channelName}}.",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "Esta conversa não aparecerá no histórico e suas mensagens não serão salvas.",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Isto garante que suas conversas valiosas sejam guardadas com segurança na sua base de dados de backend. Obrigado!",
"This feature is currently experimental and may not work as expected.": "Este recurso é atualmente experimental e pode não funcionar conforme o esperado.",
@ -2036,7 +2029,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "Esta opção define o número máximo de tokens que o modelo pode gerar em sua resposta. Aumentar esse limite permite que o modelo forneça respostas mais longas, mas também pode aumentar a probabilidade de conteúdo inútil ou irrelevante ser gerado.",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "Esta opção irá excluir todos os arquivos existentes na coleção e substituí-los por arquivos recém-carregados.",
"This response was generated by \"{{model}}\"": "Esta resposta foi gerada por \"{{model}}\"",
"This turn": "",
"This will delete": "Isto irá excluir",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "Isto irá excluir <strong>{{NAME}}</strong> e <strong>todo o seu conteúdo</strong>.",
"This will delete all models including custom models": "Isto irá excluir todos os modelos, incluindo os modelos personalizados",

View file

@ -339,8 +339,6 @@
"Citation": "Citație",
"Citations": "Citații",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Șterge memoria",
"Clear Memory": "Golește memoria",
"Clear search": "",
@ -1267,7 +1265,6 @@
"May": "Mai",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "",
@ -1556,11 +1553,8 @@
"Persistent": "",
"Personalization": "Personalizare",
"Pin": "Fixează",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "Fixat",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "",
@ -1814,7 +1808,7 @@
"Select model": "",
"Select only one model to call": "Selectează doar un singur model pentru apel",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "Modelul(e) selectat(e) nu suportă intrări de imagine",
"Selected Models": "",
@ -2021,7 +2015,6 @@
"Thinking...": "Gândește...",
"This action cannot be undone. Do you wish to continue?": "Această acțiune nu poate fi anulată. Doriți să continuați?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Acest lucru asigură că conversațiile dvs. valoroase sunt salvate în siguranță în baza de date a backend-ului dvs. Mulțumim!",
"This feature is currently experimental and may not work as expected.": "",
@ -2036,7 +2029,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "Această opțiune va șterge toate fișierelor existente din colecție și le va înlocui cu fișierele nou încărcate.",
"This response was generated by \"{{model}}\"": "Acest răspuns a fost generat de \"{{model}}\"",
"This turn": "",
"This will delete": "Aceasta va șterge",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "Acest lucru va șterge <strong>{{NAME}}</strong> și <strong>toate conținuturile sale</strong>.",
"This will delete all models including custom models": "",

View file

@ -340,8 +340,6 @@
"Citation": "Цитирование",
"Citations": "Цитаты",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Очистить воспоминания",
"Clear Memory": "Очистить память",
"Clear search": "Очистить поиск",
@ -1268,7 +1266,6 @@
"May": "Май",
"MBR": "Уч.",
"MCP": "MCP",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "Поддержка MCP является экспериментальной, а частые изменения спецификации могут приводить к несовместимостям. Поддержка OpenAPI напрямую обеспечивается командой Open WebUI, что делает её более надёжным вариантом.",
"Medium": "Средний",
@ -1557,11 +1554,8 @@
"Persistent": "Постоянный",
"Personalization": "Персонализация",
"Pin": "Закрепить",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "Закреплено",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "Закреплённые сообщения",
"Pinned Models": "Закреплённые модели",
"Pioneer insights": "Новаторские идеи",
@ -1816,7 +1810,7 @@
"Select model": "",
"Select only one model to call": "Выберите только одну модель для вызова",
"Select view": "Выберите вид",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "Выбранная модель: {{modelName}}",
"Selected model(s) do not support image inputs": "Выбранные модели не поддерживают ввод изображений",
"Selected Models": "Выбранные модели",
@ -2024,7 +2018,6 @@
"Thinking...": "Думаю...",
"This action cannot be undone. Do you wish to continue?": "Это действие нельзя отменить. Вы хотите продолжить?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "Этот канал был создан {{createdAt}}. Это самое начало канала {{channelName}}.",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "Этот чат не появится в истории, и ваши сообщения не будут сохранены.",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Это обеспечивает сохранение ваших ценных разговоров в безопасной базе данных на вашем сервере. Спасибо!",
"This feature is currently experimental and may not work as expected.": "Эта функция экспериментальна и может работать не так, как ожидается.",
@ -2039,7 +2032,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "Этот параметр устанавливает максимальное количество токенов, которые модель может генерировать в своем ответе. Увеличение этого ограничения позволяет модели предоставлять более длинные ответы, но также может увеличить вероятность создания бесполезного или нерелевантного контента.",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "Эта опция удалит все существующие файлы в коллекции и заменит их вновь загруженными файлами.",
"This response was generated by \"{{model}}\"": "Этот ответ был сгенерирован для \"{{model}}\"",
"This turn": "",
"This will delete": "Это приведет к удалению",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "При этом будет удален <strong>{{NAME}}</strong> и <strong>все его содержимое</strong>.",
"This will delete all models including custom models": "Это приведет к удалению всех моделей, включая пользовательские модели.",

View file

@ -340,8 +340,6 @@
"Citation": "Odkaz",
"Citations": "",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Vymazať pamäť",
"Clear Memory": "",
"Clear search": "",
@ -1268,7 +1266,6 @@
"May": "Máj",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "",
@ -1557,11 +1554,8 @@
"Persistent": "",
"Personalization": "Personalizácia",
"Pin": "",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "",
@ -1816,7 +1810,7 @@
"Select model": "",
"Select only one model to call": "Vyberte iba jeden model, ktorý chcete použiť",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "Vybraný(é) model(y) nepodporujú vstupy v podobe obrázkov.",
"Selected Models": "",
@ -2024,7 +2018,6 @@
"Thinking...": "Premýšľam...",
"This action cannot be undone. Do you wish to continue?": "Túto akciu nie je možné vrátiť späť. Prajete si pokračovať?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Týmto je zaistené, že vaše cenné konverzácie sú bezpečne uložené vo vašej backendovej databáze. Ďakujeme!",
"This feature is currently experimental and may not work as expected.": "",
@ -2039,7 +2032,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "Táto voľba odstráni všetky existujúce súbory v kolekcii a nahradí ich novo nahranými súbormi.",
"This response was generated by \"{{model}}\"": "Táto odpoveď bola vygenerovaná pomocou \"{{model}}\"",
"This turn": "",
"This will delete": "Toto odstráni",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "Týmto dôjde k odstráneniu <strong>{{NAME}}</strong> a <strong>všetkých jeho obsahov</strong>.",
"This will delete all models including custom models": "",

View file

@ -339,8 +339,6 @@
"Citation": "Цитат",
"Citations": "",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Очисти сећања",
"Clear Memory": "",
"Clear search": "",
@ -1267,7 +1265,6 @@
"May": "Мај",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "",
@ -1556,11 +1553,8 @@
"Persistent": "",
"Personalization": "Прилагођавање",
"Pin": "Закачи",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "Закачено",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "",
@ -1814,7 +1808,7 @@
"Select model": "",
"Select only one model to call": "",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "Изабрани модели не подржавају уносе слика",
"Selected Models": "",
@ -2021,7 +2015,6 @@
"Thinking...": "Размишљам...",
"This action cannot be undone. Do you wish to continue?": "Ова радња се не може опозвати. Да ли желите наставити?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Ово осигурава да су ваши вредни разговори безбедно сачувани у вашој бекенд бази података. Хвала вам!",
"This feature is currently experimental and may not work as expected.": "",
@ -2036,7 +2029,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "",
"This response was generated by \"{{model}}\"": "",
"This turn": "",
"This will delete": "Ово ће обрисати",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "Ово ће обрисати <strong>{{NAME}}</strong> и <strong>сав садржај унутар</strong>.",
"This will delete all models including custom models": "Ово ће обрисати све моделе укључујући прилагођене моделе",

View file

@ -338,8 +338,6 @@
"Citation": "Citat",
"Citations": "Citeringar",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Rensa minnet",
"Clear Memory": "Rensa minnet",
"Clear search": "",
@ -1266,7 +1264,6 @@
"May": "maj",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "Medium",
@ -1555,11 +1552,8 @@
"Persistent": "",
"Personalization": "Personalisering",
"Pin": "Fäst",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "Fäst",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "Pionjärinsikter",
@ -1812,7 +1806,7 @@
"Select model": "",
"Select only one model to call": "Välj endast en modell att ringa",
"Select view": "Välj vy",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "Valda modeller stöder inte bildinmatningar",
"Selected Models": "",
@ -2018,7 +2012,6 @@
"Thinking...": "Tänker...",
"This action cannot be undone. Do you wish to continue?": "Denna åtgärd kan inte ångras. Vill du fortsätta?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "Den här kanalen skapades den {{createdAt}}. Detta är den allra första början av kanalen {{channelName}}.",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "Den här chatten visas inte i historiken och dina meddelanden sparas inte.",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Detta säkerställer att dina värdefulla samtal sparas säkert till din backend-databas. Tack!",
"This feature is currently experimental and may not work as expected.": "",
@ -2033,7 +2026,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "Det här alternativet anger det maximala antalet tokens som modellen kan generera i sitt svar. Om du ökar den här gränsen kan modellen ge längre svar, men det kan också öka sannolikheten för att det genereras innehåll som inte är till hjälp eller irrelevant.",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "Detta alternativ tar bort alla befintliga filer i samlingen och ersätter dem med nyligen uppladdade filer.",
"This response was generated by \"{{model}}\"": "Det här svaret genererades av \"{{model}}\"",
"This turn": "",
"This will delete": "Detta kommer att radera",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "Detta kommer att radera <strong>{{NAME}}</strong> och <strong>allt dess innehåll</strong>.",
"This will delete all models including custom models": "Detta kommer att radera alla modeller inklusive anpassade modeller",

View file

@ -338,8 +338,6 @@
"Citation": "மேற்கோள்",
"Citations": "மேற்கோள்கள்",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "தெளிவான நினைவகம்",
"Clear Memory": "தெளிவான நினைவகம்",
"Clear search": "தெளிவான தேடல்",
@ -1266,7 +1264,6 @@
"May": "மே",
"MBR": "MBR",
"MCP": "MCP",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "MCP ஆதரவு சோதனையானது மற்றும் அதன் விவரக்குறிப்பு அடிக்கடி மாறுகிறது, இது இணக்கமின்மைக்கு வழிவகுக்கும். OpenAPI விவரக்குறிப்பு ஆதரவு நேரடியாக Open WebUI குழுவால் பராமரிக்கப்படுகிறது, இது இணக்கத்திற்கான மிகவும் நம்பகமான விருப்பமாக அமைகிறது.",
"Medium": "நடுத்தர",
@ -1555,11 +1552,8 @@
"Persistent": "பிடிவாதமான",
"Personalization": "தனிப்பயனாக்கம்",
"Pin": "பின்",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "நிலைநிறுத்தப்பட்டவை",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "பின் செய்யப்பட்ட செய்திகள்",
"Pinned Models": "பின் செய்யப்பட்ட மாதிரிகள்",
"Pioneer insights": "முன்னோடி நுண்ணறிவு",
@ -1812,7 +1806,7 @@
"Select model": "மாதிரியைத் தேர்ந்தெடுக்கவும்",
"Select only one model to call": "அழைக்க ஒரே ஒரு மாதிரியைத் தேர்ந்தெடுக்கவும்",
"Select view": "பார்வையைத் தேர்ந்தெடுக்கவும்",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "தேர்ந்தெடுக்கப்பட்ட மாதிரி: {{modelName}}",
"Selected model(s) do not support image inputs": "தேர்ந்தெடுக்கப்பட்ட மாதிரி(கள்) பட உள்ளீடுகளை ஆதரிக்காது",
"Selected Models": "தேர்ந்தெடுக்கப்பட்ட மாதிரிகள்",
@ -2018,7 +2012,6 @@
"Thinking...": "யோசிக்கிறது...",
"This action cannot be undone. Do you wish to continue?": "இந்தச் செயலைச் செயல்தவிர்க்க முடியாது. நீங்கள் தொடர விரும்புகிறீர்களா?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "இந்த சேனல் {{createdAt}} இல் உருவாக்கப்பட்டது. இது {{channelName}} சேனலின் ஆரம்பம்.",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "இந்த அரட்டை வரலாற்றில் தோன்றாது மற்றும் உங்கள் செய்திகள் சேமிக்கப்படாது.",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "உங்கள் மதிப்புமிக்க உரையாடல்கள் உங்கள் பின்தளத்தில் தரவுத்தளத்தில் பாதுகாப்பாகச் சேமிக்கப்படுவதை இது உறுதி செய்கிறது. நன்றி!",
"This feature is currently experimental and may not work as expected.": "இந்த அம்சம் தற்போது பரிசோதனையில் உள்ளது மற்றும் எதிர்பார்த்தபடி செயல்படாமல் போகலாம்.",
@ -2033,7 +2026,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "இந்த விருப்பம் மாதிரி அதன் பதிலில் உருவாக்கக்கூடிய அதிகபட்ச டோக்கன்களை அமைக்கிறது. இந்த வரம்பை அதிகரிப்பது மாதிரி நீண்ட பதில்களை வழங்க அனுமதிக்கிறது, ஆனால் இது உதவாத அல்லது பொருத்தமற்ற உள்ளடக்கம் உருவாக்கப்படுவதற்கான வாய்ப்பையும் அதிகரிக்கலாம்.",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "இந்த விருப்பம் சேகரிப்பில் இருக்கும் எல்லா கோப்புகளையும் நீக்கி, புதிதாக பதிவேற்றப்பட்ட கோப்புகளுடன் மாற்றும்.",
"This response was generated by \"{{model}}\"": "இந்த பதில் \"{{model}}\" ஆல் உருவாக்கப்பட்டது",
"This turn": "",
"This will delete": "இது நீக்கும்",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "இது <strong>{{NAME}}</strong> மற்றும் <strong>அதன் அனைத்து உள்ளடக்கங்களையும்</strong> நீக்கும்.",
"This will delete all models including custom models": "இது தனிப்பயன் மாதிரிகள் உட்பட அனைத்து மாடல்களையும் நீக்கும்",

View file

@ -337,8 +337,6 @@
"Citation": "การอ้างอิง",
"Citations": "การอ้างอิง",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "ล้างความจำ",
"Clear Memory": "ล้างความจำ",
"Clear search": "",
@ -1265,7 +1263,6 @@
"May": "พฤษภาคม",
"MBR": "",
"MCP": "MCP",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "การรองรับ MCP ยังเป็นแบบทดลองและมีการเปลี่ยนแปลงสเปกบ่อยครั้ง ซึ่งอาจทำให้เกิดปัญหาความไม่เข้ากันได้ การรองรับสเปก OpenAPI นั้นดูแลโดยทีม Open WebUI โดยตรง จึงเป็นตัวเลือกที่เชื่อถือได้มากกว่าในด้านความเข้ากันได้",
"Medium": "ปานกลาง",
@ -1554,11 +1551,8 @@
"Persistent": "",
"Personalization": "การปรับแต่ง",
"Pin": "ปักหมุด",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "ปักหมุดแล้ว",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "ข้อมูลเชิงลึกผู้บุกเบิก",
@ -1810,7 +1804,7 @@
"Select model": "",
"Select only one model to call": "เลือกเพียงโมเดลเดียวที่จะเรียกใช้",
"Select view": "เลือกมุมมอง",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "โมเดลที่เลือกไม่รองรับการป้อนภาพ",
"Selected Models": "",
@ -2015,7 +2009,6 @@
"Thinking...": "กำลังคิด...",
"This action cannot be undone. Do you wish to continue?": "การกระทำนี้ไม่สามารถย้อนกลับได้ คุณต้องการดำเนินการต่อหรือไม่?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "สร้างช่องนี้เมื่อ {{createdAt}} นี่คือจุดเริ่มต้นของช่อง {{channelName}}",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "การแชทนี้จะไม่ปรากฏในประวัติ และข้อความของคุณจะไม่ถูกบันทึก",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "สิ่งนี้ช่วยให้มั่นใจได้ว่าบทสนทนาที่สำคัญของคุณจะถูกบันทึกอย่างปลอดภัยในฐานข้อมูล Backend ของคุณ ขอบคุณ!",
"This feature is currently experimental and may not work as expected.": "",
@ -2030,7 +2023,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "ตัวเลือกนี้ใช้กำหนดจำนวนโทเค็นสูงสุดที่โมเดลสามารถสร้างได้ในคำตอบของตน การเพิ่มขีดจำกัดนี้จะช่วยให้โมเดลตอบได้ยาวขึ้น แต่ก็อาจเพิ่มโอกาสในการสร้างเนื้อหาที่ไม่เป็นประโยชน์หรือไม่เกี่ยวข้องด้วย",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "ตัวเลือกนี้จะลบไฟล์ทั้งหมดที่มีอยู่ในคอลเลกชันและแทนที่ด้วยไฟล์ที่อัปโหลดใหม่",
"This response was generated by \"{{model}}\"": "การตอบกลับนี้สร้างโดย \"{{model}}\"",
"This turn": "",
"This will delete": "การดำเนินการนี้จะลบ",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "การดำเนินการนี้จะลบ <strong>{{NAME}}</strong> และ<strong>เนื้อหาทั้งหมด</strong>",
"This will delete all models including custom models": "การดำเนินการนี้จะลบโมเดลทั้งหมด รวมถึงโมเดลแบบกำหนดเอง",

View file

@ -338,8 +338,6 @@
"Citation": "Sitata",
"Citations": "",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "",
"Clear Memory": "",
"Clear search": "",
@ -1266,7 +1264,6 @@
"May": "Maý",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "",
@ -1555,11 +1552,8 @@
"Persistent": "",
"Personalization": "",
"Pin": "",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "",
@ -1812,7 +1806,7 @@
"Select model": "",
"Select only one model to call": "",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "",
"Selected Models": "",
@ -2018,7 +2012,6 @@
"Thinking...": "",
"This action cannot be undone. Do you wish to continue?": "",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "",
"This feature is currently experimental and may not work as expected.": "",
@ -2033,7 +2026,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "",
"This response was generated by \"{{model}}\"": "",
"This turn": "",
"This will delete": "",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "",
"This will delete all models including custom models": "",

View file

@ -338,8 +338,6 @@
"Citation": "Alıntı",
"Citations": "Alıntılar",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Belleği temizle",
"Clear Memory": "Belleği Temizle",
"Clear search": "Aramayı temizle",
@ -1266,7 +1264,6 @@
"May": "Mayıs",
"MBR": "",
"MCP": "MCP",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "",
@ -1555,11 +1552,8 @@
"Persistent": "",
"Personalization": "Kişiselleştirme",
"Pin": "Sabitle",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "Sabitlenmiş",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "Öncü içgörüler",
@ -1812,7 +1806,7 @@
"Select model": "",
"Select only one model to call": "Arama için sadece bir model seç",
"Select view": "Görünüm seçin",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "Seçilen model: {{modelName}}",
"Selected model(s) do not support image inputs": "Seçilen model(ler) görüntü girişlerini desteklemiyor",
"Selected Models": "Seçilen Modeller",
@ -2018,7 +2012,6 @@
"Thinking...": "Düşünüyor...",
"This action cannot be undone. Do you wish to continue?": "Bu eylem geri alınamaz. Devam etmek istiyor musunuz?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "Bu kanal {{createdAt}} tarihinde oluşturuldu. Bu, {{channelName}} kanalının en başıdır.",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Bu, önemli konuşmalarınızın güvenli bir şekilde arkayüz veritabanınıza kaydedildiğini garantiler. Teşekkür ederiz!",
"This feature is currently experimental and may not work as expected.": "",
@ -2033,7 +2026,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "Bu seçenek, koleksiyondaki tüm mevcut dosyaları silecek ve bunları yeni yüklenen dosyalarla değiştirecek.",
"This response was generated by \"{{model}}\"": "Bu yanıt \"{{model}}\" tarafından oluşturuldu",
"This turn": "",
"This will delete": "Bu silinecek",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "<strong>{{NAME}}</strong> ve <strong>tüm içeriği</strong> silinecek.",
"This will delete all models including custom models": "Bu, özel modeller dahil olmak üzere tüm modelleri silecek",

View file

@ -338,8 +338,6 @@
"Citation": "نەقىل",
"Citations": "نەقىللەر",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "ئەسلەتمىنى تازىلاش",
"Clear Memory": "ئەسلەتمىنى تازىلاش",
"Clear search": "",
@ -1266,7 +1264,6 @@
"May": "ماي",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "",
@ -1555,11 +1552,8 @@
"Persistent": "",
"Personalization": "شەخسىيلاشتۇرۇش",
"Pin": "مۇقىملا",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "مۇقىملاندى",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "ئالدىنقى پىكىرلەر",
@ -1812,7 +1806,7 @@
"Select model": "",
"Select only one model to call": "پەقەت بىر مودېل چاقىرالايسىز",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "تاللانغان مودېل(لار) رەسىم كىرگۈزۈشنى قوللىمايدۇ",
"Selected Models": "",
@ -2018,7 +2012,6 @@
"Thinking...": "ئويلاۋاتىدۇ...",
"This action cannot be undone. Do you wish to continue?": "بۇ ھەرىكەت ئەسلىگە كەلتۈرگىلى بولمايدۇ. داۋاملاشامسىز؟",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "بۇ قانال {{createdAt}} قۇرۇلغان. بۇ {{channelName}} قانالىنىڭ باشلىنىشى.",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "بۇ سۆھبەت تارىختا كۆرۈلمەيدۇ، ئۇچۇرلىرىڭىز ساقلانمايدۇ.",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "بۇ باھالىق سۆھبەتلىرىڭىز ئارقا تەرەپ سانلىقىدا بىخەتەر ساقلىنىشىغا كاپالەتلىك قىلىدۇ. رەھمەت!",
"This feature is currently experimental and may not work as expected.": "",
@ -2033,7 +2026,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "بۇ تاللاش مودېل ئىنكاستا ھاسىل قىلىدىغان ئەڭ كۆپ ئىم سانىنى بەلگىلەيدۇ. چەك چوڭ بولسا، ئۇزۇن ئىنكاس چىقىرىدۇ، بىراق مۇناسىۋەتسىز مەزمۇن چىقىشى ئېھتىمالى يۇقىرى.",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "بۇ تاللاش بارلىق توپلامدىكى ھۆججەتلەرنى ئۆچۈرۈپ يېڭى چىقىرىلغان ھۆججەتلەر بىلەن ئالماشتۇرىدۇ.",
"This response was generated by \"{{model}}\"": "بۇ ئىنكاس \"{{model}}\" ئارقىلىق ھاسىل قىلىندى",
"This turn": "",
"This will delete": "بۇ ئۆچۈرۈلىدۇ:",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "<strong>{{NAME}}</strong> ۋە <strong>بارلىق مەزمۇنى</strong> ئۆچۈرۈلىدۇ.",
"This will delete all models including custom models": "بۇ بارلىق مودېللارنى ئۆچۈرۈدۇ (ئۆزلۈك مودېللارنىمۇ ئۆز ئىچىگە ئالىدۇ)",

View file

@ -340,8 +340,6 @@
"Citation": "Цитування",
"Citations": "",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Очистити пам'ять",
"Clear Memory": "Очистити пам'ять",
"Clear search": "",
@ -1268,7 +1266,6 @@
"May": "Травень",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "",
@ -1557,11 +1554,8 @@
"Persistent": "",
"Personalization": "Персоналізація",
"Pin": "Зачепити",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "Зачеплено",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "Прокладайте нові шляхи до знань",
@ -1816,7 +1810,7 @@
"Select model": "",
"Select only one model to call": "Оберіть лише одну модель для виклику",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "Вибрані модель(і) не підтримують вхідні зображення",
"Selected Models": "",
@ -2024,7 +2018,6 @@
"Thinking...": "Думаю...",
"This action cannot be undone. Do you wish to continue?": "Цю дію не можна скасувати. Ви бажаєте продовжити?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "Цей канал був створений {{createdAt}}. Це самий початок каналу {{channelName}}.",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Це забезпечує збереження ваших цінних розмов у безпечному бекенд-сховищі. Дякуємо!",
"This feature is currently experimental and may not work as expected.": "",
@ -2039,7 +2032,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "Ця опція встановлює максимальну кількість токенів, які модель може згенерувати у своїй відповіді. Збільшення цього ліміту дозволяє моделі надавати довші відповіді, але також може підвищити ймовірність генерації непотрібного або нерелевантного контенту.",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "Цей варіант видалить усі існуючі файли в колекції та замінить їх новими завантаженими файлами.",
"This response was generated by \"{{model}}\"": "Цю відповідь згенеровано за допомогою \"{{model}}\"",
"This turn": "",
"This will delete": "Це призведе до видалення",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "Це видалить <strong>{{NAME}}</strong> та <strong>усі його вмісти</strong>.",
"This will delete all models including custom models": "Це видалить усі моделі, включаючи користувацькі моделі",

View file

@ -338,8 +338,6 @@
"Citation": "حوالہ",
"Citations": "",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "میموری صاف کریں",
"Clear Memory": "",
"Clear search": "",
@ -1266,7 +1264,6 @@
"May": "مئی",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "",
@ -1555,11 +1552,8 @@
"Persistent": "",
"Personalization": "شخصی ترتیبات",
"Pin": "پن",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "پن کیا گیا",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "",
@ -1812,7 +1806,7 @@
"Select model": "",
"Select only one model to call": "صرف ایک ماڈل کو کال کرنے کے لئے منتخب کریں",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "منتخب کردہ ماڈل(ز) تصویری ان پٹ کی حمایت نہیں کرتے",
"Selected Models": "",
@ -2018,7 +2012,6 @@
"Thinking...": "سوچ رہا ہے...",
"This action cannot be undone. Do you wish to continue?": "یہ عمل واپس نہیں کیا جا سکتا کیا آپ جاری رکھنا چاہتے ہیں؟",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "یہ یقینی بناتا ہے کہ آپ کی قیمتی گفتگو محفوظ طریقے سے آپ کے بیک اینڈ ڈیٹا بیس میں محفوظ کی گئی ہیں شکریہ!",
"This feature is currently experimental and may not work as expected.": "",
@ -2033,7 +2026,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "اس اختیار سے مجموعہ میں موجود تمام فائلز حذف ہو جائیں گی اور ان کی جگہ نئی اپ لوڈ کردہ فائلز لی جائیں گی",
"This response was generated by \"{{model}}\"": "یہ جواب \"{{model}}\" کے ذریعہ تیار کیا گیا",
"This turn": "",
"This will delete": "یہ حذف کر دے گا",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "یہ <strong>{{NAME}}</strong> اور <strong>اس کے تمام مواد</strong> کو حذف کر دے گا",
"This will delete all models including custom models": "",

View file

@ -338,8 +338,6 @@
"Citation": "Иқтибос",
"Citations": "Иқтибослар",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Хотирани тозалаш",
"Clear Memory": "Хотирани тозалаш",
"Clear search": "",
@ -1266,7 +1264,6 @@
"May": "май",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "",
@ -1555,11 +1552,8 @@
"Persistent": "",
"Personalization": "Шахсийлаштириш",
"Pin": "Пин",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "Қадалган",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "Пионер тушунчалари",
@ -1812,7 +1806,7 @@
"Select model": "",
"Select only one model to call": "Қўнғироқ қилиш учун фақат битта моделни танланг",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "Танланган модел(лар) тасвир киритишни қўллаб-қувватламайди",
"Selected Models": "",
@ -2018,7 +2012,6 @@
"Thinking...": "Ўйлаш...",
"This action cannot be undone. Do you wish to continue?": "Бу амални ортга қайтариб бўлмайди. Давом этишни хоҳлайсизми?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "Бу канал {{cреатедАт}} да яратилган. Бу {{чаннелНаме}} каналининг бошланиши.",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Бу сизнинг қимматли суҳбатларингиз маълумотлар базасига хавфсиз тарзда сақланишини таъминлайди. Раҳмат!",
"This feature is currently experimental and may not work as expected.": "",
@ -2033,7 +2026,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "Ушбу параметр модел жавобида яратиши мумкин бўлган токенларнинг максимал сонини белгилайди. Ушбу чегарани ошириш моделга узоқроқ жавобларни тақдим этиш имконини беради, бироқ у фойдасиз ёки аҳамиятсиз контент яратилиш эҳтимолини ҳам ошириши мумкин.",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "Ушбу параметр тўпламдаги барча мавжуд файлларни ўчиради ва уларни янги юкланган файллар билан алмаштиради.",
"This response was generated by \"{{model}}\"": "Бу жавоб \"{{модел}}\" томонидан яратилган",
"This turn": "",
"This will delete": "Бу ўчирилади",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "Бу <стронг>{{NAME}}</стронг> ва <стронг>барча мазмунини</стронг> ўчириб ташлайди.",
"This will delete all models including custom models": "Бу барча моделларни, шу жумладан махсус моделларни ўчириб ташлайди",

View file

@ -338,8 +338,6 @@
"Citation": "Iqtibos",
"Citations": "Iqtiboslar",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Xotirani tozalash",
"Clear Memory": "Xotirani tozalash",
"Clear search": "",
@ -1266,7 +1264,6 @@
"May": "may",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "",
@ -1555,11 +1552,8 @@
"Persistent": "",
"Personalization": "Shaxsiylashtirish",
"Pin": "Pin",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "Qadalgan",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "Pioner tushunchalari",
@ -1812,7 +1806,7 @@
"Select model": "",
"Select only one model to call": "Qo'ng'iroq qilish uchun faqat bitta modelni tanlang",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "Tanlangan model(lar) tasvir kiritishni qo‘llab-quvvatlamaydi",
"Selected Models": "",
@ -2018,7 +2012,6 @@
"Thinking...": "O'ylash...",
"This action cannot be undone. Do you wish to continue?": "Bu amalni ortga qaytarib bo‘lmaydi. Davom etishni xohlaysizmi?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "Bu kanal {{createdAt}} da yaratilgan. Bu {{channelName}} kanalining boshlanishi.",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Bu sizning qimmatli suhbatlaringiz ma'lumotlar bazasiga xavfsiz tarzda saqlanishini ta'minlaydi. Rahmat!",
"This feature is currently experimental and may not work as expected.": "",
@ -2033,7 +2026,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "Ushbu parametr model javobida yaratishi mumkin bo'lgan tokenlarning maksimal sonini belgilaydi. Ushbu chegarani oshirish modelga uzoqroq javoblarni taqdim etish imkonini beradi, biroq u foydasiz yoki ahamiyatsiz kontent yaratilish ehtimolini ham oshirishi mumkin.",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "Ushbu parametr to'plamdagi barcha mavjud fayllarni o'chiradi va ularni yangi yuklangan fayllar bilan almashtiradi.",
"This response was generated by \"{{model}}\"": "Bu javob \"{{model}}\" tomonidan yaratilgan",
"This turn": "",
"This will delete": "Bu o'chiriladi",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "Bu <strong>{{NAME}}</strong> va <strong>barcha mazmunini</strong> o‘chirib tashlaydi.",
"This will delete all models including custom models": "Bu barcha modellarni, shu jumladan maxsus modellarni o'chirib tashlaydi",

View file

@ -337,8 +337,6 @@
"Citation": "Trích dẫn",
"Citations": "",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "Xóa bộ nhớ",
"Clear Memory": "Xóa Bộ nhớ",
"Clear search": "",
@ -1265,7 +1263,6 @@
"May": "Tháng 5",
"MBR": "",
"MCP": "",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "",
"Medium": "",
@ -1554,11 +1551,8 @@
"Persistent": "",
"Personalization": "Cá nhân hóa",
"Pin": "Ghim",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "",
"Pinned": "Đã ghim",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "",
"Pinned Models": "",
"Pioneer insights": "Tiên phong về hiểu biết",
@ -1810,7 +1804,7 @@
"Select model": "",
"Select only one model to call": "Chọn model để gọi",
"Select view": "",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "",
"Selected model(s) do not support image inputs": "Model được lựa chọn không hỗ trợ đầu vào là hình ảnh",
"Selected Models": "",
@ -2015,7 +2009,6 @@
"Thinking...": "Đang suy luận...",
"This action cannot be undone. Do you wish to continue?": "Hành động này không thể được hoàn tác. Bạn có muốn tiếp tục không?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "Kênh này được tạo vào {{createdAt}}. Đây là điểm khởi đầu của kênh {{channelName}}.",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "Cuộc trò chuyện này sẽ không xuất hiện trong lịch sử và tin nhắn của bạn sẽ không được lưu.",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Điều này đảm bảo rằng các nội dung chat có giá trị của bạn được lưu an toàn vào cơ sở dữ liệu backend của bạn. Cảm ơn bạn!",
"This feature is currently experimental and may not work as expected.": "",
@ -2030,7 +2023,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "Tùy chọn này đặt số lượng token tối đa mà mô hình có thể tạo ra trong phản hồi của nó. Tăng giới hạn này cho phép mô hình cung cấp câu trả lời dài hơn, nhưng nó cũng có thể làm tăng khả năng tạo ra nội dung không hữu ích hoặc không liên quan.",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "Tùy chọn này sẽ xóa tất cả các tệp hiện có trong bộ sưu tập và thay thế chúng bằng các tệp mới được tải lên.",
"This response was generated by \"{{model}}\"": "Phản hồi này được tạo bởi \"{{model}}\"",
"This turn": "",
"This will delete": "Chat này sẽ bị xóa",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "Hành động này sẽ xóa <strong>{{NAME}}</strong> và <strong>tất cả nội dung của nó</strong>.",
"This will delete all models including custom models": "Hành động này sẽ xóa tất cả các mô hình bao gồm cả các mô hình tùy chỉnh",

View file

@ -337,8 +337,6 @@
"Citation": "引文",
"Citations": "引用",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "清除记忆",
"Clear Memory": "清除记忆",
"Clear search": "清空搜索内容",
@ -1265,7 +1263,6 @@
"May": "五月",
"MBR": "成员",
"MCP": "MCP",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "MCP 支持仍处于实验阶段,因其规范变化频繁,可能会出现不兼容的情况。而 OpenAPI 规范由 Open WebUI 团队维护,在兼容性方面更加可靠。",
"Medium": "中",
@ -1554,11 +1551,8 @@
"Persistent": "持久化",
"Personalization": "个性化",
"Pin": "置顶",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "固定到侧边栏",
"Pinned": "已置顶",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "置顶消息",
"Pinned Models": "固定在侧边栏的模型",
"Pioneer insights": "洞悉未来",
@ -1810,7 +1804,7 @@
"Select model": "选择模型",
"Select only one model to call": "只允许选择一个模型进行语音通话",
"Select view": "选择视图",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "已选择:{{modelName}}",
"Selected model(s) do not support image inputs": "所选择的模型不支持处理图像",
"Selected Models": "已选模型",
@ -2015,7 +2009,6 @@
"Thinking...": "正在思考...",
"This action cannot be undone. Do you wish to continue?": "此操作无法撤销。您确认要继续吗?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "欢迎来到 {{channelName}},本频道创建于 {{createdAt}}。",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "此对话将不会出现在历史记录中,且您的消息不会被保存",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "这将确保您宝贵的对话数据被安全地保存到后台数据库中。谢谢!",
"This feature is currently experimental and may not work as expected.": "此功能目前为实验性质,可能无法完全按预期工作。",
@ -2030,7 +2023,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "此项用于设置模型在其响应中可以生成的最大 Token 数。增加此限制可让模型输出更多内容,但也可能增加生成无用或不相关内容的可能性。",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "此选项将会删除文件集中所有文件,并用新上传的文件替换。",
"This response was generated by \"{{model}}\"": "此回答由 “{{model}}” 生成",
"This turn": "",
"This will delete": "这将删除",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "这将删除<strong>{{NAME}}</strong>及其<strong>所有内容</strong>。",
"This will delete all models including custom models": "这将删除所有模型,包括自定义模型",

View file

@ -337,8 +337,6 @@
"Citation": "引用",
"Citations": "引用",
"Clear MCP prompt selection": "",
"Clear pinned MCP prompt": "",
"Click a prompt to use it on the next turn, or pin it to re-apply it on every turn in this chat.": "",
"Clear memory": "清除記憶",
"Clear Memory": "清除記憶",
"Clear search": "清空搜尋內容",
@ -1265,7 +1263,6 @@
"May": "5 月",
"MBR": "成員",
"MCP": "MCP",
"MCP Prompt": "",
"MCP Prompts": "",
"MCP support is experimental and its specification changes often, which can lead to incompatibilities. OpenAPI specification support is directly maintained by the Open WebUI team, making it the more reliable option for compatibility.": "MCP 支援為實驗性功能,其規範經常變更,可能導致不相容問題。OpenAPI 規範支援直接由 Open WebUI 團隊維護,是相容性更可靠的選擇。",
"Medium": "中",
@ -1554,11 +1551,8 @@
"Persistent": "持久性",
"Personalization": "個人化",
"Pin": "釘選",
"Pin prompt to this chat": "",
"Pin to this chat": "",
"Pin to Sidebar": "固定到側邊欄",
"Pinned": "已釘選",
"Pinned MCP prompt for this chat: {{prompt}}": "",
"Pinned Messages": "置頂訊息",
"Pinned Models": "固定於側邊欄的模型",
"Pioneer insights": "先驅見解",
@ -1810,7 +1804,7 @@
"Select model": "選擇模型",
"Select only one model to call": "僅選擇一個模型來呼叫",
"Select view": "選擇檢視",
"Selected MCP prompt for this turn: {{prompt}}": "",
"Selected MCP prompt: {{prompt}}": "",
"Selected model: {{modelName}}": "已選擇:{{modelName}}",
"Selected model(s) do not support image inputs": "選取的模型不支援圖片輸入",
"Selected Models": "已選模型",
@ -2015,7 +2009,6 @@
"Thinking...": "正在思考...",
"This action cannot be undone. Do you wish to continue?": "此操作無法復原。您確定要繼續進行嗎?",
"This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "此頻道建立於 {{createdAt}}。這是 {{channelName}} 頻道的起點。",
"This chat": "",
"This chat won't appear in history and your messages will not be saved.": "此對話不會出現在歷史記錄中,且您的訊息將不被儲存。",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "這確保您寶貴的對話會安全地儲存到您的後端資料庫。謝謝!",
"This feature is currently experimental and may not work as expected.": "此功能目前為實驗性質,可能無法完全如預期運作。",
@ -2030,7 +2023,6 @@
"This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "此選項設定模型在其回應中可以生成的最大 Token 數量。增加此限制允許模型提供更長的答案,但也可能增加產生無用或不相關內容的可能性。",
"This option will delete all existing files in the collection and replace them with newly uploaded files.": "此選項將刪除集合中的所有現有檔案,並用新上傳的檔案取代它們。",
"This response was generated by \"{{model}}\"": "此回應由「{{model}}」產生",
"This turn": "",
"This will delete": "這將會刪除",
"This will delete <strong>{{NAME}}</strong> and <strong>all its contents</strong>.": "這將會刪除 <strong>{{NAME}}</strong> 和<strong>其所有內容</strong>。",
"This will delete all models including custom models": "這將刪除所有模型,包括自訂模型",

View file

@ -1,6 +1,7 @@
import { APP_NAME } from '$lib/constants';
import { type Writable, writable } from 'svelte/store';
import type { ModelConfig } from '$lib/apis';
import type { MCPPromptSelection } from '$lib/apis/tools';
import type { Banner } from '$lib/types';
import type { Socket } from 'socket.io-client';
import type { AudioQueue } from '$lib/utils/audio';
@ -85,7 +86,10 @@ export const settings: Writable<Settings> = writable({});
export const audioQueue = writable<AudioQueue | null>(null);
export const chatRequestQueues: Writable<
Record<string, { id: string; prompt: string; files: any[] }[]>
Record<
string,
{ id: string; prompt: string; files: any[]; mcpPromptSelection: MCPPromptSelection | null }[]
>
> = writable({});
export const sidebarWidth = writable(260);