Merge pull request #23120 from open-webui/dev

0.8.12
This commit is contained in:
Tim Baek
2026-03-27 04:26:39 +04:00
committed by GitHub
26 changed files with 461 additions and 234 deletions
+16
View File
@@ -5,6 +5,22 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.8.12] - 2026-03-26
### Added
- 🌐 **Translation updates.** Translations for Simplified Chinese, Catalan, Portuguese (Brazil), Finnish, and Lithuanian were enhanced and expanded.
### Fixed
- 🔒 **Terminal server connection security.** Terminal server verification and policy saving now proxy through the backend, preventing API key exposure and CORS errors when connecting to in-cluster services. [Commit](https://github.com/open-webui/open-webui/commit/a6413257079a52fa4487eda36543f3955d0fbd53), [Commit](https://github.com/open-webui/open-webui/commit/4567cdc0d9cb7b42b6eba7b676c0ced3f4850d31)
- 🛠️ **Terminal tools exception handling.** Exceptions in middleware.py due to invalid return values from get_terminal_tools() have been resolved. [Commit](https://github.com/open-webui/open-webui/commit/52a06bd48aff34fb2211aac2879f0cd028129267)
- 📦 **Missing beautifulsoup4 dependency.** Users can now start Open WebUI using uvx without encountering the "bs4 module missing" error. [Commit](https://github.com/open-webui/open-webui/commit/1994d65306bbcc7406584e1bfef82f5d353fc91c)
- 🔌 **API files list error.** The /api/v1/files/ endpoint no longer returns a 500 error, fixing a regression that prevented file listing via the API. [Commit](https://github.com/open-webui/open-webui/commit/11f52921dc21c2dc61c03f12bcdf6f19140a350c)
- 📜 **License data loading.** License data now loads correctly, displaying the expected color and logo in the interface. [Commit](https://github.com/open-webui/open-webui/commit/16335f866ea4cedf00c4971963622fcc1fe02d82)
- 👑 **Admin model visibility.** Administrators can now see models even when no access control is configured yet, allowing them to manage all available models. [Commit](https://github.com/open-webui/open-webui/commit/f3f8f9874f55282603c2650b91801640cb3f69cb)
- 📊 **Tool call embed visibility.** Rich UI embeds from tool calls (like visualizations) are now rendered outside collapsed groups and remain visible without requiring manual expansion. [Commit](https://github.com/open-webui/open-webui/commit/4c872a8d128757d4a6f311fb86bc382af2ba5d0d), [Commit](https://github.com/open-webui/open-webui/commit/308fa924a5b2b7e08cd1e8f15b9c8c96e1de8f02)
## [0.8.11] - 2026-03-25 ## [0.8.11] - 2026-03-25
### Added ### Added
+2 -2
View File
@@ -87,7 +87,7 @@ class FileModelResponse(BaseModel):
filename: str filename: str
data: Optional[dict] = None data: Optional[dict] = None
meta: FileMeta meta: Optional[FileMeta] = None
created_at: int # timestamp in epoch created_at: int # timestamp in epoch
updated_at: Optional[int] = None # timestamp in epoch, optional for legacy files updated_at: Optional[int] = None # timestamp in epoch, optional for legacy files
@@ -246,7 +246,7 @@ class FilesTable:
total = query.count() total = query.count()
items = [ items = [
FileModel.model_validate(file) FileModelResponse.model_validate(file, from_attributes=True)
for file in query.order_by(File.updated_at.desc(), File.id.desc()).offset(skip).limit(limit).all() for file in query.order_by(File.updated_at.desc(), File.id.desc()).offset(skip).limit(limit).all()
] ]
+6 -1
View File
@@ -30,6 +30,7 @@ from open_webui.models.knowledge import Knowledges
from open_webui.models.chats import Chats from open_webui.models.chats import Chats
from open_webui.models.notes import Notes from open_webui.models.notes import Notes
from open_webui.models.access_grants import AccessGrants from open_webui.models.access_grants import AccessGrants
from open_webui.utils.access_control.files import has_access_to_file
from open_webui.retrieval.vector.main import GetResult from open_webui.retrieval.vector.main import GetResult
from open_webui.utils.headers import include_user_info_headers from open_webui.utils.headers import include_user_info_headers
@@ -1042,7 +1043,11 @@ async def get_sources_from_items(
} }
elif item.get('id'): elif item.get('id'):
file_object = Files.get_file_by_id(item.get('id')) file_object = Files.get_file_by_id(item.get('id'))
if file_object: if file_object and (
user.role == 'admin'
or file_object.user_id == user.id
or has_access_to_file(item.get('id'), 'read', user)
):
query_result = { query_result = {
'documents': [[file_object.data.get('content', '')]], 'documents': [[file_object.data.get('content', '')]],
'metadatas': [ 'metadatas': [
+86
View File
@@ -269,6 +269,92 @@ async def set_terminal_servers_config(
} }
@router.post('/terminal_servers/verify')
async def verify_terminal_server_connection(
request: Request, form_data: TerminalServerConnection, user=Depends(get_admin_user)
):
"""
Verify the connection to a terminal server by detecting its type.
Tries GET {url}/api/v1/policies (orchestrator) then GET {url}/api/config
(plain terminal). Returns ``{status: true, type: "orchestrator"|"terminal"}``.
"""
base_url = (form_data.url or '').rstrip('/')
if not base_url:
raise HTTPException(status_code=400, detail='Terminal server URL is required')
headers = {}
if form_data.auth_type == 'bearer' and form_data.key:
headers['Authorization'] = f'Bearer {form_data.key}'
try:
async with aiohttp.ClientSession(
trust_env=True,
timeout=aiohttp.ClientTimeout(total=AIOHTTP_CLIENT_TIMEOUT),
) as session:
# Orchestrators expose a policies API; plain terminals don't.
try:
async with session.get(f'{base_url}/api/v1/policies', headers=headers) as resp:
if resp.ok:
return {'status': True, 'type': 'orchestrator'}
except Exception:
pass
# Fall back to open-terminal config endpoint.
try:
async with session.get(f'{base_url}/api/config', headers=headers) as resp:
if resp.ok:
return {'status': True, 'type': 'terminal'}
except Exception:
pass
except Exception as e:
log.debug(f'Failed to connect to the terminal server: {e}')
raise HTTPException(status_code=400, detail='Failed to connect to the terminal server')
class TerminalServerPolicyForm(BaseModel):
url: str
key: Optional[str] = ''
auth_type: Optional[str] = 'bearer'
policy_id: str
policy_data: dict
@router.post('/terminal_servers/policy')
async def put_terminal_server_policy(
request: Request, form_data: TerminalServerPolicyForm, user=Depends(get_admin_user)
):
"""
Proxy a policy PUT to an orchestrator terminal server.
"""
base_url = (form_data.url or '').rstrip('/')
if not base_url:
raise HTTPException(status_code=400, detail='Terminal server URL is required')
headers = {'Content-Type': 'application/json'}
if form_data.auth_type == 'bearer' and form_data.key:
headers['Authorization'] = f'Bearer {form_data.key}'
try:
async with aiohttp.ClientSession(
trust_env=True,
timeout=aiohttp.ClientTimeout(total=AIOHTTP_CLIENT_TIMEOUT),
) as session:
policy_url = f'{base_url}/api/v1/policies/{form_data.policy_id}'
async with session.put(policy_url, headers=headers, json=form_data.policy_data) as resp:
if resp.ok:
return await resp.json()
detail = await resp.text()
raise HTTPException(status_code=resp.status, detail=detail)
except HTTPException:
raise
except Exception as e:
log.debug(f'Failed to save policy to terminal server: {e}')
raise HTTPException(status_code=400, detail='Failed to save policy to terminal server')
@router.post('/tool_servers/verify') @router.post('/tool_servers/verify')
async def verify_tool_servers_config(request: Request, form_data: ToolServerConnection, user=Depends(get_admin_user)): async def verify_tool_servers_config(request: Request, form_data: ToolServerConnection, user=Depends(get_admin_user)):
""" """
+6
View File
@@ -42,6 +42,12 @@ async def format_code(form_data: CodeForm, user=Depends(get_admin_user)):
@router.post('/code/execute') @router.post('/code/execute')
async def execute_code(request: Request, form_data: CodeForm, user=Depends(get_verified_user)): async def execute_code(request: Request, form_data: CodeForm, user=Depends(get_verified_user)):
if not request.app.state.config.ENABLE_CODE_EXECUTION:
raise HTTPException(
status_code=403,
detail='Code execution is disabled',
)
if request.app.state.config.CODE_EXECUTION_ENGINE == 'jupyter': if request.app.state.config.CODE_EXECUTION_ENGINE == 'jupyter':
output = await execute_code_jupyter( output = await execute_code_jupyter(
request.app.state.config.CODE_EXECUTION_JUPYTER_URL, request.app.state.config.CODE_EXECUTION_JUPYTER_URL,
+9 -2
View File
@@ -143,8 +143,15 @@ def get_license_data(app, key):
pn, pt = nt(pb) pn, pt = nt(pb)
data = json.loads(aesgcm.decrypt(pn, pt, None).decode()) data = json.loads(aesgcm.decrypt(pn, pt, None).decode())
if not data.get('exp') or data.get('exp') < datetime.now().date():
return False exp = data.get('exp')
if exp:
if isinstance(exp, str):
from datetime import date
exp = date.fromisoformat(exp)
if exp < datetime.now().date():
return False
data_handler(data) data_handler(data)
return True return True
+6 -1
View File
@@ -2607,12 +2607,17 @@ async def process_chat_payload(request, form_data, user, metadata, model):
# so system terminals work even when no other tools are selected) # so system terminals work even when no other tools are selected)
if terminal_id: if terminal_id:
try: try:
terminal_tools, system_prompt = await get_terminal_tools( terminal_result = await get_terminal_tools(
request, request,
terminal_id, terminal_id,
user, user,
extra_params, extra_params,
) )
if isinstance(terminal_result, tuple):
terminal_tools, system_prompt = terminal_result
else:
terminal_tools = terminal_result
system_prompt = None
if terminal_tools: if terminal_tools:
tools_dict = {**tools_dict, **terminal_tools} tools_dict = {**tools_dict, **terminal_tools}
if system_prompt: if system_prompt:
+4
View File
@@ -452,6 +452,10 @@ def get_filtered_models(models, user, db=None):
or model['id'] in accessible_model_ids or model['id'] in accessible_model_ids
): ):
filtered_models.append(model) filtered_models.append(model)
elif user.role == 'admin':
# No DB entry means no access control configured yet;
# only admins can see unconfigured models.
filtered_models.append(model)
return filtered_models return filtered_models
else: else:
+1 -1
View File
@@ -956,7 +956,7 @@ async def get_terminal_tools(
terminal_id: str, terminal_id: str,
user: UserModel, user: UserModel,
extra_params: dict, extra_params: dict,
) -> tuple[dict[str, dict], Optional[str]]: ) -> dict[str, dict] | tuple[dict[str, dict], Optional[str]]:
"""Resolve tools for a terminal server identified by terminal_id. """Resolve tools for a terminal server identified by terminal_id.
- Finds the connection in TERMINAL_SERVER_CONNECTIONS - Finds the connection in TERMINAL_SERVER_CONNECTIONS
+2 -2
View File
@@ -1,12 +1,12 @@
{ {
"name": "open-webui", "name": "open-webui",
"version": "0.8.11", "version": "0.8.12",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "open-webui", "name": "open-webui",
"version": "0.8.11", "version": "0.8.12",
"dependencies": { "dependencies": {
"@azure/msal-browser": "^4.5.0", "@azure/msal-browser": "^4.5.0",
"@codemirror/lang-javascript": "^6.2.2", "@codemirror/lang-javascript": "^6.2.2",
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "open-webui", "name": "open-webui",
"version": "0.8.11", "version": "0.8.12",
"private": true, "private": true,
"scripts": { "scripts": {
"dev": "npm run pyodide:fetch && vite dev --host", "dev": "npm run pyodide:fetch && vite dev --host",
+1
View File
@@ -80,6 +80,7 @@ dependencies = [
"msoffcrypto-tool==6.0.0", "msoffcrypto-tool==6.0.0",
"nltk==3.9.3", "nltk==3.9.3",
"Markdown==3.10.2", "Markdown==3.10.2",
"beautifulsoup4==4.14.3",
"pypandoc==1.16.2", "pypandoc==1.16.2",
"pandas==3.0.1", "pandas==3.0.1",
"openpyxl==3.1.5", "openpyxl==3.1.5",
+46 -11
View File
@@ -268,9 +268,10 @@ export const detectTerminalServerType = async (
/** /**
* Create or update a policy on the orchestrator. * Create or update a policy on the orchestrator.
* PUT {url}/api/v1/policies/{policyId} * Proxied through the Open WebUI backend to keep API keys server-side.
*/ */
export const putOrchestratorPolicy = async ( export const putOrchestratorPolicy = async (
token: string,
url: string, url: string,
key: string, key: string,
policyId: string, policyId: string,
@@ -278,18 +279,52 @@ export const putOrchestratorPolicy = async (
): Promise<object | null> => { ): Promise<object | null> => {
let error = null; let error = null;
const baseUrl = url.replace(/\/$/, ''); const res = await fetch(`${WEBUI_API_BASE_URL}/configs/terminal_servers/policy`, {
const headers: Record<string, string> = { method: 'POST',
'Content-Type': 'application/json' headers: {
}; 'Content-Type': 'application/json',
if (key) { Authorization: `Bearer ${token}`
headers['Authorization'] = `Bearer ${key}`; },
body: JSON.stringify({
url: url.replace(/\/$/, ''),
key,
policy_id: policyId,
policy_data: policyData
})
})
.then(async (res) => {
if (!res.ok) throw await res.json();
return res.json();
})
.catch((err) => {
console.error(err);
error = err.detail;
return null;
});
if (error) {
throw error;
} }
const res = await fetch(`${baseUrl}/api/v1/policies/${encodeURIComponent(policyId)}`, { return res;
method: 'PUT', };
headers,
body: JSON.stringify(policyData) /**
* Verify a terminal server connection via the backend proxy.
* Used for system/admin connections to avoid CORS issues and API key exposure.
*/
export const verifyTerminalServerConnection = async (token: string, connection: object) => {
let error = null;
const res = await fetch(`${WEBUI_API_BASE_URL}/configs/terminal_servers/verify`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${token}`
},
body: JSON.stringify({
...connection
})
}) })
.then(async (res) => { .then(async (res) => {
if (!res.ok) throw await res.json(); if (!res.ok) throw await res.json();
@@ -12,12 +12,16 @@
import LockClosed from '$lib/components/icons/LockClosed.svelte'; import LockClosed from '$lib/components/icons/LockClosed.svelte';
import Tooltip from '$lib/components/common/Tooltip.svelte'; import Tooltip from '$lib/components/common/Tooltip.svelte';
import ConfirmDialog from '$lib/components/common/ConfirmDialog.svelte'; import ConfirmDialog from '$lib/components/common/ConfirmDialog.svelte';
import { detectTerminalServerType, putOrchestratorPolicy } from '$lib/apis/configs'; import {
detectTerminalServerType,
verifyTerminalServerConnection,
putOrchestratorPolicy
} from '$lib/apis/configs';
import { getTerminalConfig } from '$lib/apis/terminal'; import { getTerminalConfig } from '$lib/apis/terminal';
export let show = false; export let show = false;
export let edit = false; export let edit = false;
export let admin = false; export let direct = false;
export let connection = null; export let connection = null;
export let onSubmit: Function = () => {}; export let onSubmit: Function = () => {};
@@ -110,9 +114,14 @@
verifying = true; verifying = true;
try { try {
if (admin) { if (!direct) {
// Admin: detect orchestrator vs terminal // System connection: proxy through backend to avoid CORS / key exposure
const type = await detectTerminalServerType(_url, key); const result = await verifyTerminalServerConnection(localStorage.token, {
url: _url,
key,
auth_type
});
const type = result?.type ?? null;
if (type) { if (type) {
serverType = type; serverType = type;
@@ -137,7 +146,7 @@
toast.error($i18n.t('Server connection failed')); toast.error($i18n.t('Server connection failed'));
} }
} else { } else {
// Non-admin: simple terminal verification // Direct connection: verify from browser
const res = await getTerminalConfig(_url, key); const res = await getTerminalConfig(_url, key);
if (res) { if (res) {
toast.success($i18n.t('Server connection verified')); toast.success($i18n.t('Server connection verified'));
@@ -192,9 +201,9 @@
url = url.replace(/\/$/, ''); url = url.replace(/\/$/, '');
// Save policy to orchestrator if applicable // Save policy to orchestrator if applicable
if (serverType === 'orchestrator' && admin && policyId) { if (serverType === 'orchestrator' && !direct && policyId) {
try { try {
await putOrchestratorPolicy(url, key, policyId, buildPolicyData()); await putOrchestratorPolicy(localStorage.token, url, key, policyId, buildPolicyData());
} catch (err) { } catch (err) {
toast.error($i18n.t('Failed to save policy: {{error}}', { error: err })); toast.error($i18n.t('Failed to save policy: {{error}}', { error: err }));
return; return;
@@ -202,7 +211,7 @@
} }
const result = { const result = {
...(admin && id.trim() ? { id: id.trim() } : {}), ...(!direct && id.trim() ? { id: id.trim() } : {}),
url, url,
key, key,
name, name,
@@ -210,7 +219,7 @@
auth_type, auth_type,
enabled: enabled, enabled: enabled,
config: { config: {
...(admin ? { access_grants: accessGrants } : {}) ...(!direct ? { access_grants: accessGrants } : {})
}, },
// Policy fields // Policy fields
...(serverType ? { server_type: serverType } : {}), ...(serverType ? { server_type: serverType } : {}),
@@ -270,7 +279,7 @@
/> />
</div> </div>
</div> </div>
{#if admin} {#if !direct}
<div class="flex flex-col flex-1"> <div class="flex flex-col flex-1">
<div class="flex justify-between mb-0.5"> <div class="flex justify-between mb-0.5">
<label <label
@@ -368,7 +377,7 @@
</div> </div>
<!-- Policy section (orchestrator only, admin only) --> <!-- Policy section (orchestrator only, admin only) -->
{#if serverType === 'orchestrator' && admin} {#if serverType === 'orchestrator' && !direct}
<div class="flex gap-2 mt-2"> <div class="flex gap-2 mt-2">
<div class="flex flex-col w-full"> <div class="flex flex-col w-full">
<div class="flex justify-between mb-0.5"> <div class="flex justify-between mb-0.5">
@@ -580,7 +589,7 @@
{$i18n.t('Advanced')} {$i18n.t('Advanced')}
</button> </button>
{#if admin} {#if !direct}
<button <button
class="bg-gray-50 hover:bg-gray-100 text-black dark:bg-gray-850 dark:hover:bg-gray-800 dark:text-white transition px-2 py-1 object-cover rounded-full flex gap-1 items-center mt-2" class="bg-gray-50 hover:bg-gray-100 text-black dark:bg-gray-850 dark:hover:bg-gray-800 dark:text-white transition px-2 py-1 object-cover rounded-full flex gap-1 items-center mt-2"
type="button" type="button"
@@ -662,7 +671,7 @@
> >
<option value="none">{$i18n.t('None')}</option> <option value="none">{$i18n.t('None')}</option>
<option value="bearer">{$i18n.t('Bearer')}</option> <option value="bearer">{$i18n.t('Bearer')}</option>
{#if admin} {#if !direct}
<option value="session">{$i18n.t('Session')}</option> <option value="session">{$i18n.t('Session')}</option>
<option value="system_oauth">{$i18n.t('OAuth')}</option> <option value="system_oauth">{$i18n.t('OAuth')}</option>
{/if} {/if}
@@ -122,7 +122,6 @@
<AddToolServerModal bind:show={showConnectionModal} onSubmit={addConnectionHandler} /> <AddToolServerModal bind:show={showConnectionModal} onSubmit={addConnectionHandler} />
<AddTerminalServerModal <AddTerminalServerModal
admin
bind:show={showAddTerminalModal} bind:show={showAddTerminalModal}
edit={editTerminalIdx !== null} edit={editTerminalIdx !== null}
connection={editTerminalIdx !== null ? terminalConnections[editTerminalIdx] : null} connection={editTerminalIdx !== null ? terminalConnections[editTerminalIdx] : null}
@@ -1,4 +1,5 @@
<script lang="ts"> <script lang="ts">
import { decode } from 'html-entities';
import { getContext } from 'svelte'; import { getContext } from 'svelte';
import { slide } from 'svelte/transition'; import { slide } from 'svelte/transition';
import { quintOut } from 'svelte/easing'; import { quintOut } from 'svelte/easing';
@@ -9,6 +10,9 @@
import WrenchSolid from '$lib/components/icons/WrenchSolid.svelte'; import WrenchSolid from '$lib/components/icons/WrenchSolid.svelte';
import Sparkles from '$lib/components/icons/Sparkles.svelte'; import Sparkles from '$lib/components/icons/Sparkles.svelte';
import CheckCircle from '$lib/components/icons/CheckCircle.svelte'; import CheckCircle from '$lib/components/icons/CheckCircle.svelte';
import FullHeightIframe from '$lib/components/common/FullHeightIframe.svelte';
import { settings } from '$lib/stores';
const i18n = getContext('i18n'); const i18n = getContext('i18n');
@@ -20,6 +24,8 @@
name?: string; name?: string;
done?: string; done?: string;
duration?: string; duration?: string;
embeds?: string;
arguments?: string;
}; };
}> = []; }> = [];
@@ -27,6 +33,14 @@
let open = false; let open = false;
function parseJSONString(str: string) {
try {
return parseJSONString(JSON.parse(str));
} catch (e) {
return str;
}
}
$: toolCallCount = tokens.filter((t) => t?.attributes?.type === 'tool_calls').length; $: toolCallCount = tokens.filter((t) => t?.attributes?.type === 'tool_calls').length;
$: reasoningCount = tokens.filter((t) => t?.attributes?.type === 'reasoning').length; $: reasoningCount = tokens.filter((t) => t?.attributes?.type === 'reasoning').length;
$: hasPending = $: hasPending =
@@ -35,6 +49,28 @@
$: codeInterpreterCount = tokens.filter((t) => t?.attributes?.type === 'code_interpreter').length; $: codeInterpreterCount = tokens.filter((t) => t?.attributes?.type === 'code_interpreter').length;
// Collect all embeds from tool_calls tokens
$: allEmbeds = (() => {
const result: Array<{ name: string; embed: string; args: string }> = [];
for (const t of tokens) {
if (t?.attributes?.type !== 'tool_calls') continue;
const raw = decode(t.attributes?.embeds ?? '');
try {
const parsed = parseJSONString(raw);
if (Array.isArray(parsed) && parsed.length > 0) {
for (const embed of parsed) {
result.push({
name: t.attributes?.name ?? '',
embed,
args: decode(t.attributes?.arguments ?? '')
});
}
}
} catch {}
}
return result;
})();
$: summaryText = (() => { $: summaryText = (() => {
const parts = []; const parts = [];
@@ -124,4 +160,19 @@
</div> </div>
</div> </div>
{/if} {/if}
{#if allEmbeds.length > 0}
{#each allEmbeds as embedItem, idx}
<div id={`${id}-embed-${idx}`}>
<FullHeightIframe
src={embedItem.embed}
args={embedItem.args}
allowScripts={true}
allowForms={$settings?.iframeSandboxAllowForms ?? false}
allowSameOrigin={$settings?.iframeSandboxAllowSameOrigin ?? false}
allowPopups={true}
/>
</div>
{/each}
{/if}
</div> </div>
@@ -380,6 +380,7 @@
<ToolCallDisplay <ToolCallDisplay
id={`${id}-${tokenIdx}-${detailIdx}-tc`} id={`${id}-${tokenIdx}-${detailIdx}-tc`}
attributes={detailToken.attributes} attributes={detailToken.attributes}
grouped={true}
open={false} open={false}
className="w-full space-y-1" className="w-full space-y-1"
/> />
@@ -38,7 +38,7 @@
}; };
</script> </script>
<AddTerminalServerModal bind:show={showAddModal} onSubmit={(server) => addServer(server)} /> <AddTerminalServerModal direct bind:show={showAddModal} onSubmit={(server) => addServer(server)} />
<div> <div>
<div class="flex justify-between items-center mb-1"> <div class="flex justify-between items-center mb-1">
@@ -20,6 +20,7 @@
</script> </script>
<AddTerminalServerModal <AddTerminalServerModal
direct
edit edit
bind:show={showConfigModal} bind:show={showConfigModal}
{connection} {connection}
@@ -31,6 +31,7 @@
} = {}; } = {};
export let open = false; export let open = false;
export let grouped = false;
export let className = ''; export let className = '';
const RESULT_PREVIEW_LIMIT = 10000; const RESULT_PREVIEW_LIMIT = 10000;
@@ -87,7 +88,7 @@
</script> </script>
<div {id} class={className}> <div {id} class={className}>
{#if embeds && Array.isArray(embeds) && embeds.length > 0} {#if !grouped && embeds && Array.isArray(embeds) && embeds.length > 0}
<!-- Embed Mode: Show iframes without collapsible behavior --> <!-- Embed Mode: Show iframes without collapsible behavior -->
<div class="py-1 w-full cursor-pointer"> <div class="py-1 w-full cursor-pointer">
<div class="w-full text-xs text-gray-500"> <div class="w-full text-xs text-gray-500">
+42 -42
View File
@@ -17,9 +17,9 @@
"{{COUNT}} members": "{{COUNT}} membres", "{{COUNT}} members": "{{COUNT}} membres",
"{{COUNT}} Replies": "{{COUNT}} respostes", "{{COUNT}} Replies": "{{COUNT}} respostes",
"{{COUNT}} Rows": "{{COUNT}} files", "{{COUNT}} Rows": "{{COUNT}} files",
"{{count}} selected_one": "", "{{count}} selected_one": "{{count}} seleccionat",
"{{count}} selected_many": "", "{{count}} selected_many": "{{count}} seleccionats",
"{{count}} selected_other": "", "{{count}} selected_other": "{{count}} seleccionats",
"{{COUNT}} Sources": "{{COUNT}} fonts", "{{COUNT}} Sources": "{{COUNT}} fonts",
"{{COUNT}} words": "{{COUNT}} paraules", "{{COUNT}} words": "{{COUNT}} paraules",
"{{COUNT}}d_time_ago": "{{COUNT}}d", "{{COUNT}}d_time_ago": "{{COUNT}}d",
@@ -130,7 +130,7 @@
"Allow File Upload": "Permetre la pujada d'arxius", "Allow File Upload": "Permetre la pujada d'arxius",
"Allow Multiple Models in Chat": "Permetre múltiple models al xat", "Allow Multiple Models in Chat": "Permetre múltiple models al xat",
"Allow non-local voices": "Permetre veus no locals", "Allow non-local voices": "Permetre veus no locals",
"Allow public write access": "", "Allow public write access": "Permetre accés públic d'escriptura",
"Allow Rate Response": "Permetre valorar les respostes", "Allow Rate Response": "Permetre valorar les respostes",
"Allow Regenerate Response": "Permetre regenerar respostes", "Allow Regenerate Response": "Permetre regenerar respostes",
"Allow Sharing With Users": "Permetre compartir amb usuaris", "Allow Sharing With Users": "Permetre compartir amb usuaris",
@@ -185,8 +185,8 @@
"Are you sure you want to delete \"{{NAME}}\"?": "Estàs segur que vols eliminar \"{{NAME}}\"?", "Are you sure you want to delete \"{{NAME}}\"?": "Estàs segur que vols eliminar \"{{NAME}}\"?",
"Are you sure you want to delete all chats? This action cannot be undone.": "Estàs segur que vols suprimir tots els xats? Aquesta acció no es pot desfer.", "Are you sure you want to delete all chats? This action cannot be undone.": "Estàs segur que vols suprimir tots els xats? Aquesta acció no es pot desfer.",
"Are you sure you want to delete this channel?": "Estàs segur que vols eliminar aquest canal?", "Are you sure you want to delete this channel?": "Estàs segur que vols eliminar aquest canal?",
"Are you sure you want to delete this connection? This action cannot be undone.": "", "Are you sure you want to delete this connection? This action cannot be undone.": "Estàs segur que vols suprimir aquesta connexió? Aquesta acció no es pot desfer.",
"Are you sure you want to delete this memory? This action cannot be undone.": "", "Are you sure you want to delete this memory? This action cannot be undone.": "Estàs segur que vols suprimir aquest record? Aquesta acció no es pot desfer.",
"Are you sure you want to delete this message?": "Estàs segur que vols eliminar aquest missatge?", "Are you sure you want to delete this message?": "Estàs segur que vols eliminar aquest missatge?",
"Are you sure you want to delete this version? Child versions will be relinked to this version's parent.": "Estàs segur que vols suprimir aquesta versió? Les versions filles es tornaran a enllaçar amb la versió principal d'aquesta versió.", "Are you sure you want to delete this version? Child versions will be relinked to this version's parent.": "Estàs segur que vols suprimir aquesta versió? Les versions filles es tornaran a enllaçar amb la versió principal d'aquesta versió.",
"Are you sure you want to delete this?": "Estàs segur que vols eliminar això", "Are you sure you want to delete this?": "Estàs segur que vols eliminar això",
@@ -332,10 +332,10 @@
"Click here to upload a workflow.json file.": "Clica aquí per pujar un arxiu workflow.json", "Click here to upload a workflow.json file.": "Clica aquí per pujar un arxiu workflow.json",
"click here.": "clica aquí.", "click here.": "clica aquí.",
"Click on the user role button to change a user's role.": "Clica sobre el botó de rol d'usuari per canviar el rol d'un usuari.", "Click on the user role button to change a user's role.": "Clica sobre el botó de rol d'usuari per canviar el rol d'un usuari.",
"Click to connect": "", "Click to connect": "Fes clic per connectar",
"Click to copy ID": "Fes clic per copiar l'ID", "Click to copy ID": "Fes clic per copiar l'ID",
"Client ID": "", "Client ID": "ID del client",
"Client Secret": "", "Client Secret": "Secret del client",
"Clipboard write permission denied. Please check your browser settings to grant the necessary access.": "Permís d'escriptura al porta-retalls denegat. Comprova els ajustos de navegador per donar l'accés necessari.", "Clipboard write permission denied. Please check your browser settings to grant the necessary access.": "Permís d'escriptura al porta-retalls denegat. Comprova els ajustos de navegador per donar l'accés necessari.",
"Clone": "Clonar", "Clone": "Clonar",
"Clone Chat": "Clonar el xat", "Clone Chat": "Clonar el xat",
@@ -387,7 +387,7 @@
"Configure": "Configurar", "Configure": "Configurar",
"Confirm": "Confirmar", "Confirm": "Confirmar",
"Confirm Password": "Confirmar la contrasenya", "Confirm Password": "Confirmar la contrasenya",
"Confirm Prompt from Embed": "", "Confirm Prompt from Embed": "Confirmar el prompt des de la incrustació",
"Confirm your action": "Confirma la teva acció", "Confirm your action": "Confirma la teva acció",
"Confirm your new password": "Confirma la teva nova contrasenya", "Confirm your new password": "Confirma la teva nova contrasenya",
"Confirm Your Password": "Confirma la teva contrasenya", "Confirm Your Password": "Confirma la teva contrasenya",
@@ -396,7 +396,7 @@
"Connect to Open Terminal instances. All users will have access to file browsing and terminal tools through these servers.": "Connecta't a instàncies d'Open Terminal. Tots els usuaris tindran accés a la navegació de fitxers i a les eines del terminal a través d'aquests servidors.", "Connect to Open Terminal instances. All users will have access to file browsing and terminal tools through these servers.": "Connecta't a instàncies d'Open Terminal. Tots els usuaris tindran accés a la navegació de fitxers i a les eines del terminal a través d'aquests servidors.",
"Connect to your own OpenAI compatible API endpoints.": "Connecta als teus propis punts de connexió de l'API compatible amb OpenAI", "Connect to your own OpenAI compatible API endpoints.": "Connecta als teus propis punts de connexió de l'API compatible amb OpenAI",
"Connect to your own OpenAPI compatible external tool servers.": "Connecta als teus propis servidors d'eines externs compatibles amb OpenAPI", "Connect to your own OpenAPI compatible external tool servers.": "Connecta als teus propis servidors d'eines externs compatibles amb OpenAPI",
"Connected ({{type}})": "", "Connected ({{type}})": "Connectat ({{type}})",
"Connection failed": "La connexió ha fallat", "Connection failed": "La connexió ha fallat",
"Connection successful": "Connexió correcta", "Connection successful": "Connexió correcta",
"Connection Type": "Tipus de connexió", "Connection Type": "Tipus de connexió",
@@ -437,7 +437,7 @@
"Copying to clipboard was successful!": "La còpia al porta-retalls s'ha realitzat correctament", "Copying to clipboard was successful!": "La còpia al porta-retalls s'ha realitzat correctament",
"CORS must be properly configured by the provider to allow requests from Open WebUI.": "CORS ha de ser configurat correctament pel proveïdor per permetre les sol·licituds d'Open WebUI", "CORS must be properly configured by the provider to allow requests from Open WebUI.": "CORS ha de ser configurat correctament pel proveïdor per permetre les sol·licituds d'Open WebUI",
"Could not read file.": "No s'ha pogut llegir l'arxiu", "Could not read file.": "No s'ha pogut llegir l'arxiu",
"CPU": "", "CPU": "CPU",
"Create": "Crear", "Create": "Crear",
"Create a knowledge base": "Crear una base de coneixement", "Create a knowledge base": "Crear una base de coneixement",
"Create a model": "Crear un model", "Create a model": "Crear un model",
@@ -509,10 +509,10 @@
"Delete File": "Eliminar el fitxer", "Delete File": "Eliminar el fitxer",
"Delete folder?": "Eliminar la carpeta?", "Delete folder?": "Eliminar la carpeta?",
"Delete function?": "Eliminar funció?", "Delete function?": "Eliminar funció?",
"Delete Memory?": "", "Delete Memory?": "Eliminar memòria?",
"Delete Message": "Eliminar el missatge", "Delete Message": "Eliminar el missatge",
"Delete message?": "Eliminar el missatge?", "Delete message?": "Eliminar el missatge?",
"Delete Model": "Eliminar model", "Delete Model": "Eliminar model?",
"Delete note?": "Eliminar la nota?", "Delete note?": "Eliminar la nota?",
"Delete prompt?": "Eliminar indicació?", "Delete prompt?": "Eliminar indicació?",
"Delete skill?": "Eliminar l'habilitat?", "Delete skill?": "Eliminar l'habilitat?",
@@ -523,7 +523,7 @@
"Deleted": "Eliminat", "Deleted": "Eliminat",
"Deleted {{deleteModelTag}}": "S'ha eliminat {{deleteModelTag}}", "Deleted {{deleteModelTag}}": "S'ha eliminat {{deleteModelTag}}",
"Deleted {{name}}": "S'ha eliminat {{name}}", "Deleted {{name}}": "S'ha eliminat {{name}}",
"Deleted {{ok}} of {{total}} items": "", "Deleted {{ok}} of {{total}} items": "S'han eliminat {{ok}} de {{total}} ítems",
"Deleted User": "Usuari eliminat", "Deleted User": "Usuari eliminat",
"Deployment names are required for Azure OpenAI": "Els noms de desplegament són requerits per Azure OpenAI", "Deployment names are required for Azure OpenAI": "Els noms de desplegament són requerits per Azure OpenAI",
"Desc": "Descendent", "Desc": "Descendent",
@@ -532,7 +532,7 @@
"Describe what changed...": "Descriu què ha canviat...", "Describe what changed...": "Descriu què ha canviat...",
"Describe your knowledge base and objectives": "Descriu la teva base de coneixement i objectius", "Describe your knowledge base and objectives": "Descriu la teva base de coneixement i objectius",
"Description": "Descripció", "Description": "Descripció",
"Deselect": "", "Deselect": "Deseleccionar",
"Detect Artifacts Automatically": "Detectar automàticament els artefactes", "Detect Artifacts Automatically": "Detectar automàticament els artefactes",
"Dictate": "Dictar", "Dictate": "Dictar",
"Didn't fully follow instructions": "No s'han seguit les instruccions completament", "Didn't fully follow instructions": "No s'han seguit les instruccions completament",
@@ -795,8 +795,8 @@
"Enter Your Username": "Introdueix el teu nom d'usuari", "Enter Your Username": "Introdueix el teu nom d'usuari",
"Enter your webhook URL": "Introdueix la URL del webhook", "Enter your webhook URL": "Introdueix la URL del webhook",
"Entra ID": "Introdueix l'ID", "Entra ID": "Introdueix l'ID",
"Environment Variables": "", "Environment Variables": "Variables d'entorn",
"Ephemeral": "", "Ephemeral": "Efímer",
"Error": "Error", "Error": "Error",
"ERROR": "ERROR", "ERROR": "ERROR",
"Error accessing directory": "Error en accedir al directori", "Error accessing directory": "Error en accedir al directori",
@@ -823,8 +823,8 @@
"Experimental": "Experimental", "Experimental": "Experimental",
"Explain": "Explicar", "Explain": "Explicar",
"Explore the cosmos": "Explorar el cosmos", "Explore the cosmos": "Explorar el cosmos",
"Explored": "", "Explored": "Explorat",
"Exploring": "", "Exploring": "Explorant",
"Export": "Exportar", "Export": "Exportar",
"Export All Archived Chats": "Exportar tots els xats arxivats", "Export All Archived Chats": "Exportar tots els xats arxivats",
"Export All Chats (All Users)": "Exportar tots els xats (Tots els usuaris)", "Export All Chats (All Users)": "Exportar tots els xats (Tots els usuaris)",
@@ -875,7 +875,7 @@
"Failed to save connections": "No s'han pogut desar les connexions", "Failed to save connections": "No s'han pogut desar les connexions",
"Failed to save conversation": "No s'ha pogut desar la conversa", "Failed to save conversation": "No s'ha pogut desar la conversa",
"Failed to save models configuration": "No s'ha pogut desar la configuració dels models", "Failed to save models configuration": "No s'ha pogut desar la configuració dels models",
"Failed to save policy: {{error}}": "", "Failed to save policy: {{error}}": "No s'ha pogut desar la política: {{error}}",
"Failed to save terminal servers": "No s'han pogut desar els servidors de terminal", "Failed to save terminal servers": "No s'han pogut desar els servidors de terminal",
"Failed to unshare chat.": "No s'ha pogut deixar de compartir el xat.", "Failed to unshare chat.": "No s'ha pogut deixar de compartir el xat.",
"Failed to update settings": "No s'han pogut actualitzar les preferències", "Failed to update settings": "No s'han pogut actualitzar les preferències",
@@ -891,7 +891,7 @@
"Feedback History": "Històric de comentaris", "Feedback History": "Històric de comentaris",
"Feel free to add specific details": "Sent-te lliure d'afegir detalls específics", "Feel free to add specific details": "Sent-te lliure d'afegir detalls específics",
"Female": "Dona", "Female": "Dona",
"Fetch URL Content Length Limit": "", "Fetch URL Content Length Limit": "Límit de longitud del contingut de l'URL",
"File": "Arxiu", "File": "Arxiu",
"File added successfully.": "L'arxiu s'ha afegit correctament.", "File added successfully.": "L'arxiu s'ha afegit correctament.",
"File attached to chat": "L'arxiu s'ha adjuntat al xat", "File attached to chat": "L'arxiu s'ha adjuntat al xat",
@@ -946,7 +946,7 @@
"Format Lines": "Formatar les línies", "Format Lines": "Formatar les línies",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "Formata les línies a la sortida. Per defecte, és Fals. Si es defineix com a Cert, les línies es formataran per detectar matemàtiques i estils en línia.", "Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "Formata les línies a la sortida. Per defecte, és Fals. Si es defineix com a Cert, les línies es formataran per detectar matemàtiques i estils en línia.",
"Formatting may be inconsistent from source.": "La formatació pot ser inconsistent amb l'origen", "Formatting may be inconsistent from source.": "La formatació pot ser inconsistent amb l'origen",
"Forward": "", "Forward": "Endavant",
"Forwards system user OAuth access token to authenticate": "Reenvia el testimoni d'accés OAuth de l'usuari del sistema per autenticar-se.", "Forwards system user OAuth access token to authenticate": "Reenvia el testimoni d'accés OAuth de l'usuari del sistema per autenticar-se.",
"Forwards system user session credentials to authenticate": "Envia les credencials de l'usuari del sistema per autenticar", "Forwards system user session credentials to authenticate": "Envia les credencials de l'usuari del sistema per autenticar",
"Full Context Mode": "Mode de context complert", "Full Context Mode": "Mode de context complert",
@@ -1034,7 +1034,7 @@
"ID": "ID", "ID": "ID",
"ID cannot contain \":\" or \"|\" characters": "L'ID no pot contenir caràcters \":\" ni \"|\"", "ID cannot contain \":\" or \"|\" characters": "L'ID no pot contenir caràcters \":\" ni \"|\"",
"ID copied to clipboard": "L'ID s'ha copiat al portaretalls", "ID copied to clipboard": "L'ID s'ha copiat al portaretalls",
"Idle Timeout": "", "Idle Timeout": "Temps d'espera d'inactivitat",
"iframe Sandbox Allow Forms": "Permetre formularis sandbox iframe", "iframe Sandbox Allow Forms": "Permetre formularis sandbox iframe",
"iframe Sandbox Allow Same Origin": "Permetre same-origin sandbox iframe", "iframe Sandbox Allow Same Origin": "Permetre same-origin sandbox iframe",
"Ignite curiosity": "Despertar la curiositat", "Ignite curiosity": "Despertar la curiositat",
@@ -1205,7 +1205,7 @@
"Max Speakers": "Nombre màxim d'altaveus", "Max Speakers": "Nombre màxim d'altaveus",
"Max Upload Count": "Nombre màxim de càrregues", "Max Upload Count": "Nombre màxim de càrregues",
"Max Upload Size": "Mida màxima de càrrega", "Max Upload Size": "Mida màxima de càrrega",
"Maximum characters to return from fetched URLs. Leave empty for no limit.": "", "Maximum characters to return from fetched URLs. Leave empty for no limit.": "Caràcters màxims que es retornen de les URL recuperades. Deixa-ho en blanc si no hi ha límit.",
"Maximum number of files allowed per folder.": "Nombre màxim de fitxers permès per carpeta.", "Maximum number of files allowed per folder.": "Nombre màxim de fitxers permès per carpeta.",
"Maximum number of files per folder is {{max}}.": "El nombre màxim de fitxers per carpeta és {{max}}.", "Maximum number of files per folder is {{max}}.": "El nombre màxim de fitxers per carpeta és {{max}}.",
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Es poden descarregar un màxim de 3 models simultàniament. Si us plau, prova-ho més tard.", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Es poden descarregar un màxim de 3 models simultàniament. Si us plau, prova-ho més tard.",
@@ -1237,7 +1237,7 @@
"Microsoft OneDrive": "Microsoft OneDrive", "Microsoft OneDrive": "Microsoft OneDrive",
"Microsoft OneDrive (personal)": "Microsoft OneDrive (personal)", "Microsoft OneDrive (personal)": "Microsoft OneDrive (personal)",
"Microsoft OneDrive (work/school)": "Microsoft OneDrive (feina/escola)", "Microsoft OneDrive (work/school)": "Microsoft OneDrive (feina/escola)",
"min": "", "min": "mínim",
"MinerU": "MinerU", "MinerU": "MinerU",
"MinerU API Key required for Cloud API mode.": "És necessària la clau API de MinerU pel mode Cloud API", "MinerU API Key required for Cloud API mode.": "És necessària la clau API de MinerU pel mode Cloud API",
"Mistral OCR": "Mistral OCR", "Mistral OCR": "Mistral OCR",
@@ -1343,7 +1343,7 @@
"No kernel": "No hi ha cap kernel", "No kernel": "No hi ha cap kernel",
"No knowledge bases found.": "No s'han trobat bases de coneixement.", "No knowledge bases found.": "No s'han trobat bases de coneixement.",
"No knowledge found": "No s'ha trobat Coneixement", "No knowledge found": "No s'ha trobat Coneixement",
"No limit": "", "No limit": "Sense límit",
"No memories to clear": "No hi ha memòries per netejar", "No memories to clear": "No hi ha memòries per netejar",
"No model IDs": "No hi ha IDs de model", "No model IDs": "No hi ha IDs de model",
"No models available": "No hi ha models disponibles", "No models available": "No hi ha models disponibles",
@@ -1387,7 +1387,7 @@
"November": "Novembre", "November": "Novembre",
"OAuth": "OAuth", "OAuth": "OAuth",
"OAuth 2.1": "OAuth 2.1", "OAuth 2.1": "OAuth 2.1",
"OAuth 2.1 (Static)": "", "OAuth 2.1 (Static)": "OAuth 2.1 (Estàtic)",
"OAuth ID": "ID OAuth", "OAuth ID": "ID OAuth",
"October": "Octubre", "October": "Octubre",
"Off": "Desactivat", "Off": "Desactivat",
@@ -1417,7 +1417,7 @@
"Oops! You're using an unsupported method (frontend only). Please serve the WebUI from the backend.": "Ui! Estàs utilitzant un mètode no suportat (només frontend). Si us plau, serveix la WebUI des del backend.", "Oops! You're using an unsupported method (frontend only). Please serve the WebUI from the backend.": "Ui! Estàs utilitzant un mètode no suportat (només frontend). Si us plau, serveix la WebUI des del backend.",
"Open file": "Obrir arxiu", "Open file": "Obrir arxiu",
"Open in full screen": "Obrir en pantalla complerta", "Open in full screen": "Obrir en pantalla complerta",
"Open in new tab": "", "Open in new tab": "Obrir en una nova pestanya",
"Open link": "Obrir l'enllaç", "Open link": "Obrir l'enllaç",
"Open modal to configure connection": "Obre el modal per configurar la connexió", "Open modal to configure connection": "Obre el modal per configurar la connexió",
"Open Modal To Manage Floating Quick Actions": "Obre el model per configurar les Accions ràpides flotants", "Open Modal To Manage Floating Quick Actions": "Obre el model per configurar les Accions ràpides flotants",
@@ -1478,7 +1478,7 @@
"Perplexity Model": "Model de Perplexity", "Perplexity Model": "Model de Perplexity",
"Perplexity Search API URL": "URL API per a Perplexity Search", "Perplexity Search API URL": "URL API per a Perplexity Search",
"Perplexity Search Context Usage": "Utilització del context de cerca de Perplexity", "Perplexity Search Context Usage": "Utilització del context de cerca de Perplexity",
"Persistent": "", "Persistent": "Persistent",
"Personalization": "Personalització", "Personalization": "Personalització",
"Pin": "Fixar", "Pin": "Fixar",
"Pinned": "Fixat", "Pinned": "Fixat",
@@ -1498,7 +1498,7 @@
"Playwright Timeout (ms)": "Temps d'espera (ms) de Playwright", "Playwright Timeout (ms)": "Temps d'espera (ms) de Playwright",
"Playwright WebSocket URL": "URL del WebSocket de Playwright", "Playwright WebSocket URL": "URL del WebSocket de Playwright",
"Please carefully review the following warnings:": "Si us plau, revisa els següents avisos amb cura:", "Please carefully review the following warnings:": "Si us plau, revisa els següents avisos amb cura:",
"Please connect all required integrations before sending a message": "", "Please connect all required integrations before sending a message": "Si us plau, connecta totes les integracions necessàries abans d'enviar un missatge.",
"Please do not close the settings page while loading the model.": "No tanquis la pàgina de configuració mentre carregues el model.", "Please do not close the settings page while loading the model.": "No tanquis la pàgina de configuració mentre carregues el model.",
"Please enter a message or attach a file.": "Introdueix un missatge o adjunta un arxiu", "Please enter a message or attach a file.": "Introdueix un missatge o adjunta un arxiu",
"Please enter a prompt": "Si us plau, entra una indicació", "Please enter a prompt": "Si us plau, entra una indicació",
@@ -1507,7 +1507,7 @@
"Please enter a valid path": "Si us plau, entra un camí vàlid", "Please enter a valid path": "Si us plau, entra un camí vàlid",
"Please enter a valid URL": "Si us plau, entra una URL vàlida", "Please enter a valid URL": "Si us plau, entra una URL vàlida",
"Please enter a valid URL.": "Si us plau, entra una URL vàlida.", "Please enter a valid URL.": "Si us plau, entra una URL vàlida.",
"Please enter Client ID and Client Secret": "", "Please enter Client ID and Client Secret": "Si us plau, introdueix l'ID de client i el secret del client.",
"Please fill in all fields.": "Emplena tots els camps, si us plau.", "Please fill in all fields.": "Emplena tots els camps, si us plau.",
"Please register the OAuth client": "Si us plau, registra el client OAuth", "Please register the OAuth client": "Si us plau, registra el client OAuth",
"Please save the connection to persist the OAuth client information and do not change the ID": "Si us plau, desa la connexió per conservar la informació del client OAuth i no canviïs l'ID.", "Please save the connection to persist the OAuth client information and do not change the ID": "Si us plau, desa la connexió per conservar la informació del client OAuth i no canviïs l'ID.",
@@ -1517,7 +1517,7 @@
"Please select a valid JSON file": "Si us plau, selecciona un arxiu JSON vàlid", "Please select a valid JSON file": "Si us plau, selecciona un arxiu JSON vàlid",
"Please select at least one user for Direct Message channel.": "Selecciona com a mínim un usuari per al canal de missatge directe.", "Please select at least one user for Direct Message channel.": "Selecciona com a mínim un usuari per al canal de missatge directe.",
"Please wait until all files are uploaded.": "Si us plau, espera fins que s'hagin carregat tots els fitxers.", "Please wait until all files are uploaded.": "Si us plau, espera fins que s'hagin carregat tots els fitxers.",
"Policy ID": "", "Policy ID": "ID de política",
"Port": "Port", "Port": "Port",
"Ports": "Ports", "Ports": "Ports",
"Positive attitude": "Actitud positiva", "Positive attitude": "Actitud positiva",
@@ -1554,8 +1554,8 @@
"Querying": "Consultes", "Querying": "Consultes",
"Quick Actions": "Accions ràpides", "Quick Actions": "Accions ràpides",
"RAG Template": "Plantilla RAG", "RAG Template": "Plantilla RAG",
"Ran {{COUNT}} analyses": "", "Ran {{COUNT}} analyses": "S'han executat {{COUNT}} anàlisis",
"Ran {{COUNT}} analysis": "", "Ran {{COUNT}} analysis": "S'han executat {{COUNT}} anàlisis",
"Rate {{rating}} out of 10": "Nota {{rating} sobre 10", "Rate {{rating}} out of 10": "Nota {{rating} sobre 10",
"Rating": "Valoració", "Rating": "Valoració",
"Re-rank models by topic similarity": "Reclassificar els models per similitud de temes", "Re-rank models by topic similarity": "Reclassificar els models per similitud de temes",
@@ -1599,7 +1599,7 @@
"Remove image": "Eliminar imatge", "Remove image": "Eliminar imatge",
"Remove Model": "Eliminar el model", "Remove Model": "Eliminar el model",
"Rename": "Canviar el nom", "Rename": "Canviar el nom",
"Renamed to {{name}}": "", "Renamed to {{name}}": "S'ha renombrat a {{name}}",
"Render Markdown in Previews": "Compila el Markdown a les previsualitzacions", "Render Markdown in Previews": "Compila el Markdown a les previsualitzacions",
"Reorder Models": "Reordenar els models", "Reorder Models": "Reordenar els models",
"Reply": "Respondre", "Reply": "Respondre",
@@ -1666,7 +1666,7 @@
"Search Groups": "Cercar grups", "Search Groups": "Cercar grups",
"Search In Models": "Cercar als models", "Search In Models": "Cercar als models",
"Search Knowledge": "Cercar coneixement", "Search Knowledge": "Cercar coneixement",
"Search Memories": "", "Search Memories": "Cercar memòries",
"Search Models": "Cercar models", "Search Models": "Cercar models",
"Search Notes": "Cercar notes", "Search Notes": "Cercar notes",
"Search options": "Opcions de cerca", "Search options": "Opcions de cerca",
@@ -1708,7 +1708,7 @@
"Select a theme": "Seleccionar un tema", "Select a theme": "Seleccionar un tema",
"Select a tool": "Seleccionar una eina", "Select a tool": "Seleccionar una eina",
"Select a voice": "Seleccionar una veu", "Select a voice": "Seleccionar una veu",
"Select All": "", "Select All": "Seleccionar tot",
"Select an auth method": "Seleccionar un mètode d'autenticació", "Select an auth method": "Seleccionar un mètode d'autenticació",
"Select an embedding model engine": "Seleccionar un motor d'incrustació", "Select an embedding model engine": "Seleccionar un motor d'incrustació",
"Select an engine": "Seleccionar un motor", "Select an engine": "Seleccionar un motor",
@@ -1737,7 +1737,7 @@
"Serper API Key": "Clau API de Serper", "Serper API Key": "Clau API de Serper",
"Serply API Key": "Clau API de Serply", "Serply API Key": "Clau API de Serply",
"Serpstack API Key": "Clau API de Serpstack", "Serpstack API Key": "Clau API de Serpstack",
"Server connection failed": "", "Server connection failed": "La connexió al servidor ha fallat",
"Server connection verified": "Connexió al servidor verificada", "Server connection verified": "Connexió al servidor verificada",
"Session": "Sessió", "Session": "Sessió",
"Set as default": "Establir com a predeterminat", "Set as default": "Establir com a predeterminat",
@@ -1839,7 +1839,7 @@
"Stop Download": "Aturar la descàrrega", "Stop Download": "Aturar la descàrrega",
"Stop Generating": "Aturar la generació", "Stop Generating": "Aturar la generació",
"Stop Sequence": "Atura la seqüència", "Stop Sequence": "Atura la seqüència",
"Storage": "", "Storage": "Emmagatzematge",
"Stream Chat Response": "Fer streaming de la resposta del xat", "Stream Chat Response": "Fer streaming de la resposta del xat",
"Stream Delta Chunk Size": "Mida del fragment Delta del flux", "Stream Delta Chunk Size": "Mida del fragment Delta del flux",
"Streamable HTTP": "HTTP en estríming", "Streamable HTTP": "HTTP en estríming",
@@ -1938,7 +1938,7 @@
"This will delete all models including custom models and cannot be undone.": "Això eliminarà tots els models incloent els personalitzats i no es pot desfer", "This will delete all models including custom models and cannot be undone.": "Això eliminarà tots els models incloent els personalitzats i no es pot desfer",
"This will reset the knowledge base and sync all files. Do you wish to continue?": "Això restablirà la base de coneixement i sincronitzarà tots els fitxers. Vols continuar?", "This will reset the knowledge base and sync all files. Do you wish to continue?": "Això restablirà la base de coneixement i sincronitzarà tots els fitxers. Vols continuar?",
"Thorough explanation": "Explicació en detall", "Thorough explanation": "Explicació en detall",
"Thought": "", "Thought": "Pensament",
"Thought for {{DURATION}}": "He pensat durant {{DURATION}}", "Thought for {{DURATION}}": "He pensat durant {{DURATION}}",
"Thought for {{DURATION}} seconds": "He pensat durant {{DURATION}} segons", "Thought for {{DURATION}} seconds": "He pensat durant {{DURATION}} segons",
"Thought for less than a second": "He pensat menys d'un segon", "Thought for less than a second": "He pensat menys d'un segon",
@@ -1967,7 +1967,7 @@
"Today at {{LOCALIZED_TIME}}": "Avui a les {{LOCALIZED_TIME}}", "Today at {{LOCALIZED_TIME}}": "Avui a les {{LOCALIZED_TIME}}",
"Toggle {{COUNT}} sources": "Activa/Desactiva {{COUNT}} fonts", "Toggle {{COUNT}} sources": "Activa/Desactiva {{COUNT}} fonts",
"Toggle 1 source": "Activa/Desactiva 1 font", "Toggle 1 source": "Activa/Desactiva 1 font",
"Toggle details": "", "Toggle details": "Activar/Desactivar els detalls",
"Toggle Dictation": "Activa/Desactiva el dictat", "Toggle Dictation": "Activa/Desactiva el dictat",
"Toggle Sidebar": "Activa/Desactiva la barra lateral", "Toggle Sidebar": "Activa/Desactiva la barra lateral",
"Toggle status history": "Activa/Desactiva l'estat de l'històric", "Toggle status history": "Activa/Desactiva l'estat de l'històric",
+35 -35
View File
@@ -129,7 +129,7 @@
"Allow File Upload": "Salli tiedostojen lataus", "Allow File Upload": "Salli tiedostojen lataus",
"Allow Multiple Models in Chat": "Salli useampi malli keskustelussa", "Allow Multiple Models in Chat": "Salli useampi malli keskustelussa",
"Allow non-local voices": "Salli ei-paikalliset äänet", "Allow non-local voices": "Salli ei-paikalliset äänet",
"Allow public write access": "", "Allow public write access": "Salli julkinen kirjoitusoikeus",
"Allow Rate Response": "Salli viestien arviointi", "Allow Rate Response": "Salli viestien arviointi",
"Allow Regenerate Response": "Salli uudelleen regenerointi", "Allow Regenerate Response": "Salli uudelleen regenerointi",
"Allow Sharing With Users": "Salli jakaminen käyttäjien kesken", "Allow Sharing With Users": "Salli jakaminen käyttäjien kesken",
@@ -182,12 +182,12 @@
"Are you sure you want to archive all chats? This action cannot be undone.": "Haluatko varmasti arkistoida kaikki keskustelut? Tätä toimintoa ei voi peruuttaa.", "Are you sure you want to archive all chats? This action cannot be undone.": "Haluatko varmasti arkistoida kaikki keskustelut? Tätä toimintoa ei voi peruuttaa.",
"Are you sure you want to clear all memories? This action cannot be undone.": "Haluatko varmasti tyhjentää kaikki muistot? Tätä toimintoa ei voi peruuttaa.", "Are you sure you want to clear all memories? This action cannot be undone.": "Haluatko varmasti tyhjentää kaikki muistot? Tätä toimintoa ei voi peruuttaa.",
"Are you sure you want to delete \"{{NAME}}\"?": "Haluatko varmasti poistaa \"{{NAME}}\"?", "Are you sure you want to delete \"{{NAME}}\"?": "Haluatko varmasti poistaa \"{{NAME}}\"?",
"Are you sure you want to delete all chats? This action cannot be undone.": "Haluatko varamsti poistaa kaikki keskustelut? Tätä toimintoa ei voi peruuttaa.", "Are you sure you want to delete all chats? This action cannot be undone.": "Haluatko varmasti poistaa kaikki keskustelut? Tätä toimintoa ei voi peruuttaa.",
"Are you sure you want to delete this channel?": "Haluatko varmasti poistaa tämän kanavan?", "Are you sure you want to delete this channel?": "Haluatko varmasti poistaa tämän kanavan?",
"Are you sure you want to delete this connection? This action cannot be undone.": "", "Are you sure you want to delete this connection? This action cannot be undone.": "Haluatko varmasti poistaa yhteyden? Tätä toimintoa ei voi peruuttaa.",
"Are you sure you want to delete this memory? This action cannot be undone.": "", "Are you sure you want to delete this memory? This action cannot be undone.": "Haluatko varmasti poistaa muiston? Tätä toimintoa ei voi peruuttaa.",
"Are you sure you want to delete this message?": "Haluatko varmasti poistaa tämän viestin?", "Are you sure you want to delete this message?": "Haluatko varmasti poistaa tämän viestin?",
"Are you sure you want to delete this version? Child versions will be relinked to this version's parent.": "Haluatko varamsti poistaa tämän version? Alaversiot linkitetään uudelleen tämän version ylätason versioon.", "Are you sure you want to delete this version? Child versions will be relinked to this version's parent.": "Haluatko varmasti poistaa tämän version? Alaversiot linkitetään uudelleen tämän version ylätason versioon.",
"Are you sure you want to delete this?": "Haluatko varmasti poistää tämän?", "Are you sure you want to delete this?": "Haluatko varmasti poistää tämän?",
"Are you sure you want to unarchive all archived chats?": "Haluatko varmasti purkaa kaikkien arkistoitujen keskustelujen arkistoinnin?", "Are you sure you want to unarchive all archived chats?": "Haluatko varmasti purkaa kaikkien arkistoitujen keskustelujen arkistoinnin?",
"Arena Models": "Arena-mallit", "Arena Models": "Arena-mallit",
@@ -331,7 +331,7 @@
"Click here to upload a workflow.json file.": "Klikkaa tästä ladataksesi workflow.json-tiedosto.", "Click here to upload a workflow.json file.": "Klikkaa tästä ladataksesi workflow.json-tiedosto.",
"click here.": "klikkaa tästä.", "click here.": "klikkaa tästä.",
"Click on the user role button to change a user's role.": "Klikkaa käyttäjän roolipainiketta vaihtaaksesi käyttäjän roolia.", "Click on the user role button to change a user's role.": "Klikkaa käyttäjän roolipainiketta vaihtaaksesi käyttäjän roolia.",
"Click to connect": "", "Click to connect": "Klikkaa yhdistääksesi",
"Click to copy ID": "Klikkaa kopioidaksesi ID", "Click to copy ID": "Klikkaa kopioidaksesi ID",
"Client ID": "", "Client ID": "",
"Client Secret": "", "Client Secret": "",
@@ -386,7 +386,7 @@
"Configure": "Määritä", "Configure": "Määritä",
"Confirm": "Vahvista", "Confirm": "Vahvista",
"Confirm Password": "Vahvista salasana", "Confirm Password": "Vahvista salasana",
"Confirm Prompt from Embed": "", "Confirm Prompt from Embed": "Vahvista kehote upotuksesta",
"Confirm your action": "Vahvista toimintasi", "Confirm your action": "Vahvista toimintasi",
"Confirm your new password": "Vahvista uusi salasanasi", "Confirm your new password": "Vahvista uusi salasanasi",
"Confirm Your Password": "Vahvista salasanasi", "Confirm Your Password": "Vahvista salasanasi",
@@ -395,7 +395,7 @@
"Connect to Open Terminal instances. All users will have access to file browsing and terminal tools through these servers.": "Yhdistä Open Terminal -instansseihin. Kaikilla käyttäjillä on pääsy tiedostojen selaamiseen ja päätetyökaluihin näiden palvelimien kautta.", "Connect to Open Terminal instances. All users will have access to file browsing and terminal tools through these servers.": "Yhdistä Open Terminal -instansseihin. Kaikilla käyttäjillä on pääsy tiedostojen selaamiseen ja päätetyökaluihin näiden palvelimien kautta.",
"Connect to your own OpenAI compatible API endpoints.": "Yhdistä omat OpenAI yhteensopivat API päätepisteet.", "Connect to your own OpenAI compatible API endpoints.": "Yhdistä omat OpenAI yhteensopivat API päätepisteet.",
"Connect to your own OpenAPI compatible external tool servers.": "Yhdistä omat ulkopuoliset OpenAPI yhteensopivat työkalu palvelimet.", "Connect to your own OpenAPI compatible external tool servers.": "Yhdistä omat ulkopuoliset OpenAPI yhteensopivat työkalu palvelimet.",
"Connected ({{type}})": "", "Connected ({{type}})": "Yhdistetty ({{type}})",
"Connection failed": "Yhteys epäonnistui", "Connection failed": "Yhteys epäonnistui",
"Connection successful": "Yhteys onnistui", "Connection successful": "Yhteys onnistui",
"Connection Type": "Yhteystyyppi", "Connection Type": "Yhteystyyppi",
@@ -508,7 +508,7 @@
"Delete File": "Poista tiedosto", "Delete File": "Poista tiedosto",
"Delete folder?": "Haluatko varmasti poistaa tämän kansion?", "Delete folder?": "Haluatko varmasti poistaa tämän kansion?",
"Delete function?": "Haluatko varmasti poistaa tämän toiminnon?", "Delete function?": "Haluatko varmasti poistaa tämän toiminnon?",
"Delete Memory?": "", "Delete Memory?": "Poista muisto?",
"Delete Message": "Poista viesti", "Delete Message": "Poista viesti",
"Delete message?": "Poista viesti?", "Delete message?": "Poista viesti?",
"Delete Model": "Poista malli", "Delete Model": "Poista malli",
@@ -522,7 +522,7 @@
"Deleted": "Poistettu", "Deleted": "Poistettu",
"Deleted {{deleteModelTag}}": "Poistettu {{deleteModelTag}}", "Deleted {{deleteModelTag}}": "Poistettu {{deleteModelTag}}",
"Deleted {{name}}": "Poistettu {{nimi}}", "Deleted {{name}}": "Poistettu {{nimi}}",
"Deleted {{ok}} of {{total}} items": "", "Deleted {{ok}} of {{total}} items": "Poistettu {{ok}}/{{total}} kohdetta",
"Deleted User": "Käyttäjä poistettu", "Deleted User": "Käyttäjä poistettu",
"Deployment names are required for Azure OpenAI": "Azure OpenAI:lle vaaditaan käyttöönottojen nimet", "Deployment names are required for Azure OpenAI": "Azure OpenAI:lle vaaditaan käyttöönottojen nimet",
"Desc": "Laskeva", "Desc": "Laskeva",
@@ -531,7 +531,7 @@
"Describe what changed...": "Kuvaile mikä muuttui...", "Describe what changed...": "Kuvaile mikä muuttui...",
"Describe your knowledge base and objectives": "Kuvaa tietokantasi ja tavoitteesi", "Describe your knowledge base and objectives": "Kuvaa tietokantasi ja tavoitteesi",
"Description": "Kuvaus", "Description": "Kuvaus",
"Deselect": "", "Deselect": "Poista valinta",
"Detect Artifacts Automatically": "Tunnista artefaktit automaattisesti", "Detect Artifacts Automatically": "Tunnista artefaktit automaattisesti",
"Dictate": "Sanele", "Dictate": "Sanele",
"Didn't fully follow instructions": "Ei noudattanut ohjeita täysin", "Didn't fully follow instructions": "Ei noudattanut ohjeita täysin",
@@ -794,7 +794,7 @@
"Enter Your Username": "Kirjoita käyttäjätunnuksesi", "Enter Your Username": "Kirjoita käyttäjätunnuksesi",
"Enter your webhook URL": "Kirjoita webhook osoitteesi", "Enter your webhook URL": "Kirjoita webhook osoitteesi",
"Entra ID": "Entra ID", "Entra ID": "Entra ID",
"Environment Variables": "", "Environment Variables": "Ympäristömuuttujat",
"Ephemeral": "", "Ephemeral": "",
"Error": "Virhe", "Error": "Virhe",
"ERROR": "VIRHE", "ERROR": "VIRHE",
@@ -822,8 +822,8 @@
"Experimental": "Kokeellinen", "Experimental": "Kokeellinen",
"Explain": "Selitä", "Explain": "Selitä",
"Explore the cosmos": "Tutki avaruutta", "Explore the cosmos": "Tutki avaruutta",
"Explored": "", "Explored": "Tutkittu",
"Exploring": "", "Exploring": "Tutkii",
"Export": "Vie", "Export": "Vie",
"Export All Archived Chats": "Vie kaikki arkistoidut keskustelut", "Export All Archived Chats": "Vie kaikki arkistoidut keskustelut",
"Export All Chats (All Users)": "Vie kaikki keskustelut (kaikki käyttäjät)", "Export All Chats (All Users)": "Vie kaikki keskustelut (kaikki käyttäjät)",
@@ -874,7 +874,7 @@
"Failed to save connections": "Yhteyksien tallentaminen epäonnistui", "Failed to save connections": "Yhteyksien tallentaminen epäonnistui",
"Failed to save conversation": "Keskustelun tallentaminen epäonnistui", "Failed to save conversation": "Keskustelun tallentaminen epäonnistui",
"Failed to save models configuration": "Mallien määrityksen tallentaminen epäonnistui", "Failed to save models configuration": "Mallien määrityksen tallentaminen epäonnistui",
"Failed to save policy: {{error}}": "", "Failed to save policy: {{error}}": "Käytännön tallentaminen epäonnistui: {{error}}",
"Failed to save terminal servers": "Päätepalvelimien tallennus epäonnistui", "Failed to save terminal servers": "Päätepalvelimien tallennus epäonnistui",
"Failed to unshare chat.": "Jaon lopettaminen epäonnistui.", "Failed to unshare chat.": "Jaon lopettaminen epäonnistui.",
"Failed to update settings": "Asetusten päivittäminen epäonnistui", "Failed to update settings": "Asetusten päivittäminen epäonnistui",
@@ -890,7 +890,7 @@
"Feedback History": "Palautehistoria", "Feedback History": "Palautehistoria",
"Feel free to add specific details": "Voit lisätä tarkempia tietoja", "Feel free to add specific details": "Voit lisätä tarkempia tietoja",
"Female": "Nainen", "Female": "Nainen",
"Fetch URL Content Length Limit": "", "Fetch URL Content Length Limit": "Noudetun URL-osoitteen sisällön pituusraja",
"File": "Tiedosto", "File": "Tiedosto",
"File added successfully.": "Tiedosto lisätty onnistuneesti.", "File added successfully.": "Tiedosto lisätty onnistuneesti.",
"File attached to chat": "Tiedosto liitety keskusteluun", "File attached to chat": "Tiedosto liitety keskusteluun",
@@ -945,7 +945,7 @@
"Format Lines": "Muotoile rivit", "Format Lines": "Muotoile rivit",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "Muotoile rivit. Oletusarvo on False. Jos arvo on True, rivit muotoillaan siten, että ne havaitsevat riviin liitetyn matematiikan ja tyylit.", "Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "Muotoile rivit. Oletusarvo on False. Jos arvo on True, rivit muotoillaan siten, että ne havaitsevat riviin liitetyn matematiikan ja tyylit.",
"Formatting may be inconsistent from source.": "Muotoilu voi poiketa alkuperäisestä.", "Formatting may be inconsistent from source.": "Muotoilu voi poiketa alkuperäisestä.",
"Forward": "", "Forward": "Eteenpäin",
"Forwards system user OAuth access token to authenticate": "Välittää järjestelmä käyttäjän OAuth tunniste todennuksessa", "Forwards system user OAuth access token to authenticate": "Välittää järjestelmä käyttäjän OAuth tunniste todennuksessa",
"Forwards system user session credentials to authenticate": "Välittää järjestelmän käyttäjän istunnon tunnistetiedot todennusta varten", "Forwards system user session credentials to authenticate": "Välittää järjestelmän käyttäjän istunnon tunnistetiedot todennusta varten",
"Full Context Mode": "Koko kontekstitila", "Full Context Mode": "Koko kontekstitila",
@@ -1033,7 +1033,7 @@
"ID": "Tunnus", "ID": "Tunnus",
"ID cannot contain \":\" or \"|\" characters": "ID ei voi sisältää \":\" tai \"|\" kirjaimia", "ID cannot contain \":\" or \"|\" characters": "ID ei voi sisältää \":\" tai \"|\" kirjaimia",
"ID copied to clipboard": "ID kopioitu leikepöydälle", "ID copied to clipboard": "ID kopioitu leikepöydälle",
"Idle Timeout": "", "Idle Timeout": "Aikakatkaisu",
"iframe Sandbox Allow Forms": "Salli lomakkeet iframe hiekkalaatikossa", "iframe Sandbox Allow Forms": "Salli lomakkeet iframe hiekkalaatikossa",
"iframe Sandbox Allow Same Origin": "Salli iframe hiekkalaatikko samasta alkuperästä", "iframe Sandbox Allow Same Origin": "Salli iframe hiekkalaatikko samasta alkuperästä",
"Ignite curiosity": "Sytytä uteliaisuus", "Ignite curiosity": "Sytytä uteliaisuus",
@@ -1204,7 +1204,7 @@
"Max Speakers": "Puhujien enimmäismäärä", "Max Speakers": "Puhujien enimmäismäärä",
"Max Upload Count": "Latausten enimmäismäärä", "Max Upload Count": "Latausten enimmäismäärä",
"Max Upload Size": "Latausten enimmäiskoko", "Max Upload Size": "Latausten enimmäiskoko",
"Maximum characters to return from fetched URLs. Leave empty for no limit.": "", "Maximum characters to return from fetched URLs. Leave empty for no limit.": "Maksimimerkkimäärä haetuista URL-osoitteista. Jätä tyhjäksi, jos et halua rajoitusta.",
"Maximum number of files allowed per folder.": "Kansiota kohden sallittujen tiedostojen enimmäismäärä.", "Maximum number of files allowed per folder.": "Kansiota kohden sallittujen tiedostojen enimmäismäärä.",
"Maximum number of files per folder is {{max}}.": "Tiedostojen enimmäismäärä kansiossa on {{max}}.", "Maximum number of files per folder is {{max}}.": "Tiedostojen enimmäismäärä kansiossa on {{max}}.",
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Enintään 3 mallia voidaan ladata samanaikaisesti. Yritä myöhemmin uudelleen.", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Enintään 3 mallia voidaan ladata samanaikaisesti. Yritä myöhemmin uudelleen.",
@@ -1342,7 +1342,7 @@
"No kernel": "Ei kerneliä", "No kernel": "Ei kerneliä",
"No knowledge bases found.": "Tietokantoja ei löytynyt.", "No knowledge bases found.": "Tietokantoja ei löytynyt.",
"No knowledge found": "Tietoa ei löytynyt", "No knowledge found": "Tietoa ei löytynyt",
"No limit": "", "No limit": "Ei rajoituksia",
"No memories to clear": "Ei muistia tyhjennettäväksi", "No memories to clear": "Ei muistia tyhjennettäväksi",
"No model IDs": "Ei mallitunnuksia", "No model IDs": "Ei mallitunnuksia",
"No models available": "Malleja ei saatavilla", "No models available": "Malleja ei saatavilla",
@@ -1386,7 +1386,7 @@
"November": "marraskuu", "November": "marraskuu",
"OAuth": "OAuth", "OAuth": "OAuth",
"OAuth 2.1": "OAuth 2.1", "OAuth 2.1": "OAuth 2.1",
"OAuth 2.1 (Static)": "", "OAuth 2.1 (Static)": "OAuth 2.1 (Staattinen)",
"OAuth ID": "OAuth-tunnus", "OAuth ID": "OAuth-tunnus",
"October": "lokakuu", "October": "lokakuu",
"Off": "Pois päältä", "Off": "Pois päältä",
@@ -1416,7 +1416,7 @@
"Oops! You're using an unsupported method (frontend only). Please serve the WebUI from the backend.": "Hups! Käytät ei-tuettua menetelmää (vain frontend). Palvele WebUI:ta backendistä.", "Oops! You're using an unsupported method (frontend only). Please serve the WebUI from the backend.": "Hups! Käytät ei-tuettua menetelmää (vain frontend). Palvele WebUI:ta backendistä.",
"Open file": "Avaa tiedosto", "Open file": "Avaa tiedosto",
"Open in full screen": "Avaa koko näytön tilaan", "Open in full screen": "Avaa koko näytön tilaan",
"Open in new tab": "", "Open in new tab": "Avaa uusi välilehti",
"Open link": "Avaa linkki", "Open link": "Avaa linkki",
"Open modal to configure connection": "Avaa modaali yhteyden määrittämiseksi", "Open modal to configure connection": "Avaa modaali yhteyden määrittämiseksi",
"Open Modal To Manage Floating Quick Actions": "Avaa modaali kelluvien pikatoimintojen hallitsemiseksi", "Open Modal To Manage Floating Quick Actions": "Avaa modaali kelluvien pikatoimintojen hallitsemiseksi",
@@ -1424,7 +1424,7 @@
"Open Model Selector": "Avaa mallinvalitsin", "Open Model Selector": "Avaa mallinvalitsin",
"Open Settings": "Avaa asetukset", "Open Settings": "Avaa asetukset",
"Open Sidebar": "Avaa sivupalkki", "Open Sidebar": "Avaa sivupalkki",
"Open Terminal": "Avaa pääte", "Open Terminal": "Open Terminal",
"Open User Profile Menu": "Avaa käyttäjäprofiili ikkuna", "Open User Profile Menu": "Avaa käyttäjäprofiili ikkuna",
"Open WebUI can use tools provided by any OpenAPI server.": "Open WebUI voi käyttää minkä tahansa OpenAPI-palvelimen tarjoamia työkaluja.", "Open WebUI can use tools provided by any OpenAPI server.": "Open WebUI voi käyttää minkä tahansa OpenAPI-palvelimen tarjoamia työkaluja.",
"Open WebUI uses faster-whisper internally.": "Open WebUI käyttää faster-whisperia sisäisesti.", "Open WebUI uses faster-whisper internally.": "Open WebUI käyttää faster-whisperia sisäisesti.",
@@ -1477,7 +1477,7 @@
"Perplexity Model": "Perplexity malli", "Perplexity Model": "Perplexity malli",
"Perplexity Search API URL": "Perplexity Search API verkko-osoite", "Perplexity Search API URL": "Perplexity Search API verkko-osoite",
"Perplexity Search Context Usage": "Perplexity Search kontekstin käyttö", "Perplexity Search Context Usage": "Perplexity Search kontekstin käyttö",
"Persistent": "", "Persistent": "Pysyvä",
"Personalization": "Personointi", "Personalization": "Personointi",
"Pin": "Kiinnitä", "Pin": "Kiinnitä",
"Pinned": "Kiinnitetty", "Pinned": "Kiinnitetty",
@@ -1497,7 +1497,7 @@
"Playwright Timeout (ms)": "Playwright aikakatkaisu (ms)", "Playwright Timeout (ms)": "Playwright aikakatkaisu (ms)",
"Playwright WebSocket URL": "Playwright WebSocket verkko-osoite", "Playwright WebSocket URL": "Playwright WebSocket verkko-osoite",
"Please carefully review the following warnings:": "Tarkista huolellisesti seuraavat varoitukset:", "Please carefully review the following warnings:": "Tarkista huolellisesti seuraavat varoitukset:",
"Please connect all required integrations before sending a message": "", "Please connect all required integrations before sending a message": "Yhdistä kaikki vaaditut integraatiot ennen viestin lähettämistä.",
"Please do not close the settings page while loading the model.": "Älä sulje asetussivua mallin latautuessa.", "Please do not close the settings page while loading the model.": "Älä sulje asetussivua mallin latautuessa.",
"Please enter a message or attach a file.": "Kirjoita viesti tai liittä tiedosto.", "Please enter a message or attach a file.": "Kirjoita viesti tai liittä tiedosto.",
"Please enter a prompt": "Kirjoita kehote", "Please enter a prompt": "Kirjoita kehote",
@@ -1506,7 +1506,7 @@
"Please enter a valid path": "Kirjoita kelvollinen polku", "Please enter a valid path": "Kirjoita kelvollinen polku",
"Please enter a valid URL": "Kirjoita kelvollinen verkko-osoite", "Please enter a valid URL": "Kirjoita kelvollinen verkko-osoite",
"Please enter a valid URL.": "Kirjoita kelvollinen verkko-osoite", "Please enter a valid URL.": "Kirjoita kelvollinen verkko-osoite",
"Please enter Client ID and Client Secret": "", "Please enter Client ID and Client Secret": "Kirjoita Client ID ja Client Secret",
"Please fill in all fields.": "Täytä kaikki kentät.", "Please fill in all fields.": "Täytä kaikki kentät.",
"Please register the OAuth client": "Rekisteröi OAuth asiakasohjelma", "Please register the OAuth client": "Rekisteröi OAuth asiakasohjelma",
"Please save the connection to persist the OAuth client information and do not change the ID": "Tallenna yhteys, jotta OAuth-asiakastiedot säilyvät, äläkä muuta tunnusta.", "Please save the connection to persist the OAuth client information and do not change the ID": "Tallenna yhteys, jotta OAuth-asiakastiedot säilyvät, äläkä muuta tunnusta.",
@@ -1516,7 +1516,7 @@
"Please select a valid JSON file": "Valitse kelvollinen JSON-tiedosto", "Please select a valid JSON file": "Valitse kelvollinen JSON-tiedosto",
"Please select at least one user for Direct Message channel.": "Valitse vähintään yksi käyttäjä suoraviestikanavalle.", "Please select at least one user for Direct Message channel.": "Valitse vähintään yksi käyttäjä suoraviestikanavalle.",
"Please wait until all files are uploaded.": "Odota kunnes kaikki tiedostot ovat ladattu.", "Please wait until all files are uploaded.": "Odota kunnes kaikki tiedostot ovat ladattu.",
"Policy ID": "", "Policy ID": "Käytännön ID",
"Port": "Portti", "Port": "Portti",
"Ports": "Portit", "Ports": "Portit",
"Positive attitude": "Positiivinen asenne", "Positive attitude": "Positiivinen asenne",
@@ -1553,8 +1553,8 @@
"Querying": "Kysely", "Querying": "Kysely",
"Quick Actions": "Pikatoiminnot", "Quick Actions": "Pikatoiminnot",
"RAG Template": "RAG-kehote", "RAG Template": "RAG-kehote",
"Ran {{COUNT}} analyses": "", "Ran {{COUNT}} analyses": "Suoritettiin {{COUNT}} analyysiä",
"Ran {{COUNT}} analysis": "", "Ran {{COUNT}} analysis": "Suoritettiin {{COUNT}} analyysiä",
"Rate {{rating}} out of 10": "Arvostele {{rating}}/10", "Rate {{rating}} out of 10": "Arvostele {{rating}}/10",
"Rating": "Arviointi", "Rating": "Arviointi",
"Re-rank models by topic similarity": "Uudelleenjärjestä mallit aiheyhteyden mukaan", "Re-rank models by topic similarity": "Uudelleenjärjestä mallit aiheyhteyden mukaan",
@@ -1598,7 +1598,7 @@
"Remove image": "Poista kuva", "Remove image": "Poista kuva",
"Remove Model": "Poista malli", "Remove Model": "Poista malli",
"Rename": "Nimeä uudelleen", "Rename": "Nimeä uudelleen",
"Renamed to {{name}}": "", "Renamed to {{name}}": "Nimetty uudelleen {{name}}",
"Render Markdown in Previews": "Renderöi Markdown esikatseluissa", "Render Markdown in Previews": "Renderöi Markdown esikatseluissa",
"Reorder Models": "Uudelleenjärjestä malleja", "Reorder Models": "Uudelleenjärjestä malleja",
"Reply": "Vastaa", "Reply": "Vastaa",
@@ -1664,7 +1664,7 @@
"Search Groups": "Etsi ryhmiä", "Search Groups": "Etsi ryhmiä",
"Search In Models": "Hae mallleista", "Search In Models": "Hae mallleista",
"Search Knowledge": "Hae tietämystä", "Search Knowledge": "Hae tietämystä",
"Search Memories": "", "Search Memories": "Hae muistoista",
"Search Models": "Hae malleja", "Search Models": "Hae malleja",
"Search Notes": "Hae muistiinpanoista", "Search Notes": "Hae muistiinpanoista",
"Search options": "Hakuvaihtoehdot", "Search options": "Hakuvaihtoehdot",
@@ -1706,7 +1706,7 @@
"Select a theme": "Valitse teema", "Select a theme": "Valitse teema",
"Select a tool": "Valitse työkalu", "Select a tool": "Valitse työkalu",
"Select a voice": "Valitse ääni", "Select a voice": "Valitse ääni",
"Select All": "", "Select All": "Valitse kaikki",
"Select an auth method": "Valitse kirjautumistapa", "Select an auth method": "Valitse kirjautumistapa",
"Select an embedding model engine": "Valitse upotusmallin moottori", "Select an embedding model engine": "Valitse upotusmallin moottori",
"Select an engine": "Valitse moottori", "Select an engine": "Valitse moottori",
@@ -1735,7 +1735,7 @@
"Serper API Key": "Serper API -avain", "Serper API Key": "Serper API -avain",
"Serply API Key": "Serply API -avain", "Serply API Key": "Serply API -avain",
"Serpstack API Key": "Serpstack API -avain", "Serpstack API Key": "Serpstack API -avain",
"Server connection failed": "", "Server connection failed": "Palvelinyhteys epäonnistui",
"Server connection verified": "Palvelinyhteys vahvistettu", "Server connection verified": "Palvelinyhteys vahvistettu",
"Session": "Istunto", "Session": "Istunto",
"Set as default": "Aseta oletukseksi", "Set as default": "Aseta oletukseksi",
@@ -1936,7 +1936,7 @@
"This will delete all models including custom models and cannot be undone.": "Tämä poistaa kaikki mallit, mukaan lukien mukautetut mallit, eikä sitä voi peruuttaa.", "This will delete all models including custom models and cannot be undone.": "Tämä poistaa kaikki mallit, mukaan lukien mukautetut mallit, eikä sitä voi peruuttaa.",
"This will reset the knowledge base and sync all files. Do you wish to continue?": "Tämä nollaa tietokannan ja synkronoi kaikki tiedostot. Haluatko jatkaa?", "This will reset the knowledge base and sync all files. Do you wish to continue?": "Tämä nollaa tietokannan ja synkronoi kaikki tiedostot. Haluatko jatkaa?",
"Thorough explanation": "Perusteellinen selitys", "Thorough explanation": "Perusteellinen selitys",
"Thought": "", "Thought": "Ajatus",
"Thought for {{DURATION}}": "Ajatteli {{DURATION}}", "Thought for {{DURATION}}": "Ajatteli {{DURATION}}",
"Thought for {{DURATION}} seconds": "Ajatteli {{DURATION}} sekuntia", "Thought for {{DURATION}} seconds": "Ajatteli {{DURATION}} sekuntia",
"Thought for less than a second": "Ajatteli alle sekunnin", "Thought for less than a second": "Ajatteli alle sekunnin",
@@ -1965,7 +1965,7 @@
"Today at {{LOCALIZED_TIME}}": "Tänään {{LOCALIZED_TIME}}", "Today at {{LOCALIZED_TIME}}": "Tänään {{LOCALIZED_TIME}}",
"Toggle {{COUNT}} sources": "Näytä/piilota {{COUNT}} lähdettä", "Toggle {{COUNT}} sources": "Näytä/piilota {{COUNT}} lähdettä",
"Toggle 1 source": "Näytä/piilota 1 lähde", "Toggle 1 source": "Näytä/piilota 1 lähde",
"Toggle details": "", "Toggle details": "Näytä/piilota yksityiskohdat",
"Toggle Dictation": "Sanelu päälle/pois", "Toggle Dictation": "Sanelu päälle/pois",
"Toggle Sidebar": "Näytä/piilota sivupalkki", "Toggle Sidebar": "Näytä/piilota sivupalkki",
"Toggle status history": "Näytä/piilota tilahistoria", "Toggle status history": "Näytä/piilota tilahistoria",
+1 -1
View File
@@ -410,7 +410,7 @@
"Content Extraction Engine": "", "Content Extraction Engine": "",
"Content lengths (character counts only)": "", "Content lengths (character counts only)": "",
"Continue Response": "Tęsti atsakymą", "Continue Response": "Tęsti atsakymą",
"Continue with {{provider}}": "Tęsti su {{tiekėju}}", "Continue with {{provider}}": "Tęsti su {{provider}}",
"Continue with Email": "", "Continue with Email": "",
"Continue with LDAP": "", "Continue with LDAP": "",
"Control how message text is split for TTS requests. 'Punctuation' splits into sentences, 'paragraphs' splits into paragraphs, and 'none' keeps the message as a single string.": "", "Control how message text is split for TTS requests. 'Punctuation' splits into sentences, 'paragraphs' splits into paragraphs, and 'none' keeps the message as a single string.": "",
+12 -12
View File
@@ -332,10 +332,10 @@
"Click here to upload a workflow.json file.": "Clique aqui para enviar um arquivo workflow.json.", "Click here to upload a workflow.json file.": "Clique aqui para enviar um arquivo workflow.json.",
"click here.": "clique aqui.", "click here.": "clique aqui.",
"Click on the user role button to change a user's role.": "Clique no botão de perfil do usuário para alterar o perfil de um usuário.", "Click on the user role button to change a user's role.": "Clique no botão de perfil do usuário para alterar o perfil de um usuário.",
"Click to connect": "", "Click to connect": "Clique para conectar",
"Click to copy ID": "Clique para copiar o ID", "Click to copy ID": "Clique para copiar o ID",
"Client ID": "", "Client ID": "ID do Cliente",
"Client Secret": "", "Client Secret": "Chave Secreta do Cliente",
"Clipboard write permission denied. Please check your browser settings to grant the necessary access.": "Permissão de escrita na área de transferência negada. Verifique as configurações do seu navegador para conceder o acesso necessário.", "Clipboard write permission denied. Please check your browser settings to grant the necessary access.": "Permissão de escrita na área de transferência negada. Verifique as configurações do seu navegador para conceder o acesso necessário.",
"Clone": "Clonar", "Clone": "Clonar",
"Clone Chat": "Clonar Chat", "Clone Chat": "Clonar Chat",
@@ -823,8 +823,8 @@
"Experimental": "Experimental", "Experimental": "Experimental",
"Explain": "Explicar", "Explain": "Explicar",
"Explore the cosmos": "Explorar o cosmos", "Explore the cosmos": "Explorar o cosmos",
"Explored": "", "Explored": "Explorado",
"Exploring": "", "Exploring": "Explorando",
"Export": "Exportar", "Export": "Exportar",
"Export All Archived Chats": "Exportar todos os chats arquivados", "Export All Archived Chats": "Exportar todos os chats arquivados",
"Export All Chats (All Users)": "Exportar Todos os Chats (Todos os Usuários)", "Export All Chats (All Users)": "Exportar Todos os Chats (Todos os Usuários)",
@@ -1387,7 +1387,7 @@
"November": "Novembro", "November": "Novembro",
"OAuth": "OAuth", "OAuth": "OAuth",
"OAuth 2.1": "OAuth 2.1", "OAuth 2.1": "OAuth 2.1",
"OAuth 2.1 (Static)": "", "OAuth 2.1 (Static)": "OAuth 2.1 (Estático)",
"OAuth ID": "OAuth ID", "OAuth ID": "OAuth ID",
"October": "Outubro", "October": "Outubro",
"Off": "Desligado", "Off": "Desligado",
@@ -1498,7 +1498,7 @@
"Playwright Timeout (ms)": "Tempo limite do Playwright (ms)", "Playwright Timeout (ms)": "Tempo limite do Playwright (ms)",
"Playwright WebSocket URL": "URL do WebSocket do Playwright", "Playwright WebSocket URL": "URL do WebSocket do Playwright",
"Please carefully review the following warnings:": "Por favor, revise cuidadosamente os seguintes avisos:", "Please carefully review the following warnings:": "Por favor, revise cuidadosamente os seguintes avisos:",
"Please connect all required integrations before sending a message": "", "Please connect all required integrations before sending a message": "Conecte todas as integrações necessárias antes de enviar uma mensagem",
"Please do not close the settings page while loading the model.": "Não feche a página de configurações enquanto estiver carregando o modelo.", "Please do not close the settings page while loading the model.": "Não feche a página de configurações enquanto estiver carregando o modelo.",
"Please enter a message or attach a file.": "Por favor, insira uma mensagem ou anexe um arquivo.", "Please enter a message or attach a file.": "Por favor, insira uma mensagem ou anexe um arquivo.",
"Please enter a prompt": "Por favor, digite um prompt", "Please enter a prompt": "Por favor, digite um prompt",
@@ -1507,7 +1507,7 @@
"Please enter a valid path": "Por favor, insira um caminho válido", "Please enter a valid path": "Por favor, insira um caminho válido",
"Please enter a valid URL": "Por favor, insira uma URL válida", "Please enter a valid URL": "Por favor, insira uma URL válida",
"Please enter a valid URL.": "Por favor, insira uma URL válida", "Please enter a valid URL.": "Por favor, insira uma URL válida",
"Please enter Client ID and Client Secret": "", "Please enter Client ID and Client Secret": "Insira o ID do Cliente e a Chave Secreta do Cliente",
"Please fill in all fields.": "Por favor, preencha todos os campos.", "Please fill in all fields.": "Por favor, preencha todos os campos.",
"Please register the OAuth client": "Por favor, registre o cliente OAuth", "Please register the OAuth client": "Por favor, registre o cliente OAuth",
"Please save the connection to persist the OAuth client information and do not change the ID": "Salve a conexão para persistir as informações do cliente OAuth e não altere o ID", "Please save the connection to persist the OAuth client information and do not change the ID": "Salve a conexão para persistir as informações do cliente OAuth e não altere o ID",
@@ -1554,8 +1554,8 @@
"Querying": "Consultando", "Querying": "Consultando",
"Quick Actions": "Ações rápidas", "Quick Actions": "Ações rápidas",
"RAG Template": "Modelo RAG", "RAG Template": "Modelo RAG",
"Ran {{COUNT}} analyses": "", "Ran {{COUNT}} analyses": "Executou {{COUNT}} análises",
"Ran {{COUNT}} analysis": "", "Ran {{COUNT}} analysis": "Executou {{COUNT}} análise",
"Rate {{rating}} out of 10": "Avaliar {{rating}} de 10", "Rate {{rating}} out of 10": "Avaliar {{rating}} de 10",
"Rating": "Avaliação", "Rating": "Avaliação",
"Re-rank models by topic similarity": "Reclassificação de modelos por similaridade de tópico", "Re-rank models by topic similarity": "Reclassificação de modelos por similaridade de tópico",
@@ -1938,7 +1938,7 @@
"This will delete all models including custom models and cannot be undone.": "Isto vai excluir todos os modelos, incluindo personalizados e não pode ser desfeito.", "This will delete all models including custom models and cannot be undone.": "Isto vai excluir todos os modelos, incluindo personalizados e não pode ser desfeito.",
"This will reset the knowledge base and sync all files. Do you wish to continue?": "Esta ação resetará a base de conhecimento e sincronizará todos os arquivos. Deseja continuar?", "This will reset the knowledge base and sync all files. Do you wish to continue?": "Esta ação resetará a base de conhecimento e sincronizará todos os arquivos. Deseja continuar?",
"Thorough explanation": "Explicação detalhada", "Thorough explanation": "Explicação detalhada",
"Thought": "", "Thought": "Pensamento",
"Thought for {{DURATION}}": "Pensado por {{DURATION}}", "Thought for {{DURATION}}": "Pensado por {{DURATION}}",
"Thought for {{DURATION}} seconds": "Pensado por {{DURATION}} segundos", "Thought for {{DURATION}} seconds": "Pensado por {{DURATION}} segundos",
"Thought for less than a second": "Pensou por menos de um segundo", "Thought for less than a second": "Pensou por menos de um segundo",
@@ -1967,7 +1967,7 @@
"Today at {{LOCALIZED_TIME}}": "Hoje às {{LOCALIZED_TIME}}", "Today at {{LOCALIZED_TIME}}": "Hoje às {{LOCALIZED_TIME}}",
"Toggle {{COUNT}} sources": "Alternar {{COUNT}} origens", "Toggle {{COUNT}} sources": "Alternar {{COUNT}} origens",
"Toggle 1 source": "Alternar 1 origem", "Toggle 1 source": "Alternar 1 origem",
"Toggle details": "", "Toggle details": "Alternar detalhes",
"Toggle Dictation": "Alternar Ditado", "Toggle Dictation": "Alternar Ditado",
"Toggle Sidebar": "Alternar barra lateral", "Toggle Sidebar": "Alternar barra lateral",
"Toggle status history": "Alternar histórico de status", "Toggle status history": "Alternar histórico de status",
+67 -67
View File
@@ -11,13 +11,13 @@
"{{ models }}": "{{ models }}", "{{ models }}": "{{ models }}",
"{{COUNT}} Available Tools": "{{COUNT}} 个可用工具", "{{COUNT}} Available Tools": "{{COUNT}} 个可用工具",
"{{COUNT}} characters": "{{COUNT}} 个字符", "{{COUNT}} characters": "{{COUNT}} 个字符",
"{{COUNT}} extracted lines": "已提取 {{COUNT}} 行", "{{COUNT}} extracted lines": "已提取 {{COUNT}} 行文本",
"{{COUNT}} files": "{{COUNT}} 个文件", "{{COUNT}} files": "{{COUNT}} 个文件",
"{{COUNT}} hidden lines": "{{COUNT}} 行被隐藏", "{{COUNT}} hidden lines": "已隐藏 {{COUNT}} 行代码",
"{{COUNT}} members": "{{COUNT}} 位成员", "{{COUNT}} members": "{{COUNT}} 位成员",
"{{COUNT}} Replies": "{{COUNT}} 条回复", "{{COUNT}} Replies": "{{COUNT}} 条回复",
"{{COUNT}} Rows": "{{COUNT}} 行", "{{COUNT}} Rows": "{{COUNT}} 行",
"{{count}} selected_other": "", "{{count}} selected_other": "已选择 {{count}} 项",
"{{COUNT}} Sources": "{{COUNT}} 个引用来源", "{{COUNT}} Sources": "{{COUNT}} 个引用来源",
"{{COUNT}} words": "{{COUNT}} 个字", "{{COUNT}} words": "{{COUNT}} 个字",
"{{COUNT}}d_time_ago": "{{COUNT}}天前", "{{COUNT}}d_time_ago": "{{COUNT}}天前",
@@ -35,7 +35,7 @@
"1 Source": "1 个引用来源", "1 Source": "1 个引用来源",
"1m_time_ago": "刚刚", "1m_time_ago": "刚刚",
"A collaboration channel where people join as members": "成员可加入的协作频道", "A collaboration channel where people join as members": "成员可加入的协作频道",
"A discussion channel where access is controlled by groups and permissions": "由权限组控制的讨论频道", "A discussion channel where access is controlled by groups and permissions": "由用户组控制的讨论频道",
"A new version (v{{LATEST_VERSION}}) is now available.": "新版本(v{{LATEST_VERSION}})现已发布", "A new version (v{{LATEST_VERSION}}) is now available.": "新版本(v{{LATEST_VERSION}})现已发布",
"A private conversation between you and selected users": "您与选定用户之间的私人对话", "A private conversation between you and selected users": "您与选定用户之间的私人对话",
"A task model is used when performing tasks such as generating titles for chats and web search queries": "任务模型用于执行生成对话标题和联网搜索查询等任务", "A task model is used when performing tasks such as generating titles for chats and web search queries": "任务模型用于执行生成对话标题和联网搜索查询等任务",
@@ -65,7 +65,7 @@
"Add a tag": "添加标签", "Add a tag": "添加标签",
"Add a tag...": "添加标签...", "Add a tag...": "添加标签...",
"Add Access": "添加访问", "Add Access": "添加访问",
"Add Arena Model": "添加竞技场模型", "Add Arena Model": "添加盲测模型",
"Add Connection": "添加连接", "Add Connection": "添加连接",
"Add Content": "添加内容", "Add Content": "添加内容",
"Add content here": "在此添加内容", "Add content here": "在此添加内容",
@@ -86,7 +86,7 @@
"Add text content": "添加文本内容", "Add text content": "添加文本内容",
"Add to favorites": "添加到收藏", "Add to favorites": "添加到收藏",
"Add User": "添加用户", "Add User": "添加用户",
"Add User Group": "添加权限组", "Add User Group": "添加用户组",
"Add webpage": "添加网页", "Add webpage": "添加网页",
"Add your Open Terminal URL and API key in Settings → Integrations.": "请到“设置 → 集成”中配置 Open Terminal 的地址和密钥。", "Add your Open Terminal URL and API key in Settings → Integrations.": "请到“设置 → 集成”中配置 Open Terminal 的地址和密钥。",
"Additional Config": "额外配置项", "Additional Config": "额外配置项",
@@ -128,7 +128,7 @@
"Allow File Upload": "允许上传文件", "Allow File Upload": "允许上传文件",
"Allow Multiple Models in Chat": "允许在对话中使用多个模型", "Allow Multiple Models in Chat": "允许在对话中使用多个模型",
"Allow non-local voices": "允许调用非本土音色", "Allow non-local voices": "允许调用非本土音色",
"Allow public write access": "", "Allow public write access": "允许公开写入",
"Allow Rate Response": "允许对回答进行评价", "Allow Rate Response": "允许对回答进行评价",
"Allow Regenerate Response": "允许重新生成回答", "Allow Regenerate Response": "允许重新生成回答",
"Allow Sharing With Users": "允许分享给其他用户", "Allow Sharing With Users": "允许分享给其他用户",
@@ -183,13 +183,13 @@
"Are you sure you want to delete \"{{NAME}}\"?": "您确认要删除“{{NAME}}”吗?", "Are you sure you want to delete \"{{NAME}}\"?": "您确认要删除“{{NAME}}”吗?",
"Are you sure you want to delete all chats? This action cannot be undone.": "您确认要删除所有对话吗?此操作无法撤销。", "Are you sure you want to delete all chats? This action cannot be undone.": "您确认要删除所有对话吗?此操作无法撤销。",
"Are you sure you want to delete this channel?": "您确认要删除此频道吗?", "Are you sure you want to delete this channel?": "您确认要删除此频道吗?",
"Are you sure you want to delete this connection? This action cannot be undone.": "", "Are you sure you want to delete this connection? This action cannot be undone.": "确定要删除此连接吗?此操作无法撤销。",
"Are you sure you want to delete this memory? This action cannot be undone.": "", "Are you sure you want to delete this memory? This action cannot be undone.": "确定要删除这条记忆吗?此操作无法撤销。",
"Are you sure you want to delete this message?": "您确认要删除此消息吗?", "Are you sure you want to delete this message?": "您确认要删除此消息吗?",
"Are you sure you want to delete this version? Child versions will be relinked to this version's parent.": "您确认要删除此版本吗?其子版本将重新链接到该版本的上一级。", "Are you sure you want to delete this version? Child versions will be relinked to this version's parent.": "您确认要删除此版本吗?其子版本将重新链接到该版本的上一级。",
"Are you sure you want to delete this?": "确定要删除吗?", "Are you sure you want to delete this?": "确定要删除吗?",
"Are you sure you want to unarchive all archived chats?": "您确认要取消所有已归档的对话吗?", "Are you sure you want to unarchive all archived chats?": "您确认要取消所有已归档的对话吗?",
"Arena Models": "启用竞技场匿名评价模型", "Arena Models": "模型盲测",
"Artifacts": "产物", "Artifacts": "产物",
"Asc": "升序", "Asc": "升序",
"Ask": "提问", "Ask": "提问",
@@ -330,10 +330,10 @@
"Click here to upload a workflow.json file.": "点击此处上传 workflow.json 文件", "Click here to upload a workflow.json file.": "点击此处上传 workflow.json 文件",
"click here.": "点击此处", "click here.": "点击此处",
"Click on the user role button to change a user's role.": "点击用户角色按钮以更改用户的角色", "Click on the user role button to change a user's role.": "点击用户角色按钮以更改用户的角色",
"Click to connect": "", "Click to connect": "点击以连接",
"Click to copy ID": "点击复制 ID", "Click to copy ID": "点击以复制 ID",
"Client ID": "", "Client ID": "客户端 ID",
"Client Secret": "", "Client Secret": "客户端密钥",
"Clipboard write permission denied. Please check your browser settings to grant the necessary access.": "写入剪贴板时被拒绝。请检查浏览器设置,授予必要权限。", "Clipboard write permission denied. Please check your browser settings to grant the necessary access.": "写入剪贴板时被拒绝。请检查浏览器设置,授予必要权限。",
"Clone": "复制", "Clone": "复制",
"Clone Chat": "克隆对话", "Clone Chat": "克隆对话",
@@ -385,7 +385,7 @@
"Configure": "配置", "Configure": "配置",
"Confirm": "确认", "Confirm": "确认",
"Confirm Password": "确认密码", "Confirm Password": "确认密码",
"Confirm Prompt from Embed": "", "Confirm Prompt from Embed": "确认嵌入提示词",
"Confirm your action": "确认要继续吗?", "Confirm your action": "确认要继续吗?",
"Confirm your new password": "确认新密码", "Confirm your new password": "确认新密码",
"Confirm Your Password": "确认您的密码", "Confirm Your Password": "确认您的密码",
@@ -394,7 +394,7 @@
"Connect to Open Terminal instances. All users will have access to file browsing and terminal tools through these servers.": "连接到 Open Terminal 实例后,所有用户将可以浏览服务器上的文件,并使用终端工具。", "Connect to Open Terminal instances. All users will have access to file browsing and terminal tools through these servers.": "连接到 Open Terminal 实例后,所有用户将可以浏览服务器上的文件,并使用终端工具。",
"Connect to your own OpenAI compatible API endpoints.": "连接到符合 OpenAI 接口格式的接口", "Connect to your own OpenAI compatible API endpoints.": "连接到符合 OpenAI 接口格式的接口",
"Connect to your own OpenAPI compatible external tool servers.": "连接到符合 OpenAPI 规范的外部工具服务器", "Connect to your own OpenAPI compatible external tool servers.": "连接到符合 OpenAPI 规范的外部工具服务器",
"Connected ({{type}})": "", "Connected ({{type}})": "已连接({{type}})",
"Connection failed": "连接失败", "Connection failed": "连接失败",
"Connection successful": "连接成功", "Connection successful": "连接成功",
"Connection Type": "连接类型", "Connection Type": "连接类型",
@@ -435,7 +435,7 @@
"Copying to clipboard was successful!": "成功复制到剪贴板!", "Copying to clipboard was successful!": "成功复制到剪贴板!",
"CORS must be properly configured by the provider to allow requests from Open WebUI.": "为允许 Open WebUI 发出的请求,提供商必须正确配置 CORS", "CORS must be properly configured by the provider to allow requests from Open WebUI.": "为允许 Open WebUI 发出的请求,提供商必须正确配置 CORS",
"Could not read file.": "读取文件失败。", "Could not read file.": "读取文件失败。",
"CPU": "", "CPU": "CPU",
"Create": "创建", "Create": "创建",
"Create a knowledge base": "创建知识库", "Create a knowledge base": "创建知识库",
"Create a model": "创建模型", "Create a model": "创建模型",
@@ -484,7 +484,7 @@
"Default description enabled": "默认描述已启用", "Default description enabled": "默认描述已启用",
"Default Features": "默认功能", "Default Features": "默认功能",
"Default Filters": "默认过滤器", "Default Filters": "默认过滤器",
"Default Group": "默认权限组", "Default Group": "默认用户组",
"Default mode works with a wider range of models by calling tools once before execution. Native mode leverages the model's built-in tool-calling capabilities, but requires the model to inherently support this feature.": "“默认”模式会在请求模型前调用工具,因此能兼容更多模型。“原生”模式则依赖模型本身的工具调用能力,但需要模型本身支持该功能。", "Default mode works with a wider range of models by calling tools once before execution. Native mode leverages the model's built-in tool-calling capabilities, but requires the model to inherently support this feature.": "“默认”模式会在请求模型前调用工具,因此能兼容更多模型。“原生”模式则依赖模型本身的工具调用能力,但需要模型本身支持该功能。",
"Default Model": "默认模型", "Default Model": "默认模型",
"Default model updated": "默认模型已更新", "Default model updated": "默认模型已更新",
@@ -507,7 +507,7 @@
"Delete File": "删除文件", "Delete File": "删除文件",
"Delete folder?": "要删除此分组吗?", "Delete folder?": "要删除此分组吗?",
"Delete function?": "要删除此函数吗?", "Delete function?": "要删除此函数吗?",
"Delete Memory?": "", "Delete Memory?": "要删除这条记忆吗?",
"Delete Message": "删除消息", "Delete Message": "删除消息",
"Delete message?": "要删除此消息吗?", "Delete message?": "要删除此消息吗?",
"Delete Model": "删除模型", "Delete Model": "删除模型",
@@ -521,7 +521,7 @@
"Deleted": "删除成功", "Deleted": "删除成功",
"Deleted {{deleteModelTag}}": "已删除 {{deleteModelTag}}", "Deleted {{deleteModelTag}}": "已删除 {{deleteModelTag}}",
"Deleted {{name}}": "已删除 {{name}}", "Deleted {{name}}": "已删除 {{name}}",
"Deleted {{ok}} of {{total}} items": "", "Deleted {{ok}} of {{total}} items": "已删除 {{total}} 项中的 {{ok}} 项",
"Deleted User": "已删除用户", "Deleted User": "已删除用户",
"Deployment names are required for Azure OpenAI": "Azure OpenAI 需要部署名称", "Deployment names are required for Azure OpenAI": "Azure OpenAI 需要部署名称",
"Desc": "降序", "Desc": "降序",
@@ -530,7 +530,7 @@
"Describe what changed...": "描述变更内容…", "Describe what changed...": "描述变更内容…",
"Describe your knowledge base and objectives": "描述您的知识库和目标", "Describe your knowledge base and objectives": "描述您的知识库和目标",
"Description": "描述", "Description": "描述",
"Deselect": "", "Deselect": "取消选中",
"Detect Artifacts Automatically": "自动检测对话产物", "Detect Artifacts Automatically": "自动检测对话产物",
"Dictate": "语音输入", "Dictate": "语音输入",
"Didn't fully follow instructions": "没有完全遵循指令", "Didn't fully follow instructions": "没有完全遵循指令",
@@ -555,7 +555,7 @@
"Discover, download, and explore custom prompts": "发现、下载并探索更多自定义提示词", "Discover, download, and explore custom prompts": "发现、下载并探索更多自定义提示词",
"Discover, download, and explore custom tools": "发现、下载并探索更多自定义工具", "Discover, download, and explore custom tools": "发现、下载并探索更多自定义工具",
"Discover, download, and explore model presets": "发现、下载并探索更多模型预设", "Discover, download, and explore model presets": "发现、下载并探索更多模型预设",
"Discussion channel where access is based on groups and permissions": "由权限组控制的讨论频道", "Discussion channel where access is based on groups and permissions": "由用户组控制的讨论频道",
"Display": "显示", "Display": "显示",
"Display chat title in tab": "在浏览器标签页中显示对话标题", "Display chat title in tab": "在浏览器标签页中显示对话标题",
"Display Emoji in Call": "在通话中显示 Emoji", "Display Emoji in Call": "在通话中显示 Emoji",
@@ -591,7 +591,7 @@
"Download canceled": "下载已取消", "Download canceled": "下载已取消",
"Download Database": "下载数据库", "Download Database": "下载数据库",
"Downloading stats...": "正在下载统计数据...", "Downloading stats...": "正在下载统计数据...",
"Draw": "平局", "Draw": "持平",
"Drop any files here to upload": "拖拽文件至此上传", "Drop any files here to upload": "拖拽文件至此上传",
"Drop files here": "请将文件拖到此处", "Drop files here": "请将文件拖到此处",
"Drop files here to upload": "将文件拖到此处即可上传", "Drop files here to upload": "将文件拖到此处即可上传",
@@ -620,7 +620,7 @@
"e.g., en-US,ja-JP (leave blank for auto-detect)": "例如:en-US,ja-JP(留空则自动检测)", "e.g., en-US,ja-JP (leave blank for auto-detect)": "例如:en-US,ja-JP(留空则自动检测)",
"e.g., westus (leave blank for eastus)": "例如:westus(留空则默认为 eastus)", "e.g., westus (leave blank for eastus)": "例如:westus(留空则默认为 eastus)",
"Edit": "编辑", "Edit": "编辑",
"Edit Arena Model": "编辑竞技场模型", "Edit Arena Model": "编辑盲测模型",
"Edit Channel": "编辑频道", "Edit Channel": "编辑频道",
"Edit Connection": "编辑连接", "Edit Connection": "编辑连接",
"Edit Default Permissions": "编辑默认权限", "Edit Default Permissions": "编辑默认权限",
@@ -789,12 +789,12 @@
"Enter Your Name": "输入您的名称", "Enter Your Name": "输入您的名称",
"Enter your new password": "输入您的新密码", "Enter your new password": "输入您的新密码",
"Enter Your Password": "输入您的密码", "Enter Your Password": "输入您的密码",
"Enter Your Role": "输入您的权限组", "Enter Your Role": "输入您的用户组",
"Enter Your Username": "输入您的用户名", "Enter Your Username": "输入您的用户名",
"Enter your webhook URL": "输入您的 Webhook 链接", "Enter your webhook URL": "输入您的 Webhook 链接",
"Entra ID": "Entra ID", "Entra ID": "Entra ID",
"Environment Variables": "", "Environment Variables": "环境变量",
"Ephemeral": "", "Ephemeral": "临时",
"Error": "错误", "Error": "错误",
"ERROR": "错误", "ERROR": "错误",
"Error accessing directory": "访问目录时出错", "Error accessing directory": "访问目录时出错",
@@ -805,7 +805,7 @@
"Error uploading file: {{error}}": "上传文件时出错:{{error}}", "Error uploading file: {{error}}": "上传文件时出错:{{error}}",
"Error: A model with the ID '{{modelId}}' already exists. Please select a different ID to proceed.": "错误:ID 为“{{modelId}}”的模型已存在。请选择不同的模型 ID。", "Error: A model with the ID '{{modelId}}' already exists. Please select a different ID to proceed.": "错误:ID 为“{{modelId}}”的模型已存在。请选择不同的模型 ID。",
"Error: Model ID cannot be empty. Please enter a valid ID to proceed.": "错误:模型 ID 不能为空。请输入有效的模型 ID。", "Error: Model ID cannot be empty. Please enter a valid ID to proceed.": "错误:模型 ID 不能为空。请输入有效的模型 ID。",
"Evaluations": "竞技场评估", "Evaluations": "模型评价",
"Exa API Key": "Exa 接口密钥", "Exa API Key": "Exa 接口密钥",
"Example: (&(objectClass=inetOrgPerson)(uid=%s))": "例如:(&(objectClass=inetOrgPerson)(uid=%s))", "Example: (&(objectClass=inetOrgPerson)(uid=%s))": "例如:(&(objectClass=inetOrgPerson)(uid=%s))",
"Example: ALL": "例如:ALL", "Example: ALL": "例如:ALL",
@@ -821,8 +821,8 @@
"Experimental": "实验性", "Experimental": "实验性",
"Explain": "解释", "Explain": "解释",
"Explore the cosmos": "探索星辰", "Explore the cosmos": "探索星辰",
"Explored": "", "Explored": "已分析",
"Exploring": "", "Exploring": "分析中",
"Export": "导出", "Export": "导出",
"Export All Archived Chats": "导出所有已存档对话", "Export All Archived Chats": "导出所有已存档对话",
"Export All Chats (All Users)": "导出所有用户对话", "Export All Chats (All Users)": "导出所有用户对话",
@@ -873,7 +873,7 @@
"Failed to save connections": "保存连接失败", "Failed to save connections": "保存连接失败",
"Failed to save conversation": "保存对话失败", "Failed to save conversation": "保存对话失败",
"Failed to save models configuration": "保存模型配置失败", "Failed to save models configuration": "保存模型配置失败",
"Failed to save policy: {{error}}": "", "Failed to save policy: {{error}}": "保存策略失败:{{error}}",
"Failed to save terminal servers": "终端服务器保存失败", "Failed to save terminal servers": "终端服务器保存失败",
"Failed to unshare chat.": "取消对话分享失败。", "Failed to unshare chat.": "取消对话分享失败。",
"Failed to update settings": "更新设置失败", "Failed to update settings": "更新设置失败",
@@ -889,7 +889,7 @@
"Feedback History": "历史反馈", "Feedback History": "历史反馈",
"Feel free to add specific details": "欢迎补充具体细节", "Feel free to add specific details": "欢迎补充具体细节",
"Female": "女性", "Female": "女性",
"Fetch URL Content Length Limit": "", "Fetch URL Content Length Limit": "URL 抓取内容长度上限",
"File": "文件", "File": "文件",
"File added successfully.": "文件成功添加", "File added successfully.": "文件成功添加",
"File attached to chat": "文件已被添加到对话中", "File attached to chat": "文件已被添加到对话中",
@@ -944,7 +944,7 @@
"Format Lines": "行内容格式化", "Format Lines": "行内容格式化",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "对输出中的文本行进行格式处理。默认为 False。设置为 True 时,会对所有文本行的内容进行格式化,检测并识别行内的数学公式和样式。", "Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "对输出中的文本行进行格式处理。默认为 False。设置为 True 时,会对所有文本行的内容进行格式化,检测并识别行内的数学公式和样式。",
"Formatting may be inconsistent from source.": "格式可能会与原始文件不完全一致。", "Formatting may be inconsistent from source.": "格式可能会与原始文件不完全一致。",
"Forward": "", "Forward": "前进",
"Forwards system user OAuth access token to authenticate": "转发用户的 OAuth 访问令牌(Access Token)以进行身份验证", "Forwards system user OAuth access token to authenticate": "转发用户的 OAuth 访问令牌(Access Token)以进行身份验证",
"Forwards system user session credentials to authenticate": "转发用户的会话凭证(Session Credentials)以进行身份验证", "Forwards system user session credentials to authenticate": "转发用户的会话凭证(Session Credentials)以进行身份验证",
"Full Context Mode": "完整上下文模式", "Full Context Mode": "完整上下文模式",
@@ -992,13 +992,13 @@
"Grid": "网格", "Grid": "网格",
"Grokipedia": "Grokipedia", "Grokipedia": "Grokipedia",
"Group Channel": "群组频道", "Group Channel": "群组频道",
"Group created successfully": "权限组创建成功", "Group created successfully": "用户组创建成功",
"Group deleted successfully": "权限组删除成功", "Group deleted successfully": "用户组删除成功",
"Group Description": "权限组描述", "Group Description": "用户组描述",
"Group Name": "权限组名称", "Group Name": "用户组名称",
"Group updated successfully": "权限组更新成功", "Group updated successfully": "用户组更新成功",
"groups": "权限组", "groups": "用户组",
"Groups": "权限组", "Groups": "用户组",
"H1": "一级标题", "H1": "一级标题",
"H2": "二级标题", "H2": "二级标题",
"H3": "三级标题", "H3": "三级标题",
@@ -1032,7 +1032,7 @@
"ID": "ID", "ID": "ID",
"ID cannot contain \":\" or \"|\" characters": "ID 中不允许包含 “:” 或 “|” 字符", "ID cannot contain \":\" or \"|\" characters": "ID 中不允许包含 “:” 或 “|” 字符",
"ID copied to clipboard": "已复制 ID 到剪贴板", "ID copied to clipboard": "已复制 ID 到剪贴板",
"Idle Timeout": "", "Idle Timeout": "无操作超时时间",
"iframe Sandbox Allow Forms": "iframe 沙盒允许表单提交", "iframe Sandbox Allow Forms": "iframe 沙盒允许表单提交",
"iframe Sandbox Allow Same Origin": "iframe 沙盒允许同源访问", "iframe Sandbox Allow Same Origin": "iframe 沙盒允许同源访问",
"Ignite curiosity": "点燃求知", "Ignite curiosity": "点燃求知",
@@ -1179,7 +1179,7 @@
"Local": "本地", "Local": "本地",
"Local Task Model": "本地任务模型", "Local Task Model": "本地任务模型",
"Location access not allowed": "不允许访问位置信息", "Location access not allowed": "不允许访问位置信息",
"Lost": "落败", "Lost": "较差",
"Low": "低", "Low": "低",
"LTR": "从左至右", "LTR": "从左至右",
"Made by Open WebUI Community": "由 Open WebUI 社区开发", "Made by Open WebUI Community": "由 Open WebUI 社区开发",
@@ -1203,7 +1203,7 @@
"Max Speakers": "最大扬声器数量", "Max Speakers": "最大扬声器数量",
"Max Upload Count": "最大上传数量", "Max Upload Count": "最大上传数量",
"Max Upload Size": "最大上传大小", "Max Upload Size": "最大上传大小",
"Maximum characters to return from fetched URLs. Leave empty for no limit.": "", "Maximum characters to return from fetched URLs. Leave empty for no limit.": "从 URL 抓取内容时返回的最大字符数。留空表示不限制。",
"Maximum number of files allowed per folder.": "每个分组允许的最大文件数量。", "Maximum number of files allowed per folder.": "每个分组允许的最大文件数量。",
"Maximum number of files per folder is {{max}}.": "每个分组允许的最大文件数量为 {{max}}。", "Maximum number of files per folder is {{max}}.": "每个分组允许的最大文件数量为 {{max}}。",
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "最多可同时下载 3 个模型,请稍后重试。", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "最多可同时下载 3 个模型,请稍后重试。",
@@ -1235,7 +1235,7 @@
"Microsoft OneDrive": "Microsoft OneDrive", "Microsoft OneDrive": "Microsoft OneDrive",
"Microsoft OneDrive (personal)": "Microsoft OneDrive(个人账户)", "Microsoft OneDrive (personal)": "Microsoft OneDrive(个人账户)",
"Microsoft OneDrive (work/school)": "Microsoft OneDrive(工作或学校账户)", "Microsoft OneDrive (work/school)": "Microsoft OneDrive(工作或学校账户)",
"min": "", "min": "分钟",
"MinerU": "MinerU", "MinerU": "MinerU",
"MinerU API Key required for Cloud API mode.": "使用 MinerU 云服务模式需要接口密钥。", "MinerU API Key required for Cloud API mode.": "使用 MinerU 云服务模式需要接口密钥。",
"Mistral OCR": "Mistral OCR", "Mistral OCR": "Mistral OCR",
@@ -1301,7 +1301,7 @@
"New File": "新建文件", "New File": "新建文件",
"New Folder": "创建分组", "New Folder": "创建分组",
"New Function": "新函数", "New Function": "新函数",
"New Group": "新建权限组", "New Group": "新建用户组",
"New Knowledge": "创建知识库", "New Knowledge": "创建知识库",
"New Model": "创建模型", "New Model": "创建模型",
"New Note": "创建笔记", "New Note": "创建笔记",
@@ -1334,14 +1334,14 @@
"No files in this knowledge base.": "此知识库中没有文件。", "No files in this knowledge base.": "此知识库中没有文件。",
"No files yet. Upload files or run Python code to create them.": "暂无文件。请上传文件或运行 Python 代码以创建文件。", "No files yet. Upload files or run Python code to create them.": "暂无文件。请上传文件或运行 Python 代码以创建文件。",
"No functions found": "未找到函数", "No functions found": "未找到函数",
"No groups found": "暂无权限组", "No groups found": "暂无用户组",
"No history available": "暂无历史记录", "No history available": "暂无历史记录",
"No HTML, CSS, or JavaScript content found.": "未找到 HTML、CSS 或 JavaScript 内容。", "No HTML, CSS, or JavaScript content found.": "未找到 HTML、CSS 或 JavaScript 内容。",
"No inference engine with management support found": "未找到支持管理的推理引擎", "No inference engine with management support found": "未找到支持管理的推理引擎",
"No kernel": "未找到内核", "No kernel": "未找到内核",
"No knowledge bases found.": "未找到知识库", "No knowledge bases found.": "未找到知识库",
"No knowledge found": "未找到知识", "No knowledge found": "未找到知识",
"No limit": "", "No limit": "无限制",
"No memories to clear": "记忆为空,无须清理", "No memories to clear": "记忆为空,无须清理",
"No model IDs": "没有模型 ID", "No model IDs": "没有模型 ID",
"No models available": "暂无可用模型", "No models available": "暂无可用模型",
@@ -1385,7 +1385,7 @@
"November": "十一月", "November": "十一月",
"OAuth": "OAuth", "OAuth": "OAuth",
"OAuth 2.1": "OAuth 2.1", "OAuth 2.1": "OAuth 2.1",
"OAuth 2.1 (Static)": "", "OAuth 2.1 (Static)": "OAuth 2.1(静态)",
"OAuth ID": "OAuth ID", "OAuth ID": "OAuth ID",
"October": "十月", "October": "十月",
"Off": "关闭", "Off": "关闭",
@@ -1415,7 +1415,7 @@
"Oops! You're using an unsupported method (frontend only). Please serve the WebUI from the backend.": "糟糕!您正在使用不受支持的方法(仅运行前端服务)。请通过后端服务提供 WebUI。", "Oops! You're using an unsupported method (frontend only). Please serve the WebUI from the backend.": "糟糕!您正在使用不受支持的方法(仅运行前端服务)。请通过后端服务提供 WebUI。",
"Open file": "打开文件", "Open file": "打开文件",
"Open in full screen": "全屏打开", "Open in full screen": "全屏打开",
"Open in new tab": "", "Open in new tab": "在新标签页中打开",
"Open link": "打开链接", "Open link": "打开链接",
"Open modal to configure connection": "打开外部连接配置弹窗", "Open modal to configure connection": "打开外部连接配置弹窗",
"Open Modal To Manage Floating Quick Actions": "管理快捷操作浮窗", "Open Modal To Manage Floating Quick Actions": "管理快捷操作浮窗",
@@ -1476,7 +1476,7 @@
"Perplexity Model": "Perplexity 模型", "Perplexity Model": "Perplexity 模型",
"Perplexity Search API URL": "Perplexity 搜索接口地址", "Perplexity Search API URL": "Perplexity 搜索接口地址",
"Perplexity Search Context Usage": "Perplexity 搜索上下文用量", "Perplexity Search Context Usage": "Perplexity 搜索上下文用量",
"Persistent": "", "Persistent": "持久化",
"Personalization": "个性化", "Personalization": "个性化",
"Pin": "置顶", "Pin": "置顶",
"Pinned": "已置顶", "Pinned": "已置顶",
@@ -1496,7 +1496,7 @@
"Playwright Timeout (ms)": "Playwright 超时时间 (ms)", "Playwright Timeout (ms)": "Playwright 超时时间 (ms)",
"Playwright WebSocket URL": "Playwright WebSocket 地址", "Playwright WebSocket URL": "Playwright WebSocket 地址",
"Please carefully review the following warnings:": "请仔细阅读以下警告信息:", "Please carefully review the following warnings:": "请仔细阅读以下警告信息:",
"Please connect all required integrations before sending a message": "", "Please connect all required integrations before sending a message": "发送消息前,请先连接所有必需服务",
"Please do not close the settings page while loading the model.": "加载模型时请不要关闭设置页面", "Please do not close the settings page while loading the model.": "加载模型时请不要关闭设置页面",
"Please enter a message or attach a file.": "请输入内容或添加文件。", "Please enter a message or attach a file.": "请输入内容或添加文件。",
"Please enter a prompt": "请输入提示词", "Please enter a prompt": "请输入提示词",
@@ -1505,7 +1505,7 @@
"Please enter a valid path": "请输入有效路径", "Please enter a valid path": "请输入有效路径",
"Please enter a valid URL": "请输入有效的地址", "Please enter a valid URL": "请输入有效的地址",
"Please enter a valid URL.": "请输入有效的地址。", "Please enter a valid URL.": "请输入有效的地址。",
"Please enter Client ID and Client Secret": "", "Please enter Client ID and Client Secret": "请输入客户端 ID 和客户端密钥",
"Please fill in all fields.": "请填写所有字段。", "Please fill in all fields.": "请填写所有字段。",
"Please register the OAuth client": "请注册 OAuth 客户端", "Please register the OAuth client": "请注册 OAuth 客户端",
"Please save the connection to persist the OAuth client information and do not change the ID": "请保存连接以保留 OAuth 客户端信息,并确保不要更改 ID", "Please save the connection to persist the OAuth client information and do not change the ID": "请保存连接以保留 OAuth 客户端信息,并确保不要更改 ID",
@@ -1515,7 +1515,7 @@
"Please select a valid JSON file": "请选择合法的 JSON 文件", "Please select a valid JSON file": "请选择合法的 JSON 文件",
"Please select at least one user for Direct Message channel.": "请至少选择一个用户以创建私聊频道。", "Please select at least one user for Direct Message channel.": "请至少选择一个用户以创建私聊频道。",
"Please wait until all files are uploaded.": "请等待所有文件上传完毕。", "Please wait until all files are uploaded.": "请等待所有文件上传完毕。",
"Policy ID": "", "Policy ID": "策略 ID",
"Port": "端口", "Port": "端口",
"Ports": "端口", "Ports": "端口",
"Positive attitude": "态度积极", "Positive attitude": "态度积极",
@@ -1552,8 +1552,8 @@
"Querying": "查询中", "Querying": "查询中",
"Quick Actions": "快捷操作", "Quick Actions": "快捷操作",
"RAG Template": "RAG 提示词模板", "RAG Template": "RAG 提示词模板",
"Ran {{COUNT}} analyses": "", "Ran {{COUNT}} analyses": "已完成 {{COUNT}} 次分析",
"Ran {{COUNT}} analysis": "", "Ran {{COUNT}} analysis": "已完成 {{COUNT}} 次分析",
"Rate {{rating}} out of 10": "评分:{{rating}}/10", "Rate {{rating}} out of 10": "评分:{{rating}}/10",
"Rating": "评价", "Rating": "评价",
"Re-rank models by topic similarity": "根据主题相似性对模型重新排名", "Re-rank models by topic similarity": "根据主题相似性对模型重新排名",
@@ -1597,7 +1597,7 @@
"Remove image": "移除图像", "Remove image": "移除图像",
"Remove Model": "移除模型", "Remove Model": "移除模型",
"Rename": "重命名", "Rename": "重命名",
"Renamed to {{name}}": "", "Renamed to {{name}}": "已重命名为 {{name}}",
"Render Markdown in Previews": "在文件和引用预览中渲染 Markdown", "Render Markdown in Previews": "在文件和引用预览中渲染 Markdown",
"Reorder Models": "重新排序模型", "Reorder Models": "重新排序模型",
"Reply": "回复", "Reply": "回复",
@@ -1659,10 +1659,10 @@
"search for shared chats": "搜索已共享的对话", "search for shared chats": "搜索已共享的对话",
"search for tags": "搜索标签", "search for tags": "搜索标签",
"Search Functions": "搜索函数", "Search Functions": "搜索函数",
"Search Groups": "搜索权限组", "Search Groups": "搜索用户组",
"Search In Models": "搜索模型", "Search In Models": "搜索模型",
"Search Knowledge": "搜索知识", "Search Knowledge": "搜索知识",
"Search Memories": "", "Search Memories": "搜索记忆",
"Search Models": "搜索模型", "Search Models": "搜索模型",
"Search Notes": "搜索笔记", "Search Notes": "搜索笔记",
"Search options": "搜索选项", "Search options": "搜索选项",
@@ -1692,7 +1692,7 @@
"Select a conversation to preview": "选择对话进行预览", "Select a conversation to preview": "选择对话进行预览",
"Select a engine": "选择搜索引擎", "Select a engine": "选择搜索引擎",
"Select a function": "选择函数", "Select a function": "选择函数",
"Select a group": "选择权限组", "Select a group": "选择用户组",
"Select a language": "选择语言", "Select a language": "选择语言",
"Select a mode": "选择模式", "Select a mode": "选择模式",
"Select a model": "选择模型", "Select a model": "选择模型",
@@ -1704,7 +1704,7 @@
"Select a theme": "选择主题", "Select a theme": "选择主题",
"Select a tool": "选择工具", "Select a tool": "选择工具",
"Select a voice": "选择声音", "Select a voice": "选择声音",
"Select All": "", "Select All": "全选",
"Select an auth method": "选择身份验证方式", "Select an auth method": "选择身份验证方式",
"Select an embedding model engine": "选择嵌入模型引擎", "Select an embedding model engine": "选择嵌入模型引擎",
"Select an engine": "选择引擎", "Select an engine": "选择引擎",
@@ -1733,7 +1733,7 @@
"Serper API Key": "Serper 接口密钥", "Serper API Key": "Serper 接口密钥",
"Serply API Key": "Serply 接口密钥", "Serply API Key": "Serply 接口密钥",
"Serpstack API Key": "Serpstack 接口密钥", "Serpstack API Key": "Serpstack 接口密钥",
"Server connection failed": "", "Server connection failed": "服务器连接失败",
"Server connection verified": "已验证服务器连接", "Server connection verified": "已验证服务器连接",
"Session": "用户会话(Session)", "Session": "用户会话(Session)",
"Set as default": "设为默认", "Set as default": "设为默认",
@@ -1835,7 +1835,7 @@
"Stop Download": "停止下载", "Stop Download": "停止下载",
"Stop Generating": "停止生成", "Stop Generating": "停止生成",
"Stop Sequence": "停止序列 (Stop Sequence)", "Stop Sequence": "停止序列 (Stop Sequence)",
"Storage": "", "Storage": "存储",
"Stream Chat Response": "流式对话响应 (Stream Chat Response)", "Stream Chat Response": "流式对话响应 (Stream Chat Response)",
"Stream Delta Chunk Size": "流式增量输出的分块大小(Stream Delta Chunk Size)", "Stream Delta Chunk Size": "流式增量输出的分块大小(Stream Delta Chunk Size)",
"Streamable HTTP": "流式 HTTP", "Streamable HTTP": "流式 HTTP",
@@ -1934,7 +1934,7 @@
"This will delete all models including custom models and cannot be undone.": "这将删除所有模型,包括自定义模型,且无法撤销。", "This will delete all models including custom models and cannot be undone.": "这将删除所有模型,包括自定义模型,且无法撤销。",
"This will reset the knowledge base and sync all files. Do you wish to continue?": "这将重置知识库并同步所有文件。确认继续?", "This will reset the knowledge base and sync all files. Do you wish to continue?": "这将重置知识库并同步所有文件。确认继续?",
"Thorough explanation": "解释详尽", "Thorough explanation": "解释详尽",
"Thought": "", "Thought": "思考过程",
"Thought for {{DURATION}}": "思考用时 {{DURATION}}", "Thought for {{DURATION}}": "思考用时 {{DURATION}}",
"Thought for {{DURATION}} seconds": "思考用时 {{DURATION}} 秒", "Thought for {{DURATION}} seconds": "思考用时 {{DURATION}} 秒",
"Thought for less than a second": "思考用时小于 1 秒", "Thought for less than a second": "思考用时小于 1 秒",
@@ -1963,7 +1963,7 @@
"Today at {{LOCALIZED_TIME}}": "今天 {{LOCALIZED_TIME}}", "Today at {{LOCALIZED_TIME}}": "今天 {{LOCALIZED_TIME}}",
"Toggle {{COUNT}} sources": "展开/收起 {{COUNT}} 个来源", "Toggle {{COUNT}} sources": "展开/收起 {{COUNT}} 个来源",
"Toggle 1 source": "展开/收起 1 个来源", "Toggle 1 source": "展开/收起 1 个来源",
"Toggle details": "", "Toggle details": "展开/收起详情",
"Toggle Dictation": "切换为听写模式", "Toggle Dictation": "切换为听写模式",
"Toggle Sidebar": "展开或收起侧边栏", "Toggle Sidebar": "展开或收起侧边栏",
"Toggle status history": "展开/收起历史状态", "Toggle status history": "展开/收起历史状态",
@@ -2050,7 +2050,7 @@
"Use '#' in the prompt input to load and include your knowledge.": "在输入框中输入 '#' 号可加载您需要的知识库内容", "Use '#' in the prompt input to load and include your knowledge.": "在输入框中输入 '#' 号可加载您需要的知识库内容",
"Use /v1/chat/completions endpoint instead of /v1/audio/transcriptions for potentially better accuracy.": "使用 /v1/chat/completions 接口替换 /v1/audio/transcriptions 以提高准确性。", "Use /v1/chat/completions endpoint instead of /v1/audio/transcriptions for potentially better accuracy.": "使用 /v1/chat/completions 接口替换 /v1/audio/transcriptions 以提高准确性。",
"Use Chat Completions API": "使用 Chat Completions 接口", "Use Chat Completions API": "使用 Chat Completions 接口",
"Use groups to organize your users and assign permissions.": "使用权限组来管理用户并分配权限。", "Use groups to organize your users and assign permissions.": "使用用户组来管理用户并分配权限。",
"Use LLM": "使用大语言模型(LLM)", "Use LLM": "使用大语言模型(LLM)",
"Use no proxy to fetch page contents.": "不使用代理获取页面内容", "Use no proxy to fetch page contents.": "不使用代理获取页面内容",
"Use proxy designated by http_proxy and https_proxy environment variables to fetch page contents.": "使用由 http_proxy 和 https_proxy 环境变量指定的代理获取页面内容", "Use proxy designated by http_proxy and https_proxy environment variables to fetch page contents.": "使用由 http_proxy 和 https_proxy 环境变量指定的代理获取页面内容",
@@ -2070,7 +2070,7 @@
"Uses OAuth 2.1 Dynamic Client Registration": "使用 OAuth 2.1 的动态客户端注册机制", "Uses OAuth 2.1 Dynamic Client Registration": "使用 OAuth 2.1 的动态客户端注册机制",
"Using Entire Document": "使用完整文档", "Using Entire Document": "使用完整文档",
"Using Focused Retrieval": "使用聚焦检索", "Using Focused Retrieval": "使用聚焦检索",
"Using the default arena model with all models. Click the plus button to add custom models.": "竞技场模型默认使用所有模型。点击上方的“+”按钮以添加自定义模型", "Using the default arena model with all models. Click the plus button to add custom models.": "默认会使用全部模型进行盲测。点击上方“+”可添加自定义盲测模型。",
"Valid time units:": "有效时间单位:", "Valid time units:": "有效时间单位:",
"Validate certificate": "验证证书合法性", "Validate certificate": "验证证书合法性",
"Valves": "配置项", "Valves": "配置项",
@@ -2131,7 +2131,7 @@
"Widescreen Mode": "宽屏模式", "Widescreen Mode": "宽屏模式",
"Width": "宽度", "Width": "宽度",
"Wikipedia": "维基百科", "Wikipedia": "维基百科",
"Won": "获胜", "Won": "更好",
"Works together with top-k. A higher value (e.g., 0.95) will lead to more diverse text, while a lower value (e.g., 0.5) will generate more focused and conservative text.": "与 top-k 配合使用。较高的值(例如 0.95)将产生更加多样化的文本,而较低的值(例如 0.5)将产生更加聚焦和保守的文本。", "Works together with top-k. A higher value (e.g., 0.95) will lead to more diverse text, while a lower value (e.g., 0.5) will generate more focused and conservative text.": "与 top-k 配合使用。较高的值(例如 0.95)将产生更加多样化的文本,而较低的值(例如 0.5)将产生更加聚焦和保守的文本。",
"Workspace": "工作空间", "Workspace": "工作空间",
"Workspace Permissions": "工作空间权限", "Workspace Permissions": "工作空间权限",
+39 -39
View File
@@ -17,7 +17,7 @@
"{{COUNT}} members": "{{COUNT}} 位成員", "{{COUNT}} members": "{{COUNT}} 位成員",
"{{COUNT}} Replies": "{{COUNT}} 回覆", "{{COUNT}} Replies": "{{COUNT}} 回覆",
"{{COUNT}} Rows": "{{COUNT}} 行", "{{COUNT}} Rows": "{{COUNT}} 行",
"{{count}} selected_other": "", "{{count}} selected_other": "已選取 {{count}} 項",
"{{COUNT}} Sources": "{{COUNT}} 個來源", "{{COUNT}} Sources": "{{COUNT}} 個來源",
"{{COUNT}} words": "{{COUNT}} 個詞", "{{COUNT}} words": "{{COUNT}} 個詞",
"{{COUNT}}d_time_ago": "{{COUNT}} 天前", "{{COUNT}}d_time_ago": "{{COUNT}} 天前",
@@ -128,7 +128,7 @@
"Allow File Upload": "允許上傳檔案", "Allow File Upload": "允許上傳檔案",
"Allow Multiple Models in Chat": "允許在對話中使用多個模型", "Allow Multiple Models in Chat": "允許在對話中使用多個模型",
"Allow non-local voices": "允許非本機語音", "Allow non-local voices": "允許非本機語音",
"Allow public write access": "", "Allow public write access": "允許公開寫入",
"Allow Rate Response": "允許為回應評分", "Allow Rate Response": "允許為回應評分",
"Allow Regenerate Response": "允許重新產生回應", "Allow Regenerate Response": "允許重新產生回應",
"Allow Sharing With Users": "允許與其他使用者分享", "Allow Sharing With Users": "允許與其他使用者分享",
@@ -183,8 +183,8 @@
"Are you sure you want to delete \"{{NAME}}\"?": "您確定要刪除「{{NAME}}」嗎?", "Are you sure you want to delete \"{{NAME}}\"?": "您確定要刪除「{{NAME}}」嗎?",
"Are you sure you want to delete all chats? This action cannot be undone.": "您確定要刪除所有對話嗎?此操作無法復原。", "Are you sure you want to delete all chats? This action cannot be undone.": "您確定要刪除所有對話嗎?此操作無法復原。",
"Are you sure you want to delete this channel?": "您確定要刪除此頻道嗎?", "Are you sure you want to delete this channel?": "您確定要刪除此頻道嗎?",
"Are you sure you want to delete this connection? This action cannot be undone.": "", "Are you sure you want to delete this connection? This action cannot be undone.": "確定要刪除此連線嗎?此操作無法復原。",
"Are you sure you want to delete this memory? This action cannot be undone.": "", "Are you sure you want to delete this memory? This action cannot be undone.": "確定要刪除這筆記憶嗎?此操作無法復原。",
"Are you sure you want to delete this message?": "您確定要刪除此訊息嗎?", "Are you sure you want to delete this message?": "您確定要刪除此訊息嗎?",
"Are you sure you want to delete this version? Child versions will be relinked to this version's parent.": "您確定要刪除此版本嗎?子版本將重新連結至上一層版本。", "Are you sure you want to delete this version? Child versions will be relinked to this version's parent.": "您確定要刪除此版本嗎?子版本將重新連結至上一層版本。",
"Are you sure you want to delete this?": "確定要刪除嗎?", "Are you sure you want to delete this?": "確定要刪除嗎?",
@@ -330,10 +330,10 @@
"Click here to upload a workflow.json file.": "點選此處上傳 workflow.json 檔案。", "Click here to upload a workflow.json file.": "點選此處上傳 workflow.json 檔案。",
"click here.": "點選此處。", "click here.": "點選此處。",
"Click on the user role button to change a user's role.": "點選使用者角色按鈕變更使用者的角色。", "Click on the user role button to change a user's role.": "點選使用者角色按鈕變更使用者的角色。",
"Click to connect": "", "Click to connect": "點選以連線",
"Click to copy ID": "點擊複製 ID", "Click to copy ID": "點擊複製 ID",
"Client ID": "", "Client ID": "用戶端 ID",
"Client Secret": "", "Client Secret": "用戶端金鑰",
"Clipboard write permission denied. Please check your browser settings to grant the necessary access.": "剪貼簿寫入權限遭拒。請檢查您的瀏覽器設定,授予必要的存取權限。", "Clipboard write permission denied. Please check your browser settings to grant the necessary access.": "剪貼簿寫入權限遭拒。請檢查您的瀏覽器設定,授予必要的存取權限。",
"Clone": "複製", "Clone": "複製",
"Clone Chat": "複製對話", "Clone Chat": "複製對話",
@@ -385,7 +385,7 @@
"Configure": "設定", "Configure": "設定",
"Confirm": "確認", "Confirm": "確認",
"Confirm Password": "確認密碼", "Confirm Password": "確認密碼",
"Confirm Prompt from Embed": "", "Confirm Prompt from Embed": "確認嵌入提示詞",
"Confirm your action": "確認您的操作", "Confirm your action": "確認您的操作",
"Confirm your new password": "確認您的新密碼", "Confirm your new password": "確認您的新密碼",
"Confirm Your Password": "確認您的密碼", "Confirm Your Password": "確認您的密碼",
@@ -394,7 +394,7 @@
"Connect to Open Terminal instances. All users will have access to file browsing and terminal tools through these servers.": "連接到 Open Terminal 實例後,所有使用者將可瀏覽伺服器上的檔案,並使用終端工具。", "Connect to Open Terminal instances. All users will have access to file browsing and terminal tools through these servers.": "連接到 Open Terminal 實例後,所有使用者將可瀏覽伺服器上的檔案,並使用終端工具。",
"Connect to your own OpenAI compatible API endpoints.": "連線至您自有或其他與 OpenAI API 相容的端點。", "Connect to your own OpenAI compatible API endpoints.": "連線至您自有或其他與 OpenAI API 相容的端點。",
"Connect to your own OpenAPI compatible external tool servers.": "連線至您自有或其他與 OpenAPI 相容的外部工具伺服器。", "Connect to your own OpenAPI compatible external tool servers.": "連線至您自有或其他與 OpenAPI 相容的外部工具伺服器。",
"Connected ({{type}})": "", "Connected ({{type}})": "已連線({{type}})",
"Connection failed": "連線失敗", "Connection failed": "連線失敗",
"Connection successful": "連線成功", "Connection successful": "連線成功",
"Connection Type": "連線類型", "Connection Type": "連線類型",
@@ -435,7 +435,7 @@
"Copying to clipboard was successful!": "成功複製到剪貼簿!", "Copying to clipboard was successful!": "成功複製到剪貼簿!",
"CORS must be properly configured by the provider to allow requests from Open WebUI.": "CORS 必須由供應商正確設定,以允許來自 Open WebUI 的請求。", "CORS must be properly configured by the provider to allow requests from Open WebUI.": "CORS 必須由供應商正確設定,以允許來自 Open WebUI 的請求。",
"Could not read file.": "無法讀取檔案。", "Could not read file.": "無法讀取檔案。",
"CPU": "", "CPU": "CPU",
"Create": "建立", "Create": "建立",
"Create a knowledge base": "建立知識", "Create a knowledge base": "建立知識",
"Create a model": "建立模型", "Create a model": "建立模型",
@@ -507,7 +507,7 @@
"Delete File": "刪除檔案", "Delete File": "刪除檔案",
"Delete folder?": "刪除資料夾?", "Delete folder?": "刪除資料夾?",
"Delete function?": "刪除函式?", "Delete function?": "刪除函式?",
"Delete Memory?": "", "Delete Memory?": "要刪除這筆記憶嗎?",
"Delete Message": "刪除訊息", "Delete Message": "刪除訊息",
"Delete message?": "刪除訊息?", "Delete message?": "刪除訊息?",
"Delete Model": "刪除模型", "Delete Model": "刪除模型",
@@ -521,7 +521,7 @@
"Deleted": "刪除成功", "Deleted": "刪除成功",
"Deleted {{deleteModelTag}}": "已刪除 {{deleteModelTag}}", "Deleted {{deleteModelTag}}": "已刪除 {{deleteModelTag}}",
"Deleted {{name}}": "已刪除 {{name}}", "Deleted {{name}}": "已刪除 {{name}}",
"Deleted {{ok}} of {{total}} items": "", "Deleted {{ok}} of {{total}} items": "已刪除 {{total}} 項中的 {{ok}} 項",
"Deleted User": "已刪除的使用者", "Deleted User": "已刪除的使用者",
"Deployment names are required for Azure OpenAI": "需要提供 Azure OpenAI 部署名稱", "Deployment names are required for Azure OpenAI": "需要提供 Azure OpenAI 部署名稱",
"Desc": "降序", "Desc": "降序",
@@ -530,7 +530,7 @@
"Describe what changed...": "描述變更內容…", "Describe what changed...": "描述變更內容…",
"Describe your knowledge base and objectives": "描述您的知識庫和目標", "Describe your knowledge base and objectives": "描述您的知識庫和目標",
"Description": "描述", "Description": "描述",
"Deselect": "", "Deselect": "取消選取",
"Detect Artifacts Automatically": "自動偵測對話產物", "Detect Artifacts Automatically": "自動偵測對話產物",
"Dictate": "語音輸入", "Dictate": "語音輸入",
"Didn't fully follow instructions": "未完全遵循指示", "Didn't fully follow instructions": "未完全遵循指示",
@@ -793,8 +793,8 @@
"Enter Your Username": "輸入您的使用者名稱", "Enter Your Username": "輸入您的使用者名稱",
"Enter your webhook URL": "輸入您的 webhook URL", "Enter your webhook URL": "輸入您的 webhook URL",
"Entra ID": "Entra ID", "Entra ID": "Entra ID",
"Environment Variables": "", "Environment Variables": "環境變數",
"Ephemeral": "", "Ephemeral": "暫時性",
"Error": "錯誤", "Error": "錯誤",
"ERROR": "錯誤", "ERROR": "錯誤",
"Error accessing directory": "存取目錄時發生錯誤", "Error accessing directory": "存取目錄時發生錯誤",
@@ -821,8 +821,8 @@
"Experimental": "實驗性功能", "Experimental": "實驗性功能",
"Explain": "解釋", "Explain": "解釋",
"Explore the cosmos": "探索宇宙", "Explore the cosmos": "探索宇宙",
"Explored": "", "Explored": "已分析",
"Exploring": "", "Exploring": "分析中",
"Export": "匯出", "Export": "匯出",
"Export All Archived Chats": "匯出所有已封存的對話", "Export All Archived Chats": "匯出所有已封存的對話",
"Export All Chats (All Users)": "匯出所有對話紀錄(所有使用者)", "Export All Chats (All Users)": "匯出所有對話紀錄(所有使用者)",
@@ -873,7 +873,7 @@
"Failed to save connections": "儲存連線失敗", "Failed to save connections": "儲存連線失敗",
"Failed to save conversation": "儲存對話失敗", "Failed to save conversation": "儲存對話失敗",
"Failed to save models configuration": "儲存模型設定失敗", "Failed to save models configuration": "儲存模型設定失敗",
"Failed to save policy: {{error}}": "", "Failed to save policy: {{error}}": "儲存策略失敗:{{error}}",
"Failed to save terminal servers": "終端伺服器儲存失敗", "Failed to save terminal servers": "終端伺服器儲存失敗",
"Failed to unshare chat.": "取消分享對話失敗。", "Failed to unshare chat.": "取消分享對話失敗。",
"Failed to update settings": "更新設定失敗", "Failed to update settings": "更新設定失敗",
@@ -889,7 +889,7 @@
"Feedback History": "回饋歷史", "Feedback History": "回饋歷史",
"Feel free to add specific details": "歡迎自由新增特定細節", "Feel free to add specific details": "歡迎自由新增特定細節",
"Female": "女性", "Female": "女性",
"Fetch URL Content Length Limit": "", "Fetch URL Content Length Limit": "URL 擷取內容長度上限",
"File": "檔案", "File": "檔案",
"File added successfully.": "成功新增檔案。", "File added successfully.": "成功新增檔案。",
"File attached to chat": "檔案已加入對話中", "File attached to chat": "檔案已加入對話中",
@@ -944,7 +944,7 @@
"Format Lines": "行內容格式化", "Format Lines": "行內容格式化",
"Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "對輸出中的文字行進行格式處理。預設為 False。設定為 True 時,將會格式化這些文字行,以偵測並識別行內數學公式和樣式。", "Format the lines in the output. Defaults to False. If set to True, the lines will be formatted to detect inline math and styles.": "對輸出中的文字行進行格式處理。預設為 False。設定為 True 時,將會格式化這些文字行,以偵測並識別行內數學公式和樣式。",
"Formatting may be inconsistent from source.": "可能與原始格式不完全一致。", "Formatting may be inconsistent from source.": "可能與原始格式不完全一致。",
"Forward": "", "Forward": "前進",
"Forwards system user OAuth access token to authenticate": "轉發使用者 OAuth 存取權杖(Access Token)以進行驗證", "Forwards system user OAuth access token to authenticate": "轉發使用者 OAuth 存取權杖(Access Token)以進行驗證",
"Forwards system user session credentials to authenticate": "轉發使用者工作階段憑證(Session Credentials)以進行驗證", "Forwards system user session credentials to authenticate": "轉發使用者工作階段憑證(Session Credentials)以進行驗證",
"Full Context Mode": "完整上下文模式", "Full Context Mode": "完整上下文模式",
@@ -1032,7 +1032,7 @@
"ID": "ID", "ID": "ID",
"ID cannot contain \":\" or \"|\" characters": "ID 不能包含 \":\" 或 \"|\" 字元", "ID cannot contain \":\" or \"|\" characters": "ID 不能包含 \":\" 或 \"|\" 字元",
"ID copied to clipboard": "ID 已複製到剪貼簿", "ID copied to clipboard": "ID 已複製到剪貼簿",
"Idle Timeout": "", "Idle Timeout": "閒置逾時時間",
"iframe Sandbox Allow Forms": "iframe 沙盒允許表單", "iframe Sandbox Allow Forms": "iframe 沙盒允許表單",
"iframe Sandbox Allow Same Origin": "iframe 沙盒允許同源", "iframe Sandbox Allow Same Origin": "iframe 沙盒允許同源",
"Ignite curiosity": "點燃好奇心", "Ignite curiosity": "點燃好奇心",
@@ -1203,7 +1203,7 @@
"Max Speakers": "最大發言者數量", "Max Speakers": "最大發言者數量",
"Max Upload Count": "最大上傳數量", "Max Upload Count": "最大上傳數量",
"Max Upload Size": "最大上傳大小", "Max Upload Size": "最大上傳大小",
"Maximum characters to return from fetched URLs. Leave empty for no limit.": "", "Maximum characters to return from fetched URLs. Leave empty for no limit.": "從 URL 擷取內容時可回傳的最大字元數。留空表示無限制。",
"Maximum number of files allowed per folder.": "每個分組允許的最大檔案數量。", "Maximum number of files allowed per folder.": "每個分組允許的最大檔案數量。",
"Maximum number of files per folder is {{max}}.": "每個分組允許的最大檔案數量為 {{max}}。", "Maximum number of files per folder is {{max}}.": "每個分組允許的最大檔案數量為 {{max}}。",
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "最多同時下載 3 個模型。請稍後再試。", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "最多同時下載 3 個模型。請稍後再試。",
@@ -1235,7 +1235,7 @@
"Microsoft OneDrive": "Microsoft OneDrive", "Microsoft OneDrive": "Microsoft OneDrive",
"Microsoft OneDrive (personal)": "Microsoft OneDrive(個人版)", "Microsoft OneDrive (personal)": "Microsoft OneDrive(個人版)",
"Microsoft OneDrive (work/school)": "Microsoft OneDrive(公司版/學校版)", "Microsoft OneDrive (work/school)": "Microsoft OneDrive(公司版/學校版)",
"min": "", "min": "分鐘",
"MinerU": "MinerU", "MinerU": "MinerU",
"MinerU API Key required for Cloud API mode.": "使用 MinerU 雲端服務模式需要 API 金鑰。", "MinerU API Key required for Cloud API mode.": "使用 MinerU 雲端服務模式需要 API 金鑰。",
"Mistral OCR": "Mistral OCR", "Mistral OCR": "Mistral OCR",
@@ -1341,7 +1341,7 @@
"No kernel": "無核心", "No kernel": "無核心",
"No knowledge bases found.": "未找到知識庫", "No knowledge bases found.": "未找到知識庫",
"No knowledge found": "未找到知識", "No knowledge found": "未找到知識",
"No limit": "", "No limit": "無限制",
"No memories to clear": "沒有記憶可清除", "No memories to clear": "沒有記憶可清除",
"No model IDs": "沒有模型 ID", "No model IDs": "沒有模型 ID",
"No models available": "暫無可用模型", "No models available": "暫無可用模型",
@@ -1385,7 +1385,7 @@
"November": "11 月", "November": "11 月",
"OAuth": "OAuth", "OAuth": "OAuth",
"OAuth 2.1": "OAuth 2.1", "OAuth 2.1": "OAuth 2.1",
"OAuth 2.1 (Static)": "", "OAuth 2.1 (Static)": "OAuth 2.1(靜態)",
"OAuth ID": "OAuth ID", "OAuth ID": "OAuth ID",
"October": "10 月", "October": "10 月",
"Off": "關閉", "Off": "關閉",
@@ -1415,7 +1415,7 @@
"Oops! You're using an unsupported method (frontend only). Please serve the WebUI from the backend.": "哎呀!您使用了不支援的方法(僅限前端)。請從後端提供 WebUI。", "Oops! You're using an unsupported method (frontend only). Please serve the WebUI from the backend.": "哎呀!您使用了不支援的方法(僅限前端)。請從後端提供 WebUI。",
"Open file": "開啟檔案", "Open file": "開啟檔案",
"Open in full screen": "全螢幕開啟", "Open in full screen": "全螢幕開啟",
"Open in new tab": "", "Open in new tab": "在新分頁中開啟",
"Open link": "開啟連結", "Open link": "開啟連結",
"Open modal to configure connection": "開啟外部連線設定彈出視窗", "Open modal to configure connection": "開啟外部連線設定彈出視窗",
"Open Modal To Manage Floating Quick Actions": "開啟管理浮動快速操作的彈出視窗", "Open Modal To Manage Floating Quick Actions": "開啟管理浮動快速操作的彈出視窗",
@@ -1476,7 +1476,7 @@
"Perplexity Model": "Perplexity 模型", "Perplexity Model": "Perplexity 模型",
"Perplexity Search API URL": "Perplexity 搜尋 API URL", "Perplexity Search API URL": "Perplexity 搜尋 API URL",
"Perplexity Search Context Usage": "Perplexity 搜尋上下文使用量", "Perplexity Search Context Usage": "Perplexity 搜尋上下文使用量",
"Persistent": "", "Persistent": "持久性",
"Personalization": "個人化", "Personalization": "個人化",
"Pin": "釘選", "Pin": "釘選",
"Pinned": "已釘選", "Pinned": "已釘選",
@@ -1496,7 +1496,7 @@
"Playwright Timeout (ms)": "Playwright 逾時時間(毫秒)", "Playwright Timeout (ms)": "Playwright 逾時時間(毫秒)",
"Playwright WebSocket URL": "Playwright WebSocket URL", "Playwright WebSocket URL": "Playwright WebSocket URL",
"Please carefully review the following warnings:": "請仔細閱讀以下警告:", "Please carefully review the following warnings:": "請仔細閱讀以下警告:",
"Please connect all required integrations before sending a message": "", "Please connect all required integrations before sending a message": "傳送訊息前,請先連線所有必要的整合服務",
"Please do not close the settings page while loading the model.": "載入模型時,請勿關閉設定頁面。", "Please do not close the settings page while loading the model.": "載入模型時,請勿關閉設定頁面。",
"Please enter a message or attach a file.": "請輸入訊息或附加檔案。", "Please enter a message or attach a file.": "請輸入訊息或附加檔案。",
"Please enter a prompt": "請輸入提示詞", "Please enter a prompt": "請輸入提示詞",
@@ -1505,7 +1505,7 @@
"Please enter a valid path": "請輸入有效路徑", "Please enter a valid path": "請輸入有效路徑",
"Please enter a valid URL": "請輸入有效 URL", "Please enter a valid URL": "請輸入有效 URL",
"Please enter a valid URL.": "請輸入有效的 URL。", "Please enter a valid URL.": "請輸入有效的 URL。",
"Please enter Client ID and Client Secret": "", "Please enter Client ID and Client Secret": "請輸入用戶端 ID 與用戶端密鑰",
"Please fill in all fields.": "請填寫所有欄位。", "Please fill in all fields.": "請填寫所有欄位。",
"Please register the OAuth client": "請註冊 OAuth 用戶端", "Please register the OAuth client": "請註冊 OAuth 用戶端",
"Please save the connection to persist the OAuth client information and do not change the ID": "請儲存連線以保存 OAuth 用戶端資訊,且勿更改 ID", "Please save the connection to persist the OAuth client information and do not change the ID": "請儲存連線以保存 OAuth 用戶端資訊,且勿更改 ID",
@@ -1515,7 +1515,7 @@
"Please select a valid JSON file": "請選擇有效的 JSON 檔案", "Please select a valid JSON file": "請選擇有效的 JSON 檔案",
"Please select at least one user for Direct Message channel.": "請至少選擇一位使用者以建立直接訊息頻道。", "Please select at least one user for Direct Message channel.": "請至少選擇一位使用者以建立直接訊息頻道。",
"Please wait until all files are uploaded.": "請等待所有檔案上傳完畢。", "Please wait until all files are uploaded.": "請等待所有檔案上傳完畢。",
"Policy ID": "", "Policy ID": "策略 ID",
"Port": "連接埠", "Port": "連接埠",
"Ports": "連接埠", "Ports": "連接埠",
"Positive attitude": "積極的態度", "Positive attitude": "積極的態度",
@@ -1552,8 +1552,8 @@
"Querying": "查詢中", "Querying": "查詢中",
"Quick Actions": "快速操作", "Quick Actions": "快速操作",
"RAG Template": "RAG 範本", "RAG Template": "RAG 範本",
"Ran {{COUNT}} analyses": "", "Ran {{COUNT}} analyses": "已完成 {{COUNT}} 次分析",
"Ran {{COUNT}} analysis": "", "Ran {{COUNT}} analysis": "已完成 {{COUNT}} 次分析",
"Rate {{rating}} out of 10": "評分:{{rating}}/10", "Rate {{rating}} out of 10": "評分:{{rating}}/10",
"Rating": "評分", "Rating": "評分",
"Re-rank models by topic similarity": "根據主題相似度重新排序模型", "Re-rank models by topic similarity": "根據主題相似度重新排序模型",
@@ -1597,7 +1597,7 @@
"Remove image": "移除圖片", "Remove image": "移除圖片",
"Remove Model": "移除模型", "Remove Model": "移除模型",
"Rename": "重新命名", "Rename": "重新命名",
"Renamed to {{name}}": "", "Renamed to {{name}}": "已重新命名為 {{name}}",
"Render Markdown in Previews": "在檔案與引用預覽中轉譯 Markdown", "Render Markdown in Previews": "在檔案與引用預覽中轉譯 Markdown",
"Reorder Models": "重新排序模型", "Reorder Models": "重新排序模型",
"Reply": "回覆", "Reply": "回覆",
@@ -1662,7 +1662,7 @@
"Search Groups": "搜尋權限群組", "Search Groups": "搜尋權限群組",
"Search In Models": "在模型中搜尋", "Search In Models": "在模型中搜尋",
"Search Knowledge": "搜尋知識庫", "Search Knowledge": "搜尋知識庫",
"Search Memories": "", "Search Memories": "搜尋記憶",
"Search Models": "搜尋模型", "Search Models": "搜尋模型",
"Search Notes": "搜尋筆記", "Search Notes": "搜尋筆記",
"Search options": "搜尋選項", "Search options": "搜尋選項",
@@ -1704,7 +1704,7 @@
"Select a theme": "選擇主題", "Select a theme": "選擇主題",
"Select a tool": "選擇工具", "Select a tool": "選擇工具",
"Select a voice": "選擇語音", "Select a voice": "選擇語音",
"Select All": "", "Select All": "全選",
"Select an auth method": "選擇驗證方式", "Select an auth method": "選擇驗證方式",
"Select an embedding model engine": "選擇嵌入模型引擎", "Select an embedding model engine": "選擇嵌入模型引擎",
"Select an engine": "選擇引擎", "Select an engine": "選擇引擎",
@@ -1733,7 +1733,7 @@
"Serper API Key": "Serper API 金鑰", "Serper API Key": "Serper API 金鑰",
"Serply API Key": "Serply API 金鑰", "Serply API Key": "Serply API 金鑰",
"Serpstack API Key": "Serpstack API 金鑰", "Serpstack API Key": "Serpstack API 金鑰",
"Server connection failed": "", "Server connection failed": "伺服器連線失敗",
"Server connection verified": "伺服器連線已驗證", "Server connection verified": "伺服器連線已驗證",
"Session": "Session", "Session": "Session",
"Set as default": "設為預設", "Set as default": "設為預設",
@@ -1835,7 +1835,7 @@
"Stop Download": "停止下載", "Stop Download": "停止下載",
"Stop Generating": "停止產生", "Stop Generating": "停止產生",
"Stop Sequence": "停止序列", "Stop Sequence": "停止序列",
"Storage": "", "Storage": "儲存空間",
"Stream Chat Response": "串流式對話回應", "Stream Chat Response": "串流式對話回應",
"Stream Delta Chunk Size": "串流增量輸出的分塊大小(Stream Delta Chunk Size)", "Stream Delta Chunk Size": "串流增量輸出的分塊大小(Stream Delta Chunk Size)",
"Streamable HTTP": "串流 HTTP", "Streamable HTTP": "串流 HTTP",
@@ -1934,7 +1934,7 @@
"This will delete all models including custom models and cannot be undone.": "這將刪除所有模型,包括自訂模型,且無法復原。", "This will delete all models including custom models and cannot be undone.": "這將刪除所有模型,包括自訂模型,且無法復原。",
"This will reset the knowledge base and sync all files. Do you wish to continue?": "這將重設知識庫並同步所有檔案。您確定要繼續嗎?", "This will reset the knowledge base and sync all files. Do you wish to continue?": "這將重設知識庫並同步所有檔案。您確定要繼續嗎?",
"Thorough explanation": "詳細解釋", "Thorough explanation": "詳細解釋",
"Thought": "", "Thought": "思考過程",
"Thought for {{DURATION}}": "思考時間 {{DURATION}}", "Thought for {{DURATION}}": "思考時間 {{DURATION}}",
"Thought for {{DURATION}} seconds": "思考時間 {{DURATION}} 秒", "Thought for {{DURATION}} seconds": "思考時間 {{DURATION}} 秒",
"Thought for less than a second": "思考用時小於 1 秒", "Thought for less than a second": "思考用時小於 1 秒",
@@ -1963,7 +1963,7 @@
"Today at {{LOCALIZED_TIME}}": "今天 {{LOCALIZED_TIME}}", "Today at {{LOCALIZED_TIME}}": "今天 {{LOCALIZED_TIME}}",
"Toggle {{COUNT}} sources": "展開/收合 {{COUNT}} 個來源", "Toggle {{COUNT}} sources": "展開/收合 {{COUNT}} 個來源",
"Toggle 1 source": "展開/收合 1 個來源", "Toggle 1 source": "展開/收合 1 個來源",
"Toggle details": "", "Toggle details": "展開/收合詳細資訊",
"Toggle Dictation": "切換聽寫模式", "Toggle Dictation": "切換聽寫模式",
"Toggle Sidebar": "切換側邊欄", "Toggle Sidebar": "切換側邊欄",
"Toggle status history": "展開/收合歷史狀態", "Toggle status history": "展開/收合歷史狀態",