diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 171a82ca8..feecd16c7 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -27,6 +27,8 @@ body: options: - label: I have searched the existing issues and discussions. required: true + - label: I am using the latest version of Open WebUI. + required: true - type: dropdown id: installation-method @@ -83,9 +85,9 @@ body: required: true - label: I am using the latest version of **both** Open WebUI and Ollama. required: true - - label: I have checked the browser console logs. + - label: I have included the browser console logs. required: true - - label: I have checked the Docker container logs. + - label: I have included the Docker container logs. required: true - label: I have listed steps to reproduce the bug in detail. required: true @@ -110,7 +112,7 @@ body: id: reproduction-steps attributes: label: Steps to Reproduce - description: Provide step-by-step instructions to reproduce the issue. + description: Providing clear, step-by-step instructions helps us reproduce and fix the issue faster. If we can't reproduce it, we can't fix it. placeholder: | 1. Go to '...' 2. Click on '...' diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 000000000..3ba13e0ce --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1 @@ +blank_issues_enabled: false diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 2a45c2c16..7fc17cd01 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -9,9 +9,9 @@ - [ ] **Changelog:** Ensure a changelog entry following the format of [Keep a Changelog](https://keepachangelog.com/) is added at the bottom of the PR description. - [ ] **Documentation:** Have you updated relevant documentation [Open WebUI Docs](https://github.com/open-webui/docs), or other documentation sources? - [ ] **Dependencies:** Are there any new dependencies? Have you updated the dependency versions in the documentation? -- [ ] **Testing:** Have you written and run sufficient tests for validating the changes? +- [ ] **Testing:** Have you written and run sufficient tests to validate the changes? - [ ] **Code review:** Have you performed a self-review of your code, addressing any coding standard issues and ensuring adherence to the project's coding standards? -- [ ] **Prefix:** To cleary categorize this pull request, prefix the pull request title, using one of the following: +- [ ] **Prefix:** To clearly categorize this pull request, prefix the pull request title using one of the following: - **BREAKING CHANGE**: Significant changes that may affect compatibility - **build**: Changes that affect the build system or external dependencies - **ci**: Changes to our continuous integration processes or workflows @@ -22,7 +22,7 @@ - **i18n**: Internationalization or localization changes - **perf**: Performance improvement - **refactor**: Code restructuring for better maintainability, readability, or scalability - - **style**: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc.) + - **style**: Changes that do not affect the meaning of the code (white space, formatting, missing semi-colons, etc.) - **test**: Adding missing tests or correcting existing tests - **WIP**: Work in progress, a temporary label for incomplete or ongoing work diff --git a/Dockerfile b/Dockerfile index 274e23dbf..4a5411611 100644 --- a/Dockerfile +++ b/Dockerfile @@ -132,7 +132,7 @@ RUN if [ "$USE_OLLAMA" = "true" ]; then \ # install python dependencies COPY --chown=$UID:$GID ./backend/requirements.txt ./requirements.txt -RUN pip3 install uv && \ +RUN pip3 install --no-cache-dir uv && \ if [ "$USE_CUDA" = "true" ]; then \ # If you use CUDA the whisper and embedding model will be downloaded on first use pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/$USE_CUDA_DOCKER_VER --no-cache-dir && \ diff --git a/backend/open_webui/config.py b/backend/open_webui/config.py index c832b88a2..b05cb9641 100644 --- a/backend/open_webui/config.py +++ b/backend/open_webui/config.py @@ -3,6 +3,7 @@ import logging import os import shutil import base64 +import redis from datetime import datetime from pathlib import Path @@ -17,6 +18,7 @@ from open_webui.env import ( DATA_DIR, DATABASE_URL, ENV, + REDIS_URL, FRONTEND_BUILD_DIR, OFFLINE_MODE, OPEN_WEBUI_DIR, @@ -248,9 +250,14 @@ class PersistentConfig(Generic[T]): class AppConfig: _state: dict[str, PersistentConfig] + _redis: Optional[redis.Redis] = None - def __init__(self): + def __init__(self, redis_url: Optional[str] = None): super().__setattr__("_state", {}) + if redis_url: + super().__setattr__( + "_redis", redis.Redis.from_url(redis_url, decode_responses=True) + ) def __setattr__(self, key, value): if isinstance(value, PersistentConfig): @@ -259,7 +266,31 @@ class AppConfig: self._state[key].value = value self._state[key].save() + if self._redis: + redis_key = f"open-webui:config:{key}" + self._redis.set(redis_key, json.dumps(self._state[key].value)) + def __getattr__(self, key): + if key not in self._state: + raise AttributeError(f"Config key '{key}' not found") + + # If Redis is available, check for an updated value + if self._redis: + redis_key = f"open-webui:config:{key}" + redis_value = self._redis.get(redis_key) + + if redis_value is not None: + try: + decoded_value = json.loads(redis_value) + + # Update the in-memory value if different + if self._state[key].value != decoded_value: + self._state[key].value = decoded_value + log.info(f"Updated {key} from Redis: {decoded_value}") + + except json.JSONDecodeError: + log.error(f"Invalid JSON format in Redis for {key}: {redis_value}") + return self._state[key].value @@ -1276,7 +1307,7 @@ Strictly return in JSON format: ENABLE_AUTOCOMPLETE_GENERATION = PersistentConfig( "ENABLE_AUTOCOMPLETE_GENERATION", "task.autocomplete.enable", - os.environ.get("ENABLE_AUTOCOMPLETE_GENERATION", "True").lower() == "true", + os.environ.get("ENABLE_AUTOCOMPLETE_GENERATION", "False").lower() == "true", ) AUTOCOMPLETE_GENERATION_INPUT_MAX_LENGTH = PersistentConfig( @@ -1548,8 +1579,10 @@ QDRANT_API_KEY = os.environ.get("QDRANT_API_KEY", None) # OpenSearch OPENSEARCH_URI = os.environ.get("OPENSEARCH_URI", "https://localhost:9200") -OPENSEARCH_SSL = os.environ.get("OPENSEARCH_SSL", True) -OPENSEARCH_CERT_VERIFY = os.environ.get("OPENSEARCH_CERT_VERIFY", False) +OPENSEARCH_SSL = os.environ.get("OPENSEARCH_SSL", "true").lower() == "true" +OPENSEARCH_CERT_VERIFY = ( + os.environ.get("OPENSEARCH_CERT_VERIFY", "false").lower() == "true" +) OPENSEARCH_USERNAME = os.environ.get("OPENSEARCH_USERNAME", None) OPENSEARCH_PASSWORD = os.environ.get("OPENSEARCH_PASSWORD", None) @@ -1623,6 +1656,12 @@ TIKA_SERVER_URL = PersistentConfig( os.getenv("TIKA_SERVER_URL", "http://tika:9998"), # Default for sidecar deployment ) +DOCLING_SERVER_URL = PersistentConfig( + "DOCLING_SERVER_URL", + "rag.docling_server_url", + os.getenv("DOCLING_SERVER_URL", "http://docling:5001"), +) + DOCUMENT_INTELLIGENCE_ENDPOINT = PersistentConfig( "DOCUMENT_INTELLIGENCE_ENDPOINT", "rag.document_intelligence_endpoint", @@ -1955,6 +1994,12 @@ TAVILY_API_KEY = PersistentConfig( os.getenv("TAVILY_API_KEY", ""), ) +TAVILY_EXTRACT_DEPTH = PersistentConfig( + "TAVILY_EXTRACT_DEPTH", + "rag.web.search.tavily_extract_depth", + os.getenv("TAVILY_EXTRACT_DEPTH", "basic"), +) + JINA_API_KEY = PersistentConfig( "JINA_API_KEY", "rag.web.search.jina_api_key", @@ -2041,6 +2086,12 @@ PLAYWRIGHT_WS_URI = PersistentConfig( os.environ.get("PLAYWRIGHT_WS_URI", None), ) +PLAYWRIGHT_TIMEOUT = PersistentConfig( + "PLAYWRIGHT_TIMEOUT", + "rag.web.loader.engine.playwright.timeout", + int(os.environ.get("PLAYWRIGHT_TIMEOUT", "10")), +) + FIRECRAWL_API_KEY = PersistentConfig( "FIRECRAWL_API_KEY", "firecrawl.api_key", diff --git a/backend/open_webui/env.py b/backend/open_webui/env.py index 3b3d6d4f3..2a327aa5d 100644 --- a/backend/open_webui/env.py +++ b/backend/open_webui/env.py @@ -105,7 +105,6 @@ for source in log_sources: log.setLevel(SRC_LOG_LEVELS["CONFIG"]) - WEBUI_NAME = os.environ.get("WEBUI_NAME", "Open WebUI") if WEBUI_NAME != "Open WebUI": WEBUI_NAME += " (Open WebUI)" @@ -130,7 +129,6 @@ else: except Exception: PACKAGE_DATA = {"version": "0.0.0"} - VERSION = PACKAGE_DATA["version"] @@ -161,7 +159,6 @@ try: except Exception: changelog_content = (pkgutil.get_data("open_webui", "CHANGELOG.md") or b"").decode() - # Convert markdown content to HTML html_content = markdown.markdown(changelog_content) @@ -192,7 +189,6 @@ for version in soup.find_all("h2"): changelog_json[version_number] = version_data - CHANGELOG = changelog_json #################################### @@ -209,7 +205,6 @@ ENABLE_FORWARD_USER_INFO_HEADERS = ( os.environ.get("ENABLE_FORWARD_USER_INFO_HEADERS", "False").lower() == "true" ) - #################################### # WEBUI_BUILD_HASH #################################### @@ -244,7 +239,6 @@ if FROM_INIT_PY: DATA_DIR = Path(os.getenv("DATA_DIR", OPEN_WEBUI_DIR / "data")) - STATIC_DIR = Path(os.getenv("STATIC_DIR", OPEN_WEBUI_DIR / "static")) FONTS_DIR = Path(os.getenv("FONTS_DIR", OPEN_WEBUI_DIR / "static" / "fonts")) @@ -256,7 +250,6 @@ if FROM_INIT_PY: os.getenv("FRONTEND_BUILD_DIR", OPEN_WEBUI_DIR / "frontend") ).resolve() - #################################### # Database #################################### @@ -321,7 +314,6 @@ RESET_CONFIG_ON_START = ( os.environ.get("RESET_CONFIG_ON_START", "False").lower() == "true" ) - ENABLE_REALTIME_CHAT_SAVE = ( os.environ.get("ENABLE_REALTIME_CHAT_SAVE", "False").lower() == "true" ) @@ -330,7 +322,7 @@ ENABLE_REALTIME_CHAT_SAVE = ( # REDIS #################################### -REDIS_URL = os.environ.get("REDIS_URL", "redis://localhost:6379/0") +REDIS_URL = os.environ.get("REDIS_URL", "") #################################### # WEBUI_AUTH (Required for security) @@ -399,18 +391,16 @@ else: AIOHTTP_CLIENT_TIMEOUT_MODEL_LIST = os.environ.get( "AIOHTTP_CLIENT_TIMEOUT_MODEL_LIST", - os.environ.get("AIOHTTP_CLIENT_TIMEOUT_OPENAI_MODEL_LIST", ""), + os.environ.get("AIOHTTP_CLIENT_TIMEOUT_OPENAI_MODEL_LIST", "10"), ) - if AIOHTTP_CLIENT_TIMEOUT_MODEL_LIST == "": AIOHTTP_CLIENT_TIMEOUT_MODEL_LIST = None else: try: AIOHTTP_CLIENT_TIMEOUT_MODEL_LIST = int(AIOHTTP_CLIENT_TIMEOUT_MODEL_LIST) except Exception: - AIOHTTP_CLIENT_TIMEOUT_MODEL_LIST = 5 - + AIOHTTP_CLIENT_TIMEOUT_MODEL_LIST = 10 #################################### # OFFLINE_MODE @@ -424,13 +414,12 @@ if OFFLINE_MODE: #################################### # AUDIT LOGGING #################################### -ENABLE_AUDIT_LOGS = os.getenv("ENABLE_AUDIT_LOGS", "false").lower() == "true" # Where to store log file AUDIT_LOGS_FILE_PATH = f"{DATA_DIR}/audit.log" # Maximum size of a file before rotating into a new log file AUDIT_LOG_FILE_ROTATION_SIZE = os.getenv("AUDIT_LOG_FILE_ROTATION_SIZE", "10MB") # METADATA | REQUEST | REQUEST_RESPONSE -AUDIT_LOG_LEVEL = os.getenv("AUDIT_LOG_LEVEL", "REQUEST_RESPONSE").upper() +AUDIT_LOG_LEVEL = os.getenv("AUDIT_LOG_LEVEL", "NONE").upper() try: MAX_BODY_LOG_SIZE = int(os.environ.get("MAX_BODY_LOG_SIZE") or 2048) except ValueError: @@ -442,3 +431,26 @@ AUDIT_EXCLUDED_PATHS = os.getenv("AUDIT_EXCLUDED_PATHS", "/chats,/chat,/folders" ) AUDIT_EXCLUDED_PATHS = [path.strip() for path in AUDIT_EXCLUDED_PATHS] AUDIT_EXCLUDED_PATHS = [path.lstrip("/") for path in AUDIT_EXCLUDED_PATHS] + +#################################### +# OPENTELEMETRY +#################################### + +ENABLE_OTEL = os.environ.get("ENABLE_OTEL", "False").lower() == "true" +OTEL_EXPORTER_OTLP_ENDPOINT = os.environ.get( + "OTEL_EXPORTER_OTLP_ENDPOINT", "http://localhost:4317" +) +OTEL_SERVICE_NAME = os.environ.get("OTEL_SERVICE_NAME", "open-webui") +OTEL_RESOURCE_ATTRIBUTES = os.environ.get( + "OTEL_RESOURCE_ATTRIBUTES", "" +) # e.g. key1=val1,key2=val2 +OTEL_TRACES_SAMPLER = os.environ.get( + "OTEL_TRACES_SAMPLER", "parentbased_always_on" +).lower() + +#################################### +# TOOLS/FUNCTIONS PIP OPTIONS +#################################### + +PIP_OPTIONS = os.getenv("PIP_OPTIONS", "").split() +PIP_PACKAGE_INDEX_OPTIONS = os.getenv("PIP_PACKAGE_INDEX_OPTIONS", "").split() diff --git a/backend/open_webui/functions.py b/backend/open_webui/functions.py index 2f94f701e..340b60ba4 100644 --- a/backend/open_webui/functions.py +++ b/backend/open_webui/functions.py @@ -223,6 +223,9 @@ async def generate_function_chat_completion( extra_params = { "__event_emitter__": __event_emitter__, "__event_call__": __event_call__, + "__chat_id__": metadata.get("chat_id", None), + "__session_id__": metadata.get("session_id", None), + "__message_id__": metadata.get("message_id", None), "__task__": __task__, "__task_body__": __task_body__, "__files__": files, diff --git a/backend/open_webui/main.py b/backend/open_webui/main.py index 3c83aba11..3fbeb6c84 100644 --- a/backend/open_webui/main.py +++ b/backend/open_webui/main.py @@ -84,7 +84,7 @@ from open_webui.routers.retrieval import ( get_rf, ) -from open_webui.internal.db import Session +from open_webui.internal.db import Session, engine from open_webui.models.functions import Functions from open_webui.models.models import Models @@ -155,6 +155,7 @@ from open_webui.config import ( AUDIO_TTS_AZURE_SPEECH_REGION, AUDIO_TTS_AZURE_SPEECH_OUTPUT_FORMAT, PLAYWRIGHT_WS_URI, + PLAYWRIGHT_TIMEOUT, FIRECRAWL_API_BASE_URL, FIRECRAWL_API_KEY, RAG_WEB_LOADER_ENGINE, @@ -186,6 +187,7 @@ from open_webui.config import ( CHUNK_SIZE, CONTENT_EXTRACTION_ENGINE, TIKA_SERVER_URL, + DOCLING_SERVER_URL, DOCUMENT_INTELLIGENCE_ENDPOINT, DOCUMENT_INTELLIGENCE_KEY, RAG_TOP_K, @@ -213,6 +215,7 @@ from open_webui.config import ( SERPSTACK_API_KEY, SERPSTACK_HTTPS, TAVILY_API_KEY, + TAVILY_EXTRACT_DEPTH, BING_SEARCH_V7_ENDPOINT, BING_SEARCH_V7_SUBSCRIPTION_KEY, BRAVE_SEARCH_API_KEY, @@ -313,6 +316,7 @@ from open_webui.env import ( AUDIT_EXCLUDED_PATHS, AUDIT_LOG_LEVEL, CHANGELOG, + REDIS_URL, GLOBAL_LOG_LEVEL, MAX_BODY_LOG_SIZE, SAFE_MODE, @@ -328,6 +332,7 @@ from open_webui.env import ( BYPASS_MODEL_ACCESS_CONTROL, RESET_CONFIG_ON_START, OFFLINE_MODE, + ENABLE_OTEL, ) @@ -355,7 +360,6 @@ from open_webui.utils.security_headers import SecurityHeadersMiddleware from open_webui.tasks import stop_task, list_tasks # Import from tasks.py - if SAFE_MODE: print("SAFE MODE ENABLED") Functions.deactivate_all_functions() @@ -419,11 +423,24 @@ app = FastAPI( oauth_manager = OAuthManager(app) -app.state.config = AppConfig() +app.state.config = AppConfig(redis_url=REDIS_URL) app.state.WEBUI_NAME = WEBUI_NAME app.state.LICENSE_METADATA = None + +######################################## +# +# OPENTELEMETRY +# +######################################## + +if ENABLE_OTEL: + from open_webui.utils.telemetry.setup import setup as setup_opentelemetry + + setup_opentelemetry(app=app, db_engine=engine) + + ######################################## # # OLLAMA @@ -551,6 +568,7 @@ app.state.config.ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION = ( app.state.config.CONTENT_EXTRACTION_ENGINE = CONTENT_EXTRACTION_ENGINE app.state.config.TIKA_SERVER_URL = TIKA_SERVER_URL +app.state.config.DOCLING_SERVER_URL = DOCLING_SERVER_URL app.state.config.DOCUMENT_INTELLIGENCE_ENDPOINT = DOCUMENT_INTELLIGENCE_ENDPOINT app.state.config.DOCUMENT_INTELLIGENCE_KEY = DOCUMENT_INTELLIGENCE_KEY @@ -614,8 +632,10 @@ app.state.config.RAG_WEB_SEARCH_CONCURRENT_REQUESTS = RAG_WEB_SEARCH_CONCURRENT_ app.state.config.RAG_WEB_LOADER_ENGINE = RAG_WEB_LOADER_ENGINE app.state.config.RAG_WEB_SEARCH_TRUST_ENV = RAG_WEB_SEARCH_TRUST_ENV app.state.config.PLAYWRIGHT_WS_URI = PLAYWRIGHT_WS_URI +app.state.config.PLAYWRIGHT_TIMEOUT = PLAYWRIGHT_TIMEOUT app.state.config.FIRECRAWL_API_BASE_URL = FIRECRAWL_API_BASE_URL app.state.config.FIRECRAWL_API_KEY = FIRECRAWL_API_KEY +app.state.config.TAVILY_EXTRACT_DEPTH = TAVILY_EXTRACT_DEPTH app.state.EMBEDDING_FUNCTION = None app.state.ef = None @@ -949,14 +969,24 @@ async def get_models(request: Request, user=Depends(get_verified_user)): return filtered_models - models = await get_all_models(request, user=user) + all_models = await get_all_models(request, user=user) - # Filter out filter pipelines - models = [ - model - for model in models - if "pipeline" not in model or model["pipeline"].get("type", None) != "filter" - ] + models = [] + for model in all_models: + # Filter out filter pipelines + if "pipeline" in model and model["pipeline"].get("type", None) == "filter": + continue + + model_tags = [ + tag.get("name") + for tag in model.get("info", {}).get("meta", {}).get("tags", []) + ] + tags = [tag.get("name") for tag in model.get("tags", [])] + + tags = list(set(model_tags + tags)) + model["tags"] = [{"name": tag} for tag in tags] + + models.append(model) model_order_list = request.app.state.config.MODEL_ORDER_LIST if model_order_list: diff --git a/backend/open_webui/retrieval/loaders/main.py b/backend/open_webui/retrieval/loaders/main.py index 7fa24ced3..85f871925 100644 --- a/backend/open_webui/retrieval/loaders/main.py +++ b/backend/open_webui/retrieval/loaders/main.py @@ -105,7 +105,7 @@ class TikaLoader: if r.ok: raw_metadata = r.json() - text = raw_metadata.get("X-TIKA:content", "") + text = raw_metadata.get("X-TIKA:content", "").strip() if "Content-Type" in raw_metadata: headers["Content-Type"] = raw_metadata["Content-Type"] @@ -117,6 +117,52 @@ class TikaLoader: raise Exception(f"Error calling Tika: {r.reason}") +class DoclingLoader: + def __init__(self, url, file_path=None, mime_type=None): + self.url = url.rstrip("/") + self.file_path = file_path + self.mime_type = mime_type + + def load(self) -> list[Document]: + with open(self.file_path, "rb") as f: + files = { + "files": ( + self.file_path, + f, + self.mime_type or "application/octet-stream", + ) + } + + params = { + "image_export_mode": "placeholder", + "table_mode": "accurate", + } + + endpoint = f"{self.url}/v1alpha/convert/file" + r = requests.post(endpoint, files=files, data=params) + + if r.ok: + result = r.json() + document_data = result.get("document", {}) + text = document_data.get("md_content", "") + + metadata = {"Content-Type": self.mime_type} if self.mime_type else {} + + log.debug("Docling extracted text: %s", text) + + return [Document(page_content=text, metadata=metadata)] + else: + error_msg = f"Error calling Docling API: {r.reason}" + if r.text: + try: + error_data = r.json() + if "detail" in error_data: + error_msg += f" - {error_data['detail']}" + except Exception: + error_msg += f" - {r.text}" + raise Exception(f"Error calling Docling: {error_msg}") + + class Loader: def __init__(self, engine: str = "", **kwargs): self.engine = engine @@ -149,6 +195,12 @@ class Loader: file_path=file_path, mime_type=file_content_type, ) + elif self.engine == "docling" and self.kwargs.get("DOCLING_SERVER_URL"): + loader = DoclingLoader( + url=self.kwargs.get("DOCLING_SERVER_URL"), + file_path=file_path, + mime_type=file_content_type, + ) elif ( self.engine == "document_intelligence" and self.kwargs.get("DOCUMENT_INTELLIGENCE_ENDPOINT") != "" diff --git a/backend/open_webui/retrieval/loaders/tavily.py b/backend/open_webui/retrieval/loaders/tavily.py new file mode 100644 index 000000000..15a3d7f97 --- /dev/null +++ b/backend/open_webui/retrieval/loaders/tavily.py @@ -0,0 +1,93 @@ +import requests +import logging +from typing import Iterator, List, Literal, Union + +from langchain_core.document_loaders import BaseLoader +from langchain_core.documents import Document +from open_webui.env import SRC_LOG_LEVELS + +log = logging.getLogger(__name__) +log.setLevel(SRC_LOG_LEVELS["RAG"]) + + +class TavilyLoader(BaseLoader): + """Extract web page content from URLs using Tavily Extract API. + + This is a LangChain document loader that uses Tavily's Extract API to + retrieve content from web pages and return it as Document objects. + + Args: + urls: URL or list of URLs to extract content from. + api_key: The Tavily API key. + extract_depth: Depth of extraction, either "basic" or "advanced". + continue_on_failure: Whether to continue if extraction of a URL fails. + """ + + def __init__( + self, + urls: Union[str, List[str]], + api_key: str, + extract_depth: Literal["basic", "advanced"] = "basic", + continue_on_failure: bool = True, + ) -> None: + """Initialize Tavily Extract client. + + Args: + urls: URL or list of URLs to extract content from. + api_key: The Tavily API key. + include_images: Whether to include images in the extraction. + extract_depth: Depth of extraction, either "basic" or "advanced". + advanced extraction retrieves more data, including tables and + embedded content, with higher success but may increase latency. + basic costs 1 credit per 5 successful URL extractions, + advanced costs 2 credits per 5 successful URL extractions. + continue_on_failure: Whether to continue if extraction of a URL fails. + """ + if not urls: + raise ValueError("At least one URL must be provided.") + + self.api_key = api_key + self.urls = urls if isinstance(urls, list) else [urls] + self.extract_depth = extract_depth + self.continue_on_failure = continue_on_failure + self.api_url = "https://api.tavily.com/extract" + + def lazy_load(self) -> Iterator[Document]: + """Extract and yield documents from the URLs using Tavily Extract API.""" + batch_size = 20 + for i in range(0, len(self.urls), batch_size): + batch_urls = self.urls[i : i + batch_size] + try: + headers = { + "Content-Type": "application/json", + "Authorization": f"Bearer {self.api_key}", + } + # Use string for single URL, array for multiple URLs + urls_param = batch_urls[0] if len(batch_urls) == 1 else batch_urls + payload = {"urls": urls_param, "extract_depth": self.extract_depth} + # Make the API call + response = requests.post(self.api_url, headers=headers, json=payload) + response.raise_for_status() + response_data = response.json() + # Process successful results + for result in response_data.get("results", []): + url = result.get("url", "") + content = result.get("raw_content", "") + if not content: + log.warning(f"No content extracted from {url}") + continue + # Add URLs as metadata + metadata = {"source": url} + yield Document( + page_content=content, + metadata=metadata, + ) + for failed in response_data.get("failed_results", []): + url = failed.get("url", "") + error = failed.get("error", "Unknown error") + log.error(f"Failed to extract content from {url}: {error}") + except Exception as e: + if self.continue_on_failure: + log.error(f"Error extracting content from batch {batch_urls}: {e}") + else: + raise e diff --git a/backend/open_webui/retrieval/utils.py b/backend/open_webui/retrieval/utils.py index d50d4d44c..3d6e739f3 100644 --- a/backend/open_webui/retrieval/utils.py +++ b/backend/open_webui/retrieval/utils.py @@ -189,8 +189,7 @@ def merge_and_sort_query_results( query_results: list[dict], k: int, reverse: bool = False ) -> dict: # Initialize lists to store combined data - combined = [] - seen_hashes = set() # To store unique document hashes + combined = dict() # To store documents with unique document hashes for data in query_results: distances = data["distances"][0] @@ -203,10 +202,19 @@ def merge_and_sort_query_results( document.encode() ).hexdigest() # Compute a hash for uniqueness - if doc_hash not in seen_hashes: - seen_hashes.add(doc_hash) - combined.append((distance, document, metadata)) + if doc_hash not in combined.keys(): + combined[doc_hash] = (distance, document, metadata) + continue # if doc is new, no further comparison is needed + # if doc is alredy in, but new distance is better, update + if not reverse and distance < combined[doc_hash][0]: + # Chroma uses unconventional cosine similarity, so we don't need to reverse the results + # https://docs.trychroma.com/docs/collections/configure#configuring-chroma-collections + combined[doc_hash] = (distance, document, metadata) + if reverse and distance > combined[doc_hash][0]: + combined[doc_hash] = (distance, document, metadata) + + combined = list(combined.values()) # Sort the list based on distances combined.sort(key=lambda x: x[0], reverse=reverse) @@ -215,6 +223,12 @@ def merge_and_sort_query_results( zip(*combined[:k]) if combined else ([], [], []) ) + # if chromaDB, the distance is 0 (best) to 2 (worse) + # re-order to -1 (worst) to 1 (best) for relevance score + if not reverse: + sorted_distances = tuple(-dist for dist in sorted_distances) + sorted_distances = tuple(dist + 1 for dist in sorted_distances) + # Create and return the output dictionary return { "distances": [list(sorted_distances)], @@ -306,13 +320,8 @@ def query_collection_with_hybrid_search( raise Exception( "Hybrid search failed for all collections. Using Non hybrid search as fallback." ) - - if VECTOR_DB == "chroma": - # Chroma uses unconventional cosine similarity, so we don't need to reverse the results - # https://docs.trychroma.com/docs/collections/configure#configuring-chroma-collections - return merge_and_sort_query_results(results, k=k_reranker, reverse=False) - else: - return merge_and_sort_query_results(results, k=k_reranker, reverse=True) + + return merge_and_sort_query_results(results, k=k, reverse=True) def get_embedding_function( diff --git a/backend/open_webui/retrieval/vector/dbs/chroma.py b/backend/open_webui/retrieval/vector/dbs/chroma.py index 006ee2076..605e19961 100755 --- a/backend/open_webui/retrieval/vector/dbs/chroma.py +++ b/backend/open_webui/retrieval/vector/dbs/chroma.py @@ -166,12 +166,19 @@ class ChromaClient: filter: Optional[dict] = None, ): # Delete the items from the collection based on the ids. - collection = self.client.get_collection(name=collection_name) - if collection: - if ids: - collection.delete(ids=ids) - elif filter: - collection.delete(where=filter) + try: + collection = self.client.get_collection(name=collection_name) + if collection: + if ids: + collection.delete(ids=ids) + elif filter: + collection.delete(where=filter) + except Exception as e: + # If collection doesn't exist, that's fine - nothing to delete + log.debug( + f"Attempted to delete from non-existent collection {collection_name}. Ignoring." + ) + pass def reset(self): # Resets the database. This will delete all collections and item entries. diff --git a/backend/open_webui/retrieval/vector/dbs/opensearch.py b/backend/open_webui/retrieval/vector/dbs/opensearch.py index 2629bfcba..99567c84e 100644 --- a/backend/open_webui/retrieval/vector/dbs/opensearch.py +++ b/backend/open_webui/retrieval/vector/dbs/opensearch.py @@ -1,4 +1,5 @@ from opensearchpy import OpenSearch +from opensearchpy.helpers import bulk from typing import Optional from open_webui.retrieval.vector.main import VectorItem, SearchResult, GetResult @@ -21,7 +22,13 @@ class OpenSearchClient: http_auth=(OPENSEARCH_USERNAME, OPENSEARCH_PASSWORD), ) + def _get_index_name(self, collection_name: str) -> str: + return f"{self.index_prefix}_{collection_name}" + def _result_to_get_result(self, result) -> GetResult: + if not result["hits"]["hits"]: + return None + ids = [] documents = [] metadatas = [] @@ -31,9 +38,12 @@ class OpenSearchClient: documents.append(hit["_source"].get("text")) metadatas.append(hit["_source"].get("metadata")) - return GetResult(ids=ids, documents=documents, metadatas=metadatas) + return GetResult(ids=[ids], documents=[documents], metadatas=[metadatas]) def _result_to_search_result(self, result) -> SearchResult: + if not result["hits"]["hits"]: + return None + ids = [] distances = [] documents = [] @@ -46,34 +56,40 @@ class OpenSearchClient: metadatas.append(hit["_source"].get("metadata")) return SearchResult( - ids=ids, distances=distances, documents=documents, metadatas=metadatas + ids=[ids], + distances=[distances], + documents=[documents], + metadatas=[metadatas], ) def _create_index(self, collection_name: str, dimension: int): body = { + "settings": {"index": {"knn": True}}, "mappings": { "properties": { "id": {"type": "keyword"}, "vector": { - "type": "dense_vector", - "dims": dimension, # Adjust based on your vector dimensions - "index": true, + "type": "knn_vector", + "dimension": dimension, # Adjust based on your vector dimensions + "index": True, "similarity": "faiss", "method": { "name": "hnsw", - "space_type": "ip", # Use inner product to approximate cosine similarity + "space_type": "innerproduct", # Use inner product to approximate cosine similarity "engine": "faiss", - "ef_construction": 128, - "m": 16, + "parameters": { + "ef_construction": 128, + "m": 16, + }, }, }, "text": {"type": "text"}, "metadata": {"type": "object"}, } - } + }, } self.client.indices.create( - index=f"{self.index_prefix}_{collection_name}", body=body + index=self._get_index_name(collection_name), body=body ) def _create_batches(self, items: list[VectorItem], batch_size=100): @@ -83,39 +99,45 @@ class OpenSearchClient: def has_collection(self, collection_name: str) -> bool: # has_collection here means has index. # We are simply adapting to the norms of the other DBs. - return self.client.indices.exists( - index=f"{self.index_prefix}_{collection_name}" - ) + return self.client.indices.exists(index=self._get_index_name(collection_name)) - def delete_colleciton(self, collection_name: str): + def delete_collection(self, collection_name: str): # delete_collection here means delete index. # We are simply adapting to the norms of the other DBs. - self.client.indices.delete(index=f"{self.index_prefix}_{collection_name}") + self.client.indices.delete(index=self._get_index_name(collection_name)) def search( - self, collection_name: str, vectors: list[list[float]], limit: int + self, collection_name: str, vectors: list[list[float | int]], limit: int ) -> Optional[SearchResult]: - query = { - "size": limit, - "_source": ["text", "metadata"], - "query": { - "script_score": { - "query": {"match_all": {}}, - "script": { - "source": "cosineSimilarity(params.vector, 'vector') + 1.0", - "params": { - "vector": vectors[0] - }, # Assuming single query vector - }, - } - }, - } + try: + if not self.has_collection(collection_name): + return None - result = self.client.search( - index=f"{self.index_prefix}_{collection_name}", body=query - ) + query = { + "size": limit, + "_source": ["text", "metadata"], + "query": { + "script_score": { + "query": {"match_all": {}}, + "script": { + "source": "cosineSimilarity(params.query_value, doc[params.field]) + 1.0", + "params": { + "field": "vector", + "query_value": vectors[0], + }, # Assuming single query vector + }, + } + }, + } - return self._result_to_search_result(result) + result = self.client.search( + index=self._get_index_name(collection_name), body=query + ) + + return self._result_to_search_result(result) + + except Exception as e: + return None def query( self, collection_name: str, filter: dict, limit: Optional[int] = None @@ -129,13 +151,15 @@ class OpenSearchClient: } for field, value in filter.items(): - query_body["query"]["bool"]["filter"].append({"term": {field: value}}) + query_body["query"]["bool"]["filter"].append( + {"match": {"metadata." + str(field): value}} + ) size = limit if limit else 10 try: result = self.client.search( - index=f"{self.index_prefix}_{collection_name}", + index=self._get_index_name(collection_name), body=query_body, size=size, ) @@ -146,14 +170,14 @@ class OpenSearchClient: return None def _create_index_if_not_exists(self, collection_name: str, dimension: int): - if not self.has_index(collection_name): + if not self.has_collection(collection_name): self._create_index(collection_name, dimension) def get(self, collection_name: str) -> Optional[GetResult]: query = {"query": {"match_all": {}}, "_source": ["text", "metadata"]} result = self.client.search( - index=f"{self.index_prefix}_{collection_name}", body=query + index=self._get_index_name(collection_name), body=query ) return self._result_to_get_result(result) @@ -165,18 +189,18 @@ class OpenSearchClient: for batch in self._create_batches(items): actions = [ { - "index": { - "_id": item["id"], - "_source": { - "vector": item["vector"], - "text": item["text"], - "metadata": item["metadata"], - }, - } + "_op_type": "index", + "_index": self._get_index_name(collection_name), + "_id": item["id"], + "_source": { + "vector": item["vector"], + "text": item["text"], + "metadata": item["metadata"], + }, } for item in batch ] - self.client.bulk(actions) + bulk(self.client, actions) def upsert(self, collection_name: str, items: list[VectorItem]): self._create_index_if_not_exists( @@ -186,26 +210,47 @@ class OpenSearchClient: for batch in self._create_batches(items): actions = [ { - "index": { - "_id": item["id"], - "_index": f"{self.index_prefix}_{collection_name}", - "_source": { - "vector": item["vector"], - "text": item["text"], - "metadata": item["metadata"], - }, - } + "_op_type": "update", + "_index": self._get_index_name(collection_name), + "_id": item["id"], + "doc": { + "vector": item["vector"], + "text": item["text"], + "metadata": item["metadata"], + }, + "doc_as_upsert": True, } for item in batch ] - self.client.bulk(actions) + bulk(self.client, actions) - def delete(self, collection_name: str, ids: list[str]): - actions = [ - {"delete": {"_index": f"{self.index_prefix}_{collection_name}", "_id": id}} - for id in ids - ] - self.client.bulk(body=actions) + def delete( + self, + collection_name: str, + ids: Optional[list[str]] = None, + filter: Optional[dict] = None, + ): + if ids: + actions = [ + { + "_op_type": "delete", + "_index": self._get_index_name(collection_name), + "_id": id, + } + for id in ids + ] + bulk(self.client, actions) + elif filter: + query_body = { + "query": {"bool": {"filter": []}}, + } + for field, value in filter.items(): + query_body["query"]["bool"]["filter"].append( + {"match": {"metadata." + str(field): value}} + ) + self.client.delete_by_query( + index=self._get_index_name(collection_name), body=query_body + ) def reset(self): indices = self.client.indices.get(index=f"{self.index_prefix}_*") diff --git a/backend/open_webui/retrieval/web/utils.py b/backend/open_webui/retrieval/web/utils.py index fd94a1a32..942cb8483 100644 --- a/backend/open_webui/retrieval/web/utils.py +++ b/backend/open_webui/retrieval/web/utils.py @@ -24,13 +24,17 @@ from langchain_community.document_loaders import PlaywrightURLLoader, WebBaseLoa from langchain_community.document_loaders.firecrawl import FireCrawlLoader from langchain_community.document_loaders.base import BaseLoader from langchain_core.documents import Document +from open_webui.retrieval.loaders.tavily import TavilyLoader from open_webui.constants import ERROR_MESSAGES from open_webui.config import ( ENABLE_RAG_LOCAL_WEB_FETCH, PLAYWRIGHT_WS_URI, + PLAYWRIGHT_TIMEOUT, RAG_WEB_LOADER_ENGINE, FIRECRAWL_API_BASE_URL, FIRECRAWL_API_KEY, + TAVILY_API_KEY, + TAVILY_EXTRACT_DEPTH, ) from open_webui.env import SRC_LOG_LEVELS @@ -113,7 +117,47 @@ def verify_ssl_cert(url: str) -> bool: return False -class SafeFireCrawlLoader(BaseLoader): +class RateLimitMixin: + async def _wait_for_rate_limit(self): + """Wait to respect the rate limit if specified.""" + if self.requests_per_second and self.last_request_time: + min_interval = timedelta(seconds=1.0 / self.requests_per_second) + time_since_last = datetime.now() - self.last_request_time + if time_since_last < min_interval: + await asyncio.sleep((min_interval - time_since_last).total_seconds()) + self.last_request_time = datetime.now() + + def _sync_wait_for_rate_limit(self): + """Synchronous version of rate limit wait.""" + if self.requests_per_second and self.last_request_time: + min_interval = timedelta(seconds=1.0 / self.requests_per_second) + time_since_last = datetime.now() - self.last_request_time + if time_since_last < min_interval: + time.sleep((min_interval - time_since_last).total_seconds()) + self.last_request_time = datetime.now() + + +class URLProcessingMixin: + def _verify_ssl_cert(self, url: str) -> bool: + """Verify SSL certificate for a URL.""" + return verify_ssl_cert(url) + + async def _safe_process_url(self, url: str) -> bool: + """Perform safety checks before processing a URL.""" + if self.verify_ssl and not self._verify_ssl_cert(url): + raise ValueError(f"SSL certificate verification failed for {url}") + await self._wait_for_rate_limit() + return True + + def _safe_process_url_sync(self, url: str) -> bool: + """Synchronous version of safety checks.""" + if self.verify_ssl and not self._verify_ssl_cert(url): + raise ValueError(f"SSL certificate verification failed for {url}") + self._sync_wait_for_rate_limit() + return True + + +class SafeFireCrawlLoader(BaseLoader, RateLimitMixin, URLProcessingMixin): def __init__( self, web_paths, @@ -184,7 +228,7 @@ class SafeFireCrawlLoader(BaseLoader): yield from loader.lazy_load() except Exception as e: if self.continue_on_failure: - log.exception(e, "Error loading %s", url) + log.exception(f"Error loading {url}: {e}") continue raise e @@ -204,47 +248,124 @@ class SafeFireCrawlLoader(BaseLoader): yield document except Exception as e: if self.continue_on_failure: - log.exception(e, "Error loading %s", url) + log.exception(f"Error loading {url}: {e}") continue raise e - def _verify_ssl_cert(self, url: str) -> bool: - return verify_ssl_cert(url) - async def _wait_for_rate_limit(self): - """Wait to respect the rate limit if specified.""" - if self.requests_per_second and self.last_request_time: - min_interval = timedelta(seconds=1.0 / self.requests_per_second) - time_since_last = datetime.now() - self.last_request_time - if time_since_last < min_interval: - await asyncio.sleep((min_interval - time_since_last).total_seconds()) - self.last_request_time = datetime.now() +class SafeTavilyLoader(BaseLoader, RateLimitMixin, URLProcessingMixin): + def __init__( + self, + web_paths: Union[str, List[str]], + api_key: str, + extract_depth: Literal["basic", "advanced"] = "basic", + continue_on_failure: bool = True, + requests_per_second: Optional[float] = None, + verify_ssl: bool = True, + trust_env: bool = False, + proxy: Optional[Dict[str, str]] = None, + ): + """Initialize SafeTavilyLoader with rate limiting and SSL verification support. - def _sync_wait_for_rate_limit(self): - """Synchronous version of rate limit wait.""" - if self.requests_per_second and self.last_request_time: - min_interval = timedelta(seconds=1.0 / self.requests_per_second) - time_since_last = datetime.now() - self.last_request_time - if time_since_last < min_interval: - time.sleep((min_interval - time_since_last).total_seconds()) - self.last_request_time = datetime.now() + Args: + web_paths: List of URLs/paths to process. + api_key: The Tavily API key. + extract_depth: Depth of extraction ("basic" or "advanced"). + continue_on_failure: Whether to continue if extraction of a URL fails. + requests_per_second: Number of requests per second to limit to. + verify_ssl: If True, verify SSL certificates. + trust_env: If True, use proxy settings from environment variables. + proxy: Optional proxy configuration. + """ + # Initialize proxy configuration if using environment variables + proxy_server = proxy.get("server") if proxy else None + if trust_env and not proxy_server: + env_proxies = urllib.request.getproxies() + env_proxy_server = env_proxies.get("https") or env_proxies.get("http") + if env_proxy_server: + if proxy: + proxy["server"] = env_proxy_server + else: + proxy = {"server": env_proxy_server} - async def _safe_process_url(self, url: str) -> bool: - """Perform safety checks before processing a URL.""" - if self.verify_ssl and not self._verify_ssl_cert(url): - raise ValueError(f"SSL certificate verification failed for {url}") - await self._wait_for_rate_limit() - return True + # Store parameters for creating TavilyLoader instances + self.web_paths = web_paths if isinstance(web_paths, list) else [web_paths] + self.api_key = api_key + self.extract_depth = extract_depth + self.continue_on_failure = continue_on_failure + self.verify_ssl = verify_ssl + self.trust_env = trust_env + self.proxy = proxy - def _safe_process_url_sync(self, url: str) -> bool: - """Synchronous version of safety checks.""" - if self.verify_ssl and not self._verify_ssl_cert(url): - raise ValueError(f"SSL certificate verification failed for {url}") - self._sync_wait_for_rate_limit() - return True + # Add rate limiting + self.requests_per_second = requests_per_second + self.last_request_time = None + + def lazy_load(self) -> Iterator[Document]: + """Load documents with rate limiting support, delegating to TavilyLoader.""" + valid_urls = [] + for url in self.web_paths: + try: + self._safe_process_url_sync(url) + valid_urls.append(url) + except Exception as e: + log.warning(f"SSL verification failed for {url}: {str(e)}") + if not self.continue_on_failure: + raise e + if not valid_urls: + if self.continue_on_failure: + log.warning("No valid URLs to process after SSL verification") + return + raise ValueError("No valid URLs to process after SSL verification") + try: + loader = TavilyLoader( + urls=valid_urls, + api_key=self.api_key, + extract_depth=self.extract_depth, + continue_on_failure=self.continue_on_failure, + ) + yield from loader.lazy_load() + except Exception as e: + if self.continue_on_failure: + log.exception(f"Error extracting content from URLs: {e}") + else: + raise e + + async def alazy_load(self) -> AsyncIterator[Document]: + """Async version with rate limiting and SSL verification.""" + valid_urls = [] + for url in self.web_paths: + try: + await self._safe_process_url(url) + valid_urls.append(url) + except Exception as e: + log.warning(f"SSL verification failed for {url}: {str(e)}") + if not self.continue_on_failure: + raise e + + if not valid_urls: + if self.continue_on_failure: + log.warning("No valid URLs to process after SSL verification") + return + raise ValueError("No valid URLs to process after SSL verification") + + try: + loader = TavilyLoader( + urls=valid_urls, + api_key=self.api_key, + extract_depth=self.extract_depth, + continue_on_failure=self.continue_on_failure, + ) + async for document in loader.alazy_load(): + yield document + except Exception as e: + if self.continue_on_failure: + log.exception(f"Error loading URLs: {e}") + else: + raise e -class SafePlaywrightURLLoader(PlaywrightURLLoader): +class SafePlaywrightURLLoader(PlaywrightURLLoader, RateLimitMixin, URLProcessingMixin): """Load HTML pages safely with Playwright, supporting SSL verification, rate limiting, and remote browser connection. Attributes: @@ -256,6 +377,7 @@ class SafePlaywrightURLLoader(PlaywrightURLLoader): headless (bool): If True, the browser will run in headless mode. proxy (dict): Proxy override settings for the Playwright session. playwright_ws_url (Optional[str]): WebSocket endpoint URI for remote browser connection. + playwright_timeout (Optional[int]): Maximum operation time in milliseconds. """ def __init__( @@ -269,6 +391,7 @@ class SafePlaywrightURLLoader(PlaywrightURLLoader): remove_selectors: Optional[List[str]] = None, proxy: Optional[Dict[str, str]] = None, playwright_ws_url: Optional[str] = None, + playwright_timeout: Optional[int] = 10000, ): """Initialize with additional safety parameters and remote browser support.""" @@ -295,6 +418,7 @@ class SafePlaywrightURLLoader(PlaywrightURLLoader): self.last_request_time = None self.playwright_ws_url = playwright_ws_url self.trust_env = trust_env + self.playwright_timeout = playwright_timeout def lazy_load(self) -> Iterator[Document]: """Safely load URLs synchronously with support for remote browser.""" @@ -311,7 +435,7 @@ class SafePlaywrightURLLoader(PlaywrightURLLoader): try: self._safe_process_url_sync(url) page = browser.new_page() - response = page.goto(url) + response = page.goto(url, timeout=self.playwright_timeout) if response is None: raise ValueError(f"page.goto() returned None for url {url}") @@ -320,7 +444,7 @@ class SafePlaywrightURLLoader(PlaywrightURLLoader): yield Document(page_content=text, metadata=metadata) except Exception as e: if self.continue_on_failure: - log.exception(e, "Error loading %s", url) + log.exception(f"Error loading {url}: {e}") continue raise e browser.close() @@ -342,7 +466,7 @@ class SafePlaywrightURLLoader(PlaywrightURLLoader): try: await self._safe_process_url(url) page = await browser.new_page() - response = await page.goto(url) + response = await page.goto(url, timeout=self.playwright_timeout) if response is None: raise ValueError(f"page.goto() returned None for url {url}") @@ -351,46 +475,11 @@ class SafePlaywrightURLLoader(PlaywrightURLLoader): yield Document(page_content=text, metadata=metadata) except Exception as e: if self.continue_on_failure: - log.exception(e, "Error loading %s", url) + log.exception(f"Error loading {url}: {e}") continue raise e await browser.close() - def _verify_ssl_cert(self, url: str) -> bool: - return verify_ssl_cert(url) - - async def _wait_for_rate_limit(self): - """Wait to respect the rate limit if specified.""" - if self.requests_per_second and self.last_request_time: - min_interval = timedelta(seconds=1.0 / self.requests_per_second) - time_since_last = datetime.now() - self.last_request_time - if time_since_last < min_interval: - await asyncio.sleep((min_interval - time_since_last).total_seconds()) - self.last_request_time = datetime.now() - - def _sync_wait_for_rate_limit(self): - """Synchronous version of rate limit wait.""" - if self.requests_per_second and self.last_request_time: - min_interval = timedelta(seconds=1.0 / self.requests_per_second) - time_since_last = datetime.now() - self.last_request_time - if time_since_last < min_interval: - time.sleep((min_interval - time_since_last).total_seconds()) - self.last_request_time = datetime.now() - - async def _safe_process_url(self, url: str) -> bool: - """Perform safety checks before processing a URL.""" - if self.verify_ssl and not self._verify_ssl_cert(url): - raise ValueError(f"SSL certificate verification failed for {url}") - await self._wait_for_rate_limit() - return True - - def _safe_process_url_sync(self, url: str) -> bool: - """Synchronous version of safety checks.""" - if self.verify_ssl and not self._verify_ssl_cert(url): - raise ValueError(f"SSL certificate verification failed for {url}") - self._sync_wait_for_rate_limit() - return True - class SafeWebBaseLoader(WebBaseLoader): """WebBaseLoader with enhanced error handling for URLs.""" @@ -472,7 +561,7 @@ class SafeWebBaseLoader(WebBaseLoader): yield Document(page_content=text, metadata=metadata) except Exception as e: # Log the error and continue with the next URL - log.exception(e, "Error loading %s", path) + log.exception(f"Error loading {path}: {e}") async def alazy_load(self) -> AsyncIterator[Document]: """Async lazy load text from the url(s) in web_path.""" @@ -499,6 +588,7 @@ RAG_WEB_LOADER_ENGINES = defaultdict(lambda: SafeWebBaseLoader) RAG_WEB_LOADER_ENGINES["playwright"] = SafePlaywrightURLLoader RAG_WEB_LOADER_ENGINES["safe_web"] = SafeWebBaseLoader RAG_WEB_LOADER_ENGINES["firecrawl"] = SafeFireCrawlLoader +RAG_WEB_LOADER_ENGINES["tavily"] = SafeTavilyLoader def get_web_loader( @@ -518,13 +608,19 @@ def get_web_loader( "trust_env": trust_env, } - if PLAYWRIGHT_WS_URI.value: - web_loader_args["playwright_ws_url"] = PLAYWRIGHT_WS_URI.value + if RAG_WEB_LOADER_ENGINE.value == "playwright": + web_loader_args["playwright_timeout"] = PLAYWRIGHT_TIMEOUT.value * 1000 + if PLAYWRIGHT_WS_URI.value: + web_loader_args["playwright_ws_url"] = PLAYWRIGHT_WS_URI.value if RAG_WEB_LOADER_ENGINE.value == "firecrawl": web_loader_args["api_key"] = FIRECRAWL_API_KEY.value web_loader_args["api_url"] = FIRECRAWL_API_BASE_URL.value + if RAG_WEB_LOADER_ENGINE.value == "tavily": + web_loader_args["api_key"] = TAVILY_API_KEY.value + web_loader_args["extract_depth"] = TAVILY_EXTRACT_DEPTH.value + # Create the appropriate WebLoader based on the configuration WebLoaderClass = RAG_WEB_LOADER_ENGINES[RAG_WEB_LOADER_ENGINE.value] web_loader = WebLoaderClass(**web_loader_args) diff --git a/backend/open_webui/routers/audio.py b/backend/open_webui/routers/audio.py index d6f74eac4..ea1372623 100644 --- a/backend/open_webui/routers/audio.py +++ b/backend/open_webui/routers/audio.py @@ -625,7 +625,9 @@ def transcription( ): log.info(f"file.content_type: {file.content_type}") - if file.content_type not in ["audio/mpeg", "audio/wav", "audio/ogg", "audio/x-m4a"]: + supported_filetypes = ("audio/mpeg", "audio/wav", "audio/ogg", "audio/x-m4a") + + if not file.content_type.startswith(supported_filetypes): raise HTTPException( status_code=status.HTTP_400_BAD_REQUEST, detail=ERROR_MESSAGES.FILE_NOT_SUPPORTED, diff --git a/backend/open_webui/routers/auths.py b/backend/open_webui/routers/auths.py index 399283ee4..f30ae50c3 100644 --- a/backend/open_webui/routers/auths.py +++ b/backend/open_webui/routers/auths.py @@ -210,7 +210,7 @@ async def ldap_auth(request: Request, response: Response, form_data: LdapForm): LDAP_APP_DN, LDAP_APP_PASSWORD, auto_bind="NONE", - authentication="SIMPLE", + authentication="SIMPLE" if LDAP_APP_DN else "ANONYMOUS", ) if not connection_app.bind(): raise HTTPException(400, detail="Application account bind failed") diff --git a/backend/open_webui/routers/chats.py b/backend/open_webui/routers/chats.py index 2efd043ef..74bb96c94 100644 --- a/backend/open_webui/routers/chats.py +++ b/backend/open_webui/routers/chats.py @@ -2,6 +2,8 @@ import json import logging from typing import Optional + +from open_webui.socket.main import get_event_emitter from open_webui.models.chats import ( ChatForm, ChatImportForm, @@ -372,6 +374,107 @@ async def update_chat_by_id( ) +############################ +# UpdateChatMessageById +############################ +class MessageForm(BaseModel): + content: str + + +@router.post("/{id}/messages/{message_id}", response_model=Optional[ChatResponse]) +async def update_chat_message_by_id( + id: str, message_id: str, form_data: MessageForm, user=Depends(get_verified_user) +): + chat = Chats.get_chat_by_id(id) + + if not chat: + raise HTTPException( + status_code=status.HTTP_401_UNAUTHORIZED, + detail=ERROR_MESSAGES.ACCESS_PROHIBITED, + ) + + if chat.user_id != user.id and user.role != "admin": + raise HTTPException( + status_code=status.HTTP_401_UNAUTHORIZED, + detail=ERROR_MESSAGES.ACCESS_PROHIBITED, + ) + + chat = Chats.upsert_message_to_chat_by_id_and_message_id( + id, + message_id, + { + "content": form_data.content, + }, + ) + + event_emitter = get_event_emitter( + { + "user_id": user.id, + "chat_id": id, + "message_id": message_id, + }, + False, + ) + + if event_emitter: + await event_emitter( + { + "type": "chat:message", + "data": { + "chat_id": id, + "message_id": message_id, + "content": form_data.content, + }, + } + ) + + return ChatResponse(**chat.model_dump()) + + +############################ +# SendChatMessageEventById +############################ +class EventForm(BaseModel): + type: str + data: dict + + +@router.post("/{id}/messages/{message_id}/event", response_model=Optional[bool]) +async def send_chat_message_event_by_id( + id: str, message_id: str, form_data: EventForm, user=Depends(get_verified_user) +): + chat = Chats.get_chat_by_id(id) + + if not chat: + raise HTTPException( + status_code=status.HTTP_401_UNAUTHORIZED, + detail=ERROR_MESSAGES.ACCESS_PROHIBITED, + ) + + if chat.user_id != user.id and user.role != "admin": + raise HTTPException( + status_code=status.HTTP_401_UNAUTHORIZED, + detail=ERROR_MESSAGES.ACCESS_PROHIBITED, + ) + + event_emitter = get_event_emitter( + { + "user_id": user.id, + "chat_id": id, + "message_id": message_id, + } + ) + + try: + if event_emitter: + await event_emitter(form_data.model_dump()) + else: + return False + return True + except: + return False + + ############################ # DeleteChatById ############################ diff --git a/backend/open_webui/routers/files.py b/backend/open_webui/routers/files.py index 95b7f6461..6aada71a2 100644 --- a/backend/open_webui/routers/files.py +++ b/backend/open_webui/routers/files.py @@ -81,7 +81,7 @@ def upload_file( ProcessFileForm(file_id=id, content=result.get("text", "")), user=user, ) - else: + elif file.content_type not in ["image/png", "image/jpeg", "image/gif"]: process_file(request, ProcessFileForm(file_id=id), user=user) file_item = Files.get_file_by_id(id=id) diff --git a/backend/open_webui/routers/images.py b/backend/open_webui/routers/images.py index c51d2f996..275704f34 100644 --- a/backend/open_webui/routers/images.py +++ b/backend/open_webui/routers/images.py @@ -517,10 +517,8 @@ async def image_generations( images = [] for image in res["data"]: - if "url" in image: - image_data, content_type = load_url_image_data( - image["url"], headers - ) + if image_url := image.get("url", None): + image_data, content_type = load_url_image_data(image_url, headers) else: image_data, content_type = load_b64_image_data(image["b64_json"]) diff --git a/backend/open_webui/routers/knowledge.py b/backend/open_webui/routers/knowledge.py index 196904550..bc1e2429e 100644 --- a/backend/open_webui/routers/knowledge.py +++ b/backend/open_webui/routers/knowledge.py @@ -437,14 +437,24 @@ def remove_file_from_knowledge_by_id( ) # Remove content from the vector database - VECTOR_DB_CLIENT.delete( - collection_name=knowledge.id, filter={"file_id": form_data.file_id} - ) + try: + VECTOR_DB_CLIENT.delete( + collection_name=knowledge.id, filter={"file_id": form_data.file_id} + ) + except Exception as e: + log.debug("This was most likely caused by bypassing embedding processing") + log.debug(e) + pass - # Remove the file's collection from vector database - file_collection = f"file-{form_data.file_id}" - if VECTOR_DB_CLIENT.has_collection(collection_name=file_collection): - VECTOR_DB_CLIENT.delete_collection(collection_name=file_collection) + try: + # Remove the file's collection from vector database + file_collection = f"file-{form_data.file_id}" + if VECTOR_DB_CLIENT.has_collection(collection_name=file_collection): + VECTOR_DB_CLIENT.delete_collection(collection_name=file_collection) + except Exception as e: + log.debug("This was most likely caused by bypassing embedding processing") + log.debug(e) + pass # Delete file from database Files.delete_file_by_id(form_data.file_id) diff --git a/backend/open_webui/routers/ollama.py b/backend/open_webui/routers/ollama.py index 959b8417a..ea093be49 100644 --- a/backend/open_webui/routers/ollama.py +++ b/backend/open_webui/routers/ollama.py @@ -295,7 +295,7 @@ async def update_config( } -@cached(ttl=3) +@cached(ttl=1) async def get_all_models(request: Request, user: UserModel = None): log.info("get_all_models()") if request.app.state.config.ENABLE_OLLAMA_API: @@ -336,6 +336,7 @@ async def get_all_models(request: Request, user: UserModel = None): ) prefix_id = api_config.get("prefix_id", None) + tags = api_config.get("tags", []) model_ids = api_config.get("model_ids", []) if len(model_ids) != 0 and "models" in response: @@ -350,6 +351,10 @@ async def get_all_models(request: Request, user: UserModel = None): for model in response.get("models", []): model["model"] = f"{prefix_id}.{model['model']}" + if tags: + for model in response.get("models", []): + model["tags"] = tags + def merge_models_lists(model_lists): merged_models = {} @@ -1164,7 +1169,7 @@ async def generate_chat_completion( prefix_id = api_config.get("prefix_id", None) if prefix_id: payload["model"] = payload["model"].replace(f"{prefix_id}.", "") - + # payload["keep_alive"] = -1 # keep alive forever return await send_post_request( url=f"{url}/api/chat", payload=json.dumps(payload), diff --git a/backend/open_webui/routers/openai.py b/backend/open_webui/routers/openai.py index 73b182d3c..0310014cf 100644 --- a/backend/open_webui/routers/openai.py +++ b/backend/open_webui/routers/openai.py @@ -36,6 +36,9 @@ from open_webui.utils.payload import ( apply_model_params_to_body_openai, apply_model_system_prompt_to_body, ) +from open_webui.utils.misc import ( + convert_logit_bias_input_to_json, +) from open_webui.utils.auth import get_admin_user, get_verified_user from open_webui.utils.access_control import has_access @@ -350,6 +353,7 @@ async def get_all_models_responses(request: Request, user: UserModel) -> list: ) prefix_id = api_config.get("prefix_id", None) + tags = api_config.get("tags", []) if prefix_id: for model in ( @@ -357,6 +361,12 @@ async def get_all_models_responses(request: Request, user: UserModel) -> list: ): model["id"] = f"{prefix_id}.{model['id']}" + if tags: + for model in ( + response if isinstance(response, list) else response.get("data", []) + ): + model["tags"] = tags + log.debug(f"get_all_models:responses() {responses}") return responses @@ -374,7 +384,7 @@ async def get_filtered_models(models, user): return filtered_models -@cached(ttl=3) +@cached(ttl=1) async def get_all_models(request: Request, user: UserModel) -> dict[str, list]: log.info("get_all_models()") @@ -396,6 +406,7 @@ async def get_all_models(request: Request, user: UserModel) -> dict[str, list]: for idx, models in enumerate(model_lists): if models is not None and "error" not in models: + merged_list.extend( [ { @@ -406,18 +417,21 @@ async def get_all_models(request: Request, user: UserModel) -> dict[str, list]: "urlIdx": idx, } for model in models - if "api.openai.com" - not in request.app.state.config.OPENAI_API_BASE_URLS[idx] - or not any( - name in model["id"] - for name in [ - "babbage", - "dall-e", - "davinci", - "embedding", - "tts", - "whisper", - ] + if (model.get("id") or model.get("name")) + and ( + "api.openai.com" + not in request.app.state.config.OPENAI_API_BASE_URLS[idx] + or not any( + name in model["id"] + for name in [ + "babbage", + "dall-e", + "davinci", + "embedding", + "tts", + "whisper", + ] + ) ) ] ) @@ -666,6 +680,11 @@ async def generate_chat_completion( del payload["max_tokens"] # Convert the modified body back to JSON + if "logit_bias" in payload: + payload["logit_bias"] = json.loads( + convert_logit_bias_input_to_json(payload["logit_bias"]) + ) + payload = json.dumps(payload) r = None diff --git a/backend/open_webui/routers/pipelines.py b/backend/open_webui/routers/pipelines.py index 599208e43..10c8e9b2e 100644 --- a/backend/open_webui/routers/pipelines.py +++ b/backend/open_webui/routers/pipelines.py @@ -90,8 +90,8 @@ async def process_pipeline_inlet_filter(request, payload, user, models): headers=headers, json=request_data, ) as response: - response.raise_for_status() payload = await response.json() + response.raise_for_status() except aiohttp.ClientResponseError as e: res = ( await response.json() @@ -139,8 +139,8 @@ async def process_pipeline_outlet_filter(request, payload, user, models): headers=headers, json=request_data, ) as response: - response.raise_for_status() payload = await response.json() + response.raise_for_status() except aiohttp.ClientResponseError as e: try: res = ( diff --git a/backend/open_webui/routers/retrieval.py b/backend/open_webui/routers/retrieval.py index 9ab28fd39..3f5cb72cf 100644 --- a/backend/open_webui/routers/retrieval.py +++ b/backend/open_webui/routers/retrieval.py @@ -358,6 +358,7 @@ async def get_rag_config(request: Request, user=Depends(get_admin_user)): "content_extraction": { "engine": request.app.state.config.CONTENT_EXTRACTION_ENGINE, "tika_server_url": request.app.state.config.TIKA_SERVER_URL, + "docling_server_url": request.app.state.config.DOCLING_SERVER_URL, "document_intelligence_config": { "endpoint": request.app.state.config.DOCUMENT_INTELLIGENCE_ENDPOINT, "key": request.app.state.config.DOCUMENT_INTELLIGENCE_KEY, @@ -428,6 +429,7 @@ class DocumentIntelligenceConfigForm(BaseModel): class ContentExtractionConfig(BaseModel): engine: str = "" tika_server_url: Optional[str] = None + docling_server_url: Optional[str] = None document_intelligence_config: Optional[DocumentIntelligenceConfigForm] = None @@ -540,6 +542,9 @@ async def update_rag_config( request.app.state.config.TIKA_SERVER_URL = ( form_data.content_extraction.tika_server_url ) + request.app.state.config.DOCLING_SERVER_URL = ( + form_data.content_extraction.docling_server_url + ) if form_data.content_extraction.document_intelligence_config is not None: request.app.state.config.DOCUMENT_INTELLIGENCE_ENDPOINT = ( form_data.content_extraction.document_intelligence_config.endpoint @@ -648,6 +653,7 @@ async def update_rag_config( "content_extraction": { "engine": request.app.state.config.CONTENT_EXTRACTION_ENGINE, "tika_server_url": request.app.state.config.TIKA_SERVER_URL, + "docling_server_url": request.app.state.config.DOCLING_SERVER_URL, "document_intelligence_config": { "endpoint": request.app.state.config.DOCUMENT_INTELLIGENCE_ENDPOINT, "key": request.app.state.config.DOCUMENT_INTELLIGENCE_KEY, @@ -994,6 +1000,7 @@ def process_file( loader = Loader( engine=request.app.state.config.CONTENT_EXTRACTION_ENGINE, TIKA_SERVER_URL=request.app.state.config.TIKA_SERVER_URL, + DOCLING_SERVER_URL=request.app.state.config.DOCLING_SERVER_URL, PDF_EXTRACT_IMAGES=request.app.state.config.PDF_EXTRACT_IMAGES, DOCUMENT_INTELLIGENCE_ENDPOINT=request.app.state.config.DOCUMENT_INTELLIGENCE_ENDPOINT, DOCUMENT_INTELLIGENCE_KEY=request.app.state.config.DOCUMENT_INTELLIGENCE_KEY, diff --git a/backend/open_webui/routers/users.py b/backend/open_webui/routers/users.py index 872212d3c..f5349faa3 100644 --- a/backend/open_webui/routers/users.py +++ b/backend/open_webui/routers/users.py @@ -2,6 +2,7 @@ import logging from typing import Optional from open_webui.models.auths import Auths +from open_webui.models.groups import Groups from open_webui.models.chats import Chats from open_webui.models.users import ( UserModel, @@ -17,7 +18,10 @@ from open_webui.constants import ERROR_MESSAGES from open_webui.env import SRC_LOG_LEVELS from fastapi import APIRouter, Depends, HTTPException, Request, status from pydantic import BaseModel + from open_webui.utils.auth import get_admin_user, get_password_hash, get_verified_user +from open_webui.utils.access_control import get_permissions + log = logging.getLogger(__name__) log.setLevel(SRC_LOG_LEVELS["MODELS"]) @@ -45,7 +49,7 @@ async def get_users( @router.get("/groups") async def get_user_groups(user=Depends(get_verified_user)): - return Users.get_user_groups(user.id) + return Groups.get_groups_by_member_id(user.id) ############################ @@ -54,8 +58,12 @@ async def get_user_groups(user=Depends(get_verified_user)): @router.get("/permissions") -async def get_user_permissisions(user=Depends(get_verified_user)): - return Users.get_user_groups(user.id) +async def get_user_permissisions(request: Request, user=Depends(get_verified_user)): + user_permissions = get_permissions( + user.id, request.app.state.config.USER_PERMISSIONS + ) + + return user_permissions ############################ @@ -89,7 +97,7 @@ class UserPermissions(BaseModel): @router.get("/default/permissions", response_model=UserPermissions) -async def get_user_permissions(request: Request, user=Depends(get_admin_user)): +async def get_default_user_permissions(request: Request, user=Depends(get_admin_user)): return { "workspace": WorkspacePermissions( **request.app.state.config.USER_PERMISSIONS.get("workspace", {}) @@ -104,7 +112,7 @@ async def get_user_permissions(request: Request, user=Depends(get_admin_user)): @router.post("/default/permissions") -async def update_user_permissions( +async def update_default_user_permissions( request: Request, form_data: UserPermissions, user=Depends(get_admin_user) ): request.app.state.config.USER_PERMISSIONS = form_data.model_dump() diff --git a/backend/open_webui/socket/main.py b/backend/open_webui/socket/main.py index 8f5a9568b..3bf964e5b 100644 --- a/backend/open_webui/socket/main.py +++ b/backend/open_webui/socket/main.py @@ -269,11 +269,19 @@ async def disconnect(sid): # print(f"Unknown session ID {sid} disconnected") -def get_event_emitter(request_info): +def get_event_emitter(request_info, update_db=True): async def __event_emitter__(event_data): user_id = request_info["user_id"] + session_ids = list( - set(USER_POOL.get(user_id, []) + [request_info["session_id"]]) + set( + USER_POOL.get(user_id, []) + + ( + [request_info.get("session_id")] + if request_info.get("session_id") + else [] + ) + ) ) for session_id in session_ids: @@ -287,40 +295,41 @@ def get_event_emitter(request_info): to=session_id, ) - if "type" in event_data and event_data["type"] == "status": - Chats.add_message_status_to_chat_by_id_and_message_id( - request_info["chat_id"], - request_info["message_id"], - event_data.get("data", {}), - ) + if update_db: + if "type" in event_data and event_data["type"] == "status": + Chats.add_message_status_to_chat_by_id_and_message_id( + request_info["chat_id"], + request_info["message_id"], + event_data.get("data", {}), + ) - if "type" in event_data and event_data["type"] == "message": - message = Chats.get_message_by_id_and_message_id( - request_info["chat_id"], - request_info["message_id"], - ) + if "type" in event_data and event_data["type"] == "message": + message = Chats.get_message_by_id_and_message_id( + request_info["chat_id"], + request_info["message_id"], + ) - content = message.get("content", "") - content += event_data.get("data", {}).get("content", "") + content = message.get("content", "") + content += event_data.get("data", {}).get("content", "") - Chats.upsert_message_to_chat_by_id_and_message_id( - request_info["chat_id"], - request_info["message_id"], - { - "content": content, - }, - ) + Chats.upsert_message_to_chat_by_id_and_message_id( + request_info["chat_id"], + request_info["message_id"], + { + "content": content, + }, + ) - if "type" in event_data and event_data["type"] == "replace": - content = event_data.get("data", {}).get("content", "") + if "type" in event_data and event_data["type"] == "replace": + content = event_data.get("data", {}).get("content", "") - Chats.upsert_message_to_chat_by_id_and_message_id( - request_info["chat_id"], - request_info["message_id"], - { - "content": content, - }, - ) + Chats.upsert_message_to_chat_by_id_and_message_id( + request_info["chat_id"], + request_info["message_id"], + { + "content": content, + }, + ) return __event_emitter__ diff --git a/backend/open_webui/utils/filter.py b/backend/open_webui/utils/filter.py index 0edc2ac70..2bafe720b 100644 --- a/backend/open_webui/utils/filter.py +++ b/backend/open_webui/utils/filter.py @@ -106,6 +106,7 @@ async def process_filter_functions( # Handle file cleanup for inlet if skip_files and "files" in form_data.get("metadata", {}): + del form_data["files"] del form_data["metadata"]["files"] return form_data, {} diff --git a/backend/open_webui/utils/middleware.py b/backend/open_webui/utils/middleware.py index 0ec034b8f..2ba892b9f 100644 --- a/backend/open_webui/utils/middleware.py +++ b/backend/open_webui/utils/middleware.py @@ -100,7 +100,7 @@ log.setLevel(SRC_LOG_LEVELS["MAIN"]) async def chat_completion_tools_handler( - request: Request, body: dict, user: UserModel, models, tools + request: Request, body: dict, extra_params: dict, user: UserModel, models, tools ) -> tuple[dict, dict]: async def get_content_from_response(response) -> Optional[str]: content = None @@ -135,6 +135,9 @@ async def chat_completion_tools_handler( "metadata": {"task": str(TASKS.FUNCTION_CALLING)}, } + event_caller = extra_params["__event_call__"] + metadata = extra_params["__metadata__"] + task_model_id = get_task_model_id( body["model"], request.app.state.config.TASK_MODEL, @@ -189,19 +192,33 @@ async def chat_completion_tools_handler( tool_function_params = tool_call.get("parameters", {}) try: - required_params = ( - tools[tool_function_name] - .get("spec", {}) - .get("parameters", {}) - .get("required", []) + tool = tools[tool_function_name] + + spec = tool.get("spec", {}) + allowed_params = ( + spec.get("parameters", {}).get("properties", {}).keys() ) - tool_function = tools[tool_function_name]["callable"] + tool_function = tool["callable"] tool_function_params = { k: v for k, v in tool_function_params.items() - if k in required_params + if k in allowed_params } - tool_output = await tool_function(**tool_function_params) + + if tool.get("direct", False): + tool_output = await tool_function(**tool_function_params) + else: + tool_output = await event_caller( + { + "type": "execute:tool", + "data": { + "id": str(uuid4()), + "tool": tool, + "params": tool_function_params, + "session_id": metadata.get("session_id", None), + }, + } + ) except Exception as e: tool_output = str(e) @@ -767,12 +784,18 @@ async def process_chat_payload(request, form_data, user, metadata, model): } form_data["metadata"] = metadata + # Server side tools tool_ids = metadata.get("tool_ids", None) + # Client side tools + tool_specs = form_data.get("tool_specs", None) + log.debug(f"{tool_ids=}") + log.debug(f"{tool_specs=}") + + tools_dict = {} if tool_ids: - # If tool_ids field is present, then get the tools - tools = get_tools( + tools_dict = get_tools( request, tool_ids, user, @@ -783,20 +806,30 @@ async def process_chat_payload(request, form_data, user, metadata, model): "__files__": metadata.get("files", []), }, ) - log.info(f"{tools=}") + log.info(f"{tools_dict=}") + if tool_specs: + for tool in tool_specs: + callable = tool.pop("callable", None) + tools_dict[tool["name"]] = { + "direct": True, + "callable": callable, + "spec": tool, + } + + if tools_dict: if metadata.get("function_calling") == "native": # If the function calling is native, then call the tools function calling handler - metadata["tools"] = tools + metadata["tools"] = tools_dict form_data["tools"] = [ {"type": "function", "function": tool.get("spec", {})} - for tool in tools.values() + for tool in tools_dict.values() ] else: # If the function calling is not native, then call the tools function calling handler try: form_data, flags = await chat_completion_tools_handler( - request, form_data, user, models, tools + request, form_data, extra_params, user, models, tools_dict ) sources.extend(flags.get("sources", [])) @@ -815,7 +848,7 @@ async def process_chat_payload(request, form_data, user, metadata, model): for source_idx, source in enumerate(sources): if "document" in source: for doc_idx, doc_context in enumerate(source["document"]): - context_string += f"{source_idx}{doc_context}\n" + context_string += f"{source_idx + 1}{doc_context}\n" context_string = context_string.strip() prompt = get_last_user_message(form_data["messages"]) @@ -1082,8 +1115,6 @@ async def process_chat_response( for filter_id in get_sorted_filter_ids(model) ] - print(f"{filter_functions=}") - # Streaming response if event_emitter and event_caller: task_id = str(uuid4()) # Create a unique task ID. @@ -1563,7 +1594,9 @@ async def process_chat_response( value = delta.get("content") - reasoning_content = delta.get("reasoning_content") + reasoning_content = delta.get( + "reasoning_content" + ) or delta.get("reasoning") if reasoning_content: if ( not content_blocks @@ -1766,18 +1799,36 @@ async def process_chat_response( spec = tool.get("spec", {}) try: - required_params = spec.get("parameters", {}).get( - "required", [] + allowed_params = ( + spec.get("parameters", {}) + .get("properties", {}) + .keys() ) tool_function = tool["callable"] tool_function_params = { k: v for k, v in tool_function_params.items() - if k in required_params + if k in allowed_params } - tool_result = await tool_function( - **tool_function_params - ) + + if tool.get("direct", False): + tool_result = await tool_function( + **tool_function_params + ) + else: + tool_result = await event_caller( + { + "type": "execute:tool", + "data": { + "id": str(uuid4()), + "tool": tool, + "params": tool_function_params, + "session_id": metadata.get( + "session_id", None + ), + }, + } + ) except Exception as e: tool_result = str(e) diff --git a/backend/open_webui/utils/models.py b/backend/open_webui/utils/models.py index 149e41a41..b631c2ae3 100644 --- a/backend/open_webui/utils/models.py +++ b/backend/open_webui/utils/models.py @@ -49,6 +49,7 @@ async def get_all_base_models(request: Request, user: UserModel = None): "created": int(time.time()), "owned_by": "ollama", "ollama": model, + "tags": model.get("tags", []), } for model in ollama_models["models"] ] diff --git a/backend/open_webui/utils/oauth.py b/backend/open_webui/utils/oauth.py index be3466362..ab50247d8 100644 --- a/backend/open_webui/utils/oauth.py +++ b/backend/open_webui/utils/oauth.py @@ -94,7 +94,7 @@ class OAuthManager: oauth_claim = auth_manager_config.OAUTH_ROLES_CLAIM oauth_allowed_roles = auth_manager_config.OAUTH_ALLOWED_ROLES oauth_admin_roles = auth_manager_config.OAUTH_ADMIN_ROLES - oauth_roles = None + oauth_roles = [] # Default/fallback role if no matching roles are found role = auth_manager_config.DEFAULT_USER_ROLE @@ -104,7 +104,7 @@ class OAuthManager: nested_claims = oauth_claim.split(".") for nested_claim in nested_claims: claim_data = claim_data.get(nested_claim, {}) - oauth_roles = claim_data if isinstance(claim_data, list) else None + oauth_roles = claim_data if isinstance(claim_data, list) else [] log.debug(f"Oauth Roles claim: {oauth_claim}") log.debug(f"User roles from oauth: {oauth_roles}") @@ -140,6 +140,7 @@ class OAuthManager: log.debug("Running OAUTH Group management") oauth_claim = auth_manager_config.OAUTH_GROUPS_CLAIM + user_oauth_groups = [] # Nested claim search for groups claim if oauth_claim: claim_data = user_data @@ -160,7 +161,7 @@ class OAuthManager: # Remove groups that user is no longer a part of for group_model in user_current_groups: - if group_model.name not in user_oauth_groups: + if user_oauth_groups and group_model.name not in user_oauth_groups: # Remove group from user log.debug( f"Removing user from group {group_model.name} as it is no longer in their oauth groups" @@ -186,8 +187,10 @@ class OAuthManager: # Add user to new groups for group_model in all_available_groups: - if group_model.name in user_oauth_groups and not any( - gm.name == group_model.name for gm in user_current_groups + if ( + user_oauth_groups + and group_model.name in user_oauth_groups + and not any(gm.name == group_model.name for gm in user_current_groups) ): # Add user to group log.debug( diff --git a/backend/open_webui/utils/payload.py b/backend/open_webui/utils/payload.py index 46656cc82..14fae4589 100644 --- a/backend/open_webui/utils/payload.py +++ b/backend/open_webui/utils/payload.py @@ -110,6 +110,11 @@ def apply_model_params_to_body_ollama(params: dict, form_data: dict) -> dict: "num_thread": int, } + # Extract keep_alive from options if it exists + if "options" in form_data and "keep_alive" in form_data["options"]: + form_data["keep_alive"] = form_data["options"]["keep_alive"] + del form_data["options"]["keep_alive"] + return apply_model_params_to_body(params, form_data, mappings) @@ -231,6 +236,11 @@ def convert_payload_openai_to_ollama(openai_payload: dict) -> dict: "system" ] # To prevent Ollama warning of invalid option provided + # Extract keep_alive from options if it exists + if "keep_alive" in ollama_options: + ollama_payload["keep_alive"] = ollama_options["keep_alive"] + del ollama_options["keep_alive"] + # If there is the "stop" parameter in the openai_payload, remap it to the ollama_payload.options if "stop" in openai_payload: ollama_options = ollama_payload.get("options", {}) diff --git a/backend/open_webui/utils/plugin.py b/backend/open_webui/utils/plugin.py index e3fe9237f..29a4d0cce 100644 --- a/backend/open_webui/utils/plugin.py +++ b/backend/open_webui/utils/plugin.py @@ -7,7 +7,7 @@ import types import tempfile import logging -from open_webui.env import SRC_LOG_LEVELS +from open_webui.env import SRC_LOG_LEVELS, PIP_OPTIONS, PIP_PACKAGE_INDEX_OPTIONS from open_webui.models.functions import Functions from open_webui.models.tools import Tools @@ -165,15 +165,19 @@ def load_function_module_by_id(function_id, content=None): os.unlink(temp_file.name) -def install_frontmatter_requirements(requirements): +def install_frontmatter_requirements(requirements: str): if requirements: try: req_list = [req.strip() for req in requirements.split(",")] - for req in req_list: - log.info(f"Installing requirement: {req}") - subprocess.check_call([sys.executable, "-m", "pip", "install", req]) + log.info(f"Installing requirements: {' '.join(req_list)}") + subprocess.check_call( + [sys.executable, "-m", "pip", "install"] + + PIP_OPTIONS + + req_list + + PIP_PACKAGE_INDEX_OPTIONS + ) except Exception as e: - log.error(f"Error installing package: {req}") + log.error(f"Error installing packages: {' '.join(req_list)}") raise e else: diff --git a/backend/open_webui/utils/telemetry/__init__.py b/backend/open_webui/utils/telemetry/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/backend/open_webui/utils/telemetry/constants.py b/backend/open_webui/utils/telemetry/constants.py new file mode 100644 index 000000000..6ef511f93 --- /dev/null +++ b/backend/open_webui/utils/telemetry/constants.py @@ -0,0 +1,26 @@ +from opentelemetry.semconv.trace import SpanAttributes as _SpanAttributes + +# Span Tags +SPAN_DB_TYPE = "mysql" +SPAN_REDIS_TYPE = "redis" +SPAN_DURATION = "duration" +SPAN_SQL_STR = "sql" +SPAN_SQL_EXPLAIN = "explain" +SPAN_ERROR_TYPE = "error" + + +class SpanAttributes(_SpanAttributes): + """ + Span Attributes + """ + + DB_INSTANCE = "db.instance" + DB_TYPE = "db.type" + DB_IP = "db.ip" + DB_PORT = "db.port" + ERROR_KIND = "error.kind" + ERROR_OBJECT = "error.object" + ERROR_MESSAGE = "error.message" + RESULT_CODE = "result.code" + RESULT_MESSAGE = "result.message" + RESULT_ERRORS = "result.errors" diff --git a/backend/open_webui/utils/telemetry/exporters.py b/backend/open_webui/utils/telemetry/exporters.py new file mode 100644 index 000000000..4bf166e65 --- /dev/null +++ b/backend/open_webui/utils/telemetry/exporters.py @@ -0,0 +1,31 @@ +import threading + +from opentelemetry.sdk.trace import ReadableSpan +from opentelemetry.sdk.trace.export import BatchSpanProcessor + + +class LazyBatchSpanProcessor(BatchSpanProcessor): + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.done = True + with self.condition: + self.condition.notify_all() + self.worker_thread.join() + self.done = False + self.worker_thread = None + + def on_end(self, span: ReadableSpan) -> None: + if self.worker_thread is None: + self.worker_thread = threading.Thread( + name=self.__class__.__name__, target=self.worker, daemon=True + ) + self.worker_thread.start() + super().on_end(span) + + def shutdown(self) -> None: + self.done = True + with self.condition: + self.condition.notify_all() + if self.worker_thread: + self.worker_thread.join() + self.span_exporter.shutdown() diff --git a/backend/open_webui/utils/telemetry/instrumentors.py b/backend/open_webui/utils/telemetry/instrumentors.py new file mode 100644 index 000000000..0ba42efd4 --- /dev/null +++ b/backend/open_webui/utils/telemetry/instrumentors.py @@ -0,0 +1,202 @@ +import logging +import traceback +from typing import Collection, Union + +from aiohttp import ( + TraceRequestStartParams, + TraceRequestEndParams, + TraceRequestExceptionParams, +) +from chromadb.telemetry.opentelemetry.fastapi import instrument_fastapi +from fastapi import FastAPI +from opentelemetry.instrumentation.httpx import ( + HTTPXClientInstrumentor, + RequestInfo, + ResponseInfo, +) +from opentelemetry.instrumentation.instrumentor import BaseInstrumentor +from opentelemetry.instrumentation.logging import LoggingInstrumentor +from opentelemetry.instrumentation.redis import RedisInstrumentor +from opentelemetry.instrumentation.requests import RequestsInstrumentor +from opentelemetry.instrumentation.sqlalchemy import SQLAlchemyInstrumentor +from opentelemetry.instrumentation.aiohttp_client import AioHttpClientInstrumentor +from opentelemetry.trace import Span, StatusCode +from redis import Redis +from requests import PreparedRequest, Response +from sqlalchemy import Engine +from fastapi import status + +from open_webui.utils.telemetry.constants import SPAN_REDIS_TYPE, SpanAttributes + +from open_webui.env import SRC_LOG_LEVELS + +logger = logging.getLogger(__name__) +logger.setLevel(SRC_LOG_LEVELS["MAIN"]) + + +def requests_hook(span: Span, request: PreparedRequest): + """ + Http Request Hook + """ + + span.update_name(f"{request.method} {request.url}") + span.set_attributes( + attributes={ + SpanAttributes.HTTP_URL: request.url, + SpanAttributes.HTTP_METHOD: request.method, + } + ) + + +def response_hook(span: Span, request: PreparedRequest, response: Response): + """ + HTTP Response Hook + """ + + span.set_attributes( + attributes={ + SpanAttributes.HTTP_STATUS_CODE: response.status_code, + } + ) + span.set_status(StatusCode.ERROR if response.status_code >= 400 else StatusCode.OK) + + +def redis_request_hook(span: Span, instance: Redis, args, kwargs): + """ + Redis Request Hook + """ + + try: + connection_kwargs: dict = instance.connection_pool.connection_kwargs + host = connection_kwargs.get("host") + port = connection_kwargs.get("port") + db = connection_kwargs.get("db") + span.set_attributes( + { + SpanAttributes.DB_INSTANCE: f"{host}/{db}", + SpanAttributes.DB_NAME: f"{host}/{db}", + SpanAttributes.DB_TYPE: SPAN_REDIS_TYPE, + SpanAttributes.DB_PORT: port, + SpanAttributes.DB_IP: host, + SpanAttributes.DB_STATEMENT: " ".join([str(i) for i in args]), + SpanAttributes.DB_OPERATION: str(args[0]), + } + ) + except Exception: # pylint: disable=W0718 + logger.error(traceback.format_exc()) + + +def httpx_request_hook(span: Span, request: RequestInfo): + """ + HTTPX Request Hook + """ + + span.update_name(f"{request.method.decode()} {str(request.url)}") + span.set_attributes( + attributes={ + SpanAttributes.HTTP_URL: str(request.url), + SpanAttributes.HTTP_METHOD: request.method.decode(), + } + ) + + +def httpx_response_hook(span: Span, request: RequestInfo, response: ResponseInfo): + """ + HTTPX Response Hook + """ + + span.set_attribute(SpanAttributes.HTTP_STATUS_CODE, response.status_code) + span.set_status( + StatusCode.ERROR + if response.status_code >= status.HTTP_400_BAD_REQUEST + else StatusCode.OK + ) + + +async def httpx_async_request_hook(span: Span, request: RequestInfo): + """ + Async Request Hook + """ + + httpx_request_hook(span, request) + + +async def httpx_async_response_hook( + span: Span, request: RequestInfo, response: ResponseInfo +): + """ + Async Response Hook + """ + + httpx_response_hook(span, request, response) + + +def aiohttp_request_hook(span: Span, request: TraceRequestStartParams): + """ + Aiohttp Request Hook + """ + + span.update_name(f"{request.method} {str(request.url)}") + span.set_attributes( + attributes={ + SpanAttributes.HTTP_URL: str(request.url), + SpanAttributes.HTTP_METHOD: request.method, + } + ) + + +def aiohttp_response_hook( + span: Span, response: Union[TraceRequestExceptionParams, TraceRequestEndParams] +): + """ + Aiohttp Response Hook + """ + + if isinstance(response, TraceRequestEndParams): + span.set_attribute(SpanAttributes.HTTP_STATUS_CODE, response.response.status) + span.set_status( + StatusCode.ERROR + if response.response.status >= status.HTTP_400_BAD_REQUEST + else StatusCode.OK + ) + elif isinstance(response, TraceRequestExceptionParams): + span.set_status(StatusCode.ERROR) + span.set_attribute(SpanAttributes.ERROR_MESSAGE, str(response.exception)) + + +class Instrumentor(BaseInstrumentor): + """ + Instrument OT + """ + + def __init__(self, app: FastAPI, db_engine: Engine): + self.app = app + self.db_engine = db_engine + + def instrumentation_dependencies(self) -> Collection[str]: + return [] + + def _instrument(self, **kwargs): + instrument_fastapi(app=self.app) + SQLAlchemyInstrumentor().instrument(engine=self.db_engine) + RedisInstrumentor().instrument(request_hook=redis_request_hook) + RequestsInstrumentor().instrument( + request_hook=requests_hook, response_hook=response_hook + ) + LoggingInstrumentor().instrument() + HTTPXClientInstrumentor().instrument( + request_hook=httpx_request_hook, + response_hook=httpx_response_hook, + async_request_hook=httpx_async_request_hook, + async_response_hook=httpx_async_response_hook, + ) + AioHttpClientInstrumentor().instrument( + request_hook=aiohttp_request_hook, + response_hook=aiohttp_response_hook, + ) + + def _uninstrument(self, **kwargs): + if getattr(self, "instrumentors", None) is None: + return + for instrumentor in self.instrumentors: + instrumentor.uninstrument() diff --git a/backend/open_webui/utils/telemetry/setup.py b/backend/open_webui/utils/telemetry/setup.py new file mode 100644 index 000000000..eb6a238c8 --- /dev/null +++ b/backend/open_webui/utils/telemetry/setup.py @@ -0,0 +1,23 @@ +from fastapi import FastAPI +from opentelemetry import trace +from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import OTLPSpanExporter +from opentelemetry.sdk.resources import SERVICE_NAME, Resource +from opentelemetry.sdk.trace import TracerProvider +from sqlalchemy import Engine + +from open_webui.utils.telemetry.exporters import LazyBatchSpanProcessor +from open_webui.utils.telemetry.instrumentors import Instrumentor +from open_webui.env import OTEL_SERVICE_NAME, OTEL_EXPORTER_OTLP_ENDPOINT + + +def setup(app: FastAPI, db_engine: Engine): + # set up trace + trace.set_tracer_provider( + TracerProvider( + resource=Resource.create(attributes={SERVICE_NAME: OTEL_SERVICE_NAME}) + ) + ) + # otlp export + exporter = OTLPSpanExporter(endpoint=OTEL_EXPORTER_OTLP_ENDPOINT) + trace.get_tracer_provider().add_span_processor(LazyBatchSpanProcessor(exporter)) + Instrumentor(app=app, db_engine=db_engine).instrument() diff --git a/backend/open_webui/utils/tools.py b/backend/open_webui/utils/tools.py index c44c30402..53ecf4d0e 100644 --- a/backend/open_webui/utils/tools.py +++ b/backend/open_webui/utils/tools.py @@ -1,6 +1,9 @@ import inspect import logging import re +import inspect +import uuid + from typing import Any, Awaitable, Callable, get_type_hints from functools import update_wrapper, partial diff --git a/backend/requirements.txt b/backend/requirements.txt index eb1ee6018..ca2ea5060 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -37,13 +37,13 @@ asgiref==3.8.1 # AI libraries openai anthropic -google-generativeai==0.7.2 +google-generativeai==0.8.4 tiktoken langchain==0.3.19 langchain-community==0.3.18 -fake-useragent==1.5.1 +fake-useragent==2.1.0 chromadb==0.6.2 pymilvus==2.5.0 qdrant-client~=1.12.0 @@ -78,6 +78,7 @@ sentencepiece soundfile==0.13.1 azure-ai-documentintelligence==1.0.0 +pillow==11.1.0 opencv-python-headless==4.11.0.86 rapidocr-onnxruntime==1.3.24 rank-bm25==0.2.2 @@ -118,3 +119,16 @@ ldap3==2.9.1 ## Firecrawl firecrawl-py==1.12.0 + +## Trace +opentelemetry-api==1.30.0 +opentelemetry-sdk==1.30.0 +opentelemetry-exporter-otlp==1.30.0 +opentelemetry-instrumentation==0.51b0 +opentelemetry-instrumentation-fastapi==0.51b0 +opentelemetry-instrumentation-sqlalchemy==0.51b0 +opentelemetry-instrumentation-redis==0.51b0 +opentelemetry-instrumentation-requests==0.51b0 +opentelemetry-instrumentation-logging==0.51b0 +opentelemetry-instrumentation-httpx==0.51b0 +opentelemetry-instrumentation-aiohttp-client==0.51b0 \ No newline at end of file diff --git a/backend/start_windows.bat b/backend/start_windows.bat index 7049cd1b3..19f6f123c 100644 --- a/backend/start_windows.bat +++ b/backend/start_windows.bat @@ -41,4 +41,5 @@ IF "%WEBUI_SECRET_KEY%%WEBUI_JWT_SECRET_KEY%" == " " ( :: Execute uvicorn SET "WEBUI_SECRET_KEY=%WEBUI_SECRET_KEY%" -uvicorn open_webui.main:app --host "%HOST%" --port "%PORT%" --forwarded-allow-ips '*' +uvicorn open_webui.main:app --host "%HOST%" --port "%PORT%" --forwarded-allow-ips '*' --ws auto +:: For ssl user uvicorn open_webui.main:app --host "%HOST%" --port "%PORT%" --forwarded-allow-ips '*' --ssl-keyfile "key.pem" --ssl-certfile "cert.pem" --ws auto diff --git a/package-lock.json b/package-lock.json index e98b0968c..8c4ff6a48 100644 --- a/package-lock.json +++ b/package-lock.json @@ -37,6 +37,7 @@ "file-saver": "^2.0.5", "fuse.js": "^7.0.0", "highlight.js": "^11.9.0", + "html2canvas-pro": "^1.5.8", "i18next": "^23.10.0", "i18next-browser-languagedetector": "^7.2.0", "i18next-resources-to-backend": "^1.2.0", @@ -59,7 +60,7 @@ "prosemirror-schema-list": "^1.4.1", "prosemirror-state": "^1.4.3", "prosemirror-view": "^1.34.3", - "pyodide": "^0.27.2", + "pyodide": "^0.27.3", "socket.io-client": "^4.2.0", "sortablejs": "^1.15.2", "svelte-sonner": "^0.3.19", @@ -3884,7 +3885,6 @@ "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", "integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==", "license": "MIT", - "optional": true, "engines": { "node": ">= 0.6.0" } @@ -4759,7 +4759,6 @@ "resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-2.1.0.tgz", "integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==", "license": "MIT", - "optional": true, "dependencies": { "utrie": "^1.0.2" } @@ -6842,6 +6841,19 @@ "node": ">=8.0.0" } }, + "node_modules/html2canvas-pro": { + "version": "1.5.8", + "resolved": "https://registry.npmjs.org/html2canvas-pro/-/html2canvas-pro-1.5.8.tgz", + "integrity": "sha512-bVGAU7IvhBwBlRAmX6QhekX8lsaxmYoF6zIwf/HNlHscjx+KN8jw/U4PQRYqeEVm9+m13hcS1l5ChJB9/e29Lw==", + "license": "MIT", + "dependencies": { + "css-line-break": "^2.1.0", + "text-segmentation": "^1.0.3" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/htmlparser2": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", @@ -9802,9 +9814,9 @@ } }, "node_modules/pyodide": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/pyodide/-/pyodide-0.27.2.tgz", - "integrity": "sha512-sfA2kiUuQVRpWI4BYnU3sX5PaTTt/xrcVEmRzRcId8DzZXGGtPgCBC0gCqjUTUYSa8ofPaSjXmzESc86yvvCHg==", + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/pyodide/-/pyodide-0.27.3.tgz", + "integrity": "sha512-6NwKEbPk0M3Wic2T1TCZijgZH9VE4RkHp1VGljS1sou0NjGdsmY2R/fG5oLmdDkjTRMI1iW7WYaY9pofX8gg1g==", "license": "Apache-2.0", "dependencies": { "ws": "^8.5.0" @@ -11472,7 +11484,6 @@ "resolved": "https://registry.npmjs.org/text-segmentation/-/text-segmentation-1.0.3.tgz", "integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==", "license": "MIT", - "optional": true, "dependencies": { "utrie": "^1.0.2" } @@ -11821,7 +11832,6 @@ "resolved": "https://registry.npmjs.org/utrie/-/utrie-1.0.2.tgz", "integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==", "license": "MIT", - "optional": true, "dependencies": { "base64-arraybuffer": "^1.0.2" } diff --git a/package.json b/package.json index 2e4b905b1..bef3de16b 100644 --- a/package.json +++ b/package.json @@ -80,6 +80,7 @@ "file-saver": "^2.0.5", "fuse.js": "^7.0.0", "highlight.js": "^11.9.0", + "html2canvas-pro": "^1.5.8", "i18next": "^23.10.0", "i18next-browser-languagedetector": "^7.2.0", "i18next-resources-to-backend": "^1.2.0", @@ -102,7 +103,7 @@ "prosemirror-schema-list": "^1.4.1", "prosemirror-state": "^1.4.3", "prosemirror-view": "^1.34.3", - "pyodide": "^0.27.2", + "pyodide": "^0.27.3", "socket.io-client": "^4.2.0", "sortablejs": "^1.15.2", "svelte-sonner": "^0.3.19", diff --git a/pyproject.toml b/pyproject.toml index 0666ac8a2..2e8537a77 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -51,7 +51,7 @@ dependencies = [ "langchain==0.3.19", "langchain-community==0.3.18", - "fake-useragent==1.5.1", + "fake-useragent==2.1.0", "chromadb==0.6.2", "pymilvus==2.5.0", "qdrant-client~=1.12.0", @@ -84,6 +84,7 @@ dependencies = [ "soundfile==0.13.1", "azure-ai-documentintelligence==1.0.0", + "pillow==11.1.0", "opencv-python-headless==4.11.0.86", "rapidocr-onnxruntime==1.3.24", "rank-bm25==0.2.2", diff --git a/src/app.css b/src/app.css index 8bdc6f1ad..4061d3b5e 100644 --- a/src/app.css +++ b/src/app.css @@ -106,7 +106,7 @@ li p { } ::-webkit-scrollbar { - height: 0.4rem; + height: 0.8rem; width: 0.4rem; } diff --git a/src/lib/apis/index.ts b/src/lib/apis/index.ts index 3fb4a5d01..674f24267 100644 --- a/src/lib/apis/index.ts +++ b/src/lib/apis/index.ts @@ -114,6 +114,13 @@ export const getModels = async ( } } + const tags = apiConfig.tags; + if (tags) { + for (const model of models) { + model.tags = tags; + } + } + localModels = localModels.concat(models); } } diff --git a/src/lib/components/AddConnectionModal.svelte b/src/lib/components/AddConnectionModal.svelte index cbd90b68d..52fd51999 100644 --- a/src/lib/components/AddConnectionModal.svelte +++ b/src/lib/components/AddConnectionModal.svelte @@ -14,6 +14,7 @@ import SensitiveInput from '$lib/components/common/SensitiveInput.svelte'; import Tooltip from '$lib/components/common/Tooltip.svelte'; import Switch from '$lib/components/common/Switch.svelte'; + import Tags from './common/Tags.svelte'; export let onSubmit: Function = () => {}; export let onDelete: Function = () => {}; @@ -31,6 +32,7 @@ let prefixId = ''; let enable = true; + let tags = []; let modelId = ''; let modelIds = []; @@ -77,9 +79,9 @@ const submitHandler = async () => { loading = true; - if (!ollama && (!url || !key)) { + if (!ollama && !url) { loading = false; - toast.error('URL and Key are required'); + toast.error('URL is required'); return; } @@ -88,6 +90,7 @@ key, config: { enable: enable, + tags: tags, prefix_id: prefixId, model_ids: modelIds } @@ -101,6 +104,7 @@ url = ''; key = ''; prefixId = ''; + tags = []; modelIds = []; }; @@ -110,6 +114,7 @@ key = connection.key; enable = connection.config?.enable ?? true; + tags = connection.config?.tags ?? []; prefixId = connection.config?.prefix_id ?? ''; modelIds = connection.config?.model_ids ?? []; } @@ -179,7 +184,7 @@ - + + {:else} +
{/if} - {#if $user.role === 'admin' || $user?.permissions.chat?.controls} -
- {#if chatFiles.length > 0} - -
- {#each chatFiles as file, fileIdx} - { - // Remove the file from the chatFiles array +
+ {#if chatFiles.length > 0} + +
+ {#each chatFiles as file, fileIdx} + { + // Remove the file from the chatFiles array - chatFiles.splice(fileIdx, 1); - chatFiles = chatFiles; - }} - on:click={() => { - console.log(file); - }} - /> - {/each} -
-
- -
- {/if} - - -
- + chatFiles.splice(fileIdx, 1); + chatFiles = chatFiles; + }} + on:click={() => { + console.log(file); + }} + /> + {/each}

+ {/if} + + +
+ +
+
+ + {#if $user.role === 'admin' || $user?.permissions.chat?.controls} +
@@ -90,10 +90,6 @@
-
- {:else} -
- {$i18n.t('You do not have permission to access this feature.')} -
- {/if} + {/if} +
diff --git a/src/lib/components/chat/MessageInput/Commands/Knowledge.svelte b/src/lib/components/chat/MessageInput/Commands/Knowledge.svelte index 3dfaa99b3..3ce444655 100644 --- a/src/lib/components/chat/MessageInput/Commands/Knowledge.svelte +++ b/src/lib/components/chat/MessageInput/Commands/Knowledge.svelte @@ -210,7 +210,7 @@ {/if}
- {item?.name} + {decodeURIComponent(item?.name)}
diff --git a/src/lib/components/chat/MessageInput/Commands/Prompts.svelte b/src/lib/components/chat/MessageInput/Commands/Prompts.svelte index bb91e00a8..ccd942cb5 100644 --- a/src/lib/components/chat/MessageInput/Commands/Prompts.svelte +++ b/src/lib/components/chat/MessageInput/Commands/Prompts.svelte @@ -120,7 +120,12 @@ text = text.replaceAll('{{CURRENT_WEEKDAY}}', weekday); } - prompt = text; + const promptWords = prompt.split(' '); + + promptWords.pop(); + promptWords.push(`${text}`); + + prompt = promptWords.join(' '); const chatInputContainerElement = document.getElementById('chat-input-container'); const chatInputElement = document.getElementById('chat-input'); diff --git a/src/lib/components/chat/Messages/Citations.svelte b/src/lib/components/chat/Messages/Citations.svelte index 893a64608..5c6ebbc10 100644 --- a/src/lib/components/chat/Messages/Citations.svelte +++ b/src/lib/components/chat/Messages/Citations.svelte @@ -102,7 +102,7 @@
{#each citations as citation, idx} {/each}
{:else} {/if}
- {citation.source.name} + {decodeURIComponent(citation.source.name)}
{/each} @@ -181,7 +181,7 @@
{#each citations as citation, idx}
{/if}
- {citation.source.name} + {decodeURIComponent(citation.source.name)}
{/each} diff --git a/src/lib/components/chat/Messages/CitationsModal.svelte b/src/lib/components/chat/Messages/CitationsModal.svelte index 5eea0de97..cb740ce69 100644 --- a/src/lib/components/chat/Messages/CitationsModal.svelte +++ b/src/lib/components/chat/Messages/CitationsModal.svelte @@ -98,7 +98,7 @@ : `#`} target="_blank" > - {document?.metadata?.name ?? document.source.name} + {decodeURIComponent(document?.metadata?.name ?? document.source.name)} {#if document?.metadata?.page} @@ -128,11 +128,11 @@ {percentage.toFixed(2)}% - ({document.distance.toFixed(4)}) + ({(document?.distance ?? 0).toFixed(4)}) {:else} - {document.distance.toFixed(4)} + {(document?.distance ?? 0).toFixed(4)} {/if} diff --git a/src/lib/components/chat/Messages/CodeBlock.svelte b/src/lib/components/chat/Messages/CodeBlock.svelte index c6a4f0328..ca663f61d 100644 --- a/src/lib/components/chat/Messages/CodeBlock.svelte +++ b/src/lib/components/chat/Messages/CodeBlock.svelte @@ -27,6 +27,7 @@ export let save = false; export let run = true; + export let collapsed = false; export let token; export let lang = ''; @@ -60,7 +61,6 @@ let result = null; let files = null; - let collapsed = false; let copied = false; let saved = false; @@ -441,7 +441,9 @@ {#if ($config?.features?.enable_code_execution ?? true) && (lang.toLowerCase() === 'python' || lang.toLowerCase() === 'py' || (lang === '' && checkPythonCode(code)))} {#if executing} -
Running
+
+ {$i18n.t('Running')} +
{:else if run} + {#if items.find((item) => item.model?.owned_by === 'ollama') && items.find((item) => item.model?.owned_by === 'openai')} + + + {/if} + + {#if items.find((item) => item.model?.direct)} + + {/if} + {#each tags as tag} - {:else if $mobile && ($user.role === 'admin' || $user?.permissions?.chat?.controls)} - - - {/if} - {#if !$mobile && ($user.role === 'admin' || $user?.permissions?.chat?.controls)} - - - - {/if} + + + + + + +
+
+
{$i18n.t('Always Expand Details')}
+ + +
+
+
diff --git a/src/lib/components/chat/SettingsModal.svelte b/src/lib/components/chat/SettingsModal.svelte index 20d70505f..7d32a9718 100644 --- a/src/lib/components/chat/SettingsModal.svelte +++ b/src/lib/components/chat/SettingsModal.svelte @@ -15,7 +15,6 @@ import Chats from './Settings/Chats.svelte'; import User from '../icons/User.svelte'; import Personalization from './Settings/Personalization.svelte'; - import SearchInput from '../layout/Sidebar/SearchInput.svelte'; import Search from '../icons/Search.svelte'; import Connections from './Settings/Connections.svelte'; diff --git a/src/lib/components/chat/Suggestions.svelte b/src/lib/components/chat/Suggestions.svelte index 566fc4782..746e13e51 100644 --- a/src/lib/components/chat/Suggestions.svelte +++ b/src/lib/components/chat/Suggestions.svelte @@ -45,9 +45,10 @@ if (inputValue.length > 500) { filteredPrompts = []; } else { - const newFilteredPrompts = inputValue.trim() - ? fuse.search(inputValue.trim()).map((result) => result.item) - : sortedPrompts; + const newFilteredPrompts = + inputValue.trim() && fuse + ? fuse.search(inputValue.trim()).map((result) => result.item) + : sortedPrompts; // Compare with the oldFilteredPrompts // If there's a difference, update array + version diff --git a/src/lib/components/common/Checkbox.svelte b/src/lib/components/common/Checkbox.svelte index 9722e2526..feae33cd2 100644 --- a/src/lib/components/common/Checkbox.svelte +++ b/src/lib/components/common/Checkbox.svelte @@ -4,6 +4,7 @@ export let state = 'unchecked'; export let indeterminate = false; + export let disabled = false; let _state = 'unchecked'; @@ -14,8 +15,12 @@ class=" outline -outline-offset-1 outline-[1.5px] outline-gray-200 dark:outline-gray-600 {state !== 'unchecked' ? 'bg-black outline-black ' - : 'hover:outline-gray-500 hover:bg-gray-50 dark:hover:bg-gray-800'} text-white transition-all rounded-sm inline-block w-3.5 h-3.5 relative" + : 'hover:outline-gray-500 hover:bg-gray-50 dark:hover:bg-gray-800'} text-white transition-all rounded-sm inline-block w-3.5 h-3.5 relative {disabled + ? 'opacity-50 cursor-not-allowed' + : ''}" on:click={() => { + if (disabled) return; + if (_state === 'unchecked') { _state = 'checked'; dispatch('change', _state); @@ -30,6 +35,7 @@ } }} type="button" + {disabled} >
{#if _state === 'checked'} diff --git a/src/lib/components/common/CodeEditor.svelte b/src/lib/components/common/CodeEditor.svelte index d545d7236..82ff13937 100644 --- a/src/lib/components/common/CodeEditor.svelte +++ b/src/lib/components/common/CodeEditor.svelte @@ -33,15 +33,49 @@ const updateValue = () => { if (_value !== value) { + const changes = findChanges(_value, value); _value = value; - if (codeEditor) { - codeEditor.dispatch({ - changes: [{ from: 0, to: codeEditor.state.doc.length, insert: _value }] - }); + + if (codeEditor && changes.length > 0) { + codeEditor.dispatch({ changes }); } } }; + /** + * Finds multiple diffs in two strings and generates minimal change edits. + */ + function findChanges(oldStr, newStr) { + let changes = []; + let oldIndex = 0, + newIndex = 0; + + while (oldIndex < oldStr.length || newIndex < newStr.length) { + if (oldStr[oldIndex] !== newStr[newIndex]) { + let start = oldIndex; + + // Identify the changed portion + while (oldIndex < oldStr.length && oldStr[oldIndex] !== newStr[newIndex]) { + oldIndex++; + } + while (newIndex < newStr.length && newStr[newIndex] !== oldStr[start]) { + newIndex++; + } + + changes.push({ + from: start, + to: oldIndex, // Replace the differing part + insert: newStr.substring(start, newIndex) + }); + } else { + oldIndex++; + newIndex++; + } + } + + return changes; + } + export let id = ''; export let lang = ''; diff --git a/src/lib/components/common/FileItem.svelte b/src/lib/components/common/FileItem.svelte index 8bc6f5ed4..772b07858 100644 --- a/src/lib/components/common/FileItem.svelte +++ b/src/lib/components/common/FileItem.svelte @@ -82,7 +82,7 @@ {#if !small}
- {name} + {decodeURIComponent(name)}
@@ -101,7 +101,11 @@
{:else} - +
{#if loading} @@ -109,7 +113,7 @@
{/if} -
{name}
+
{decodeURIComponent(name)}
{formatFileSize(size)}
diff --git a/src/lib/components/common/FileItemModal.svelte b/src/lib/components/common/FileItemModal.svelte index dd00b3a96..ef55e96b2 100644 --- a/src/lib/components/common/FileItemModal.svelte +++ b/src/lib/components/common/FileItemModal.svelte @@ -87,8 +87,12 @@
{#if enableFullContent} diff --git a/src/lib/components/common/ImagePreview.svelte b/src/lib/components/common/ImagePreview.svelte index ac7dc3a09..ef5b9d77c 100644 --- a/src/lib/components/common/ImagePreview.svelte +++ b/src/lib/components/common/ImagePreview.svelte @@ -1,5 +1,6 @@ @@ -246,6 +259,7 @@ bind:value={chatTitle} id="chat-title-input-{id}" class=" bg-transparent w-full outline-hidden mr-10" + on:keydown={chatTitleInputKeydownHandler} />
{:else} diff --git a/src/lib/components/layout/Sidebar/ChatMenu.svelte b/src/lib/components/layout/Sidebar/ChatMenu.svelte index 8f38ba520..395b0ec3a 100644 --- a/src/lib/components/layout/Sidebar/ChatMenu.svelte +++ b/src/lib/components/layout/Sidebar/ChatMenu.svelte @@ -6,6 +6,9 @@ import fileSaver from 'file-saver'; const { saveAs } = fileSaver; + import jsPDF from 'jspdf'; + import html2canvas from 'html2canvas-pro'; + const dispatch = createEventDispatcher(); import Dropdown from '$lib/components/common/Dropdown.svelte'; @@ -23,7 +26,7 @@ getChatPinnedStatusById, toggleChatPinnedStatusById } from '$lib/apis/chats'; - import { chats } from '$lib/stores'; + import { chats, theme } from '$lib/stores'; import { createMessagesList } from '$lib/utils'; import { downloadChatAsPDF } from '$lib/apis/utils'; import Download from '$lib/components/icons/Download.svelte'; @@ -77,31 +80,76 @@ const downloadPdf = async () => { const chat = await getChatById(localStorage.token, chatId); - if (!chat) { - return; + + const containerElement = document.getElementById('messages-container'); + + if (containerElement) { + try { + const isDarkMode = $theme.includes('dark'); // Check theme mode + + // Define a fixed virtual screen size + const virtualWidth = 1024; // Fixed width (adjust as needed) + const virtualHeight = 1400; // Fixed height (adjust as needed) + + // Clone the container to avoid layout shifts + const clonedElement = containerElement.cloneNode(true); + clonedElement.style.width = `${virtualWidth}px`; // Apply fixed width + clonedElement.style.height = 'auto'; // Allow content to expand + + document.body.appendChild(clonedElement); // Temporarily add to DOM + + // Render to canvas with predefined width + const canvas = await html2canvas(clonedElement, { + backgroundColor: isDarkMode ? '#000' : '#fff', + useCORS: true, + scale: 2, // Keep at 1x to avoid unexpected enlargements + width: virtualWidth, // Set fixed virtual screen width + windowWidth: virtualWidth, // Ensure consistent rendering + windowHeight: virtualHeight + }); + + document.body.removeChild(clonedElement); // Clean up temp element + + const imgData = canvas.toDataURL('image/png'); + + // A4 page settings + const pdf = new jsPDF('p', 'mm', 'a4'); + const imgWidth = 210; // A4 width in mm + const pageHeight = 297; // A4 height in mm + + // Maintain aspect ratio + const imgHeight = (canvas.height * imgWidth) / canvas.width; + let heightLeft = imgHeight; + let position = 0; + + // Set page background for dark mode + if (isDarkMode) { + pdf.setFillColor(0, 0, 0); + pdf.rect(0, 0, imgWidth, pageHeight, 'F'); // Apply black bg + } + + pdf.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight); + heightLeft -= pageHeight; + + // Handle additional pages + while (heightLeft > 0) { + position -= pageHeight; + pdf.addPage(); + + if (isDarkMode) { + pdf.setFillColor(0, 0, 0); + pdf.rect(0, 0, imgWidth, pageHeight, 'F'); + } + + pdf.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight); + heightLeft -= pageHeight; + } + + pdf.save(`chat-${chat.chat.title}.pdf`); + } catch (error) { + console.error('Error generating PDF', error); + } } - - const history = chat.chat.history; - const messages = createMessagesList(history, history.currentId); - const blob = await downloadChatAsPDF(localStorage.token, chat.chat.title, messages); - - // Create a URL for the blob - const url = window.URL.createObjectURL(blob); - - // Create a link element to trigger the download - const a = document.createElement('a'); - a.href = url; - a.download = `chat-${chat.chat.title}.pdf`; - - // Append the link to the body and click it programmatically - document.body.appendChild(a); - a.click(); - - // Remove the link from the body - document.body.removeChild(a); - - // Revoke the URL to release memory - window.URL.revokeObjectURL(url); }; const downloadJSONExport = async () => { diff --git a/src/lib/components/layout/Sidebar/RecursiveFolder.svelte b/src/lib/components/layout/Sidebar/RecursiveFolder.svelte index 085eb683b..a7eb920d7 100644 --- a/src/lib/components/layout/Sidebar/RecursiveFolder.svelte +++ b/src/lib/components/layout/Sidebar/RecursiveFolder.svelte @@ -201,7 +201,7 @@ dragged = false; }; - onMount(() => { + onMount(async () => { open = folders[folderId].is_expanded; if (folderElement) { folderElement.addEventListener('dragover', onDragOver); @@ -215,6 +215,13 @@ // Event listener for when dragging ends folderElement.addEventListener('dragend', onDragEnd); } + + if (folders[folderId]?.new) { + delete folders[folderId].new; + + await tick(); + editHandler(); + } }); onDestroy(() => { @@ -297,15 +304,15 @@ console.log('Edit'); await tick(); name = folders[folderId].name; - edit = true; + edit = true; await tick(); - // focus on the input - setTimeout(() => { - const input = document.getElementById(`folder-${folderId}-input`); + const input = document.getElementById(`folder-${folderId}-input`); + + if (input) { input.focus(); - }, 100); + } }; const exportHandler = async () => { @@ -394,6 +401,9 @@ id="folder-{folderId}-input" type="text" bind:value={name} + on:focus={(e) => { + e.target.select(); + }} on:blur={() => { nameUpdateHandler(); edit = false; @@ -427,7 +437,10 @@ > { - editHandler(); + // Requires a timeout to prevent the click event from closing the dropdown + setTimeout(() => { + editHandler(); + }, 200); }} on:delete={() => { showDeleteConfirm = true; diff --git a/src/lib/components/layout/Sidebar/SearchInput.svelte b/src/lib/components/layout/Sidebar/SearchInput.svelte index eddc5b069..6dca9a4eb 100644 --- a/src/lib/components/layout/Sidebar/SearchInput.svelte +++ b/src/lib/components/layout/Sidebar/SearchInput.svelte @@ -3,12 +3,14 @@ import { tags } from '$lib/stores'; import { getContext, createEventDispatcher, onMount, onDestroy, tick } from 'svelte'; import { fade } from 'svelte/transition'; + import XMark from '$lib/components/icons/XMark.svelte'; const dispatch = createEventDispatcher(); const i18n = getContext('i18n'); export let placeholder = ''; export let value = ''; + export let showClearButton = false; let selectedIdx = 0; @@ -59,6 +61,11 @@ loading = false; }; + const clearSearchInput = () => { + value = ''; + dispatch('input'); + }; + const documentClickHandler = (e) => { const searchContainer = document.getElementById('search-container'); const chatSearch = document.getElementById('chat-search'); @@ -98,7 +105,7 @@
{ @@ -140,6 +147,17 @@ } }} /> + + {#if showClearButton && value} +
+ +
+ {/if}
{#if focused && (filteredOptions.length > 0 || filteredTags.length > 0)} diff --git a/src/lib/components/workspace/Knowledge/KnowledgeBase.svelte b/src/lib/components/workspace/Knowledge/KnowledgeBase.svelte index 173d04a61..07ca0f1ed 100644 --- a/src/lib/components/workspace/Knowledge/KnowledgeBase.svelte +++ b/src/lib/components/workspace/Knowledge/KnowledgeBase.svelte @@ -9,7 +9,7 @@ import { goto } from '$app/navigation'; import { page } from '$app/stores'; - import { mobile, showSidebar, knowledge as _knowledge } from '$lib/stores'; + import { mobile, showSidebar, knowledge as _knowledge, config } from '$lib/stores'; import { updateFileDataContentById, uploadFile, deleteFileById } from '$lib/apis/files'; import { @@ -131,6 +131,22 @@ return null; } + if ( + ($config?.file?.max_size ?? null) !== null && + file.size > ($config?.file?.max_size ?? 0) * 1024 * 1024 + ) { + console.log('File exceeds max size limit:', { + fileSize: file.size, + maxSize: ($config?.file?.max_size ?? 0) * 1024 * 1024 + }); + toast.error( + $i18n.t(`File size should not exceed {{maxSize}} MB.`, { + maxSize: $config?.file?.max_size + }) + ); + return; + } + knowledge.files = [...(knowledge.files ?? []), fileItem]; try { @@ -681,7 +697,7 @@ href={selectedFile.id ? `/api/v1/files/${selectedFile.id}/content` : '#'} target="_blank" > - {selectedFile?.meta?.name} + {decodeURIComponent(selectedFile?.meta?.name)}
diff --git a/src/lib/components/workspace/Models/FiltersSelector.svelte b/src/lib/components/workspace/Models/FiltersSelector.svelte index 92f64c2cf..fa595d6f8 100644 --- a/src/lib/components/workspace/Models/FiltersSelector.svelte +++ b/src/lib/components/workspace/Models/FiltersSelector.svelte @@ -39,10 +39,17 @@
{ - _filters[filter].selected = e.detail === 'checked'; - selectedFilterIds = Object.keys(_filters).filter((t) => _filters[t].selected); + if (!_filters[filter].is_global) { + _filters[filter].selected = e.detail === 'checked'; + selectedFilterIds = Object.keys(_filters).filter((t) => _filters[t].selected); + } }} />
diff --git a/src/lib/components/workspace/common/AccessControl.svelte b/src/lib/components/workspace/common/AccessControl.svelte index d71b3279c..e4c6e3e48 100644 --- a/src/lib/components/workspace/common/AccessControl.svelte +++ b/src/lib/components/workspace/common/AccessControl.svelte @@ -113,8 +113,8 @@ } }} > - - + +
diff --git a/src/lib/i18n/locales/ar-BH/translation.json b/src/lib/i18n/locales/ar-BH/translation.json index 76befab8d..39665f802 100644 --- a/src/lib/i18n/locales/ar-BH/translation.json +++ b/src/lib/i18n/locales/ar-BH/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "", "(e.g. `sh webui.sh --api`)": "( `sh webui.sh --api`مثال)", "(latest)": "(الأخير)", + "(Ollama)": "", "{{ models }}": "{{ نماذج }}", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "", @@ -68,6 +69,8 @@ "Already have an account?": "هل تملك حساب ؟", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "", "an assistant": "مساعد", "Analyzed": "", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "الإفتراضي Prompt الاقتراحات", "Default to 389 or 636 if TLS is enabled": "", "Default to ALL": "", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "الإفتراضي صلاحيات المستخدم", "Delete": "حذف", "Delete a model": "حذف الموديل", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "", "Description": "وصف", "Didn't fully follow instructions": "لم أتبع التعليمات بشكل كامل", + "Direct": "", "Direct Connections": "", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", "Direct Connections settings updated": "", @@ -314,6 +319,8 @@ "Dive into knowledge": "", "Do not install functions from sources you do not fully trust.": "", "Do not install tools from sources you do not fully trust.": "", + "Docling": "", + "Docling Server URL required.": "", "Document": "المستند", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "أدخل Chunk الحجم", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "", @@ -471,6 +479,7 @@ "Export Prompts": "مطالبات التصدير", "Export to CSV": "", "Export Tools": "", + "External": "", "External Models": "", "Failed to add file.": "", "Failed to create API Key.": "فشل في إنشاء مفتاح API.", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "قم بتضمين علامة `-api` عند تشغيل Stable-diffusion-webui", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "معلومات", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "إدخال الأوامر", "Install from Github URL": "التثبيت من عنوان URL لجيثب", "Instant Auto-Send After Voice Transcription": "", @@ -806,6 +816,7 @@ "Presence Penalty": "", "Previous 30 days": "أخر 30 يوم", "Previous 7 days": "أخر 7 أيام", + "Private": "", "Profile Image": "صورة الملف الشخصي", "Prompt": "", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "موجه (على سبيل المثال: أخبرني بحقيقة ممتعة عن الإمبراطورية الرومانية)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "", "Prompts": "مطالبات", "Prompts Access": "", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "Ollama.com \"{{searchValue}}\" أسحب من ", "Pull a model from Ollama.com": "Ollama.com سحب الموديل من ", "Query Generation Prompt": "", @@ -979,6 +991,7 @@ "System": "النظام", "System Instructions": "", "System Prompt": "محادثة النظام", + "Tags": "", "Tags Generation": "", "Tags Generation Prompt": "", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1009,6 +1022,7 @@ "Theme": "الثيم", "Thinking...": "", "This action cannot be undone. Do you wish to continue?": "", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "وهذا يضمن حفظ محادثاتك القيمة بشكل آمن في قاعدة بياناتك الخلفية. شكرًا لك!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "", "variable": "المتغير", "variable to have them replaced with clipboard content.": "متغير لاستبدالها بمحتوى الحافظة.", + "Verify Connection": "", "Version": "إصدار", "Version {{selectedVersion}} of {{totalVersions}}": "", "View Replies": "", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "", "You cannot upload an empty file.": "", - "You do not have permission to access this feature.": "", "You do not have permission to upload files": "", "You do not have permission to upload files.": "", "You have no archived conversations.": "لا تملك محادثات محفوظه", diff --git a/src/lib/i18n/locales/bg-BG/translation.json b/src/lib/i18n/locales/bg-BG/translation.json index 58c8df7c7..d1a3ac354 100644 --- a/src/lib/i18n/locales/bg-BG/translation.json +++ b/src/lib/i18n/locales/bg-BG/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "(напр. `sh webui.sh --api --api-auth username_password`)", "(e.g. `sh webui.sh --api`)": "(напр. `sh webui.sh --api`)", "(latest)": "(последна)", + "(Ollama)": "", "{{ models }}": "{{ models }}", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "{{COUNT}} Отговори", @@ -68,6 +69,8 @@ "Already have an account?": "Вече имате акаунт?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "Винаги", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "Невероятно", "an assistant": "асистент", "Analyzed": "Анализирано", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "Промпт Предложения по подразбиране", "Default to 389 or 636 if TLS is enabled": "По подразбиране 389 или 636, ако TLS е активиран", "Default to ALL": "По подразбиране за ВСИЧКИ", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "Роля на потребителя по подразбиране", "Delete": "Изтриване", "Delete a model": "Изтриване на модел", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "Опишете вашата база от знания и цели", "Description": "Описание", "Didn't fully follow instructions": "Не следва напълно инструкциите", + "Direct": "", "Direct Connections": "Директни връзки", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "Директните връзки позволяват на потребителите да се свързват със собствени OpenAI съвместими API крайни точки.", "Direct Connections settings updated": "Настройките за директни връзки са актуализирани", @@ -314,6 +319,8 @@ "Dive into knowledge": "Потопете се в знанието", "Do not install functions from sources you do not fully trust.": "Не инсталирайте функции от източници, на които не се доверявате напълно.", "Do not install tools from sources you do not fully trust.": "Не инсталирайте инструменти от източници, на които не се доверявате напълно.", + "Docling": "", + "Docling Server URL required.": "", "Document": "Документ", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "Въведете размер на чънк", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "Въведете описание", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "Въведете домейни, разделени със запетаи (напр. example.com,site.org)", @@ -471,6 +479,7 @@ "Export Prompts": "Експортване на промптове", "Export to CSV": "Експортиране в CSV", "Export Tools": "Експортиране на инструменти", + "External": "", "External Models": "Външни модели", "Failed to add file.": "Неуспешно добавяне на файл.", "Failed to create API Key.": "Неуспешно създаване на API ключ.", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "Информация", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "Въведете команди", "Install from Github URL": "Инсталиране от URL адреса на Github", "Instant Auto-Send After Voice Transcription": "Незабавно автоматично изпращане след гласова транскрипция", @@ -806,6 +816,7 @@ "Presence Penalty": "Наказание за присъствие", "Previous 30 days": "Предишните 30 дни", "Previous 7 days": "Предишните 7 дни", + "Private": "", "Profile Image": "Профилна снимка", "Prompt": "Промпт", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Промпт (напр. Кажи ми забавен факт за Римската империя)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "Промптът е актуализиран успешно", "Prompts": "Промптове", "Prompts Access": "Достъп до промптове", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "Извади \"{{searchValue}}\" от Ollama.com", "Pull a model from Ollama.com": "Издърпайте модел от Ollama.com", "Query Generation Prompt": "Промпт за генериране на запитвания", @@ -979,6 +991,7 @@ "System": "Система", "System Instructions": "Системни инструкции", "System Prompt": "Системен Промпт", + "Tags": "", "Tags Generation": "Генериране на тагове", "Tags Generation Prompt": "Промпт за генериране на тагове", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1009,6 +1022,7 @@ "Theme": "Тема", "Thinking...": "Мисля...", "This action cannot be undone. Do you wish to continue?": "Това действие не може да бъде отменено. Желаете ли да продължите?", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Това гарантира, че ценните ви разговори се запазват сигурно във вашата бекенд база данни. Благодарим ви!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "Това е експериментална функция, може да не работи според очакванията и подлежи на промяна по всяко време.", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "Клапаните са актуализирани успешно", "variable": "променлива", "variable to have them replaced with clipboard content.": "променлива, за да бъдат заменени със съдържанието от клипборда.", + "Verify Connection": "", "Version": "Версия", "Version {{selectedVersion}} of {{totalVersions}}": "Версия {{selectedVersion}} от {{totalVersions}}", "View Replies": "Преглед на отговорите", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "Можете да чатите с максимум {{maxCount}} файл(а) наведнъж.", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Можете да персонализирате взаимодействията си с LLM-и, като добавите спомени чрез бутона 'Управление' по-долу, правейки ги по-полезни и съобразени с вас.", "You cannot upload an empty file.": "Не можете да качите празен файл.", - "You do not have permission to access this feature.": "Нямате разрешение за достъп до тази функция.", "You do not have permission to upload files": "Нямате разрешение да качвате файлове", "You do not have permission to upload files.": "Нямате разрешение да качвате файлове.", "You have no archived conversations.": "Нямате архивирани разговори.", diff --git a/src/lib/i18n/locales/bn-BD/translation.json b/src/lib/i18n/locales/bn-BD/translation.json index a887df62b..04339323d 100644 --- a/src/lib/i18n/locales/bn-BD/translation.json +++ b/src/lib/i18n/locales/bn-BD/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "", "(e.g. `sh webui.sh --api`)": "(যেমন `sh webui.sh --api`)", "(latest)": "(সর্বশেষ)", + "(Ollama)": "", "{{ models }}": "{{ মডেল}}", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "", @@ -68,6 +69,8 @@ "Already have an account?": "আগে থেকেই একাউন্ট আছে?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "", "an assistant": "একটা এসিস্ট্যান্ট", "Analyzed": "", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "ডিফল্ট প্রম্পট সাজেশন", "Default to 389 or 636 if TLS is enabled": "", "Default to ALL": "", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "ইউজারের ডিফল্ট পদবি", "Delete": "মুছে ফেলুন", "Delete a model": "একটি মডেল মুছে ফেলুন", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "", "Description": "বিবরণ", "Didn't fully follow instructions": "ইনস্ট্রাকশন সম্পূর্ণ অনুসরণ করা হয়নি", + "Direct": "", "Direct Connections": "", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", "Direct Connections settings updated": "", @@ -314,6 +319,8 @@ "Dive into knowledge": "", "Do not install functions from sources you do not fully trust.": "", "Do not install tools from sources you do not fully trust.": "", + "Docling": "", + "Docling Server URL required.": "", "Document": "ডকুমেন্ট", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "চাংক সাইজ লিখুন", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "", @@ -471,6 +479,7 @@ "Export Prompts": "প্রম্পটগুলো একপোর্ট করুন", "Export to CSV": "", "Export Tools": "", + "External": "", "External Models": "", "Failed to add file.": "", "Failed to create API Key.": "API Key তৈরি করা যায়নি।", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "stable-diffusion-webui চালু করার সময় `--api` ফ্ল্যাগ সংযুক্ত করুন", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "তথ্য", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "ইনপুট কমান্ডস", "Install from Github URL": "Github URL থেকে ইনস্টল করুন", "Instant Auto-Send After Voice Transcription": "", @@ -806,6 +816,7 @@ "Presence Penalty": "", "Previous 30 days": "পূর্ব ৩০ দিন", "Previous 7 days": "পূর্ব ৭ দিন", + "Private": "", "Profile Image": "প্রোফাইল ইমেজ", "Prompt": "", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "প্রম্প্ট (উদাহরণস্বরূপ, আমি রোমান ইমপার্টের সম্পর্কে একটি উপস্থিতি জানতে বল)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "", "Prompts": "প্রম্পটসমূহ", "Prompts Access": "", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "Ollama.com থেকে \"{{searchValue}}\" টানুন", "Pull a model from Ollama.com": "Ollama.com থেকে একটি টেনে আনুন আনুন", "Query Generation Prompt": "", @@ -979,6 +991,7 @@ "System": "সিস্টেম", "System Instructions": "", "System Prompt": "সিস্টেম প্রম্পট", + "Tags": "", "Tags Generation": "", "Tags Generation Prompt": "", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1009,6 +1022,7 @@ "Theme": "থিম", "Thinking...": "", "This action cannot be undone. Do you wish to continue?": "", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "এটা নিশ্চিত করে যে, আপনার গুরুত্বপূর্ণ আলোচনা নিরাপদে আপনার ব্যাকএন্ড ডেটাবেজে সংরক্ষিত আছে। ধন্যবাদ!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "", "variable": "ভেরিয়েবল", "variable to have them replaced with clipboard content.": "ক্লিপবোর্ডের কন্টেন্ট দিয়ে যেই ভেরিয়েবল রিপ্লেস করা যাবে।", + "Verify Connection": "", "Version": "ভার্সন", "Version {{selectedVersion}} of {{totalVersions}}": "", "View Replies": "", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "", "You cannot upload an empty file.": "", - "You do not have permission to access this feature.": "", "You do not have permission to upload files": "", "You do not have permission to upload files.": "", "You have no archived conversations.": "আপনার কোনও আর্কাইভ করা কথোপকথন নেই।", diff --git a/src/lib/i18n/locales/ca-ES/translation.json b/src/lib/i18n/locales/ca-ES/translation.json index b4c6d4e5e..ea63ff1cc 100644 --- a/src/lib/i18n/locales/ca-ES/translation.json +++ b/src/lib/i18n/locales/ca-ES/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "(p. ex. `sh webui.sh --api --api-auth username_password`)", "(e.g. `sh webui.sh --api`)": "(p. ex. `sh webui.sh --api`)", "(latest)": "(últim)", + "(Ollama)": "", "{{ models }}": "{{ models }}", "{{COUNT}} hidden lines": "{{COUNT}} línies ocultes", "{{COUNT}} Replies": "{{COUNT}} respostes", @@ -68,6 +69,8 @@ "Already have an account?": "Ja tens un compte?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "Alternativa al top_p, i pretén garantir un equilibri de qualitat i varietat. El paràmetre p representa la probabilitat mínima que es consideri un token, en relació amb la probabilitat del token més probable. Per exemple, amb p=0,05 i el token més probable amb una probabilitat de 0,9, es filtren els logits amb un valor inferior a 0,045.", "Always": "Sempre", + "Always Collapse Code Blocks": "Reduir sempre els blocs de codi", + "Always Expand Details": "Expandir sempre els detalls", "Amazing": "Al·lucinant", "an assistant": "un assistent", "Analyzed": "Analitzat", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "Suggeriments d'indicació per defecte", "Default to 389 or 636 if TLS is enabled": "Per defecte 389 o 636 si TLS està habilitat", "Default to ALL": "Per defecte TOTS", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "Per defecte, Segmented Retrieval per a l'extracció de contingut rellevant, es recomana en la majoria dels casos.", "Default User Role": "Rol d'usuari per defecte", "Delete": "Eliminar", "Delete a model": "Eliminar un model", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "Descriu la teva base de coneixement i objectius", "Description": "Descripció", "Didn't fully follow instructions": "No s'han seguit les instruccions completament", + "Direct": "Directe", "Direct Connections": "Connexions directes", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "Les connexions directes permeten als usuaris connectar-se als seus propis endpoints d'API compatibles amb OpenAI.", "Direct Connections settings updated": "Configuració de les connexions directes actualitzada", @@ -314,6 +319,8 @@ "Dive into knowledge": "Aprofundir en el coneixement", "Do not install functions from sources you do not fully trust.": "No instal·lis funcions de fonts en què no confiïs plenament.", "Do not install tools from sources you do not fully trust.": "No instal·lis eines de fonts en què no confiïs plenament.", + "Docling": "Docling", + "Docling Server URL required.": "La URL del servidor Docling és necessària", "Document": "Document", "Document Intelligence": "Document Intelligence", "Document Intelligence endpoint and key required.": "Fa falta un punt de connexió i una clau per a Document Intelligence.", @@ -359,7 +366,7 @@ "Embedding model set to \"{{embedding_model}}\"": "Model d'incrustació configurat a \"{{embedding_model}}\"", "Enable API Key": "Activar la Clau API", "Enable autocomplete generation for chat messages": "Activar la generació automàtica per als missatges del xat", - "Enable Code Execution": "", + "Enable Code Execution": "Permetre l'execució de codi", "Enable Code Interpreter": "Activar l'intèrpret de codi", "Enable Community Sharing": "Activar l'ús compartit amb la comunitat", "Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "Activar el bloqueig de memòria (mlock) per evitar que les dades del model s'intercanviïn fora de la memòria RAM. Aquesta opció bloqueja el conjunt de pàgines de treball del model a la memòria RAM, assegurant-se que no s'intercanviaran al disc. Això pot ajudar a mantenir el rendiment evitant errors de pàgina i garantint un accés ràpid a les dades.", @@ -384,6 +391,7 @@ "Enter Chunk Size": "Introdueix la mida del bloc", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "Introdueix parelles de \"token:valor de biaix\" separats per comes (exemple: 5432:100, 413:-100)", "Enter description": "Introdueix la descripció", + "Enter Docling Server URL": "Introdueix la URL del servidor Docling", "Enter Document Intelligence Endpoint": "Introdueix el punt de connexió de Document Intelligence", "Enter Document Intelligence Key": "Introdueix la clau de Document Intelligence", "Enter domains separated by commas (e.g., example.com,site.org)": "Introdueix els dominis separats per comes (p. ex. example.com,site.org)", @@ -471,6 +479,7 @@ "Export Prompts": "Exportar les indicacions", "Export to CSV": "Exportar a CSV", "Export Tools": "Exportar les eines", + "External": "Extern", "External Models": "Models externs", "Failed to add file.": "No s'ha pogut afegir l'arxiu.", "Failed to create API Key.": "No s'ha pogut crear la clau API.", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "Inclou `--api` quan executis stable-diffusion-webui", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "Influeix amb la rapidesa amb què l'algoritme respon als comentaris del text generat. Una taxa d'aprenentatge més baixa donarà lloc a ajustos més lents, mentre que una taxa d'aprenentatge més alta farà que l'algorisme sigui més sensible.", "Info": "Informació", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "Injectar tot el contingut com a context per a un processament complet, això es recomana per a consultes complexes.", "Input commands": "Entra comandes", "Install from Github URL": "Instal·lar des de l'URL de Github", "Instant Auto-Send After Voice Transcription": "Enviament automàtic després de la transcripció de veu", @@ -806,6 +816,7 @@ "Presence Penalty": "Penalització de presència", "Previous 30 days": "30 dies anteriors", "Previous 7 days": "7 dies anteriors", + "Private": "Privat", "Profile Image": "Imatge de perfil", "Prompt": "Indicació", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Indicació (p.ex. Digues-me quelcom divertit sobre l'Imperi Romà)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "Indicació actualitzada correctament", "Prompts": "Indicacions", "Prompts Access": "Accés a les indicacions", + "Public": "Públic", "Pull \"{{searchValue}}\" from Ollama.com": "Obtenir \"{{searchValue}}\" de Ollama.com", "Pull a model from Ollama.com": "Obtenir un model d'Ollama.com", "Query Generation Prompt": "Indicació per a generació de consulta", @@ -979,6 +991,7 @@ "System": "Sistema", "System Instructions": "Instruccions de sistema", "System Prompt": "Indicació del Sistema", + "Tags": "Etiquetes", "Tags Generation": "Generació d'etiquetes", "Tags Generation Prompt": "Indicació per a la generació d'etiquetes", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "El mostreig sense cua s'utilitza per reduir l'impacte de tokens menys probables de la sortida. Un valor més alt (p. ex., 2,0) reduirà més l'impacte, mentre que un valor d'1,0 desactiva aquesta configuració.", @@ -1009,6 +1022,7 @@ "Theme": "Tema", "Thinking...": "Pensant...", "This action cannot be undone. Do you wish to continue?": "Aquesta acció no es pot desfer. Vols continuar?", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "Aquest canal es va crear el dia {{createdAt}}. Aquest és el començament del canal {{channelName}}.", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Això assegura que les teves converses valuoses queden desades de manera segura a la teva base de dades. Gràcies!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "Aquesta és una funció experimental, és possible que no funcioni com s'espera i està subjecta a canvis en qualsevol moment.", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "Aquesta opció controla quants tokens es conserven en actualitzar el context. Per exemple, si s'estableix en 2, es conservaran els darrers 2 tokens del context de conversa. Preservar el context pot ajudar a mantenir la continuïtat d'una conversa, però pot reduir la capacitat de respondre a nous temes.", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "Valves actualitat correctament", "variable": "variable", "variable to have them replaced with clipboard content.": "variable per tenir-les reemplaçades amb el contingut del porta-retalls.", + "Verify Connection": "Verificar la connexió", "Version": "Versió", "Version {{selectedVersion}} of {{totalVersions}}": "Versió {{selectedVersion}} de {{totalVersions}}", "View Replies": "Veure les respostes", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "Només pots xatejar amb un màxim de {{maxCount}} fitxers alhora.", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Pots personalitzar les teves interaccions amb els models de llenguatge afegint memòries mitjançant el botó 'Gestiona' que hi ha a continuació, fent-les més útils i adaptades a tu.", "You cannot upload an empty file.": "No es pot pujar un ariux buit.", - "You do not have permission to access this feature.": "No tens permís per accedir a aquesta funcionalitat", "You do not have permission to upload files": "No tens permisos per pujar arxius", "You do not have permission to upload files.": "No tens permisos per pujar arxius.", "You have no archived conversations.": "No tens converses arxivades.", diff --git a/src/lib/i18n/locales/ceb-PH/translation.json b/src/lib/i18n/locales/ceb-PH/translation.json index 95e65eab6..ed6d68a3e 100644 --- a/src/lib/i18n/locales/ceb-PH/translation.json +++ b/src/lib/i18n/locales/ceb-PH/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "", "(e.g. `sh webui.sh --api`)": "(pananglitan `sh webui.sh --api`)", "(latest)": "", + "(Ollama)": "", "{{ models }}": "", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "", @@ -68,6 +69,8 @@ "Already have an account?": "Naa na kay account ?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "", "an assistant": "usa ka katabang", "Analyzed": "", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "Default nga prompt nga mga sugyot", "Default to 389 or 636 if TLS is enabled": "", "Default to ALL": "", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "Default nga Papel sa Gumagamit", "Delete": "", "Delete a model": "Pagtangtang sa usa ka template", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "", "Description": "Deskripsyon", "Didn't fully follow instructions": "", + "Direct": "", "Direct Connections": "", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", "Direct Connections settings updated": "", @@ -314,6 +319,8 @@ "Dive into knowledge": "", "Do not install functions from sources you do not fully trust.": "", "Do not install tools from sources you do not fully trust.": "", + "Docling": "", + "Docling Server URL required.": "", "Document": "Dokumento", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "Isulod ang block size", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "", @@ -471,6 +479,7 @@ "Export Prompts": "Export prompts", "Export to CSV": "", "Export Tools": "", + "External": "", "External Models": "", "Failed to add file.": "", "Failed to create API Key.": "", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "Iapil ang `--api` nga bandila kung nagdagan nga stable-diffusion-webui", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "Pagsulod sa input commands", "Install from Github URL": "", "Instant Auto-Send After Voice Transcription": "", @@ -806,6 +816,7 @@ "Presence Penalty": "", "Previous 30 days": "", "Previous 7 days": "", + "Private": "", "Profile Image": "", "Prompt": "", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "", @@ -815,6 +826,7 @@ "Prompt updated successfully": "", "Prompts": "Mga aghat", "Prompts Access": "", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "", "Pull a model from Ollama.com": "Pagkuha ug template gikan sa Ollama.com", "Query Generation Prompt": "", @@ -979,6 +991,7 @@ "System": "Sistema", "System Instructions": "", "System Prompt": "Madasig nga Sistema", + "Tags": "", "Tags Generation": "", "Tags Generation Prompt": "", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1009,6 +1022,7 @@ "Theme": "Tema", "Thinking...": "", "This action cannot be undone. Do you wish to continue?": "", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Kini nagsiguro nga ang imong bililhon nga mga panag-istoryahanay luwas nga natipig sa imong backend database. ", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "", "variable": "variable", "variable to have them replaced with clipboard content.": "variable aron pulihan kini sa mga sulud sa clipboard.", + "Verify Connection": "", "Version": "Bersyon", "Version {{selectedVersion}} of {{totalVersions}}": "", "View Replies": "", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "", "You cannot upload an empty file.": "", - "You do not have permission to access this feature.": "", "You do not have permission to upload files": "", "You do not have permission to upload files.": "", "You have no archived conversations.": "", diff --git a/src/lib/i18n/locales/cs-CZ/translation.json b/src/lib/i18n/locales/cs-CZ/translation.json index 7839d00ab..525e274e5 100644 --- a/src/lib/i18n/locales/cs-CZ/translation.json +++ b/src/lib/i18n/locales/cs-CZ/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "(např. `sh webui.sh --api --api-auth username_password`)", "(e.g. `sh webui.sh --api`)": "(např. `sh webui.sh --api`)", "(latest)": "Nejnovější", + "(Ollama)": "", "{{ models }}": "{{ models }}", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "", @@ -68,6 +69,8 @@ "Already have an account?": "Už máte účet?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "", "an assistant": "asistent", "Analyzed": "", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "Výchozí návrhy promptů", "Default to 389 or 636 if TLS is enabled": "", "Default to ALL": "", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "Výchozí uživatelská role", "Delete": "Smazat", "Delete a model": "Odstranit model.", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "", "Description": "Popis", "Didn't fully follow instructions": "Nenásledovali jste přesně všechny instrukce.", + "Direct": "", "Direct Connections": "", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", "Direct Connections settings updated": "", @@ -314,6 +319,8 @@ "Dive into knowledge": "", "Do not install functions from sources you do not fully trust.": "Neinstalujte funkce ze zdrojů, kterým plně nedůvěřujete.", "Do not install tools from sources you do not fully trust.": "Neinstalujte nástroje ze zdrojů, kterým plně nedůvěřujete.", + "Docling": "", + "Docling Server URL required.": "", "Document": "Dokument", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "Zadejte velikost bloku", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "Zadejte popis", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "", @@ -471,6 +479,7 @@ "Export Prompts": "Exportovat prompty", "Export to CSV": "", "Export Tools": "Exportní nástroje", + "External": "", "External Models": "Externí modely", "Failed to add file.": "Nepodařilo se přidat soubor.", "Failed to create API Key.": "Nepodařilo se vytvořit API klíč.", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "Při spuštění stable-diffusion-webui zahrňte příznak `--api`.", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "Info", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "Vstupní příkazy", "Install from Github URL": "Instalace z URL adresy Githubu", "Instant Auto-Send After Voice Transcription": "Okamžité automatické odeslání po přepisu hlasu", @@ -806,6 +816,7 @@ "Presence Penalty": "", "Previous 30 days": "Předchozích 30 dnů", "Previous 7 days": "Předchozích 7 dní", + "Private": "", "Profile Image": "Profilový obrázek", "Prompt": "", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Prompt (např. Řekni mi zábavný fakt o Římské říši)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "", "Prompts": "Prompty", "Prompts Access": "", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "Stáhněte \"{{searchValue}}\" z Ollama.com", "Pull a model from Ollama.com": "Stáhněte model z Ollama.com", "Query Generation Prompt": "", @@ -979,6 +991,7 @@ "System": "System", "System Instructions": "", "System Prompt": "Systémový prompt", + "Tags": "", "Tags Generation": "", "Tags Generation Prompt": "Prompt pro generování značek", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1009,6 +1022,7 @@ "Theme": "Téma", "Thinking...": "Přemýšlím...", "This action cannot be undone. Do you wish to continue?": "Tuto akci nelze vrátit zpět. Přejete si pokračovat?", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "To zajišťuje, že vaše cenné konverzace jsou bezpečně uloženy ve vaší backendové databázi. Děkujeme!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "Jedná se o experimentální funkci, nemusí fungovat podle očekávání a může být kdykoliv změněna.", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "Ventily byly úspěšně aktualizovány.", "variable": "proměnná", "variable to have them replaced with clipboard content.": "proměnnou, aby byl jejich obsah nahrazen obsahem schránky.", + "Verify Connection": "", "Version": "Verze", "Version {{selectedVersion}} of {{totalVersions}}": "Verze {{selectedVersion}} z {{totalVersions}}", "View Replies": "", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "Můžete komunikovat pouze s maximálně {{maxCount}} soubor(y) najednou.", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Můžete personalizovat své interakce s LLM pomocí přidávání vzpomínek prostřednictvím tlačítka 'Spravovat' níže, což je učiní pro vás užitečnějšími a lépe přizpůsobenými.", "You cannot upload an empty file.": "Nemůžete nahrát prázdný soubor.", - "You do not have permission to access this feature.": "", "You do not have permission to upload files": "", "You do not have permission to upload files.": "", "You have no archived conversations.": "Nemáte žádné archivované konverzace.", diff --git a/src/lib/i18n/locales/da-DK/translation.json b/src/lib/i18n/locales/da-DK/translation.json index c5cff11eb..104f5ae5b 100644 --- a/src/lib/i18n/locales/da-DK/translation.json +++ b/src/lib/i18n/locales/da-DK/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "(f.eks. `sh webui.sh --api --api-auth username_password`)", "(e.g. `sh webui.sh --api`)": "(f.eks. `sh webui.sh --api`)", "(latest)": "(seneste)", + "(Ollama)": "", "{{ models }}": "{{ modeller }}", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "", @@ -68,6 +69,8 @@ "Already have an account?": "Har du allerede en profil?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "", "an assistant": "en assistent", "Analyzed": "", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "Standardforslag til prompt", "Default to 389 or 636 if TLS is enabled": "", "Default to ALL": "", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "Brugers rolle som standard", "Delete": "Slet", "Delete a model": "Slet en model", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "", "Description": "Beskrivelse", "Didn't fully follow instructions": "Fulgte ikke instruktioner", + "Direct": "", "Direct Connections": "", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", "Direct Connections settings updated": "", @@ -314,6 +319,8 @@ "Dive into knowledge": "", "Do not install functions from sources you do not fully trust.": "Lad være med at installere funktioner fra kilder, som du ikke stoler på.", "Do not install tools from sources you do not fully trust.": "Lad være med at installere værktøjer fra kilder, som du ikke stoler på.", + "Docling": "", + "Docling Server URL required.": "", "Document": "Dokument", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "Indtast størrelse af tekststykker", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "", @@ -471,6 +479,7 @@ "Export Prompts": "Eksportér prompts", "Export to CSV": "", "Export Tools": "Eksportér værktøjer", + "External": "", "External Models": "Eksterne modeller", "Failed to add file.": "", "Failed to create API Key.": "Kunne ikke oprette API-nøgle.", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "Inkluder `--api` flag, når du kører stable-diffusion-webui", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "Info", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "Inputkommandoer", "Install from Github URL": "Installer fra Github URL", "Instant Auto-Send After Voice Transcription": "Øjeblikkelig automatisk afsendelse efter stemmetransskription", @@ -806,6 +816,7 @@ "Presence Penalty": "", "Previous 30 days": "Seneste 30 dage", "Previous 7 days": "Seneste 7 dage", + "Private": "", "Profile Image": "Profilbillede", "Prompt": "", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Prompt (f.eks. Fortæl mig en sjov kendsgerning om Romerriget)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "", "Prompts": "Prompts", "Prompts Access": "", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "Hent \"{{searchValue}}\" fra Ollama.com", "Pull a model from Ollama.com": "Hent en model fra Ollama.com", "Query Generation Prompt": "", @@ -979,6 +991,7 @@ "System": "System", "System Instructions": "", "System Prompt": "Systemprompt", + "Tags": "", "Tags Generation": "", "Tags Generation Prompt": "", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1009,6 +1022,7 @@ "Theme": "Tema", "Thinking...": "Tænker...", "This action cannot be undone. Do you wish to continue?": "Denne handling kan ikke fortrydes. Vil du fortsætte?", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Dette sikrer, at dine værdifulde samtaler gemmes sikkert i din backend-database. Tak!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "Dette er en eksperimentel funktion, den fungerer muligvis ikke som forventet og kan ændres når som helst.", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "Ventiler opdateret.", "variable": "variabel", "variable to have them replaced with clipboard content.": "variabel for at få dem erstattet med indholdet af udklipsholderen.", + "Verify Connection": "", "Version": "Version", "Version {{selectedVersion}} of {{totalVersions}}": "Version {{selectedVersion}} af {{totalVersions}}", "View Replies": "", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "Du kan kun chatte med maksimalt {{maxCount}} fil(er) ad gangen.", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Du kan personliggøre dine interaktioner med LLM'er ved at tilføje minder via knappen 'Administrer' nedenfor, hvilket gør dem mere nyttige og skræddersyet til dig.", "You cannot upload an empty file.": "", - "You do not have permission to access this feature.": "", "You do not have permission to upload files": "", "You do not have permission to upload files.": "", "You have no archived conversations.": "Du har ingen arkiverede samtaler.", diff --git a/src/lib/i18n/locales/de-DE/translation.json b/src/lib/i18n/locales/de-DE/translation.json index 15abaa70b..172bc6b8f 100644 --- a/src/lib/i18n/locales/de-DE/translation.json +++ b/src/lib/i18n/locales/de-DE/translation.json @@ -4,14 +4,15 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "(z. B. `sh webui.sh --api --api-auth username_password`)", "(e.g. `sh webui.sh --api`)": "(z. B. `sh webui.sh --api`)", "(latest)": "(neueste)", + "(Ollama)": "", "{{ models }}": "{{ Modelle }}", - "{{COUNT}} hidden lines": "", + "{{COUNT}} hidden lines": "{{COUNT}} versteckte Zeilen", "{{COUNT}} Replies": "{{COUNT}} Antworten", - "{{user}}'s Chats": "{{user}}s Unterhaltungen", + "{{user}}'s Chats": "{{user}}s Chats", "{{webUIName}} Backend Required": "{{webUIName}}-Backend erforderlich", "*Prompt node ID(s) are required for image generation": "*Prompt-Node-ID(s) sind für die Bildgenerierung erforderlich", "A new version (v{{LATEST_VERSION}}) is now available.": "Eine neue Version (v{{LATEST_VERSION}}) ist jetzt verfügbar.", - "A task model is used when performing tasks such as generating titles for chats and web search queries": "Aufgabenmodelle können Unterhaltungstitel oder Websuchanfragen generieren.", + "A task model is used when performing tasks such as generating titles for chats and web search queries": "Aufgabenmodelle können Chat-Titel oder Websuchanfragen generieren.", "a user": "ein Benutzer", "About": "Über", "Accept autocomplete generation / Jump to prompt variable": "Automatische Vervollständigung akzeptieren / Zur Prompt-Variable springen", @@ -47,27 +48,29 @@ "Adjusting these settings will apply changes universally to all users.": "Das Anpassen dieser Einstellungen wird Änderungen universell auf alle Benutzer anwenden.", "admin": "Administrator", "Admin": "Administrator", - "Admin Panel": "Administrationsbereich", - "Admin Settings": "Administrationsbereich", + "Admin Panel": "Administration", + "Admin Settings": "Administration", "Admins have access to all tools at all times; users need tools assigned per model in the workspace.": "Administratoren haben jederzeit Zugriff auf alle Werkzeuge. Benutzer können im Arbeitsbereich zugewiesen.", "Advanced Parameters": "Erweiterte Parameter", "Advanced Params": "Erweiterte Parameter", - "All": "", + "All": "Alle", "All Documents": "Alle Dokumente", "All models deleted successfully": "Alle Modelle erfolgreich gelöscht", "Allow Chat Controls": "Chat-Steuerung erlauben", - "Allow Chat Delete": "Löschen von Unterhaltungen erlauben", - "Allow Chat Deletion": "Löschen von Unterhaltungen erlauben", - "Allow Chat Edit": "Bearbeiten von Unterhaltungen erlauben", + "Allow Chat Delete": "Löschen von Chats erlauben", + "Allow Chat Deletion": "Löschen von Chats erlauben", + "Allow Chat Edit": "Bearbeiten von Chats erlauben", "Allow File Upload": "Hochladen von Dateien erlauben", "Allow non-local voices": "Nicht-lokale Stimmen erlauben", - "Allow Temporary Chat": "Temporäre Unterhaltungen erlauben", + "Allow Temporary Chat": "Temporäre Chats erlauben", "Allow User Location": "Standort freigeben", "Allow Voice Interruption in Call": "Unterbrechung durch Stimme im Anruf zulassen", "Allowed Endpoints": "Erlaubte Endpunkte", "Already have an account?": "Haben Sie bereits einen Account?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "Immer", + "Always Collapse Code Blocks": "Code-Blöcke immer zuklappen", + "Always Expand Details": "Details immer aufklappen", "Amazing": "Fantastisch", "an assistant": "ein Assistent", "Analyzed": "Analysiert", @@ -85,17 +88,17 @@ "applies to all users with the \"user\" role": "gilt für alle Benutzer mit der Rolle \"Benutzer\"", "April": "April", "Archive": "Archivieren", - "Archive All Chats": "Alle Unterhaltungen archivieren", - "Archived Chats": "Archivierte Unterhaltungen", + "Archive All Chats": "Alle Chats archivieren", + "Archived Chats": "Archivierte Chats", "archived-chat-export": "archivierter-chat-export", "Are you sure you want to clear all memories? This action cannot be undone.": "Sind Sie sicher, dass Sie alle Erinnerungen löschen möchten? Diese Handlung kann nicht rückgängig gemacht werden.", "Are you sure you want to delete this channel?": "Sind Sie sicher, dass Sie diesen Kanal löschen möchten?", "Are you sure you want to delete this message?": "Sind Sie sicher, dass Sie diese Nachricht löschen möchten?", - "Are you sure you want to unarchive all archived chats?": "Sind Sie sicher, dass Sie alle archivierten Unterhaltungen wiederherstellen möchten?", + "Are you sure you want to unarchive all archived chats?": "Sind Sie sicher, dass Sie alle archivierten Chats wiederherstellen möchten?", "Are you sure?": "Sind Sie sicher?", "Arena Models": "Arena-Modelle", "Artifacts": "Artefakte", - "Ask": "", + "Ask": "Fragen", "Ask a question": "Stellen Sie eine Frage", "Assistant": "Assistent", "Attach file from knowledge": "Datei aus Wissensspeicher anhängen", @@ -150,14 +153,14 @@ "Character limit for autocomplete generation input": "Zeichenlimit für die Eingabe der automatischen Vervollständigung", "Chart new frontiers": "Neue Wege beschreiten", "Chat": "Gespräch", - "Chat Background Image": "Hintergrundbild des Unterhaltungsfensters", - "Chat Bubble UI": "Chat Bubble UI", + "Chat Background Image": "Hintergrundbild des Chat-Fensters", + "Chat Bubble UI": "Sprechblasen-Layout", "Chat Controls": "Chat-Steuerung", "Chat direction": "Textrichtung", - "Chat Overview": "Unterhaltungsübersicht", - "Chat Permissions": "Unterhaltungsberechtigungen", - "Chat Tags Auto-Generation": "Automatische Generierung von Unterhaltungstags", - "Chats": "Unterhaltungen", + "Chat Overview": "Chat-Übersicht", + "Chat Permissions": "Chat-Berechtigungen", + "Chat Tags Auto-Generation": "Automatische Generierung von Chat-Tags", + "Chats": "Chats", "Check Again": "Erneut überprüfen", "Check for updates": "Nach Updates suchen", "Checking for updates...": "Sucht nach Updates...", @@ -167,7 +170,7 @@ "Ciphers": "Verschlüsselungen", "Citation": "Zitate", "Clear memory": "Alle Erinnerungen entfernen", - "Clear Memory": "", + "Clear Memory": "Alle Erinnerungen entfernen", "click here": "hier klicken", "Click here for filter guides.": "Klicken Sie hier für Filteranleitungen.", "Click here for help.": "Klicken Sie hier für Hilfe.", @@ -189,12 +192,12 @@ "Code execution": "Codeausführung", "Code Execution": "Codeausführung", "Code Execution Engine": "", - "Code Execution Timeout": "", + "Code Execution Timeout": "Timeout für Codeausführung", "Code formatted successfully": "Code erfolgreich formatiert", "Code Interpreter": "Code-Interpreter", "Code Interpreter Engine": "", "Code Interpreter Prompt Template": "", - "Collapse": "", + "Collapse": "Zuklappen", "Collection": "Kollektion", "Color": "Farbe", "ComfyUI": "ComfyUI", @@ -250,7 +253,7 @@ "Created At": "Erstellt am", "Created by": "Erstellt von", "CSV Import": "CSV-Import", - "Ctrl+Enter to Send": "", + "Ctrl+Enter to Send": "Strg+Enter zum Senden", "Current Model": "Aktuelles Modell", "Current Password": "Aktuelles Passwort", "Custom": "Benutzerdefiniert", @@ -270,18 +273,19 @@ "Default Prompt Suggestions": "Prompt-Vorschläge", "Default to 389 or 636 if TLS is enabled": "Standardmäßig auf 389 oder 636 setzen, wenn TLS aktiviert ist", "Default to ALL": "Standardmäßig auf ALLE setzen", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "Standardbenutzerrolle", "Delete": "Löschen", "Delete a model": "Ein Modell löschen", - "Delete All Chats": "Alle Unterhaltungen löschen", + "Delete All Chats": "Alle Chats löschen", "Delete All Models": "Alle Modelle löschen", - "Delete chat": "Unterhaltung löschen", - "Delete Chat": "Unterhaltung löschen", - "Delete chat?": "Unterhaltung löschen?", + "Delete chat": "Chat löschen", + "Delete Chat": "Chat löschen", + "Delete chat?": "Chat löschen?", "Delete folder?": "Ordner löschen?", "Delete function?": "Funktion löschen?", "Delete Message": "Nachricht löschen", - "Delete message?": "", + "Delete message?": "Nachricht löschen?", "Delete prompt?": "Prompt löschen?", "delete this link": "diesen Link löschen", "Delete tool?": "Werkzeug löschen?", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "Beschreibe deinen Wissensspeicher und deine Ziele", "Description": "Beschreibung", "Didn't fully follow instructions": "Nicht genau den Answeisungen gefolgt", + "Direct": "Direkt", "Direct Connections": "Direktverbindungen", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "Direktverbindungen ermöglichen es Benutzern, sich mit ihren eigenen OpenAI-kompatiblen API-Endpunkten zu verbinden.", "Direct Connections settings updated": "Direktverbindungs-Einstellungen aktualisiert", @@ -300,7 +305,7 @@ "Discover a model": "Entdecken Sie weitere Modelle", "Discover a prompt": "Entdecken Sie weitere Prompts", "Discover a tool": "Entdecken Sie weitere Werkzeuge", - "Discover how to use Open WebUI and seek support from the community.": "", + "Discover how to use Open WebUI and seek support from the community.": "Entdecke, wie Sie Open WebUI nutzen und erhalten Sie Unterstützung von der Community.", "Discover wonders": "Entdecken Sie Wunder", "Discover, download, and explore custom functions": "Entdecken und beziehen Sie benutzerdefinierte Funktionen", "Discover, download, and explore custom prompts": "Entdecken und beziehen Sie benutzerdefinierte Prompts", @@ -314,13 +319,15 @@ "Dive into knowledge": "Tauchen Sie in das Wissen ein", "Do not install functions from sources you do not fully trust.": "Installieren Sie keine Funktionen aus Quellen, denen Sie nicht vollständig vertrauen.", "Do not install tools from sources you do not fully trust.": "Installieren Sie keine Werkzeuge aus Quellen, denen Sie nicht vollständig vertrauen.", + "Docling": "", + "Docling Server URL required.": "", "Document": "Dokument", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", "Documentation": "Dokumentation", "Documents": "Dokumente", "does not make any external connections, and your data stays securely on your locally hosted server.": "stellt keine externen Verbindungen her, und Ihre Daten bleiben sicher auf Ihrem lokal gehosteten Server.", - "Domain Filter List": "", + "Domain Filter List": "Domain Filter-Liste", "Don't have an account?": "Haben Sie noch kein Benutzerkonto?", "don't install random functions from sources you don't trust.": "installieren Sie keine Funktionen aus Quellen, denen Sie nicht vertrauen.", "don't install random tools from sources you don't trust.": "installieren Sie keine Werkzeuge aus Quellen, denen Sie nicht vertrauen.", @@ -332,7 +339,7 @@ "Download Database": "Datenbank exportieren", "Drag and drop a file to upload or select a file to view": "Ziehen Sie eine Datei zum Hochladen oder wählen Sie eine Datei zum Anzeigen aus", "Draw": "Zeichnen", - "Drop any files here to add to the conversation": "Ziehen Sie beliebige Dateien hierher, um sie der Unterhaltung hinzuzufügen", + "Drop any files here to add to the conversation": "Ziehen Sie beliebige Dateien hierher, um sie dem Chat hinzuzufügen", "e.g. '30s','10m'. Valid time units are 's', 'm', 'h'.": "z. B. '30s','10m'. Gültige Zeiteinheiten sind 's', 'm', 'h'.", "e.g. 60": "z. B. 60", "e.g. A filter to remove profanity from text": "z. B. Ein Filter, um Schimpfwörter aus Text zu entfernen", @@ -359,8 +366,8 @@ "Embedding model set to \"{{embedding_model}}\"": "Embedding-Modell auf \"{{embedding_model}}\" gesetzt", "Enable API Key": "API-Schlüssel aktivieren", "Enable autocomplete generation for chat messages": "Automatische Vervollständigung für Chat-Nachrichten aktivieren", - "Enable Code Execution": "", - "Enable Code Interpreter": "", + "Enable Code Execution": "Codeausführung aktivieren", + "Enable Code Interpreter": "Code-Interpreter aktivieren", "Enable Community Sharing": "Community-Freigabe aktivieren", "Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "Aktiviere Memory Locking (mlock), um zu verhindern, dass Modelldaten aus dem RAM ausgelagert werden. Diese Option sperrt die Arbeitsseiten des Modells im RAM, um sicherzustellen, dass sie nicht auf die Festplatte ausgelagert werden. Dies kann die Leistung verbessern, indem Page Faults vermieden und ein schneller Datenzugriff sichergestellt werden.", "Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "Aktiviere Memory Mapping (mmap), um Modelldaten zu laden. Diese Option ermöglicht es dem System, den Festplattenspeicher als Erweiterung des RAM zu verwenden, indem Festplattendateien so behandelt werden, als ob sie im RAM wären. Dies kann die Modellleistung verbessern, indem ein schnellerer Datenzugriff ermöglicht wird. Es kann jedoch nicht auf allen Systemen korrekt funktionieren und einen erheblichen Teil des Festplattenspeichers beanspruchen.", @@ -384,6 +391,7 @@ "Enter Chunk Size": "Geben Sie die Blockgröße ein", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "Geben Sie eine Beschreibung ein", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "Geben Sie die Domains durch Kommas separiert ein (z.B. example.com,site.org)", @@ -393,17 +401,17 @@ "Enter Google PSE Engine Id": "Geben Sie die Google PSE-Engine-ID ein", "Enter Image Size (e.g. 512x512)": "Geben Sie die Bildgröße ein (z. B. 512x512)", "Enter Jina API Key": "Geben Sie den Jina-API-Schlüssel ein", - "Enter Jupyter Password": "", - "Enter Jupyter Token": "", - "Enter Jupyter URL": "", - "Enter Kagi Search API Key": "Geben sie den Kagi Search API-Schlüssel ein", - "Enter Key Behavior": "", + "Enter Jupyter Password": "Geben Sie das Jupyter-Passwort ein", + "Enter Jupyter Token": "Geben Sie den Jupyter-Token ein", + "Enter Jupyter URL": "Geben Sie die Jupyter-URL ein", + "Enter Kagi Search API Key": "Geben Sie den Kagi Search API-Schlüssel ein", + "Enter Key Behavior": "Verhalten von 'Enter'", "Enter language codes": "Geben Sie die Sprachcodes ein", "Enter Model ID": "Geben Sie die Modell-ID ein", "Enter model tag (e.g. {{modelTag}})": "Geben Sie den Model-Tag ein", "Enter Mojeek Search API Key": "Geben Sie den Mojeek Search API-Schlüssel ein", "Enter Number of Steps (e.g. 50)": "Geben Sie die Anzahl an Schritten ein (z. B. 50)", - "Enter Perplexity API Key": "", + "Enter Perplexity API Key": "Geben Sie den Perplexity API-Key ein", "Enter proxy URL (e.g. https://user:password@host:port)": "Geben sie die Proxy-URL ein (z. B. https://user:password@host:port)", "Enter reasoning effort": "Geben Sie den Schlussfolgerungsaufwand ein", "Enter Sampler (e.g. Euler a)": "Geben Sie den Sampler ein (z. B. Euler a)", @@ -426,8 +434,8 @@ "Enter Tavily API Key": "Geben Sie den Tavily-API-Schlüssel ein", "Enter the public URL of your WebUI. This URL will be used to generate links in the notifications.": "Geben sie die öffentliche URL Ihrer WebUI ein. Diese URL wird verwendet, um Links in den Benachrichtigungen zu generieren.", "Enter Tika Server URL": "Geben Sie die Tika-Server-URL ein", - "Enter timeout in seconds": "", - "Enter to Send": "", + "Enter timeout in seconds": "Geben Sie den Timeout in Sekunden ein", + "Enter to Send": "'Enter' zum Senden", "Enter Top K": "Geben Sie Top K ein", "Enter Top K Reranker": "Geben Sie Top K für Reranker ein", "Enter URL (e.g. http://127.0.0.1:7860/)": "Geben Sie die URL ein (z. B. http://127.0.0.1:7860/)", @@ -455,16 +463,16 @@ "Exceeded the number of seats in your license. Please contact support to increase the number of seats.": "", "Exclude": "Ausschließen", "Execute code for analysis": "Code für Analyse ausführen", - "Expand": "", + "Expand": "Aufklappen", "Experimental": "Experimentell", - "Explain": "", - "Explain this section to me in more detail": "", + "Explain": "Erklären", + "Explain this section to me in more detail": "Erkläre mir diesen Abschnitt im Detail", "Explore the cosmos": "Erforschen Sie das Universum", "Export": "Exportieren", - "Export All Archived Chats": "Alle archivierten Unterhaltungen exportieren", - "Export All Chats (All Users)": "Alle Unterhaltungen exportieren (alle Benutzer)", - "Export chat (.json)": "Unterhaltung exportieren (.json)", - "Export Chats": "Unterhaltungen exportieren", + "Export All Archived Chats": "Alle archivierten Chats exportieren", + "Export All Chats (All Users)": "Alle Chats exportieren (alle Benutzer)", + "Export chat (.json)": "Chat exportieren (.json)", + "Export Chats": "Chats exportieren", "Export Config to JSON File": "Exportiere Konfiguration als JSON-Datei", "Export Functions": "Funktionen exportieren", "Export Models": "Modelle exportieren", @@ -472,6 +480,7 @@ "Export Prompts": "Prompts exportieren", "Export to CSV": "Als CSV exportieren", "Export Tools": "Werkzeuge exportieren", + "External": "Extern", "External Models": "Externe Modelle", "Failed to add file.": "Fehler beim Hinzufügen der Datei.", "Failed to create API Key.": "Fehler beim Erstellen des API-Schlüssels.", @@ -510,7 +519,7 @@ "Form": "Formular", "Format your variables using brackets like this:": "Formatieren Sie Ihre Variablen mit Klammern, wie hier:", "Frequency Penalty": "Frequenzstrafe", - "Full Context Mode": "", + "Full Context Mode": "Voll-Kontext Modus", "Function": "Funktion", "Function Calling": "Funktionsaufruf", "Function created successfully": "Funktion erfolgreich erstellt", @@ -547,7 +556,7 @@ "Group updated successfully": "Gruppe erfolgreich aktualisiert", "Groups": "Gruppen", "Haptic Feedback": "Haptisches Feedback", - "has no conversations.": "hat keine Unterhaltungen.", + "has no conversations.": "hat keine Chats.", "Hello, {{name}}": "Hallo, {{name}}", "Help": "Hilfe", "Help us create the best community leaderboard by sharing your feedback history!": "Helfen Sie uns, die beste Community-Bestenliste zu erstellen, indem Sie Ihren Feedback-Verlauf teilen!", @@ -572,7 +581,7 @@ "Image Prompt Generation Prompt": "Prompt für die Bild-Prompt-Generierung", "Image Settings": "Bildeinstellungen", "Images": "Bilder", - "Import Chats": "Unterhaltungen importieren", + "Import Chats": "Chats importieren", "Import Config from JSON File": "Konfiguration aus JSON-Datei importieren", "Import Functions": "Funktionen importieren", "Import Models": "Modelle importieren", @@ -584,11 +593,12 @@ "Include `--api` flag when running stable-diffusion-webui": "Fügen Sie beim Ausführen von stable-diffusion-webui die Option `--api` hinzu", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "Info", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "Eingabebefehle", "Install from Github URL": "Installiere von der Github-URL", "Instant Auto-Send After Voice Transcription": "Spracherkennung direkt absenden", "Integration": "", - "Interface": "Benutzeroberfläche", + "Interface": "Oberfläche", "Invalid file format.": "Ungültiges Dateiformat.", "Invalid Tag": "Ungültiger Tag", "is typing...": "schreibt ...", @@ -667,7 +677,7 @@ "Memory updated successfully": "Erinnerung erfolgreich aktualisiert", "Merge Responses": "Antworten zusammenführen", "Message rating should be enabled to use this feature": "Antwortbewertung muss aktiviert sein, um diese Funktion zu verwenden", - "Messages you send after creating your link won't be shared. Users with the URL will be able to view the shared chat.": "Nachrichten, die Sie nach der Erstellung Ihres Links senden, werden nicht geteilt. Nutzer mit der URL können die freigegebene Unterhaltung einsehen.", + "Messages you send after creating your link won't be shared. Users with the URL will be able to view the shared chat.": "Nachrichten, die Sie nach der Erstellung Ihres Links senden, werden nicht geteilt. Nutzer mit der URL können den freigegebenen Chat einsehen.", "Min P": "Min P", "Minimum Score": "Mindestpunktzahl", "Mirostat": "Mirostat", @@ -679,7 +689,7 @@ "Model {{modelId}} not found": "Modell {{modelId}} nicht gefunden", "Model {{modelName}} is not vision capable": "Das Modell {{modelName}} ist nicht für die Bildverarbeitung geeignet", "Model {{name}} is now {{status}}": "Modell {{name}} ist jetzt {{status}}", - "Model accepts image inputs": "Modell akzeptiert Bileingaben", + "Model accepts image inputs": "Modell akzeptiert Bildeingaben", "Model created successfully!": "Modell erfolgreich erstellt!", "Model filesystem path detected. Model shortname is required for update, cannot continue.": "Modell-Dateisystempfad erkannt. Modellkurzname ist für das Update erforderlich, Fortsetzung nicht möglich.", "Model Filtering": "Modellfilterung", @@ -700,7 +710,7 @@ "Name": "Name", "Name your knowledge base": "Benennen Sie Ihren Wissensspeicher", "Native": "Nativ", - "New Chat": "Neue Unterhaltung", + "New Chat": "Neuer Chat", "New Folder": "Neuer Ordner", "New Password": "Neues Passwort", "new-channel": "neuer-kanal", @@ -807,6 +817,7 @@ "Presence Penalty": "", "Previous 30 days": "Vorherige 30 Tage", "Previous 7 days": "Vorherige 7 Tage", + "Private": "Privat", "Profile Image": "Profilbild", "Prompt": "Prompt", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Prompt (z. B. \"Erzähle mir eine interessante Tatsache über das Römische Reich\")", @@ -816,6 +827,7 @@ "Prompt updated successfully": "Prompt erfolgreich aktualisiert", "Prompts": "Prompts", "Prompts Access": "Prompt-Zugriff", + "Public": "Öffentlich", "Pull \"{{searchValue}}\" from Ollama.com": "\"{{searchValue}}\" von Ollama.com beziehen", "Pull a model from Ollama.com": "Modell von Ollama.com beziehen", "Query Generation Prompt": "Abfragegenerierungsprompt", @@ -855,7 +867,7 @@ "Result": "Ergebnis", "Retrieval": "", "Retrieval Query Generation": "Abfragegenerierung", - "Rich Text Input for Chat": "Rich-Text-Eingabe für Unterhaltungen", + "Rich Text Input for Chat": "Rich-Text-Eingabe für Chats", "RK": "RK", "Role": "Rolle", "Rosé Pine": "Rosé Pine", @@ -869,12 +881,12 @@ "Save As Copy": "Als Kopie speichern", "Save Tag": "Tag speichern", "Saved": "Gespeichert", - "Saving chat logs directly to your browser's storage is no longer supported. Please take a moment to download and delete your chat logs by clicking the button below. Don't worry, you can easily re-import your chat logs to the backend through": "Das direkte Speichern von Unterhaltungen im Browser-Speicher wird nicht mehr unterstützt. Bitte nehmen Sie einen Moment Zeit, um Ihre Unterhaltungen zu exportieren und zu löschen, indem Sie auf die Schaltfläche unten klicken. Keine Sorge, Sie können Ihre Unterhaltungen problemlos über das Backend wieder importieren.", + "Saving chat logs directly to your browser's storage is no longer supported. Please take a moment to download and delete your chat logs by clicking the button below. Don't worry, you can easily re-import your chat logs to the backend through": "Das direkte Speichern von Chats im Browser-Speicher wird nicht mehr unterstützt. Bitte nehmen Sie einen Moment Zeit, um Ihre Chats zu exportieren und zu löschen, indem Sie auf die Schaltfläche unten klicken. Keine Sorge, Sie können Ihre Chats problemlos über das Backend wieder importieren.", "Scroll to bottom when switching between branches": "Beim Wechsel zwischen Branches nach unten scrollen", "Search": "Suchen", "Search a model": "Modell suchen", "Search Base": "Suchbasis", - "Search Chats": "Unterhaltungen durchsuchen...", + "Search Chats": "Chats durchsuchen...", "Search Collection": "Sammlung durchsuchen", "Search Filters": "Suchfilter", "search for tags": "nach Tags suchen", @@ -945,7 +957,7 @@ "Settings": "Einstellungen", "Settings saved successfully!": "Einstellungen erfolgreich gespeichert!", "Share": "Teilen", - "Share Chat": "Unterhaltung teilen", + "Share Chat": "Chat teilen", "Share to Open WebUI Community": "Mit OpenWebUI Community teilen", "Show": "Anzeigen", "Show \"What's New\" modal on login": "\"Was gibt's Neues\"-Modal beim Anmelden anzeigen", @@ -967,7 +979,7 @@ "Speech-to-Text Engine": "Sprache-zu-Text-Engine", "Stop": "Stop", "Stop Sequence": "Stop-Sequenz", - "Stream Chat Response": "Unterhaltungsantwort streamen", + "Stream Chat Response": "Chat-Antwort streamen", "STT Model": "STT-Modell", "STT Settings": "STT-Einstellungen", "Subtitle (e.g. about the Roman Empire)": "Untertitel (z. B. über das Römische Reich)", @@ -980,6 +992,7 @@ "System": "System", "System Instructions": "Systemanweisungen", "System Prompt": "System-Prompt", + "Tags": "", "Tags Generation": "Tag-Generierung", "Tags Generation Prompt": "Prompt für Tag-Generierung", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "Tail-Free Sampling wird verwendet, um den Einfluss weniger wahrscheinlicher Tokens auf die Ausgabe zu reduzieren. Ein höherer Wert (z.B. 2.0) reduziert den Einfluss stärker, während ein Wert von 1.0 diese Einstellung deaktiviert. (Standard: 1)", @@ -990,7 +1003,7 @@ "Tell us more:": "Erzähl uns mehr", "Temperature": "Temperatur", "Template": "Vorlage", - "Temporary Chat": "Temporäre Unterhaltung", + "Temporary Chat": "Temporärer Chat", "Text Splitter": "Text-Splitter", "Text-to-Speech Engine": "Text-zu-Sprache-Engine", "Tfs Z": "Tfs Z", @@ -1004,13 +1017,14 @@ "The LDAP attribute that maps to the username that users use to sign in.": "Das LDAP-Attribut, das dem Benutzernamen zugeordnet ist, den Benutzer zum Anmelden verwenden.", "The leaderboard is currently in beta, and we may adjust the rating calculations as we refine the algorithm.": "Die Bestenliste befindet sich derzeit in der Beta-Phase, und es ist möglich, dass wir die Bewertungsberechnungen anpassen, während wir den Algorithmus verfeinern.", "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "Die maximale Dateigröße in MB. Wenn die Dateigröße dieses Limit überschreitet, wird die Datei nicht hochgeladen.", - "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "Die maximale Anzahl von Dateien, die gleichzeitig in der Unterhaltung verwendet werden können. Wenn die Anzahl der Dateien dieses Limit überschreitet, werden die Dateien nicht hochgeladen.", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "Die maximale Anzahl von Dateien, die gleichzeitig im Chat verwendet werden können. Wenn die Anzahl der Dateien dieses Limit überschreitet, werden die Dateien nicht hochgeladen.", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "Die Punktzahl sollte ein Wert zwischen 0,0 (0 %) und 1,0 (100 %) sein.", "The temperature of the model. Increasing the temperature will make the model answer more creatively.": "", "Theme": "Design", "Thinking...": "Denke nach...", "This action cannot be undone. Do you wish to continue?": "Diese Aktion kann nicht rückgängig gemacht werden. Möchten Sie fortfahren?", - "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Dies stellt sicher, dass Ihre wertvollen Unterhaltungen sicher in Ihrer Backend-Datenbank gespeichert werden. Vielen Dank!", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "Dieser Kanal wurde am {{createdAt}} erstellt. Dies ist der Beginn des {{channelName}} Kanals.", + "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Dies stellt sicher, dass Ihre wertvollen Chats sicher in Ihrer Backend-Datenbank gespeichert werden. Vielen Dank!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "Dies ist eine experimentelle Funktion, sie funktioniert möglicherweise nicht wie erwartet und kann jederzeit geändert werden.", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", "This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "", @@ -1027,10 +1041,10 @@ "Tika": "Tika", "Tika Server URL required.": "Tika-Server-URL erforderlich.", "Tiktoken": "Tiktoken", - "Tip: Update multiple variable slots consecutively by pressing the tab key in the chat input after each replacement.": "Tipp: Aktualisieren Sie mehrere Variablenfelder nacheinander, indem Sie nach jedem Ersetzen die Tabulatortaste im Eingabefeld der Unterhaltung drücken.", + "Tip: Update multiple variable slots consecutively by pressing the tab key in the chat input after each replacement.": "Tipp: Aktualisieren Sie mehrere Variablenfelder nacheinander, indem Sie nach jedem Ersetzen die Tabulatortaste im Eingabefeld des Chats drücken.", "Title": "Titel", "Title (e.g. Tell me a fun fact)": "Titel (z. B. Erzähl mir einen lustigen Fakt)", - "Title Auto-Generation": "Unterhaltungstitel automatisch generieren", + "Title Auto-Generation": "Chat-Titel automatisch generieren", "Title cannot be an empty string.": "Titel darf nicht leer sein.", "Title Generation": "Titelgenerierung", "Title Generation Prompt": "Prompt für Titelgenerierung", @@ -1040,7 +1054,7 @@ "To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Um auf das WebUI zugreifen zu können, wenden Sie sich bitte an einen Administrator. Administratoren können den Benutzerstatus über das Admin-Panel verwalten.", "To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "Um Wissensdatenbanken hier anzuhängen, fügen Sie sie zunächst dem Arbeitsbereich \"Wissen\" hinzu.", "To learn more about available endpoints, visit our documentation.": "Um mehr über verfügbare Endpunkte zu erfahren, besuchen Sie unsere Dokumentation.", - "To protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "Um Ihre Privatsphäre zu schützen, werden nur Bewertungen, Modell-IDs, Tags und Metadaten aus Ihrem Feedback geteilt – Ihre Unterhaltungen bleiben privat und werden nicht einbezogen.", + "To protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "Um Ihre Privatsphäre zu schützen, werden nur Bewertungen, Modell-IDs, Tags und Metadaten aus Ihrem Feedback geteilt – Ihre Chats bleiben privat und werden nicht einbezogen.", "To select actions here, add them to the \"Functions\" workspace first.": "Um Aktionen auszuwählen, fügen Sie diese zunächst dem Arbeitsbereich „Funktionen“ hinzu.", "To select filters here, add them to the \"Functions\" workspace first.": "Um Filter auszuwählen, fügen Sie diese zunächst dem Arbeitsbereich „Funktionen“ hinzu.", "To select toolkits here, add them to the \"Tools\" workspace first.": "Um Toolkits auszuwählen, fügen Sie sie zunächst dem Arbeitsbereich „Werkzeuge“ hinzu.", @@ -1068,7 +1082,7 @@ "Top P": "Top P", "Transformers": "Transformers", "Trouble accessing Ollama?": "Probleme beim Zugriff auf Ollama?", - "Trust Proxy Environment": "", + "Trust Proxy Environment": "Proxy-Umgebung vertrauen", "TTS Model": "TTS-Modell", "TTS Settings": "TTS-Einstellungen", "TTS Voice": "TTS-Stimme", @@ -1077,8 +1091,8 @@ "Uh-oh! There was an issue with the response.": "Oh nein! Es gab ein Problem mit der Antwort.", "UI": "Oberfläche", "Unarchive All": "Alle wiederherstellen", - "Unarchive All Archived Chats": "Alle archivierten Unterhaltungen wiederherstellen", - "Unarchive Chat": "Unterhaltung wiederherstellen", + "Unarchive All Archived Chats": "Alle archivierten Chats wiederherstellen", + "Unarchive Chat": "Chat wiederherstellen", "Unlock mysteries": "Geheimnisse entsperren", "Unpin": "Lösen", "Unravel secrets": "Geheimnisse lüften", @@ -1090,7 +1104,7 @@ "Updated": "Aktualisiert", "Updated at": "Aktualisiert am", "Updated At": "Aktualisiert am", - "Upgrade to a licensed plan for enhanced capabilities, including custom theming and branding, and dedicated support.": "", + "Upgrade to a licensed plan for enhanced capabilities, including custom theming and branding, and dedicated support.": "Upgrade auf einen lizenzierten Plan für erweiterte Funktionen wie individuelles Design, Branding und dedizierten Support.", "Upload": "Hochladen", "Upload a GGUF model": "GGUF-Model hochladen", "Upload directory": "Upload-Verzeichnis", @@ -1119,6 +1133,7 @@ "Valves updated successfully": "Valves erfolgreich aktualisiert", "variable": "Variable", "variable to have them replaced with clipboard content.": "Variable, um den Inhalt der Zwischenablage beim Nutzen des Prompts zu ersetzen.", + "Verify Connection": "Verbindung verifizieren", "Version": "Version", "Version {{selectedVersion}} of {{totalVersions}}": "Version {{selectedVersion}} von {{totalVersions}}", "View Replies": "Antworten anzeigen", @@ -1164,11 +1179,10 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "Sie können nur mit maximal {{maxCount}} Datei(en) gleichzeitig chatten.", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Personalisieren Sie Interaktionen mit LLMs, indem Sie über die Schaltfläche \"Verwalten\" Erinnerungen hinzufügen.", "You cannot upload an empty file.": "Sie können keine leere Datei hochladen.", - "You do not have permission to access this feature.": "Sie haben keine Berechtigung, auf diese Funktion zuzugreifen.", "You do not have permission to upload files": "Sie haben keine Berechtigung, Dateien hochzuladen", "You do not have permission to upload files.": "Sie haben keine Berechtigung zum Hochladen von Dateien.", - "You have no archived conversations.": "Du hast keine archivierten Unterhaltungen.", - "You have shared this chat": "Sie haben diese Unterhaltung geteilt", + "You have no archived conversations.": "Du hast keine archivierten Chats.", + "You have shared this chat": "Sie haben diesen Chat geteilt", "You're a helpful assistant.": "Du bist ein hilfreicher Assistent.", "You're now logged in.": "Sie sind jetzt eingeloggt.", "Your account status is currently pending activation.": "Ihr Kontostatus ist derzeit ausstehend und wartet auf Aktivierung.", diff --git a/src/lib/i18n/locales/dg-DG/translation.json b/src/lib/i18n/locales/dg-DG/translation.json index 6da9d7fd7..b100be158 100644 --- a/src/lib/i18n/locales/dg-DG/translation.json +++ b/src/lib/i18n/locales/dg-DG/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "", "(e.g. `sh webui.sh --api`)": "(such e.g. `sh webui.sh --api`)", "(latest)": "(much latest)", + "(Ollama)": "", "{{ models }}": "", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "", @@ -68,6 +69,8 @@ "Already have an account?": "Such account exists?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "", "an assistant": "such assistant", "Analyzed": "", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "Default Prompt Suggestions", "Default to 389 or 636 if TLS is enabled": "", "Default to ALL": "", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "Default User Role", "Delete": "", "Delete a model": "Delete a model", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "", "Description": "Description", "Didn't fully follow instructions": "", + "Direct": "", "Direct Connections": "", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", "Direct Connections settings updated": "", @@ -314,6 +319,8 @@ "Dive into knowledge": "", "Do not install functions from sources you do not fully trust.": "", "Do not install tools from sources you do not fully trust.": "", + "Docling": "", + "Docling Server URL required.": "", "Document": "Document", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "Enter Size of Chunk", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "", @@ -471,6 +479,7 @@ "Export Prompts": "Export Promptos", "Export to CSV": "", "Export Tools": "", + "External": "", "External Models": "", "Failed to add file.": "", "Failed to create API Key.": "", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "Include `--api` flag when running stable-diffusion-webui", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "Input commands", "Install from Github URL": "", "Instant Auto-Send After Voice Transcription": "", @@ -806,6 +816,7 @@ "Presence Penalty": "", "Previous 30 days": "", "Previous 7 days": "", + "Private": "", "Profile Image": "", "Prompt": "", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "", @@ -815,6 +826,7 @@ "Prompt updated successfully": "", "Prompts": "Promptos", "Prompts Access": "", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "", "Pull a model from Ollama.com": "Pull a wowdel from Ollama.com", "Query Generation Prompt": "", @@ -979,6 +991,7 @@ "System": "System very system", "System Instructions": "", "System Prompt": "System Prompt much prompt", + "Tags": "", "Tags Generation": "", "Tags Generation Prompt": "", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1009,6 +1022,7 @@ "Theme": "Theme much theme", "Thinking...": "", "This action cannot be undone. Do you wish to continue?": "", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "This ensures that your valuable conversations are securely saved to your backend database. Thank you! Much secure!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "", "variable": "variable very variable", "variable to have them replaced with clipboard content.": "variable to have them replaced with clipboard content. Very replace.", + "Verify Connection": "", "Version": "Version much version", "Version {{selectedVersion}} of {{totalVersions}}": "", "View Replies": "", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "", "You cannot upload an empty file.": "", - "You do not have permission to access this feature.": "", "You do not have permission to upload files": "", "You do not have permission to upload files.": "", "You have no archived conversations.": "", diff --git a/src/lib/i18n/locales/el-GR/translation.json b/src/lib/i18n/locales/el-GR/translation.json index 38b33d0b0..fc5e4da4c 100644 --- a/src/lib/i18n/locales/el-GR/translation.json +++ b/src/lib/i18n/locales/el-GR/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "(π.χ. `sh webui.sh --api --api-auth username_password`)", "(e.g. `sh webui.sh --api`)": "(π.χ. `sh webui.sh --api`)", "(latest)": "(τελευταίο)", + "(Ollama)": "", "{{ models }}": "{{ models }}", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "", @@ -68,6 +69,8 @@ "Already have an account?": "Έχετε ήδη λογαριασμό;", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "Καταπληκτικό", "an assistant": "ένας βοηθός", "Analyzed": "", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "Προεπιλεγμένες Προτάσεις Προτροπής", "Default to 389 or 636 if TLS is enabled": "Προεπιλογή στο 389 ή 636 εάν είναι ενεργοποιημένο το TLS", "Default to ALL": "Προεπιλογή σε ΟΛΑ", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "Προεπιλεγμένος Ρόλος Χρήστη", "Delete": "Διαγραφή", "Delete a model": "Διαγραφή ενός μοντέλου", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "Περιγράψτε τη βάση γνώσης και τους στόχους σας", "Description": "Περιγραφή", "Didn't fully follow instructions": "Δεν ακολούθησε πλήρως τις οδηγίες", + "Direct": "", "Direct Connections": "", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", "Direct Connections settings updated": "", @@ -314,6 +319,8 @@ "Dive into knowledge": "Βυθιστείτε στη γνώση", "Do not install functions from sources you do not fully trust.": "Μην εγκαθιστάτε λειτουργίες από πηγές που δεν εμπιστεύεστε πλήρως.", "Do not install tools from sources you do not fully trust.": "Μην εγκαθιστάτε εργαλεία από πηγές που δεν εμπιστεύεστε πλήρως.", + "Docling": "", + "Docling Server URL required.": "", "Document": "Έγγραφο", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "Εισάγετε το Μέγεθος Τμημάτων", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "Εισάγετε την περιγραφή", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "", @@ -471,6 +479,7 @@ "Export Prompts": "Εξαγωγή Προτροπών", "Export to CSV": "Εξαγωγή σε CSV", "Export Tools": "Εξαγωγή Εργαλείων", + "External": "", "External Models": "Εξωτερικά Μοντέλα", "Failed to add file.": "Αποτυχία προσθήκης αρχείου.", "Failed to create API Key.": "Αποτυχία δημιουργίας Κλειδιού API.", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "Συμπεριλάβετε το flag `--api` όταν τρέχετε το stable-diffusion-webui", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "Πληροφορίες", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "Εισαγωγή εντολών", "Install from Github URL": "Εγκατάσταση από URL Github", "Instant Auto-Send After Voice Transcription": "Άμεση Αυτόματη Αποστολή μετά τη μεταγραφή φωνής", @@ -806,6 +816,7 @@ "Presence Penalty": "", "Previous 30 days": "Προηγούμενες 30 ημέρες", "Previous 7 days": "Προηγούμενες 7 ημέρες", + "Private": "", "Profile Image": "Εικόνα Προφίλ", "Prompt": "", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Προτροπή (π.χ. Πες μου ένα διασκεδαστικό γεγονός για την Ρωμαϊκή Αυτοκρατορία)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "Η προτροπή ενημερώθηκε με επιτυχία", "Prompts": "Προτροπές", "Prompts Access": "Πρόσβαση Προτροπών", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "Τραβήξτε \"{{searchValue}}\" από το Ollama.com", "Pull a model from Ollama.com": "Τραβήξτε ένα μοντέλο από το Ollama.com", "Query Generation Prompt": "Προτροπή Δημιουργίας Ερωτήσεων", @@ -979,6 +991,7 @@ "System": "Σύστημα", "System Instructions": "Οδηγίες Συστήματος", "System Prompt": "Προτροπή Συστήματος", + "Tags": "", "Tags Generation": "", "Tags Generation Prompt": "Προτροπή Γενιάς Ετικετών", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1009,6 +1022,7 @@ "Theme": "Θέμα", "Thinking...": "Σκέφτομαι...", "This action cannot be undone. Do you wish to continue?": "Αυτή η ενέργεια δεν μπορεί να αναιρεθεί. Θέλετε να συνεχίσετε;", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Αυτό διασφαλίζει ότι οι πολύτιμες συνομιλίες σας αποθηκεύονται με ασφάλεια στη βάση δεδομένων backend σας. Ευχαριστούμε!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "Αυτή είναι μια πειραματική λειτουργία, μπορεί να μην λειτουργεί όπως αναμένεται και υπόκειται σε αλλαγές οποιαδήποτε στιγμή.", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "Οι βαλβίδες ενημερώθηκαν με επιτυχία", "variable": "μεταβλητή", "variable to have them replaced with clipboard content.": "μεταβλητή να αντικατασταθούν με το περιεχόμενο του πρόχειρου.", + "Verify Connection": "", "Version": "Έκδοση", "Version {{selectedVersion}} of {{totalVersions}}": "Έκδοση {{selectedVersion}} από {{totalVersions}}", "View Replies": "", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "Μπορείτε να συνομιλήσετε μόνο με μέγιστο αριθμό {{maxCount}} αρχείου(-ων) ταυτόχρονα.", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Μπορείτε να προσωποποιήσετε τις αλληλεπιδράσεις σας με τα LLMs προσθέτοντας αναμνήσεις μέσω του κουμπιού 'Διαχείριση' παρακάτω, κάνοντάς τα πιο χρήσιμα και προσαρμοσμένα σε εσάς.", "You cannot upload an empty file.": "Δεν μπορείτε να ανεβάσετε ένα κενό αρχείο.", - "You do not have permission to access this feature.": "", "You do not have permission to upload files": "", "You do not have permission to upload files.": "Δεν έχετε άδεια να ανεβάσετε αρχεία.", "You have no archived conversations.": "Δεν έχετε αρχειοθετημένες συνομιλίες.", diff --git a/src/lib/i18n/locales/en-GB/translation.json b/src/lib/i18n/locales/en-GB/translation.json index dc00a5836..fdde49907 100644 --- a/src/lib/i18n/locales/en-GB/translation.json +++ b/src/lib/i18n/locales/en-GB/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "", "(e.g. `sh webui.sh --api`)": "", "(latest)": "", + "(Ollama)": "", "{{ models }}": "", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "", @@ -68,6 +69,8 @@ "Already have an account?": "", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "", "an assistant": "", "Analyzed": "", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "", "Default to 389 or 636 if TLS is enabled": "", "Default to ALL": "", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "", "Delete": "", "Delete a model": "", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "", "Description": "", "Didn't fully follow instructions": "", + "Direct": "", "Direct Connections": "", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", "Direct Connections settings updated": "", @@ -314,6 +319,8 @@ "Dive into knowledge": "", "Do not install functions from sources you do not fully trust.": "", "Do not install tools from sources you do not fully trust.": "", + "Docling": "", + "Docling Server URL required.": "", "Document": "", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "", @@ -472,6 +480,7 @@ "Export Prompts": "", "Export to CSV": "", "Export Tools": "", + "External": "", "External Models": "", "Failed to add file.": "", "Failed to create API Key.": "", @@ -584,6 +593,7 @@ "Include `--api` flag when running stable-diffusion-webui": "", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "", "Install from Github URL": "", "Instant Auto-Send After Voice Transcription": "", @@ -807,6 +817,7 @@ "Presence Penalty": "", "Previous 30 days": "", "Previous 7 days": "", + "Private": "", "Profile Image": "", "Prompt": "", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "", @@ -816,6 +827,7 @@ "Prompt updated successfully": "", "Prompts": "", "Prompts Access": "", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "", "Pull a model from Ollama.com": "", "Query Generation Prompt": "", @@ -980,6 +992,7 @@ "System": "", "System Instructions": "", "System Prompt": "", + "Tags": "", "Tags Generation": "", "Tags Generation Prompt": "", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1010,6 +1023,7 @@ "Theme": "", "Thinking...": "", "This action cannot be undone. Do you wish to continue?": "", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1119,6 +1133,7 @@ "Valves updated successfully": "", "variable": "", "variable to have them replaced with clipboard content.": "", + "Verify Connection": "", "Version": "", "Version {{selectedVersion}} of {{totalVersions}}": "", "View Replies": "", @@ -1164,7 +1179,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "", "You cannot upload an empty file.": "", - "You do not have permission to access this feature.": "", "You do not have permission to upload files": "", "You do not have permission to upload files.": "", "You have no archived conversations.": "", diff --git a/src/lib/i18n/locales/en-US/translation.json b/src/lib/i18n/locales/en-US/translation.json index dc00a5836..fdde49907 100644 --- a/src/lib/i18n/locales/en-US/translation.json +++ b/src/lib/i18n/locales/en-US/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "", "(e.g. `sh webui.sh --api`)": "", "(latest)": "", + "(Ollama)": "", "{{ models }}": "", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "", @@ -68,6 +69,8 @@ "Already have an account?": "", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "", "an assistant": "", "Analyzed": "", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "", "Default to 389 or 636 if TLS is enabled": "", "Default to ALL": "", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "", "Delete": "", "Delete a model": "", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "", "Description": "", "Didn't fully follow instructions": "", + "Direct": "", "Direct Connections": "", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", "Direct Connections settings updated": "", @@ -314,6 +319,8 @@ "Dive into knowledge": "", "Do not install functions from sources you do not fully trust.": "", "Do not install tools from sources you do not fully trust.": "", + "Docling": "", + "Docling Server URL required.": "", "Document": "", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "", @@ -472,6 +480,7 @@ "Export Prompts": "", "Export to CSV": "", "Export Tools": "", + "External": "", "External Models": "", "Failed to add file.": "", "Failed to create API Key.": "", @@ -584,6 +593,7 @@ "Include `--api` flag when running stable-diffusion-webui": "", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "", "Install from Github URL": "", "Instant Auto-Send After Voice Transcription": "", @@ -807,6 +817,7 @@ "Presence Penalty": "", "Previous 30 days": "", "Previous 7 days": "", + "Private": "", "Profile Image": "", "Prompt": "", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "", @@ -816,6 +827,7 @@ "Prompt updated successfully": "", "Prompts": "", "Prompts Access": "", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "", "Pull a model from Ollama.com": "", "Query Generation Prompt": "", @@ -980,6 +992,7 @@ "System": "", "System Instructions": "", "System Prompt": "", + "Tags": "", "Tags Generation": "", "Tags Generation Prompt": "", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1010,6 +1023,7 @@ "Theme": "", "Thinking...": "", "This action cannot be undone. Do you wish to continue?": "", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1119,6 +1133,7 @@ "Valves updated successfully": "", "variable": "", "variable to have them replaced with clipboard content.": "", + "Verify Connection": "", "Version": "", "Version {{selectedVersion}} of {{totalVersions}}": "", "View Replies": "", @@ -1164,7 +1179,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "", "You cannot upload an empty file.": "", - "You do not have permission to access this feature.": "", "You do not have permission to upload files": "", "You do not have permission to upload files.": "", "You have no archived conversations.": "", diff --git a/src/lib/i18n/locales/es-ES/translation.json b/src/lib/i18n/locales/es-ES/translation.json index 00f6e18d1..a46165705 100644 --- a/src/lib/i18n/locales/es-ES/translation.json +++ b/src/lib/i18n/locales/es-ES/translation.json @@ -4,8 +4,9 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "(p.ej. `sh webui.sh --api --api-auth username_password`)", "(e.g. `sh webui.sh --api`)": "(p.ej. `sh webui.sh --api`)", "(latest)": "(latest)", + "(Ollama)": "", "{{ models }}": "{{ models }}", - "{{COUNT}} hidden lines": "", + "{{COUNT}} hidden lines": "{{COUNT}} líneas ocultas", "{{COUNT}} Replies": "{{COUNT}} Respuestas", "{{user}}'s Chats": "Chats de {{user}}", "{{webUIName}} Backend Required": "{{webUIName}} Servidor Requerido", @@ -14,7 +15,7 @@ "A task model is used when performing tasks such as generating titles for chats and web search queries": "Un modelo de tareas se utiliza cuando se realizan tareas como la generación de títulos para chats y consultas de búsqueda web", "a user": "un usuario", "About": "Sobre nosotros", - "Accept autocomplete generation / Jump to prompt variable": "", + "Accept autocomplete generation / Jump to prompt variable": "Aceptar generación de autocompletado / Saltar a la variable del prompt", "Access": "Acceso", "Access Control": "Control de Acceso", "Accessible to all users": "Accesible para todos los usuarios", @@ -22,7 +23,7 @@ "Account Activation Pending": "Activación de cuenta pendiente", "Accurate information": "Información precisa", "Actions": "Acciones", - "Activate": "", + "Activate": "Activar", "Activate this command by typing \"/{{COMMAND}}\" to chat input.": "Active este comando escribiendo \"/{{COMMAND}}\" en el chat", "Active Users": "Usuarios activos", "Add": "Agregar", @@ -52,7 +53,7 @@ "Admins have access to all tools at all times; users need tools assigned per model in the workspace.": "Admins tienen acceso a todas las herramientas en todo momento; los usuarios necesitan herramientas asignadas por modelo en el espacio de trabajo.", "Advanced Parameters": "Parámetros Avanzados", "Advanced Params": "Parámetros avanzados", - "All": "", + "All": "Todos", "All Documents": "Todos los Documentos", "All models deleted successfully": "Todos los modelos han sido borrados", "Allow Chat Controls": "Permitir Control de Chats", @@ -66,8 +67,10 @@ "Allow Voice Interruption in Call": "Permitir interrupción de voz en llamada", "Allowed Endpoints": "Endpoints permitidos", "Already have an account?": "¿Ya tienes una cuenta?", - "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", + "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "Una alternativa a top_p, y tiene como objetivo garantizar un equilibrio entre calidad y variedad. El parámetro p representa la probabilidad mínima para que un token sea considerado, en relación con la probabilidad del token más probable. Por ejemplo, con p=0.05 y el token más probable con una probabilidad de 0.9, los logits con un valor inferior a 0.045 son filtrados.", "Always": "Siempre", + "Always Collapse Code Blocks": "Siempre colapsar bloques de código", + "Always Expand Details": "Siempre expandir detalles", "Amazing": "Sorprendente", "an assistant": "un asistente", "Analyzed": "Analizado", @@ -88,24 +91,24 @@ "Archive All Chats": "Archivar todos los chats", "Archived Chats": "Chats archivados", "archived-chat-export": "Exportación de chats archivados", - "Are you sure you want to clear all memories? This action cannot be undone.": "", + "Are you sure you want to clear all memories? This action cannot be undone.": "Está seguro de que desea borrar todas las memorias? Esta acción no se puede deshacer.", "Are you sure you want to delete this channel?": "¿Seguro de que quieres eliminar este canal?", "Are you sure you want to delete this message?": "¿Seguro de que quieres eliminar este mensaje? ", "Are you sure you want to unarchive all archived chats?": "¿Estás seguro de que quieres desarchivar todos los chats archivados?", "Are you sure?": "¿Está seguro?", "Arena Models": "Arena de Modelos", "Artifacts": "Artefactos", - "Ask": "", + "Ask": "Preguntar", "Ask a question": "Haz una pregunta", "Assistant": "Asistente", - "Attach file from knowledge": "", + "Attach file from knowledge": "Adjuntar archivo desde el conocimiento", "Attention to detail": "Detalle preciso", "Attribute for Mail": "Atributo para correo", "Attribute for Username": "Atributo para el nombre de usuario", "Audio": "Audio", "August": "Agosto", "Authenticate": "Autenticar", - "Authentication": "", + "Authentication": "Autenticación", "Auto-Copy Response to Clipboard": "Copiar respuesta automáticamente al portapapeles", "Auto-playback response": "Respuesta de reproducción automática", "Autocomplete Generation": "Generación de autocompletado", @@ -129,13 +132,13 @@ "Beta": "Beta", "Bing Search V7 Endpoint": "Endpoint de Bing Search V7", "Bing Search V7 Subscription Key": "Clave de suscripción de Bing Search V7", - "Bocha Search API Key": "", - "Boosting or penalizing specific tokens for constrained responses. Bias values will be clamped between -100 and 100 (inclusive). (Default: none)": "", + "Bocha Search API Key": "Clave de API de Bocha Search", + "Boosting or penalizing specific tokens for constrained responses. Bias values will be clamped between -100 and 100 (inclusive). (Default: none)": "Impulsando o penalizando tokens específicos para respuestas restringidas. Los valores de sesgo se limitarán entre -100 y 100 (inclusive). (Por defecto: ninguno)", "Brave Search API Key": "Clave de API de Brave Search", "By {{name}}": "Por {{name}}", - "Bypass Embedding and Retrieval": "", + "Bypass Embedding and Retrieval": "Sobreponer Embedding y Recuperación", "Bypass SSL verification for Websites": "Desactivar la verificación SSL para sitios web", - "Calendar": "", + "Calendar": "Calendario", "Call": "Llamada", "Call feature is not supported when using Web STT engine": "La funcionalidad de llamada no puede usarse junto con el motor de STT Web", "Camera": "Cámara", @@ -167,14 +170,14 @@ "Ciphers": "Cifrado", "Citation": "Cita", "Clear memory": "Liberar memoria", - "Clear Memory": "", + "Clear Memory": "Liberar Memoria", "click here": "Clic aquí", "Click here for filter guides.": "Clic aquí para guías de filtros", "Click here for help.": "Presiona aquí para obtener ayuda.", "Click here to": "Presiona aquí para", "Click here to download user import template file.": "Presiona aquí para descargar el archivo de plantilla de importación de usuario.", "Click here to learn more about faster-whisper and see the available models.": "Clic aquí para aprender más sobre faster-whisper y ver los modelos disponibles.", - "Click here to see available models.": "", + "Click here to see available models.": "Presiona aquí para ver los modelos disponibles.", "Click here to select": "Presiona aquí para seleccionar", "Click here to select a csv file.": "Presiona aquí para seleccionar un archivo csv.", "Click here to select a py file.": "Presiona aquí para seleccionar un archivo py.", @@ -187,14 +190,14 @@ "Clone of {{TITLE}}": "Clon de {{TITLE}}", "Close": "Cerrar", "Code execution": "Ejecución de código", - "Code Execution": "", - "Code Execution Engine": "", - "Code Execution Timeout": "", + "Code Execution": "Ejecución de Código", + "Code Execution Engine": "Motor de Ejecución de Código", + "Code Execution Timeout": "Tiempo", "Code formatted successfully": "Se ha formateado correctamente el código.", "Code Interpreter": "Interprete de Código", - "Code Interpreter Engine": "", - "Code Interpreter Prompt Template": "", - "Collapse": "", + "Code Interpreter Engine": "Motor Interpretador de Código", + "Code Interpreter Prompt Template": "Plantilla de Prompt del Interpretador de Código", + "Collapse": "Colapsar", "Collection": "Colección", "Color": "Color", "ComfyUI": "ComfyUI", @@ -211,21 +214,21 @@ "Confirm Password": "Confirmar Contraseña", "Confirm your action": "Confirma tu acción", "Confirm your new password": "Confirmar tu nueva contraseña", - "Connect to your own OpenAI compatible API endpoints.": "", + "Connect to your own OpenAI compatible API endpoints.": "Conecta a tus propios endpoints de API compatibles con OpenAI.", "Connections": "Conexiones", - "Constrains effort on reasoning for reasoning models. Only applicable to reasoning models from specific providers that support reasoning effort.": "", + "Constrains effort on reasoning for reasoning models. Only applicable to reasoning models from specific providers that support reasoning effort.": "Esfuerzo de razonamiento para modelos de razonamiento. Solo aplicable a modelos de razonamiento de proveedores específicos que soportan el esfuerzo de razonamiento.", "Contact Admin for WebUI Access": "Contacta el administrador para obtener acceso al WebUI", "Content": "Contenido", - "Content Extraction Engine": "", + "Content Extraction Engine": "Motor de Extracción de Contenido", "Context Length": "Longitud del contexto", "Continue Response": "Continuar Respuesta", "Continue with {{provider}}": "Continuar con {{provider}}", "Continue with Email": "Continuar con email", "Continue with LDAP": "Continuar con 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.": "Controlar como el texto del mensaje se divide para las solicitudes de TTS. 'Punctuation' divide en oraciones, 'paragraphs' divide en párrafos y 'none' mantiene el mensaje como una sola cadena.", - "Control the repetition of token sequences in the generated text. A higher value (e.g., 1.5) will penalize repetitions more strongly, while a lower value (e.g., 1.1) will be more lenient. At 1, it is disabled.": "", + "Control the repetition of token sequences in the generated text. A higher value (e.g., 1.5) will penalize repetitions more strongly, while a lower value (e.g., 1.1) will be more lenient. At 1, it is disabled.": "Controla la repetición de secuencias de tokens en el texto generado. Un valor más alto (p.ej., 1.5) penalizará más fuertemente las repeticiones, mientras que un valor más bajo (p.ej., 1.1) será más indulgente. En 1, está desactivado.", "Controls": "Controles", - "Controls the balance between coherence and diversity of the output. A lower value will result in more focused and coherent text.": "", + "Controls the balance between coherence and diversity of the output. A lower value will result in more focused and coherent text.": "Controles de equilibrio entre coherencia y diversidad de la salida. Un valor más bajo resultará en un texto más enfocado y coherente.", "Copied": "Copiado", "Copied shared chat URL to clipboard!": "¡URL de chat compartido copiado al portapapeles!", "Copied to clipboard": "Copiado al portapapeles", @@ -235,7 +238,7 @@ "Copy Link": "Copiar enlace", "Copy to clipboard": "Copiado a portapapeles", "Copying to clipboard was successful!": "¡La copia al portapapeles se ha realizado correctamente!", - "CORS must be properly configured by the provider to allow requests from Open WebUI.": "", + "CORS must be properly configured by the provider to allow requests from Open WebUI.": "CORS debe estar configurado correctamente por el proveedor para permitir solicitudes desde Open WebUI.", "Create": "Crear", "Create a knowledge base": "Crear base de conocimiento", "Create a model": "Crear un modelo", @@ -250,11 +253,11 @@ "Created At": "Creado en", "Created by": "Creado por", "CSV Import": "Importa un CSV", - "Ctrl+Enter to Send": "", + "Ctrl+Enter to Send": "Ctrl+Enter para Enviar", "Current Model": "Modelo Actual", "Current Password": "Contraseña Actual", "Custom": "Personalizado", - "Danger Zone": "", + "Danger Zone": "Zona de Peligro", "Dark": "Oscuro", "Database": "Base de datos", "December": "Diciembre", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "Sugerencias de mensajes por defecto", "Default to 389 or 636 if TLS is enabled": "Predeterminado a 389 o 636 si TLS está habilitado", "Default to ALL": "Predeterminado a TODOS", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "Valores predeterminados para la recuperación segmentada para la extracción de contenido enfocado y relevante, esto es recomendado para la mayoría de los casos.", "Default User Role": "Rol por defecto para usuarios", "Delete": "Borrar", "Delete a model": "Borra un modelo", @@ -281,7 +285,7 @@ "Delete folder?": "¿Eliminar carpeta?", "Delete function?": "Borrar la función?", "Delete Message": "Eliminar mensaje", - "Delete message?": "", + "Delete message?": "Borrar mensaje?", "Delete prompt?": "Borrar el prompt?", "delete this link": "Borrar este enlace", "Delete tool?": "Borrar la herramienta", @@ -292,15 +296,16 @@ "Describe your knowledge base and objectives": "Describe tu base de conocimientos y objetivos", "Description": "Descripción", "Didn't fully follow instructions": "No siguió las instrucciones", - "Direct Connections": "", - "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", - "Direct Connections settings updated": "", + "Direct": "Directo", + "Direct Connections": "Conecciones Directas", + "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "Conecciones Directas permiten a los usuarios conectarse a sus propios endpoints de API compatibles con OpenAI.", + "Direct Connections settings updated": "Se actualizaron las configuraciones de las Conexiones Directas", "Disabled": "Desactivado", "Discover a function": "Descubre una función", "Discover a model": "Descubrir un modelo", "Discover a prompt": "Descubre un Prompt", "Discover a tool": "Descubre una herramienta", - "Discover how to use Open WebUI and seek support from the community.": "", + "Discover how to use Open WebUI and seek support from the community.": "Descubre cómo usar Open WebUI y busca soporte de la comunidad.", "Discover wonders": "Descubre maravillas", "Discover, download, and explore custom functions": "Descubre, descarga y explora funciones personalizadas", "Discover, download, and explore custom prompts": "Descubre, descarga, y explora Prompts personalizados", @@ -314,27 +319,29 @@ "Dive into knowledge": "Sumérgete en el conocimiento", "Do not install functions from sources you do not fully trust.": "No instale funciones desde fuentes que no confíe totalmente.", "Do not install tools from sources you do not fully trust.": "No instale herramientas desde fuentes que no confíe totalmente.", + "Docling": "", + "Docling Server URL required.": "Se requiere la URL del servidor de Docling.", "Document": "Documento", - "Document Intelligence": "", - "Document Intelligence endpoint and key required.": "", + "Document Intelligence": "Document Intelligence", + "Document Intelligence endpoint and key required.": "Endpoint y clave de Document Intelligence requeridos.", "Documentation": "Documentación", "Documents": "Documentos", "does not make any external connections, and your data stays securely on your locally hosted server.": "no realiza ninguna conexión externa y sus datos permanecen seguros en su servidor alojado localmente.", - "Domain Filter List": "", + "Domain Filter List": "Listra de Filtros de Dominio", "Don't have an account?": "¿No tienes una cuenta?", "don't install random functions from sources you don't trust.": "no instale funciones aleatorias desde fuentes que no confíe.", "don't install random tools from sources you don't trust.": "no instale herramientas aleatorias desde fuentes que no confíe.", "Don't like the style": "No te gusta el estilo?", "Done": "Hecho", "Download": "Descargar", - "Download as SVG": "", + "Download as SVG": "Descarga como SVG", "Download canceled": "Descarga cancelada", "Download Database": "Descarga la Base de Datos", "Drag and drop a file to upload or select a file to view": "Arrastra y suelta un archivo para subirlo o selecciona un archivo para verlo", "Draw": "Dibujar", "Drop any files here to add to the conversation": "Suelta cualquier archivo aquí para agregarlo a la conversación", "e.g. '30s','10m'. Valid time units are 's', 'm', 'h'.": "p.ej. '30s','10m'. Unidades válidas de tiempo son 's', 'm', 'h'.", - "e.g. 60": "", + "e.g. 60": "ej. 60", "e.g. A filter to remove profanity from text": "p.ej. Un filtro para eliminar la profanidad del texto", "e.g. My Filter": "p.ej. Mi Filtro", "e.g. My Tools": "p.ej. Mis Herramientas", @@ -352,21 +359,21 @@ "ElevenLabs": "ElevenLabs", "Email": "Email", "Embark on adventures": "Emprende aventuras", - "Embedding": "", + "Embedding": "Embedding", "Embedding Batch Size": "Tamaño de Embedding", "Embedding Model": "Modelo de Embedding", "Embedding Model Engine": "Motor de Modelo de Embedding", "Embedding model set to \"{{embedding_model}}\"": "Modelo de Embedding configurado a \"{{embedding_model}}\"", "Enable API Key": "Habilitar clave de API", "Enable autocomplete generation for chat messages": "Habilitar generación de autocompletado para mensajes de chat", - "Enable Code Execution": "", - "Enable Code Interpreter": "", + "Enable Code Execution": "Habilitar Ejecución de Código", + "Enable Code Interpreter": "Habilitar Interpretador de Código", "Enable Community Sharing": "Habilitar el uso compartido de la comunidad", "Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "Habilitar bloqueo de memoria (mlock) para evitar que los datos del modelo se intercambien fuera de la RAM. Esta opción bloquea el conjunto de páginas de trabajo del modelo en la RAM, asegurando que no se intercambiarán fuera del disco. Esto puede ayudar a mantener el rendimiento evitando fallos de página y asegurando un acceso rápido a los datos.", "Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "Habilitar asignación de memoria (mmap) para cargar datos del modelo. Esta opción permite al sistema usar el almacenamiento en disco como una extensión de la RAM al tratar los archivos en disco como si estuvieran en la RAM. Esto puede mejorar el rendimiento del modelo permitiendo un acceso más rápido a los datos. Sin embargo, puede no funcionar correctamente con todos los sistemas y puede consumir una cantidad significativa de espacio en disco.", "Enable Message Rating": "Habilitar la calificación de los mensajes", - "Enable Mirostat sampling for controlling perplexity.": "", - "Enable New Sign Ups": "Habilitar Nuevos Registros", + "Enable Mirostat sampling for controlling perplexity.": "Habilitar el muestreo de Mirostat para controlar la perplejidad.", + "Enable New Sign Ups": "Habilitar Nuevos Registros de Usuarios", "Enabled": "Activado", "Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Asegúrese de que su archivo CSV incluya 4 columnas en este orden: Nombre, Correo Electrónico, Contraseña, Rol.", "Enter {{role}} message here": "Ingrese el mensaje {{role}} aquí", @@ -376,34 +383,35 @@ "Enter Application DN Password": "Ingrese la contraseña de la DN de la aplicación", "Enter Bing Search V7 Endpoint": "Ingrese el endpoint de Bing Search V7", "Enter Bing Search V7 Subscription Key": "Ingrese la clave de suscripción de Bing Search V7", - "Enter Bocha Search API Key": "", + "Enter Bocha Search API Key": "Ingrese la clave de API de Bocha Search", "Enter Brave Search API Key": "Ingresa la clave de API de Brave Search", "Enter certificate path": "Ingrese la ruta del certificado", "Enter CFG Scale (e.g. 7.0)": "Ingresa la escala de CFG (p.ej., 7.0)", "Enter Chunk Overlap": "Ingresar superposición de fragmentos", "Enter Chunk Size": "Ingrese el tamaño del fragmento", - "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", + "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "Entre pares \"token:bias_value\" separados por comas (ejemplo: 5432:100, 413:-100)", "Enter description": "Ingrese la descripción", - "Enter Document Intelligence Endpoint": "", - "Enter Document Intelligence Key": "", - "Enter domains separated by commas (e.g., example.com,site.org)": "", + "Enter Docling Server URL": "Ingrese URL de Docling Server", + "Enter Document Intelligence Endpoint": "Entre el Endpoint de Document Intelligence", + "Enter Document Intelligence Key": "Entre la Clave de Document Intelligence", + "Enter domains separated by commas (e.g., example.com,site.org)": "Entre dominios separados por comas (p.ej., ejemplo.com,sitio.org)", "Enter Exa API Key": "Ingrese la clave API de Exa", "Enter Github Raw URL": "Ingresa la URL sin procesar de Github", "Enter Google PSE API Key": "Ingrese la clave API de Google PSE", "Enter Google PSE Engine Id": "Introduzca el ID del motor PSE de Google", "Enter Image Size (e.g. 512x512)": "Ingrese el tamaño de la imagen (p.ej. 512x512)", "Enter Jina API Key": "Ingrese la clave API de Jina", - "Enter Jupyter Password": "", - "Enter Jupyter Token": "", - "Enter Jupyter URL": "", + "Enter Jupyter Password": "Entre la contraseña de Jupyter", + "Enter Jupyter Token": "Entre el token de Jupyter", + "Enter Jupyter URL": "Entre el URL de Jupyter", "Enter Kagi Search API Key": "Ingrese la clave API de Kagi Search", - "Enter Key Behavior": "", + "Enter Key Behavior": "Entre el comportamiento de la clave", "Enter language codes": "Ingrese códigos de idioma", "Enter Model ID": "Ingresa el ID del modelo", "Enter model tag (e.g. {{modelTag}})": "Ingrese la etiqueta del modelo (p.ej. {{modelTag}})", "Enter Mojeek Search API Key": "Ingrese la clave API de Mojeek Search", "Enter Number of Steps (e.g. 50)": "Ingrese el número de pasos (p.ej., 50)", - "Enter Perplexity API Key": "", + "Enter Perplexity API Key": "Entre la clave API de Perplexity", "Enter proxy URL (e.g. https://user:password@host:port)": "Ingrese la URL del proxy (p.ej. https://user:password@host:port)", "Enter reasoning effort": "Ingrese el esfuerzo de razonamiento", "Enter Sampler (e.g. Euler a)": "Ingrese el sampler (p.ej., Euler a)", @@ -413,8 +421,8 @@ "Enter SearchApi Engine": "Ingrese el motor de SearchApi", "Enter Searxng Query URL": "Introduzca la URL de consulta de Searxng", "Enter Seed": "Ingrese la semilla", - "Enter SerpApi API Key": "", - "Enter SerpApi Engine": "", + "Enter SerpApi API Key": "Entre la Clave API de SerpApi", + "Enter SerpApi Engine": "Entre el motor de SerpApi", "Enter Serper API Key": "Ingrese la clave API de Serper", "Enter Serply API Key": "Ingrese la clave API de Serply", "Enter Serpstack API Key": "Ingrese la clave API de Serpstack", @@ -426,8 +434,8 @@ "Enter Tavily API Key": "Ingrese la clave API de Tavily", "Enter the public URL of your WebUI. This URL will be used to generate links in the notifications.": "Ingrese la URL pública de su WebUI. Esta URL se utilizará para generar enlaces en las notificaciones.", "Enter Tika Server URL": "Ingrese la URL del servidor Tika", - "Enter timeout in seconds": "", - "Enter to Send": "", + "Enter timeout in seconds": "Introduzca el tiempo de espera en segundos", + "Enter to Send": "Enter para Enviar", "Enter Top K": "Ingrese el Top K", "Enter URL (e.g. http://127.0.0.1:7860/)": "Ingrese la URL (p.ej., http://127.0.0.1:7860/)", "Enter URL (e.g. http://localhost:11434)": "Ingrese la URL (p.ej., http://localhost:11434)", @@ -451,13 +459,13 @@ "Example: mail": "Ejemplo: correo", "Example: ou=users,dc=foo,dc=example": "Ejemplo: ou=usuarios,dc=foo,dc=ejemplo", "Example: sAMAccountName or uid or userPrincipalName": "Ejemplo: sAMAccountName o uid o userPrincipalName", - "Exceeded the number of seats in your license. Please contact support to increase the number of seats.": "", + "Exceeded the number of seats in your license. Please contact support to increase the number of seats.": "Se excedió el número de asientos en su licencia. Por favor, contacte al soporte para aumentar el número de asientos.", "Exclude": "Excluir", "Execute code for analysis": "Ejecutar código para análisis", - "Expand": "", + "Expand": "Expandir", "Experimental": "Experimental", - "Explain": "", - "Explain this section to me in more detail": "", + "Explain": "Explicar", + "Explain this section to me in more detail": "Explica esta sección con más detalle", "Explore the cosmos": "Explora el cosmos", "Export": "Exportar", "Export All Archived Chats": "Exportar todos los chats archivados", @@ -471,6 +479,7 @@ "Export Prompts": "Exportar Prompts", "Export to CSV": "Exportar a CSV", "Export Tools": "Exportar Herramientas", + "External": "Externo", "External Models": "Modelos Externos", "Failed to add file.": "No se pudo agregar el archivo.", "Failed to create API Key.": "No se pudo crear la clave API.", @@ -479,7 +488,7 @@ "Failed to save models configuration": "No se pudo guardar la configuración de los modelos", "Failed to update settings": "Falla al actualizar los ajustes", "Failed to upload file.": "Falla al subir el archivo.", - "Features": "", + "Features": "Características", "Features Permissions": "Permisos de características", "February": "Febrero", "Feedback History": "Historial de retroalimentación", @@ -509,7 +518,7 @@ "Form": "De", "Format your variables using brackets like this:": "Formatea tus variables usando corchetes así:", "Frequency Penalty": "Penalización de frecuencia", - "Full Context Mode": "", + "Full Context Mode": "Modo de contexto completo", "Function": "Función", "Function Calling": "Llamada de función", "Function created successfully": "Función creada exitosamente", @@ -525,12 +534,12 @@ "Functions allow arbitrary code execution.": "Funciones habilitan la ejecución de código arbitrario.", "Functions imported successfully": "Funciones importadas exitosamente", "Gemini": "", - "Gemini API Config": "", - "Gemini API Key is required.": "", + "Gemini API Config": "Configuración de la API de Gemini", + "Gemini API Key is required.": "Se requiere la clave API de Gemini.", "General": "General", "Generate an image": "Generar una imagen", "Generate Image": "Generar imagen", - "Generate prompt pair": "", + "Generate prompt pair": "Generar par de prompt", "Generating search query": "Generación de consultas de búsqueda", "Get started": "Empezar", "Get started with {{WEBUI_NAME}}": "Empezar con {{WEBUI_NAME}}", @@ -553,7 +562,7 @@ "Hex Color": "Color Hex", "Hex Color - Leave empty for default color": "Color Hex - Deja vacío para el color predeterminado", "Hide": "Esconder", - "Home": "", + "Home": "Inicio", "Host": "Host", "How can I help you today?": "¿Cómo puedo ayudarte hoy?", "How would you rate this response?": "¿Cómo calificarías esta respuesta?", @@ -581,12 +590,13 @@ "Include": "Incluir", "Include `--api-auth` flag when running stable-diffusion-webui": "Incluir el indicador `--api-auth` al ejecutar stable-diffusion-webui", "Include `--api` flag when running stable-diffusion-webui": "Incluir el indicador `--api` al ejecutar stable-diffusion-webui", - "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", + "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "Influencia cuan rápido el algoritmo responde al feedback del texto generado. Una tasa de aprendizaje más baja resultará en ajustes más lentos, mientras que una tasa de aprendizaje más alta hará que el algoritmo sea más receptivo.", "Info": "Información", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "Injecta todo el contenido como contexto para un procesamiento completo, esto es recomendado para consultas complejas.", "Input commands": "Ingresar comandos", "Install from Github URL": "Instalar desde la URL de Github", "Instant Auto-Send After Voice Transcription": "Auto-Enviar Después de la Transcripción de Voz", - "Integration": "", + "Integration": "Integración", "Interface": "Interfaz", "Invalid file format.": "Formato de archivo inválido.", "Invalid Tag": "Etiqueta Inválida", @@ -598,8 +608,8 @@ "JSON Preview": "Vista previa de JSON", "July": "Julio", "June": "Junio", - "Jupyter Auth": "", - "Jupyter URL": "", + "Jupyter Auth": "Autenticación de Jupyter", + "Jupyter URL": "URL de Jupyter", "JWT Expiration": "Expiración del JWT", "JWT Token": "Token JWT", "Kagi Search API Key": "Clave API de Kagi Search", @@ -612,7 +622,7 @@ "Knowledge deleted successfully.": "Conocimiento eliminado exitosamente.", "Knowledge reset successfully.": "Conocimiento restablecido exitosamente.", "Knowledge updated successfully": "Conocimiento actualizado exitosamente.", - "Kokoro.js (Browser)": "", + "Kokoro.js (Browser)": "Kokoro.js (Navegador)", "Kokoro.js Dtype": "", "Label": "Etiqueta", "Landing Page Mode": "Modo de Página de Inicio", @@ -628,25 +638,25 @@ "Leave empty to include all models from \"{{URL}}/models\" endpoint": "Deje vacío para incluir todos los modelos desde el endpoint \"{{URL}}/models\"", "Leave empty to include all models or select specific models": "Deje vacío para incluir todos los modelos o seleccione modelos específicos", "Leave empty to use the default prompt, or enter a custom prompt": "Deje vacío para usar el prompt predeterminado, o ingrese un prompt personalizado", - "Leave model field empty to use the default model.": "", - "License": "", + "Leave model field empty to use the default model.": "Deje el campo del modelo vacío para usar el modelo predeterminado.", + "License": "Licencia", "Light": "Claro", "Listening...": "Escuchando...", "Llama.cpp": "Llama.cpp", "LLMs can make mistakes. Verify important information.": "Los LLM pueden cometer errores. Verifica la información importante.", - "Loader": "", - "Loading Kokoro.js...": "", + "Loader": "Cargador", + "Loading Kokoro.js...": "Cargando Kokoro.js...", "Local": "Local", "Local Models": "Modelos locales", - "Location access not allowed": "", - "Logit Bias": "", + "Location access not allowed": "Sin acceso a la ubicación", + "Logit Bias": "Sesgo de Logit", "Lost": "Perdido", "LTR": "LTR", "Made by Open WebUI Community": "Hecho por la comunidad de OpenWebUI", "Make sure to enclose them with": "Asegúrese de adjuntarlos con", "Make sure to export a workflow.json file as API format from ComfyUI.": "Asegúrese de exportar un archivo workflow.json en formato API desde ComfyUI.", "Manage": "Gestionar", - "Manage Direct Connections": "", + "Manage Direct Connections": "Manejar Conexiones Directas", "Manage Models": "Gestionar modelos", "Manage Ollama": "Gestionar Ollama", "Manage Ollama API Connections": "Gestionar conexiones API de Ollama", @@ -713,7 +723,7 @@ "No HTML, CSS, or JavaScript content found.": "No se encontró contenido HTML, CSS, o JavaScript.", "No inference engine with management support found": "No se encontró un motor de inferencia con soporte de gestión", "No knowledge found": "No se encontró ningún conocimiento", - "No memories to clear": "", + "No memories to clear": "No hay memorias para borrar", "No model IDs": "No hay IDs de modelos", "No models found": "No se encontraron modelos", "No models selected": "No se seleccionaron modelos", @@ -780,7 +790,7 @@ "Permission denied when accessing microphone": "Permiso denegado al acceder a la micrófono", "Permission denied when accessing microphone: {{error}}": "Permiso denegado al acceder al micrófono: {{error}}", "Permissions": "Permisos", - "Perplexity API Key": "", + "Perplexity API Key": "Clave API de Perplexity", "Personalization": "Personalización", "Pin": "Fijar", "Pinned": "Fijado", @@ -793,7 +803,7 @@ "Plain text (.txt)": "Texto plano (.txt)", "Playground": "Patio de juegos", "Please carefully review the following warnings:": "Por favor revise con cuidado los siguientes avisos:", - "Please do not close the settings page while loading the model.": "", + "Please do not close the settings page while loading the model.": "Por favor no cierre la página de ajustes mientras se carga el modelo.", "Please enter a prompt": "Por favor ingrese un prompt", "Please fill in all fields.": "Por favor llene todos los campos.", "Please select a model first.": "Por favor seleccione un modelo primero.", @@ -803,9 +813,10 @@ "Positive attitude": "Actitud positiva", "Prefix ID": "ID de prefijo", "Prefix ID is used to avoid conflicts with other connections by adding a prefix to the model IDs - leave empty to disable": "El ID de prefijo se utiliza para evitar conflictos con otras conexiones añadiendo un prefijo a los IDs de los modelos - deje vacío para deshabilitar", - "Presence Penalty": "", + "Presence Penalty": "Penalización de presencia", "Previous 30 days": "Últimos 30 días", "Previous 7 days": "Últimos 7 días", + "Private": "Privado", "Profile Image": "Imagen de perfil", "Prompt": "Prompt", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Prompt (por ejemplo, cuéntame una cosa divertida sobre el Imperio Romano)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "Prompt actualizado exitosamente", "Prompts": "Prompts", "Prompts Access": "Acceso a Prompts", + "Public": "Público", "Pull \"{{searchValue}}\" from Ollama.com": "Extraer \"{{searchValue}}\" de Ollama.com", "Pull a model from Ollama.com": "Obtener un modelo de Ollama.com", "Query Generation Prompt": "Prompt de generación de consulta", @@ -826,7 +838,7 @@ "Reasoning Effort": "Esfuerzo de razonamiento", "Record voice": "Grabar voz", "Redirecting you to Open WebUI Community": "Redireccionándote a la comunidad OpenWebUI", - "Reduces the probability of generating nonsense. A higher value (e.g. 100) will give more diverse answers, while a lower value (e.g. 10) will be more conservative.": "", + "Reduces the probability of generating nonsense. A higher value (e.g. 100) will give more diverse answers, while a lower value (e.g. 10) will be more conservative.": "Reduce la probabilidad de generar cosas sin sentido. Un valor más alto (por ejemplo, 100) dará respuestas más diversas, mientras que un valor más bajo (por ejemplo, 10) será más conservador.", "Refer to yourself as \"User\" (e.g., \"User is learning Spanish\")": "Referirse a usted mismo como \"Usuario\" (por ejemplo, \"El usuario está aprendiendo Español\")", "References from": "Referencias de", "Refused when it shouldn't have": "Rechazado cuando no debería", @@ -838,7 +850,7 @@ "Rename": "Renombrar", "Reorder Models": "Reordenar modelos", "Repeat Last N": "Repetir las últimas N", - "Repeat Penalty (Ollama)": "", + "Repeat Penalty (Ollama)": "Penalidad de repetición (Ollama)", "Reply in Thread": "Responder en el hilo", "Request Mode": "Modo de petición", "Reranking Model": "Modelo de reranking", @@ -852,7 +864,7 @@ "Response notifications cannot be activated as the website permissions have been denied. Please visit your browser settings to grant the necessary access.": "Las notificaciones de respuesta no pueden activarse debido a que los permisos del sitio web han sido denegados. Por favor, visite las configuraciones de su navegador para otorgar el acceso necesario.", "Response splitting": "División de respuestas", "Result": "Resultado", - "Retrieval": "", + "Retrieval": "Recuperación", "Retrieval Query Generation": "Generación de consulta de recuperación", "Rich Text Input for Chat": "Entrada de texto enriquecido para chat", "RK": "RK", @@ -902,7 +914,7 @@ "Select a pipeline": "Selección de una Pipeline", "Select a pipeline url": "Selección de una dirección URL de Pipeline", "Select a tool": "Busca una herramienta", - "Select an auth method": "", + "Select an auth method": "Selecciona un método de autenticación", "Select an Ollama instance": "Seleccionar una instancia de Ollama", "Select Engine": "Selecciona Motor", "Select Knowledge": "Selecciona Conocimiento", @@ -914,8 +926,8 @@ "Send message": "Enviar Mensaje", "Sends `stream_options: { include_usage: true }` in the request.\nSupported providers will return token usage information in the response when set.": "Envia `stream_options: { include_usage: true }` en la solicitud.\nLos proveedores admitidos devolverán información de uso del token en la respuesta cuando se establezca.", "September": "Septiembre", - "SerpApi API Key": "", - "SerpApi Engine": "", + "SerpApi API Key": "Clave API de SerpApi", + "SerpApi Engine": "Motor de SerpApi", "Serper API Key": "Clave API de Serper", "Serply API Key": "Clave API de Serply", "Serpstack API Key": "Clave API de Serpstack", @@ -935,11 +947,11 @@ "Set the number of worker threads used for computation. This option controls how many threads are used to process incoming requests concurrently. Increasing this value can improve performance under high concurrency workloads but may also consume more CPU resources.": "Establece el número de hilos de trabajo utilizados para el cálculo. Esta opción controla cuántos hilos se utilizan para procesar las solicitudes entrantes simultáneamente. Aumentar este valor puede mejorar el rendimiento bajo cargas de trabajo de alta concurrencia, pero también puede consumir más recursos de CPU.", "Set Voice": "Establecer la voz", "Set whisper model": "Establecer modelo de whisper", - "Sets a flat bias against tokens that have appeared at least once. A higher value (e.g., 1.5) will penalize repetitions more strongly, while a lower value (e.g., 0.9) will be more lenient. At 0, it is disabled.": "", - "Sets a scaling bias against tokens to penalize repetitions, based on how many times they have appeared. A higher value (e.g., 1.5) will penalize repetitions more strongly, while a lower value (e.g., 0.9) will be more lenient. At 0, it is disabled.": "", - "Sets how far back for the model to look back to prevent repetition.": "", - "Sets the random number seed to use for generation. Setting this to a specific number will make the model generate the same text for the same prompt.": "", - "Sets the size of the context window used to generate the next token.": "", + "Sets a flat bias against tokens that have appeared at least once. A higher value (e.g., 1.5) will penalize repetitions more strongly, while a lower value (e.g., 0.9) will be more lenient. At 0, it is disabled.": "Establece un sesgo plano contra los tokens que han aparecido al menos una vez. Un valor más alto (por ejemplo, 1.5) penalizará más fuertemente las repeticiones, mientras que un valor más bajo (por ejemplo, 0.9) será más indulgente. En 0, está deshabilitado.", + "Sets a scaling bias against tokens to penalize repetitions, based on how many times they have appeared. A higher value (e.g., 1.5) will penalize repetitions more strongly, while a lower value (e.g., 0.9) will be more lenient. At 0, it is disabled.": "Establece un sesgo de escala contra los tokens para penalizar las repeticiones, basado en cuántas veces han aparecido. Un valor más alto (por ejemplo, 1.5) penalizará más fuertemente las repeticiones, mientras que un valor más bajo (por ejemplo, 0.9) será más indulgente. En 0, está deshabilitado.", + "Sets how far back for the model to look back to prevent repetition.": "Establece cuánto tiempo atrás debe mirar el modelo para evitar la repetición.", + "Sets the random number seed to use for generation. Setting this to a specific number will make the model generate the same text for the same prompt.": "Establece la semilla de números aleatorios a usar para la generación. Establecer esto a un número específico hará que el modelo genere el mismo texto para el mismo prompt.", + "Sets the size of the context window used to generate the next token.": "Establece el tamaño de la ventana de contexto utilizada para generar el siguiente token.", "Sets the stop sequences to use. When this pattern is encountered, the LLM will stop generating text and return. Multiple stop patterns may be set by specifying multiple separate stop parameters in a modelfile.": "Establece las secuencias de parada a usar. Cuando se encuentre este patrón, el LLM dejará de generar texto y devolverá. Se pueden establecer varios patrones de parada especificando múltiples parámetros de parada separados en un archivo de modelo.", "Settings": "Configuración", "Settings saved successfully!": "¡Configuración guardada con éxito!", @@ -979,12 +991,13 @@ "System": "Sistema", "System Instructions": "Instrucciones del sistema", "System Prompt": "Prompt del sistema", + "Tags": "Etiquetas", "Tags Generation": "Generación de etiquetas", "Tags Generation Prompt": "Prompt de generación de etiquetas", - "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", - "Talk to model": "", + "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "Muestreo libre de cola se utiliza para reducir el impacto de los tokens menos probables de la salida. Un valor más alto (por ejemplo, 2.0) reducirá más el impacto, mientras que un valor de 1.0 deshabilita esta configuración.", + "Talk to model": "Hablar con el modelo", "Tap to interrupt": "Toca para interrumpir", - "Tasks": "", + "Tasks": "Tareas", "Tavily API Key": "Clave API de Tavily", "Tell us more:": "Dinos más:", "Temperature": "Temperatura", @@ -996,7 +1009,7 @@ "Thanks for your feedback!": "¡Gracias por tu retroalimentación!", "The Application Account DN you bind with for search": "La cuenta de aplicación DN que vincula para la búsqueda", "The base to search for users": "La base para buscar usuarios", - "The batch size determines how many text requests are processed together at once. A higher batch size can increase the performance and speed of the model, but it also requires more memory.": "", + "The batch size determines how many text requests are processed together at once. A higher batch size can increase the performance and speed of the model, but it also requires more memory.": "El tamaño del lote determina cuántas solicitudes de texto se procesan juntas a la vez. Un tamaño de lote más alto puede aumentar el rendimiento y la velocidad del modelo, pero también requiere más memoria.", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "Los desarrolladores de este plugin son apasionados voluntarios de la comunidad. Si encuentras este plugin útil, por favor considere contribuir a su desarrollo.", "The evaluation leaderboard is based on the Elo rating system and is updated in real-time.": "El tablero de líderes de evaluación se basa en el sistema de clasificación Elo y se actualiza en tiempo real.", "The LDAP attribute that maps to the mail that users use to sign in.": "El atributo LDAP que se asigna al correo que los usuarios utilizan para iniciar sesión.", @@ -1005,14 +1018,15 @@ "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "El tamaño máximo del archivo en MB. Si el tamaño del archivo supera este límite, el archivo no se subirá.", "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "El número máximo de archivos que se pueden utilizar a la vez en chat. Si este límite es superado, los archivos no se subirán.", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "La puntuación debe ser un valor entre 0.0 (0%) y 1.0 (100%).", - "The temperature of the model. Increasing the temperature will make the model answer more creatively.": "", + "The temperature of the model. Increasing the temperature will make the model answer more creatively.": "La temperatura del modelo. Aumentar la temperatura hará que el modelo responda de forma más creativa.", "Theme": "Tema", "Thinking...": "Pensando...", "This action cannot be undone. Do you wish to continue?": "Esta acción no se puede deshacer. ¿Desea continuar?", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "Este canal fue creado el {{createdAt}}. Este es el comienzo del canal {{channelName}}.", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Esto garantiza que sus valiosas conversaciones se guarden de forma segura en su base de datos en el backend. ¡Gracias!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "Esta es una característica experimental que puede no funcionar como se esperaba y está sujeto a cambios en cualquier momento.", - "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", - "This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "", + "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "Esta opción controla cuántos tokens se conservan al actualizar el contexto. Por ejemplo, si se establece en 2, se conservarán los últimos 2 tokens del contexto de la conversación. Conservar el contexto puede ayudar a mantener la continuidad de una conversación, pero puede reducir la capacidad de responder a nuevos temas.", + "This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "Esta opción establece el número máximo de tokens que el modelo puede generar en su respuesta. Aumentar este límite permite al modelo proporcionar respuestas más largas, pero también puede aumentar la probabilidad de que se genere contenido no útil o irrelevante.", "This option will delete all existing files in the collection and replace them with newly uploaded files.": "Esta opción eliminará todos los archivos existentes en la colección y los reemplazará con nuevos archivos subidos.", "This response was generated by \"{{model}}\"": "Esta respuesta fue generada por \"{{model}}\"", "This will delete": "Esto eliminará", @@ -1022,7 +1036,7 @@ "This will reset the knowledge base and sync all files. Do you wish to continue?": "Esto reseteará la base de conocimientos y sincronizará todos los archivos. ¿Desea continuar?", "Thorough explanation": "Explicación exhaustiva", "Thought for {{DURATION}}": "Pensamiento para {{DURATION}}", - "Thought for {{DURATION}} seconds": "", + "Thought for {{DURATION}} seconds": "Persamiento por {{DURATION}} segundos", "Tika": "Tika", "Tika Server URL required.": "URL del servidor de Tika", "Tiktoken": "Tiktoken", @@ -1031,7 +1045,7 @@ "Title (e.g. Tell me a fun fact)": "Título (por ejemplo, cuéntame una curiosidad)", "Title Auto-Generation": "Generación automática de títulos", "Title cannot be an empty string.": "El título no puede ser una cadena vacía.", - "Title Generation": "", + "Title Generation": "Generación de títulos", "Title Generation Prompt": "Prompt de generación de título", "TLS": "TLS", "To access the available model names for downloading,": "Para acceder a los nombres de modelos disponibles para descargar,", @@ -1067,7 +1081,7 @@ "Top P": "Top P", "Transformers": "Transformadores", "Trouble accessing Ollama?": "¿Problemas para acceder a Ollama?", - "Trust Proxy Environment": "", + "Trust Proxy Environment": "Confiar en el entorno proxy", "TTS Model": "Modelo TTS", "TTS Settings": "Configuración de TTS", "TTS Voice": "Voz del TTS", @@ -1089,7 +1103,7 @@ "Updated": "Actualizado", "Updated at": "Actualizado en", "Updated At": "Actualizado en", - "Upgrade to a licensed plan for enhanced capabilities, including custom theming and branding, and dedicated support.": "", + "Upgrade to a licensed plan for enhanced capabilities, including custom theming and branding, and dedicated support.": "Actualice su cuenta a una pagada para capacidades mejoradas, incluyendo personalización de temas y marca, y soporte dedicado.", "Upload": "Subir", "Upload a GGUF model": "Subir un modelo GGUF", "Upload directory": "Directorio de carga", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "Valves actualizados con éxito", "variable": "variable", "variable to have them replaced with clipboard content.": "variable para reemplazarlos con el contenido del portapapeles.", + "Verify Connection": "Verificar conexión", "Version": "Versión", "Version {{selectedVersion}} of {{totalVersions}}": "Versión {{selectedVersion}} de {{totalVersions}}", "View Replies": "Ver respuestas", @@ -1128,7 +1143,7 @@ "Warning:": "Advertencia:", "Warning: Enabling this will allow users to upload arbitrary code on the server.": "Advertencia: Habilitar esto permitirá a los usuarios subir código arbitrario en el servidor.", "Warning: If you update or change your embedding model, you will need to re-import all documents.": "Advertencia: Si actualiza o cambia su modelo de inserción, necesitará volver a importar todos los documentos.", - "Warning: Jupyter execution enables arbitrary code execution, posing severe security risks—proceed with extreme caution.": "", + "Warning: Jupyter execution enables arbitrary code execution, posing severe security risks—proceed with extreme caution.": "Advertencia: La ejecución de Jupyter habilita la ejecución de código arbitrario, lo que plantea graves riesgos de seguridad. Proceda con extrema precaución.", "Web": "Web", "Web API": "API Web", "Web Search": "Búsqueda en la Web", @@ -1139,7 +1154,7 @@ "WebUI Settings": "Configuración del WebUI", "WebUI URL": "URL del WebUI", "WebUI will make requests to \"{{url}}/api/chat\"": "WebUI hará solicitudes a \"{{url}}/api/chat\"", - "WebUI will make requests to \"{{url}}/chat/completions\"": "WebUI hará solicitudes a \"{{url}}/chat/completions\"", + "WebUI will make requests to \"{{url}}/chat/completions\"": "WebUI hará solicitudes a \"{{url}}/chat/completions\"WebUI hará solicitudes a \"{{url}}/chat/completions\"", "What are you trying to achieve?": "¿Qué estás tratando de lograr?", "What are you working on?": "¿En qué estás trabajando?", "What’s New in": "Novedades en", @@ -1149,7 +1164,7 @@ "Why?": "¿Por qué?", "Widescreen Mode": "Modo de pantalla ancha", "Won": "Ganado", - "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.": "", + "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.": "Funciona junto con top-k. Un valor más alto (por ejemplo, 0.95) dará lugar a un texto más diverso, mientras que un valor más bajo (por ejemplo, 0.5) generará un texto más enfocado y conservador.", "Workspace": "Espacio de trabajo", "Workspace Permissions": "Permisos del espacio de trabajo", "Write": "Escribir", @@ -1159,11 +1174,10 @@ "Write your model template content here": "Escribe el contenido de tu plantilla de modelo aquí", "Yesterday": "Ayer", "You": "Usted", - "You are currently using a trial license. Please contact support to upgrade your license.": "", + "You are currently using a trial license. Please contact support to upgrade your license.": "Usted está utilizando actualmente una licencia de prueba. Por favor, contacte al soporte para actualizar su licencia.", "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "Solo puede chatear con un máximo de {{maxCount}} archivo(s) a la vez.", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Puede personalizar sus interacciones con LLMs añadiendo memorias a través del botón 'Gestionar' debajo, haciendo que sean más útiles y personalizados para usted.", "You cannot upload an empty file.": "No puede subir un archivo vacío.", - "You do not have permission to access this feature.": "No tiene permiso para acceder a esta función.", "You do not have permission to upload files": "No tiene permiso para subir archivos", "You do not have permission to upload files.": "No tiene permiso para subir archivos.", "You have no archived conversations.": "No tiene conversaciones archivadas.", @@ -1173,6 +1187,6 @@ "Your account status is currently pending activation.": "El estado de su cuenta actualmente se encuentra pendiente de activación.", "Your entire contribution will go directly to the plugin developer; Open WebUI does not take any percentage. However, the chosen funding platform might have its own fees.": "Su contribución completa irá directamente a el desarrollador del plugin; Open WebUI no toma ningun porcentaje. Sin embargo, la plataforma de financiación elegida podría tener sus propias tarifas.", "Youtube": "Youtube", - "Youtube Language": "", + "Youtube Language": "Lenguaje de Youtube", "Youtube Proxy URL": "" } diff --git a/src/lib/i18n/locales/et-EE/translation.json b/src/lib/i18n/locales/et-EE/translation.json new file mode 100644 index 000000000..12e7120ff --- /dev/null +++ b/src/lib/i18n/locales/et-EE/translation.json @@ -0,0 +1,1192 @@ +{ + "-1 for no limit, or a positive integer for a specific limit": "-1 piirangu puudumisel või positiivne täisarv konkreetse piirangu jaoks", + "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' või '-1' aegumiseta.", + "(e.g. `sh webui.sh --api --api-auth username_password`)": "(nt `sh webui.sh --api --api-auth kasutajanimi_parool`)", + "(e.g. `sh webui.sh --api`)": "(nt `sh webui.sh --api`)", + "(latest)": "(uusim)", + "(Ollama)": "", + "{{ models }}": "{{ mudelid }}", + "{{COUNT}} hidden lines": "{{COUNT}} peidetud rida", + "{{COUNT}} Replies": "{{COUNT}} vastust", + "{{user}}'s Chats": "{{user}} vestlused", + "{{webUIName}} Backend Required": "{{webUIName}} taustaserver on vajalik", + "*Prompt node ID(s) are required for image generation": "*Vihje sõlme ID(d) on piltide genereerimiseks vajalikud", + "A new version (v{{LATEST_VERSION}}) is now available.": "Uus versioon (v{{LATEST_VERSION}}) on saadaval.", + "A task model is used when performing tasks such as generating titles for chats and web search queries": "Ülesande mudelit kasutatakse selliste toimingute jaoks nagu vestluste pealkirjade ja veebiotsingu päringute genereerimine", + "a user": "kasutaja", + "About": "Teave", + "Accept autocomplete generation / Jump to prompt variable": "Nõustu automaattäitmisega / Liigu vihjete muutujale", + "Access": "Juurdepääs", + "Access Control": "Juurdepääsu kontroll", + "Accessible to all users": "Kättesaadav kõigile kasutajatele", + "Account": "Konto", + "Account Activation Pending": "Konto aktiveerimine ootel", + "Accurate information": "Täpne informatsioon", + "Actions": "Toimingud", + "Activate": "Aktiveeri", + "Activate this command by typing \"/{{COMMAND}}\" to chat input.": "Aktiveeri see käsk, trükkides \"/{{COMMAND}}\" vestluse sisendritta.", + "Active Users": "Aktiivsed kasutajad", + "Add": "Lisa", + "Add a model ID": "Lisa mudeli ID", + "Add a short description about what this model does": "Lisa lühike kirjeldus, mida see mudel teeb", + "Add a tag": "Lisa silt", + "Add Arena Model": "Lisa Areena mudel", + "Add Connection": "Lisa ühendus", + "Add Content": "Lisa sisu", + "Add content here": "Lisa siia sisu", + "Add custom prompt": "Lisa kohandatud vihjeid", + "Add Files": "Lisa faile", + "Add Group": "Lisa grupp", + "Add Memory": "Lisa mälu", + "Add Model": "Lisa mudel", + "Add Reaction": "Lisa reaktsioon", + "Add Tag": "Lisa silt", + "Add Tags": "Lisa silte", + "Add text content": "Lisa tekstisisu", + "Add User": "Lisa kasutaja", + "Add User Group": "Lisa kasutajagrupp", + "Adjusting these settings will apply changes universally to all users.": "Nende seadete kohandamine rakendab muudatused universaalselt kõigile kasutajatele.", + "admin": "admin", + "Admin": "Administraator", + "Admin Panel": "Administraatori paneel", + "Admin Settings": "Administraatori seaded", + "Admins have access to all tools at all times; users need tools assigned per model in the workspace.": "Administraatoritel on alati juurdepääs kõigile tööriistadele; kasutajatele tuleb tööriistad määrata mudeli põhiselt tööruumis.", + "Advanced Parameters": "Täpsemad parameetrid", + "Advanced Params": "Täpsemad parameetrid", + "All": "Kõik", + "All Documents": "Kõik dokumendid", + "All models deleted successfully": "Kõik mudelid edukalt kustutatud", + "Allow Chat Controls": "Luba vestluse kontrollnupud", + "Allow Chat Delete": "Luba vestluse kustutamine", + "Allow Chat Deletion": "Luba vestluse kustutamine", + "Allow Chat Edit": "Luba vestluse muutmine", + "Allow File Upload": "Luba failide üleslaadimine", + "Allow non-local voices": "Luba mitte-lokaalsed hääled", + "Allow Temporary Chat": "Luba ajutine vestlus", + "Allow User Location": "Luba kasutaja asukoht", + "Allow Voice Interruption in Call": "Luba hääle katkestamine kõnes", + "Allowed Endpoints": "Lubatud lõpp-punktid", + "Already have an account?": "Kas teil on juba konto?", + "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "Alternatiiv top_p-le ja eesmärk on tagada kvaliteedi ja mitmekesisuse tasakaal. Parameeter p esindab minimaalset tõenäosust tokeni arvesse võtmiseks, võrreldes kõige tõenäolisema tokeni tõenäosusega. Näiteks p=0.05 korral, kui kõige tõenäolisema tokeni tõenäosus on 0.9, filtreeritakse välja logitid väärtusega alla 0.045.", + "Always": "Alati", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", + "Amazing": "Suurepärane", + "an assistant": "assistent", + "Analyzed": "Analüüsitud", + "Analyzing...": "Analüüsimine...", + "and": "ja", + "and {{COUNT}} more": "ja veel {{COUNT}}", + "and create a new shared link.": "ja looge uus jagatud link.", + "API Base URL": "API baas-URL", + "API Key": "API võti", + "API Key created.": "API võti loodud.", + "API Key Endpoint Restrictions": "API võtme lõpp-punkti piirangud", + "API keys": "API võtmed", + "Application DN": "Rakenduse DN", + "Application DN Password": "Rakenduse DN parool", + "applies to all users with the \"user\" role": "kehtib kõigile kasutajatele \"kasutaja\" rolliga", + "April": "Aprill", + "Archive": "Arhiveeri", + "Archive All Chats": "Arhiveeri kõik vestlused", + "Archived Chats": "Arhiveeritud vestlused", + "archived-chat-export": "arhiveeritud-vestluste-eksport", + "Are you sure you want to clear all memories? This action cannot be undone.": "Kas olete kindel, et soovite kustutada kõik mälestused? Seda toimingut ei saa tagasi võtta.", + "Are you sure you want to delete this channel?": "Kas olete kindel, et soovite selle kanali kustutada?", + "Are you sure you want to delete this message?": "Kas olete kindel, et soovite selle sõnumi kustutada?", + "Are you sure you want to unarchive all archived chats?": "Kas olete kindel, et soovite kõik arhiveeritud vestlused arhiivist eemaldada?", + "Are you sure?": "Kas olete kindel?", + "Arena Models": "Areena mudelid", + "Artifacts": "Tekkinud objektid", + "Ask": "Küsi", + "Ask a question": "Esita küsimus", + "Assistant": "Assistent", + "Attach file from knowledge": "Lisa fail teadmiste baasist", + "Attention to detail": "Tähelepanu detailidele", + "Attribute for Mail": "E-posti atribuut", + "Attribute for Username": "Kasutajanime atribuut", + "Audio": "Heli", + "August": "August", + "Authenticate": "Autendi", + "Authentication": "Autentimine", + "Auto-Copy Response to Clipboard": "Kopeeri vastus automaatselt lõikelauale", + "Auto-playback response": "Mängi vastus automaatselt", + "Autocomplete Generation": "Automaattäitmise genereerimine", + "Autocomplete Generation Input Max Length": "Automaattäitmise genereerimise sisendi maksimaalne pikkus", + "Automatic1111": "Automatic1111", + "AUTOMATIC1111 Api Auth String": "AUTOMATIC1111 API autentimise string", + "AUTOMATIC1111 Base URL": "AUTOMATIC1111 baas-URL", + "AUTOMATIC1111 Base URL is required.": "AUTOMATIC1111 baas-URL on nõutav.", + "Available list": "Saadaolevate nimekiri", + "available!": "saadaval!", + "Awful": "Kohutav", + "Azure AI Speech": "Azure AI Kõne", + "Azure Region": "Azure regioon", + "Back": "Tagasi", + "Bad Response": "Halb vastus", + "Banners": "Bännerid", + "Base Model (From)": "Baas mudel (Allikas)", + "Batch Size (num_batch)": "Partii suurus (num_batch)", + "before": "enne", + "Being lazy": "Laisklemine", + "Beta": "Beeta", + "Bing Search V7 Endpoint": "Bing Search V7 lõpp-punkt", + "Bing Search V7 Subscription Key": "Bing Search V7 tellimuse võti", + "Bocha Search API Key": "Bocha otsingu API võti", + "Boosting or penalizing specific tokens for constrained responses. Bias values will be clamped between -100 and 100 (inclusive). (Default: none)": "Konkreetsete tokenite võimendamine või karistamine piiratud vastuste jaoks. Kallutatuse väärtused piiratakse vahemikku -100 kuni 100 (kaasa arvatud). (Vaikimisi: puudub)", + "Brave Search API Key": "Brave Search API võti", + "By {{name}}": "Autor: {{name}}", + "Bypass Embedding and Retrieval": "Möödaminek sisestamisest ja taastamisest", + "Bypass SSL verification for Websites": "Möödaminek veebisaitide SSL-kontrollimisest", + "Calendar": "Kalender", + "Call": "Kõne", + "Call feature is not supported when using Web STT engine": "Kõnefunktsioon ei ole Web STT mootorit kasutades toetatud", + "Camera": "Kaamera", + "Cancel": "Tühista", + "Capabilities": "Võimekused", + "Capture": "Jäädvusta", + "Certificate Path": "Sertifikaadi tee", + "Change Password": "Muuda parooli", + "Channel Name": "Kanali nimi", + "Channels": "Kanalid", + "Character": "Tegelane", + "Character limit for autocomplete generation input": "Märkide piirang automaattäitmise genereerimise sisendile", + "Chart new frontiers": "Kaardista uusi piire", + "Chat": "Vestlus", + "Chat Background Image": "Vestluse taustapilt", + "Chat Bubble UI": "Vestlusmullide kasutajaliides", + "Chat Controls": "Vestluse juhtnupud", + "Chat direction": "Vestluse suund", + "Chat Overview": "Vestluse ülevaade", + "Chat Permissions": "Vestluse õigused", + "Chat Tags Auto-Generation": "Vestluse siltide automaatnegeneerimine", + "Chats": "Vestlused", + "Check Again": "Kontrolli uuesti", + "Check for updates": "Kontrolli uuendusi", + "Checking for updates...": "Uuenduste kontrollimine...", + "Choose a model before saving...": "Valige mudel enne salvestamist...", + "Chunk Overlap": "Tükkide ülekate", + "Chunk Size": "Tüki suurus", + "Ciphers": "Šifrid", + "Citation": "Viide", + "Clear memory": "Tühjenda mälu", + "Clear Memory": "Tühjenda mälu", + "click here": "klõpsake siia", + "Click here for filter guides.": "Filtri juhiste jaoks klõpsake siia.", + "Click here for help.": "Abi saamiseks klõpsake siia.", + "Click here to": "Klõpsake siia, et", + "Click here to download user import template file.": "Klõpsake siia kasutajate importimise mallifaili allalaadimiseks.", + "Click here to learn more about faster-whisper and see the available models.": "Klõpsake siia, et teada saada rohkem faster-whisper kohta ja näha saadaolevaid mudeleid.", + "Click here to see available models.": "Klõpsake siia, et näha saadaolevaid mudeleid.", + "Click here to select": "Klõpsake siia valimiseks", + "Click here to select a csv file.": "Klõpsake siia csv-faili valimiseks.", + "Click here to select a py file.": "Klõpsake siia py-faili valimiseks.", + "Click here to upload a workflow.json file.": "Klõpsake siia workflow.json faili üleslaadimiseks.", + "click here.": "klõpsake siia.", + "Click on the user role button to change a user's role.": "Kasutaja rolli muutmiseks klõpsake kasutaja rolli nuppu.", + "Clipboard write permission denied. Please check your browser settings to grant the necessary access.": "Lõikelaua kirjutamisõigust ei antud. Kontrollige oma brauseri seadeid, et anda vajalik juurdepääs.", + "Clone": "Klooni", + "Clone Chat": "Klooni vestlus", + "Clone of {{TITLE}}": "{{TITLE}} koopia", + "Close": "Sulge", + "Code execution": "Koodi täitmine", + "Code Execution": "Koodi täitmine", + "Code Execution Engine": "Koodi täitmise mootor", + "Code Execution Timeout": "Koodi täitmise aegumine", + "Code formatted successfully": "Kood vormindatud edukalt", + "Code Interpreter": "Koodi interpretaator", + "Code Interpreter Engine": "Koodi interpretaatori mootor", + "Code Interpreter Prompt Template": "Koodi interpretaatori vihje mall", + "Collapse": "Ahenda", + "Collection": "Kogu", + "Color": "Värv", + "ComfyUI": "ComfyUI", + "ComfyUI API Key": "ComfyUI API võti", + "ComfyUI Base URL": "ComfyUI baas-URL", + "ComfyUI Base URL is required.": "ComfyUI baas-URL on nõutav.", + "ComfyUI Workflow": "ComfyUI töövoog", + "ComfyUI Workflow Nodes": "ComfyUI töövoo sõlmed", + "Command": "Käsk", + "Completions": "Lõpetamised", + "Concurrent Requests": "Samaaegsed päringud", + "Configure": "Konfigureeri", + "Confirm": "Kinnita", + "Confirm Password": "Kinnita parool", + "Confirm your action": "Kinnita oma toiming", + "Confirm your new password": "Kinnita oma uus parool", + "Connect to your own OpenAI compatible API endpoints.": "Ühendu oma OpenAI-ga ühilduvate API lõpp-punktidega.", + "Connections": "Ühendused", + "Constrains effort on reasoning for reasoning models. Only applicable to reasoning models from specific providers that support reasoning effort.": "Piirab arutluse pingutust arutlusvõimelistele mudelitele. Kohaldatav ainult konkreetsete pakkujate arutlusmudelitele, mis toetavad arutluspingutust.", + "Contact Admin for WebUI Access": "Võtke WebUI juurdepääsu saamiseks ühendust administraatoriga", + "Content": "Sisu", + "Content Extraction Engine": "Sisu ekstraheerimise mootor", + "Context Length": "Konteksti pikkus", + "Continue Response": "Jätka vastust", + "Continue with {{provider}}": "Jätka {{provider}}-ga", + "Continue with Email": "Jätka e-postiga", + "Continue with LDAP": "Jätka LDAP-ga", + "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.": "Kontrolli, kuidas sõnumitekst on jagatud TTS-päringute jaoks. 'Kirjavahemärgid' jagab lauseteks, 'lõigud' jagab lõikudeks ja 'puudub' hoiab sõnumi ühe stringina.", + "Control the repetition of token sequences in the generated text. A higher value (e.g., 1.5) will penalize repetitions more strongly, while a lower value (e.g., 1.1) will be more lenient. At 1, it is disabled.": "Kontrollige tokeni järjestuste kordumist genereeritud tekstis. Kõrgem väärtus (nt 1,5) karistab kordusi tugevamalt, samas kui madalam väärtus (nt 1,1) on leebem. Väärtuse 1 korral on see keelatud.", + "Controls": "Juhtnupud", + "Controls the balance between coherence and diversity of the output. A lower value will result in more focused and coherent text.": "Kontrollib väljundi sidususe ja mitmekesisuse vahelist tasakaalu. Madalam väärtus annab tulemuseks fokuseerituma ja sidusamaja teksti.", + "Copied": "Kopeeritud", + "Copied shared chat URL to clipboard!": "Jagatud vestluse URL kopeeritud lõikelauale!", + "Copied to clipboard": "Kopeeritud lõikelauale", + "Copy": "Kopeeri", + "Copy last code block": "Kopeeri viimane koodiplokk", + "Copy last response": "Kopeeri viimane vastus", + "Copy Link": "Kopeeri link", + "Copy to clipboard": "Kopeeri lõikelauale", + "Copying to clipboard was successful!": "Lõikelauale kopeerimine õnnestus!", + "CORS must be properly configured by the provider to allow requests from Open WebUI.": "Teenusepakkuja peab nõuetekohaselt konfigureerima CORS-i, et lubada päringuid Open WebUI-lt.", + "Create": "Loo", + "Create a knowledge base": "Loo teadmiste baas", + "Create a model": "Loo mudel", + "Create Account": "Loo konto", + "Create Admin Account": "Loo administraatori konto", + "Create Channel": "Loo kanal", + "Create Group": "Loo grupp", + "Create Knowledge": "Loo teadmised", + "Create new key": "Loo uus võti", + "Create new secret key": "Loo uus salavõti", + "Created at": "Loomise aeg", + "Created At": "Loomise aeg", + "Created by": "Autor", + "CSV Import": "CSV import", + "Ctrl+Enter to Send": "Ctrl+Enter saatmiseks", + "Current Model": "Praegune mudel", + "Current Password": "Praegune parool", + "Custom": "Kohandatud", + "Danger Zone": "Ohutsoon", + "Dark": "Tume", + "Database": "Andmebaas", + "December": "Detsember", + "Default": "Vaikimisi", + "Default (Open AI)": "Vaikimisi (Open AI)", + "Default (SentenceTransformers)": "Vaikimisi (SentenceTransformers)", + "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": "Vaikimisi mudel", + "Default model updated": "Vaikimisi mudel uuendatud", + "Default Models": "Vaikimisi mudelid", + "Default permissions": "Vaikimisi õigused", + "Default permissions updated successfully": "Vaikimisi õigused edukalt uuendatud", + "Default Prompt Suggestions": "Vaikimisi vihjete soovitused", + "Default to 389 or 636 if TLS is enabled": "Vaikimisi 389 või 636, kui TLS on lubatud", + "Default to ALL": "Vaikimisi KÕIK", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", + "Default User Role": "Vaikimisi kasutaja roll", + "Delete": "Kustuta", + "Delete a model": "Kustuta mudel", + "Delete All Chats": "Kustuta kõik vestlused", + "Delete All Models": "Kustuta kõik mudelid", + "Delete chat": "Kustuta vestlus", + "Delete Chat": "Kustuta vestlus", + "Delete chat?": "Kustutada vestlus?", + "Delete folder?": "Kustutada kaust?", + "Delete function?": "Kustutada funktsioon?", + "Delete Message": "Kustuta sõnum", + "Delete message?": "Kustutada sõnum?", + "Delete prompt?": "Kustutada vihjed?", + "delete this link": "kustuta see link", + "Delete tool?": "Kustutada tööriist?", + "Delete User": "Kustuta kasutaja", + "Deleted {{deleteModelTag}}": "Kustutatud {{deleteModelTag}}", + "Deleted {{name}}": "Kustutatud {{name}}", + "Deleted User": "Kustutatud kasutaja", + "Describe your knowledge base and objectives": "Kirjeldage oma teadmiste baasi ja eesmärke", + "Description": "Kirjeldus", + "Didn't fully follow instructions": "Ei järginud täielikult juhiseid", + "Direct": "", + "Direct Connections": "Otsesed ühendused", + "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "Otsesed ühendused võimaldavad kasutajatel ühenduda oma OpenAI-ga ühilduvate API lõpp-punktidega.", + "Direct Connections settings updated": "Otseste ühenduste seaded uuendatud", + "Disabled": "Keelatud", + "Discover a function": "Avasta funktsioon", + "Discover a model": "Avasta mudel", + "Discover a prompt": "Avasta vihje", + "Discover a tool": "Avasta tööriist", + "Discover how to use Open WebUI and seek support from the community.": "Avastage, kuidas kasutada Open WebUI-d ja otsige tuge kogukonnalt.", + "Discover wonders": "Avasta imesid", + "Discover, download, and explore custom functions": "Avasta, laadi alla ja uuri kohandatud funktsioone", + "Discover, download, and explore custom prompts": "Avasta, laadi alla ja uuri kohandatud vihjeid", + "Discover, download, and explore custom tools": "Avasta, laadi alla ja uuri kohandatud tööriistu", + "Discover, download, and explore model presets": "Avasta, laadi alla ja uuri mudeli eelseadistusi", + "Dismissible": "Sulgetav", + "Display": "Kuva", + "Display Emoji in Call": "Kuva kõnes emoji", + "Display the username instead of You in the Chat": "Kuva vestluses 'Sina' asemel kasutajanimi", + "Displays citations in the response": "Kuvab vastuses viited", + "Dive into knowledge": "Sukeldu teadmistesse", + "Do not install functions from sources you do not fully trust.": "Ärge installige funktsioone allikatest, mida te täielikult ei usalda.", + "Do not install tools from sources you do not fully trust.": "Ärge installige tööriistu allikatest, mida te täielikult ei usalda.", + "Docling": "", + "Docling Server URL required.": "", + "Document": "Dokument", + "Document Intelligence": "Dokumendi intelligentsus", + "Document Intelligence endpoint and key required.": "Dokumendi intelligentsuse lõpp-punkt ja võti on nõutavad.", + "Documentation": "Dokumentatsioon", + "Documents": "Dokumendid", + "does not make any external connections, and your data stays securely on your locally hosted server.": "ei loo väliseid ühendusi ja teie andmed jäävad turvaliselt teie kohalikult majutatud serverisse.", + "Domain Filter List": "Domeeni filtri nimekiri", + "Don't have an account?": "Pole kontot?", + "don't install random functions from sources you don't trust.": "ärge installige juhuslikke funktsioone allikatest, mida te ei usalda.", + "don't install random tools from sources you don't trust.": "ärge installige juhuslikke tööriistu allikatest, mida te ei usalda.", + "Don't like the style": "Stiil ei meeldi", + "Done": "Valmis", + "Download": "Laadi alla", + "Download as SVG": "Laadi alla SVG-na", + "Download canceled": "Allalaadimine tühistatud", + "Download Database": "Laadi alla andmebaas", + "Drag and drop a file to upload or select a file to view": "Lohistage ja kukutage fail üleslaadimiseks või valige fail vaatamiseks", + "Draw": "Joonista", + "Drop any files here to add to the conversation": "Lohistage siia mistahes failid, et lisada need vestlusele", + "e.g. '30s','10m'. Valid time units are 's', 'm', 'h'.": "nt '30s', '10m'. Kehtivad ajaühikud on 's', 'm', 'h'.", + "e.g. 60": "nt 60", + "e.g. A filter to remove profanity from text": "nt filter, mis eemaldab tekstist roppused", + "e.g. My Filter": "nt Minu Filter", + "e.g. My Tools": "nt Minu Tööriistad", + "e.g. my_filter": "nt minu_filter", + "e.g. my_tools": "nt minu_toriistad", + "e.g. Tools for performing various operations": "nt tööriistad mitmesuguste operatsioonide teostamiseks", + "Edit": "Muuda", + "Edit Arena Model": "Muuda Areena mudelit", + "Edit Channel": "Muuda kanalit", + "Edit Connection": "Muuda ühendust", + "Edit Default Permissions": "Muuda vaikimisi õigusi", + "Edit Memory": "Muuda mälu", + "Edit User": "Muuda kasutajat", + "Edit User Group": "Muuda kasutajagruppi", + "ElevenLabs": "ElevenLabs", + "Email": "E-post", + "Embark on adventures": "Alusta seiklusi", + "Embedding": "Manustamine", + "Embedding Batch Size": "Manustamise partii suurus", + "Embedding Model": "Manustamise mudel", + "Embedding Model Engine": "Manustamise mudeli mootor", + "Embedding model set to \"{{embedding_model}}\"": "Manustamise mudel määratud kui \"{{embedding_model}}\"", + "Enable API Key": "Luba API võti", + "Enable autocomplete generation for chat messages": "Luba automaattäitmise genereerimine vestlussõnumitele", + "Enable Code Execution": "Luba koodi täitmine", + "Enable Code Interpreter": "Luba koodi interpretaator", + "Enable Community Sharing": "Luba kogukonnaga jagamine", + "Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "Luba mälu lukustamine (mlock), et vältida mudeli andmete vahetamist RAM-ist välja. See valik lukustab mudeli töökomplekti lehed RAM-i, tagades, et neid ei vahetata kettale. See aitab säilitada jõudlust, vältides lehevigu ja tagades kiire andmete juurdepääsu.", + "Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "Luba mälu kaardistamine (mmap) mudeli andmete laadimiseks. See valik võimaldab süsteemil kasutada kettamahtu RAM-i laiendusena, koheldes kettafaile nii, nagu need oleksid RAM-is. See võib parandada mudeli jõudlust, võimaldades kiiremat andmete juurdepääsu. See ei pruugi siiski kõigi süsteemidega õigesti töötada ja võib tarbida märkimisväärse koguse kettaruumi.", + "Enable Message Rating": "Luba sõnumite hindamine", + "Enable Mirostat sampling for controlling perplexity.": "Luba Mirostat'i valim perplekssuse juhtimiseks.", + "Enable New Sign Ups": "Luba uued registreerimised", + "Enabled": "Lubatud", + "Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Veenduge, et teie CSV-fail sisaldab 4 veergu selles järjekorras: Nimi, E-post, Parool, Roll.", + "Enter {{role}} message here": "Sisestage {{role}} sõnum siia", + "Enter a detail about yourself for your LLMs to recall": "Sisestage detail enda kohta, mida teie LLM-id saavad meenutada", + "Enter api auth string (e.g. username:password)": "Sisestage api autentimisstring (nt kasutajanimi:parool)", + "Enter Application DN": "Sisestage rakenduse DN", + "Enter Application DN Password": "Sisestage rakenduse DN parool", + "Enter Bing Search V7 Endpoint": "Sisestage Bing Search V7 lõpp-punkt", + "Enter Bing Search V7 Subscription Key": "Sisestage Bing Search V7 tellimuse võti", + "Enter Bocha Search API Key": "Sisestage Bocha Search API võti", + "Enter Brave Search API Key": "Sisestage Brave Search API võti", + "Enter certificate path": "Sisestage sertifikaadi tee", + "Enter CFG Scale (e.g. 7.0)": "Sisestage CFG skaala (nt 7.0)", + "Enter Chunk Overlap": "Sisestage tükkide ülekate", + "Enter Chunk Size": "Sisestage tüki suurus", + "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "Sisestage komadega eraldatud \"token:kallutuse_väärtus\" paarid (näide: 5432:100, 413:-100)", + "Enter description": "Sisestage kirjeldus", + "Enter Docling Server URL": "", + "Enter Document Intelligence Endpoint": "Sisestage dokumendi intelligentsuse lõpp-punkt", + "Enter Document Intelligence Key": "Sisestage dokumendi intelligentsuse võti", + "Enter domains separated by commas (e.g., example.com,site.org)": "Sisestage domeenid komadega eraldatult (nt example.com,site.org)", + "Enter Exa API Key": "Sisestage Exa API võti", + "Enter Github Raw URL": "Sisestage Github toorURL", + "Enter Google PSE API Key": "Sisestage Google PSE API võti", + "Enter Google PSE Engine Id": "Sisestage Google PSE mootori ID", + "Enter Image Size (e.g. 512x512)": "Sisestage pildi suurus (nt 512x512)", + "Enter Jina API Key": "Sisestage Jina API võti", + "Enter Jupyter Password": "Sisestage Jupyter parool", + "Enter Jupyter Token": "Sisestage Jupyter token", + "Enter Jupyter URL": "Sisestage Jupyter URL", + "Enter Kagi Search API Key": "Sisestage Kagi Search API võti", + "Enter Key Behavior": "Sisestage võtme käitumine", + "Enter language codes": "Sisestage keelekoodid", + "Enter Model ID": "Sisestage mudeli ID", + "Enter model tag (e.g. {{modelTag}})": "Sisestage mudeli silt (nt {{modelTag}})", + "Enter Mojeek Search API Key": "Sisestage Mojeek Search API võti", + "Enter Number of Steps (e.g. 50)": "Sisestage sammude arv (nt 50)", + "Enter Perplexity API Key": "Sisestage Perplexity API võti", + "Enter proxy URL (e.g. https://user:password@host:port)": "Sisestage puhverserveri URL (nt https://kasutaja:parool@host:port)", + "Enter reasoning effort": "Sisestage arutluspingutus", + "Enter Sampler (e.g. Euler a)": "Sisestage valimismeetod (nt Euler a)", + "Enter Scheduler (e.g. Karras)": "Sisestage planeerija (nt Karras)", + "Enter Score": "Sisestage skoor", + "Enter SearchApi API Key": "Sisestage SearchApi API võti", + "Enter SearchApi Engine": "Sisestage SearchApi mootor", + "Enter Searxng Query URL": "Sisestage Searxng päringu URL", + "Enter Seed": "Sisestage seeme", + "Enter SerpApi API Key": "Sisestage SerpApi API võti", + "Enter SerpApi Engine": "Sisestage SerpApi mootor", + "Enter Serper API Key": "Sisestage Serper API võti", + "Enter Serply API Key": "Sisestage Serply API võti", + "Enter Serpstack API Key": "Sisestage Serpstack API võti", + "Enter server host": "Sisestage serveri host", + "Enter server label": "Sisestage serveri silt", + "Enter server port": "Sisestage serveri port", + "Enter stop sequence": "Sisestage lõpetamise järjestus", + "Enter system prompt": "Sisestage süsteemi vihjed", + "Enter Tavily API Key": "Sisestage Tavily API võti", + "Enter the public URL of your WebUI. This URL will be used to generate links in the notifications.": "Sisestage oma WebUI avalik URL. Seda URL-i kasutatakse teadaannetes linkide genereerimiseks.", + "Enter Tika Server URL": "Sisestage Tika serveri URL", + "Enter timeout in seconds": "Sisestage aegumine sekundites", + "Enter to Send": "Enter saatmiseks", + "Enter Top K": "Sisestage Top K", + "Enter URL (e.g. http://127.0.0.1:7860/)": "Sisestage URL (nt http://127.0.0.1:7860/)", + "Enter URL (e.g. http://localhost:11434)": "Sisestage URL (nt http://localhost:11434)", + "Enter your current password": "Sisestage oma praegune parool", + "Enter Your Email": "Sisestage oma e-post", + "Enter Your Full Name": "Sisestage oma täisnimi", + "Enter your message": "Sisestage oma sõnum", + "Enter your new password": "Sisestage oma uus parool", + "Enter Your Password": "Sisestage oma parool", + "Enter Your Role": "Sisestage oma roll", + "Enter Your Username": "Sisestage oma kasutajanimi", + "Enter your webhook URL": "Sisestage oma webhook URL", + "Error": "Viga", + "ERROR": "VIGA", + "Error accessing Google Drive: {{error}}": "Viga Google Drive'i juurdepääsul: {{error}}", + "Error uploading file: {{error}}": "Viga faili üleslaadimisel: {{error}}", + "Evaluations": "Hindamised", + "Exa API Key": "Exa API võti", + "Example: (&(objectClass=inetOrgPerson)(uid=%s))": "Näide: (&(objectClass=inetOrgPerson)(uid=%s))", + "Example: ALL": "Näide: ALL", + "Example: mail": "Näide: mail", + "Example: ou=users,dc=foo,dc=example": "Näide: ou=users,dc=foo,dc=example", + "Example: sAMAccountName or uid or userPrincipalName": "Näide: sAMAccountName või uid või userPrincipalName", + "Exceeded the number of seats in your license. Please contact support to increase the number of seats.": "Ületasite litsentsis määratud istekohtade arvu. Palun võtke ühendust toega, et suurendada istekohtade arvu.", + "Exclude": "Välista", + "Execute code for analysis": "Käivita kood analüüsimiseks", + "Expand": "Laienda", + "Experimental": "Katsetuslik", + "Explain": "Selgita", + "Explain this section to me in more detail": "Selgitage seda lõiku mulle üksikasjalikumalt", + "Explore the cosmos": "Uuri kosmosest", + "Export": "Ekspordi", + "Export All Archived Chats": "Ekspordi kõik arhiveeritud vestlused", + "Export All Chats (All Users)": "Ekspordi kõik vestlused (kõik kasutajad)", + "Export chat (.json)": "Ekspordi vestlus (.json)", + "Export Chats": "Ekspordi vestlused", + "Export Config to JSON File": "Ekspordi seadistus JSON-failina", + "Export Functions": "Ekspordi funktsioonid", + "Export Models": "Ekspordi mudelid", + "Export Presets": "Ekspordi eelseadistused", + "Export Prompts": "Ekspordi vihjed", + "Export to CSV": "Ekspordi CSV-na", + "Export Tools": "Ekspordi tööriistad", + "External": "", + "External Models": "Välised mudelid", + "Failed to add file.": "Faili lisamine ebaõnnestus.", + "Failed to create API Key.": "API võtme loomine ebaõnnestus.", + "Failed to fetch models": "Mudelite toomine ebaõnnestus", + "Failed to read clipboard contents": "Lõikelaua sisu lugemine ebaõnnestus", + "Failed to save models configuration": "Mudelite konfiguratsiooni salvestamine ebaõnnestus", + "Failed to update settings": "Seadete uuendamine ebaõnnestus", + "Failed to upload file.": "Faili üleslaadimine ebaõnnestus.", + "Features": "Funktsioonid", + "Features Permissions": "Funktsioonide õigused", + "February": "Veebruar", + "Feedback History": "Tagasiside ajalugu", + "Feedbacks": "Tagasisided", + "Feel free to add specific details": "Võite lisada konkreetseid üksikasju", + "File": "Fail", + "File added successfully.": "Fail edukalt lisatud.", + "File content updated successfully.": "Faili sisu edukalt uuendatud.", + "File Mode": "Faili režiim", + "File not found.": "Faili ei leitud.", + "File removed successfully.": "Fail edukalt eemaldatud.", + "File size should not exceed {{maxSize}} MB.": "Faili suurus ei tohiks ületada {{maxSize}} MB.", + "File uploaded successfully": "Fail edukalt üles laaditud", + "Files": "Failid", + "Filter is now globally disabled": "Filter on nüüd globaalselt keelatud", + "Filter is now globally enabled": "Filter on nüüd globaalselt lubatud", + "Filters": "Filtrid", + "Fingerprint spoofing detected: Unable to use initials as avatar. Defaulting to default profile image.": "Tuvastati sõrmejälje võltsimine: initsiaalide kasutamine avatarina pole võimalik. Kasutatakse vaikimisi profiilikujutist.", + "Fluidly stream large external response chunks": "Suurte väliste vastuste tükkide sujuv voogedastus", + "Focus chat input": "Fokuseeri vestluse sisendile", + "Folder deleted successfully": "Kaust edukalt kustutatud", + "Folder name cannot be empty": "Kausta nimi ei saa olla tühi", + "Folder name cannot be empty.": "Kausta nimi ei saa olla tühi.", + "Folder name updated successfully": "Kausta nimi edukalt uuendatud", + "Followed instructions perfectly": "Järgis juhiseid täiuslikult", + "Forge new paths": "Loo uusi radu", + "Form": "Vorm", + "Format your variables using brackets like this:": "Vormindage oma muutujad sulgudega nagu siin:", + "Frequency Penalty": "Sageduse karistus", + "Full Context Mode": "Täiskonteksti režiim", + "Function": "Funktsioon", + "Function Calling": "Funktsiooni kutsumine", + "Function created successfully": "Funktsioon edukalt loodud", + "Function deleted successfully": "Funktsioon edukalt kustutatud", + "Function Description": "Funktsiooni kirjeldus", + "Function ID": "Funktsiooni ID", + "Function is now globally disabled": "Funktsioon on nüüd globaalselt keelatud", + "Function is now globally enabled": "Funktsioon on nüüd globaalselt lubatud", + "Function Name": "Funktsiooni nimi", + "Function updated successfully": "Funktsioon edukalt uuendatud", + "Functions": "Funktsioonid", + "Functions allow arbitrary code execution": "Funktsioonid võimaldavad suvalise koodi käivitamist", + "Functions allow arbitrary code execution.": "Funktsioonid võimaldavad suvalise koodi käivitamist.", + "Functions imported successfully": "Funktsioonid edukalt imporditud", + "Gemini": "Gemini", + "Gemini API Config": "Gemini API seadistus", + "Gemini API Key is required.": "Gemini API võti on nõutav.", + "General": "Üldine", + "Generate an image": "Genereeri pilt", + "Generate Image": "Genereeri pilt", + "Generate prompt pair": "Genereeri vihjete paar", + "Generating search query": "Otsinguküsimuse genereerimine", + "Get started": "Alusta", + "Get started with {{WEBUI_NAME}}": "Alusta {{WEBUI_NAME}} kasutamist", + "Global": "Globaalne", + "Good Response": "Hea vastus", + "Google Drive": "Google Drive", + "Google PSE API Key": "Google PSE API võti", + "Google PSE Engine Id": "Google PSE mootori ID", + "Group created successfully": "Grupp edukalt loodud", + "Group deleted successfully": "Grupp edukalt kustutatud", + "Group Description": "Grupi kirjeldus", + "Group Name": "Grupi nimi", + "Group updated successfully": "Grupp edukalt uuendatud", + "Groups": "Grupid", + "Haptic Feedback": "Haptiline tagasiside", + "has no conversations.": "vestlused puuduvad.", + "Hello, {{name}}": "Tere, {{name}}", + "Help": "Abi", + "Help us create the best community leaderboard by sharing your feedback history!": "Aidake meil luua parim kogukonna edetabel, jagades oma tagasiside ajalugu!", + "Hex Color": "Hex värv", + "Hex Color - Leave empty for default color": "Hex värv - jätke tühjaks vaikevärvi jaoks", + "Hide": "Peida", + "Home": "Avaleht", + "Host": "Host", + "How can I help you today?": "Kuidas saan teid täna aidata?", + "How would you rate this response?": "Kuidas hindaksite seda vastust?", + "Hybrid Search": "Hübriidotsing", + "I acknowledge that I have read and I understand the implications of my action. I am aware of the risks associated with executing arbitrary code and I have verified the trustworthiness of the source.": "Kinnitan, et olen lugenud ja mõistan oma tegevuse tagajärgi. Olen teadlik suvalise koodi käivitamisega seotud riskidest ja olen kontrollinud allika usaldusväärsust.", + "ID": "ID", + "Ignite curiosity": "Süüta uudishimu", + "Image": "Pilt", + "Image Compression": "Pildi tihendamine", + "Image Generation": "Pildi genereerimine", + "Image Generation (Experimental)": "Pildi genereerimine (katsetuslik)", + "Image Generation Engine": "Pildi genereerimise mootor", + "Image Max Compression Size": "Pildi maksimaalne tihendamise suurus", + "Image Prompt Generation": "Pildi vihje genereerimine", + "Image Prompt Generation Prompt": "Pildi vihje genereerimise vihje", + "Image Settings": "Pildi seaded", + "Images": "Pildid", + "Import Chats": "Impordi vestlused", + "Import Config from JSON File": "Impordi seadistus JSON-failist", + "Import Functions": "Impordi funktsioonid", + "Import Models": "Impordi mudelid", + "Import Presets": "Impordi eelseadistused", + "Import Prompts": "Impordi vihjed", + "Import Tools": "Impordi tööriistad", + "Include": "Kaasa", + "Include `--api-auth` flag when running stable-diffusion-webui": "Lisage `--api-auth` lipp stable-diffusion-webui käivitamisel", + "Include `--api` flag when running stable-diffusion-webui": "Lisage `--api` lipp stable-diffusion-webui käivitamisel", + "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "Mõjutab, kui kiiresti algoritm reageerib genereeritud teksti tagasisidele. Madalam õppimiskiirus annab tulemuseks aeglasemad kohandused, samas kui kõrgem õppimiskiirus muudab algoritmi tundlikumaks.", + "Info": "Info", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", + "Input commands": "Sisendkäsud", + "Install from Github URL": "Installige Github URL-ilt", + "Instant Auto-Send After Voice Transcription": "Kohene automaatne saatmine pärast hääle transkriptsiooni", + "Integration": "Integratsioon", + "Interface": "Kasutajaliides", + "Invalid file format.": "Vigane failiformaat.", + "Invalid Tag": "Vigane silt", + "is typing...": "kirjutab...", + "January": "Jaanuar", + "Jina API Key": "Jina API võti", + "join our Discord for help.": "liituge abi saamiseks meie Discordiga.", + "JSON": "JSON", + "JSON Preview": "JSON eelvaade", + "July": "Juuli", + "June": "Juuni", + "Jupyter Auth": "Jupyter autentimine", + "Jupyter URL": "Jupyter URL", + "JWT Expiration": "JWT aegumine", + "JWT Token": "JWT token", + "Kagi Search API Key": "Kagi Search API võti", + "Keep Alive": "Hoia elus", + "Key": "Võti", + "Keyboard shortcuts": "Klaviatuuri otseteed", + "Knowledge": "Teadmised", + "Knowledge Access": "Teadmiste juurdepääs", + "Knowledge created successfully.": "Teadmised edukalt loodud.", + "Knowledge deleted successfully.": "Teadmised edukalt kustutatud.", + "Knowledge reset successfully.": "Teadmised edukalt lähtestatud.", + "Knowledge updated successfully": "Teadmised edukalt uuendatud", + "Kokoro.js (Browser)": "Kokoro.js (brauser)", + "Kokoro.js Dtype": "Kokoro.js andmetüüp", + "Label": "Silt", + "Landing Page Mode": "Maandumislehe režiim", + "Language": "Keel", + "Last Active": "Viimati aktiivne", + "Last Modified": "Viimati muudetud", + "Last reply": "Viimane vastus", + "LDAP": "LDAP", + "LDAP server updated": "LDAP server uuendatud", + "Leaderboard": "Edetabel", + "Leave empty for unlimited": "Jäta tühjaks piiranguta kasutamiseks", + "Leave empty to include all models from \"{{URL}}/api/tags\" endpoint": "Jäta tühjaks, et kaasata kõik mudelid \"{{URL}}/api/tags\" lõpp-punktist", + "Leave empty to include all models from \"{{URL}}/models\" endpoint": "Jäta tühjaks, et kaasata kõik mudelid \"{{URL}}/models\" lõpp-punktist", + "Leave empty to include all models or select specific models": "Jäta tühjaks, et kaasata kõik mudelid või vali konkreetsed mudelid", + "Leave empty to use the default prompt, or enter a custom prompt": "Jäta tühjaks, et kasutada vaikimisi vihjet, või sisesta kohandatud vihje", + "Leave model field empty to use the default model.": "Jäta mudeli väli tühjaks, et kasutada vaikimisi mudelit.", + "License": "Litsents", + "Light": "Hele", + "Listening...": "Kuulamine...", + "Llama.cpp": "Llama.cpp", + "LLMs can make mistakes. Verify important information.": "LLM-id võivad teha vigu. Kontrollige olulist teavet.", + "Loader": "Laadija", + "Loading Kokoro.js...": "Kokoro.js laadimine...", + "Local": "Kohalik", + "Local Models": "Kohalikud mudelid", + "Location access not allowed": "Asukoha juurdepääs pole lubatud", + "Logit Bias": "Logiti kallutatus", + "Lost": "Kaotanud", + "LTR": "LTR", + "Made by Open WebUI Community": "Loodud Open WebUI kogukonna poolt", + "Make sure to enclose them with": "Veenduge, et need on ümbritsetud järgmisega:", + "Make sure to export a workflow.json file as API format from ComfyUI.": "Veenduge, et ekspordite workflow.json faili API formaadis ComfyUI-st.", + "Manage": "Halda", + "Manage Direct Connections": "Halda otseseid ühendusi", + "Manage Models": "Halda mudeleid", + "Manage Ollama": "Halda Ollama't", + "Manage Ollama API Connections": "Halda Ollama API ühendusi", + "Manage OpenAI API Connections": "Halda OpenAI API ühendusi", + "Manage Pipelines": "Halda torustikke", + "March": "Märts", + "Max Tokens (num_predict)": "Max tokeneid (num_predict)", + "Max Upload Count": "Maksimaalne üleslaadimiste arv", + "Max Upload Size": "Maksimaalne üleslaadimise suurus", + "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Korraga saab alla laadida maksimaalselt 3 mudelit. Palun proovige hiljem uuesti.", + "May": "Mai", + "Memories accessible by LLMs will be shown here.": "LLM-idele ligipääsetavad mälestused kuvatakse siin.", + "Memory": "Mälu", + "Memory added successfully": "Mälu edukalt lisatud", + "Memory cleared successfully": "Mälu edukalt tühjendatud", + "Memory deleted successfully": "Mälu edukalt kustutatud", + "Memory updated successfully": "Mälu edukalt uuendatud", + "Merge Responses": "Ühenda vastused", + "Message rating should be enabled to use this feature": "Selle funktsiooni kasutamiseks peaks sõnumite hindamine olema lubatud", + "Messages you send after creating your link won't be shared. Users with the URL will be able to view the shared chat.": "Teie saadetud sõnumeid pärast lingi loomist ei jagata. Kasutajad, kellel on URL, saavad vaadata jagatud vestlust.", + "Min P": "Min P", + "Minimum Score": "Minimaalne skoor", + "Mirostat": "Mirostat", + "Mirostat Eta": "Mirostat Eta", + "Mirostat Tau": "Mirostat Tau", + "Model": "Mudel", + "Model '{{modelName}}' has been successfully downloaded.": "Mudel '{{modelName}}' on edukalt alla laaditud.", + "Model '{{modelTag}}' is already in queue for downloading.": "Mudel '{{modelTag}}' on juba allalaadimise järjekorras.", + "Model {{modelId}} not found": "Mudelit {{modelId}} ei leitud", + "Model {{modelName}} is not vision capable": "Mudel {{modelName}} ei ole võimeline visuaalseid sisendeid töötlema", + "Model {{name}} is now {{status}}": "Mudel {{name}} on nüüd {{status}}", + "Model accepts image inputs": "Mudel võtab vastu pilte sisendina", + "Model created successfully!": "Mudel edukalt loodud!", + "Model filesystem path detected. Model shortname is required for update, cannot continue.": "Tuvastati mudeli failisüsteemi tee. Uuendamiseks on vajalik mudeli lühinimi, ei saa jätkata.", + "Model Filtering": "Mudeli filtreerimine", + "Model ID": "Mudeli ID", + "Model IDs": "Mudeli ID-d", + "Model Name": "Mudeli nimi", + "Model not selected": "Mudel pole valitud", + "Model Params": "Mudeli parameetrid", + "Model Permissions": "Mudeli õigused", + "Model updated successfully": "Mudel edukalt uuendatud", + "Modelfile Content": "Modelfile sisu", + "Models": "Mudelid", + "Models Access": "Mudelite juurdepääs", + "Models configuration saved successfully": "Mudelite seadistus edukalt salvestatud", + "Mojeek Search API Key": "Mojeek Search API võti", + "more": "rohkem", + "More": "Rohkem", + "Name": "Nimi", + "Name your knowledge base": "Nimetage oma teadmiste baas", + "Native": "Omane", + "New Chat": "Uus vestlus", + "New Folder": "Uus kaust", + "New Password": "Uus parool", + "new-channel": "uus-kanal", + "No content found": "Sisu ei leitud", + "No content to speak": "Pole mida rääkida", + "No distance available": "Kaugus pole saadaval", + "No feedbacks found": "Tagasisidet ei leitud", + "No file selected": "Faili pole valitud", + "No files found.": "Faile ei leitud.", + "No groups with access, add a group to grant access": "Puuduvad juurdepääsuõigustega grupid, lisage grupp juurdepääsu andmiseks", + "No HTML, CSS, or JavaScript content found.": "HTML, CSS ega JavaScript sisu ei leitud.", + "No inference engine with management support found": "Järeldusmootorit haldamise toega ei leitud", + "No knowledge found": "Teadmisi ei leitud", + "No memories to clear": "Pole mälestusi, mida kustutada", + "No model IDs": "Mudeli ID-d puuduvad", + "No models found": "Mudeleid ei leitud", + "No models selected": "Mudeleid pole valitud", + "No results found": "Tulemusi ei leitud", + "No search query generated": "Otsingupäringut ei genereeritud", + "No source available": "Allikas pole saadaval", + "No users were found.": "Kasutajaid ei leitud.", + "No valves to update": "Pole klappe, mida uuendada", + "None": "Mitte ühtegi", + "Not factually correct": "Faktiliselt ebakorrektne", + "Not helpful": "Pole abistav", + "Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Märkus: kui määrate minimaalse skoori, tagastab otsing ainult dokumendid, mille skoor on suurem või võrdne minimaalse skooriga.", + "Notes": "Märkmed", + "Notification Sound": "Teavituse heli", + "Notification Webhook": "Teavituse webhook", + "Notifications": "Teavitused", + "November": "November", + "num_gpu (Ollama)": "num_gpu (Ollama)", + "num_thread (Ollama)": "num_thread (Ollama)", + "OAuth ID": "OAuth ID", + "October": "Oktoober", + "Off": "Väljas", + "Okay, Let's Go!": "Hea küll, lähme!", + "OLED Dark": "OLED tume", + "Ollama": "Ollama", + "Ollama API": "Ollama API", + "Ollama API settings updated": "Ollama API seaded uuendatud", + "Ollama Version": "Ollama versioon", + "On": "Sees", + "OneDrive": "OneDrive", + "Only alphanumeric characters and hyphens are allowed": "Lubatud on ainult tähtede-numbrite kombinatsioonid ja sidekriipsud", + "Only alphanumeric characters and hyphens are allowed in the command string.": "Käsustringis on lubatud ainult tähtede-numbrite kombinatsioonid ja sidekriipsud.", + "Only collections can be edited, create a new knowledge base to edit/add documents.": "Muuta saab ainult kogusid, dokumentide muutmiseks/lisamiseks looge uus teadmiste baas.", + "Only select users and groups with permission can access": "Juurdepääs on ainult valitud õigustega kasutajatel ja gruppidel", + "Oops! Looks like the URL is invalid. Please double-check and try again.": "Oih! URL tundub olevat vigane. Palun kontrollige ja proovige uuesti.", + "Oops! There are files still uploading. Please wait for the upload to complete.": "Oih! Failide üleslaadimine on veel pooleli. Palun oodake, kuni üleslaadimine lõpeb.", + "Oops! There was an error in the previous response.": "Oih! Eelmises vastuses oli viga.", + "Oops! You're using an unsupported method (frontend only). Please serve the WebUI from the backend.": "Oih! Kasutate toetamatut meetodit (ainult kasutajaliides). Palun serveerige WebUI tagarakendusest.", + "Open file": "Ava fail", + "Open in full screen": "Ava täisekraanil", + "Open new chat": "Ava uus vestlus", + "Open WebUI uses faster-whisper internally.": "Open WebUI kasutab sisemiselt faster-whisper'it.", + "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "Open WebUI kasutab SpeechT5 ja CMU Arctic kõneleja manustamisi.", + "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "Open WebUI versioon (v{{OPEN_WEBUI_VERSION}}) on madalam kui nõutav versioon (v{{REQUIRED_VERSION}})", + "OpenAI": "OpenAI", + "OpenAI API": "OpenAI API", + "OpenAI API Config": "OpenAI API seadistus", + "OpenAI API Key is required.": "OpenAI API võti on nõutav.", + "OpenAI API settings updated": "OpenAI API seaded uuendatud", + "OpenAI URL/Key required.": "OpenAI URL/võti on nõutav.", + "or": "või", + "Organize your users": "Korraldage oma kasutajad", + "Other": "Muu", + "OUTPUT": "VÄLJUND", + "Output format": "Väljundformaat", + "Overview": "Ülevaade", + "page": "leht", + "Password": "Parool", + "Paste Large Text as File": "Kleebi suur tekst failina", + "PDF document (.pdf)": "PDF dokument (.pdf)", + "PDF Extract Images (OCR)": "PDF-ist piltide väljavõtmine (OCR)", + "pending": "ootel", + "Permission denied when accessing media devices": "Juurdepääs meediumiseadmetele keelatud", + "Permission denied when accessing microphone": "Juurdepääs mikrofonile keelatud", + "Permission denied when accessing microphone: {{error}}": "Juurdepääs mikrofonile keelatud: {{error}}", + "Permissions": "Õigused", + "Perplexity API Key": "Perplexity API võti", + "Personalization": "Isikupärastamine", + "Pin": "Kinnita", + "Pinned": "Kinnitatud", + "Pioneer insights": "Pioneeri arusaamad", + "Pipeline deleted successfully": "Torustik edukalt kustutatud", + "Pipeline downloaded successfully": "Torustik edukalt alla laaditud", + "Pipelines": "Torustikud", + "Pipelines Not Detected": "Torustikke ei tuvastatud", + "Pipelines Valves": "Torustike klapid", + "Plain text (.txt)": "Lihttekst (.txt)", + "Playground": "Mänguväljak", + "Please carefully review the following warnings:": "Palun vaadake hoolikalt läbi järgmised hoiatused:", + "Please do not close the settings page while loading the model.": "Palun ärge sulgege seadete lehte mudeli laadimise ajal.", + "Please enter a prompt": "Palun sisestage vihje", + "Please fill in all fields.": "Palun täitke kõik väljad.", + "Please select a model first.": "Palun valige esmalt mudel.", + "Please select a model.": "Palun valige mudel.", + "Please select a reason": "Palun valige põhjus", + "Port": "Port", + "Positive attitude": "Positiivne suhtumine", + "Prefix ID": "Prefiksi ID", + "Prefix ID is used to avoid conflicts with other connections by adding a prefix to the model IDs - leave empty to disable": "Prefiksi ID-d kasutatakse teiste ühendustega konfliktide vältimiseks, lisades mudeli ID-dele prefiksi - jätke tühjaks keelamiseks", + "Presence Penalty": "Kohaloleku karistus", + "Previous 30 days": "Eelmised 30 päeva", + "Previous 7 days": "Eelmised 7 päeva", + "Private": "", + "Profile Image": "Profiilipilt", + "Prompt": "Vihje", + "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Vihje (nt Räägi mulle üks huvitav fakt Rooma impeeriumi kohta)", + "Prompt Content": "Vihje sisu", + "Prompt created successfully": "Vihje edukalt loodud", + "Prompt suggestions": "Vihje soovitused", + "Prompt updated successfully": "Vihje edukalt uuendatud", + "Prompts": "Vihjed", + "Prompts Access": "Vihjete juurdepääs", + "Public": "", + "Pull \"{{searchValue}}\" from Ollama.com": "Tõmba \"{{searchValue}}\" Ollama.com-ist", + "Pull a model from Ollama.com": "Tõmba mudel Ollama.com-ist", + "Query Generation Prompt": "Päringu genereerimise vihje", + "RAG Template": "RAG mall", + "Rating": "Hinnang", + "Re-rank models by topic similarity": "Järjesta mudelid teema sarnasuse alusel ümber", + "Read": "Loe", + "Read Aloud": "Loe valjult", + "Reasoning Effort": "Arutluspingutus", + "Record voice": "Salvesta hääl", + "Redirecting you to Open WebUI Community": "Suunamine Open WebUI kogukonda", + "Reduces the probability of generating nonsense. A higher value (e.g. 100) will give more diverse answers, while a lower value (e.g. 10) will be more conservative.": "Vähendab mõttetuste genereerimise tõenäosust. Kõrgem väärtus (nt 100) annab mitmekesisemaid vastuseid, samas kui madalam väärtus (nt 10) on konservatiivsem.", + "Refer to yourself as \"User\" (e.g., \"User is learning Spanish\")": "Viita endale kui \"Kasutaja\" (nt \"Kasutaja õpib hispaania keelt\")", + "References from": "Viited allikast", + "Refused when it shouldn't have": "Keeldus, kui ei oleks pidanud", + "Regenerate": "Regenereeri", + "Release Notes": "Väljalaskemärkmed", + "Relevance": "Asjakohasus", + "Remove": "Eemalda", + "Remove Model": "Eemalda mudel", + "Rename": "Nimeta ümber", + "Reorder Models": "Muuda mudelite järjekorda", + "Repeat Last N": "Korda viimast N", + "Repeat Penalty (Ollama)": "Korduse karistus (Ollama)", + "Reply in Thread": "Vasta lõimes", + "Request Mode": "Päringu režiim", + "Reranking Model": "Ümberjärjestamise mudel", + "Reranking model disabled": "Ümberjärjestamise mudel keelatud", + "Reranking model set to \"{{reranking_model}}\"": "Ümberjärjestamise mudel määratud kui \"{{reranking_model}}\"", + "Reset": "Lähtesta", + "Reset All Models": "Lähtesta kõik mudelid", + "Reset Upload Directory": "Lähtesta üleslaadimiste kataloog", + "Reset Vector Storage/Knowledge": "Lähtesta vektormälu/teadmised", + "Reset view": "Lähtesta vaade", + "Response notifications cannot be activated as the website permissions have been denied. Please visit your browser settings to grant the necessary access.": "Vastuste teavitusi ei saa aktiveerida, kuna veebisaidi õigused on keelatud. Vajalike juurdepääsude andmiseks külastage oma brauseri seadeid.", + "Response splitting": "Vastuse tükeldamine", + "Result": "Tulemus", + "Retrieval": "Taastamine", + "Retrieval Query Generation": "Taastamise päringu genereerimine", + "Rich Text Input for Chat": "Rikasteksti sisend vestluse jaoks", + "RK": "RK", + "Role": "Roll", + "Rosé Pine": "Rosé Pine", + "Rosé Pine Dawn": "Rosé Pine Dawn", + "RTL": "RTL", + "Run": "Käivita", + "Running": "Töötab", + "Save": "Salvesta", + "Save & Create": "Salvesta ja loo", + "Save & Update": "Salvesta ja uuenda", + "Save As Copy": "Salvesta koopiana", + "Save Tag": "Salvesta silt", + "Saved": "Salvestatud", + "Saving chat logs directly to your browser's storage is no longer supported. Please take a moment to download and delete your chat logs by clicking the button below. Don't worry, you can easily re-import your chat logs to the backend through": "Vestluslogi salvestamine otse teie brauseri mällu pole enam toetatud. Palun võtke hetk, et alla laadida ja kustutada oma vestluslogi, klõpsates allpool olevat nuppu. Ärge muretsege, saate hõlpsasti oma vestluslogi tagarakendusse uuesti importida, kasutades", + "Scroll to bottom when switching between branches": "Keri alla harus liikumisel", + "Search": "Otsing", + "Search a model": "Otsi mudelit", + "Search Base": "Otsingu baas", + "Search Chats": "Otsi vestlusi", + "Search Collection": "Otsi kogust", + "Search Filters": "Otsingu filtrid", + "search for tags": "otsi silte", + "Search Functions": "Otsi funktsioone", + "Search Knowledge": "Otsi teadmisi", + "Search Models": "Otsi mudeleid", + "Search options": "Otsingu valikud", + "Search Prompts": "Otsi vihjeid", + "Search Result Count": "Otsingutulemuste arv", + "Search the internet": "Otsi internetist", + "Search Tools": "Otsi tööriistu", + "SearchApi API Key": "SearchApi API võti", + "SearchApi Engine": "SearchApi mootor", + "Searched {{count}} sites": "Otsiti {{count}} saidilt", + "Searching \"{{searchQuery}}\"": "Otsimine: \"{{searchQuery}}\"", + "Searching Knowledge for \"{{searchQuery}}\"": "Teadmistest otsimine: \"{{searchQuery}}\"", + "Searxng Query URL": "Searxng päringu URL", + "See readme.md for instructions": "Juhiste saamiseks vaadake readme.md", + "See what's new": "Vaata, mis on uut", + "Seed": "Seeme", + "Select a base model": "Valige baas mudel", + "Select a engine": "Valige mootor", + "Select a function": "Valige funktsioon", + "Select a group": "Valige grupp", + "Select a model": "Valige mudel", + "Select a pipeline": "Valige torustik", + "Select a pipeline url": "Valige torustiku URL", + "Select a tool": "Valige tööriist", + "Select an auth method": "Valige autentimismeetod", + "Select an Ollama instance": "Valige Ollama instants", + "Select Engine": "Valige mootor", + "Select Knowledge": "Valige teadmised", + "Select only one model to call": "Valige ainult üks mudel kutsumiseks", + "Selected model(s) do not support image inputs": "Valitud mudel(id) ei toeta pilte sisendina", + "Semantic distance to query": "Semantiline kaugus päringust", + "Send": "Saada", + "Send a Message": "Saada sõnum", + "Send message": "Saada sõnum", + "Sends `stream_options: { include_usage: true }` in the request.\nSupported providers will return token usage information in the response when set.": "Saadab `stream_options: { include_usage: true }` päringus.\nToetatud teenusepakkujad tagastavad määramisel vastuses tokeni kasutuse teabe.", + "September": "September", + "SerpApi API Key": "SerpApi API võti", + "SerpApi Engine": "SerpApi mootor", + "Serper API Key": "Serper API võti", + "Serply API Key": "Serply API võti", + "Serpstack API Key": "Serpstack API võti", + "Server connection verified": "Serveri ühendus kontrollitud", + "Set as default": "Määra vaikimisi", + "Set CFG Scale": "Määra CFG skaala", + "Set Default Model": "Määra vaikimisi mudel", + "Set embedding model": "Määra manustamise mudel", + "Set embedding model (e.g. {{model}})": "Määra manustamise mudel (nt {{model}})", + "Set Image Size": "Määra pildi suurus", + "Set reranking model (e.g. {{model}})": "Määra ümberjärjestamise mudel (nt {{model}})", + "Set Sampler": "Määra valimismeetod", + "Set Scheduler": "Määra planeerija", + "Set Steps": "Määra sammud", + "Set Task Model": "Määra ülesande mudel", + "Set the number of layers, which will be off-loaded to GPU. Increasing this value can significantly improve performance for models that are optimized for GPU acceleration but may also consume more power and GPU resources.": "Määrake kihtide arv, mis laaditakse GPU-le. Selle väärtuse suurendamine võib oluliselt parandada jõudlust mudelite puhul, mis on optimeeritud GPU kiirenduse jaoks, kuid võib tarbida rohkem energiat ja GPU ressursse.", + "Set the number of worker threads used for computation. This option controls how many threads are used to process incoming requests concurrently. Increasing this value can improve performance under high concurrency workloads but may also consume more CPU resources.": "Määrake arvutusteks kasutatavate töölõimede arv. See valik kontrollib, mitu lõime kasutatakse saabuvate päringute samaaegseks töötlemiseks. Selle väärtuse suurendamine võib parandada jõudlust suure samaaegsusega töökoormuste korral, kuid võib tarbida rohkem CPU ressursse.", + "Set Voice": "Määra hääl", + "Set whisper model": "Määra whisper mudel", + "Sets a flat bias against tokens that have appeared at least once. A higher value (e.g., 1.5) will penalize repetitions more strongly, while a lower value (e.g., 0.9) will be more lenient. At 0, it is disabled.": "Seab tasase kallutatuse tokenite vastu, mis on esinenud vähemalt üks kord. Kõrgem väärtus (nt 1,5) karistab kordusi tugevamalt, samas kui madalam väärtus (nt 0,9) on leebem. Väärtuse 0 korral on see keelatud.", + "Sets a scaling bias against tokens to penalize repetitions, based on how many times they have appeared. A higher value (e.g., 1.5) will penalize repetitions more strongly, while a lower value (e.g., 0.9) will be more lenient. At 0, it is disabled.": "Seab skaleeritava kallutatuse tokenite vastu korduste karistamiseks, põhinedes sellel, mitu korda need on esinenud. Kõrgem väärtus (nt 1,5) karistab kordusi tugevamalt, samas kui madalam väärtus (nt 0,9) on leebem. Väärtuse 0 korral on see keelatud.", + "Sets how far back for the model to look back to prevent repetition.": "Määrab, kui kaugele mudel tagasi vaatab, et vältida kordusi.", + "Sets the random number seed to use for generation. Setting this to a specific number will make the model generate the same text for the same prompt.": "Määrab genereerimiseks kasutatava juhusliku arvu seemne. Selle määramine kindlale numbrile paneb mudeli genereerima sama teksti sama vihje korral.", + "Sets the size of the context window used to generate the next token.": "Määrab järgmise tokeni genereerimiseks kasutatava konteksti akna suuruse.", + "Sets the stop sequences to use. When this pattern is encountered, the LLM will stop generating text and return. Multiple stop patterns may be set by specifying multiple separate stop parameters in a modelfile.": "Määrab kasutatavad lõpetamise järjestused. Kui see muster kohatakse, lõpetab LLM teksti genereerimise ja tagastab. Mitme lõpetamise mustri saab määrata, täpsustades modelfile'is mitu eraldi lõpetamise parameetrit.", + "Settings": "Seaded", + "Settings saved successfully!": "Seaded edukalt salvestatud!", + "Share": "Jaga", + "Share Chat": "Jaga vestlust", + "Share to Open WebUI Community": "Jaga Open WebUI kogukonnaga", + "Show": "Näita", + "Show \"What's New\" modal on login": "Näita \"Mis on uut\" modaalakent sisselogimisel", + "Show Admin Details in Account Pending Overlay": "Näita administraatori üksikasju konto ootel kattekihil", + "Show shortcuts": "Näita otseteid", + "Show your support!": "Näita oma toetust!", + "Showcased creativity": "Näitas loovust", + "Sign in": "Logi sisse", + "Sign in to {{WEBUI_NAME}}": "Logi sisse {{WEBUI_NAME}}", + "Sign in to {{WEBUI_NAME}} with LDAP": "Logi sisse {{WEBUI_NAME}} LDAP-ga", + "Sign Out": "Logi välja", + "Sign up": "Registreeru", + "Sign up to {{WEBUI_NAME}}": "Registreeru {{WEBUI_NAME}}", + "Signing in to {{WEBUI_NAME}}": "Sisselogimine {{WEBUI_NAME}}", + "sk-1234": "sk-1234", + "Source": "Allikas", + "Speech Playback Speed": "Kõne taasesituse kiirus", + "Speech recognition error: {{error}}": "Kõnetuvastuse viga: {{error}}", + "Speech-to-Text Engine": "Kõne-tekstiks mootor", + "Stop": "Peata", + "Stop Sequence": "Lõpetamise järjestus", + "Stream Chat Response": "Voogedasta vestluse vastust", + "STT Model": "STT mudel", + "STT Settings": "STT seaded", + "Subtitle (e.g. about the Roman Empire)": "Alampealkiri (nt Rooma impeeriumi kohta)", + "Success": "Õnnestus", + "Successfully updated.": "Edukalt uuendatud.", + "Suggested": "Soovitatud", + "Support": "Tugi", + "Support this plugin:": "Toeta seda pistikprogrammi:", + "Sync directory": "Sünkroniseeri kataloog", + "System": "Süsteem", + "System Instructions": "Süsteemi juhised", + "System Prompt": "Süsteemi vihje", + "Tags": "", + "Tags Generation": "Siltide genereerimine", + "Tags Generation Prompt": "Siltide genereerimise vihje", + "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "Saba vaba valimit kasutatakse väljundis vähem tõenäoliste tokenite mõju vähendamiseks. Kõrgem väärtus (nt 2,0) vähendab mõju rohkem, samas kui väärtus 1,0 keelab selle seade.", + "Talk to model": "Räägi mudeliga", + "Tap to interrupt": "Puuduta katkestamiseks", + "Tasks": "Ülesanded", + "Tavily API Key": "Tavily API võti", + "Tell us more:": "Räägi meile lähemalt:", + "Temperature": "Temperatuur", + "Template": "Mall", + "Temporary Chat": "Ajutine vestlus", + "Text Splitter": "Teksti tükeldaja", + "Text-to-Speech Engine": "Tekst-kõneks mootor", + "Tfs Z": "Tfs Z", + "Thanks for your feedback!": "Täname tagasiside eest!", + "The Application Account DN you bind with for search": "Rakenduse konto DN, millega seote otsingu jaoks", + "The base to search for users": "Baas kasutajate otsimiseks", + "The batch size determines how many text requests are processed together at once. A higher batch size can increase the performance and speed of the model, but it also requires more memory.": "Partii suurus määrab, mitu tekstipäringut töödeldakse korraga. Suurem partii suurus võib suurendada mudeli jõudlust ja kiirust, kuid see nõuab ka rohkem mälu.", + "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "Selle pistikprogrammi taga olevad arendajad on kogukonna pühendunud vabatahtlikud. Kui leiate, et see pistikprogramm on kasulik, palun kaaluge selle arendamise toetamist.", + "The evaluation leaderboard is based on the Elo rating system and is updated in real-time.": "Hindamise edetabel põhineb Elo hindamissüsteemil ja seda uuendatakse reaalajas.", + "The LDAP attribute that maps to the mail that users use to sign in.": "LDAP atribuut, mis kaardistab e-posti, mida kasutajad kasutavad sisselogimiseks.", + "The LDAP attribute that maps to the username that users use to sign in.": "LDAP atribuut, mis kaardistab kasutajanime, mida kasutajad kasutavad sisselogimiseks.", + "The leaderboard is currently in beta, and we may adjust the rating calculations as we refine the algorithm.": "Edetabel on praegu beetaversioonina ja me võime kohandada hindamisarvutusi algoritmi täiustamisel.", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "Maksimaalne failisuurus MB-des. Kui failisuurus ületab seda piiri, faili ei laadita üles.", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "Maksimaalne failide arv, mida saab korraga vestluses kasutada. Kui failide arv ületab selle piiri, faile ei laadita üles.", + "The score should be a value between 0.0 (0%) and 1.0 (100%).": "Skoor peaks olema väärtus vahemikus 0,0 (0%) kuni 1,0 (100%).", + "The temperature of the model. Increasing the temperature will make the model answer more creatively.": "Mudeli temperatuur. Temperatuuri suurendamine paneb mudeli vastama loovamalt.", + "Theme": "Teema", + "Thinking...": "Mõtleb...", + "This action cannot be undone. Do you wish to continue?": "Seda toimingut ei saa tagasi võtta. Kas soovite jätkata?", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", + "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "See tagab, et teie väärtuslikud vestlused salvestatakse turvaliselt teie tagarakenduse andmebaasi. Täname!", + "This is an experimental feature, it may not function as expected and is subject to change at any time.": "See on katsetuslik funktsioon, see ei pruugi toimida ootuspäraselt ja võib igal ajal muutuda.", + "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "See valik kontrollib, mitu tokenit säilitatakse konteksti värskendamisel. Näiteks kui see on määratud 2-le, säilitatakse vestluse konteksti viimased 2 tokenit. Konteksti säilitamine võib aidata säilitada vestluse järjepidevust, kuid võib vähendada võimet reageerida uutele teemadele.", + "This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "See valik määrab maksimaalse tokenite arvu, mida mudel saab oma vastuses genereerida. Selle piirmäära suurendamine võimaldab mudelil anda pikemaid vastuseid, kuid võib suurendada ka ebavajaliku või ebaolulise sisu genereerimise tõenäosust.", + "This option will delete all existing files in the collection and replace them with newly uploaded files.": "See valik kustutab kõik olemasolevad failid kogust ja asendab need äsja üleslaaditud failidega.", + "This response was generated by \"{{model}}\"": "Selle vastuse genereeris \"{{model}}\"", + "This will delete": "See kustutab", + "This will delete {{NAME}} and all its contents.": "See kustutab {{NAME}} ja kogu selle sisu.", + "This will delete all models including custom models": "See kustutab kõik mudelid, sealhulgas kohandatud mudelid", + "This will delete all models including custom models and cannot be undone.": "See kustutab kõik mudelid, sealhulgas kohandatud mudelid, ja seda ei saa tagasi võtta.", + "This will reset the knowledge base and sync all files. Do you wish to continue?": "See lähtestab teadmiste baasi ja sünkroniseerib kõik failid. Kas soovite jätkata?", + "Thorough explanation": "Põhjalik selgitus", + "Thought for {{DURATION}}": "Mõtles {{DURATION}}", + "Thought for {{DURATION}} seconds": "Mõtles {{DURATION}} sekundit", + "Tika": "Tika", + "Tika Server URL required.": "Tika serveri URL on nõutav.", + "Tiktoken": "Tiktoken", + "Tip: Update multiple variable slots consecutively by pressing the tab key in the chat input after each replacement.": "Nõuanne: Värskendage mitut muutuja kohta järjestikku, vajutades pärast iga asendust vestluse sisendis tabeldusklahvi.", + "Title": "Pealkiri", + "Title (e.g. Tell me a fun fact)": "Pealkiri (nt Räägi mulle üks huvitav fakt)", + "Title Auto-Generation": "Pealkirja automaatne genereerimine", + "Title cannot be an empty string.": "Pealkiri ei saa olla tühi string.", + "Title Generation": "Pealkirja genereerimine", + "Title Generation Prompt": "Pealkirja genereerimise vihje", + "TLS": "TLS", + "To access the available model names for downloading,": "Juurdepääsuks saadaolevatele mudelinimedele allalaadimiseks,", + "To access the GGUF models available for downloading,": "Juurdepääsuks allalaadimiseks saadaolevatele GGUF mudelitele,", + "To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "WebUI-le juurdepääsuks võtke ühendust administraatoriga. Administraatorid saavad hallata kasutajate staatuseid administraatori paneelist.", + "To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "Teadmiste baasi siia lisamiseks lisage need esmalt \"Teadmiste\" tööalale.", + "To learn more about available endpoints, visit our documentation.": "Saadaolevate lõpp-punktide kohta rohkem teada saamiseks külastage meie dokumentatsiooni.", + "To protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "Teie privaatsuse kaitsmiseks jagatakse teie tagasisidest ainult hinnanguid, mudeli ID-sid, silte ja metaandmeid - teie vestluslogi jääb privaatseks ja neid ei kaasata.", + "To select actions here, add them to the \"Functions\" workspace first.": "Toimingute siit valimiseks lisage need esmalt \"Funktsioonide\" tööalale.", + "To select filters here, add them to the \"Functions\" workspace first.": "Filtrite siit valimiseks lisage need esmalt \"Funktsioonide\" tööalale.", + "To select toolkits here, add them to the \"Tools\" workspace first.": "Tööriistakomplektide siit valimiseks lisage need esmalt \"Tööriistade\" tööalale.", + "Toast notifications for new updates": "Hüpikmärguanded uuenduste kohta", + "Today": "Täna", + "Toggle settings": "Lülita seaded", + "Toggle sidebar": "Lülita külgriba", + "Token": "Token", + "Tokens To Keep On Context Refresh (num_keep)": "Konteksti värskendamisel säilitatavad tokenid (num_keep)", + "Too verbose": "Liiga paljusõnaline", + "Tool created successfully": "Tööriist edukalt loodud", + "Tool deleted successfully": "Tööriist edukalt kustutatud", + "Tool Description": "Tööriista kirjeldus", + "Tool ID": "Tööriista ID", + "Tool imported successfully": "Tööriist edukalt imporditud", + "Tool Name": "Tööriista nimi", + "Tool updated successfully": "Tööriist edukalt uuendatud", + "Tools": "Tööriistad", + "Tools Access": "Tööriistade juurdepääs", + "Tools are a function calling system with arbitrary code execution": "Tööriistad on funktsioonide kutsumise süsteem suvalise koodi täitmisega", + "Tools Function Calling Prompt": "Tööriistade funktsioonide kutsumise vihje", + "Tools have a function calling system that allows arbitrary code execution": "Tööriistadel on funktsioonide kutsumise süsteem, mis võimaldab suvalise koodi täitmist", + "Tools have a function calling system that allows arbitrary code execution.": "Tööriistadel on funktsioonide kutsumise süsteem, mis võimaldab suvalise koodi täitmist.", + "Top K": "Top K", + "Top P": "Top P", + "Transformers": "Transformers", + "Trouble accessing Ollama?": "Probleeme Ollama juurdepääsuga?", + "Trust Proxy Environment": "Usalda puhverserveri keskkonda", + "TTS Model": "TTS mudel", + "TTS Settings": "TTS seaded", + "TTS Voice": "TTS hääl", + "Type": "Tüüp", + "Type Hugging Face Resolve (Download) URL": "Sisestage Hugging Face Resolve (Allalaadimise) URL", + "Uh-oh! There was an issue with the response.": "Oi-oi! Vastusega oli probleem.", + "UI": "Kasutajaliides", + "Unarchive All": "Eemalda kõik arhiivist", + "Unarchive All Archived Chats": "Eemalda kõik arhiveeritud vestlused arhiivist", + "Unarchive Chat": "Eemalda vestlus arhiivist", + "Unlock mysteries": "Ava mõistatused", + "Unpin": "Võta lahti", + "Unravel secrets": "Ava saladused", + "Untagged": "Sildistamata", + "Update": "Uuenda", + "Update and Copy Link": "Uuenda ja kopeeri link", + "Update for the latest features and improvements.": "Uuendage, et saada uusimad funktsioonid ja täiustused.", + "Update password": "Uuenda parooli", + "Updated": "Uuendatud", + "Updated at": "Uuendamise aeg", + "Updated At": "Uuendamise aeg", + "Upgrade to a licensed plan for enhanced capabilities, including custom theming and branding, and dedicated support.": "Uuendage litsentseeritud plaanile täiustatud võimaluste jaoks, sealhulgas kohandatud teemad ja bränding ning pühendatud tugi.", + "Upload": "Laadi üles", + "Upload a GGUF model": "Laadige üles GGUF mudel", + "Upload directory": "Üleslaadimise kataloog", + "Upload files": "Laadi failid üles", + "Upload Files": "Laadi failid üles", + "Upload Pipeline": "Laadi torustik üles", + "Upload Progress": "Üleslaadimise progress", + "URL": "URL", + "URL Mode": "URL režiim", + "Use '#' in the prompt input to load and include your knowledge.": "Kasutage '#' vihjete sisendis, et laadida ja kaasata oma teadmised.", + "Use Gravatar": "Kasuta Gravatari", + "Use groups to group your users and assign permissions.": "Kasutage gruppe oma kasutajate grupeerimiseks ja õiguste määramiseks.", + "Use Initials": "Kasuta initsiaale", + "use_mlock (Ollama)": "use_mlock (Ollama)", + "use_mmap (Ollama)": "use_mmap (Ollama)", + "user": "kasutaja", + "User": "Kasutaja", + "User location successfully retrieved.": "Kasutaja asukoht edukalt hangitud.", + "Username": "Kasutajanimi", + "Users": "Kasutajad", + "Using the default arena model with all models. Click the plus button to add custom models.": "Kasutatakse vaikimisi areena mudelit kõigi mudelitega. Kohandatud mudelite lisamiseks klõpsake plussmärgiga nuppu.", + "Utilize": "Kasuta", + "Valid time units:": "Kehtivad ajaühikud:", + "Valves": "Klapid", + "Valves updated": "Klapid uuendatud", + "Valves updated successfully": "Klapid edukalt uuendatud", + "variable": "muutuja", + "variable to have them replaced with clipboard content.": "muutuja, et need asendataks lõikelaua sisuga.", + "Verify Connection": "", + "Version": "Versioon", + "Version {{selectedVersion}} of {{totalVersions}}": "Versioon {{selectedVersion}} / {{totalVersions}}", + "View Replies": "Vaata vastuseid", + "Visibility": "Nähtavus", + "Voice": "Hääl", + "Voice Input": "Hääle sisend", + "Warning": "Hoiatus", + "Warning:": "Hoiatus:", + "Warning: Enabling this will allow users to upload arbitrary code on the server.": "Hoiatus: Selle lubamine võimaldab kasutajatel üles laadida suvalist koodi serverisse.", + "Warning: If you update or change your embedding model, you will need to re-import all documents.": "Hoiatus: Kui uuendate või muudate oma manustamise mudelit, peate kõik dokumendid uuesti importima.", + "Warning: Jupyter execution enables arbitrary code execution, posing severe security risks—proceed with extreme caution.": "Hoiatus: Jupyter täitmine võimaldab suvalise koodi käivitamist, mis kujutab endast tõsist turvariski - jätkake äärmise ettevaatusega.", + "Web": "Veeb", + "Web API": "Veebi API", + "Web Search": "Veebiotsing", + "Web Search Engine": "Veebi otsingumootor", + "Web Search in Chat": "Veebiotsing vestluses", + "Web Search Query Generation": "Veebi otsingupäringu genereerimine", + "Webhook URL": "Webhooki URL", + "WebUI Settings": "WebUI seaded", + "WebUI URL": "WebUI URL", + "WebUI will make requests to \"{{url}}/api/chat\"": "WebUI teeb päringuid aadressile \"{{url}}/api/chat\"", + "WebUI will make requests to \"{{url}}/chat/completions\"": "WebUI teeb päringuid aadressile \"{{url}}/chat/completions\"", + "What are you trying to achieve?": "Mida te püüate saavutada?", + "What are you working on?": "Millega te tegelete?", + "What’s New in": "Mis on uut", + "When enabled, the model will respond to each chat message in real-time, generating a response as soon as the user sends a message. This mode is useful for live chat applications, but may impact performance on slower hardware.": "Kui see on lubatud, vastab mudel igale vestlussõnumile reaalajas, genereerides vastuse niipea, kui kasutaja sõnumi saadab. See režiim on kasulik reaalajas vestlusrakendustes, kuid võib mõjutada jõudlust aeglasema riistvara puhul.", + "wherever you are": "kus iganes te olete", + "Whisper (Local)": "Whisper (lokaalne)", + "Why?": "Miks?", + "Widescreen Mode": "Laiekraani režiim", + "Won": "Võitis", + "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.": "Töötab koos top-k-ga. Kõrgem väärtus (nt 0,95) annab tulemuseks mitmekesisema teksti, samas kui madalam väärtus (nt 0,5) genereerib keskendunuma ja konservatiivsema teksti.", + "Workspace": "Tööala", + "Workspace Permissions": "Tööala õigused", + "Write": "Kirjuta", + "Write a prompt suggestion (e.g. Who are you?)": "Kirjutage vihje soovitus (nt Kes sa oled?)", + "Write a summary in 50 words that summarizes [topic or keyword].": "Kirjutage 50-sõnaline kokkuvõte, mis võtab kokku [teema või märksõna].", + "Write something...": "Kirjutage midagi...", + "Write your model template content here": "Kirjutage oma mudeli malli sisu siia", + "Yesterday": "Eile", + "You": "Sina", + "You are currently using a trial license. Please contact support to upgrade your license.": "Kasutate praegu proovilitsentsi. Palun võtke ühendust toega, et oma litsentsi uuendada.", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "Saate korraga vestelda maksimaalselt {{maxCount}} faili(ga).", + "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Saate isikupärastada oma suhtlust LLM-idega, lisades mälestusi alumise 'Halda' nupu kaudu, muutes need kasulikumaks ja teile kohandatumaks.", + "You cannot upload an empty file.": "Te ei saa üles laadida tühja faili.", + "You do not have permission to upload files": "Teil pole õigust faile üles laadida", + "You do not have permission to upload files.": "Teil pole õigust faile üles laadida.", + "You have no archived conversations.": "Teil pole arhiveeritud vestlusi.", + "You have shared this chat": "Olete seda vestlust jaganud", + "You're a helpful assistant.": "Oled abivalmis assistent.", + "You're now logged in.": "Olete nüüd sisse logitud.", + "Your account status is currently pending activation.": "Teie konto staatus on praegu ootel aktiveerimist.", + "Your entire contribution will go directly to the plugin developer; Open WebUI does not take any percentage. However, the chosen funding platform might have its own fees.": "Kogu teie toetus läheb otse pistikprogrammi arendajale; Open WebUI ei võta mingit protsenti. Kuid valitud rahastamisplatvormil võivad olla oma tasud.", + "Youtube": "Youtube", + "Youtube Language": "Youtube keel", + "Youtube Proxy URL": "Youtube puhverserveri URL" +} diff --git a/src/lib/i18n/locales/eu-ES/translation.json b/src/lib/i18n/locales/eu-ES/translation.json index 5759a4747..fc724f95b 100644 --- a/src/lib/i18n/locales/eu-ES/translation.json +++ b/src/lib/i18n/locales/eu-ES/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "(adib. `sh webui.sh --api --api-auth erabiltzaile_pasahitza`)", "(e.g. `sh webui.sh --api`)": "(adib. `sh webui.sh --api`)", "(latest)": "(azkena)", + "(Ollama)": "", "{{ models }}": "{{ models }}", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "", @@ -68,6 +69,8 @@ "Already have an account?": "Baduzu kontu bat?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "Harrigarria", "an assistant": "laguntzaile bat", "Analyzed": "", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "Prompt Iradokizun Lehenetsiak", "Default to 389 or 636 if TLS is enabled": "Lehenetsi 389 edo 636 TLS gaituta badago", "Default to ALL": "Lehenetsi GUZTIAK", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "Erabiltzaile Rol Lehenetsia", "Delete": "Ezabatu", "Delete a model": "Ezabatu eredu bat", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "Deskribatu zure ezagutza-basea eta helburuak", "Description": "Deskribapena", "Didn't fully follow instructions": "Ez ditu jarraibideak guztiz jarraitu", + "Direct": "", "Direct Connections": "", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", "Direct Connections settings updated": "", @@ -314,6 +319,8 @@ "Dive into knowledge": "Murgildu ezagutzan", "Do not install functions from sources you do not fully trust.": "Ez instalatu guztiz fidagarriak ez diren iturrietatik datozen funtzioak.", "Do not install tools from sources you do not fully trust.": "Ez instalatu guztiz fidagarriak ez diren iturrietatik datozen tresnak.", + "Docling": "", + "Docling Server URL required.": "", "Document": "Dokumentua", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "Sartu Zati Tamaina", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "Sartu deskribapena", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "", @@ -471,6 +479,7 @@ "Export Prompts": "Esportatu Promptak", "Export to CSV": "Esportatu CSVra", "Export Tools": "Esportatu Tresnak", + "External": "", "External Models": "Kanpoko Ereduak", "Failed to add file.": "Huts egin du fitxategia gehitzean.", "Failed to create API Key.": "Huts egin du API Gakoa sortzean.", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "Sartu `--api` bandera stable-diffusion-webui exekutatzean", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "Informazioa", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "Sartu komandoak", "Install from Github URL": "Instalatu Github URLtik", "Instant Auto-Send After Voice Transcription": "Bidalketa Automatiko Berehalakoa Ahots Transkripzioaren Ondoren", @@ -806,6 +816,7 @@ "Presence Penalty": "", "Previous 30 days": "Aurreko 30 egunak", "Previous 7 days": "Aurreko 7 egunak", + "Private": "", "Profile Image": "Profil irudia", "Prompt": "", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Prompt-a (adib. Kontatu datu dibertigarri bat Erromatar Inperioari buruz)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "Prompt-a ongi eguneratu da", "Prompts": "Prompt-ak", "Prompts Access": "Prompt sarbidea", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "Ekarri \"{{searchValue}}\" Ollama.com-etik", "Pull a model from Ollama.com": "Ekarri modelo bat Ollama.com-etik", "Query Generation Prompt": "Kontsulta sortzeko prompt-a", @@ -979,6 +991,7 @@ "System": "Sistema", "System Instructions": "Sistema jarraibideak", "System Prompt": "Sistema prompta", + "Tags": "", "Tags Generation": "", "Tags Generation Prompt": "Etiketa sortzeko prompta", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1009,6 +1022,7 @@ "Theme": "Gaia", "Thinking...": "Pentsatzen...", "This action cannot be undone. Do you wish to continue?": "Ekintza hau ezin da desegin. Jarraitu nahi duzu?", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Honek zure elkarrizketa baliotsuak modu seguruan zure backend datu-basean gordeko direla ziurtatzen du. Eskerrik asko!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "Hau funtzionalitate esperimental bat da, baliteke espero bezala ez funtzionatzea eta edozein unetan aldaketak izatea.", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "Balbulak ongi eguneratu dira", "variable": "aldagaia", "variable to have them replaced with clipboard content.": "aldagaia arbeleko edukiarekin ordezkatzeko.", + "Verify Connection": "", "Version": "Bertsioa", "Version {{selectedVersion}} of {{totalVersions}}": "{{totalVersions}}-tik {{selectedVersion}}. bertsioa", "View Replies": "", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "Gehienez {{maxCount}} fitxategirekin txateatu dezakezu aldi berean.", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "LLMekin dituzun interakzioak pertsonalizatu ditzakezu memoriak gehituz beheko 'Kudeatu' botoiaren bidez, lagungarriagoak eta zuretzat egokituagoak eginez.", "You cannot upload an empty file.": "Ezin duzu fitxategi huts bat kargatu.", - "You do not have permission to access this feature.": "", "You do not have permission to upload files": "", "You do not have permission to upload files.": "Ez duzu fitxategiak kargatzeko baimenik.", "You have no archived conversations.": "Ez duzu artxibatutako elkarrizketarik.", diff --git a/src/lib/i18n/locales/fa-IR/translation.json b/src/lib/i18n/locales/fa-IR/translation.json index 3ce451d2c..a09dd0c02 100644 --- a/src/lib/i18n/locales/fa-IR/translation.json +++ b/src/lib/i18n/locales/fa-IR/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "", "(e.g. `sh webui.sh --api`)": "(e.g. `sh webui.sh --api`)", "(latest)": "(آخرین)", + "(Ollama)": "", "{{ models }}": "{{ models }}", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "", @@ -68,6 +69,8 @@ "Already have an account?": "از قبل حساب کاربری دارید؟", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "", "an assistant": "یک دستیار", "Analyzed": "", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "پیشنهادات پرامپت پیش فرض", "Default to 389 or 636 if TLS is enabled": "", "Default to ALL": "", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "نقش کاربر پیش فرض", "Delete": "حذف", "Delete a model": "حذف یک مدل", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "", "Description": "توضیحات", "Didn't fully follow instructions": "نمی تواند دستورالعمل را کامل پیگیری کند", + "Direct": "", "Direct Connections": "", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", "Direct Connections settings updated": "", @@ -314,6 +319,8 @@ "Dive into knowledge": "", "Do not install functions from sources you do not fully trust.": "", "Do not install tools from sources you do not fully trust.": "", + "Docling": "", + "Docling Server URL required.": "", "Document": "سند", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "مقدار Chunk Size را وارد کنید", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "", @@ -471,6 +479,7 @@ "Export Prompts": "برون\u200cریزی پرامپت\u200cها", "Export to CSV": "", "Export Tools": "برون\u200cریزی ابزارها", + "External": "", "External Models": "مدل\u200cهای بیرونی", "Failed to add file.": "خطا در افزودن پرونده", "Failed to create API Key.": "ایجاد کلید API با خطا مواجه شد.", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "فلگ `--api` را هنکام اجرای stable-diffusion-webui استفاده کنید.", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "اطلاعات", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "ورودی دستورات", "Install from Github URL": "نصب از ادرس Github", "Instant Auto-Send After Voice Transcription": "", @@ -806,6 +816,7 @@ "Presence Penalty": "", "Previous 30 days": "30 روز قبل", "Previous 7 days": "7 روز قبل", + "Private": "", "Profile Image": "تصویر پروفایل", "Prompt": "", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "پیشنهاد (برای مثال: به من بگوید چیزی که برای من یک کاربرد داره درباره ایران)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "", "Prompts": "پرامپت\u200cها", "Prompts Access": "", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "بازگرداندن \"{{searchValue}}\" از Ollama.com", "Pull a model from Ollama.com": "دریافت یک مدل از Ollama.com", "Query Generation Prompt": "", @@ -979,6 +991,7 @@ "System": "سیستم", "System Instructions": "", "System Prompt": "پرامپت سیستم", + "Tags": "", "Tags Generation": "", "Tags Generation Prompt": "", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1009,6 +1022,7 @@ "Theme": "پوسته", "Thinking...": "در حال فکر...", "This action cannot be undone. Do you wish to continue?": "این اقدام قابل بازگردانی نیست. برای ادامه اطمینان دارید؟", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "این تضمین می کند که مکالمات ارزشمند شما به طور ایمن در پایگاه داده بکند ذخیره می شود. تشکر!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "", "variable": "متغیر", "variable to have them replaced with clipboard content.": "متغیر برای جایگزینی آنها با محتوای بریده\u200cدان.", + "Verify Connection": "", "Version": "نسخه", "Version {{selectedVersion}} of {{totalVersions}}": "نسخهٔ {{selectedVersion}} از {{totalVersions}}", "View Replies": "", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "شما در هر زمان نهایتا می\u200cتوانید با {{maxCount}} پرونده گفتگو کنید.", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "", "You cannot upload an empty file.": "", - "You do not have permission to access this feature.": "", "You do not have permission to upload files": "", "You do not have permission to upload files.": "", "You have no archived conversations.": "شما هیچ گفتگوی ذخیره شده ندارید.", diff --git a/src/lib/i18n/locales/fi-FI/translation.json b/src/lib/i18n/locales/fi-FI/translation.json index 6fea592da..6905bb152 100644 --- a/src/lib/i18n/locales/fi-FI/translation.json +++ b/src/lib/i18n/locales/fi-FI/translation.json @@ -4,8 +4,9 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "(esim. `sh webui.sh --api --api-auth username_password`)", "(e.g. `sh webui.sh --api`)": "(esim. `sh webui.sh --api`)", "(latest)": "(uusin)", + "(Ollama)": "", "{{ models }}": "{{ mallit }}", - "{{COUNT}} hidden lines": "", + "{{COUNT}} hidden lines": "{{COUNT}} piilotettua riviä", "{{COUNT}} Replies": "{{COUNT}} vastausta", "{{user}}'s Chats": "{{user}}:n keskustelut", "{{webUIName}} Backend Required": "{{webUIName}}-backend vaaditaan", @@ -52,7 +53,7 @@ "Admins have access to all tools at all times; users need tools assigned per model in the workspace.": "Ylläpitäjillä on pääsy kaikkiin työkaluihin koko ajan; käyttäjät tarvitsevat työkaluja mallille määritettynä työtilassa.", "Advanced Parameters": "Edistyneet parametrit", "Advanced Params": "Edistyneet parametrit", - "All": "", + "All": "Kaikki", "All Documents": "Kaikki asiakirjat", "All models deleted successfully": "Kaikki mallit poistettu onnistuneesti", "Allow Chat Controls": "Salli keskustelujen hallinta", @@ -68,6 +69,8 @@ "Already have an account?": "Onko sinulla jo tili?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "Aina", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "Hämmästyttävä", "an assistant": "avustaja", "Analyzed": "Analysoitu", @@ -95,10 +98,10 @@ "Are you sure?": "Oletko varma?", "Arena Models": "Arena-mallit", "Artifacts": "Artefaktit", - "Ask": "", + "Ask": "Kysy", "Ask a question": "Kysyä kysymys", "Assistant": "Avustaja", - "Attach file from knowledge": "", + "Attach file from knowledge": "Liitä tiedosto tietokannasta", "Attention to detail": "Huomio yksityiskohtiin", "Attribute for Mail": "", "Attribute for Username": "Käyttäjänimi-määritämä", @@ -133,7 +136,7 @@ "Boosting or penalizing specific tokens for constrained responses. Bias values will be clamped between -100 and 100 (inclusive). (Default: none)": "", "Brave Search API Key": "Brave Search API -avain", "By {{name}}": "Tekijä {{name}}", - "Bypass Embedding and Retrieval": "", + "Bypass Embedding and Retrieval": "Ohita upotus ja haku", "Bypass SSL verification for Websites": "Ohita SSL-varmennus verkkosivustoille", "Calendar": "Kalenteri", "Call": "Puhelu", @@ -167,7 +170,7 @@ "Ciphers": "Salausalgoritmi", "Citation": "Lähdeviite", "Clear memory": "Tyhjennä muisti", - "Clear Memory": "", + "Clear Memory": "Tyhjennä Muisti", "click here": "klikkaa tästä", "Click here for filter guides.": "Katso suodatinohjeita klikkaamalla tästä.", "Click here for help.": "Klikkaa tästä saadaksesi apua.", @@ -186,15 +189,15 @@ "Clone Chat": "Kloonaa keskustelu", "Clone of {{TITLE}}": "{{TITLE}} klooni", "Close": "Sulje", - "Code execution": "Koodin suorittaminen", - "Code Execution": "Koodin suorittaminen", + "Code execution": "Koodin suoritus", + "Code Execution": "Koodin Suoritus", "Code Execution Engine": "Koodin suoritusmoottori", "Code Execution Timeout": "Koodin suorittamisen aikakatkaisu", "Code formatted successfully": "Koodin muotoilu onnistui", "Code Interpreter": "Ohjelmatulkki", "Code Interpreter Engine": "Ohjelmatulkin moottori", "Code Interpreter Prompt Template": "Ohjelmatulkin kehotemalli", - "Collapse": "", + "Collapse": "Pienennä", "Collection": "Kokoelma", "Color": "Väri", "ComfyUI": "ComfyUI", @@ -216,7 +219,7 @@ "Constrains effort on reasoning for reasoning models. Only applicable to reasoning models from specific providers that support reasoning effort.": "", "Contact Admin for WebUI Access": "Ota yhteyttä ylläpitäjään WebUI-käyttöä varten", "Content": "Sisältö", - "Content Extraction Engine": "", + "Content Extraction Engine": "Sisällönpoimintamoottori", "Context Length": "Kontekstin pituus", "Continue Response": "Jatka vastausta", "Continue with {{provider}}": "Jatka palvelulla {{provider}}", @@ -250,11 +253,11 @@ "Created At": "Luotu", "Created by": "Luonut", "CSV Import": "CSV-tuonti", - "Ctrl+Enter to Send": "", + "Ctrl+Enter to Send": "Ctrl+Enter lähettääksesi", "Current Model": "Nykyinen malli", "Current Password": "Nykyinen salasana", "Custom": "Mukautettu", - "Danger Zone": "", + "Danger Zone": "Vaara-alue", "Dark": "Tumma", "Database": "Tietokanta", "December": "joulukuu", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "Oletuskehotteiden ehdotukset", "Default to 389 or 636 if TLS is enabled": "Oletus 389 tai 636, jos TLS on käytössä", "Default to ALL": "Oletus KAIKKI", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "Oletuskäyttäjärooli", "Delete": "Poista", "Delete a model": "Poista malli", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "Kuvaa tietokantasi ja tavoitteesi", "Description": "Kuvaus", "Didn't fully follow instructions": "Ei noudattanut ohjeita täysin", + "Direct": "", "Direct Connections": "Suorat yhteydet", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "Suorat yhteydet mahdollistavat käyttäjien yhdistää omia OpenAI-yhteensopivia API-päätepisteitä.", "Direct Connections settings updated": "Suorien yhteyksien asetukset päivitetty", @@ -314,6 +319,8 @@ "Dive into knowledge": "Uppoudu tietoon", "Do not install functions from sources you do not fully trust.": "Älä asenna toimintoja lähteistä, joihin et luota täysin.", "Do not install tools from sources you do not fully trust.": "Älä asenna työkaluja lähteistä, joihin et luota täysin.", + "Docling": "", + "Docling Server URL required.": "", "Document": "Asiakirja", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -352,14 +359,14 @@ "ElevenLabs": "ElevenLabs", "Email": "Sähköposti", "Embark on adventures": "Lähde seikkailuille", - "Embedding": "", + "Embedding": "Upotus", "Embedding Batch Size": "Upotuksen eräkoko", "Embedding Model": "Upotusmalli", "Embedding Model Engine": "Upotusmallin moottori", "Embedding model set to \"{{embedding_model}}\"": "\"{{embedding_model}}\" valittu upotusmalliksi", "Enable API Key": "Ota API -avain käyttöön", "Enable autocomplete generation for chat messages": "Ota automaattinen täydennys käyttöön keskusteluviesteissä", - "Enable Code Execution": "", + "Enable Code Execution": "Ota koodin suoritus käyttöön", "Enable Code Interpreter": "Ota ohjelmatulkki käyttöön", "Enable Community Sharing": "Ota yhteisön jakaminen käyttöön", "Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "Ota Memory Locking (mlock) käyttöön estääksesi mallidatan vaihtamisen pois RAM-muistista. Tämä lukitsee mallin työsivut RAM-muistiin, varmistaen että niitä ei vaihdeta levylle. Tämä voi parantaa suorituskykyä välttämällä sivuvikoja ja varmistamalla nopean tietojen käytön.", @@ -384,9 +391,10 @@ "Enter Chunk Size": "Syötä osien koko", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "Kirjoita kuvaus", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", - "Enter domains separated by commas (e.g., example.com,site.org)": "Verkko-osoitteet erotetaan pilkulla (esim. esimerkki.com,sivu.org", + "Enter domains separated by commas (e.g., example.com,site.org)": "Verkko-osoitteet erotetaan pilkulla (esim. esimerkki.com,sivu.org)", "Enter Exa API Key": "Kirjoita Exa API -avain", "Enter Github Raw URL": "Kirjoita Github Raw -verkko-osoite", "Enter Google PSE API Key": "Kirjoita Google PSE API -avain", @@ -397,13 +405,13 @@ "Enter Jupyter Token": "Kirjoita Juypyter token", "Enter Jupyter URL": "Kirjoita Jupyter verkko-osoite", "Enter Kagi Search API Key": "Kirjoita Kagi Search API -avain", - "Enter Key Behavior": "", + "Enter Key Behavior": "Enter näppäimen käyttäytyminen", "Enter language codes": "Kirjoita kielikoodit", "Enter Model ID": "Kirjoita mallitunnus", "Enter model tag (e.g. {{modelTag}})": "Kirjoita mallitagi (esim. {{modelTag}})", "Enter Mojeek Search API Key": "Kirjoita Mojeek Search API -avain", "Enter Number of Steps (e.g. 50)": "Kirjoita askelten määrä (esim. 50)", - "Enter Perplexity API Key": "", + "Enter Perplexity API Key": "Aseta Perplexity API-avain", "Enter proxy URL (e.g. https://user:password@host:port)": "Kirjoita välityspalvelimen verkko-osoite (esim. https://käyttäjä:salasana@host:portti)", "Enter reasoning effort": "", "Enter Sampler (e.g. Euler a)": "Kirjoita näytteistäjä (esim. Euler a)", @@ -427,7 +435,7 @@ "Enter the public URL of your WebUI. This URL will be used to generate links in the notifications.": "Kirjoita julkinen WebUI verkko-osoitteesi. Verkko-osoitetta käytetään osoitteiden luontiin ilmoituksissa.", "Enter Tika Server URL": "Kirjoita Tika Server URL", "Enter timeout in seconds": "Aseta aikakatkaisu sekunneissa", - "Enter to Send": "", + "Enter to Send": "Enter lähettääksesi", "Enter Top K": "Kirjoita Top K", "Enter URL (e.g. http://127.0.0.1:7860/)": "Kirjoita verkko-osoite (esim. http://127.0.0.1:7860/)", "Enter URL (e.g. http://localhost:11434)": "Kirjoita verkko-osoite (esim. http://localhost:11434)", @@ -454,10 +462,10 @@ "Exceeded the number of seats in your license. Please contact support to increase the number of seats.": "", "Exclude": "Jätä pois", "Execute code for analysis": "Suorita koodi analysointia varten", - "Expand": "", + "Expand": "Laajenna", "Experimental": "Kokeellinen", - "Explain": "", - "Explain this section to me in more detail": "", + "Explain": "Selitä", + "Explain this section to me in more detail": "Selitä tämä osio minulle tarkemmin", "Explore the cosmos": "Tutki avaruutta", "Export": "Vie", "Export All Archived Chats": "Vie kaikki arkistoidut keskustelut", @@ -471,6 +479,7 @@ "Export Prompts": "Vie kehotteet", "Export to CSV": "Vie CSV-tiedostoon", "Export Tools": "Vie työkalut", + "External": "", "External Models": "Ulkoiset mallit", "Failed to add file.": "Tiedoston lisääminen epäonnistui.", "Failed to create API Key.": "API-avaimen luonti epäonnistui.", @@ -530,7 +539,7 @@ "General": "Yleinen", "Generate an image": "Luo kuva", "Generate Image": "Luo kuva", - "Generate prompt pair": "", + "Generate prompt pair": "Luo kehotepari", "Generating search query": "Luodaan hakukyselyä", "Get started": "Aloita", "Get started with {{WEBUI_NAME}}": "Aloita käyttämään {{WEBUI_NAME}}:iä", @@ -583,10 +592,11 @@ "Include `--api` flag when running stable-diffusion-webui": "Sisällytä `--api`-lippu ajettaessa stable-diffusion-webui", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "Tiedot", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "Syötekäskyt", "Install from Github URL": "Asenna Github-URL:stä", "Instant Auto-Send After Voice Transcription": "Heti automaattinen lähetys äänitunnistuksen jälkeen", - "Integration": "", + "Integration": "Integrointi", "Interface": "Käyttöliittymä", "Invalid file format.": "Virheellinen tiedostomuoto.", "Invalid Tag": "Virheellinen tagi", @@ -634,11 +644,11 @@ "Listening...": "Kuuntelee...", "Llama.cpp": "Llama.cpp", "LLMs can make mistakes. Verify important information.": "Kielimallit voivat tehdä virheitä. Tarkista tärkeät tiedot.", - "Loader": "", + "Loader": "Lataaja", "Loading Kokoro.js...": "Ladataan Kokoro.js...", "Local": "Paikallinen", "Local Models": "Paikalliset mallit", - "Location access not allowed": "", + "Location access not allowed": "Ei pääsyä sijaintitietoihin", "Logit Bias": "", "Lost": "Mennyt", "LTR": "LTR", @@ -713,7 +723,7 @@ "No HTML, CSS, or JavaScript content found.": "HTML-, CSS- tai JavaScript-sisältöä ei löytynyt.", "No inference engine with management support found": "", "No knowledge found": "Tietoa ei löytynyt", - "No memories to clear": "", + "No memories to clear": "Ei muistia tyhjennettäväksi", "No model IDs": "Ei mallitunnuksia", "No models found": "Malleja ei löytynyt", "No models selected": "Malleja ei ole valittu", @@ -743,7 +753,7 @@ "Ollama API settings updated": "Ollama API -asetukset päivitetty", "Ollama Version": "Ollama-versio", "On": "Päällä", - "OneDrive": "", + "OneDrive": "OneDrive", "Only alphanumeric characters and hyphens are allowed": "Vain kirjaimet, numerot ja väliviivat ovat sallittuja", "Only alphanumeric characters and hyphens are allowed in the command string.": "Vain kirjaimet, numerot ja väliviivat ovat sallittuja komentosarjassa.", "Only collections can be edited, create a new knowledge base to edit/add documents.": "Vain kokoelmia voi muokata, luo uusi tietokanta muokataksesi/lisätäksesi asiakirjoja.", @@ -780,7 +790,7 @@ "Permission denied when accessing microphone": "Käyttöoikeus evätty mikrofonille", "Permission denied when accessing microphone: {{error}}": "Käyttöoikeus evätty mikrofonille: {{error}}", "Permissions": "Käyttöoikeudet", - "Perplexity API Key": "", + "Perplexity API Key": "Perplexity API-avain", "Personalization": "Personointi", "Pin": "Kiinnitä", "Pinned": "Kiinnitetty", @@ -806,6 +816,7 @@ "Presence Penalty": "", "Previous 30 days": "Edelliset 30 päivää", "Previous 7 days": "Edelliset 7 päivää", + "Private": "", "Profile Image": "Profiilikuva", "Prompt": "Kehote", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Kehote (esim. Kerro hauska fakta Rooman valtakunnasta)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "Kehote päivitetty onnistuneesti", "Prompts": "Kehotteet", "Prompts Access": "Kehoitteiden käyttöoikeudet", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "Lataa \"{{searchValue}}\" Ollama.comista", "Pull a model from Ollama.com": "Lataa malli Ollama.comista", "Query Generation Prompt": "Kyselytulosten luontikehote", @@ -852,7 +864,7 @@ "Response notifications cannot be activated as the website permissions have been denied. Please visit your browser settings to grant the necessary access.": "Vastausilmoituksia ei voida ottaa käyttöön, koska verkkosivuston käyttöoikeudet on evätty. Myönnä tarvittavat käyttöoikeudet selaimesi asetuksista.", "Response splitting": "Vastauksen jakaminen", "Result": "Tulos", - "Retrieval": "", + "Retrieval": "Haku", "Retrieval Query Generation": "Hakukyselyn luominen", "Rich Text Input for Chat": "Rikasteksti-syöte chattiin", "RK": "RK", @@ -972,17 +984,18 @@ "Subtitle (e.g. about the Roman Empire)": "Alaotsikko (esim. Rooman valtakunta)", "Success": "Onnistui", "Successfully updated.": "Päivitetty onnistuneesti.", - "Suggested": "Ehdotettu", + "Suggested": "Ehdotukset", "Support": "Tuki", "Support this plugin:": "Tue tätä lisäosaa:", "Sync directory": "Synkronoitu hakemisto", "System": "Järjestelmä", "System Instructions": "Järjestelmäohjeet", "System Prompt": "Järjestelmäkehote", + "Tags": "", "Tags Generation": "Tagien luonti", "Tags Generation Prompt": "Tagien luontikehote", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", - "Talk to model": "", + "Talk to model": "Puhu mallille", "Tap to interrupt": "Napauta keskeyttääksesi", "Tasks": "Tehtävät", "Tavily API Key": "Tavily API -avain", @@ -1009,6 +1022,7 @@ "Theme": "Teema", "Thinking...": "Ajattelee...", "This action cannot be undone. Do you wish to continue?": "Tätä toimintoa ei voi peruuttaa. Haluatko jatkaa?", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Tämä varmistaa, että arvokkaat keskustelusi tallennetaan turvallisesti backend-tietokantaasi. Kiitos!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "Tämä on kokeellinen ominaisuus, se ei välttämättä toimi odotetulla tavalla ja se voi muuttua milloin tahansa.", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1024,7 +1038,7 @@ "Thought for {{DURATION}}": "Ajatteli {{DURATION}}", "Thought for {{DURATION}} seconds": "Ajatteli {{DURATION}} sekunttia", "Tika": "Tika", - "Tika Server URL required.": "Tika Server URL vaaditaan.", + "Tika Server URL required.": "Tika palvelimen verkko-osoite vaaditaan.", "Tiktoken": "Tiktoken", "Tip: Update multiple variable slots consecutively by pressing the tab key in the chat input after each replacement.": "Vinkki: Päivitä useita muuttujapaikkoja peräkkäin painamalla tabulaattoria keskustelusyötteessä jokaisen korvauksen jälkeen.", "Title": "Otsikko", @@ -1067,7 +1081,7 @@ "Top P": "Top P", "Transformers": "Muunnokset", "Trouble accessing Ollama?": "Ongelmia Ollama-yhteydessä?", - "Trust Proxy Environment": "", + "Trust Proxy Environment": "Luota välityspalvelimen ympäristöön", "TTS Model": "Puhesynteesimalli", "TTS Settings": "Puhesynteesiasetukset", "TTS Voice": "Puhesynteesiääni", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "Venttiilit päivitetty onnistuneesti", "variable": "muuttuja", "variable to have them replaced with clipboard content.": "muuttuja korvataan leikepöydän sisällöllä.", + "Verify Connection": "", "Version": "Versio", "Version {{selectedVersion}} of {{totalVersions}}": "Versio {{selectedVersion}} / {{totalVersions}}", "View Replies": "Näytä vastaukset", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "Voit keskustella enintään {{maxCount}} tiedoston kanssa kerralla.", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Voit personoida vuorovaikutustasi LLM-ohjelmien kanssa lisäämällä muistoja 'Hallitse'-painikkeen kautta, jolloin ne ovat hyödyllisempiä ja räätälöityjä sinua varten.", "You cannot upload an empty file.": "Et voi ladata tyhjää tiedostoa.", - "You do not have permission to access this feature.": "Sinulla ei ole lupaa tähän ominaisuuteen.", "You do not have permission to upload files": "Sinulla ei ole lupaa ladata tiedostoja", "You do not have permission to upload files.": "Sinulla ei ole lupaa ladata tiedostoja.", "You have no archived conversations.": "Sinulla ei ole arkistoituja keskusteluja.", @@ -1173,6 +1187,6 @@ "Your account status is currently pending activation.": "Tilisi tila on tällä hetkellä odottaa aktivointia.", "Your entire contribution will go directly to the plugin developer; Open WebUI does not take any percentage. However, the chosen funding platform might have its own fees.": "Koko panoksesi menee suoraan lisäosan kehittäjälle; Open WebUI ei pidätä prosenttiosuutta. Valittu rahoitusalusta voi kuitenkin periä omia maksujaan.", "Youtube": "YouTube", - "Youtube Language": "", - "Youtube Proxy URL": "" + "Youtube Language": "Youtube kieli", + "Youtube Proxy URL": "Youtube-välityspalvelimen verkko-osoite" } diff --git a/src/lib/i18n/locales/fr-CA/translation.json b/src/lib/i18n/locales/fr-CA/translation.json index 7a08c8321..fc2766ca5 100644 --- a/src/lib/i18n/locales/fr-CA/translation.json +++ b/src/lib/i18n/locales/fr-CA/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "(par ex. `sh webui.sh --api --api-auth username_password`)", "(e.g. `sh webui.sh --api`)": "(par exemple `sh webui.sh --api`)", "(latest)": "(dernier)", + "(Ollama)": "", "{{ models }}": "{{ modèles }}", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "", @@ -68,6 +69,8 @@ "Already have an account?": "Avez-vous déjà un compte ?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "", "an assistant": "un assistant", "Analyzed": "", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "Suggestions de prompts par défaut", "Default to 389 or 636 if TLS is enabled": "", "Default to ALL": "", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "Rôle utilisateur par défaut", "Delete": "Supprimer", "Delete a model": "Supprimer un modèle", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "", "Description": "Description", "Didn't fully follow instructions": "N'a pas entièrement respecté les instructions", + "Direct": "", "Direct Connections": "", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", "Direct Connections settings updated": "", @@ -314,6 +319,8 @@ "Dive into knowledge": "", "Do not install functions from sources you do not fully trust.": "", "Do not install tools from sources you do not fully trust.": "", + "Docling": "", + "Docling Server URL required.": "", "Document": "Document", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "Entrez la taille de bloc", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "", @@ -471,6 +479,7 @@ "Export Prompts": "Exporter les Prompts", "Export to CSV": "", "Export Tools": "Outils d'exportation", + "External": "", "External Models": "Modèles externes", "Failed to add file.": "", "Failed to create API Key.": "Échec de la création de la clé API.", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "Inclure le drapeau `--api` lorsque vous exécutez stable-diffusion-webui", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "Info", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "Entrez les commandes", "Install from Github URL": "Installer depuis l'URL GitHub", "Instant Auto-Send After Voice Transcription": "Envoi automatique instantané après transcription vocale", @@ -806,6 +816,7 @@ "Presence Penalty": "", "Previous 30 days": "30 derniers jours", "Previous 7 days": "7 derniers jours", + "Private": "", "Profile Image": "Image de profil", "Prompt": "", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Prompt (par ex. Dites-moi un fait amusant à propos de l'Empire romain)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "", "Prompts": "Prompts", "Prompts Access": "", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "Récupérer « {{searchValue}} » depuis Ollama.com", "Pull a model from Ollama.com": "Télécharger un modèle depuis Ollama.com", "Query Generation Prompt": "", @@ -979,6 +991,7 @@ "System": "Système", "System Instructions": "", "System Prompt": "Prompt du système", + "Tags": "", "Tags Generation": "", "Tags Generation Prompt": "", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1009,6 +1022,7 @@ "Theme": "Thème", "Thinking...": "En train de réfléchir...", "This action cannot be undone. Do you wish to continue?": "Cette action ne peut pas être annulée. Souhaitez-vous continuer ?", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Cela garantit que vos conversations précieuses soient sauvegardées en toute sécurité dans votre base de données backend. Merci !", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "Il s'agit d'une fonctionnalité expérimentale, elle peut ne pas fonctionner comme prévu et est sujette à modification à tout moment.", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "Les vannes ont été mises à jour avec succès", "variable": "variable", "variable to have them replaced with clipboard content.": "variable pour qu'elles soient remplacées par le contenu du presse-papiers.", + "Verify Connection": "", "Version": "Version améliorée", "Version {{selectedVersion}} of {{totalVersions}}": "", "View Replies": "", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Vous pouvez personnaliser vos interactions avec les LLM en ajoutant des souvenirs via le bouton 'Gérer' ci-dessous, ce qui les rendra plus utiles et adaptés à vos besoins.", "You cannot upload an empty file.": "", - "You do not have permission to access this feature.": "", "You do not have permission to upload files": "", "You do not have permission to upload files.": "", "You have no archived conversations.": "Vous n'avez aucune conversation archivée", diff --git a/src/lib/i18n/locales/fr-FR/translation.json b/src/lib/i18n/locales/fr-FR/translation.json index 5116d65bc..eb4785097 100644 --- a/src/lib/i18n/locales/fr-FR/translation.json +++ b/src/lib/i18n/locales/fr-FR/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "(par ex. `sh webui.sh --api --api-auth username_password`)", "(e.g. `sh webui.sh --api`)": "(par exemple `sh webui.sh --api`)", "(latest)": "(dernière version)", + "(Ollama)": "", "{{ models }}": "{{ models }}", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "{{COUNT}} réponses", @@ -68,6 +69,8 @@ "Already have an account?": "Avez-vous déjà un compte ?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "Incroyable", "an assistant": "un assistant", "Analyzed": "", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "Suggestions de prompts par défaut", "Default to 389 or 636 if TLS is enabled": "Par défaut à 389 ou 636 si TLS est activé", "Default to ALL": "Par défaut à TOUS", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "Rôle utilisateur par défaut", "Delete": "Supprimer", "Delete a model": "Supprimer un modèle", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "Décrivez votre base de connaissances et vos objectifs", "Description": "Description", "Didn't fully follow instructions": "N'a pas entièrement respecté les instructions", + "Direct": "", "Direct Connections": "", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", "Direct Connections settings updated": "", @@ -314,6 +319,8 @@ "Dive into knowledge": "Plonger dans les connaissances", "Do not install functions from sources you do not fully trust.": "N'installez pas de fonctions provenant de sources auxquelles vous ne faites pas entièrement confiance.", "Do not install tools from sources you do not fully trust.": "N'installez pas d'outils provenant de sources auxquelles vous ne faites pas entièrement confiance.", + "Docling": "", + "Docling Server URL required.": "", "Document": "Document", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "Entrez la taille des chunks", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "Entrez la description", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "", @@ -471,6 +479,7 @@ "Export Prompts": "Exporter des prompts", "Export to CSV": "Exporter en CSV", "Export Tools": "Exporter des outils", + "External": "", "External Models": "Modèles externes", "Failed to add file.": "Échec de l'ajout du fichier.", "Failed to create API Key.": "Échec de la création de la clé API.", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "Inclure le drapeau `--api` lorsque vous exécutez stable-diffusion-webui", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "Info", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "Commandes d'entrée", "Install from Github URL": "Installer depuis une URL GitHub", "Instant Auto-Send After Voice Transcription": "Envoi automatique après la transcription", @@ -806,6 +816,7 @@ "Presence Penalty": "Pénalité de présence", "Previous 30 days": "30 derniers jours", "Previous 7 days": "7 derniers jours", + "Private": "", "Profile Image": "Image de profil", "Prompt": "Prompt", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Prompt (par ex. Dites-moi un fait amusant à propos de l'Empire romain)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "Prompt mis à jour avec succès", "Prompts": "Prompts", "Prompts Access": "Accès aux prompts", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "Récupérer « {{searchValue}} » depuis Ollama.com", "Pull a model from Ollama.com": "Télécharger un modèle depuis Ollama.com", "Query Generation Prompt": "Prompt de génération de requête", @@ -979,6 +991,7 @@ "System": "Système", "System Instructions": "Instructions système", "System Prompt": "Prompt système", + "Tags": "", "Tags Generation": "Génération de tags", "Tags Generation Prompt": "Prompt de génération de tags", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1009,6 +1022,7 @@ "Theme": "Thème", "Thinking...": "En train de réfléchir...", "This action cannot be undone. Do you wish to continue?": "Cette action ne peut pas être annulée. Souhaitez-vous continuer ?", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Cela garantit que vos conversations précieuses soient sauvegardées en toute sécurité dans votre base de données backend. Merci !", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "Il s'agit d'une fonctionnalité expérimentale, elle peut ne pas fonctionner comme prévu et est sujette à modification à tout moment.", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "Les vannes ont été mises à jour avec succès", "variable": "variable", "variable to have them replaced with clipboard content.": "variable pour qu'elles soient remplacées par le contenu du presse-papiers.", + "Verify Connection": "", "Version": "Version:", "Version {{selectedVersion}} of {{totalVersions}}": "Version {{selectedVersion}} de {{totalVersions}}", "View Replies": "Voir les réponses", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "Vous ne pouvez discuter qu'avec un maximum de {{maxCount}} fichier(s) à la fois.", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Vous pouvez personnaliser vos interactions avec les LLM en ajoutant des mémoires à l'aide du bouton « Gérer » ci-dessous, ce qui les rendra plus utiles et mieux adaptées à vos besoins.", "You cannot upload an empty file.": "Vous ne pouvez pas envoyer un fichier vide.", - "You do not have permission to access this feature.": "Vous n'avez pas la permission d'accéder à cette fonctionnalité.", "You do not have permission to upload files": "", "You do not have permission to upload files.": "Vous n'avez pas la permission de télécharger des fichiers.", "You have no archived conversations.": "Vous n'avez aucune conversation archivée.", diff --git a/src/lib/i18n/locales/gl-ES/translation.json b/src/lib/i18n/locales/gl-ES/translation.json new file mode 100644 index 000000000..2ffb07a4a --- /dev/null +++ b/src/lib/i18n/locales/gl-ES/translation.json @@ -0,0 +1,1179 @@ +{ + "-1 for no limit, or a positive integer for a specific limit": "-1 para ilimitado, ou un número enteiro positivo para un límite específico.", + "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' o '-1' para evitar expiración.", + "(e.g. `sh webui.sh --api --api-auth username_password`)": "(p.ej. `sh webui.sh --api --api-auth username_password`)", + "(e.g. `sh webui.sh --api`)": "(p.ej. `sh webui.sh --api`)", + "(latest)": "(O mais recente)", + "{{ models }}": "{{ models }}", + "{{COUNT}} hidden lines": "", + "{{COUNT}} Replies": "{{COUNT}} Respostas", + "{{user}}'s Chats": "Chats do {{user}}", + "{{webUIName}} Backend Required": "{{webUIName}} Servidor Requerido", + "*Prompt node ID(s) are required for image generation": "Os ID do nodo son requeridos para a xeneración de imáxes", + "A new version (v{{LATEST_VERSION}}) is now available.": "Unha nova versión (v{{LATEST_VERSION}}) está disponible.", + "A task model is used when performing tasks such as generating titles for chats and web search queries": "o modelo de tarefas utilizase realizando tarefas como a xeneración de títulos para chats e consultas da búsqueda web", + "a user": "un usuario", + "About": "Sobre nos", + "Accept autocomplete generation / Jump to prompt variable": "", + "Access": "Acceso", + "Access Control": "Control de Acceso", + "Accessible to all users": "Accesible para todos os usuarios", + "Account": "Conta", + "Account Activation Pending": "Activación da conta pendente", + "Accurate information": "Información precisa", + "Actions": "Accións", + "Activate": "", + "Activate this command by typing \"/{{COMMAND}}\" to chat input.": "Active este comando escribindo \"/{{COMMAND}}\" no chat", + "Active Users": "Usuarios activos", + "Add": "Agregar", + "Add a model ID": "Agregado ID do modelo", + "Add a short description about what this model does": "Agregue unha breve descripción sobre o que fai este modelo", + "Add a tag": "Agregar unha etiqueta", + "Add Arena Model": "Agregar un modelo a aArena", + "Add Connection": "Agregar Conexión", + "Add Content": "Agregar contido", + "Add content here": "Agrege contido aquí", + "Add custom prompt": "Agregar un prompt personalizado", + "Add Files": "Agregar Arquivos", + "Add Group": "Agregar Grupo", + "Add Memory": "Agregar Memoria", + "Add Model": "Agregar Modelo", + "Add Reaction": "Agregar Reacción", + "Add Tag": "Agregar etiqueta", + "Add Tags": "agregar etiquetas", + "Add text content": "Añade contido de texto", + "Add User": "Agregar Usuario", + "Add User Group": "Agregar usuario al grupo", + "Adjusting these settings will apply changes universally to all users.": "Axustar estas opcions aplicará os cambios universalmente a todos os usuarios.", + "admin": "admin", + "Admin": "Admin", + "Admin Panel": "Panel de Administración", + "Admin Settings": "Configuración de Administrador", + "Admins have access to all tools at all times; users need tools assigned per model in the workspace.": "Os administradores teñen acceso a todas as ferramentas en todo momento; os usuarios necesitan ferramentas asignadas por modelo no espacio de trabajo.", + "Advanced Parameters": "Parámetros Avanzados", + "Advanced Params": "Parámetros avanzados", + "All": "", + "All Documents": "Todos os Documentos", + "All models deleted successfully": "Todos os modelos han sido borrados", + "Allow Chat Controls": "Permitir Control dos Chats", + "Allow Chat Delete": "Permitir Borrar Chat", + "Allow Chat Deletion": "Permitir Borrar Chats", + "Allow Chat Edit": "Pemritir Editar Chat", + "Allow File Upload": "Permitir asubida de Arquivos", + "Allow non-local voices": "Permitir voces non locales", + "Allow Temporary Chat": "Permitir Chat Temporal", + "Allow User Location": "Permitir Ubicación do Usuario", + "Allow Voice Interruption in Call": "Permitir interrupción de voz en chamada", + "Allowed Endpoints": "Puntos finais permitidos", + "Already have an account?": "¿Xa tes unha conta?", + "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", + "Always": "Sempre", + "Amazing": "Sorprendente", + "an assistant": "un asistente", + "Analyzed": "Analizado", + "Analyzing...": "Analizando..", + "and": "e", + "and {{COUNT}} more": "e {{COUNT}} mais", + "and create a new shared link.": "e xerar un novo enlace compartido.", + "API Base URL": "Dirección URL da API", + "API Key": "Chave da API ", + "API Key created.": "Chave da API creada.", + "API Key Endpoint Restrictions": "Restriccions de Endpoint de Chave de API", + "API keys": "Chaves da API", + "Application DN": "Aplicacion DN", + "Application DN Password": " Contrasinal da Aplicacion DN", + "applies to all users with the \"user\" role": "aplicacar a todos os usuarios co rol \"user\" ", + "April": "Abril", + "Archive": "Arquivar", + "Archive All Chats": "Arquivar todos os chats", + "Archived Chats": "Chats arquivados", + "archived-chat-export": "Exportación de chats arquivados", + "Are you sure you want to clear all memories? This action cannot be undone.": "", + "Are you sure you want to delete this channel?": "¿Seguro que queres eliminar este canal?", + "Are you sure you want to delete this message?": "¿Seguro que queres eliminar este mensaxe? ", + "Are you sure you want to unarchive all archived chats?": "¿Estás seguro de que quieres desArquivar todos os chats arquivados?", + "Are you sure?": "¿Está seguro?", + "Arena Models": "Area de Modelos", + "Artifacts": "Artefactos", + "Ask": "", + "Ask a question": "Fai unha pregunta", + "Assistant": "Asistente", + "Attach file from knowledge": "", + "Attention to detail": "Detalle preciso", + "Attribute for Mail": "Atributo para correo", + "Attribute for Username": "Atributo para o nome do usuario", + "Audio": "Audio", + "August": "Agosto", + "Authenticate": "Autenticar", + "Authentication": "", + "Auto-Copy Response to Clipboard": "Copiar a resposta automáticamente o portapapeis", + "Auto-playback response": "Respuesta de reproducción automática", + "Autocomplete Generation": "xeneración de autocompletado", + "Autocomplete Generation Input Max Length": "Longitud máxima de entrada da xeneración de autocompletado", + "Automatic1111": "AUTOMATIC1111", + "AUTOMATIC1111 Api Auth String": "API de autenticación para a instancia de AUTOMATIC1111", + "AUTOMATIC1111 Base URL": "Dirección URL de AUTOMATIC1111", + "AUTOMATIC1111 Base URL is required.": "A dirección URL de AUTOMATIC1111 e requerida.", + "Available list": "Lista dispoñible", + "available!": "¡dispoñible!", + "Awful": "Horrible", + "Azure AI Speech": "Voz de Azure AI", + "Azure Region": "Rexión de Azure", + "Back": "Volver", + "Bad Response": "Resposta incorrecta", + "Banners": "Mensaxes emerxentes", + "Base Model (From)": "Modelo base (desde)", + "Batch Size (num_batch)": "Tamaño do proceso na cola (num_batch)", + "before": "antes", + "Being lazy": "Ser pregizeiro", + "Beta": "Beta", + "Bing Search V7 Endpoint": "Punto final da busqueda de Bing versión V7", + "Bing Search V7 Subscription Key": "Chave de suscripción da busqueda de Bing versión V7", + "Bocha Search API Key": "", + "Boosting or penalizing specific tokens for constrained responses. Bias values will be clamped between -100 and 100 (inclusive). (Default: none)": "", + "Brave Search API Key": "Chave de API da busqueda Brave", + "By {{name}}": "Por {{name}}", + "Bypass Embedding and Retrieval": "", + "Bypass SSL verification for Websites": "Desactivar a verificación SSL para sitios web", + "Calendar": "", + "Call": "Chamada", + "Call feature is not supported when using Web STT engine": "A funcionalidade da chamada non pode usarse xunto co motor da STT Web", + "Camera": "Cámara", + "Cancel": "Cancelar", + "Capabilities": "Capacidades", + "Capture": "Captura", + "Certificate Path": "Ruta para os Certificados", + "Change Password": "Cambiar o contrasinal ", + "Channel Name": "Nome do Canal", + "Channels": "Canal", + "Character": "Caracter", + "Character limit for autocomplete generation input": "Limite de caracteres para a entrada de xeneración do autocompletado", + "Chart new frontiers": "Dibuxar novas fronteiras", + "Chat": "Chat", + "Chat Background Image": "Imaxe de fondo do Chat", + "Chat Bubble UI": "Burbuxa do chat UI", + "Chat Controls": "Controis do chat", + "Chat direction": "Dirección do Chat", + "Chat Overview": "Vista xeral do chat", + "Chat Permissions": "Permisos do Chat", + "Chat Tags Auto-Generation": "Auto-xeneración das Etiquetas para o Chat", + "Chats": "Chats", + "Check Again": "Verifica de novo", + "Check for updates": "Verificar actualizacions", + "Checking for updates...": "Verificando actualizacions...", + "Choose a model before saving...": "Escolle un modelo antes de gardar os cambios...", + "Chunk Overlap": "Superposición de fragmentos", + "Chunk Size": "Tamaño de fragmentos", + "Ciphers": "Cifrado", + "Citation": "Cita", + "Clear memory": "Liberar memoria", + "Clear Memory": "Limpar memoria", + "click here": "Pica aquí", + "Click here for filter guides.": "Pica aquí para guías de filtros", + "Click here for help.": "Pica aquí para obter axuda.", + "Click here to": "Pica aquí para", + "Click here to download user import template file.": "Pica aquí para descargar o arquivo de plantilla de importación de usuario.", + "Click here to learn more about faster-whisper and see the available models.": "Clic aquí para aprender mais sobre faster-whisper y ver os modelos disponibles.", + "Click here to see available models.": "", + "Click here to select": "Pica aquí para seleccionar", + "Click here to select a csv file.": "Pica aquí para seleccionar un arquivo csv.", + "Click here to select a py file.": "Pica aquí para seleccionar un arquivo py.", + "Click here to upload a workflow.json file.": "Pica aquí para subir un arquivo workflow.json.", + "click here.": "Pica aquí.", + "Click on the user role button to change a user's role.": "Pica no botón de roles do usuario para cambiar su rol.", + "Clipboard write permission denied. Please check your browser settings to grant the necessary access.": "Permisos de escritura do portapapeles denegados. Por favor, comprueba as configuracions de tu navegador para otorgar o acceso necesario.", + "Clone": "Clonar", + "Clone Chat": "Clonar chat", + "Clone of {{TITLE}}": "Clon de {{TITLE}}", + "Close": "Pechar", + "Code execution": "Execución de código", + "Code Execution": "Execución de código", + "Code Execution Engine": "Motor de execución de código", + "Code Execution Timeout": "Tempo de espera esgotado para a execución de código", + "Code formatted successfully": "Formateouse correctamente o código.", + "Code Interpreter": "Interprete de Código", + "Code Interpreter Engine": "Motor interprete de código", + "Code Interpreter Prompt Template": "Exemplos de Prompt para o Interprete de Código", + "Collapse": "Esconder", + "Collection": "Colección", + "Color": "Cor", + "ComfyUI": "ComfyUI", + "ComfyUI API Key": "Chave da API de ComfyUI", + "ComfyUI Base URL": "ComfyUI Base URL", + "ComfyUI Base URL is required.": "ComfyUI Base URL e requerido.", + "ComfyUI Workflow": "Fluxo de traballo de ComfyUI", + "ComfyUI Workflow Nodes": "Nodos para ComfyUI Workflow", + "Command": "Comando", + "Completions": "Respostas autoxeradas", + "Concurrent Requests": "Solicitudes simultáneas", + "Configure": "Configurar", + "Confirm": "Confirmar", + "Confirm Password": "Confirmar Contrasinal ", + "Confirm your action": "Confirma a tua acción", + "Confirm your new password": "Confirmar o teu novo contrasinal ", + "Connect to your own OpenAI compatible API endpoints.": "Conecta os teus propios Api compatibles con OpenAI.", + "Connections": "Conexions", + "Constrains effort on reasoning for reasoning models. Only applicable to reasoning models from specific providers that support reasoning effort.": "Define o esforzo do modelo de razonamento, so aplicable a modelos de razonamento de provedores específicos que soportan o esforzo de razonamento.", + "Contact Admin for WebUI Access": "Contacta o administrador para obter acceso o WebUI", + "Content": "Contido", + "Content Extraction Engine": "Motor extractor de contido", + "Context Length": "Lonxitude do contexto", + "Continue Response": "Continuar Respuesta", + "Continue with {{provider}}": "Continuar co {{provider}}", + "Continue with Email": "Continuar co email", + "Continue with LDAP": "Continuar co 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.": "Controlar como o texto do mensaxe se divide para as solicitudes de TTS. 'Puntuation' divide en oracions, 'paragraphs' divide en párrafos e 'none' manten o mensaxe como unha sola cadea.", + "Control the repetition of token sequences in the generated text. A higher value (e.g., 1.5) will penalize repetitions more strongly, while a lower value (e.g., 1.1) will be more lenient. At 1, it is disabled.": "Controla a repetición de secuencias de tokens no texto xerado. Un valor máis alto (por exemplo, 1,5) penalizará as repeticións con máis forza, mentres que un valor máis baixo (por exemplo, 1,1) será mais tolerante. Cando é 1, está desactivado.", + "Controls": "Controles", + "Controls the balance between coherence and diversity of the output. A lower value will result in more focused and coherent text.": "Controla o equilibrio entre a coherencia e a diversidade da saída. Un valor máis baixo dará como resultado un texto máis centrado e coherente.", + "Copied": "Copiado", + "Copied shared chat URL to clipboard!": "¡URL de chat compartido copiado o portapapeis!", + "Copied to clipboard": "Copiado o portapapeis", + "Copy": "Copiar", + "Copy last code block": "Copia o último bloque de código", + "Copy last response": "Copia a última respuesta", + "Copy Link": "Copiar enlace", + "Copy to clipboard": "Copiado o portapapeis", + "Copying to clipboard was successful!": "!A copia o portapapeis realizouse correctamente!", + "CORS must be properly configured by the provider to allow requests from Open WebUI.": "O CORS debe estar debidamente configurado polo provedor para permitir solicitudes desde Open WebUI.", + "Create": "Xerar", + "Create a knowledge base": "Xerar base de conocemento", + "Create a model": "Xerar un modelo", + "Create Account": "Xerar unha conta", + "Create Admin Account": "Xerar conta administrativa", + "Create Channel": "Xerar Canal", + "Create Group": "Xerar grupo", + "Create Knowledge": "Xerar Conocemento", + "Create new key": "Xerar unha nova chave", + "Create new secret key": "Xerar unha nova chave secreta", + "Created at": "Creado en", + "Created At": "Creado en", + "Created by": "Creado por", + "CSV Import": "Importa un CSV", + "Ctrl+Enter to Send": "", + "Current Model": "Modelo Actual", + "Current Password": "contrasinal Actual", + "Custom": "Personalizado", + "Danger Zone": "", + "Dark": "Oscuro", + "Database": "Base de datos", + "December": "Decembro", + "Default": "Por defecto", + "Default (Open AI)": "Predeterminado (Open AI)", + "Default (SentenceTransformers)": "Predeterminado (SentenceTransformers)", + "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.": "O modo predeterminado funciona con unha gama mais ampla de modelos chamando as ferramentas unha vez antes da execución. o modo nativo aproveita as capacidades integradas de chamada de ferramentas do modelo, pero requiere que o modelo soporte esta función de manera inherente.", + "Default Model": "Modelo predeterminado", + "Default model updated": "O modelo por defecto foi actualizado", + "Default Models": "Modelos predeterminados", + "Default permissions": "Permisos predeterminados", + "Default permissions updated successfully": "Permisos predeterminados actualizados correctamente", + "Default Prompt Suggestions": "Sugerencias de mensaxes por defecto", + "Default to 389 or 636 if TLS is enabled": "Predeterminado a 389 o 636 si TLS está habilitado", + "Default to ALL": "Predeterminado a TODOS", + "Default User Role": "Rol por defecto para os usuarios", + "Delete": "Borrar", + "Delete a model": "Borra un modelo", + "Delete All Chats": "Eliminar todos os chats", + "Delete All Models": "Eliminar todos os modelos", + "Delete chat": "Borrar chat", + "Delete Chat": "Borrar Chat", + "Delete chat?": "Borrar o chat?", + "Delete folder?": "¿Eliminar carpeta?", + "Delete function?": "Borrar afunción?", + "Delete Message": "Eliminar mensaxe", + "Delete message?": "", + "Delete prompt?": "Borrar o prompt?", + "delete this link": "Borrar este enlace", + "Delete tool?": "Borrar a ferramenta", + "Delete User": "Borrar Usuario", + "Deleted {{deleteModelTag}}": "Se borró {{deleteModelTag}}", + "Deleted {{name}}": "Eliminado {{nombre}}", + "Deleted User": "Usuario eliminado", + "Describe your knowledge base and objectives": "Describe a tua base de coñecementos e obxetivos", + "Description": "Descripción", + "Didn't fully follow instructions": "Non sigueu as instruccions", + "Direct Connections": "Conexións directas", + "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "Conexións directas permiten aos usuarios conectar cos seus propios puntos finais de API compatibles con OpenAI.", + "Direct Connections settings updated": "Configuración de Conexións directas actualizada", + "Disabled": "Desactivado", + "Discover a function": "Descubre unha función", + "Discover a model": "Descubrir un modelo", + "Discover a prompt": "Descubre un Prompt", + "Discover a tool": "Descubre unha ferramenta", + "Discover how to use Open WebUI and seek support from the community.": "Descubra como usar Open WebUI e busque apoio na comunidade.", + "Discover wonders": "Descubre maravillas", + "Discover, download, and explore custom functions": "Descubre, descarga y explora funcións personalizadas", + "Discover, download, and explore custom prompts": "Descubre, descarga, y explora Prompts personalizados", + "Discover, download, and explore custom tools": "Descubre, descarga y explora ferramentas personalizadas", + "Discover, download, and explore model presets": "Descubre, descarga y explora ajustes preestablecidos de modelos", + "Dismissible": "Desestimable", + "Display": "Mostrar", + "Display Emoji in Call": "Muestra Emoji en chamada", + "Display the username instead of You in the Chat": "Mostrar o nombre de usuario en lugar de Vostede no chat", + "Displays citations in the response": "Muestra citas en arespuesta", + "Dive into knowledge": "Sumérgete no coñecemento", + "Do not install functions from sources you do not fully trust.": "Non instale funcións desde fontes nas que no confíe totalmente.", + "Do not install tools from sources you do not fully trust.": "Non instale ferramentas desde fontes nas que no confíe totalmente.", + "Document": "Documento", + "Document Intelligence": "Inteligencia documental", + "Document Intelligence endpoint and key required.": "Endpoint e chave de Intelixencia de Documentos requeridos.", + "Documentation": "Documentación", + "Documents": "Documentos", + "does not make any external connections, and your data stays securely on your locally hosted server.": "non realiza ninguna conexión externa y sus datos permanecen seguros en su servidor alojado localmente.", + "Domain Filter List": "", + "Don't have an account?": "¿Non tes unha conta?", + "don't install random functions from sources you don't trust.": "Non instale funcións aleatorias desde fontes nas que non confíe.", + "don't install random tools from sources you don't trust.": "Non instale ferramentas aleatorias desde fontes nas que non confíe.", + "Don't like the style": "Non che gusta o estilo?", + "Done": "Feito", + "Download": "Descargar", + "Download as SVG": "", + "Download canceled": "Descarga cancelada", + "Download Database": "Descarga a Base de Datos", + "Drag and drop a file to upload or select a file to view": "Arrastra y suelta un Arquivo para subirlo o selecciona un Arquivo para verlo", + "Draw": "Dibujar", + "Drop any files here to add to the conversation": "Suelta cualquier Arquivo aquí para agregarlo a a conversación", + "e.g. '30s','10m'. Valid time units are 's', 'm', 'h'.": "p.ej. '30s','10m'. Unidades válidas detempo son 's', 'm', 'h'.", + "e.g. 60": "e.g. 60", + "e.g. A filter to remove profanity from text": "p.ej. Un filtro para eliminar a profanidade do texto", + "e.g. My Filter": "p.ej. O meu Filtro", + "e.g. My Tools": "p.ej. As miñas ferramentas", + "e.g. my_filter": "p.ej. meu_filtro", + "e.g. my_tools": "p.ej. miñas_ferramentas", + "e.g. Tools for performing various operations": "p.ej. ferramentas para realizar diversas operacions", + "Edit": "Editar", + "Edit Arena Model": "Editar modelo de Arena", + "Edit Channel": "Editar Canal", + "Edit Connection": "Editar Conexión", + "Edit Default Permissions": "Editar permisos predeterminados", + "Edit Memory": "Editar Memoria", + "Edit User": "Editar Usuario", + "Edit User Group": "Editar grupo de usuarios", + "ElevenLabs": "ElevenLabs", + "Email": "Email", + "Embark on adventures": "Emprende aventuras", + "Embedding": "", + "Embedding Batch Size": "Tamaño de Embedding", + "Embedding Model": "Modelo de Embedding", + "Embedding Model Engine": "Motor de Modelo de Embedding", + "Embedding model set to \"{{embedding_model}}\"": "Modelo de Embedding configurado a \"{{embedding_model}}\"", + "Enable API Key": "Habilitar chave de API", + "Enable autocomplete generation for chat messages": "Habilitar xeneración de autocompletado para mensaxes de chat", + "Enable Code Execution": "Habilitar a execución de código", + "Enable Code Interpreter": "Habilitar o interprete de código", + "Enable Community Sharing": "Habilitar o uso compartido da comunidad", + "Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "Habilitar o bloqueo de memoria (mlock) para evitar que os datos do modelo se intercambien da RAM. Esta opción bloquea o conxunto de páxinas de traballo do modelo na RAM, asegurando que non se intercambiarán ao disco. Isto pode axudar a manter o rendemento evitando fallos de páxina e garantindo un acceso rápido aos datos.", + "Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "Habilitar o mapeo de memoria (mmap) para cargar os datos do modelo. Esta opción permite ao sistema usar o almacenamento en disco como unha extensión da RAM tratando os arquivos de disco como se estivesen na RAM. Isto pode mellorar o rendemento do modelo permitindo un acceso máis rápido aos datos. Sen embargo, pode non funcionar correctamente con todos os sistemas e pode consumir unha cantidade significativa de espazo en disco.", + "Enable Message Rating": "Habilitar a calificación de os mensaxes", + "Enable Mirostat sampling for controlling perplexity.": "Habilitar o muestreo de Mirostat para controlar Perplexity.", + "Enable New Sign Ups": "Habilitar novos Registros", + "Enabled": "Activado", + "Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "asegurese de o teu arquivo CSV inclúe 4 columnas nesta orde: Nome, Email, Contrasinal, Rol.", + "Enter {{role}} message here": "Ingrese o mensaxe {{role}} aquí", + "Enter a detail about yourself for your LLMs to recall": "Ingrese un detalle sobre vostede para que as suas LLMs recorden", + "Enter api auth string (e.g. username:password)": "Ingrese a cadena de autorización de api (p.ej., nombre:contrasinal )", + "Enter Application DN": "Ingrese a DN da aplicación", + "Enter Application DN Password": "Ingrese a contrasinal da DN da aplicación", + "Enter Bing Search V7 Endpoint": "Ingrese o punto final de Bing Search V7", + "Enter Bing Search V7 Subscription Key": "Ingrese a chave de suscripción de Bing Search V7", + "Enter Bocha Search API Key": "Ingresa a chave de API da busqueda de Bocha", + "Enter Brave Search API Key": "Ingresa a chave de API de busqueda de Brave", + "Enter certificate path": "Ingrese a ruta do certificado", + "Enter CFG Scale (e.g. 7.0)": "Ingresa a escala de CFG (p.ej., 7.0)", + "Enter Chunk Overlap": "Ingresar superposición de fragmentos", + "Enter Chunk Size": "Ingrese o tamaño do fragmento", + "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", + "Enter description": "Ingrese a descripción", + "Enter Document Intelligence Endpoint": "Ingrese o punto final de Intelixencia de Documentos", + "Enter Document Intelligence Key": "Ingrese a chave de Intelixencia de Documentos", + "Enter domains separated by commas (e.g., example.com,site.org)": "Ingrese dominios separados por comas (p.ej., example.com,site.org)", + "Enter Exa API Key": "Ingrese a chave API de Exa", + "Enter Github Raw URL": "Ingresa a URL sin procesar de Github", + "Enter Google PSE API Key": "Ingrese a chave API de Google PSE", + "Enter Google PSE Engine Id": "Introduzca o ID do motor PSE de Google", + "Enter Image Size (e.g. 512x512)": "Ingrese o tamaño da imaxen (p.ej. 512x512)", + "Enter Jina API Key": "Ingrese a chave API de Jina", + "Enter Jupyter Password": "Ingrese o contrasinal de Jupyter", + "Enter Jupyter Token": "Ingrese o token de Jupyter", + "Enter Jupyter URL": "Ingrese a URL de Jupyter", + "Enter Kagi Search API Key": "Ingrese a chave API de Kagi Search", + "Enter Key Behavior": "Ingrese o comportamento da chave", + "Enter language codes": "Ingrese códigos de idioma", + "Enter Model ID": "Ingresa o ID do modelo", + "Enter model tag (e.g. {{modelTag}})": "Ingrese a etiqueta do modelo (p.ej. {{modelTag}})", + "Enter Mojeek Search API Key": "Ingrese a chave API de Mojeek Search", + "Enter Number of Steps (e.g. 50)": "Ingrese o número de pasos (p.ej., 50)", + "Enter Perplexity API Key": "Ingrese a chave API de Perplexity", + "Enter proxy URL (e.g. https://user:password@host:port)": "Ingrese a URL do proxy (p.ej. https://user:password@host:port)", + "Enter reasoning effort": "Ingrese o esfuerzo de razonamiento", + "Enter Sampler (e.g. Euler a)": "Ingrese o sampler (p.ej., Euler a)", + "Enter Scheduler (e.g. Karras)": "Ingrese o planificador (p.ej., Karras)", + "Enter Score": "Ingrese a puntuación", + "Enter SearchApi API Key": "Ingrese a chave API de SearchApi", + "Enter SearchApi Engine": "Ingrese o motor de SearchApi", + "Enter Searxng Query URL": "Introduzca a URL de consulta de Searxng", + "Enter Seed": "Ingrese a semilla", + "Enter SerpApi API Key": "Ingrese a chave API de SerpApi", + "Enter SerpApi Engine": "Ingrese o motor de SerpApi", + "Enter Serper API Key": "Ingrese a chave API de Serper", + "Enter Serply API Key": "Ingrese a chave API de Serply", + "Enter Serpstack API Key": "Ingrese a chave API de Serpstack", + "Enter server host": "Ingrese o host do servidor", + "Enter server label": "Ingrese a etiqueta do servidor", + "Enter server port": "Ingrese o puerto do servidor", + "Enter stop sequence": "Ingrese a secuencia de parada", + "Enter system prompt": "Ingrese o prompt do sistema", + "Enter Tavily API Key": "Ingrese a chave API de Tavily", + "Enter the public URL of your WebUI. This URL will be used to generate links in the notifications.": "Ingrese a URL pública da sua WebUI. Esta URL utilizaráse para generar enlaces en as notificacions.", + "Enter Tika Server URL": "Ingrese a URL do servidor Tika", + "Enter timeout in seconds": "Ingrese o tempo de espera en segundos", + "Enter to Send": "Ingrese para enviar", + "Enter Top K": "Ingrese o Top K", + "Enter URL (e.g. http://127.0.0.1:7860/)": "Ingrese a URL (p.ej., http://127.0.0.1:7860/)", + "Enter URL (e.g. http://localhost:11434)": "Ingrese a URL (p.ej., http://localhost:11434)", + "Enter your current password": "Ingrese o seu contrasinal actual", + "Enter Your Email": "Ingrese o seu correo electrónico", + "Enter Your Full Name": "Ingrese o seu nome completo", + "Enter your message": "Ingrese o seu mensaxe", + "Enter your new password": "Ingrese o seu novo contrasinal ", + "Enter Your Password": "Ingrese o seu contrasinal ", + "Enter Your Role": "Ingrese o seu rol", + "Enter Your Username": "Ingrese o seu nome de usuario", + "Enter your webhook URL": "Ingrese a sua URL de webhook", + "Error": "Error", + "ERROR": "ERROR", + "Error accessing Google Drive: {{error}}": "Error o acceder a Google Drive: {{error}}", + "Error uploading file: {{error}}": "Error o subir o Arquivo: {{error}}", + "Evaluations": "Evaluacions", + "Exa API Key": "chave API de Exa", + "Example: (&(objectClass=inetOrgPerson)(uid=%s))": "Exemplo: (&(objectClass=inetOrgPerson)(uid=%s))", + "Example: ALL": "Exemplo: TODOS", + "Example: mail": "Exemplo: correo", + "Example: ou=users,dc=foo,dc=example": "Exemplo: ou=usuarios,dc=foo,dc=Exemplo", + "Example: sAMAccountName or uid or userPrincipalName": "Exemplo: sAMAccountName o uid o userPrincipalName", + "Exceeded the number of seats in your license. Please contact support to increase the number of seats.": "", + "Exclude": "Excluir", + "Execute code for analysis": "Ejecutar código para análisis", + "Expand": "expandir", + "Experimental": "Experimental", + "Explain": "Explicar", + "Explain this section to me in more detail": "Explica esta sección para mais detalle", + "Explore the cosmos": "Explora o cosmos", + "Export": "Exportar", + "Export All Archived Chats": "Exportar todos os chats Arquivados", + "Export All Chats (All Users)": "Exportar todos os chats (Todos os usuarios)", + "Export chat (.json)": "Exportar chat (.json)", + "Export Chats": "Exportar Chats", + "Export Config to JSON File": "Exportar configuración a Arquivo JSON", + "Export Functions": "Exportar Funcions", + "Export Models": "Exportar Modelos", + "Export Presets": "Exportar ajustes preestablecidos", + "Export Prompts": "Exportar Prompts", + "Export to CSV": "Exportar a CSV", + "Export Tools": "Exportar ferramentas", + "External Models": "Modelos Externos", + "Failed to add file.": "Non pudo agregarse o Arquivo.", + "Failed to create API Key.": "Non pudo xerarse a chave API.", + "Failed to fetch models": "Non puderon obterse os modelos", + "Failed to read clipboard contents": "Non pudo Lerse o contido do portapapeles", + "Failed to save models configuration": "Non pudogardarse a configuración de os modelos", + "Failed to update settings": "Falla al actualizar os ajustes", + "Failed to upload file.": "Falla al subir o Arquivo.", + "Features": "Características", + "Features Permissions": "Permisos de características", + "February": "Febreiro", + "Feedback History": "Historial de retroalimentación", + "Feedbacks": "Retroalimentacions", + "Feel free to add specific details": "Libre de agregar detalles específicos", + "File": "Arquivo", + "File added successfully.": "Arquivo agregado correctamente.", + "File content updated successfully.": "Contido do Arquivo actualizado correctamente.", + "File Mode": "Modo de Arquivo", + "File not found.": "Arquivo non encontrado.", + "File removed successfully.": "Arquivo eliminado correctamente.", + "File size should not exceed {{maxSize}} MB.": "Tamaño do Arquivo non debe exceder {{maxSize}} MB.", + "File uploaded successfully": "Arquivo subido correctamente", + "Files": "Arquivos", + "Filter is now globally disabled": "O filtro ahora está desactivado globalmente", + "Filter is now globally enabled": "O filtro ahora está habilitado globalmente", + "Filters": "Filtros", + "Fingerprint spoofing detected: Unable to use initials as avatar. Defaulting to default profile image.": "Destectouse suplantación de pegadas: Non puderon usarse as iniciais como avatar. Por defecto utilizase a imaxen de perfil predeterminada.", + "Fluidly stream large external response chunks": "Transmita con fluidez grandes fragmentos de resposta externa", + "Focus chat input": "Enfoca a entrada do chat", + "Folder deleted successfully": "Carpeta eliminada correctamente", + "Folder name cannot be empty": "O nome da carpeta non pode estar vacío", + "Folder name cannot be empty.": "O nome da carpeta non pode estar vacío", + "Folder name updated successfully": "Nombre da carpeta actualizado correctamente", + "Followed instructions perfectly": "Segiu as instruccions perfectamente", + "Forge new paths": "Forxa novos caminos", + "Form": "De", + "Format your variables using brackets like this:": "Formatea tus variables usando corchetes así:", + "Frequency Penalty": "Penalización de frecuencia", + "Full Context Mode": "", + "Function": "Función", + "Function Calling": "chamada de función", + "Function created successfully": "Función creada exitosamente", + "Function deleted successfully": "Función borrada exitosamente", + "Function Description": "Descripción da función", + "Function ID": "ID da función", + "Function is now globally disabled": "a función ahora está desactivada globalmente", + "Function is now globally enabled": "Afunción está habilitada globalmente", + "Function Name": "Nombre da función", + "Function updated successfully": "Función actualizada exitosamente", + "Functions": "Funcions", + "Functions allow arbitrary code execution": "Funcions habilitan aexecución de código arbitrario", + "Functions allow arbitrary code execution.": "Funcions habilitan aexecución de código arbitrario.", + "Functions imported successfully": "Funcions importadas exitosamente", + "Gemini": "", + "Gemini API Config": "", + "Gemini API Key is required.": "", + "General": "General", + "Generate an image": "Generar unha imaxen", + "Generate Image": "Generar imaxen", + "Generate prompt pair": "", + "Generating search query": "xeneración de consultas de búsqueda", + "Get started": "Empezar", + "Get started with {{WEBUI_NAME}}": "Empezar con {{WEBUI_NAME}}", + "Global": "Global", + "Good Response": "Buena Respuesta", + "Google Drive": "Google Drive", + "Google PSE API Key": "chave API de Google PSE", + "Google PSE Engine Id": "ID do motor PSE de Google", + "Group created successfully": "Grupo creado correctamente", + "Group deleted successfully": "Grupo eliminado correctamente", + "Group Description": "Descripción do grupo", + "Group Name": "Nome do grupo", + "Group updated successfully": "Grupo actualizado correctamente", + "Groups": "Grupos", + "Haptic Feedback": "Retroalimentación háptica", + "has no conversations.": "Non ten conversacions.", + "Hello, {{name}}": "Hola, {{name}}", + "Help": "axuda", + "Help us create the best community leaderboard by sharing your feedback history!": "¡Axudanos a xerar o mejor tablero de líderes da comunidad compartindo o teu historial de retroalimentación!", + "Hex Color": "Cor Hex", + "Hex Color - Leave empty for default color": "Cor Hex - deixa vacío para o color predeterminado", + "Hide": "Esconder", + "Home": "", + "Host": "Host", + "How can I help you today?": "¿Cómo podo axudarche hoxe?", + "How would you rate this response?": "¿Cómo calificarías esta resposta?", + "Hybrid Search": "Búsqueda Híbrida", + "I acknowledge that I have read and I understand the implications of my action. I am aware of the risks associated with executing arbitrary code and I have verified the trustworthiness of the source.": "Asegurou que leu e entendo as implicacions da miña acción. Estou consciente dos riscos asociados con a execución de código arbitrario e verificou a confianza da fonte.", + "ID": "ID", + "Ignite curiosity": "Encender a curiosidad", + "Image": "imaxen", + "Image Compression": "Compresión de imaxen", + "Image Generation": "xeneración de imaxes", + "Image Generation (Experimental)": "xeneración de imaxes (experimental)", + "Image Generation Engine": "Motor de xeneración de imaxes", + "Image Max Compression Size": "Tamaño máximo de compresión de imaxen", + "Image Prompt Generation": "xeneración de prompt de imaxen", + "Image Prompt Generation Prompt": "Prompt de xeneración de prompt de imaxen", + "Image Settings": "Ajustes da Imaxe", + "Images": "imaxes", + "Import Chats": "Importar chats", + "Import Config from JSON File": "Importar configuración desde Arquivo JSON", + "Import Functions": "Importar Funcions", + "Import Models": "Importar modelos", + "Import Presets": "Importar ajustes preestablecidos", + "Import Prompts": "Importar Prompts", + "Import Tools": "Importar ferramentas", + "Include": "Incluir", + "Include `--api-auth` flag when running stable-diffusion-webui": "Incluir o indicador `--api-auth` al ejecutar stable-diffusion-webui", + "Include `--api` flag when running stable-diffusion-webui": "Incluir o indicador `--api` al ejecutar stable-diffusion-webui", + "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", + "Info": "Información", + "Input commands": "Ingresar comandos", + "Install from Github URL": "Instalar desde a URL de Github", + "Instant Auto-Send After Voice Transcription": "Auto-Enviar despois da Transcripción de Voz", + "Integration": "Integración", + "Interface": "Interfaz", + "Invalid file format.": "Formato de Arquivo inválido.", + "Invalid Tag": "Etiqueta Inválida", + "is typing...": "está escribindo...", + "January": "Xaneiro", + "Jina API Key": "chave API de Jina", + "join our Discord for help.": "Únase o noso Discord para obter axuda.", + "JSON": "JSON", + "JSON Preview": "Vista previa de JSON", + "July": "Xullo", + "June": "Xuño", + "Jupyter Auth": "autenticación Jupyter", + "Jupyter URL": "url Jupyter", + "JWT Expiration": "Expiración do JWT", + "JWT Token": "Token JWT", + "Kagi Search API Key": "chave API de Kagi Search", + "Keep Alive": "manter Vivo", + "Key": "Chave", + "Keyboard shortcuts": "Atallos de teclado", + "Knowledge": "coñecemento", + "Knowledge Access": "Acceso al coñecemento", + "Knowledge created successfully.": "coñecemento creado exitosamente.", + "Knowledge deleted successfully.": "coñecemento eliminado exitosamente.", + "Knowledge reset successfully.": "coñecemento restablecido exitosamente.", + "Knowledge updated successfully": "coñecemento actualizado exitosamente.", + "Kokoro.js (Browser)": "Kokoro .js (Navegador)", + "Kokoro.js Dtype": "Kokoro .js Dtype", + "Label": "Etiqueta", + "Landing Page Mode": "Modo de Página de Inicio", + "Language": "Lenguaje", + "Last Active": "Última Actividad", + "Last Modified": "Modificado por última vez", + "Last reply": "Última respuesta", + "LDAP": "LDAP", + "LDAP server updated": "Servidor LDAP actualizado", + "Leaderboard": "Tablero de líderes", + "Leave empty for unlimited": "Deje vacío para ilimitado", + "Leave empty to include all models from \"{{URL}}/api/tags\" endpoint": "Deixa vacío para incluir todos os modelos desde o endpoint \"{{URL}}/api/tags\"", + "Leave empty to include all models from \"{{URL}}/models\" endpoint": "Deixa vacío para incluir todos os modelos desde o endpoint \"{{URL}}/models\"", + "Leave empty to include all models or select specific models": "Deixa vacío para incluir todos os modelos o seleccione modelos específicos", + "Leave empty to use the default prompt, or enter a custom prompt": "Deixa vacío para usar o prompt predeterminado, o ingrese un prompt personalizado", + "Leave model field empty to use the default model.": "Deixa o campo do modelo vacío para usar o modelo predeterminado.", + "License": "Licencia", + "Light": "Claro", + "Listening...": "Escoitando...", + "Llama.cpp": "Llama.cpp", + "LLMs can make mistakes. Verify important information.": "Os LLM poden cometer erros. Verifica a información importante.", + "Loader": "Cargador", + "Loading Kokoro.js...": "Cargando Kokoro.js...", + "Local": "Local", + "Local Models": "Modelos locais", + "Location access not allowed": "", + "Logit Bias": "Logit Bias", + "Lost": "Perdido", + "LTR": "LTR", + "Made by Open WebUI Community": "Feito por a comunidad de OpenWebUI", + "Make sure to enclose them with": "Asegúrese de adxuntarlos con", + "Make sure to export a workflow.json file as API format from ComfyUI.": "Asegúrese de exportar un Arquivo workflow.json en formato API desde ComfyUI.", + "Manage": "Xestionar", + "Manage Direct Connections": "Xestionar Conexións Directas", + "Manage Models": "Xestionar modelos", + "Manage Ollama": "Xestionar Ollama", + "Manage Ollama API Connections": "Xestionar conexiones API de Ollama", + "Manage OpenAI API Connections": "Xestionar conexiones API de OpenAI", + "Manage Pipelines": "Administrar Pipelines", + "March": "Marzo", + "Max Tokens (num_predict)": "Máximo de fichas (num_predict)", + "Max Upload Count": "Cantidad máxima de cargas", + "Max Upload Size": "Tamaño máximo de Cargas", + "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Podense descargar un máximo de 3 modelos simultáneamente. Por favor, intenteo de novo mais tarde.", + "May": "Mayo", + "Memories accessible by LLMs will be shown here.": "As memorias accesibles por os LLMs mostraránse aquí.", + "Memory": "Memoria", + "Memory added successfully": "Memoria añadida correctamente", + "Memory cleared successfully": "Memoria liberada correctamente", + "Memory deleted successfully": "Memoria borrada correctamente", + "Memory updated successfully": "Memoria actualizada correctamente", + "Merge Responses": "Fusionar Respuestas", + "Message rating should be enabled to use this feature": "a calificación de mensaxes debe estar habilitada para usar esta función", + "Messages you send after creating your link won't be shared. Users with the URL will be able to view the shared chat.": "Os mensaxes que envíe despois de xerar su enlace no compartiránse. os usuarios co enlace podrán ver o chat compartido.", + "Min P": "Min P", + "Minimum Score": "Puntuación mínima", + "Mirostat": "Mirostat", + "Mirostat Eta": "Mirostat Eta", + "Mirostat Tau": "Mirostat Tau", + "Model": "Modelo", + "Model '{{modelName}}' has been successfully downloaded.": "0 modelo '{{modelName}}' se ha descargado correctamente.", + "Model '{{modelTag}}' is already in queue for downloading.": "0 modelo '{{modelTag}}' ya está en cola para descargar.", + "Model {{modelId}} not found": "0 modelo {{modelId}} no fue encontrado", + "Model {{modelName}} is not vision capable": "O modelo {{modelName}} no es capaz de ver", + "Model {{name}} is now {{status}}": "O modelo {{name}} ahora es {{status}}", + "Model accepts image inputs": "O modelo acepta entradas de imaxenes", + "Model created successfully!": "Modelo creado correctamente!", + "Model filesystem path detected. Model shortname is required for update, cannot continue.": "Destectouse a ruta do sistema de ficheiros do modelo. É necesario o nome curto do modelo para a actualización, non se pode continuar.", + "Model Filtering": "Filtrado de modelos", + "Model ID": "ID do modelo", + "Model IDs": "IDs de modelos", + "Model Name": "Nombre do modelo", + "Model not selected": "Modelo no seleccionado", + "Model Params": "Parámetros do modelo", + "Model Permissions": "Permisos do modelo", + "Model updated successfully": "Modelo actualizado correctamente", + "Modelfile Content": "Contenido do Modelfile", + "Models": "Modelos", + "Models Access": "Acceso a modelos", + "Models configuration saved successfully": "Configuración de modelos guardada correctamente", + "Mojeek Search API Key": "chave API de Mojeek Search", + "more": "mais", + "More": "mais", + "Name": "Nombre", + "Name your knowledge base": "Nombra a tua base de coñecementos", + "Native": "Nativo", + "New Chat": "Novo Chat", + "New Folder": "Nova carpeta", + "New Password": "Novo contrasinal ", + "new-channel": "novo-canal", + "No content found": "No se encontró contido", + "No content to speak": "Non ten contido para falar", + "No distance available": "Non ten distancia disponible", + "No feedbacks found": "No se encontraron retroalimentacions", + "No file selected": "Ningún arquivo fué seleccionado", + "No files found.": "No se encontraron arquivos.", + "No groups with access, add a group to grant access": "Non ten grupos con acceso, agrega un grupo para otorgar acceso", + "No HTML, CSS, or JavaScript content found.": "No se encontró contido HTML, CSS, o JavaScript.", + "No inference engine with management support found": "No se encontró un motor de inferencia con soporte de gestión", + "No knowledge found": "No se encontrou ningún coñecemento", + "No memories to clear": "Non hay memorias que limpar", + "No model IDs": "Non ten IDs de modelos", + "No models found": "No se encontraron modelos", + "No models selected": "No se seleccionaron modelos", + "No results found": "No se han encontrado resultados", + "No search query generated": "No se ha generado ninguna consulta de búsqueda", + "No source available": "Non ten fuente disponible", + "No users were found.": "No se encontraron usuarios.", + "No valves to update": "Non ten válvulas para actualizar", + "None": "Ninguno", + "Not factually correct": "No es correcto en todos os aspectos", + "Not helpful": "No útil", + "Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Nota: Se estableces unha puntuación mínima, a búsqueda sólo devolverá documentos con unha puntuación mayor o igual a a puntuación mínima.", + "Notes": "Notas", + "Notification Sound": "Sonido de notificación", + "Notification Webhook": "Webhook de notificación", + "Notifications": "Notificacions", + "November": "Noviembre", + "num_gpu (Ollama)": "num_gpu (Ollama)", + "num_thread (Ollama)": "num_thread (Ollama)", + "OAuth ID": "OAuth ID", + "October": "Octubre", + "Off": "Desactivado", + "Okay, Let's Go!": "Bien, ¡Vamos!", + "OLED Dark": "OLED oscuro", + "Ollama": "Ollama", + "Ollama API": "Ollama API", + "Ollama API settings updated": "Configuración de Ollama API actualizada", + "Ollama Version": "Versión de Ollama", + "On": "Activado", + "OneDrive": "OneDrive", + "Only alphanumeric characters and hyphens are allowed": "Sólo se permiten caracteres alfanuméricos y guiones", + "Only alphanumeric characters and hyphens are allowed in the command string.": "Sólo se permiten caracteres alfanuméricos y guiones en a cadena de comando.", + "Only collections can be edited, create a new knowledge base to edit/add documents.": "Solo se pueden editar as coleccions, xerar unha nova base de coñecementos para editar / añadir documentos", + "Only select users and groups with permission can access": "Solo os usuarios y grupos con permiso pueden acceder", + "Oops! Looks like the URL is invalid. Please double-check and try again.": "¡Ups! Parece que a URL no es válida. Vuelva a verificar e inténtelo novamente.", + "Oops! There are files still uploading. Please wait for the upload to complete.": "¡Ups! Todavía hay arquivos subiendo. Por favor, espere a que a subida se complete.", + "Oops! There was an error in the previous response.": "¡Ups! Hubo un error en a resposta anterior.", + "Oops! You're using an unsupported method (frontend only). Please serve the WebUI from the backend.": "¡Ups! Estás utilizando un método no compatible (solo frontend). Por favor ejecute a WebUI desde o backend.", + "Open file": "Abrir arquivo", + "Open in full screen": "Abrir en pantalla completa", + "Open new chat": "Abrir novo chat", + "Open WebUI uses faster-whisper internally.": "Open WebUI usa faster-whisper internamente.", + "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "Open WebUI usa SpeechT5 y embeddings de locutores CMU Arctic.", + "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "Aversión de Open WebUI (v{{OPEN_WEBUI_VERSION}}) es inferior a aversión requerida (v{{REQUIRED_VERSION}})", + "OpenAI": "OpenAI", + "OpenAI API": "OpenAI API", + "OpenAI API Config": "Configuración de OpenAI API", + "OpenAI API Key is required.": "Achave da API de OpenAI es requerida.", + "OpenAI API settings updated": "Configuración de OpenAI API actualizada", + "OpenAI URL/Key required.": "URL/chave de OpenAI es requerida.", + "or": "ou", + "Organize your users": "Organiza os teus usuarios", + "Other": "Outro", + "OUTPUT": "SAIDA", + "Output format": "Formato de saida", + "Overview": "Vista xeral", + "page": "Páxina", + "Password": "Contrasinal ", + "Paste Large Text as File": "Pegar texto grande como arquivo", + "PDF document (.pdf)": "Documento PDF (.pdf)", + "PDF Extract Images (OCR)": "Extraer imaxes de PDF (OCR)", + "pending": "pendente", + "Permission denied when accessing media devices": "Permiso denegado al acceder a os dispositivos", + "Permission denied when accessing microphone": "Permiso denegado al acceder a a micrófono", + "Permission denied when accessing microphone: {{error}}": "Permiso denegado al acceder al micrófono: {{error}}", + "Permissions": "Permisos", + "Perplexity API Key": "", + "Personalization": "Personalización", + "Pin": "Fijar", + "Pinned": "Fijado", + "Pioneer insights": "Descubrir novas perspectivas", + "Pipeline deleted successfully": "Pipeline borrada exitosamente", + "Pipeline downloaded successfully": "Pipeline descargada exitosamente", + "Pipelines": "Pipelines", + "Pipelines Not Detected": "Pipeline No Detectada", + "Pipelines Valves": "Tuberías Válvulas", + "Plain text (.txt)": "Texto plano (.txt)", + "Playground": "Patio de juegos", + "Please carefully review the following warnings:": "Por favor revise con cuidado os siguientes avisos:", + "Please do not close the settings page while loading the model.": "", + "Please enter a prompt": "Por favor ingrese un prompt", + "Please fill in all fields.": "Por favor llene todos os campos.", + "Please select a model first.": "Por favor seleccione un modelo primeiro.", + "Please select a model.": "Por favor seleccione un modelo.", + "Please select a reason": "Por favor seleccione unha razón", + "Port": "Puerto", + "Positive attitude": "Actitud positiva", + "Prefix ID": "ID de prefijo", + "Prefix ID is used to avoid conflicts with other connections by adding a prefix to the model IDs - leave empty to disable": "O ID de prefixo se utiliza para evitar conflictos con outras conexiones añadiendo un prefijo a os IDs de os modelos - deje vacío para deshabilitar", + "Presence Penalty": "Penalización de presencia", + "Previous 30 days": "Últimos 30 días", + "Previous 7 days": "Últimos 7 días", + "Profile Image": "imaxen de perfil", + "Prompt": "Prompt", + "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Prompt (por Exemplo, cuéntame unha cosa divertida sobre o Imperio Romano)", + "Prompt Content": "Contenido do Prompt", + "Prompt created successfully": "Prompt creado exitosamente", + "Prompt suggestions": "Sugerencias de Prompts", + "Prompt updated successfully": "Prompt actualizado exitosamente", + "Prompts": "Prompts", + "Prompts Access": "Acceso a Prompts", + "Pull \"{{searchValue}}\" from Ollama.com": "Extraer \"{{searchValue}}\" de Ollama.com", + "Pull a model from Ollama.com": "Obter un modelo de Ollama.com", + "Query Generation Prompt": "Prompt de xeneración de consulta", + "RAG Template": "Plantilla de RAG", + "Rating": "Calificación", + "Re-rank models by topic similarity": "Re-clasificar modelos por similitud de tema", + "Read": "Ler", + "Read Aloud": "Ler en voz alta", + "Reasoning Effort": "Esfuerzo de razonamiento", + "Record voice": "Grabar voz", + "Redirecting you to Open WebUI Community": "Redireccionándote a a comunidad OpenWebUI", + "Reduces the probability of generating nonsense. A higher value (e.g. 100) will give more diverse answers, while a lower value (e.g. 10) will be more conservative.": "", + "Refer to yourself as \"User\" (e.g., \"User is learning Spanish\")": "Referirse a vostede mismo como \"Usuario\" (por Exemplo, \"O usuario está aprendiendo Español\")", + "References from": "Referencias de", + "Refused when it shouldn't have": "Rechazado cuando no debería", + "Regenerate": "Regenerar", + "Release Notes": "Notas da versión", + "Relevance": "Relevancia", + "Remove": "Eliminar", + "Remove Model": "Eliminar modelo", + "Rename": "Renombrar", + "Reorder Models": "Reordenar modelos", + "Repeat Last N": "Repetir as últimas N", + "Repeat Penalty (Ollama)": "", + "Reply in Thread": "Responder no hilo", + "Request Mode": "Modo de petición", + "Reranking Model": "Modelo de reranking", + "Reranking model disabled": "Modelo de reranking deshabilitado", + "Reranking model set to \"{{reranking_model}}\"": "Modelo de reranking establecido en \"{{reranking_model}}\"", + "Reset": "Reiniciar", + "Reset All Models": "Reiniciar todos os modelos", + "Reset Upload Directory": "Reiniciar Directorio de carga", + "Reset Vector Storage/Knowledge": "Reiniciar almacenamiento de vectores/coñecemento", + "Reset view": "Reiniciar vista", + "Response notifications cannot be activated as the website permissions have been denied. Please visit your browser settings to grant the necessary access.": "As notificacions de resposta non poden activarse debido a que os permisos do sitio web han sido denegados. Por favor, visite as configuracions da sua navegador para otorgar o acceso necesario.", + "Response splitting": "División de respostas", + "Result": "Resultado", + "Retrieval": "recuperación", + "Retrieval Query Generation": "xeneración de consulta de recuperación", + "Rich Text Input for Chat": "Entrada de texto enriquecido para chat", + "RK": "RK", + "Role": "Rol", + "Rosé Pine": "Rosé Pine", + "Rosé Pine Dawn": "Rosé Pine Dawn", + "RTL": "RTL", + "Run": "Executar", + "Running": "Executando", + "Save": "Gardar", + "Save & Create": "Gardar y xerar", + "Save & Update": "Gardar y Actualizar", + "Save As Copy": "Gardar como copia", + "Save Tag": "Gardar etiqueta", + "Saved": "Gardado", + "Saving chat logs directly to your browser's storage is no longer supported. Please take a moment to download and delete your chat logs by clicking the button below. Don't worry, you can easily re-import your chat logs to the backend through": "Xa non se admite gardar registros de chat directamente no almacenamiento da sua navegador. Tómese un momento para descargar y eliminar sus registros de chat haciendo clic no botón a continuación. No te preocupes, puedes volver a importar fácilmente tus registros de chat al backend a través de", + "Scroll to bottom when switching between branches": "Moverse a parte inferior cuando se cambia entre ramas", + "Search": "Buscar", + "Search a model": "Buscar un modelo", + "Search Base": "Base de búsqueda", + "Search Chats": "Chats de búsqueda", + "Search Collection": "Buscar Colección", + "Search Filters": "Filtros de búsqueda", + "search for tags": "buscar etiquetas", + "Search Functions": "Buscar Funcions", + "Search Knowledge": "Buscar coñecemento", + "Search Models": "Buscar Modelos", + "Search options": "Opcions de búsqueda", + "Search Prompts": "Buscar Prompts", + "Search Result Count": "Recuento de resultados de búsqueda", + "Search the internet": "Buscar en internet", + "Search Tools": "Búsqueda de ferramentas", + "SearchApi API Key": "chave API de SearchApi", + "SearchApi Engine": "Motor de SearchApi", + "Searched {{count}} sites": "Buscadas {{count}} sitios", + "Searching \"{{searchQuery}}\"": "Buscando \"{{searchQuery}}\"", + "Searching Knowledge for \"{{searchQuery}}\"": "Buscando coñecemento para \"{{searchQuery}}\"", + "Searxng Query URL": "Searxng URL de consulta", + "See readme.md for instructions": "Vea o readme.md para instruccions", + "See what's new": "Ver as novedades", + "Seed": "Semilla", + "Select a base model": "Seleccionar un modelo base", + "Select a engine": "Busca un motor", + "Select a function": "Busca unha función", + "Select a group": "Seleccionar un grupo", + "Select a model": "Selecciona un modelo", + "Select a pipeline": "Selección de unha Pipeline", + "Select a pipeline url": "Selección de unha dirección URL de Pipeline", + "Select a tool": "Busca unha ferramenta", + "Select an auth method": "", + "Select an Ollama instance": "Seleccionar unha instancia de Ollama", + "Select Engine": "Selecciona Motor", + "Select Knowledge": "Selecciona coñecemento", + "Select only one model to call": "Selecciona sólo un modelo para llamar", + "Selected model(s) do not support image inputs": "Os modelos seleccionados no admiten entradas de imaxen", + "Semantic distance to query": "Distancia semántica a a consulta", + "Send": "Enviar", + "Send a Message": "Enviar un mensaxe", + "Send message": "Enviar mensaxe", + "Sends `stream_options: { include_usage: true }` in the request.\nSupported providers will return token usage information in the response when set.": "Envia `stream_options: { include_usage: true }` en a solicitud.\nLos proveedores admitidos devolverán información de uso do token en a resposta cuando se establezca.", + "September": "Septiembre", + "SerpApi API Key": "", + "SerpApi Engine": "", + "Serper API Key": "chave API de Serper", + "Serply API Key": "chave API de Serply", + "Serpstack API Key": "chave API de Serpstack", + "Server connection verified": "Conexión do servidor verificada", + "Set as default": "Establecer por defecto", + "Set CFG Scale": "Establecer la escala CFG", + "Set Default Model": "Establecer modelo predeterminado", + "Set embedding model": "Establecer modelo de embedding", + "Set embedding model (e.g. {{model}})": "Establecer modelo de embedding (ej. {{model}})", + "Set Image Size": "Establecer tamaño de imaxen", + "Set reranking model (e.g. {{model}})": "Establecer modelo de reranking (ej. {{model}})", + "Set Sampler": "Establecer Sampler", + "Set Scheduler": "Establecer Programador", + "Set Steps": "Establecer Pasos", + "Set Task Model": "Establecer modelo de tarefa", + "Set the number of layers, which will be off-loaded to GPU. Increasing this value can significantly improve performance for models that are optimized for GPU acceleration but may also consume more power and GPU resources.": "Establece o número de capas que se descargarán na GPU. Aumentar este valor puede mejorar significativamente o rendimiento de os modelos optimizados para la aceleración de GPU, pero también puede consumir mais energía y recursos de GPU.", + "Set the number of worker threads used for computation. This option controls how many threads are used to process incoming requests concurrently. Increasing this value can improve performance under high concurrency workloads but may also consume more CPU resources.": "Establece o número de hilos de trabajo utilizados para o cálculo. Esta opción controla cuántos hilos se utilizan para procesar as solicitudes entrantes simultáneamente. Aumentar este valor puede mejorar o rendimiento bajo cargas de trabajo de alta concurrencia, pero también puede consumir mais recursos de CPU.", + "Set Voice": "Establecer la voz", + "Set whisper model": "Establecer modelo de whisper", + "Sets a flat bias against tokens that have appeared at least once. A higher value (e.g., 1.5) will penalize repetitions more strongly, while a lower value (e.g., 0.9) will be more lenient. At 0, it is disabled.": "Establece un sesgo plano contra os tokens que han aparecido al menos una vez. Un valor más alto (por Exemplo, 1.5) penalizará más fuertemente las repeticiones, mientras que un valor más bajo (por Exemplo, 0.9) será más indulgente. En 0, está deshabilitado.", + "Sets a scaling bias against tokens to penalize repetitions, based on how many times they have appeared. A higher value (e.g., 1.5) will penalize repetitions more strongly, while a lower value (e.g., 0.9) will be more lenient. At 0, it is disabled.": "Establece un sesgo de escala contra os tokens para penalizar las repeticiones, basado en cuántas veces han aparecido. Un valor más alto (por Exemplo, 1.5) penalizará más fuertemente las repeticiones, mientras que un valor más bajo (por Exemplo, 0.9) será más indulgente. En 0, está deshabilitado.", + "Sets a scaling factor to penalize the model from repeating the same token. A higher value (e.g., 2.0) will penalize repetitions more strongly, while a lower value (e.g., 1.0) will be more lenient.": "Establece un factor de escala para penalizar al modelo por repetir el mismo token. Un valor más alto (por Exemplo, 2.0) penalizará más fuertemente las repeticiones, mientras que un valor más bajo (por Exemplo, 1.0) será más indulgente.", + "Sets how far back for the model to look back to prevent repetition.": "Establece canto tempo debe retroceder o modelo para evitar a repetición.", + "Sets the random number seed to use for generation. Setting this to a specific number will make the model generate the same text for the same prompt.": "Establece a semente de número aleatorio a usar para xeneración. Establecer esto a un número específico hará que el modelo genere el mismo texto para el mismo prompt.", + "Sets the size of the context window used to generate the next token.": "Establece o tamaño da ventana de contexto utilizada para xenerar o seguinte token.", + "Sets the stop sequences to use. When this pattern is encountered, the LLM will stop generating text and return. Multiple stop patterns may be set by specifying multiple separate stop parameters in a modelfile.": "Establece as secuencias de parada a usar. Cuando se encuentre este patrón, o LLM dejará de generar texto y devolverá. Se pueden establecer varios patrones de parada especificando múltiples parámetros de parada separados en un arquivo de modelo.", + "Settings": "Configuración", + "Settings saved successfully!": "¡Configuración gardada con éxito!", + "Share": "Compartir", + "Share Chat": "Compartir Chat", + "Share to Open WebUI Community": "Compartir coa comunidads OpenWebUI", + "Show": "Mostrar", + "Show \"What's New\" modal on login": "Mostrar modal \"Qué hay de novo\" al iniciar sesión", + "Show Admin Details in Account Pending Overlay": "Mostrar detalles de administración na capa de espera da conta", + "Show shortcuts": "Mostrar atallos", + "Show your support!": "¡Motra o teu apoio!", + "Showcased creativity": "Creatividade mostrada", + "Sign in": "Iniciar sesión", + "Sign in to {{WEBUI_NAME}}": "Iniciar sesión en {{WEBUI_NAME}}", + "Sign in to {{WEBUI_NAME}} with LDAP": "Iniciar sesión en {{WEBUI_NAME}} con LDAP", + "Sign Out": "Pechar sesión", + "Sign up": "Xerar unha conta", + "Sign up to {{WEBUI_NAME}}": "Xerar unha conta en {{WEBUI_NAME}}", + "Signing in to {{WEBUI_NAME}}": "Iniciando sesión en {{WEBUI_NAME}}", + "sk-1234": "sk-1234", + "Source": "Fonte", + "Speech Playback Speed": "Velocidad de reproducción de voz", + "Speech recognition error: {{error}}": "Error de recoñecemento de voz: {{error}}", + "Speech-to-Text Engine": "Motor de voz a texto", + "Stop": "Detener", + "Stop Sequence": "Detener secuencia", + "Stream Chat Response": "Transmitir resposta de chat", + "STT Model": "Modelo STT", + "STT Settings": "Configuracions de STT", + "Subtitle (e.g. about the Roman Empire)": "Subtítulo (por Exemplo, sobre o Imperio Romano)", + "Success": "Éxito", + "Successfully updated.": "Actualizado exitosamente.", + "Suggested": "Sugerido", + "Support": "Soporte", + "Support this plugin:": "Brinda soporte a este plugin:", + "Sync directory": "Sincroniza directorio", + "System": "Sistema", + "System Instructions": "Instruccions do sistema", + "System Prompt": "Prompt do sistema", + "Tags Generation": "xeneración de etiquetas", + "Tags Generation Prompt": "Prompt de xeneración de etiquetas", + "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", + "Talk to model": "Falar co modelo", + "Tap to interrupt": "Toca para interrumpir", + "Tasks": "Tareas", + "Tavily API Key": "chave API de Tavily", + "Tell us more:": "Dinos mais:", + "Temperature": "Temperatura", + "Template": "Plantilla", + "Temporary Chat": "Chat temporal", + "Text Splitter": "Divisor de texto", + "Text-to-Speech Engine": "Motor de texto a voz", + "Tfs Z": "Tfs Z", + "Thanks for your feedback!": "¡Gracias pola tua retroalimentación!", + "The Application Account DN you bind with for search": "A conta de aplicación DN que vincula para a búsqueda", + "The base to search for users": "A base para buscar usuarios", + "The batch size determines how many text requests are processed together at once. A higher batch size can increase the performance and speed of the model, but it also requires more memory.": "O tamaño do lote determina canto texto se procesa xunto de unha vez. Un tamaño de lote maior pode aumentar o rendimiento y a velocidade do modelo, pero también requiere mais memoria.", + "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "Os desarrolladores de este plugin son apasionados voluntarios da comunidade. Se encontras este plugin útil, por favor considere contribuir a seu desarrollo.", + "The evaluation leaderboard is based on the Elo rating system and is updated in real-time.": "O tableiro de líderes de evaluación basase no sistema de clasificación Elo e actualizase entempo real.", + "The LDAP attribute that maps to the mail that users use to sign in.": "O atributo LDAP que se asigna al correo que os usuarios utilizan para iniciar sesión.", + "The LDAP attribute that maps to the username that users use to sign in.": "O atributo LDAP que se asigna al nombre de usuario que os usuarios utilizan para iniciar sesión.", + "The leaderboard is currently in beta, and we may adjust the rating calculations as we refine the algorithm.": "O tablero de líderes está actualmente en beta y podemos axustar os cálculos de clasificación a medida que refinamos o algoritmo.", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "O tamaño máximo do arquivo en MB. Si o tamaño do arquivo supera este límite, o arquivo no se subirá.", + "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "O número máximo de arquivos que se pueden utilizar a la vez en chat. Si este límite es superado, os arquivos no se subirán.", + "The score should be a value between 0.0 (0%) and 1.0 (100%).": "La puntuación debe ser un valor entre 0.0 (0%) y 1.0 (100%).", + "The temperature of the model. Increasing the temperature will make the model answer more creatively.": "", + "Theme": "Tema", + "Thinking...": "Pensando...", + "This action cannot be undone. Do you wish to continue?": "Esta acción no se puede deshacer. ¿Desea continuar?", + "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Esto garantiza que sus valiosas conversacions se guarden de forma segura en su base de datos no backend. ¡Gracias!", + "This is an experimental feature, it may not function as expected and is subject to change at any time.": "Esta es unha característica experimental que puede no funcionar como se esperaba y está sujeto a cambios en cualquier momento.", + "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", + "This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "", + "This option will delete all existing files in the collection and replace them with newly uploaded files.": "Esta opción eliminará todos os arquivos existentes na colección y os reemplazará con novos arquivos subidos.", + "This response was generated by \"{{model}}\"": "Esta resposta fue generada por \"{{model}}\"", + "This will delete": "Esto eliminará", + "This will delete {{NAME}} and all its contents.": "Esto eliminará {{NAME}} y todo su contido.", + "This will delete all models including custom models": "Esto eliminará todos os modelos, incluidos os modelos personalizados", + "This will delete all models including custom models and cannot be undone.": "Esto eliminará todos os modelos, incluidos os modelos personalizados y no se puede deshacer.", + "This will reset the knowledge base and sync all files. Do you wish to continue?": "Esto reseteará la base de coñecementos y sincronizará todos os arquivos. ¿Desea continuar?", + "Thorough explanation": "Explicación exhaustiva", + "Thought for {{DURATION}}": "Pensamiento para {{DURATION}}", + "Thought for {{DURATION}} seconds": "", + "Tika": "Tika", + "Tika Server URL required.": "URL do servidor de Tika", + "Tiktoken": "Tiktoken", + "Tip: Update multiple variable slots consecutively by pressing the tab key in the chat input after each replacement.": "Consello: Actualice múltiples variables consecutivamente presionando la tecla tab na entrada do chat despois de cada reemplazo.", + "Title": "Título", + "Title (e.g. Tell me a fun fact)": "Título (por Exemplo, cóntame unha curiosidad)", + "Title Auto-Generation": "xeneración automática de títulos", + "Title cannot be an empty string.": "O título non pode ser unha cadena vacía.", + "Title Generation": "Xeneración de titulos", + "Title Generation Prompt": "Prompt de xeneración de título", + "TLS": "TLS", + "To access the available model names for downloading,": "Para acceder os nomes de modelos dispoñibles para descargar,", + "To access the GGUF models available for downloading,": "Para acceder os modelos GGUF dispoñibles para descargar,", + "To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Para acceder al interfaz de usuario web, por favor contacte al administrador. os administradores pueden administrar os estados de os usuarios desde o panel de administración.", + "To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "Para adjuntar la base de coñecementos aquí, agreguelas al área de trabajo \"coñecemento\" primeiro.", + "To learn more about available endpoints, visit our documentation.": "Para obter mais información sobre os endpoints disponibles, visite nuestra documentación.", + "To protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "Para protexer a sua privacidade, solo compartense as calificacions, IDs dos modelos, etiquetas e metadatos da sua retroalimentación; os seus rexistros de chat permanecen privados e non se incluen.", + "To select actions here, add them to the \"Functions\" workspace first.": "Para seleccionar accions aquí, agreguelas al área de trabajo \"Funcions\" primeiro.", + "To select filters here, add them to the \"Functions\" workspace first.": "Para seleccionar filtros aquí, agreguelos al área de trabajo \"Funcions\" primeiro.", + "To select toolkits here, add them to the \"Tools\" workspace first.": "Para seleccionar ferramentas aquí, agreguelas al área de trabajo \"Ferramentas\" primeiro.", + "Toast notifications for new updates": "Notificacions emergentes para novas actualizacions", + "Today": "Hoxe", + "Toggle settings": "Alternar configuración", + "Toggle sidebar": "Alternar barra lateral", + "Token": "Token", + "Tokens To Keep On Context Refresh (num_keep)": "Tokens a manter no contexto de actualización (num_keep)", + "Too verbose": "Demasiado detalliado", + "Tool created successfully": "ferramenta creada con éxito", + "Tool deleted successfully": "ferramenta eliminada con éxito", + "Tool Description": "Descripción da ferramenta", + "Tool ID": "ID da ferramenta", + "Tool imported successfully": "ferramenta importada con éxito", + "Tool Name": "Nome da ferramenta", + "Tool updated successfully": "ferramenta actualizada con éxito", + "Tools": "Ferramentas", + "Tools Access": "Acceso a ferramentas", + "Tools are a function calling system with arbitrary code execution": "As ferramentas son un sistema de chamada de funcións con código arbitrario", + "Tools Function Calling Prompt": "Prompt de chamada de funcións de ferramentas", + "Tools have a function calling system that allows arbitrary code execution": "As ferramentas tienen un sistema de chamadas de funcións que permite la execución de código arbitrario", + "Tools have a function calling system that allows arbitrary code execution.": "As ferramentas tienen un sistema de chamada de funcións que permite la execución de código arbitrario.", + "Top K": "Top K", + "Top P": "Top P", + "Transformers": "Transformadores", + "Trouble accessing Ollama?": "¿Problemas para acceder a Ollama?", + "Trust Proxy Environment": "Confiar nos entornos de proxy", + "TTS Model": "Modelo TTS", + "TTS Settings": "Configuración de TTS", + "TTS Voice": "Voz do TTS", + "Type": "Tipo", + "Type Hugging Face Resolve (Download) URL": "Escriba la URL (Descarga) de Hugging Face Resolve", + "Uh-oh! There was an issue with the response.": "¡Ups! Hubo un problema con la respuesta.", + "UI": "UI", + "Unarchive All": "Desarquivar todo", + "Unarchive All Archived Chats": "Desarquivar todos os chats arquivados", + "Unarchive Chat": "Desarquivar chat", + "Unlock mysteries": "Desbloquear misterios", + "Unpin": "Desanclar", + "Unravel secrets": "Desentrañar secretos", + "Untagged": "Sin etiquetar", + "Update": "Actualizar", + "Update and Copy Link": "Actualizar y copiar enlace", + "Update for the latest features and improvements.": "Actualize para as últimas características e mejoras.", + "Update password": "Actualizar contrasinal ", + "Updated": "Actualizado", + "Updated at": "Actualizado en", + "Updated At": "Actualizado en", + "Upgrade to a licensed plan for enhanced capabilities, including custom theming and branding, and dedicated support.": "", + "Upload": "Subir", + "Upload a GGUF model": "Subir un modelo GGUF", + "Upload directory": "Directorio de carga", + "Upload files": "Subir arquivos", + "Upload Files": "Subir arquivos", + "Upload Pipeline": "Subir Pipeline", + "Upload Progress": "Progreso de carga", + "URL": "URL", + "URL Mode": "Modo de URL", + "Use '#' in the prompt input to load and include your knowledge.": "Utilice '#' no prompt para cargar y incluir su coñecemento.", + "Use Gravatar": "Usar Gravatar", + "Use groups to group your users and assign permissions.": "Use grupos para agrupar a sus usuarios y asignar permisos.", + "Use Initials": "Usar Iniciales", + "use_mlock (Ollama)": "use_mlock (Ollama)", + "use_mmap (Ollama)": "use_mmap (Ollama)", + "user": "usuario", + "User": "Usuario", + "User location successfully retrieved.": "Localización do usuario recuperada con éxito.", + "Username": "Nombre de usuario", + "Users": "Usuarios", + "Using the default arena model with all models. Click the plus button to add custom models.": "Usando o modelo de arena predeterminado con todos os modelos. Haga clic no botón mais para agregar modelos personalizados.", + "Utilize": "Utilizar", + "Valid time units:": "Unidades válidas de tempo:", + "Valves": "Valves", + "Valves updated": "Valves actualizados", + "Valves updated successfully": "Valves actualizados con éxito", + "variable": "variable", + "variable to have them replaced with clipboard content.": "variable para reemplazarlos co contido do portapapeles.", + "Version": "Versión", + "Version {{selectedVersion}} of {{totalVersions}}": "Versión {{selectedVersion}} de {{totalVersions}}", + "View Replies": "Ver respuestas", + "Visibility": "Visibilidad", + "Voice": "Voz", + "Voice Input": "Entrada de voz", + "Warning": "Advertencia", + "Warning:": "Advertencia:", + "Warning: Enabling this will allow users to upload arbitrary code on the server.": "Advertencia: Habilitar esto permitirá a os usuarios subir código arbitrario no servidor.", + "Warning: If you update or change your embedding model, you will need to re-import all documents.": "Advertencia: Si actualiza o cambia su modelo de inserción, necesitará volver a importar todos os documentos.", + "Warning: Jupyter execution enables arbitrary code execution, posing severe security risks—proceed with extreme caution.": "Aviso: A execución de Jupyter permite a execución de código arbitrario, o que supón riscos de seguridade graves - procede con extrema precaución.", + "Web": "Web", + "Web API": "API Web", + "Web Search": "Búsqueda na Web", + "Web Search Engine": "Motor de búsqueda web", + "Web Search in Chat": "Búsqueda web en chat", + "Web Search Query Generation": "xeneración de consultas de búsqueda web", + "Webhook URL": "Webhook URL", + "WebUI Settings": "Configuración do WebUI", + "WebUI URL": "URL do WebUI", + "WebUI will make requests to \"{{url}}/api/chat\"": "WebUI hará solicitudes a \"{{url}}/api/chat\"", + "WebUI will make requests to \"{{url}}/chat/completions\"": "WebUI hará solicitudes a \"{{url}}/chat/completions\"", + "What are you trying to achieve?": "¿Qué estás tratando de lograr?", + "What are you working on?": "¿En qué estás trabajando?", + "What’s New in": "Novedades en", + "When enabled, the model will respond to each chat message in real-time, generating a response as soon as the user sends a message. This mode is useful for live chat applications, but may impact performance on slower hardware.": "Cando está habilitado, o modelo responderá a cada mensaxe de chat en tempo real, generando unha resposta tan pronto como o usuario envíe un mensaxe. Este modo es útil para aplicacions de chat en vivo, pero puede afectar o rendimiento en hardware mais lento.", + "wherever you are": "Donde queira que estés", + "Whisper (Local)": "Xextor de voz (Local)", + "Why?": "¿Por qué?", + "Widescreen Mode": "Modo de pantalla ancha", + "Won": "Ganado", + "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.": "Funciona xunto con top-k. Un valor máis alto (por exemplo, 0,95) dará lugar a un texto máis diverso, mentres que un valor máis baixo (por exemplo, 0,5) xerará un texto máis centrado e conservador.", + "Workspace": "Espacio de traballo", + "Workspace Permissions": "Permisos do espacio de traballo", + "Write": "Escribir", + "Write a prompt suggestion (e.g. Who are you?)": "Escribe unha sugerencia para un prompt (por Exemplo, ¿quen eres?)", + "Write a summary in 50 words that summarizes [topic or keyword].": "Escribe un resumen en 50 palabras que resuma [tema ou palabra principal].", + "Write something...": "Escribe algo...", + "Write your model template content here": "Escribe o contido da tua plantilla de modelo aquí", + "Yesterday": "Onte", + "You": "Vostede", + "You are currently using a trial license. Please contact support to upgrade your license.": "Estás utilizando actualmente unha licenza de proba. Por favor, contacta co soporte para actualizar a túa licenza.", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "Solo puede chatear con un máximo de {{maxCount}} arquivo(s) a la vez.", + "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Puede personalizar as suas interaccions con LLMs añadiendo memorias a través do botón 'Xestionar' debajo, haciendo que sean mais útiles y personalizados para vostede.", + "You cannot upload an empty file.": "Non pode subir un arquivo vacío.", + "You do not have permission to access this feature.": "Non ten permiso para acceder a esta función.", + "You do not have permission to upload files": "Non ten permiso para subir arquivos", + "You do not have permission to upload files.": "Non ten permiso para subir arquivos.", + "You have no archived conversations.": "Non ten conversacions arquivadas.", + "You have shared this chat": "Vostede ha compartido esta conversación", + "You're a helpful assistant.": "Vostede es un asistente útil.", + "You're now logged in.": "Vostede ahora está conectado.", + "Your account status is currently pending activation.": "O estado da sua conta actualmente encontrase pendente de activación.", + "Your entire contribution will go directly to the plugin developer; Open WebUI does not take any percentage. However, the chosen funding platform might have its own fees.": "A sua contribución completa irá directamente o desarrollador do plugin; Open WebUI non toma ningun porcentaxe. Sin embargo, a plataforma de financiación elegida podría ter as suas propias tarifas.", + "Youtube": "Youtube", + "Youtube Language": "", + "Youtube Proxy URL": "" +} diff --git a/src/lib/i18n/locales/he-IL/translation.json b/src/lib/i18n/locales/he-IL/translation.json index 6021462e1..950a14462 100644 --- a/src/lib/i18n/locales/he-IL/translation.json +++ b/src/lib/i18n/locales/he-IL/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "", "(e.g. `sh webui.sh --api`)": "(למשל `sh webui.sh --api`)", "(latest)": "(האחרון)", + "(Ollama)": "", "{{ models }}": "{{ דגמים }}", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "", @@ -68,6 +69,8 @@ "Already have an account?": "כבר יש לך חשבון?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "", "an assistant": "עוזר", "Analyzed": "", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "הצעות ברירת מחדל לפקודות", "Default to 389 or 636 if TLS is enabled": "", "Default to ALL": "", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "תפקיד משתמש ברירת מחדל", "Delete": "מחק", "Delete a model": "מחק מודל", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "", "Description": "תיאור", "Didn't fully follow instructions": "לא עקב אחרי ההוראות באופן מלא", + "Direct": "", "Direct Connections": "", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", "Direct Connections settings updated": "", @@ -314,6 +319,8 @@ "Dive into knowledge": "", "Do not install functions from sources you do not fully trust.": "", "Do not install tools from sources you do not fully trust.": "", + "Docling": "", + "Docling Server URL required.": "", "Document": "מסמך", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "הזן גודל נתונים", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "", @@ -471,6 +479,7 @@ "Export Prompts": "ייצוא פקודות", "Export to CSV": "", "Export Tools": "", + "External": "", "External Models": "", "Failed to add file.": "", "Failed to create API Key.": "יצירת מפתח API נכשלה.", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "כלול את הדגל `--api` בעת הרצת stable-diffusion-webui", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "מידע", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "פקודות קלט", "Install from Github URL": "התקן מכתובת URL של Github", "Instant Auto-Send After Voice Transcription": "", @@ -806,6 +816,7 @@ "Presence Penalty": "", "Previous 30 days": "30 הימים הקודמים", "Previous 7 days": "7 הימים הקודמים", + "Private": "", "Profile Image": "תמונת פרופיל", "Prompt": "", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "פקודה (למשל, ספר לי עובדה מעניינת על האימפריה הרומית)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "", "Prompts": "פקודות", "Prompts Access": "", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "משוך \"{{searchValue}}\" מ-Ollama.com", "Pull a model from Ollama.com": "משוך מודל מ-Ollama.com", "Query Generation Prompt": "", @@ -979,6 +991,7 @@ "System": "מערכת", "System Instructions": "", "System Prompt": "תגובת מערכת", + "Tags": "", "Tags Generation": "", "Tags Generation Prompt": "", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1009,6 +1022,7 @@ "Theme": "נושא", "Thinking...": "", "This action cannot be undone. Do you wish to continue?": "", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "פעולה זו מבטיחה שהשיחות בעלות הערך שלך יישמרו באופן מאובטח במסד הנתונים העורפי שלך. תודה!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "", "variable": "משתנה", "variable to have them replaced with clipboard content.": "משתנה להחליפו ב- clipboard תוכן.", + "Verify Connection": "", "Version": "גרסה", "Version {{selectedVersion}} of {{totalVersions}}": "", "View Replies": "", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "", "You cannot upload an empty file.": "", - "You do not have permission to access this feature.": "", "You do not have permission to upload files": "", "You do not have permission to upload files.": "", "You have no archived conversations.": "אין לך שיחות בארכיון.", diff --git a/src/lib/i18n/locales/hi-IN/translation.json b/src/lib/i18n/locales/hi-IN/translation.json index 47584b852..e6d0418e4 100644 --- a/src/lib/i18n/locales/hi-IN/translation.json +++ b/src/lib/i18n/locales/hi-IN/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "", "(e.g. `sh webui.sh --api`)": "(e.g. `sh webui.sh --api`)", "(latest)": "(latest)", + "(Ollama)": "", "{{ models }}": "{{ मॉडल }}", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "", @@ -68,6 +69,8 @@ "Already have an account?": "क्या आपके पास पहले से एक खाता मौजूद है?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "", "an assistant": "एक सहायक", "Analyzed": "", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "डिफ़ॉल्ट प्रॉम्प्ट सुझाव", "Default to 389 or 636 if TLS is enabled": "", "Default to ALL": "", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "डिफ़ॉल्ट उपयोगकर्ता भूमिका", "Delete": "डिलीट", "Delete a model": "एक मॉडल हटाएँ", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "", "Description": "विवरण", "Didn't fully follow instructions": "निर्देशों का पूरी तरह से पालन नहीं किया", + "Direct": "", "Direct Connections": "", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", "Direct Connections settings updated": "", @@ -314,6 +319,8 @@ "Dive into knowledge": "", "Do not install functions from sources you do not fully trust.": "", "Do not install tools from sources you do not fully trust.": "", + "Docling": "", + "Docling Server URL required.": "", "Document": "दस्तावेज़", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "खंड आकार दर्ज करें", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "", @@ -471,6 +479,7 @@ "Export Prompts": "प्रॉम्प्ट निर्यात करें", "Export to CSV": "", "Export Tools": "", + "External": "", "External Models": "", "Failed to add file.": "", "Failed to create API Key.": "एपीआई कुंजी बनाने में विफल.", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "stable-diffusion-webui चलाते समय `--api` ध्वज शामिल करें", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "सूचना-विषयक", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "इनपुट क命", "Install from Github URL": "Github URL से इंस्टॉल करें", "Instant Auto-Send After Voice Transcription": "", @@ -806,6 +816,7 @@ "Presence Penalty": "", "Previous 30 days": "पिछले 30 दिन", "Previous 7 days": "पिछले 7 दिन", + "Private": "", "Profile Image": "प्रोफ़ाइल छवि", "Prompt": "", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "प्रॉम्प्ट (उदाहरण के लिए मुझे रोमन साम्राज्य के बारे में एक मजेदार तथ्य बताएं)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "", "Prompts": "प्रॉम्प्ट", "Prompts Access": "", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "\"{{searchValue}}\" को Ollama.com से खींचें", "Pull a model from Ollama.com": "Ollama.com से एक मॉडल खींचें", "Query Generation Prompt": "", @@ -979,6 +991,7 @@ "System": "सिस्टम", "System Instructions": "", "System Prompt": "सिस्टम प्रॉम्प्ट", + "Tags": "", "Tags Generation": "", "Tags Generation Prompt": "", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1009,6 +1022,7 @@ "Theme": "थीम", "Thinking...": "", "This action cannot be undone. Do you wish to continue?": "", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "यह सुनिश्चित करता है कि आपकी मूल्यवान बातचीत आपके बैकएंड डेटाबेस में सुरक्षित रूप से सहेजी गई है। धन्यवाद!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "", "variable": "वेरिएबल", "variable to have them replaced with clipboard content.": "उन्हें क्लिपबोर्ड सामग्री से बदलने के लिए वेरिएबल।", + "Verify Connection": "", "Version": "संस्करण", "Version {{selectedVersion}} of {{totalVersions}}": "", "View Replies": "", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "", "You cannot upload an empty file.": "", - "You do not have permission to access this feature.": "", "You do not have permission to upload files": "", "You do not have permission to upload files.": "", "You have no archived conversations.": "आपको कोई अंकित चैट नहीं है।", diff --git a/src/lib/i18n/locales/hr-HR/translation.json b/src/lib/i18n/locales/hr-HR/translation.json index d36aac019..79305033b 100644 --- a/src/lib/i18n/locales/hr-HR/translation.json +++ b/src/lib/i18n/locales/hr-HR/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "", "(e.g. `sh webui.sh --api`)": "(npr. `sh webui.sh --api`)", "(latest)": "(najnovije)", + "(Ollama)": "", "{{ models }}": "{{ modeli }}", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "", @@ -68,6 +69,8 @@ "Already have an account?": "Već imate račun?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "", "an assistant": "asistent", "Analyzed": "", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "Zadani prijedlozi prompta", "Default to 389 or 636 if TLS is enabled": "", "Default to ALL": "", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "Zadana korisnička uloga", "Delete": "Izbriši", "Delete a model": "Izbriši model", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "", "Description": "Opis", "Didn't fully follow instructions": "Nije u potpunosti slijedio upute", + "Direct": "", "Direct Connections": "", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", "Direct Connections settings updated": "", @@ -314,6 +319,8 @@ "Dive into knowledge": "", "Do not install functions from sources you do not fully trust.": "", "Do not install tools from sources you do not fully trust.": "", + "Docling": "", + "Docling Server URL required.": "", "Document": "Dokument", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "Unesite veličinu dijela", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "", @@ -471,6 +479,7 @@ "Export Prompts": "Izvoz prompta", "Export to CSV": "", "Export Tools": "Izvoz alata", + "External": "", "External Models": "Vanjski modeli", "Failed to add file.": "", "Failed to create API Key.": "Neuspješno stvaranje API ključa.", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "Uključite zastavicu `--api` prilikom pokretanja stable-diffusion-webui", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "Informacije", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "Unos naredbi", "Install from Github URL": "Instaliraj s Github URL-a", "Instant Auto-Send After Voice Transcription": "Trenutačno automatsko slanje nakon glasovne transkripcije", @@ -806,6 +816,7 @@ "Presence Penalty": "", "Previous 30 days": "Prethodnih 30 dana", "Previous 7 days": "Prethodnih 7 dana", + "Private": "", "Profile Image": "Profilna slika", "Prompt": "", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Prompt (npr. Reci mi zanimljivost o Rimskom carstvu)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "", "Prompts": "Prompti", "Prompts Access": "", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "Povucite \"{{searchValue}}\" s Ollama.com", "Pull a model from Ollama.com": "Povucite model s Ollama.com", "Query Generation Prompt": "", @@ -979,6 +991,7 @@ "System": "Sustav", "System Instructions": "", "System Prompt": "Sistemski prompt", + "Tags": "", "Tags Generation": "", "Tags Generation Prompt": "", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1009,6 +1022,7 @@ "Theme": "Tema", "Thinking...": "Razmišljam", "This action cannot be undone. Do you wish to continue?": "", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Ovo osigurava da su vaši vrijedni razgovori sigurno spremljeni u bazu podataka. Hvala vam!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "Ovo je eksperimentalna značajka, možda neće funkcionirati prema očekivanjima i podložna je promjenama u bilo kojem trenutku.", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "", "variable": "varijabla", "variable to have them replaced with clipboard content.": "varijabla za zamjenu sadržajem međuspremnika.", + "Verify Connection": "", "Version": "Verzija", "Version {{selectedVersion}} of {{totalVersions}}": "", "View Replies": "", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Možete personalizirati svoje interakcije s LLM-ima dodavanjem uspomena putem gumba 'Upravljanje' u nastavku, čineći ih korisnijima i prilagođenijima vama.", "You cannot upload an empty file.": "", - "You do not have permission to access this feature.": "", "You do not have permission to upload files": "", "You do not have permission to upload files.": "", "You have no archived conversations.": "Nemate arhiviranih razgovora.", diff --git a/src/lib/i18n/locales/hu-HU/translation.json b/src/lib/i18n/locales/hu-HU/translation.json index ce86bb131..b8b20afb4 100644 --- a/src/lib/i18n/locales/hu-HU/translation.json +++ b/src/lib/i18n/locales/hu-HU/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "(pl. `sh webui.sh --api --api-auth username_password`)", "(e.g. `sh webui.sh --api`)": "(pl. `sh webui.sh --api`)", "(latest)": "(legújabb)", + "(Ollama)": "", "{{ models }}": "{{ modellek }}", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "", @@ -68,6 +69,8 @@ "Already have an account?": "Már van fiókod?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "", "an assistant": "egy asszisztens", "Analyzed": "", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "Alapértelmezett prompt javaslatok", "Default to 389 or 636 if TLS is enabled": "", "Default to ALL": "", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "Alapértelmezett felhasználói szerep", "Delete": "Törlés", "Delete a model": "Modell törlése", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "", "Description": "Leírás", "Didn't fully follow instructions": "Nem követte teljesen az utasításokat", + "Direct": "", "Direct Connections": "", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", "Direct Connections settings updated": "", @@ -314,6 +319,8 @@ "Dive into knowledge": "", "Do not install functions from sources you do not fully trust.": "Ne telepíts funkciókat olyan forrásokból, amelyekben nem bízol teljesen.", "Do not install tools from sources you do not fully trust.": "Ne telepíts eszközöket olyan forrásokból, amelyekben nem bízol teljesen.", + "Docling": "", + "Docling Server URL required.": "", "Document": "Dokumentum", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "Add meg a darab méretet", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "Add meg a leírást", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "", @@ -471,6 +479,7 @@ "Export Prompts": "Promptok exportálása", "Export to CSV": "", "Export Tools": "Eszközök exportálása", + "External": "", "External Models": "Külső modellek", "Failed to add file.": "Nem sikerült hozzáadni a fájlt.", "Failed to create API Key.": "Nem sikerült létrehozni az API kulcsot.", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "Add hozzá a `--api` kapcsolót a stable-diffusion-webui futtatásakor", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "Információ", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "Beviteli parancsok", "Install from Github URL": "Telepítés Github URL-ről", "Instant Auto-Send After Voice Transcription": "Azonnali automatikus küldés hangfelismerés után", @@ -806,6 +816,7 @@ "Presence Penalty": "", "Previous 30 days": "Előző 30 nap", "Previous 7 days": "Előző 7 nap", + "Private": "", "Profile Image": "Profilkép", "Prompt": "", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Prompt (pl. Mondj egy érdekes tényt a Római Birodalomról)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "", "Prompts": "Promptok", "Prompts Access": "", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "\"{{searchValue}}\" letöltése az Ollama.com-ról", "Pull a model from Ollama.com": "Modell letöltése az Ollama.com-ról", "Query Generation Prompt": "", @@ -979,6 +991,7 @@ "System": "Rendszer", "System Instructions": "Rendszer utasítások", "System Prompt": "Rendszer prompt", + "Tags": "", "Tags Generation": "", "Tags Generation Prompt": "Címke generálási prompt", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1009,6 +1022,7 @@ "Theme": "Téma", "Thinking...": "Gondolkodik...", "This action cannot be undone. Do you wish to continue?": "Ez a művelet nem vonható vissza. Szeretné folytatni?", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Ez biztosítja, hogy értékes beszélgetései biztonságosan mentésre kerüljenek a backend adatbázisban. Köszönjük!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "Ez egy kísérleti funkció, lehet, hogy nem a várt módon működik és bármikor változhat.", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "Szelepek sikeresen frissítve", "variable": "változó", "variable to have them replaced with clipboard content.": "változó, hogy a vágólap tartalmával helyettesítse őket.", + "Verify Connection": "", "Version": "Verzió", "Version {{selectedVersion}} of {{totalVersions}}": "{{selectedVersion}}. verzió a {{totalVersions}}-ból", "View Replies": "", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "Egyszerre maximum {{maxCount}} fájllal tud csevegni.", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Az LLM-ekkel való interakcióit személyre szabhatja emlékek hozzáadásával a lenti 'Kezelés' gomb segítségével, így azok még hasznosabbak és személyre szabottabbak lesznek.", "You cannot upload an empty file.": "Nem tölthet fel üres fájlt.", - "You do not have permission to access this feature.": "", "You do not have permission to upload files": "", "You do not have permission to upload files.": "", "You have no archived conversations.": "Nincsenek archivált beszélgetései.", diff --git a/src/lib/i18n/locales/id-ID/translation.json b/src/lib/i18n/locales/id-ID/translation.json index 2b5ec88f7..e7d5616e2 100644 --- a/src/lib/i18n/locales/id-ID/translation.json +++ b/src/lib/i18n/locales/id-ID/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "(contoh: `sh webui.sh --api --api-auth username_password`)", "(e.g. `sh webui.sh --api`)": "(contoh: `sh webui.sh --api`)", "(latest)": "(terbaru)", + "(Ollama)": "", "{{ models }}": "{{ models }}", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "", @@ -68,6 +69,8 @@ "Already have an account?": "Sudah memiliki akun?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "", "an assistant": "asisten", "Analyzed": "", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "Saran Permintaan Default", "Default to 389 or 636 if TLS is enabled": "", "Default to ALL": "", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "Peran Pengguna Default", "Delete": "Menghapus", "Delete a model": "Menghapus model", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "", "Description": "Deskripsi", "Didn't fully follow instructions": "Tidak sepenuhnya mengikuti instruksi", + "Direct": "", "Direct Connections": "", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", "Direct Connections settings updated": "", @@ -314,6 +319,8 @@ "Dive into knowledge": "", "Do not install functions from sources you do not fully trust.": "", "Do not install tools from sources you do not fully trust.": "", + "Docling": "", + "Docling Server URL required.": "", "Document": "Dokumen", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "Masukkan Ukuran Potongan", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "", @@ -471,6 +479,7 @@ "Export Prompts": "Perintah Ekspor", "Export to CSV": "", "Export Tools": "Alat Ekspor", + "External": "", "External Models": "Model Eksternal", "Failed to add file.": "", "Failed to create API Key.": "Gagal membuat API Key.", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "Sertakan bendera `--api` saat menjalankan stable-diffusion-webui", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "Info", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "Perintah masukan", "Install from Github URL": "Instal dari URL Github", "Instant Auto-Send After Voice Transcription": "Kirim Otomatis Instan Setelah Transkripsi Suara", @@ -806,6 +816,7 @@ "Presence Penalty": "", "Previous 30 days": "30 hari sebelumnya", "Previous 7 days": "7 hari sebelumnya", + "Private": "", "Profile Image": "Gambar Profil", "Prompt": "", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Permintaan (mis. Ceritakan sebuah fakta menarik tentang Kekaisaran Romawi)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "", "Prompts": "Prompt", "Prompts Access": "", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "Tarik \"{{searchValue}}\" dari Ollama.com", "Pull a model from Ollama.com": "Tarik model dari Ollama.com", "Query Generation Prompt": "", @@ -979,6 +991,7 @@ "System": "Sistem", "System Instructions": "", "System Prompt": "Permintaan Sistem", + "Tags": "", "Tags Generation": "", "Tags Generation Prompt": "", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1009,6 +1022,7 @@ "Theme": "Tema", "Thinking...": "Berpikir", "This action cannot be undone. Do you wish to continue?": "Tindakan ini tidak dapat dibatalkan. Apakah Anda ingin melanjutkan?", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Ini akan memastikan bahwa percakapan Anda yang berharga disimpan dengan aman ke basis data backend. Terima kasih!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "Ini adalah fitur eksperimental, mungkin tidak berfungsi seperti yang diharapkan dan dapat berubah sewaktu-waktu.", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "Katup berhasil diperbarui", "variable": "variabel", "variable to have them replaced with clipboard content.": "variabel untuk diganti dengan konten papan klip.", + "Verify Connection": "", "Version": "Versi", "Version {{selectedVersion}} of {{totalVersions}}": "", "View Replies": "", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Anda dapat mempersonalisasi interaksi Anda dengan LLM dengan menambahkan kenangan melalui tombol 'Kelola' di bawah ini, sehingga lebih bermanfaat dan disesuaikan untuk Anda.", "You cannot upload an empty file.": "", - "You do not have permission to access this feature.": "", "You do not have permission to upload files": "", "You do not have permission to upload files.": "", "You have no archived conversations.": "Anda tidak memiliki percakapan yang diarsipkan.", diff --git a/src/lib/i18n/locales/ie-GA/translation.json b/src/lib/i18n/locales/ie-GA/translation.json index bfa7bd63c..86b72abfb 100644 --- a/src/lib/i18n/locales/ie-GA/translation.json +++ b/src/lib/i18n/locales/ie-GA/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "(m.sh. `sh webui.sh --api --api-auth username_password `)", "(e.g. `sh webui.sh --api`)": "(m.sh. `sh webui.sh --api`)", "(latest)": "(is déanaí)", + "(Ollama)": "", "{{ models }}": "{{ models }}", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "{{COUNT}} Freagra", @@ -68,6 +69,8 @@ "Already have an account?": "Tá cuntas agat cheana féin?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "I gcónaí", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "Iontach", "an assistant": "cúntóir", "Analyzed": "Anailísithe", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "Moltaí Leid Réamhshocraithe", "Default to 389 or 636 if TLS is enabled": "Réamhshocrú go 389 nó 636 má tá TLS cumasaithe", "Default to ALL": "Réamhshocrú do GACH", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "Ról Úsáideora Réamhshocraithe", "Delete": "Scrios", "Delete a model": "Scrios múnla", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "Déan cur síos ar do bhunachar eolais agus do chuspóirí", "Description": "Cur síos", "Didn't fully follow instructions": "Níor lean sé treoracha go hiomlán", + "Direct": "", "Direct Connections": "Naisc Dhíreacha", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "Ligeann Connections Direct d’úsáideoirí ceangal lena gcríochphointí API féin atá comhoiriúnach le OpenAI.", "Direct Connections settings updated": "Nuashonraíodh socruithe Connections Direct", @@ -314,6 +319,8 @@ "Dive into knowledge": "Léim isteach eolas", "Do not install functions from sources you do not fully trust.": "Ná suiteáil feidhmeanna ó fhoinsí nach bhfuil muinín iomlán agat.", "Do not install tools from sources you do not fully trust.": "Ná suiteáil uirlisí ó fhoinsí nach bhfuil muinín iomlán agat.", + "Docling": "", + "Docling Server URL required.": "", "Document": "Doiciméad", "Document Intelligence": "Faisnéise Doiciméad", "Document Intelligence endpoint and key required.": "Críochphointe Faisnéise Doiciméad agus eochair ag teastáil.", @@ -384,6 +391,7 @@ "Enter Chunk Size": "Cuir isteach Méid an Smután", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "Iontráil cur síos", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "Iontráil Críochphointe Faisnéise Doiciméid", "Enter Document Intelligence Key": "Iontráil Eochair Faisnéise Doiciméad", "Enter domains separated by commas (e.g., example.com,site.org)": "Cuir isteach fearainn atá scartha le camóga (m.sh., example.com,site.org)", @@ -471,6 +479,7 @@ "Export Prompts": "Leideanna Easpórtála", "Export to CSV": "Easpórtáil go CSV", "Export Tools": "Uirlisí Easpór", + "External": "", "External Models": "Múnlaí Seachtracha", "Failed to add file.": "Theip ar an gcomhad a chur leis.", "Failed to create API Key.": "Theip ar an eochair API a chruthú.", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "Cuir bratach `--api` san áireamh agus webui cobhsaí-scaipthe á rith", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "Eolas", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "Orduithe ionchuir", "Install from Github URL": "Suiteáil ó Github URL", "Instant Auto-Send After Voice Transcription": "Seoladh Uathoibríoch Láithreach Tar éis", @@ -806,6 +816,7 @@ "Presence Penalty": "Pionós Láithreacht", "Previous 30 days": "30 lá roimhe seo", "Previous 7 days": "7 lá roimhe seo", + "Private": "", "Profile Image": "Íomhá Próifíl", "Prompt": "Leid", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Leid (m.sh. inis dom fíric spraíúil faoin Impireacht Rómhánach)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "D'éirigh leis an leid a nuashonrú", "Prompts": "Leabhair", "Prompts Access": "Rochtain ar Chuirí", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "Tarraing \"{{searchValue}}\" ó Ollama.com", "Pull a model from Ollama.com": "Tarraing múnla ó Ollama.com", "Query Generation Prompt": "Cuirí Ginearáil Ceisteanna", @@ -979,6 +991,7 @@ "System": "Córas", "System Instructions": "Treoracha Córas", "System Prompt": "Córas Leid", + "Tags": "", "Tags Generation": "Giniúint Clibeanna", "Tags Generation Prompt": "Clibeanna Giniúint Leid", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "Úsáidtear sampláil saor ó eireabaill chun tionchar na n-chomharthaí ón aschur nach bhfuil chomh dóchúil céanna a laghdú. Laghdóidh luach níos airde (m.sh., 2.0) an tionchar níos mó, agus díchumasaíonn luach 1.0 an socrú seo. (réamhshocraithe: 1)", @@ -1009,6 +1022,7 @@ "Theme": "Téama", "Thinking...": "Ag smaoineamh...", "This action cannot be undone. Do you wish to continue?": "Ní féidir an gníomh seo a chur ar ais. Ar mhaith leat leanúint ar aghaidh?", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Cinntíonn sé seo go sábhálfar do chomhráite luachmhara go daingean i do bhunachar sonraí cúltaca Go raibh maith agat!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "Is gné turgnamhach í seo, b'fhéidir nach bhfeidhmeoidh sé mar a bhíothas ag súil leis agus tá sé faoi réir athraithe ag am ar bith.", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "Comhlaí nuashonraíodh", "variable": "athraitheach", "variable to have them replaced with clipboard content.": "athróg chun ábhar gearrthaisce a chur in ionad iad.", + "Verify Connection": "", "Version": "Leagan", "Version {{selectedVersion}} of {{totalVersions}}": "Leagan {{selectedVersion}} de {{totalVersions}}", "View Replies": "Féach ar Fhreagraí", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "Ní féidir leat comhrá a dhéanamh ach le comhad {{maxCount}} ar a mhéad ag an am.", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Is féidir leat do chuid idirghníomhaíochtaí le LLManna a phearsantú ach cuimhní cinn a chur leis tríd an gcnaipe 'Bainistigh' thíos, rud a fhágann go mbeidh siad níos cabhrach agus níos oiriúnaí duit.", "You cannot upload an empty file.": "Ní féidir leat comhad folamh a uaslódáil.", - "You do not have permission to access this feature.": "Níl cead agat rochtain a fháil ar an ngné seo.", "You do not have permission to upload files": "Níl cead agat comhaid a uaslódáil", "You do not have permission to upload files.": "Níl cead agat comhaid a uaslódáil.", "You have no archived conversations.": "Níl aon chomhráite cartlainne agat.", diff --git a/src/lib/i18n/locales/it-IT/translation.json b/src/lib/i18n/locales/it-IT/translation.json index 17aa0dede..c71c40ff9 100644 --- a/src/lib/i18n/locales/it-IT/translation.json +++ b/src/lib/i18n/locales/it-IT/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "", "(e.g. `sh webui.sh --api`)": "(p.e. `sh webui.sh --api`)", "(latest)": "(ultima)", + "(Ollama)": "", "{{ models }}": "{{ modelli }}", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "", @@ -68,6 +69,8 @@ "Already have an account?": "Hai già un account?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "", "an assistant": "un assistente", "Analyzed": "", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "Suggerimenti prompt predefiniti", "Default to 389 or 636 if TLS is enabled": "", "Default to ALL": "", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "Ruolo utente predefinito", "Delete": "Elimina", "Delete a model": "Elimina un modello", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "", "Description": "Descrizione", "Didn't fully follow instructions": "Non ha seguito completamente le istruzioni", + "Direct": "", "Direct Connections": "", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", "Direct Connections settings updated": "", @@ -314,6 +319,8 @@ "Dive into knowledge": "", "Do not install functions from sources you do not fully trust.": "", "Do not install tools from sources you do not fully trust.": "", + "Docling": "", + "Docling Server URL required.": "", "Document": "Documento", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "Inserisci la dimensione chunk", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "", @@ -471,6 +479,7 @@ "Export Prompts": "Esporta prompt", "Export to CSV": "", "Export Tools": "", + "External": "", "External Models": "", "Failed to add file.": "", "Failed to create API Key.": "Impossibile creare la chiave API.", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "Includi il flag `--api` quando esegui stable-diffusion-webui", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "Informazioni", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "Comandi di input", "Install from Github URL": "Eseguire l'installazione dall'URL di Github", "Instant Auto-Send After Voice Transcription": "", @@ -806,6 +816,7 @@ "Presence Penalty": "", "Previous 30 days": "Ultimi 30 giorni", "Previous 7 days": "Ultimi 7 giorni", + "Private": "", "Profile Image": "Immagine del profilo", "Prompt": "", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Prompt (ad esempio Dimmi un fatto divertente sull'Impero Romano)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "", "Prompts": "Prompt", "Prompts Access": "", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "Estrai \"{{searchValue}}\" da Ollama.com", "Pull a model from Ollama.com": "Estrai un modello da Ollama.com", "Query Generation Prompt": "", @@ -979,6 +991,7 @@ "System": "Sistema", "System Instructions": "", "System Prompt": "Prompt di sistema", + "Tags": "", "Tags Generation": "", "Tags Generation Prompt": "", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1009,6 +1022,7 @@ "Theme": "Tema", "Thinking...": "", "This action cannot be undone. Do you wish to continue?": "", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Ciò garantisce che le tue preziose conversazioni siano salvate in modo sicuro nel tuo database backend. Grazie!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "", "variable": "variabile", "variable to have them replaced with clipboard content.": "variabile per farli sostituire con il contenuto degli appunti.", + "Verify Connection": "", "Version": "Versione", "Version {{selectedVersion}} of {{totalVersions}}": "", "View Replies": "", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "", "You cannot upload an empty file.": "", - "You do not have permission to access this feature.": "", "You do not have permission to upload files": "", "You do not have permission to upload files.": "", "You have no archived conversations.": "Non hai conversazioni archiviate.", diff --git a/src/lib/i18n/locales/ja-JP/translation.json b/src/lib/i18n/locales/ja-JP/translation.json index 78cee236f..9616ce3e7 100644 --- a/src/lib/i18n/locales/ja-JP/translation.json +++ b/src/lib/i18n/locales/ja-JP/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "(例: `sh webui.sh --api --api-auth username_password`)", "(e.g. `sh webui.sh --api`)": "(例: `sh webui.sh --api`)", "(latest)": "(最新)", + "(Ollama)": "", "{{ models }}": "{{ モデル }}", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "", @@ -68,6 +69,8 @@ "Already have an account?": "すでにアカウントをお持ちですか?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "", "an assistant": "アシスタント", "Analyzed": "", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "デフォルトのプロンプトの提案", "Default to 389 or 636 if TLS is enabled": "", "Default to ALL": "", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "デフォルトのユーザー役割", "Delete": "削除", "Delete a model": "モデルを削除", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "", "Description": "説明", "Didn't fully follow instructions": "説明に沿って操作していませんでした", + "Direct": "", "Direct Connections": "", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", "Direct Connections settings updated": "", @@ -314,6 +319,8 @@ "Dive into knowledge": "", "Do not install functions from sources you do not fully trust.": "信頼できないソースからFunctionをインストールしないでください。", "Do not install tools from sources you do not fully trust.": "信頼出来ないソースからツールをインストールしないでください。", + "Docling": "", + "Docling Server URL required.": "", "Document": "ドキュメント", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "チャンクサイズを入力してください", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "", @@ -471,6 +479,7 @@ "Export Prompts": "プロンプトをエクスポート", "Export to CSV": "", "Export Tools": "ツールのエクスポート", + "External": "", "External Models": "外部モデル", "Failed to add file.": "", "Failed to create API Key.": "APIキーの作成に失敗しました。", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "stable-diffusion-webuiを実行する際に`--api`フラグを含める", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "情報", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "入力コマンド", "Install from Github URL": "Github URLからインストール", "Instant Auto-Send After Voice Transcription": "", @@ -806,6 +816,7 @@ "Presence Penalty": "", "Previous 30 days": "前の30日間", "Previous 7 days": "前の7日間", + "Private": "", "Profile Image": "プロフィール画像", "Prompt": "", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "プロンプト(例:ローマ帝国についての楽しい事を教えてください)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "", "Prompts": "プロンプト", "Prompts Access": "", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "Ollama.com から \"{{searchValue}}\" をプル", "Pull a model from Ollama.com": "Ollama.com からモデルをプル", "Query Generation Prompt": "", @@ -979,6 +991,7 @@ "System": "システム", "System Instructions": "", "System Prompt": "システムプロンプト", + "Tags": "", "Tags Generation": "", "Tags Generation Prompt": "", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1009,6 +1022,7 @@ "Theme": "テーマ", "Thinking...": "思考中...", "This action cannot be undone. Do you wish to continue?": "このアクションは取り消し不可です。続けますか?", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "これは、貴重な会話がバックエンドデータベースに安全に保存されることを保証します。ありがとうございます!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "実験的機能であり正常動作しない場合があります。", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "", "variable": "変数", "variable to have them replaced with clipboard content.": "クリップボードの内容に置き換える変数。", + "Verify Connection": "", "Version": "バージョン", "Version {{selectedVersion}} of {{totalVersions}}": "", "View Replies": "", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "", "You cannot upload an empty file.": "", - "You do not have permission to access this feature.": "", "You do not have permission to upload files": "", "You do not have permission to upload files.": "", "You have no archived conversations.": "これまでにアーカイブされた会話はありません。", diff --git a/src/lib/i18n/locales/ka-GE/translation.json b/src/lib/i18n/locales/ka-GE/translation.json index f64fa4499..7fff7fef5 100644 --- a/src/lib/i18n/locales/ka-GE/translation.json +++ b/src/lib/i18n/locales/ka-GE/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "(მაგ: `sh webui.sh --api --api-auth username_password`)", "(e.g. `sh webui.sh --api`)": "(მაგ: `sh webui.sh --api`)", "(latest)": "(უახლესი)", + "(Ollama)": "", "{{ models }}": "{{ მოდელები }}", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "{{COUNT}} პასუხი", @@ -68,6 +69,8 @@ "Already have an account?": "უკვე გაქვთ ანგარიში?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "ყოველთვის", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "გადასარევია", "an assistant": "დამხმარე", "Analyzed": "გაანაზლიებულია", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "ნაგულისხმევი მოთხოვნის მინიშნებები", "Default to 389 or 636 if TLS is enabled": "", "Default to ALL": "", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "მომხმარებლის ნაგულისხმევი როლი", "Delete": "წაშლა", "Delete a model": "მოდელის წაშლა", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "", "Description": "აღწერა", "Didn't fully follow instructions": "ინსტრუქციებს სრულად არ მივყევი", + "Direct": "", "Direct Connections": "პირდაპირი მიერთება", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", "Direct Connections settings updated": "", @@ -314,6 +319,8 @@ "Dive into knowledge": "", "Do not install functions from sources you do not fully trust.": "", "Do not install tools from sources you do not fully trust.": "", + "Docling": "", + "Docling Server URL required.": "", "Document": "დოკუმენტი", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "შეიყვანე ფრაგმენტის ზომა", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "შეიყვანეთ აღწერა", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "", @@ -471,6 +479,7 @@ "Export Prompts": "მოთხოვნების გატანა", "Export to CSV": "CVS-ში გატანა", "Export Tools": "", + "External": "", "External Models": "", "Failed to add file.": "ფაილის დამატების შეცდომა.", "Failed to create API Key.": "API-ის გასაღების შექმნა ჩავარდა.", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "`--api` ალმის ჩასმა stable-diffusion-webui-ის გამოყენებისას", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "ინფორმაცია", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "შეიყვანეთ ბრძანებები", "Install from Github URL": "დაყენება Github-ის ბმულიდან", "Instant Auto-Send After Voice Transcription": "", @@ -806,6 +816,7 @@ "Presence Penalty": "", "Previous 30 days": "წინა 30 დღე", "Previous 7 days": "წინა 7 დღე", + "Private": "", "Profile Image": "პროფილის სურათი", "Prompt": "ბრძანების შეყვანის შეხსენება", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Prompt (მაგ. მითხარი სახალისო ფაქტი რომის იმპერიის შესახებ)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "", "Prompts": "მოთხოვნები", "Prompts Access": "", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "\"{{searchValue}}\"-ის გადმოწერა Ollama.com-იდან", "Pull a model from Ollama.com": "მოდელის გადმოწერა Ollama.com-დან", "Query Generation Prompt": "", @@ -979,6 +991,7 @@ "System": "სისტემა", "System Instructions": "", "System Prompt": "სისტემური მოთხოვნა", + "Tags": "", "Tags Generation": "", "Tags Generation Prompt": "", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1009,6 +1022,7 @@ "Theme": "თემა", "Thinking...": "", "This action cannot be undone. Do you wish to continue?": "", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "ეს უზრუნველყოფს, რომ თქვენი ღირებული საუბრები უსაფრთხოდ შეინახება თქვენს უკანაბოლო მონაცემთა ბაზაში. მადლობა!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "", "variable": "ცვლადი", "variable to have them replaced with clipboard content.": "ცვლადი მისი ბუფერის მნიშვნელობით ჩასანაცვლებლად.", + "Verify Connection": "", "Version": "ვერსია", "Version {{selectedVersion}} of {{totalVersions}}": "", "View Replies": "", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "", "You cannot upload an empty file.": "", - "You do not have permission to access this feature.": "", "You do not have permission to upload files": "", "You do not have permission to upload files.": "", "You have no archived conversations.": "დაარქივებული საუბრები არ გაქვთ.", diff --git a/src/lib/i18n/locales/ko-KR/translation.json b/src/lib/i18n/locales/ko-KR/translation.json index 649eae61b..a6f59507d 100644 --- a/src/lib/i18n/locales/ko-KR/translation.json +++ b/src/lib/i18n/locales/ko-KR/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "(예: `sh webui.sh --api --api-auth 사용자이름_비밀번호`)", "(e.g. `sh webui.sh --api`)": "(예: `sh webui.sh --api`)", "(latest)": "(최근)", + "(Ollama)": "", "{{ models }}": "{{ models }}", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "", @@ -68,6 +69,8 @@ "Already have an account?": "이미 계정이 있으신가요?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "놀라움", "an assistant": "어시스턴트", "Analyzed": "", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "기본 프롬프트 제안", "Default to 389 or 636 if TLS is enabled": "", "Default to ALL": "", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "기본 사용자 역할", "Delete": "삭제", "Delete a model": "모델 삭제", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "지식 기반에 대한 설명과 목적을 입력하세요", "Description": "설명", "Didn't fully follow instructions": "완전히 지침을 따르지 않음", + "Direct": "", "Direct Connections": "", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", "Direct Connections settings updated": "", @@ -314,6 +319,8 @@ "Dive into knowledge": "", "Do not install functions from sources you do not fully trust.": "불분명한 출처를 가진 함수를 설치하지마세요", "Do not install tools from sources you do not fully trust.": "불분명한 출처를 가진 도구를 설치하지마세요", + "Docling": "", + "Docling Server URL required.": "", "Document": "문서", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "청크 크기 입력", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "설명 입력", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "", @@ -471,6 +479,7 @@ "Export Prompts": "프롬프트 내보내기", "Export to CSV": "", "Export Tools": "도구 내보내기", + "External": "", "External Models": "외부 모델", "Failed to add file.": "파일추가에 실패했습니다", "Failed to create API Key.": "API 키 생성에 실패했습니다.", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "stable-diffusion-webui를 실행 시 `--api` 플래그를 포함하세요", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "정보", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "명령어 입력", "Install from Github URL": "Github URL에서 설치", "Instant Auto-Send After Voice Transcription": "음성 변환 후 즉시 자동 전송", @@ -806,6 +816,7 @@ "Presence Penalty": "", "Previous 30 days": "이전 30일", "Previous 7 days": "이전 7일", + "Private": "", "Profile Image": "프로필 이미지", "Prompt": "", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "프롬프트 (예: 로마 황제에 대해 재미있는 사실을 알려주세요)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "성공적으로 프롬프트를 수정했습니다", "Prompts": "프롬프트", "Prompts Access": "프롬프트 접근", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "Ollama.com에서 \"{{searchValue}}\" 가져오기", "Pull a model from Ollama.com": "Ollama.com에서 모델 가져오기(pull)", "Query Generation Prompt": "", @@ -979,6 +991,7 @@ "System": "시스템", "System Instructions": "시스템 설명서", "System Prompt": "시스템 프롬프트", + "Tags": "", "Tags Generation": "태그 생성", "Tags Generation Prompt": "태그 생성 프롬프트", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1009,6 +1022,7 @@ "Theme": "테마", "Thinking...": "생각 중...", "This action cannot be undone. Do you wish to continue?": "이 액션은 되돌릴 수 없습니다. 계속 하시겠습니까?", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "이렇게 하면 소중한 대화 내용이 백엔드 데이터베이스에 안전하게 저장됩니다. 감사합니다!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "이것은 실험적 기능으로, 예상대로 작동하지 않을 수 있으며 언제든지 변경될 수 있습니다.", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "성공적으로 밸브가 업데이트되었습니다", "variable": "변수", "variable to have them replaced with clipboard content.": "변수를 사용하여 클립보드 내용으로 바꾸세요.", + "Verify Connection": "", "Version": "버전", "Version {{selectedVersion}} of {{totalVersions}}": "버전 {{totalVersions}}의 {{selectedVersion}}", "View Replies": "", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "동시에 최대 {{maxCount}} 파일과만 대화할 수 있습니다 ", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "아래 '관리' 버튼으로 메모리를 추가하여 LLM들과의 상호작용을 개인화할 수 있습니다. 이를 통해 더 유용하고 맞춤화된 경험을 제공합니다.", "You cannot upload an empty file.": "빈 파일을 업로드 할 수 없습니다", - "You do not have permission to access this feature.": "", "You do not have permission to upload files": "", "You do not have permission to upload files.": "", "You have no archived conversations.": "채팅을 보관한 적이 없습니다.", diff --git a/src/lib/i18n/locales/languages.json b/src/lib/i18n/locales/languages.json index 5672e4592..c6517f760 100644 --- a/src/lib/i18n/locales/languages.json +++ b/src/lib/i18n/locales/languages.json @@ -11,6 +11,10 @@ "code": "ar-BH", "title": "Arabic (عربي)" }, + { + "code": "eu-ES", + "title": "Basque (Euskara)" + }, { "code": "bn-BD", "title": "Bengali (বাংলা)" @@ -27,6 +31,10 @@ "code": "ceb-PH", "title": "Cebuano (Filipino)" }, + { + "code": "hr-HR", + "title": "Croatian (Hrvatski)" + }, { "code": "cs-CZ", "title": "Czech (čeština)" @@ -36,20 +44,12 @@ "title": "Danish (Denmark)" }, { - "code": "de-DE", - "title": "German (Deutsch)" + "code": "nl-NL", + "title": "Dutch (Netherlands)" }, { - "code": "es-ES", - "title": "Spanish (Español)" - }, - { - "code": "eu-ES", - "title": "Basque (Euskara)" - }, - { - "code": "fa-IR", - "title": "Persian (فارسی)" + "code": "et-EE", + "title": "Estonian (Eesti)" }, { "code": "fi-FI", @@ -63,6 +63,14 @@ "code": "fr-FR", "title": "French (France)" }, + { + "code": "ka-GE", + "title": "Georgian (ქართული)" + }, + { + "code": "de-DE", + "title": "German (Deutsch)" + }, { "code": "el-GR", "title": "Greek (Ἑλλάδα)" @@ -75,10 +83,6 @@ "code": "hi-IN", "title": "Hindi (हिंदी)" }, - { - "code": "hr-HR", - "title": "Croatian (Hrvatski)" - }, { "code": "hu-HU", "title": "Hungarian (Magyar)" @@ -99,10 +103,6 @@ "code": "ja-JP", "title": "Japanese (日本語)" }, - { - "code": "ka-GE", - "title": "Georgian (ქართული)" - }, { "code": "ko-KR", "title": "Korean (한국어)" @@ -120,12 +120,8 @@ "title": "Norwegian Bokmål (Norway)" }, { - "code": "nl-NL", - "title": "Dutch (Netherlands)" - }, - { - "code": "pa-IN", - "title": "Punjabi (India)" + "code": "fa-IR", + "title": "Persian (فارسی)" }, { "code": "pl-PL", @@ -139,6 +135,10 @@ "code": "pt-PT", "title": "Portuguese (Portugal)" }, + { + "code": "pa-IN", + "title": "Punjabi (India)" + }, { "code": "ro-RO", "title": "Romanian (Romania)" @@ -147,17 +147,21 @@ "code": "ru-RU", "title": "Russian (Russia)" }, + { + "code": "sr-RS", + "title": "Serbian (Српски)" + }, { "code": "sk-SK", "title": "Slovak (Slovenčina)" }, { - "code": "sv-SE", - "title": "Swedish (Svenska)" + "code": "es-ES", + "title": "Spanish (Español)" }, { - "code": "sr-RS", - "title": "Serbian (Српски)" + "code": "sv-SE", + "title": "Swedish (Svenska)" }, { "code": "th-TH", diff --git a/src/lib/i18n/locales/lt-LT/translation.json b/src/lib/i18n/locales/lt-LT/translation.json index 031fc412d..8137435e5 100644 --- a/src/lib/i18n/locales/lt-LT/translation.json +++ b/src/lib/i18n/locales/lt-LT/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "(pvz. `sh webui.sh --api --api-auth username_password`)", "(e.g. `sh webui.sh --api`)": "(pvz. `sh webui.sh --api`)", "(latest)": "(naujausias)", + "(Ollama)": "", "{{ models }}": "{{ models }}", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "", @@ -68,6 +69,8 @@ "Already have an account?": "Ar jau turite paskyrą?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "", "an assistant": "assistentas", "Analyzed": "", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "Numatytieji užklausų pasiūlymai", "Default to 389 or 636 if TLS is enabled": "", "Default to ALL": "", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "Numatytoji naudotojo rolė", "Delete": "ištrinti", "Delete a model": "Ištrinti modėlį", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "", "Description": "Aprašymas", "Didn't fully follow instructions": "Pilnai nesekė instrukcijų", + "Direct": "", "Direct Connections": "", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", "Direct Connections settings updated": "", @@ -314,6 +319,8 @@ "Dive into knowledge": "", "Do not install functions from sources you do not fully trust.": "Neinstaliuokite funkcijų iš nepatikimų šaltinių", "Do not install tools from sources you do not fully trust.": "Neinstaliuokite įrankių iš nepatikimų šaltinių", + "Docling": "", + "Docling Server URL required.": "", "Document": "Dokumentas", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "Įveskite blokų dydį", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "", @@ -471,6 +479,7 @@ "Export Prompts": "Eksportuoti užklausas", "Export to CSV": "", "Export Tools": "Eksportuoti įrankius", + "External": "", "External Models": "Išoriniai modeliai", "Failed to add file.": "", "Failed to create API Key.": "Nepavyko sukurti API rakto", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "Pridėti `--api` kai vykdomas stable-diffusion-webui", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "Informacija", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "Įvesties komandos", "Install from Github URL": "Instaliuoti Github nuorodą", "Instant Auto-Send After Voice Transcription": "Siųsti iškart po balso transkripcijos", @@ -806,6 +816,7 @@ "Presence Penalty": "", "Previous 30 days": "Paskutinės 30 dienų", "Previous 7 days": "Paskutinės 7 dienos", + "Private": "", "Profile Image": "Profilio nuotrauka", "Prompt": "", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Užklausa (pvz. supaprastink šį laišką)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "", "Prompts": "Užklausos", "Prompts Access": "", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "Rasti \"{{searchValue}}\" iš Ollama.com", "Pull a model from Ollama.com": "Gauti modelį iš Ollama.com", "Query Generation Prompt": "", @@ -979,6 +991,7 @@ "System": "Sistema", "System Instructions": "", "System Prompt": "Sistemos užklausa", + "Tags": "", "Tags Generation": "", "Tags Generation Prompt": "", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1009,6 +1022,7 @@ "Theme": "Tema", "Thinking...": "Mąsto...", "This action cannot be undone. Do you wish to continue?": "Šis veiksmas negali būti atšauktas. Ar norite tęsti?", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Tai užtikrina, kad Jūsų pokalbiai saugiai saugojami duomenų bazėje. Ačiū!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "Tai eksperimentinė funkcija ir gali veikti nevisada.", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "Įeitys atnaujintos sėkmingai", "variable": "kintamasis", "variable to have them replaced with clipboard content.": "kintamoji pakeičiama kopijuoklės turiniu.", + "Verify Connection": "", "Version": "Versija", "Version {{selectedVersion}} of {{totalVersions}}": "", "View Replies": "", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Galite pagerinti modelių darbą suteikdami jiems atminties funkcionalumą.", "You cannot upload an empty file.": "", - "You do not have permission to access this feature.": "", "You do not have permission to upload files": "", "You do not have permission to upload files.": "", "You have no archived conversations.": "Jūs neturite archyvuotų pokalbių", diff --git a/src/lib/i18n/locales/ms-MY/translation.json b/src/lib/i18n/locales/ms-MY/translation.json index 9d6501c72..d9fe80dc8 100644 --- a/src/lib/i18n/locales/ms-MY/translation.json +++ b/src/lib/i18n/locales/ms-MY/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "(contoh `sh webui.sh --api --api-auth username_password`)", "(e.g. `sh webui.sh --api`)": "(contoh `sh webui.sh --api`)", "(latest)": "(terkini)", + "(Ollama)": "", "{{ models }}": "{{ models }}", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "", @@ -68,6 +69,8 @@ "Already have an account?": "Telah mempunyai akaun?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "", "an assistant": "seorang pembantu", "Analyzed": "", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "Cadangan Gesaan Lalai", "Default to 389 or 636 if TLS is enabled": "", "Default to ALL": "", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "Peranan Pengguna Lalai", "Delete": "Padam", "Delete a model": "Padam Model", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "", "Description": "Penerangan", "Didn't fully follow instructions": "Tidak mengikut arahan sepenuhnya", + "Direct": "", "Direct Connections": "", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", "Direct Connections settings updated": "", @@ -314,6 +319,8 @@ "Dive into knowledge": "", "Do not install functions from sources you do not fully trust.": "Jangan pasang fungsi daripada sumber yang anda tidak percayai sepenuhnya.", "Do not install tools from sources you do not fully trust.": "Jangan pasang alat daripada sumber yang anda tidak percaya sepenuhnya.", + "Docling": "", + "Docling Server URL required.": "", "Document": "Dokumen", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "Masukkan Saiz 'Chunk'", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "", @@ -471,6 +479,7 @@ "Export Prompts": "Eksport Gesaan", "Export to CSV": "", "Export Tools": "Eksport Alat", + "External": "", "External Models": "Model Luaran", "Failed to add file.": "", "Failed to create API Key.": "Gagal mencipta kekunci API", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "Sertakan bendera `-- api ` semasa menjalankan stable-diffusion-webui", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "Maklumat", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "Masukkan Arahan", "Install from Github URL": "Pasang daripada URL Github", "Instant Auto-Send After Voice Transcription": "Hantar Secara Automatik Dengan Segera Selepas Transkripsi Suara", @@ -806,6 +816,7 @@ "Presence Penalty": "", "Previous 30 days": "30 hari sebelumnya", "Previous 7 days": "7 hari sebelumnya", + "Private": "", "Profile Image": "Imej Profail", "Prompt": "", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Gesaan (cth Beritahu saya fakta yang menyeronokkan tentang Kesultanan Melaka)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "", "Prompts": "Gesaan", "Prompts Access": "", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "Tarik \"{{ searchValue }}\" daripada Ollama.com", "Pull a model from Ollama.com": "Tarik model dari Ollama.com", "Query Generation Prompt": "", @@ -979,6 +991,7 @@ "System": "Sistem", "System Instructions": "", "System Prompt": "Gesaan Sistem", + "Tags": "", "Tags Generation": "", "Tags Generation Prompt": "", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1009,6 +1022,7 @@ "Theme": "Tema", "Thinking...": "Berfikir...", "This action cannot be undone. Do you wish to continue?": "Tindakan ini tidak boleh diubah semula kepada asal. Adakah anda ingin teruskan", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Ini akan memastikan bahawa perbualan berharga anda disimpan dengan selamat ke pangkalan data 'backend' anda. Terima kasih!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "ni adalah ciri percubaan, ia mungkin tidak berfungsi seperti yang diharapkan dan tertakluk kepada perubahan pada bila-bila masa.", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "'Valves' berjaya dikemaskini", "variable": "pembolehubah", "variable to have them replaced with clipboard content.": "pembolehubah untuk ia digantikan dengan kandungan papan klip.", + "Verify Connection": "", "Version": "Versi", "Version {{selectedVersion}} of {{totalVersions}}": "", "View Replies": "", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Anda boleh memperibadikan interaksi anda dengan LLM dengan menambahkan memori melalui butang 'Urus' di bawah, menjadikannya lebih membantu dan disesuaikan dengan anda.", "You cannot upload an empty file.": "", - "You do not have permission to access this feature.": "", "You do not have permission to upload files": "", "You do not have permission to upload files.": "", "You have no archived conversations.": "Anda tidak mempunyai perbualan yang diarkibkan", diff --git a/src/lib/i18n/locales/nb-NO/translation.json b/src/lib/i18n/locales/nb-NO/translation.json index 7aa4c9720..16dcbd80a 100644 --- a/src/lib/i18n/locales/nb-NO/translation.json +++ b/src/lib/i18n/locales/nb-NO/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "(f.eks. `sh webui.sh --api --api-auth brukernavn_passord`)", "(e.g. `sh webui.sh --api`)": "(f.eks. `sh webui.sh --api`)", "(latest)": "(siste)", + "(Ollama)": "", "{{ models }}": "{{ modeller }}", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "{{COUNT}} svar", @@ -68,6 +69,8 @@ "Already have an account?": "Har du allerede en konto?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "Alltid", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "Flott", "an assistant": "en assistent", "Analyzed": "Analysert", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "Standard forslag til ledetekster", "Default to 389 or 636 if TLS is enabled": "Velg 389 eller 636 som standard hvis TLS er aktivert", "Default to ALL": "Velg ALL som standard", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "Standard brukerrolle", "Delete": "Slett", "Delete a model": "Slett en modell", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "Beskriv kunnskapsbasen din og målene dine", "Description": "Beskrivelse", "Didn't fully follow instructions": "Fulgte ikke instruksjonene fullstendig", + "Direct": "", "Direct Connections": "Direkte koblinger", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "Med direkte koblinger kan brukerne koble til egne OpenAI-kompatible API-endepunkter.", "Direct Connections settings updated": "Innstillinger for direkte koblinger er oppdatert", @@ -314,6 +319,8 @@ "Dive into knowledge": "Bli kjent med kunnskap", "Do not install functions from sources you do not fully trust.": "Ikke installer funksjoner fra kilder du ikke stoler på.", "Do not install tools from sources you do not fully trust.": "Ikke installer verktøy fra kilder du ikke stoler på.", + "Docling": "", + "Docling Server URL required.": "", "Document": "Dokument", "Document Intelligence": "Intelligens i dokumenter", "Document Intelligence endpoint and key required.": "Det kreves et endepunkt og en nøkkel for Intelligens i dokumenter", @@ -384,6 +391,7 @@ "Enter Chunk Size": "Angi Chunk-størrelse", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "Angi beskrivelse", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "Angi endepunkt for Intelligens i dokumenter", "Enter Document Intelligence Key": "Angi nøkkel for Intelligens i dokumenter", "Enter domains separated by commas (e.g., example.com,site.org)": "Angi domener atskilt med komma (f.eks. eksempel.com, side.org)", @@ -471,6 +479,7 @@ "Export Prompts": "Eksporter ledetekster", "Export to CSV": "Eksporter til CSV", "Export Tools": "Eksporter verktøy", + "External": "", "External Models": "Eksterne modeller", "Failed to add file.": "Kan ikke legge til filen.", "Failed to create API Key.": "Kan ikke opprette en API-nøkkel.", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "Inkluder flagget --api når du kjører stable-diffusion-webui", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "Info", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "Inntast kommandoer", "Install from Github URL": "Installer fra GitHub-URL", "Instant Auto-Send After Voice Transcription": "Øyeblikkelig automatisk sending etter taletranskripsjon", @@ -806,6 +816,7 @@ "Presence Penalty": "Straff for opptreden", "Previous 30 days": "Siste 30 dager", "Previous 7 days": "Siste 7 dager", + "Private": "", "Profile Image": "Profilbilde", "Prompt": "Ledetekst", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Ledetekst (f.eks. Fortell meg noe morsomt om romerriket)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "Ledetekst oppdatert", "Prompts": "Ledetekster", "Prompts Access": "Tilgang til ledetekster", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "Hent {{searchValue}} fra Ollama.com", "Pull a model from Ollama.com": "Hent en modell fra Ollama.com", "Query Generation Prompt": "Ledetekst for genering av spørringer", @@ -979,6 +991,7 @@ "System": "System", "System Instructions": "Systeminstruksjoner", "System Prompt": "Systemledetekst", + "Tags": "", "Tags Generation": "Genering av etiketter", "Tags Generation Prompt": "Ledetekst for genering av etikett", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1009,6 +1022,7 @@ "Theme": "Tema", "Thinking...": "Tenker ...", "This action cannot be undone. Do you wish to continue?": "Denne handlingen kan ikke angres. Vil du fortsette?", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Dette sikrer at de verdifulle samtalene dine lagres sikkert i backend-databasen din. Takk!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "Dette er en eksperimentell funksjon. Det er mulig den ikke fungerer som forventet, og den kan endres når som helst.", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "Ventilene er oppdatert", "variable": "variabel", "variable to have them replaced with clipboard content.": "variabel for å erstatte dem med utklippstavleinnhold.", + "Verify Connection": "", "Version": "Versjon", "Version {{selectedVersion}} of {{totalVersions}}": "Version {{selectedVersion}} av {{totalVersions}}", "View Replies": "Vis svar", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "Du kan bare chatte med maksimalt {{maxCount}} fil(er) om gangen.", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Du kan tilpasse interaksjonene dine med språkmodeller ved å legge til minner gjennom Administrer-knappen nedenfor, slik at de blir mer til nyttige og tilpasset deg.", "You cannot upload an empty file.": "Du kan ikke laste opp en tom fil.", - "You do not have permission to access this feature.": "Du har ikke tillatelse til å bruke denne funksjonen.", "You do not have permission to upload files": "Du har ikke tillatelse til å laste opp filer", "You do not have permission to upload files.": "Du har ikke tillatelse til å laste opp filer.", "You have no archived conversations.": "Du har ingen arkiverte samtaler.", diff --git a/src/lib/i18n/locales/nl-NL/translation.json b/src/lib/i18n/locales/nl-NL/translation.json index f3909e9e8..654a545a0 100644 --- a/src/lib/i18n/locales/nl-NL/translation.json +++ b/src/lib/i18n/locales/nl-NL/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "(bv. `sh webui.sh --api --api-auth gebruikersnaam_wachtwoord`)", "(e.g. `sh webui.sh --api`)": "(bv. `sh webui.sh --api`)", "(latest)": "(nieuwste)", + "(Ollama)": "", "{{ models }}": "{{ modellen }}", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "", @@ -68,6 +69,8 @@ "Already have an account?": "Heb je al een account?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "Geweldig", "an assistant": "een assistent", "Analyzed": "", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "Standaard Prompt Suggesties", "Default to 389 or 636 if TLS is enabled": "Standaard 389 of 636 als TLS is ingeschakeld", "Default to ALL": "Standaar op ALL", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "Standaard gebruikersrol", "Delete": "Verwijderen", "Delete a model": "Verwijder een model", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "Beschrijf je kennisbasis en doelstellingen", "Description": "Beschrijving", "Didn't fully follow instructions": "Heeft niet alle instructies gevolgt", + "Direct": "", "Direct Connections": "", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", "Direct Connections settings updated": "", @@ -314,6 +319,8 @@ "Dive into knowledge": "Duik in kennis", "Do not install functions from sources you do not fully trust.": "Installeer geen functies vanuit bronnen die je niet volledig vertrouwt", "Do not install tools from sources you do not fully trust.": "Installeer geen tools vanuit bronnen die je niet volledig vertrouwt.", + "Docling": "", + "Docling Server URL required.": "", "Document": "Document", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "Voeg Chunk Size toe", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "Voer beschrijving in", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "", @@ -471,6 +479,7 @@ "Export Prompts": "Exporteer Prompts", "Export to CSV": "Exporteer naar CSV", "Export Tools": "Exporteer gereedschappen", + "External": "", "External Models": "Externe modules", "Failed to add file.": "Het is niet gelukt om het bestand toe te voegen.", "Failed to create API Key.": "Kan API Key niet aanmaken.", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "Voeg `--api` vlag toe bij het uitvoeren van stable-diffusion-webui", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "Info", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "Voer commando's in", "Install from Github URL": "Installeren vanaf Github-URL", "Instant Auto-Send After Voice Transcription": "Direct automatisch verzenden na spraaktranscriptie", @@ -806,6 +816,7 @@ "Presence Penalty": "", "Previous 30 days": "Afgelopen 30 dagen", "Previous 7 days": "Afgelopen 7 dagen", + "Private": "", "Profile Image": "Profielafbeelding", "Prompt": "", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Prompt (bv. Vertel me een leuke gebeurtenis over het Romeinse Rijk)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "Prompt succesvol bijgewerkt", "Prompts": "Prompts", "Prompts Access": "Prompttoegang", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "Haal \"{{searchValue}}\" uit Ollama.com", "Pull a model from Ollama.com": "Haal een model van Ollama.com", "Query Generation Prompt": "Vraaggeneratieprompt", @@ -979,6 +991,7 @@ "System": "Systeem", "System Instructions": "Systeem instructies", "System Prompt": "Systeem prompt", + "Tags": "", "Tags Generation": "", "Tags Generation Prompt": "Prompt voor taggeneratie", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1009,6 +1022,7 @@ "Theme": "Thema", "Thinking...": "Aan het denken...", "This action cannot be undone. Do you wish to continue?": "Deze actie kan niet ongedaan worden gemaakt. Wilt u doorgaan?", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Dit zorgt ervoor dat je waardevolle gesprekken veilig worden opgeslagen in je backend database. Dank je wel!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "Dit is een experimentele functie, het kan functioneren zoals verwacht en kan op elk moment veranderen.", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "Kleppen succesvol bijgewerkt", "variable": "variabele", "variable to have them replaced with clipboard content.": "variabele om ze te laten vervangen door klembord inhoud.", + "Verify Connection": "", "Version": "Versie", "Version {{selectedVersion}} of {{totalVersions}}": "Versie {{selectedVersion}} van {{totalVersions}}", "View Replies": "", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "Je kunt slechts met maximaal {{maxCount}} bestand(en) tegelijk chatten", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Je kunt je interacties met LLM's personaliseren door herinneringen toe te voegen via de 'Beheer'-knop hieronder, waardoor ze nuttiger en voor jou op maat gemaakt worden.", "You cannot upload an empty file.": "Je kunt een leeg bestand niet uploaden.", - "You do not have permission to access this feature.": "", "You do not have permission to upload files": "", "You do not have permission to upload files.": "Je hebt geen toestemming om bestanden up te loaden", "You have no archived conversations.": "Je hebt geen gearchiveerde gesprekken.", diff --git a/src/lib/i18n/locales/pa-IN/translation.json b/src/lib/i18n/locales/pa-IN/translation.json index e4197505e..846f3575d 100644 --- a/src/lib/i18n/locales/pa-IN/translation.json +++ b/src/lib/i18n/locales/pa-IN/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "", "(e.g. `sh webui.sh --api`)": "(ਉਦਾਹਰਣ ਦੇ ਤੌਰ ਤੇ `sh webui.sh --api`)", "(latest)": "(ਤਾਜ਼ਾ)", + "(Ollama)": "", "{{ models }}": "{{ ਮਾਡਲ }}", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "", @@ -68,6 +69,8 @@ "Already have an account?": "ਪਹਿਲਾਂ ਹੀ ਖਾਤਾ ਹੈ?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "", "an assistant": "ਇੱਕ ਸਹਾਇਕ", "Analyzed": "", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "ਮੂਲ ਪ੍ਰੰਪਟ ਸੁਝਾਅ", "Default to 389 or 636 if TLS is enabled": "", "Default to ALL": "", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "ਮੂਲ ਉਪਭੋਗਤਾ ਭੂਮਿਕਾ", "Delete": "ਮਿਟਾਓ", "Delete a model": "ਇੱਕ ਮਾਡਲ ਮਿਟਾਓ", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "", "Description": "ਵਰਣਨਾ", "Didn't fully follow instructions": "ਹਦਾਇਤਾਂ ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਫਾਲੋ ਨਹੀਂ ਕੀਤਾ", + "Direct": "", "Direct Connections": "", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", "Direct Connections settings updated": "", @@ -314,6 +319,8 @@ "Dive into knowledge": "", "Do not install functions from sources you do not fully trust.": "", "Do not install tools from sources you do not fully trust.": "", + "Docling": "", + "Docling Server URL required.": "", "Document": "ਡਾਕੂਮੈਂਟ", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "ਚੰਕ ਆਕਾਰ ਦਰਜ ਕਰੋ", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "", @@ -471,6 +479,7 @@ "Export Prompts": "ਪ੍ਰੰਪਟ ਨਿਰਯਾਤ ਕਰੋ", "Export to CSV": "", "Export Tools": "", + "External": "", "External Models": "", "Failed to add file.": "", "Failed to create API Key.": "API ਕੁੰਜੀ ਬਣਾਉਣ ਵਿੱਚ ਅਸਫਲ।", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "ਸਟੇਬਲ-ਡਿਫਿਊਸ਼ਨ-ਵੈਬਯੂਆਈ ਚਲਾਉਣ ਸਮੇਂ `--api` ਝੰਡਾ ਸ਼ਾਮਲ ਕਰੋ", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "ਜਾਣਕਾਰੀ", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "ਇਨਪੁਟ ਕਮਾਂਡਾਂ", "Install from Github URL": "Github URL ਤੋਂ ਇੰਸਟਾਲ ਕਰੋ", "Instant Auto-Send After Voice Transcription": "", @@ -806,6 +816,7 @@ "Presence Penalty": "", "Previous 30 days": "ਪਿਛਲੇ 30 ਦਿਨ", "Previous 7 days": "ਪਿਛਲੇ 7 ਦਿਨ", + "Private": "", "Profile Image": "ਪ੍ਰੋਫਾਈਲ ਚਿੱਤਰ", "Prompt": "", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "ਪ੍ਰੰਪਟ (ਉਦਾਹਰਣ ਲਈ ਮੈਨੂੰ ਰੋਮਨ ਸਾਮਰਾਜ ਬਾਰੇ ਇੱਕ ਮਜ਼ੇਦਾਰ ਤੱਥ ਦੱਸੋ)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "", "Prompts": "ਪ੍ਰੰਪਟ", "Prompts Access": "", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "ਓਲਾਮਾ.ਕਾਮ ਤੋਂ \"{{searchValue}}\" ਖਿੱਚੋ", "Pull a model from Ollama.com": "ਓਲਾਮਾ.ਕਾਮ ਤੋਂ ਇੱਕ ਮਾਡਲ ਖਿੱਚੋ", "Query Generation Prompt": "", @@ -979,6 +991,7 @@ "System": "ਸਿਸਟਮ", "System Instructions": "", "System Prompt": "ਸਿਸਟਮ ਪ੍ਰੰਪਟ", + "Tags": "", "Tags Generation": "", "Tags Generation Prompt": "", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1009,6 +1022,7 @@ "Theme": "ਥੀਮ", "Thinking...": "", "This action cannot be undone. Do you wish to continue?": "", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਤੁਹਾਡੀਆਂ ਕੀਮਤੀ ਗੱਲਾਂ ਤੁਹਾਡੇ ਬੈਕਐਂਡ ਡਾਟਾਬੇਸ ਵਿੱਚ ਸੁਰੱਖਿਅਤ ਤੌਰ 'ਤੇ ਸੰਭਾਲੀਆਂ ਗਈਆਂ ਹਨ। ਧੰਨਵਾਦ!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "", "variable": "ਵੈਰੀਏਬਲ", "variable to have them replaced with clipboard content.": "ਕਲਿੱਪਬੋਰਡ ਸਮੱਗਰੀ ਨਾਲ ਬਦਲਣ ਲਈ ਵੈਰੀਏਬਲ।", + "Verify Connection": "", "Version": "ਵਰਜਨ", "Version {{selectedVersion}} of {{totalVersions}}": "", "View Replies": "", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "", "You cannot upload an empty file.": "", - "You do not have permission to access this feature.": "", "You do not have permission to upload files": "", "You do not have permission to upload files.": "", "You have no archived conversations.": "ਤੁਹਾਡੇ ਕੋਲ ਕੋਈ ਆਰਕਾਈਵ ਕੀਤੀਆਂ ਗੱਲਾਂ ਨਹੀਂ ਹਨ।", diff --git a/src/lib/i18n/locales/pl-PL/translation.json b/src/lib/i18n/locales/pl-PL/translation.json index cbba5009b..9c58ae2aa 100644 --- a/src/lib/i18n/locales/pl-PL/translation.json +++ b/src/lib/i18n/locales/pl-PL/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "(np. `sh webui.sh --api --api-auth username_password`)>", "(e.g. `sh webui.sh --api`)": "(np. `sh webui.sh --api`)", "(latest)": "(najnowszy)", + "(Ollama)": "", "{{ models }}": "{{ modele }}", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "{{COUNT}} odpowiedzi", @@ -68,6 +69,8 @@ "Already have an account?": "Czy masz już konto?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "Zawsze", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "Niesamowite", "an assistant": "asystent", "Analyzed": "Przeanalizowane", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "Domyślne propozycje wpisów", "Default to 389 or 636 if TLS is enabled": "Domyślnie użyj 389 lub 636, jeśli TLS jest włączony", "Default to ALL": "Domyślne dla wszystkich", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "Domyślna rola użytkownika", "Delete": "Usuń", "Delete a model": "Usuń model", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "Opisz swoją bazę wiedzy i cele", "Description": "Opis", "Didn't fully follow instructions": "Nie wykonał w pełni instrukcji", + "Direct": "", "Direct Connections": "Połączenia bezpośrednie", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "Połączenia bezpośrednie umożliwiają użytkownikom łączenie się z własnymi końcówkami API kompatybilnymi z OpenAI.", "Direct Connections settings updated": "Ustawienia połączeń bezpośrednich zaktualizowane", @@ -314,6 +319,8 @@ "Dive into knowledge": "Zanurz się w wiedzy", "Do not install functions from sources you do not fully trust.": "Nie instaluj funkcji ze źródeł, którym nie ufasz w pełni.", "Do not install tools from sources you do not fully trust.": "Nie instaluj narzędzi ze źródeł, którym nie ufasz w pełni.", + "Docling": "", + "Docling Server URL required.": "", "Document": "Dokument", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "Wprowadź wielkość bloku", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "Wprowadź opis", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "Wprowadź domeny oddzielone przecinkami (np. example.com, site.org)", @@ -471,6 +479,7 @@ "Export Prompts": "Eksportuj prompty", "Export to CSV": "Eksport do CSV", "Export Tools": "Eksportuj narzędzia", + "External": "", "External Models": "Zewnętrzne modele", "Failed to add file.": "Nie udało się dodać pliku.", "Failed to create API Key.": "Nie udało się wygenerować klucza API.", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "Użyj flagi `--api` podczas uruchamiania stable-diffusion-webui.", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "Informacje", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "Wprowadź polecenia", "Install from Github URL": "Instalacja z adresu URL serwisu Github", "Instant Auto-Send After Voice Transcription": "Automatyczne natychmiastowe wysyłanie po transkrypcji głosowej", @@ -806,6 +816,7 @@ "Presence Penalty": "Kara za obecność", "Previous 30 days": "Ostatnie 30 dni", "Previous 7 days": "Ostatnie 7 dni", + "Private": "", "Profile Image": "Zdjęcie profilowe", "Prompt": "Wprowadź podpowiedź: ", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Prompt (np. podaj ciekawostkę o Imperium Rzymskim)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "Podpowiedź została zaktualizowana pomyślnie.", "Prompts": "Podpowiedzi", "Prompts Access": "Dostęp do podpowiedzi", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "Pobierz \"{{searchValue}}\" z Ollama.com", "Pull a model from Ollama.com": "Pobierz model z Ollama.com", "Query Generation Prompt": "Podpowiedź do generowania zapytań", @@ -979,6 +991,7 @@ "System": "System", "System Instructions": "Instrukcje systemowe", "System Prompt": "Podpowiedź systemowa", + "Tags": "", "Tags Generation": "Generowanie tagów", "Tags Generation Prompt": "Podpowiedź do generowania tagów", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1009,6 +1022,7 @@ "Theme": "Motyw", "Thinking...": "Myślę...", "This action cannot be undone. Do you wish to continue?": "Czy na pewno chcesz kontynuować? Ta akcja nie może zostać cofnięta.", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "To gwarantuje, że Twoje wartościowe rozmowy są bezpiecznie zapisywane w bazie danych backendowej. Dziękujemy!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "To jest funkcja eksperymentalna, może nie działać zgodnie z oczekiwaniami i jest podatna na zmiany w dowolnym momencie.", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "Zawory zaktualizowane pomyślnie", "variable": "zmienna", "variable to have them replaced with clipboard content.": "Zmienna, która ma zostać zastąpiona zawartością schowka.", + "Verify Connection": "", "Version": "Wersja", "Version {{selectedVersion}} of {{totalVersions}}": "Wersja {{selectedVersion}} z {{totalVersions}}", "View Replies": "Wyświetl odpowiedzi", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "Możesz rozmawiać jednocześnie maksymalnie z {{maxCount}} plikiem(i).", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Możesz spersonalizować swoje interakcje z LLM, dodając wspomnienia za pomocą przycisku 'Zarządzaj' poniżej, dzięki czemu będą one bardziej pomocne i dostosowane do Ciebie.", "You cannot upload an empty file.": "Nie możesz przesłać pustego pliku.", - "You do not have permission to access this feature.": "Nie masz uprawnień do korzystania z tej funkcji.", "You do not have permission to upload files": "Nie masz uprawnień do przesyłania plików.", "You do not have permission to upload files.": "Nie masz uprawnień do przesyłania plików.", "You have no archived conversations.": "Nie posiadasz zarchiwizowanych konwersacji.", diff --git a/src/lib/i18n/locales/pt-BR/translation.json b/src/lib/i18n/locales/pt-BR/translation.json index c3cf9ea7f..072b3af39 100644 --- a/src/lib/i18n/locales/pt-BR/translation.json +++ b/src/lib/i18n/locales/pt-BR/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "(por exemplo, `sh webui.sh --api --api-auth username_password`)", "(e.g. `sh webui.sh --api`)": "(por exemplo, `sh webui.sh --api`)", "(latest)": "(último)", + "(Ollama)": "", "{{ models }}": "{{ models }}", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "", @@ -68,6 +69,8 @@ "Already have an account?": "Já tem uma conta?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "Incrível", "an assistant": "um assistente", "Analyzed": "", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "Sugestões de Prompt Padrão", "Default to 389 or 636 if TLS is enabled": "", "Default to ALL": "Padrão para TODOS", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "Padrão para novos usuários", "Delete": "Excluir", "Delete a model": "Excluir um modelo", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "Descreva sua base de conhecimento e objetivos", "Description": "Descrição", "Didn't fully follow instructions": "Não seguiu completamente as instruções", + "Direct": "", "Direct Connections": "", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", "Direct Connections settings updated": "", @@ -314,6 +319,8 @@ "Dive into knowledge": "Explorar base de conhecimento", "Do not install functions from sources you do not fully trust.": "Não instale funções de fontes que você não confia totalmente.", "Do not install tools from sources you do not fully trust.": "Não instale ferramentas de fontes que você não confia totalmente.", + "Docling": "", + "Docling Server URL required.": "", "Document": "Documento", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "Digite o Tamanho do Chunk", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "Digite a descrição", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "", @@ -471,6 +479,7 @@ "Export Prompts": "Exportar Prompts", "Export to CSV": "Exportar para CSV", "Export Tools": "Exportar Ferramentas", + "External": "", "External Models": "Modelos Externos", "Failed to add file.": "Falha ao adicionar arquivo.", "Failed to create API Key.": "Falha ao criar a Chave API.", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "Incluir a flag `--api` ao executar stable-diffusion-webui", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "Informação", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "Comandos de entrada", "Install from Github URL": "Instalar da URL do Github", "Instant Auto-Send After Voice Transcription": "Envio Automático Instantâneo Após Transcrição de Voz", @@ -806,6 +816,7 @@ "Presence Penalty": "", "Previous 30 days": "Últimos 30 dias", "Previous 7 days": "Últimos 7 dias", + "Private": "", "Profile Image": "Imagem de Perfil", "Prompt": "", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Prompt (por exemplo, Diga-me um fato divertido sobre o Império Romano)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "Prompt atualizado com sucesso", "Prompts": "Prompts", "Prompts Access": "Acessar prompts", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "Obter \"{{searchValue}}\" de Ollama.com", "Pull a model from Ollama.com": "Obter um modelo de Ollama.com", "Query Generation Prompt": "Prompt de Geração de Consulta", @@ -979,6 +991,7 @@ "System": "Sistema", "System Instructions": "Instruções do sistema", "System Prompt": "Prompt do Sistema", + "Tags": "", "Tags Generation": "", "Tags Generation Prompt": "Prompt para geração de Tags", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1009,6 +1022,7 @@ "Theme": "Tema", "Thinking...": "Pensando...", "This action cannot be undone. Do you wish to continue?": "Esta ação não pode ser desfeita. Você deseja continuar?", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Isso garante que suas conversas valiosas sejam salvas com segurança no banco de dados do backend. Obrigado!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "Esta é uma funcionalidade experimental, pode não funcionar como esperado e está sujeita a alterações a qualquer momento.", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "Válvulas atualizadas com sucesso", "variable": "variável", "variable to have them replaced with clipboard content.": "variável para ser substituída pelo conteúdo da área de transferência.", + "Verify Connection": "", "Version": "Versão", "Version {{selectedVersion}} of {{totalVersions}}": "Versão {{selectedVersion}} de {{totalVersions}}", "View Replies": "", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "Você só pode conversar com no máximo {{maxCount}} arquivo(s) de cada vez.", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Você pode personalizar suas interações com LLMs adicionando memórias através do botão 'Gerenciar' abaixo, tornando-as mais úteis e adaptadas a você.", "You cannot upload an empty file.": "Você não pode carregar um arquivo vazio.", - "You do not have permission to access this feature.": "", "You do not have permission to upload files": "", "You do not have permission to upload files.": "Você não tem permissão para fazer upload de arquivos.", "You have no archived conversations.": "Você não tem conversas arquivadas.", diff --git a/src/lib/i18n/locales/pt-PT/translation.json b/src/lib/i18n/locales/pt-PT/translation.json index 9bcb3b7ff..e7e9baa7c 100644 --- a/src/lib/i18n/locales/pt-PT/translation.json +++ b/src/lib/i18n/locales/pt-PT/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "", "(e.g. `sh webui.sh --api`)": "(por exemplo, `sh webui.sh --api`)", "(latest)": "(mais recente)", + "(Ollama)": "", "{{ models }}": "{{ modelos }}", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "", @@ -68,6 +69,8 @@ "Already have an account?": "Já tem uma conta?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "", "an assistant": "um assistente", "Analyzed": "", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "Sugestões de Prompt Padrão", "Default to 389 or 636 if TLS is enabled": "", "Default to ALL": "", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "Função de Utilizador Padrão", "Delete": "Apagar", "Delete a model": "Apagar um modelo", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "", "Description": "Descrição", "Didn't fully follow instructions": "Não seguiu instruções com precisão", + "Direct": "", "Direct Connections": "", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", "Direct Connections settings updated": "", @@ -314,6 +319,8 @@ "Dive into knowledge": "", "Do not install functions from sources you do not fully trust.": "", "Do not install tools from sources you do not fully trust.": "", + "Docling": "", + "Docling Server URL required.": "", "Document": "Documento", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "Escreva o Tamanho do Fragmento", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "", @@ -471,6 +479,7 @@ "Export Prompts": "Exportar Prompts", "Export to CSV": "", "Export Tools": "", + "External": "", "External Models": "Modelos Externos", "Failed to add file.": "", "Failed to create API Key.": "Falha ao criar a Chave da API.", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "Inclua a flag `--api` ao executar stable-diffusion-webui", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "Informação", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "Comandos de entrada", "Install from Github URL": "Instalar a partir do URL do Github", "Instant Auto-Send After Voice Transcription": "Enviar automaticamente depois da transcrição da voz", @@ -806,6 +816,7 @@ "Presence Penalty": "", "Previous 30 days": "Últimos 30 dias", "Previous 7 days": "Últimos 7 dias", + "Private": "", "Profile Image": "Imagem de Perfil", "Prompt": "", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Prompt (ex.: Dê-me um facto divertido sobre o Império Romano)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "", "Prompts": "Prompts", "Prompts Access": "", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "Puxar \"{{searchValue}}\" do Ollama.com", "Pull a model from Ollama.com": "Puxar um modelo do Ollama.com", "Query Generation Prompt": "", @@ -979,6 +991,7 @@ "System": "Sistema", "System Instructions": "", "System Prompt": "Prompt do Sistema", + "Tags": "", "Tags Generation": "", "Tags Generation Prompt": "", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1009,6 +1022,7 @@ "Theme": "Tema", "Thinking...": "A pensar...", "This action cannot be undone. Do you wish to continue?": "", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Isto garante que suas conversas valiosas sejam guardadas com segurança na sua base de dados de backend. Obrigado!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "Isto é um recurso experimental, pode não funcionar conforme o esperado e está sujeito a alterações a qualquer momento.", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "", "variable": "variável", "variable to have them replaced with clipboard content.": "variável para que sejam substituídos pelo conteúdo da área de transferência.", + "Verify Connection": "", "Version": "Versão", "Version {{selectedVersion}} of {{totalVersions}}": "", "View Replies": "", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Você pode personalizar as suas interações com LLMs adicionando memórias através do botão ‘Gerir’ abaixo, tornando-as mais úteis e personalizadas para você.", "You cannot upload an empty file.": "", - "You do not have permission to access this feature.": "", "You do not have permission to upload files": "", "You do not have permission to upload files.": "", "You have no archived conversations.": "Você não tem conversas arquivadas.", diff --git a/src/lib/i18n/locales/ro-RO/translation.json b/src/lib/i18n/locales/ro-RO/translation.json index dce026085..c17bc92c8 100644 --- a/src/lib/i18n/locales/ro-RO/translation.json +++ b/src/lib/i18n/locales/ro-RO/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "(de ex. `sh webui.sh --api --api-auth username_password`)", "(e.g. `sh webui.sh --api`)": "(de ex. `sh webui.sh --api`)", "(latest)": "(ultimul)", + "(Ollama)": "", "{{ models }}": "{{ modele }}", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "", @@ -68,6 +69,8 @@ "Already have an account?": "Deja ai un cont?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "Întotdeauna", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "Uimitor", "an assistant": "un asistent", "Analyzed": "Analizat", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "Sugestii de Prompt Implicite", "Default to 389 or 636 if TLS is enabled": "", "Default to ALL": "", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "Rolul Implicit al Utilizatorului", "Delete": "Șterge", "Delete a model": "Șterge un model", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "", "Description": "Descriere", "Didn't fully follow instructions": "Nu a urmat complet instrucțiunile", + "Direct": "", "Direct Connections": "", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", "Direct Connections settings updated": "", @@ -314,6 +319,8 @@ "Dive into knowledge": "", "Do not install functions from sources you do not fully trust.": "Nu instalați funcții din surse în care nu aveți încredere completă.", "Do not install tools from sources you do not fully trust.": "Nu instalați instrumente din surse în care nu aveți încredere completă.", + "Docling": "", + "Docling Server URL required.": "", "Document": "Document", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "Introduceți Dimensiunea Blocului", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "Introduceți descrierea", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "", @@ -471,6 +479,7 @@ "Export Prompts": "Exportă Prompturile", "Export to CSV": "", "Export Tools": "Exportă Instrumentele", + "External": "", "External Models": "Modele Externe", "Failed to add file.": "Eșec la adăugarea fișierului.", "Failed to create API Key.": "Crearea cheii API a eșuat.", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "Includeți flag-ul `--api` când rulați stable-diffusion-webui", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "Informații", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "Comenzi de intrare", "Install from Github URL": "Instalează de la URL-ul Github", "Instant Auto-Send After Voice Transcription": "Trimitere Automată Instantanee După Transcrierea Vocii", @@ -806,6 +816,7 @@ "Presence Penalty": "", "Previous 30 days": "Ultimele 30 de zile", "Previous 7 days": "Ultimele 7 zile", + "Private": "", "Profile Image": "Imagine de Profil", "Prompt": "", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Prompt (de ex. Spune-mi un fapt amuzant despre Imperiul Roman)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "", "Prompts": "Prompturi", "Prompts Access": "", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "Extrage \"{{searchValue}}\" de pe Ollama.com", "Pull a model from Ollama.com": "Extrage un model de pe Ollama.com", "Query Generation Prompt": "", @@ -979,6 +991,7 @@ "System": "Sistem", "System Instructions": "Instrucțiuni pentru sistem", "System Prompt": "Prompt de Sistem", + "Tags": "", "Tags Generation": "", "Tags Generation Prompt": "Generarea de Etichete Prompt", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1009,6 +1022,7 @@ "Theme": "Temă", "Thinking...": "Gândește...", "This action cannot be undone. Do you wish to continue?": "Această acțiune nu poate fi anulată. Doriți să continuați?", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Acest lucru asigură că conversațiile dvs. valoroase sunt salvate în siguranță în baza de date a backend-ului dvs. Mulțumim!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "Aceasta este o funcție experimentală, poate să nu funcționeze așa cum vă așteptați și este supusă schimbării în orice moment.", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "Valve actualizate cu succes", "variable": "variabilă", "variable to have them replaced with clipboard content.": "variabilă pentru a fi înlocuite cu conținutul clipboard-ului.", + "Verify Connection": "", "Version": "Versiune", "Version {{selectedVersion}} of {{totalVersions}}": "Versiunea {{selectedVersion}} din {{totalVersions}}", "View Replies": "Vezi răspunsurile", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "Puteți discuta cu un număr maxim de {{maxCount}} fișier(e) simultan.", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Puteți personaliza interacțiunile dvs. cu LLM-urile adăugând amintiri prin butonul 'Gestionează' de mai jos, făcându-le mai utile și adaptate la dvs.", "You cannot upload an empty file.": "Nu poți încărca un fișier gol.", - "You do not have permission to access this feature.": "", "You do not have permission to upload files": "", "You do not have permission to upload files.": "", "You have no archived conversations.": "Nu aveți conversații arhivate.", diff --git a/src/lib/i18n/locales/ru-RU/translation.json b/src/lib/i18n/locales/ru-RU/translation.json index 6213f55a7..e3d238234 100644 --- a/src/lib/i18n/locales/ru-RU/translation.json +++ b/src/lib/i18n/locales/ru-RU/translation.json @@ -4,9 +4,10 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "(например, `sh webui.sh --api --api-auth username_password`)", "(e.g. `sh webui.sh --api`)": "(например, `sh webui.sh --api`)", "(latest)": "(последняя)", + "(Ollama)": "", "{{ models }}": "{{ модели }}", - "{{COUNT}} hidden lines": "", - "{{COUNT}} Replies": "", + "{{COUNT}} hidden lines": "{{COUNT}} скрытых строк", + "{{COUNT}} Replies": "{{COUNT}} Ответов", "{{user}}'s Chats": "Чаты {{user}}'а", "{{webUIName}} Backend Required": "Необходимо подключение к серверу {{webUIName}}", "*Prompt node ID(s) are required for image generation": "ID узлов промптов обязательны для генерации изображения", @@ -14,7 +15,7 @@ "A task model is used when performing tasks such as generating titles for chats and web search queries": "Модель задач используется при выполнении таких задач, как генерация заголовков для чатов и поисковых запросов в Интернете", "a user": "пользователь", "About": "О программе", - "Accept autocomplete generation / Jump to prompt variable": "", + "Accept autocomplete generation / Jump to prompt variable": "Принять генерацию автозаполнения / перейти к переменной запроса", "Access": "Доступ", "Access Control": "Контроль доступа", "Accessible to all users": "Доступно всем пользователям", @@ -22,7 +23,7 @@ "Account Activation Pending": "Ожидание активации учетной записи", "Accurate information": "Точная информация", "Actions": "Действия", - "Activate": "", + "Activate": "Активировать", "Activate this command by typing \"/{{COMMAND}}\" to chat input.": "Активируйте эту команду, набрав \"/{{COMMAND}}\" для ввода в чате.", "Active Users": "Активные пользователи", "Add": "Добавить", @@ -38,10 +39,10 @@ "Add Group": "Добавить группу", "Add Memory": "Добавить воспоминание", "Add Model": "Добавить модель", - "Add Reaction": "", + "Add Reaction": "Добавить реакцию", "Add Tag": "Добавить тег", "Add Tags": "Добавить теги", - "Add text content": "", + "Add text content": "Добавить текстовый контент", "Add User": "Добавить пользователя", "Add User Group": "Добавить группу пользователей", "Adjusting these settings will apply changes universally to all users.": "Изменения в этих настройках будут применены для всех пользователей.", @@ -52,10 +53,10 @@ "Admins have access to all tools at all times; users need tools assigned per model in the workspace.": "Администраторы всегда имеют доступ ко всем инструментам; пользователям нужны инструменты, назначенные для каждой модели в рабочем пространстве.", "Advanced Parameters": "Расширенные Параметры", "Advanced Params": "Расширенные параметры", - "All": "", + "All": "Все", "All Documents": "Все документы", "All models deleted successfully": "Все модели успешно удалены", - "Allow Chat Controls": "", + "Allow Chat Controls": "Разрешить управление чатом", "Allow Chat Delete": "Разрешить удаление чата", "Allow Chat Deletion": "Разрешить удаление чата", "Allow Chat Edit": "Разрешить редактирование чата", @@ -64,21 +65,23 @@ "Allow Temporary Chat": "Разрешить временные чаты", "Allow User Location": "Разрешить доступ к местоположению пользователя", "Allow Voice Interruption in Call": "Разрешить прерывание голоса во время вызова", - "Allowed Endpoints": "", + "Allowed Endpoints": "Разрешенные энд-поинты", "Already have an account?": "У вас уже есть учетная запись?", - "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", - "Always": "", + "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "Альтернатива top_p и направлена на обеспечение баланса качества и разнообразия. Параметр p представляет минимальную вероятность того, что токен будет рассмотрен, по сравнению с вероятностью наиболее вероятного токена. Например, при p=0,05 и наиболее вероятном значении токена, имеющем вероятность 0,9, логиты со значением менее 0,045 отфильтровываются.", + "Always": "Всегда", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "Удивительный", "an assistant": "ассистент", - "Analyzed": "", - "Analyzing...": "", + "Analyzed": "Проанализировано", + "Analyzing...": "Анализирую", "and": "и", - "and {{COUNT}} more": "", + "and {{COUNT}} more": "и еще {{COUNT}}", "and create a new shared link.": "и создайте новую общую ссылку.", "API Base URL": "Базовый адрес API", "API Key": "Ключ API", "API Key created.": "Ключ API создан.", - "API Key Endpoint Restrictions": "", + "API Key Endpoint Restrictions": "Ограничения на энд-поинт API", "API keys": "Ключи API", "Application DN": "DN приложения", "Application DN Password": "DN-пароль приложения", @@ -88,24 +91,24 @@ "Archive All Chats": "Архивировать все чаты", "Archived Chats": "Архив чатов", "archived-chat-export": "", - "Are you sure you want to clear all memories? This action cannot be undone.": "", - "Are you sure you want to delete this channel?": "", - "Are you sure you want to delete this message?": "", + "Are you sure you want to clear all memories? This action cannot be undone.": "Вы уверены, что хотите удалить все воспоминания? Это действие невозможно отменить.", + "Are you sure you want to delete this channel?": "Вы уверены, что хотите удалить этот канал?", + "Are you sure you want to delete this message?": "Вы уверены, что хотите удалить это сообщение?", "Are you sure you want to unarchive all archived chats?": "Вы уверены, что хотите разархивировать все заархивированные чаты?", "Are you sure?": "Вы уверены?", "Arena Models": "Модели арены", "Artifacts": "Артефакты", - "Ask": "", + "Ask": "Спросить", "Ask a question": "Задать вопрос", "Assistant": "Ассистент", - "Attach file from knowledge": "", + "Attach file from knowledge": "Прикрепите файл из знания", "Attention to detail": "Внимание к деталям", - "Attribute for Mail": "", + "Attribute for Mail": "Атрибут для почты", "Attribute for Username": "Атрибут для имени пользователя", "Audio": "Аудио", "August": "Август", "Authenticate": "Аутентификация", - "Authentication": "", + "Authentication": "Аутентификация", "Auto-Copy Response to Clipboard": "Автоматическое копирование ответа в буфер обмена", "Auto-playback response": "Автоматическое воспроизведение ответа", "Autocomplete Generation": "Генерация автозаполнения", @@ -116,7 +119,7 @@ "AUTOMATIC1111 Base URL is required.": "Необходим базовый адрес URL AUTOMATIC1111.", "Available list": "Список доступных", "available!": "доступно!", - "Awful": "", + "Awful": "Ужасно", "Azure AI Speech": "Azure AI Speech", "Azure Region": "Регион Azure", "Back": "Назад", @@ -126,27 +129,27 @@ "Batch Size (num_batch)": "Размер партии (num_batch)", "before": "до", "Being lazy": "Лениво", - "Beta": "", - "Bing Search V7 Endpoint": "Конечная точка поиска Bing V7", + "Beta": "Бета", + "Bing Search V7 Endpoint": "Энд-поинт поиска Bing V7", "Bing Search V7 Subscription Key": "Ключ API Bing Search V7", - "Bocha Search API Key": "", - "Boosting or penalizing specific tokens for constrained responses. Bias values will be clamped between -100 and 100 (inclusive). (Default: none)": "", + "Bocha Search API Key": "Ключ API поиска Bocha", + "Boosting or penalizing specific tokens for constrained responses. Bias values will be clamped between -100 and 100 (inclusive). (Default: none)": "Увеличение или отмена определенных токенов за ограниченные ответы. Значения смещения будут находиться в диапазоне от -100 до 100 (включительно). (По умолчанию: ничего)", "Brave Search API Key": "Ключ API поиска Brave", - "By {{name}}": "", - "Bypass Embedding and Retrieval": "", + "By {{name}}": "От {{name}}", + "Bypass Embedding and Retrieval": "Обход встраивания и извлечения данных", "Bypass SSL verification for Websites": "Обход проверки SSL для веб-сайтов", - "Calendar": "", + "Calendar": "Календарь", "Call": "Вызов", "Call feature is not supported when using Web STT engine": "Функция вызова не поддерживается при использовании Web STT (распознавание речи) движка", "Camera": "Камера", "Cancel": "Отменить", "Capabilities": "Возможности", - "Capture": "", - "Certificate Path": "", + "Capture": "Захват", + "Certificate Path": "Путь к сертификату", "Change Password": "Изменить пароль", - "Channel Name": "", - "Channels": "", - "Character": "", + "Channel Name": "Название канала", + "Channels": "Каналы", + "Character": "Персонаж", "Character limit for autocomplete generation input": "Ограничение количества символов для ввода при генерации автозаполнения", "Chart new frontiers": "Наметьте новые границы", "Chat": "Чат", @@ -167,14 +170,14 @@ "Ciphers": "Шифры", "Citation": "Цитирование", "Clear memory": "Очистить воспоминания", - "Clear Memory": "", + "Clear Memory": "Очисить память", "click here": "кликните сюда", "Click here for filter guides.": "Нажмите здесь, чтобы просмотреть руководства по фильтрам.", "Click here for help.": "Нажмите здесь для получения помощи.", "Click here to": "Нажмите здесь, чтобы", "Click here to download user import template file.": "Нажмите здесь, чтобы загрузить файл шаблона импорта пользователя", - "Click here to learn more about faster-whisper and see the available models.": "", - "Click here to see available models.": "", + "Click here to learn more about faster-whisper and see the available models.": "Нажмите здесь, чтобы узнать больше о faster-whisper и ознакомиться с доступными моделями.", + "Click here to see available models.": "Нажмите здесь, чтобы ознакомиться с доступными моделями.", "Click here to select": "Нажмите здесь, чтобы выбрать", "Click here to select a csv file.": "Нажмите здесь, чтобы выбрать csv-файл.", "Click here to select a py file.": "Нажмите здесь, чтобы выбрать py-файл", @@ -183,22 +186,22 @@ "Click on the user role button to change a user's role.": "Нажмите кнопку роли пользователя, чтобы изменить роль пользователя.", "Clipboard write permission denied. Please check your browser settings to grant the necessary access.": "В разрешении на запись в буфер обмена отказано. Пожалуйста, проверьте настройки своего браузера, чтобы предоставить необходимый доступ.", "Clone": "Клонировать", - "Clone Chat": "", - "Clone of {{TITLE}}": "", + "Clone Chat": "Клонировать чат", + "Clone of {{TITLE}}": "Клон {{TITLE}}", "Close": "Закрыть", "Code execution": "Выполнение кода", - "Code Execution": "", - "Code Execution Engine": "", - "Code Execution Timeout": "", + "Code Execution": "Выполнение кода", + "Code Execution Engine": "Механизм выполнения кода", + "Code Execution Timeout": "Время ожидания выполнения кода", "Code formatted successfully": "Код успешно отформатирован", - "Code Interpreter": "", - "Code Interpreter Engine": "", - "Code Interpreter Prompt Template": "", - "Collapse": "", + "Code Interpreter": "Интерпретатор кода", + "Code Interpreter Engine": "Механизм интерпретатора кода", + "Code Interpreter Prompt Template": "Шаблон промпта интерпретатора кода", + "Collapse": "Свернуть", "Collection": "Коллекция", "Color": "Цвет", "ComfyUI": "ComfyUI", - "ComfyUI API Key": "", + "ComfyUI API Key": "ComfyUI ключ API", "ComfyUI Base URL": "Базовый адрес URL ComfyUI", "ComfyUI Base URL is required.": "Необходим базовый адрес URL ComfyUI.", "ComfyUI Workflow": "ComfyUI Workflow", @@ -210,22 +213,22 @@ "Confirm": "Подтвердить", "Confirm Password": "Подтвердите пароль", "Confirm your action": "Подтвердите свое действие", - "Confirm your new password": "", - "Connect to your own OpenAI compatible API endpoints.": "", + "Confirm your new password": "Подтвердите свой новый пароль", + "Connect to your own OpenAI compatible API endpoints.": "Подключитесь к своим собственным энд-поинтам API, совместимым с OpenAI.", "Connections": "Соединение", - "Constrains effort on reasoning for reasoning models. Only applicable to reasoning models from specific providers that support reasoning effort.": "", + "Constrains effort on reasoning for reasoning models. Only applicable to reasoning models from specific providers that support reasoning effort.": "Ограничивает усилия по обоснованию для моделей обоснования. Применимо только к моделям обоснования от конкретных поставщиков, которые поддерживают усилия по обоснованию.", "Contact Admin for WebUI Access": "Обратитесь к администратору для получения доступа к WebUI", "Content": "Содержание", - "Content Extraction Engine": "", + "Content Extraction Engine": "Механизм извлечения контента", "Context Length": "Длина контекста", "Continue Response": "Продолжить ответ", "Continue with {{provider}}": "Продолжить с {{provider}}", "Continue with Email": "Продолжить с Email", "Continue with LDAP": "Продолжить с 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.": "Управляйте разделением текста сообщения для запросов TTS. 'Пунктуация' разделяет на предложения, 'абзацы' - разделяет на абзацы, а 'нет' сохраняет сообщение в виде одной строки.", - "Control the repetition of token sequences in the generated text. A higher value (e.g., 1.5) will penalize repetitions more strongly, while a lower value (e.g., 1.1) will be more lenient. At 1, it is disabled.": "", + "Control the repetition of token sequences in the generated text. A higher value (e.g., 1.5) will penalize repetitions more strongly, while a lower value (e.g., 1.1) will be more lenient. At 1, it is disabled.": "Контролируйте повторение последовательностей символов в сгенерированном тексте. Более высокое значение (например, 1.5) будет более строгим наказанием за повторения, в то время как более низкое значение (например, 1.1) будет более мягким. При значении 1 оно отключено.", "Controls": "Управление", - "Controls the balance between coherence and diversity of the output. A lower value will result in more focused and coherent text.": "", + "Controls the balance between coherence and diversity of the output. A lower value will result in more focused and coherent text.": "Контролирует баланс между согласованностью и разнообразием результатов. Меньшее значение приведет к получению более сфокусированного и связного текста.", "Copied": "Скопировано", "Copied shared chat URL to clipboard!": "Копирование в буфер обмена выполнено успешно!", "Copied to clipboard": "Скопировано в буфер обмена", @@ -235,13 +238,13 @@ "Copy Link": "Копировать ссылку", "Copy to clipboard": "Скопировать в буфер обмена", "Copying to clipboard was successful!": "Копирование в буфер обмена прошло успешно!", - "CORS must be properly configured by the provider to allow requests from Open WebUI.": "", + "CORS must be properly configured by the provider to allow requests from Open WebUI.": "CORS должен быть должным образом настроен провайдером, чтобы разрешать запросы из Open WebUI.", "Create": "Создать", "Create a knowledge base": "Создайте базу знаний", "Create a model": "Создание модели", "Create Account": "Создать аккаунт", "Create Admin Account": "Создать Аккаунт Администратора", - "Create Channel": "", + "Create Channel": "Создать Канал", "Create Group": "Создать Группу", "Create Knowledge": "Создать Знания", "Create new key": "Создать новый ключ", @@ -250,18 +253,18 @@ "Created At": "Создано", "Created by": "Создано", "CSV Import": "Импорт CSV", - "Ctrl+Enter to Send": "", + "Ctrl+Enter to Send": "Ctrl+Enter чтобы отправить", "Current Model": "Текущая модель", "Current Password": "Текущий пароль", "Custom": "Пользовательский", - "Danger Zone": "", + "Danger Zone": "Опасная зона", "Dark": "Темная", "Database": "База данных", "December": "Декабрь", "Default": "По умолчанию", "Default (Open AI)": "По умолчанию (Open AI)", "Default (SentenceTransformers)": "По умолчанию (SentenceTransformers)", - "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.": "Режим по умолчанию работает с более широким спектром моделей, вызывая инструменты один раз перед выполнением. Режим Native использует встроенные в модель возможности вызова инструментов, но требует, чтобы модель изначально поддерживала эту функцию.", "Default Model": "Модель по умолчанию", "Default model updated": "Модель по умолчанию обновлена", "Default Models": "Модели по умолчанию", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "Предложения промптов по умолчанию", "Default to 389 or 636 if TLS is enabled": "По умолчанию 389 или 636, если TLS включен.", "Default to ALL": "По умолчанию ВСЕ", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "Роль пользователя по умолчанию", "Delete": "Удалить", "Delete a model": "Удалить модель", @@ -280,27 +284,28 @@ "Delete chat?": "Удалить чат?", "Delete folder?": "Удалить папку?", "Delete function?": "Удалить функцию?", - "Delete Message": "", - "Delete message?": "", + "Delete Message": "Удалить сообщение", + "Delete message?": "Удалить сообщение?", "Delete prompt?": "Удалить промпт?", "delete this link": "удалить эту ссылку", "Delete tool?": "Удалить этот инструмент?", "Delete User": "Удалить Пользователя", "Deleted {{deleteModelTag}}": "Удалено {{deleteModelTag}}", "Deleted {{name}}": "Удалено {{name}}", - "Deleted User": "", + "Deleted User": "Удалённый пользователь", "Describe your knowledge base and objectives": "Опишите свою базу знаний и цели", "Description": "Описание", "Didn't fully follow instructions": "Не полностью следует инструкциям", - "Direct Connections": "", - "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", - "Direct Connections settings updated": "", + "Direct": "", + "Direct Connections": "Прямые подключения", + "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "Прямые подключения позволяют пользователям подключаться к своим собственным конечным точкам API, совместимым с OpenAI.", + "Direct Connections settings updated": "Настройки прямых подключений обновлены", "Disabled": "Отключено", "Discover a function": "Найти функцию", "Discover a model": "Найти модель", "Discover a prompt": "Найти промпт", "Discover a tool": "Найти инструмент", - "Discover how to use Open WebUI and seek support from the community.": "", + "Discover how to use Open WebUI and seek support from the community.": "Узнайте, как использовать Open WebUI, и обратитесь за поддержкой к сообществу.", "Discover wonders": "Откройте для себя чудеса", "Discover, download, and explore custom functions": "Находите, загружайте и исследуйте пользовательские функции", "Discover, download, and explore custom prompts": "Находите, загружайте и исследуйте пользовательские промпты", @@ -314,36 +319,38 @@ "Dive into knowledge": "Погрузитесь в знания", "Do not install functions from sources you do not fully trust.": "Не устанавливайте функции из источников, которым вы не полностью доверяете.", "Do not install tools from sources you do not fully trust.": "Не устанавливайте инструменты из источников, которым вы не полностью доверяете.", + "Docling": "", + "Docling Server URL required.": "", "Document": "Документ", - "Document Intelligence": "", - "Document Intelligence endpoint and key required.": "", + "Document Intelligence": "Интеллектуальный анализ документов", + "Document Intelligence endpoint and key required.": "Требуется энд-поинт анализа документов и ключ.", "Documentation": "Документация", "Documents": "Документы", "does not make any external connections, and your data stays securely on your locally hosted server.": "не устанавливает никаких внешних соединений, и ваши данные надежно хранятся на вашем локальном сервере.", - "Domain Filter List": "", + "Domain Filter List": "Список доменных фильтров", "Don't have an account?": "У вас нет аккаунта?", "don't install random functions from sources you don't trust.": "не устанавливайте случайные функции из источников, которым вы не доверяете.", "don't install random tools from sources you don't trust.": "не устанавливайте случайные инструменты из источников, которым вы не доверяете.", "Don't like the style": "Не нравится стиль", "Done": "Готово", "Download": "Загрузить", - "Download as SVG": "", + "Download as SVG": "Загрузить как SVG", "Download canceled": "Загрузка отменена", "Download Database": "Загрузить базу данных", "Drag and drop a file to upload or select a file to view": "Перетащите файл для загрузки или выберите файл для просмотра.", "Draw": "Рисовать", "Drop any files here to add to the conversation": "Перетащите сюда файлы, чтобы добавить их в разговор", "e.g. '30s','10m'. Valid time units are 's', 'm', 'h'.": "например, '30s','10m'. Допустимые единицы времени: 's', 'm', 'h'.", - "e.g. 60": "", - "e.g. A filter to remove profanity from text": "", - "e.g. My Filter": "", - "e.g. My Tools": "", - "e.g. my_filter": "", - "e.g. my_tools": "", - "e.g. Tools for performing various operations": "", + "e.g. 60": "например, 60", + "e.g. A filter to remove profanity from text": "например, фильтр для удаления ненормативной лексики из текста", + "e.g. My Filter": "например, мой фильтр", + "e.g. My Tools": "например, мой инструмент", + "e.g. my_filter": "например, мой_фильтр", + "e.g. my_tools": "например, мой_инструмент", + "e.g. Tools for performing various operations": "например, инструменты для выполнения различных операций", "Edit": "Редактировать", "Edit Arena Model": "Изменить модель арены", - "Edit Channel": "", + "Edit Channel": "Редактировать канал", "Edit Connection": "Изменить соединение", "Edit Default Permissions": "Изменить разрешения по умолчанию", "Edit Memory": "Редактировать воспоминание", @@ -352,60 +359,61 @@ "ElevenLabs": "ElevenLabs", "Email": "Электронная почта", "Embark on adventures": "Отправляйтесь в приключения", - "Embedding": "", + "Embedding": "Встраивание", "Embedding Batch Size": "Размер пакета для встраивания", "Embedding Model": "Модель встраивания", "Embedding Model Engine": "Движок модели встраивания", "Embedding model set to \"{{embedding_model}}\"": "Модель встраивания установлена в \"{{embedding_model}}\"", - "Enable API Key": "", + "Enable API Key": "Включить ключ API", "Enable autocomplete generation for chat messages": "Включить генерацию автозаполнения для сообщений чата", - "Enable Code Execution": "", - "Enable Code Interpreter": "", + "Enable Code Execution": "Включить выполнение кода", + "Enable Code Interpreter": "Включить интерпретатор кода", "Enable Community Sharing": "Включить совместное использование", "Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "Включите блокировку памяти (mlock), чтобы предотвратить выгрузку данных модели из ОЗУ. Эта опция блокирует рабочий набор страниц модели в оперативной памяти, гарантируя, что они не будут выгружены на диск. Это может помочь поддерживать производительность, избегая ошибок страниц и обеспечивая быстрый доступ к данным.", "Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "Включите отображение памяти (mmap), чтобы загрузить данные модели. Эта опция позволяет системе использовать дисковое хранилище в качестве расширения оперативной памяти, обрабатывая дисковые файлы так, как если бы они находились в оперативной памяти. Это может улучшить производительность модели за счет более быстрого доступа к данным. Однако он может работать некорректно со всеми системами и занимать значительный объем дискового пространства.", "Enable Message Rating": "Разрешить оценку ответов", - "Enable Mirostat sampling for controlling perplexity.": "", + "Enable Mirostat sampling for controlling perplexity.": "Включите выборку Mirostat для контроля путаницы.", "Enable New Sign Ups": "Разрешить новые регистрации", "Enabled": "Включено", "Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Убедитесь, что ваш CSV-файл включает в себя 4 столбца в следующем порядке: Имя, Электронная почта, Пароль, Роль.", "Enter {{role}} message here": "Введите сообщение {{role}} здесь", "Enter a detail about yourself for your LLMs to recall": "Введите детали о себе, чтобы LLMs могли запомнить", "Enter api auth string (e.g. username:password)": "Введите строку авторизации api (например, username:password)", - "Enter Application DN": "", - "Enter Application DN Password": "", - "Enter Bing Search V7 Endpoint": "", - "Enter Bing Search V7 Subscription Key": "", - "Enter Bocha Search API Key": "", + "Enter Application DN": "Введите ND приложения", + "Enter Application DN Password": "Введите пароль DN приложения", + "Enter Bing Search V7 Endpoint": "Введите V7 энд-поинт поиска Bing", + "Enter Bing Search V7 Subscription Key": "Введите ключ подписки энд-поинта поиска Bing", + "Enter Bocha Search API Key": "Введите APi ключ поиска Bocha", "Enter Brave Search API Key": "Введите ключ API поиска Brave", "Enter certificate path": "Введите путь к сертификату", "Enter CFG Scale (e.g. 7.0)": "Введите CFG Scale (например, 7.0)", "Enter Chunk Overlap": "Введите перекрытие фрагмента", "Enter Chunk Size": "Введите размер фрагмента", - "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", + "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "Введите пары \"token:bias_value\", разделенные запятыми (пример: 5432:100, 413:-100).", "Enter description": "Введите описание", - "Enter Document Intelligence Endpoint": "", - "Enter Document Intelligence Key": "", - "Enter domains separated by commas (e.g., example.com,site.org)": "", - "Enter Exa API Key": "", + "Enter Docling Server URL": "", + "Enter Document Intelligence Endpoint": "Введите энд-поинт анализа документов", + "Enter Document Intelligence Key": "Введите ключ для анализа документов", + "Enter domains separated by commas (e.g., example.com,site.org)": "Введите домены, разделенные запятыми (например, example.com,site.org)", + "Enter Exa API Key": "Введите ключ API для Exa", "Enter Github Raw URL": "Введите необработанный URL-адрес Github", "Enter Google PSE API Key": "Введите ключ API Google PSE", "Enter Google PSE Engine Id": "Введите Id движка Google PSE", "Enter Image Size (e.g. 512x512)": "Введите размер изображения (например, 512x512)", - "Enter Jina API Key": "", - "Enter Jupyter Password": "", - "Enter Jupyter Token": "", - "Enter Jupyter URL": "", - "Enter Kagi Search API Key": "", - "Enter Key Behavior": "", + "Enter Jina API Key": "Введите ключ API Jina", + "Enter Jupyter Password": "Введите пароль Jupyter", + "Enter Jupyter Token": "Введите токен Jupyter", + "Enter Jupyter URL": "Введите URL Jupyter", + "Enter Kagi Search API Key": "Введите ключ API поиска Kagi", + "Enter Key Behavior": "Введите ключ поведения", "Enter language codes": "Введите коды языков", "Enter Model ID": "Введите ID модели", "Enter model tag (e.g. {{modelTag}})": "Введите тег модели (например, {{modelTag}})", - "Enter Mojeek Search API Key": "", + "Enter Mojeek Search API Key": "Введите ключ API поиска Mojeek", "Enter Number of Steps (e.g. 50)": "Введите количество шагов (например, 50)", - "Enter Perplexity API Key": "", - "Enter proxy URL (e.g. https://user:password@host:port)": "", - "Enter reasoning effort": "", + "Enter Perplexity API Key": "Введите ключ API Perplexity", + "Enter proxy URL (e.g. https://user:password@host:port)": "Введите URL прокси-сервера (например, https://user:password@host:port)", + "Enter reasoning effort": "Введите причинность рассудения", "Enter Sampler (e.g. Euler a)": "Введите сэмплер (например, Euler a)", "Enter Scheduler (e.g. Karras)": "Введите планировщик (например, Karras)", "Enter Score": "Введите оценку", @@ -413,8 +421,8 @@ "Enter SearchApi Engine": "Введите SearchApi движок", "Enter Searxng Query URL": "Введите URL-адрес запроса Searxng", "Enter Seed": "Введите Seed", - "Enter SerpApi API Key": "", - "Enter SerpApi Engine": "", + "Enter SerpApi API Key": "Введите ключ API SerpApi", + "Enter SerpApi Engine": "Введите движок SerpApi", "Enter Serper API Key": "Введите ключ API Serper", "Enter Serply API Key": "Введите ключ API Serply", "Enter Serpstack API Key": "Введите ключ API Serpstack", @@ -424,40 +432,40 @@ "Enter stop sequence": "Введите последовательность остановки", "Enter system prompt": "Введите системный промпт", "Enter Tavily API Key": "Введите ключ API Tavily", - "Enter the public URL of your WebUI. This URL will be used to generate links in the notifications.": "", + "Enter the public URL of your WebUI. This URL will be used to generate links in the notifications.": "Введите общедоступный URL вашего WebUI. Этот URL будет использоваться для создания ссылок в уведомлениях.", "Enter Tika Server URL": "Введите URL-адрес сервера Tika", - "Enter timeout in seconds": "", - "Enter to Send": "", + "Enter timeout in seconds": "Введите время ожидания в секундах", + "Enter to Send": "Enter для отправки", "Enter Top K": "Введите Top K", "Enter URL (e.g. http://127.0.0.1:7860/)": "Введите URL-адрес (например, http://127.0.0.1:7860/)", "Enter URL (e.g. http://localhost:11434)": "Введите URL-адрес (например, http://localhost:11434)", - "Enter your current password": "", + "Enter your current password": "Введите ваш текущий пароль", "Enter Your Email": "Введите вашу электронную почту", "Enter Your Full Name": "Введите ваше полное имя", "Enter your message": "Введите ваше сообщение", - "Enter your new password": "", + "Enter your new password": "Введите свой новый пароль", "Enter Your Password": "Введите ваш пароль", "Enter Your Role": "Введите вашу роль", - "Enter Your Username": "", - "Enter your webhook URL": "", + "Enter Your Username": "Введите свое имя пользователя", + "Enter your webhook URL": "Введите URL вашего веб-хука", "Error": "Ошибка", - "ERROR": "", - "Error accessing Google Drive: {{error}}": "", - "Error uploading file: {{error}}": "", + "ERROR": "ОШИБКА", + "Error accessing Google Drive: {{error}}": "Ошибка доступа к Google Drive: {{error}}", + "Error uploading file: {{error}}": "Ошибка загрузки файла: {{error}}", "Evaluations": "Оценки", - "Exa API Key": "", - "Example: (&(objectClass=inetOrgPerson)(uid=%s))": "", - "Example: ALL": "", - "Example: mail": "", - "Example: ou=users,dc=foo,dc=example": "", - "Example: sAMAccountName or uid or userPrincipalName": "", - "Exceeded the number of seats in your license. Please contact support to increase the number of seats.": "", + "Exa API Key": "Ключ API для Exa", + "Example: (&(objectClass=inetOrgPerson)(uid=%s))": "Например: (&(objectClass=inetOrgPerson)(uid=%s))", + "Example: ALL": "Например: ALL", + "Example: mail": "Example: mail", + "Example: ou=users,dc=foo,dc=example": "Например: ou=users,dc=foo,dc=example", + "Example: sAMAccountName or uid or userPrincipalName": "Например: sAMAccountName или uid или userPrincipalName", + "Exceeded the number of seats in your license. Please contact support to increase the number of seats.": "Превышено количество мест в вашей лицензии. Пожалуйста, свяжитесь со службой поддержки, чтобы увеличить количество мест.", "Exclude": "Исключать", - "Execute code for analysis": "", - "Expand": "", + "Execute code for analysis": "Выполнить код для анализа", + "Expand": "Расширить", "Experimental": "Экспериментальное", - "Explain": "", - "Explain this section to me in more detail": "", + "Explain": "Объяснить", + "Explain this section to me in more detail": "Объясни мне этот раздел более подробно", "Explore the cosmos": "Исследуйте космос", "Export": "Экспорт", "Export All Archived Chats": "Экспортировать ВСЕ Архивированные Чаты", @@ -467,20 +475,21 @@ "Export Config to JSON File": "Экспорт конфигурации в JSON-файл", "Export Functions": "Экспортировать функции", "Export Models": "Экспортировать модели", - "Export Presets": "", + "Export Presets": "Экспортировать предустановок", "Export Prompts": "Экспортировать промпты", - "Export to CSV": "", + "Export to CSV": "Экспортировать в CSV", "Export Tools": "Экспортировать инструменты", + "External": "", "External Models": "Внешние модели", - "Failed to add file.": "", + "Failed to add file.": "Не удалось добавить файл.", "Failed to create API Key.": "Не удалось создать ключ API.", - "Failed to fetch models": "", + "Failed to fetch models": "Не удалось получить модели", "Failed to read clipboard contents": "Не удалось прочитать содержимое буфера обмена", - "Failed to save models configuration": "", + "Failed to save models configuration": "Не удалось сохранить конфигурацию моделей", "Failed to update settings": "Не удалось обновить настройки", "Failed to upload file.": "Не удалось загрузить файл.", - "Features": "", - "Features Permissions": "", + "Features": "Функции", + "Features Permissions": "Разрешения для функций", "February": "Февраль", "Feedback History": "История отзывов", "Feedbacks": "Отзывы", @@ -492,7 +501,7 @@ "File not found.": "Файл не найден.", "File removed successfully.": "Файл успешно удален.", "File size should not exceed {{maxSize}} MB.": "Размер файла не должен превышать {{maxSize}} МБ.", - "File uploaded successfully": "", + "File uploaded successfully": "Файл успешно загружен", "Files": "Файлы", "Filter is now globally disabled": "Фильтр теперь отключен глобально", "Filter is now globally enabled": "Фильтр теперь включен глобально", @@ -509,9 +518,9 @@ "Form": "Форма", "Format your variables using brackets like this:": "Отформатируйте переменные, используя такие : скобки", "Frequency Penalty": "Штраф за частоту", - "Full Context Mode": "", + "Full Context Mode": "Режим полного контекста", "Function": "Функция", - "Function Calling": "", + "Function Calling": "Вызов функции", "Function created successfully": "Функция успешно создана", "Function deleted successfully": "Функция успешно удалена", "Function Description": "Описание Функции", @@ -525,50 +534,50 @@ "Functions allow arbitrary code execution.": "Функции позволяют выполнять произвольный код.", "Functions imported successfully": "Функции успешно импортированы", "Gemini": "", - "Gemini API Config": "", - "Gemini API Key is required.": "", + "Gemini API Config": "Конфигурация Gemini API", + "Gemini API Key is required.": "Требуется API ключ для Gemini.", "General": "Общее", - "Generate an image": "", + "Generate an image": "Сгенерировать изображение", "Generate Image": "Сгенерировать изображение", - "Generate prompt pair": "", + "Generate prompt pair": "Сгенерировать пару запросов", "Generating search query": "Генерация поискового запроса", - "Get started": "", - "Get started with {{WEBUI_NAME}}": "", + "Get started": "Давайте начнём", + "Get started with {{WEBUI_NAME}}": "Давайте начнём с {{WEBUI_NAME}}", "Global": "Глобально", "Good Response": "Хороший ответ", "Google Drive": "", "Google PSE API Key": "Ключ API Google PSE", "Google PSE Engine Id": "Id движка Google PSE", - "Group created successfully": "", - "Group deleted successfully": "", - "Group Description": "", - "Group Name": "", - "Group updated successfully": "", - "Groups": "", + "Group created successfully": "Группа успешно создана", + "Group deleted successfully": "Группа успешно удалена", + "Group Description": "Описание группы", + "Group Name": "Название группы", + "Group updated successfully": "Группа успешно обновлена", + "Groups": "Группы", "Haptic Feedback": "Тактильная обратная связь", "has no conversations.": "не имеет разговоров.", "Hello, {{name}}": "Привет, {{name}}", "Help": "Помощь", - "Help us create the best community leaderboard by sharing your feedback history!": "", - "Hex Color": "", - "Hex Color - Leave empty for default color": "", + "Help us create the best community leaderboard by sharing your feedback history!": "Помогите нам создать лучшую таблицу лидеров сообщества, поделившись историей своих отзывов!", + "Hex Color": "Цвет Hex", + "Hex Color - Leave empty for default color": "Цвет Hex - оставьте пустым значение цвета по умолчанию", "Hide": "Скрыть", - "Home": "", - "Host": "", + "Home": "Домой", + "Host": "Хост", "How can I help you today?": "Чем я могу помочь вам сегодня?", - "How would you rate this response?": "", + "How would you rate this response?": "Как бы вы оценили этот ответ?", "Hybrid Search": "Гибридная поисковая система", "I acknowledge that I have read and I understand the implications of my action. I am aware of the risks associated with executing arbitrary code and I have verified the trustworthiness of the source.": "Я подтверждаю, что прочитал и осознаю последствия своих действий. Я осознаю риски, связанные с выполнением произвольного кода, и я проверил достоверность источника.", "ID": "", "Ignite curiosity": "Разожгите любопытство", - "Image": "", - "Image Compression": "", - "Image Generation": "", + "Image": "Изображение", + "Image Compression": "Сжатие изображения", + "Image Generation": "Генерация изображений", "Image Generation (Experimental)": "Генерация изображений (Экспериментально)", "Image Generation Engine": "Механизм генерации изображений", - "Image Max Compression Size": "", - "Image Prompt Generation": "", - "Image Prompt Generation Prompt": "", + "Image Max Compression Size": "Максимальный размер сжатия изображения", + "Image Prompt Generation": "Генерация промпта к изображению", + "Image Prompt Generation Prompt": "Промпт для создание промпта изображения", "Image Settings": "Настройки изображения", "Images": "Изображения", "Import Chats": "Импортировать Чаты", @@ -581,30 +590,31 @@ "Include": "Включать", "Include `--api-auth` flag when running stable-diffusion-webui": "Добавьте флаг '--api-auth' при запуске stable-diffusion-webui", "Include `--api` flag when running stable-diffusion-webui": "Добавьте флаг `--api` при запуске stable-diffusion-webui", - "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", + "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "Влияет на то, насколько быстро алгоритм реагирует на обратную связь из сгенерированного текста. Более низкая скорость обучения приведет к более медленной корректировке, в то время как более высокая скорость обучения сделает алгоритм более отзывчивым.", "Info": "Информация", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "Введите команды", "Install from Github URL": "Установка с URL-адреса Github", "Instant Auto-Send After Voice Transcription": "Мгновенная автоматическая отправка после расшифровки голоса", - "Integration": "", + "Integration": "Интеграция", "Interface": "Интерфейс", "Invalid file format.": "Неверный формат файла.", "Invalid Tag": "Недопустимый тег", - "is typing...": "", + "is typing...": "печатает...", "January": "Январь", - "Jina API Key": "", + "Jina API Key": "Ключ API для Jina", "join our Discord for help.": "присоединяйтесь к нашему Discord для помощи.", "JSON": "JSON", "JSON Preview": "Предварительный просмотр JSON", "July": "Июль", "June": "Июнь", - "Jupyter Auth": "", + "Jupyter Auth": "Вход Jupyter", "Jupyter URL": "", "JWT Expiration": "Истечение срока JWT", "JWT Token": "Токен JWT", - "Kagi Search API Key": "", + "Kagi Search API Key": "API ключ поиска Kagi", "Keep Alive": "Поддерживать активность", - "Key": "", + "Key": "Ключ", "Keyboard shortcuts": "Горячие клавиши", "Knowledge": "Знания", "Knowledge Access": "Доступ к Знаниям", @@ -612,24 +622,24 @@ "Knowledge deleted successfully.": "Знания успешно удалены.", "Knowledge reset successfully.": "Знания успешно сброшены.", "Knowledge updated successfully": "Знания успешно обновлены", - "Kokoro.js (Browser)": "", + "Kokoro.js (Browser)": "Kokoro.js (Браузер)", "Kokoro.js Dtype": "", - "Label": "", + "Label": "Пометка", "Landing Page Mode": "Режим Целевой Страницы", "Language": "Язык", "Last Active": "Последний Активный", "Last Modified": "Последнее Изменение", - "Last reply": "", + "Last reply": "Последний Ответ", "LDAP": "", "LDAP server updated": "LDAP сервер обновлен", "Leaderboard": "Таблица Лидеров", "Leave empty for unlimited": "Оставьте пустым для неограниченного", - "Leave empty to include all models from \"{{URL}}/api/tags\" endpoint": "", - "Leave empty to include all models from \"{{URL}}/models\" endpoint": "", - "Leave empty to include all models or select specific models": "", + "Leave empty to include all models from \"{{URL}}/api/tags\" endpoint": "Оставьте пустым, чтобы включить все модели из энд-поинта \"{{URL}}/api/tags\"", + "Leave empty to include all models from \"{{URL}}/models\" endpoint": "Оставьте пустым, чтобы включить все модели из энд-поинта \"{{URL}}/models\"", + "Leave empty to include all models or select specific models": "Оставьте поле пустым, чтобы включить все модели или выбрать конкретные модели", "Leave empty to use the default prompt, or enter a custom prompt": "Оставьте пустым, чтобы использовать промпт по умолчанию, или введите пользовательский промпт", - "Leave model field empty to use the default model.": "", - "License": "", + "Leave model field empty to use the default model.": "Оставьте поле model пустым, чтобы использовать модель по умолчанию.", + "License": "Лицензия", "Light": "Светлый", "Listening...": "Слушаю...", "Llama.cpp": "", @@ -638,7 +648,7 @@ "Loading Kokoro.js...": "", "Local": "", "Local Models": "Локальные модели", - "Location access not allowed": "", + "Location access not allowed": "Доступ к местоположению запрещен", "Logit Bias": "", "Lost": "", "LTR": "LTR", @@ -646,8 +656,8 @@ "Make sure to enclose them with": "Убедитесь, что они заключены в", "Make sure to export a workflow.json file as API format from ComfyUI.": "Убедитесь, что экспортируете файл workflow.json в формате API из ComfyUI.", "Manage": "Управлять", - "Manage Direct Connections": "", - "Manage Models": "", + "Manage Direct Connections": "Управление прямыми подключениями", + "Manage Models": "Управление моделями", "Manage Ollama": "Управление Ollama", "Manage Ollama API Connections": "Управление соединениями API Ollama", "Manage OpenAI API Connections": "Управление соединениями API OpenAI", @@ -693,28 +703,28 @@ "Models": "Модели", "Models Access": "Доступ к Моделям", "Models configuration saved successfully": "Конфигурация модели успешно сохранена.", - "Mojeek Search API Key": "", - "more": "", + "Mojeek Search API Key": "Ключ API для поиска Mojeek", + "more": "больше", "More": "Больше", "Name": "Имя", - "Name your knowledge base": "", - "Native": "", + "Name your knowledge base": "Назовите свою базу знаний", + "Native": "Нативно", "New Chat": "Новый чат", - "New Folder": "", + "New Folder": "Новая папка", "New Password": "Новый пароль", "new-channel": "", "No content found": "Контент не найден", "No content to speak": "Нечего говорить", - "No distance available": "", - "No feedbacks found": "", + "No distance available": "Никаких доступных растояний", + "No feedbacks found": "Никаких обратных связей не найдено", "No file selected": "Файлы не выбраны", "No files found.": "Файлы не найдены.", - "No groups with access, add a group to grant access": "", - "No HTML, CSS, or JavaScript content found.": "", - "No inference engine with management support found": "", + "No groups with access, add a group to grant access": "Нет групп с доступом, добавьте группу для предоставления доступа", + "No HTML, CSS, or JavaScript content found.": "Содержимое в формате HTML, CSS или JavaScript не найдено.", + "No inference engine with management support found": "Механизм логического вывода с поддержкой управления не найден", "No knowledge found": "Знания не найдены", - "No memories to clear": "", - "No model IDs": "", + "No memories to clear": "Нет воспоминаний, которые нужно было бы очистить", + "No model IDs": "Нет ID модели", "No models found": "Модели не найдены", "No models selected": "Модели не выбраны", "No results found": "Результатов не найдено", @@ -726,9 +736,9 @@ "Not factually correct": "Не соответствует действительности", "Not helpful": "Бесполезно", "Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Обратите внимание: Если вы установите минимальный балл, поиск будет возвращать только документы с баллом больше или равным минимальному баллу.", - "Notes": "", - "Notification Sound": "", - "Notification Webhook": "", + "Notes": "Заметки", + "Notification Sound": "Звук уведомления", + "Notification Webhook": "Веб-хук уведомления", "Notifications": "Уведомления", "November": "Ноябрь", "num_gpu (Ollama)": "num_gpu (Ollama)", @@ -740,29 +750,29 @@ "OLED Dark": "OLED темная", "Ollama": "Ollama", "Ollama API": "Ollama API", - "Ollama API settings updated": "", + "Ollama API settings updated": "Параметры Ollama API обновлены", "Ollama Version": "Версия Ollama", "On": "Включено", "OneDrive": "", "Only alphanumeric characters and hyphens are allowed": "Разрешены только буквенно-цифровые символы и дефисы.", "Only alphanumeric characters and hyphens are allowed in the command string.": "В строке команды разрешено использовать только буквенно-цифровые символы и дефисы.", - "Only collections can be edited, create a new knowledge base to edit/add documents.": "", + "Only collections can be edited, create a new knowledge base to edit/add documents.": "Редактировать можно только коллекции, создайте новую базу знаний для редактирования/добавления документов.", "Only select users and groups with permission can access": "Доступ имеют только избранные пользователи и группы, имеющие разрешение.", "Oops! Looks like the URL is invalid. Please double-check and try again.": "Упс! Похоже, что URL-адрес недействителен. Пожалуйста, перепроверьте и попробуйте еще раз.", "Oops! There are files still uploading. Please wait for the upload to complete.": "Упс! Есть файлы, которые все еще загружаются. Пожалуйста, дождитесь завершения загрузки.", - "Oops! There was an error in the previous response.": "", + "Oops! There was an error in the previous response.": "Упс! В предыдущем ответе была ошибка.", "Oops! You're using an unsupported method (frontend only). Please serve the WebUI from the backend.": "Упс! Вы используете неподдерживаемый метод (только фронтенд). Пожалуйста, обслуживайте веб-интерфейс из бэкенда.", "Open file": "Открыть файл", "Open in full screen": "Открыть на весь экран", "Open new chat": "Открыть новый чат", - "Open WebUI uses faster-whisper internally.": "", - "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "", + "Open WebUI uses faster-whisper internally.": "Open WebUI использует более быстрый внутренний интерфейс whisper.", + "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "В Open WebUI используются встраиваемые движки генерации речи SpeechT5 и CMU Arctic.", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "Версия Open WebUI (v{{OPEN_WEBUI_VERSION}}) ниже требуемой версии (v{{REQUIRED_VERSION}})", "OpenAI": "Open AI", "OpenAI API": "API OpenAI", "OpenAI API Config": "Конфигурация API OpenAI", "OpenAI API Key is required.": "Требуется ключ API OpenAI.", - "OpenAI API settings updated": "", + "OpenAI API settings updated": "Настройки OpenAI API обновлены", "OpenAI URL/Key required.": "Требуется URL-адрес API OpenAI или ключ API.", "or": "или", "Organize your users": "Организуйте своих пользователей", @@ -780,7 +790,7 @@ "Permission denied when accessing microphone": "Отказано в разрешении на доступ к микрофону", "Permission denied when accessing microphone: {{error}}": "Отказано в разрешении на доступ к микрофону: {{error}}", "Permissions": "Разрешения", - "Perplexity API Key": "", + "Perplexity API Key": "Ключ API для Perplexity", "Personalization": "Персонализация", "Pin": "Закрепить", "Pinned": "Закреплено", @@ -793,67 +803,69 @@ "Plain text (.txt)": "Текст в формате .txt", "Playground": "Песочница", "Please carefully review the following warnings:": "Пожалуйста, внимательно ознакомьтесь со следующими предупреждениями:", - "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 prompt": "Пожалуйста, введите подсказку", "Please fill in all fields.": "Пожалуйста, заполните все поля.", "Please select a model first.": "Пожалуйста, сначала выберите модель.", - "Please select a model.": "", + "Please select a model.": "Пожалуйста, выберите модель.", "Please select a reason": "Пожалуйста, выберите причину", - "Port": "", + "Port": "Порт", "Positive attitude": "Позитивный настрой", - "Prefix ID": "", - "Prefix ID is used to avoid conflicts with other connections by adding a prefix to the model IDs - leave empty to disable": "", - "Presence Penalty": "", + "Prefix ID": "ID префикса", + "Prefix ID is used to avoid conflicts with other connections by adding a prefix to the model IDs - leave empty to disable": "ID префикса используется для предотвращения конфликтов с другими подключениями путем добавления префикса к идентификаторам моделей - оставьте пустым, чтобы отключить", + "Presence Penalty": "Штраф за присутствие", "Previous 30 days": "Предыдущие 30 дней", "Previous 7 days": "Предыдущие 7 дней", + "Private": "", "Profile Image": "Изображение профиля", - "Prompt": "", + "Prompt": "Промпт", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Промпт (например, Расскажи мне интересный факт о Римской империи)", "Prompt Content": "Содержание промпта", - "Prompt created successfully": "", + "Prompt created successfully": "Промпт успешно создан", "Prompt suggestions": "Предложения промптов", - "Prompt updated successfully": "", + "Prompt updated successfully": "Промпт успешно обновлён", "Prompts": "Промпты", - "Prompts Access": "", + "Prompts Access": "Доступ к промптам", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "Загрузить \"{{searchValue}}\" с Ollama.com", "Pull a model from Ollama.com": "Загрузить модель с Ollama.com", - "Query Generation Prompt": "", + "Query Generation Prompt": "Запрос на генерацию промпта", "RAG Template": "Шаблон RAG", - "Rating": "", - "Re-rank models by topic similarity": "", - "Read": "", + "Rating": "Рейтинг", + "Re-rank models by topic similarity": "Повторное ранжирование моделей по сходству тем", + "Read": "Прочитать", "Read Aloud": "Прочитать вслух", - "Reasoning Effort": "", + "Reasoning Effort": "Усилие рассуждения", "Record voice": "Записать голос", "Redirecting you to Open WebUI Community": "Перенаправляем вас в сообщество OpenWebUI", - "Reduces the probability of generating nonsense. A higher value (e.g. 100) will give more diverse answers, while a lower value (e.g. 10) will be more conservative.": "", + "Reduces the probability of generating nonsense. A higher value (e.g. 100) will give more diverse answers, while a lower value (e.g. 10) will be more conservative.": "Снижает вероятность появления бессмыслицы. Большее значение (например, 100) даст более разнообразные ответы, в то время как меньшее значение (например, 10) будет более консервативным.", "Refer to yourself as \"User\" (e.g., \"User is learning Spanish\")": "Называйте себя \"User\" (например, \"User is learning Spanish\").", - "References from": "", + "References from": "Отсылки к", "Refused when it shouldn't have": "Отказано в доступе, когда это не должно было произойти", "Regenerate": "Перегенерировать", "Release Notes": "Примечания к выпуску", - "Relevance": "", + "Relevance": "Актуальность", "Remove": "Удалить", "Remove Model": "Удалить модель", "Rename": "Переименовать", - "Reorder Models": "", + "Reorder Models": "Изменение порядка моделей", "Repeat Last N": "Повторить последние N", - "Repeat Penalty (Ollama)": "", - "Reply in Thread": "", + "Repeat Penalty (Ollama)": "Повторить наказание (Ollama)", + "Reply in Thread": "Ответить в обсуждении", "Request Mode": "Режим запроса", "Reranking Model": "Модель реранжирования", "Reranking model disabled": "Модель реранжирования отключена", "Reranking model set to \"{{reranking_model}}\"": "Модель реранжирования установлена на \"{{reranking_model}}\"", "Reset": "Сбросить", - "Reset All Models": "", + "Reset All Models": "Сбросить все модели", "Reset Upload Directory": "Сбросить каталог загрузок", - "Reset Vector Storage/Knowledge": "", - "Reset view": "", + "Reset Vector Storage/Knowledge": "Сброс векторного хранилища/знаний", + "Reset view": "Сбросить вид", "Response notifications cannot be activated as the website permissions have been denied. Please visit your browser settings to grant the necessary access.": "Уведомления об ответах не могут быть активированы, поскольку доступ к веб-сайту был заблокирован. Пожалуйста, перейдите к настройкам своего браузера, чтобы предоставить необходимый доступ.", "Response splitting": "Разделение ответов", - "Result": "", - "Retrieval": "", - "Retrieval Query Generation": "", + "Result": "Результат", + "Retrieval": "Поиск", + "Retrieval Query Generation": "Генерация поискового запроса", "Rich Text Input for Chat": "Ввод форматированного текста для чата", "RK": "", "Role": "Роль", @@ -867,28 +879,28 @@ "Save & Update": "Сохранить и обновить", "Save As Copy": "Сохранить как копию", "Save Tag": "Сохранить тег", - "Saved": "", + "Saved": "Сохранено", "Saving chat logs directly to your browser's storage is no longer supported. Please take a moment to download and delete your chat logs by clicking the button below. Don't worry, you can easily re-import your chat logs to the backend through": "Прямое сохранение журналов чата в хранилище вашего браузера больше не поддерживается. Пожалуйста, потратьте минуту, чтобы скачать и удалить ваши журналы чата, нажав на кнопку ниже. Не волнуйтесь, вы легко сможете повторно импортировать свои журналы чата в бэкенд через", "Scroll to bottom when switching between branches": "Прокручивать вниз при переключении веток", "Search": "Поиск", "Search a model": "Поиск модели", - "Search Base": "", + "Search Base": "Поиск в базе", "Search Chats": "Поиск в чатах", - "Search Collection": "", - "Search Filters": "", - "search for tags": "", + "Search Collection": "Поиск коллекции", + "Search Filters": "Поиск фильтров", + "search for tags": "искать для тегов", "Search Functions": "Поиск функций", - "Search Knowledge": "", + "Search Knowledge": "Поиск знания", "Search Models": "Поиск моделей", - "Search options": "", + "Search options": "Параметры поиска", "Search Prompts": "Поиск промптов", "Search Result Count": "Количество результатов поиска", - "Search the internet": "", + "Search the internet": "Искать в интернете", "Search Tools": "Поиск инструментов", "SearchApi API Key": "Ключ SearchApi API", "SearchApi Engine": "Движок SearchApi", - "Searched {{count}} sites": "", - "Searching \"{{searchQuery}}\"": "Поиск \"{{searchQuery}}\"", + "Searched {{count}} sites": "Поиск по {{count}} сайтам]", + "Searching \"{{searchQuery}}\"": "Поиск по запросу \"{{searchQuery}}\"", "Searching Knowledge for \"{{searchQuery}}\"": "Поиск знания для \"{{searchQuery}}\"", "Searxng Query URL": "URL-адрес запроса Searxng", "See readme.md for instructions": "Смотрите readme.md для инструкций", @@ -897,25 +909,25 @@ "Select a base model": "Выберите базовую модель", "Select a engine": "Выберите движок", "Select a function": "Выберите функцию", - "Select a group": "", + "Select a group": "Выбрать группу", "Select a model": "Выберите модель", "Select a pipeline": "Выберите конвейер", "Select a pipeline url": "Выберите URL-адрес конвейера", "Select a tool": "Выберите инструмент", - "Select an auth method": "", - "Select an Ollama instance": "", + "Select an auth method": "Выбрать метод аутентификации", + "Select an Ollama instance": "Выбрать инстанс Ollama", "Select Engine": "Выберите движок", - "Select Knowledge": "", + "Select Knowledge": "Выбрать знание", "Select only one model to call": "Выберите только одну модель для вызова", "Selected model(s) do not support image inputs": "Выбранные модели не поддерживают ввод изображений", - "Semantic distance to query": "", + "Semantic distance to query": "Семантическая дистанция для запроса", "Send": "Отправить", "Send a Message": "Отправить сообщение", "Send message": "Отправить сообщение", "Sends `stream_options: { include_usage: true }` in the request.\nSupported providers will return token usage information in the response when set.": "Отправляет в запросе \"stream_options: { include_usage: true }\".\nПоддерживаемые провайдеры будут возвращать информацию об использовании токена в ответе, когда это будет установлено.", "September": "Сентябрь", - "SerpApi API Key": "", - "SerpApi Engine": "", + "SerpApi API Key": "Ключ API для SerpApi", + "SerpApi Engine": "Движок SerpApi", "Serper API Key": "Ключ API Serper", "Serply API Key": "Ключ API Serply", "Serpstack API Key": "Ключ API Serpstack", @@ -923,7 +935,7 @@ "Set as default": "Установить по умолчанию", "Set CFG Scale": "Установить CFG Scale", "Set Default Model": "Установить модель по умолчанию", - "Set embedding model": "", + "Set embedding model": "Установить модель эмбеддинга", "Set embedding model (e.g. {{model}})": "Установить модель эмбеддинга (например, {{model}})", "Set Image Size": "Установить размер изображения", "Set reranking model (e.g. {{model}})": "Установить модель реранжирования (например, {{model}})", @@ -931,16 +943,16 @@ "Set Scheduler": "Установить планировщик", "Set Steps": "Установить шаги", "Set Task Model": "Установить модель задачи", - "Set the number of layers, which will be off-loaded to GPU. Increasing this value can significantly improve performance for models that are optimized for GPU acceleration but may also consume more power and GPU resources.": "", - "Set the number of worker threads used for computation. This option controls how many threads are used to process incoming requests concurrently. Increasing this value can improve performance under high concurrency workloads but may also consume more CPU resources.": "", + "Set the number of layers, which will be off-loaded to GPU. Increasing this value can significantly improve performance for models that are optimized for GPU acceleration but may also consume more power and GPU resources.": "Задайте количество слоев, которые будут загружаться в графический процессор. Увеличение этого значения может значительно повысить производительность моделей, оптимизированных для ускорения работы графического процессора, но также может потреблять больше энергии и ресурсов графического процессора.", + "Set the number of worker threads used for computation. This option controls how many threads are used to process incoming requests concurrently. Increasing this value can improve performance under high concurrency workloads but may also consume more CPU resources.": "Задайте количество рабочих потоков, используемых для вычислений. Этот параметр определяет, сколько потоков используется для одновременной обработки входящих запросов. Увеличение этого значения может повысить производительность при высоких рабочих нагрузках с параллелизмом, но также может потреблять больше ресурсов процессора.", "Set Voice": "Установить голос", - "Set whisper model": "", - "Sets a flat bias against tokens that have appeared at least once. A higher value (e.g., 1.5) will penalize repetitions more strongly, while a lower value (e.g., 0.9) will be more lenient. At 0, it is disabled.": "", - "Sets a scaling bias against tokens to penalize repetitions, based on how many times they have appeared. A higher value (e.g., 1.5) will penalize repetitions more strongly, while a lower value (e.g., 0.9) will be more lenient. At 0, it is disabled.": "", - "Sets how far back for the model to look back to prevent repetition.": "", - "Sets the random number seed to use for generation. Setting this to a specific number will make the model generate the same text for the same prompt.": "", - "Sets the size of the context window used to generate the next token.": "", - "Sets the stop sequences to use. When this pattern is encountered, the LLM will stop generating text and return. Multiple stop patterns may be set by specifying multiple separate stop parameters in a modelfile.": "", + "Set whisper model": "Выбрать модель whiser", + "Sets a flat bias against tokens that have appeared at least once. A higher value (e.g., 1.5) will penalize repetitions more strongly, while a lower value (e.g., 0.9) will be more lenient. At 0, it is disabled.": "Устанавливает нулевое значение для символов, которые появились хотя бы один раз. Более высокое значение (например, 1,5) будет более строгим наказанием за повторения, в то время как более низкое значение (например, 0,9) будет более мягким. При значении 0 он отключается.", + "Sets a scaling bias against tokens to penalize repetitions, based on how many times they have appeared. A higher value (e.g., 1.5) will penalize repetitions more strongly, while a lower value (e.g., 0.9) will be more lenient. At 0, it is disabled.": "Устанавливает смещение масштабирования для токенов, чтобы наказывать за повторения, в зависимости от того, сколько раз они появлялись. Более высокое значение (например, 1,5) будет наказывать за повторения более строго, в то время как более низкое значение (например, 0,9) будет более мягким. При значении 0 оно отключается.", + "Sets how far back for the model to look back to prevent repetition.": "Задает, как далеко назад модель должна вернуться, чтобы предотвратить повторение.", + "Sets the random number seed to use for generation. Setting this to a specific number will make the model generate the same text for the same prompt.": "Задает начальное значение случайного числа, которое будет использоваться для генерации. Установка этого значения на определенное число заставит модель генерировать один и тот же текст для одного и того же запроса.", + "Sets the size of the context window used to generate the next token.": "Устанавливает размер контекстного окна, используемого для генерации следующего токена.", + "Sets the stop sequences to use. When this pattern is encountered, the LLM will stop generating text and return. Multiple stop patterns may be set by specifying multiple separate stop parameters in a modelfile.": "Устанавливает используемые последовательности остановок. При обнаружении этого шаблона LLM прекратит генерировать текст и вернет данные. Можно задать несколько шаблонов остановок, указав несколько отдельных параметров остановки в файле модели.", "Settings": "Настройки", "Settings saved successfully!": "Настройки успешно сохранены!", "Share": "Поделиться", @@ -953,18 +965,18 @@ "Show your support!": "Поддержите нас!", "Showcased creativity": "Продемонстрирован творческий подход", "Sign in": "Войти", - "Sign in to {{WEBUI_NAME}}": "", - "Sign in to {{WEBUI_NAME}} with LDAP": "", + "Sign in to {{WEBUI_NAME}}": "Войти через {{WEBUI_NAME}}", + "Sign in to {{WEBUI_NAME}} with LDAP": "Войти через {{WEBUI_NAME}} по LDAP", "Sign Out": "Выйти", "Sign up": "Зарегистрироваться", - "Sign up to {{WEBUI_NAME}}": "", - "Signing in to {{WEBUI_NAME}}": "", + "Sign up to {{WEBUI_NAME}}": "Войти в {{WEBUI_NAME}}", + "Signing in to {{WEBUI_NAME}}": "Зарегистрироваться в {{WEBUI_NAME}}", "sk-1234": "", "Source": "Источник", "Speech Playback Speed": "Скорость воспроизведения речи", "Speech recognition error: {{error}}": "Ошибка распознавания речи: {{error}}", "Speech-to-Text Engine": "Система распознавания речи", - "Stop": "", + "Stop": "Остановить", "Stop Sequence": "Последовательность остановки", "Stream Chat Response": "Потоковый вывод ответа", "STT Model": "Модель распознавания речи", @@ -977,52 +989,54 @@ "Support this plugin:": "Поддержите этот плагин", "Sync directory": "", "System": "Система", - "System Instructions": "", + "System Instructions": "Системные инструкции", "System Prompt": "Системный промпт", - "Tags Generation": "", - "Tags Generation Prompt": "", - "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", - "Talk to model": "", + "Tags": "", + "Tags Generation": "Генерация тегов", + "Tags Generation Prompt": "Промпт для генерации тегов", + "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "Выборка без хвостов используется для уменьшения влияния менее вероятных токенов на выходные данные. Более высокое значение (например, 2.0) еще больше уменьшит влияние, в то время как значение 1.0 отключает эту настройку.", + "Talk to model": "Поговорить с моделью", "Tap to interrupt": "Нажмите, чтобы прервать", - "Tasks": "", + "Tasks": "Задачи", "Tavily API Key": "Ключ API Tavily", "Tell us more:": "Пожалуйста, расскажите нам больше:", "Temperature": "Температура", "Template": "Шаблон", "Temporary Chat": "Временный чат", - "Text Splitter": "", + "Text Splitter": "Разделитель текста", "Text-to-Speech Engine": "Система синтеза речи", "Tfs Z": "Tfs Z", "Thanks for your feedback!": "Спасибо за вашу обратную связь!", - "The Application Account DN you bind with for search": "", - "The base to search for users": "", - "The batch size determines how many text requests are processed together at once. A higher batch size can increase the performance and speed of the model, but it also requires more memory.": "", + "The Application Account DN you bind with for search": "Логин учетной записи приложения, к которому вы привязываетесь для поиска", + "The base to search for users": "База для поиска пользователей", + "The batch size determines how many text requests are processed together at once. A higher batch size can increase the performance and speed of the model, but it also requires more memory.": "Размер пакета определяет, сколько текстовых запросов обрабатывается одновременно. Больший размер пакета может повысить производительность и быстродействие модели, но также требует больше памяти.", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "Разработчики этого плагина - увлеченные волонтеры из сообщества. Если вы считаете этот плагин полезным, пожалуйста, подумайте о том, чтобы внести свой вклад в его разработку.", - "The evaluation leaderboard is based on the Elo rating system and is updated in real-time.": "", - "The LDAP attribute that maps to the mail that users use to sign in.": "", - "The LDAP attribute that maps to the username that users use to sign in.": "", - "The leaderboard is currently in beta, and we may adjust the rating calculations as we refine the algorithm.": "", + "The evaluation leaderboard is based on the Elo rating system and is updated in real-time.": "Таблица лидеров оценки основана на рейтинговой системе Elo и обновляется в режиме реального времени.", + "The LDAP attribute that maps to the mail that users use to sign in.": "Атрибут LDAP, который сопоставляется с почтой, используемой пользователями для входа в систему.", + "The LDAP attribute that maps to the username that users use to sign in.": "Атрибут LDAP, который сопоставляется с именем пользователя, используемым пользователями для входа в систему.", + "The leaderboard is currently in beta, and we may adjust the rating calculations as we refine the algorithm.": "В настоящее время таблица лидеров находится в стадии бета-тестирования, и мы можем скорректировать расчеты рейтинга по мере доработки алгоритма.", "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "Максимальный размер файла в МБ. Если размер файла превысит это ограничение, файл не будет загружен.", "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "Максимальное количество файлов, которые могут быть использованы одновременно в чате. Если количество файлов превысит это ограничение, файлы не будут загружены.", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "Оценка должна быть значением между 0,0 (0%) и 1,0 (100%).", - "The temperature of the model. Increasing the temperature will make the model answer more creatively.": "", + "The temperature of the model. Increasing the temperature will make the model answer more creatively.": "Температура модели. При повышении температуры модель будет отвечать более творчески.", "Theme": "Тема", "Thinking...": "Думаю...", "This action cannot be undone. Do you wish to continue?": "Это действие нельзя отменить. Вы хотите продолжить?", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Это обеспечивает сохранение ваших ценных разговоров в безопасной базе данных на вашем сервере. Спасибо!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "Это экспериментальная функция, она может работать не так, как ожидалось, и может быть изменена в любое время.", - "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", - "This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "", + "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "Этот параметр определяет, сколько токенов сохраняется при обновлении контекста. Например, если задано значение 2, будут сохранены последние 2 токена контекста беседы. Сохранение контекста может помочь сохранить непрерывность беседы, но может уменьшить возможность отвечать на новые темы.", + "This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "Этот параметр устанавливает максимальное количество токенов, которые модель может генерировать в своем ответе. Увеличение этого ограничения позволяет модели предоставлять более длинные ответы, но также может увеличить вероятность создания бесполезного или нерелевантного контента.", "This option will delete all existing files in the collection and replace them with newly uploaded files.": "Эта опция удалит все существующие файлы в коллекции и заменит их вновь загруженными файлами.", - "This response was generated by \"{{model}}\"": "", + "This response was generated by \"{{model}}\"": "Этот ответ был сгенерирован для \"{{model}}\"", "This will delete": "Это приведет к удалению", "This will delete {{NAME}} and all its contents.": "При этом будет удален {{NAME}} и все его содержимое.", "This will delete all models including custom models": "Это приведет к удалению всех моделей, включая пользовательские модели.", "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?": "Это сбросит базу знаний и синхронизирует все файлы. Хотите продолжить?", "Thorough explanation": "Подробное объяснение", - "Thought for {{DURATION}}": "", - "Thought for {{DURATION}} seconds": "", + "Thought for {{DURATION}}": "Рассуждаю {{DURATION}}", + "Thought for {{DURATION}} seconds": "Рассуждаю {{DURATION}} секунд(ы)", "Tika": "Tika", "Tika Server URL required.": "Требуется URL-адрес сервера Tika.", "Tiktoken": "", @@ -1031,15 +1045,15 @@ "Title (e.g. Tell me a fun fact)": "Заголовок (например, Расскажи мне интересный факт)", "Title Auto-Generation": "Автогенерация заголовка", "Title cannot be an empty string.": "Заголовок не может быть пустой строкой.", - "Title Generation": "", + "Title Generation": "Генерация заголовка", "Title Generation Prompt": "Промпт для генерации заголовка", "TLS": "", "To access the available model names for downloading,": "Чтобы получить доступ к доступным для загрузки именам моделей,", "To access the GGUF models available for downloading,": "Чтобы получить доступ к моделям GGUF, доступным для загрузки,", "To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Чтобы получить доступ к WebUI, пожалуйста, обратитесь к администратору. Администраторы могут управлять статусами пользователей из панели администратора.", "To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "Чтобы прикрепить сюда базу знаний, сначала добавьте её в \"Знания\" рабочего пространства.", - "To learn more about available endpoints, visit our documentation.": "", - "To protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "", + "To learn more about available endpoints, visit our documentation.": "Чтобы узнать больше о доступных энд-поинтах, ознакомьтесь с нашей документацией.", + "To protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "Чтобы защитить вашу конфиденциальность, из ваших отзывов публикуются только оценки, идентификаторы моделей, теги и метаданные — ваши журналы чата остаются конфиденциальными и не публикуются.", "To select actions here, add them to the \"Functions\" workspace first.": "Чтобы выбрать действия, сначала добавьте их в \"Функции\" рабочего пространства.", "To select filters here, add them to the \"Functions\" workspace first.": "Чтобы выбрать фильтры, сначала добавьте их в \"Функции\" рабочего пространства.", "To select toolkits here, add them to the \"Tools\" workspace first.": "Чтобы выбрать инструменты, сначала добавьте их в \"Инструменты\" рабочего пространства.", @@ -1047,9 +1061,9 @@ "Today": "Сегодня", "Toggle settings": "Переключить настройки", "Toggle sidebar": "Переключить боковую панель", - "Token": "", + "Token": "Токен", "Tokens To Keep On Context Refresh (num_keep)": "Количество токенов для сохранения при обновлении контекста (num_keep)", - "Too verbose": "", + "Too verbose": "Слишком многословно", "Tool created successfully": "Инструмент успешно создан", "Tool deleted successfully": "Инструмент успешно удален", "Tool Description": "Описание Инструмента", @@ -1060,20 +1074,20 @@ "Tools": "Инструменты", "Tools Access": "Доступ к инструментам", "Tools are a function calling system with arbitrary code execution": "Инструменты - это система вызова функций с выполнением произвольного кода", - "Tools Function Calling Prompt": "", + "Tools Function Calling Prompt": "Промпт на вызов функции Инструменты", "Tools have a function calling system that allows arbitrary code execution": "Инструменты имеют систему вызова функций, которая позволяет выполнять произвольный код", "Tools have a function calling system that allows arbitrary code execution.": "Инструменты имеют систему вызова функций, которая позволяет выполнять произвольный код.", "Top K": "Top K", "Top P": "Top P", "Transformers": "", "Trouble accessing Ollama?": "Проблемы с доступом к Ollama?", - "Trust Proxy Environment": "", + "Trust Proxy Environment": "Доверять заданным параметрам прокси", "TTS Model": "Модель TTS", "TTS Settings": "Настройки TTS", "TTS Voice": "Голос TTS", "Type": "Тип", "Type Hugging Face Resolve (Download) URL": "Введите URL-адрес Hugging Face Resolve (загрузки)", - "Uh-oh! There was an issue with the response.": "", + "Uh-oh! There was an issue with the response.": "Печаль-беда! Возникла проблема с ответом.", "UI": "Пользовательский интерфейс", "Unarchive All": "Разархивировать ВСЁ", "Unarchive All Archived Chats": "Разархивировать ВСЕ Заархивированные Чаты", @@ -1088,8 +1102,8 @@ "Update password": "Обновить пароль", "Updated": "Обновлено", "Updated at": "Обновлено", - "Updated At": "", - "Upgrade to a licensed plan for enhanced capabilities, including custom theming and branding, and dedicated support.": "", + "Updated At": "Обновлено в", + "Upgrade to a licensed plan for enhanced capabilities, including custom theming and branding, and dedicated support.": "Перейдите на лицензионный тарифный план, чтобы получить расширенные возможности, включая настраиваемую тематику и фирменный стиль, а также специальную поддержку.", "Upload": "Загрузить", "Upload a GGUF model": "Загрузить модель GGUF", "Upload directory": "Загрузить каталог", @@ -1118,22 +1132,23 @@ "Valves updated successfully": "Вентили успешно обновлены", "variable": "переменная", "variable to have them replaced with clipboard content.": "переменную, чтобы заменить их содержимым буфера обмена.", + "Verify Connection": "", "Version": "Версия", - "Version {{selectedVersion}} of {{totalVersions}}": "", - "View Replies": "", + "Version {{selectedVersion}} of {{totalVersions}}": "Версия {{selectedVersion}} из {{totalVersions}}", + "View Replies": "С ответами", "Visibility": "Видимость", "Voice": "Голос", - "Voice Input": "", + "Voice Input": "Ввод голоса", "Warning": "Предупреждение", "Warning:": "Предупреждение:", "Warning: Enabling this will allow users to upload arbitrary code on the server.": "Предупреждение. Включение этого параметра позволит пользователям загружать произвольный код на сервер.", "Warning: If you update or change your embedding model, you will need to re-import all documents.": "Предупреждение: Если вы обновите или измените модель эмбеддинга, вам нужно будет повторно импортировать все документы.", - "Warning: Jupyter execution enables arbitrary code execution, posing severe security risks—proceed with extreme caution.": "", + "Warning: Jupyter execution enables arbitrary code execution, posing severe security risks—proceed with extreme caution.": "Предупреждение: Выполнение Jupyter позволяет выполнять произвольный код, что создает серьезные угрозы безопасности — действуйте с особой осторожностью.", "Web": "Веб", "Web API": "Веб API", "Web Search": "Веб-поиск", "Web Search Engine": "Поисковая система", - "Web Search in Chat": "", + "Web Search in Chat": "Поисковая система в чате", "Web Search Query Generation": "Генерация запросов веб-поиска", "Webhook URL": "URL-адрес веб-хука", "WebUI Settings": "Настройки WebUI", @@ -1149,22 +1164,21 @@ "Why?": "Почему?", "Widescreen Mode": "Широкоэкранный режим", "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.": "", + "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 Permissions": "Разрешения для Рабочего пространства", - "Write": "", + "Write": "Напишите", "Write a prompt suggestion (e.g. Who are you?)": "Напишите предложение промпта (например, Кто вы?)", "Write a summary in 50 words that summarizes [topic or keyword].": "Напишите резюме в 50 словах, которое кратко описывает [тему или ключевое слово].", "Write something...": "Напишите что-нибудь...", "Write your model template content here": "Напишите здесь содержимое шаблона вашей модели.", "Yesterday": "Вчера", "You": "Вы", - "You are currently using a trial license. Please contact support to upgrade your license.": "", + "You are currently using a trial license. Please contact support to upgrade your license.": "В настоящее время вы используете пробную лицензию. Пожалуйста, обратитесь в службу поддержки для обновления вашей лицензии.", "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "Одновременно вы можете общаться только с максимальным количеством файлов {{maxCount}}.", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Вы можете персонализировать свое взаимодействие с LLMs, добавив воспоминания с помощью кнопки \"Управлять\" ниже, что сделает их более полезными и адаптированными для вас.", "You cannot upload an empty file.": "Вы не можете загрузить пустой файл.", - "You do not have permission to access this feature.": "", - "You do not have permission to upload files": "", + "You do not have permission to upload files": "У вас нет разрешения на загрузку файлов", "You do not have permission to upload files.": "У вас нет разрешения на загрузку файлов.", "You have no archived conversations.": "У вас нет архивированных бесед.", "You have shared this chat": "Вы поделились этим чатом", @@ -1173,6 +1187,6 @@ "Your account status is currently pending activation.": "В настоящее время ваша учетная запись ожидает активации.", "Your entire contribution will go directly to the plugin developer; Open WebUI does not take any percentage. However, the chosen funding platform might have its own fees.": "Весь ваш взнос будет направлен непосредственно разработчику плагина; Open WebUI не взимает никаких процентов. Однако выбранная платформа финансирования может иметь свои собственные сборы.", "Youtube": "YouTube", - "Youtube Language": "", - "Youtube Proxy URL": "" + "Youtube Language": "Язык YouTube", + "Youtube Proxy URL": "URL прокси для YouTube" } diff --git a/src/lib/i18n/locales/sk-SK/translation.json b/src/lib/i18n/locales/sk-SK/translation.json index 3ca7cac53..2d3323b6a 100644 --- a/src/lib/i18n/locales/sk-SK/translation.json +++ b/src/lib/i18n/locales/sk-SK/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "(napr. `sh webui.sh --api --api-auth username_password`)", "(e.g. `sh webui.sh --api`)": "(napr. `sh webui.sh --api`)", "(latest)": "Najnovšie", + "(Ollama)": "", "{{ models }}": "{{ models }}", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "", @@ -68,6 +69,8 @@ "Already have an account?": "Už máte účet?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "", "an assistant": "asistent", "Analyzed": "", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "Predvolené návrhy promptov", "Default to 389 or 636 if TLS is enabled": "", "Default to ALL": "", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "Predvolená rola užívateľa", "Delete": "Odstrániť", "Delete a model": "Odstrániť model.", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "", "Description": "Popis", "Didn't fully follow instructions": "Nenasledovali ste presne všetky inštrukcie.", + "Direct": "", "Direct Connections": "", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", "Direct Connections settings updated": "", @@ -314,6 +319,8 @@ "Dive into knowledge": "", "Do not install functions from sources you do not fully trust.": "Neinštalujte funkcie zo zdrojov, ktorým plne nedôverujete.", "Do not install tools from sources you do not fully trust.": "Neinštalujte nástroje zo zdrojov, ktorým plne nedôverujete.", + "Docling": "", + "Docling Server URL required.": "", "Document": "Dokument", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "Zadajte veľkosť časti", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "Zadajte popis", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "", @@ -471,6 +479,7 @@ "Export Prompts": "Exportovať prompty", "Export to CSV": "", "Export Tools": "Exportné nástroje", + "External": "", "External Models": "Externé modely", "Failed to add file.": "Nepodarilo sa pridať súbor.", "Failed to create API Key.": "Nepodarilo sa vytvoriť API kľúč.", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "Pri spustení stable-diffusion-webui zahrňte príznak `--api`.", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "Info", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "Vstupné príkazy", "Install from Github URL": "Inštalácia z URL adresy Githubu", "Instant Auto-Send After Voice Transcription": "Okamžité automatické odoslanie po prepisu hlasu", @@ -806,6 +816,7 @@ "Presence Penalty": "", "Previous 30 days": "Predchádzajúcich 30 dní", "Previous 7 days": "Predchádzajúcich 7 dní", + "Private": "", "Profile Image": "Profilový obrázok", "Prompt": "", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Prompt (napr. Povedz mi zábavnú skutočnosť o Rímskej ríši)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "", "Prompts": "Prompty", "Prompts Access": "", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "Stiahnite \"{{searchValue}}\" z Ollama.com", "Pull a model from Ollama.com": "Stiahnite model z Ollama.com", "Query Generation Prompt": "", @@ -979,6 +991,7 @@ "System": "Systém", "System Instructions": "", "System Prompt": "Systémový prompt", + "Tags": "", "Tags Generation": "", "Tags Generation Prompt": "Prompt na generovanie značiek", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1009,6 +1022,7 @@ "Theme": "Téma", "Thinking...": "Premýšľam...", "This action cannot be undone. Do you wish to continue?": "Túto akciu nie je možné vrátiť späť. Prajete si pokračovať?", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Týmto je zaistené, že vaše cenné konverzácie sú bezpečne uložené vo vašej backendovej databáze. Ďakujeme!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "Toto je experimentálna funkcia, nemusí fungovať podľa očakávania a môže byť kedykoľvek zmenená.", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "Ventily boli úspešne aktualizované.", "variable": "premenná", "variable to have them replaced with clipboard content.": "premennú, aby bol ich obsah nahradený obsahom schránky.", + "Verify Connection": "", "Version": "Verzia", "Version {{selectedVersion}} of {{totalVersions}}": "Verzia {{selectedVersion}} z {{totalVersions}}", "View Replies": "", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "Môžete komunikovať len s maximálne {{maxCount}} súbor(ami) naraz.", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Môžete personalizovať svoje interakcie s LLM pridaním spomienok prostredníctvom tlačidla 'Spravovať' nižšie, čo ich urobí pre vás užitočnejšími a lepšie prispôsobenými.", "You cannot upload an empty file.": "Nemôžete nahrať prázdny súbor.", - "You do not have permission to access this feature.": "", "You do not have permission to upload files": "", "You do not have permission to upload files.": "", "You have no archived conversations.": "Nemáte žiadne archivované konverzácie.", diff --git a/src/lib/i18n/locales/sr-RS/translation.json b/src/lib/i18n/locales/sr-RS/translation.json index abe816715..17614d3ea 100644 --- a/src/lib/i18n/locales/sr-RS/translation.json +++ b/src/lib/i18n/locales/sr-RS/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "(нпр. `sh webui.sh --api --api-auth username_password`)", "(e.g. `sh webui.sh --api`)": "(нпр. `sh webui.sh --api`)", "(latest)": "(најновије)", + "(Ollama)": "", "{{ models }}": "{{ модели }}", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "{{COUNT}} одговора", @@ -68,6 +69,8 @@ "Already have an account?": "Већ имате налог?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "Невероватно", "an assistant": "помоћник", "Analyzed": "", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "Подразумевани предлози упита", "Default to 389 or 636 if TLS is enabled": "", "Default to ALL": "", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "Подразумевана улога корисника", "Delete": "Обриши", "Delete a model": "Обриши модел", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "Опишите вашу базу знања и циљеве", "Description": "Опис", "Didn't fully follow instructions": "Упутства нису праћена у потпуности", + "Direct": "", "Direct Connections": "", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", "Direct Connections settings updated": "", @@ -314,6 +319,8 @@ "Dive into knowledge": "Ускочите у знање", "Do not install functions from sources you do not fully trust.": "", "Do not install tools from sources you do not fully trust.": "", + "Docling": "", + "Docling Server URL required.": "", "Document": "Документ", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "Унесите величину дела", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "", @@ -471,6 +479,7 @@ "Export Prompts": "Извези упите", "Export to CSV": "", "Export Tools": "", + "External": "", "External Models": "", "Failed to add file.": "", "Failed to create API Key.": "Неуспешно стварање API кључа.", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "Укључи `--api` заставицу при покретању stable-diffusion-webui", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "Инфо", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "Унеси наредбе", "Install from Github URL": "Инсталирај из Гитхуб УРЛ адресе", "Instant Auto-Send After Voice Transcription": "", @@ -806,6 +816,7 @@ "Presence Penalty": "", "Previous 30 days": "Претходних 30 дана", "Previous 7 days": "Претходних 7 дана", + "Private": "", "Profile Image": "Слика профила", "Prompt": "", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Упит (нпр. „подели занимљивост о Римском царству“)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "Упит измењен успешно", "Prompts": "Упити", "Prompts Access": "Приступ упитима", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "Повуците \"{{searchValue}}\" са Ollama.com", "Pull a model from Ollama.com": "Повуците модел са Ollama.com", "Query Generation Prompt": "", @@ -979,6 +991,7 @@ "System": "Систем", "System Instructions": "Системске инструкције", "System Prompt": "Системски упит", + "Tags": "", "Tags Generation": "Стварање ознака", "Tags Generation Prompt": "Упит стварања ознака", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1009,6 +1022,7 @@ "Theme": "Тема", "Thinking...": "Размишљам...", "This action cannot be undone. Do you wish to continue?": "Ова радња се не може опозвати. Да ли желите наставити?", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Ово осигурава да су ваши вредни разговори безбедно сачувани у вашој бекенд бази података. Хвала вам!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "Вентили успешно ажурирани", "variable": "променљива", "variable to have them replaced with clipboard content.": "променљива за замену са садржајем оставе.", + "Verify Connection": "", "Version": "Издање", "Version {{selectedVersion}} of {{totalVersions}}": "", "View Replies": "Погледај одговоре", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Можете учинити разговор са ВЈМ-овима приснијим додавањем сећања користећи „Управљај“ думе испод и тиме их учинити приснијим и кориснијим.", "You cannot upload an empty file.": "", - "You do not have permission to access this feature.": "", "You do not have permission to upload files": "", "You do not have permission to upload files.": "", "You have no archived conversations.": "Немате архивиране разговоре.", diff --git a/src/lib/i18n/locales/sv-SE/translation.json b/src/lib/i18n/locales/sv-SE/translation.json index d3c4ebb99..c8141ee1a 100644 --- a/src/lib/i18n/locales/sv-SE/translation.json +++ b/src/lib/i18n/locales/sv-SE/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "(t.ex. `sh webui.sh --api --api-auth username_password`)", "(e.g. `sh webui.sh --api`)": "(t.ex. `sh webui.sh --api`)", "(latest)": "(senaste)", + "(Ollama)": "", "{{ models }}": "{{ modeller }}", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "{{COUNT}} Svar", @@ -68,6 +69,8 @@ "Already have an account?": "Har du redan ett konto?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "Alltid", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "Fantastiskt", "an assistant": "en assistent", "Analyzed": "Analyserad", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "Standardinstruktionsförslag", "Default to 389 or 636 if TLS is enabled": "", "Default to ALL": "", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "Standardanvändarroll", "Delete": "Radera", "Delete a model": "Ta bort en modell", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "", "Description": "Beskrivning", "Didn't fully follow instructions": "Följde inte instruktionerna", + "Direct": "", "Direct Connections": "", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", "Direct Connections settings updated": "", @@ -314,6 +319,8 @@ "Dive into knowledge": "", "Do not install functions from sources you do not fully trust.": "", "Do not install tools from sources you do not fully trust.": "", + "Docling": "", + "Docling Server URL required.": "", "Document": "Dokument", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "Ange chunkstorlek", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "", @@ -471,6 +479,7 @@ "Export Prompts": "Exportera instruktioner", "Export to CSV": "", "Export Tools": "Exportera verktyg", + "External": "", "External Models": "Externa modeller", "Failed to add file.": "", "Failed to create API Key.": "Misslyckades med att skapa API-nyckel.", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "Inkludera flaggan `--api` när du kör stable-diffusion-webui", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "Information", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "Indatakommandon", "Install from Github URL": "Installera från Github-URL", "Instant Auto-Send After Voice Transcription": "Skicka automatiskt efter rösttranskribering", @@ -806,6 +816,7 @@ "Presence Penalty": "", "Previous 30 days": "Föregående 30 dagar", "Previous 7 days": "Föregående 7 dagar", + "Private": "", "Profile Image": "Profilbild", "Prompt": "", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Instruktion (t.ex. Berätta en kuriosa om Romerska Imperiet)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "", "Prompts": "Instruktioner", "Prompts Access": "", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "Ladda ner \"{{searchValue}}\" från Ollama.com", "Pull a model from Ollama.com": "Ladda ner en modell från Ollama.com", "Query Generation Prompt": "", @@ -979,6 +991,7 @@ "System": "System", "System Instructions": "", "System Prompt": "Systeminstruktion", + "Tags": "", "Tags Generation": "", "Tags Generation Prompt": "", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1009,6 +1022,7 @@ "Theme": "Tema", "Thinking...": "Tänker...", "This action cannot be undone. Do you wish to continue?": "Denna åtgärd kan inte ångras. Vill du fortsätta?", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Detta säkerställer att dina värdefulla samtal sparas säkert till din backend-databas. Tack!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "Detta är en experimentell funktion som kanske inte fungerar som förväntat och som kan komma att ändras när som helst.", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "", "variable": "variabel", "variable to have them replaced with clipboard content.": "variabel för att få dem ersatta med urklippsinnehåll.", + "Verify Connection": "", "Version": "Version", "Version {{selectedVersion}} of {{totalVersions}}": "Version {{selectedVersion}} av {{totalVersions}}", "View Replies": "Se svar", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "Du kan endast chatta med maximalt {{maxCount}} fil(er) på samma gång", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Du kan anpassa dina interaktioner med stora språkmodeller genom att lägga till minnen via knappen 'Hantera' nedan, så att de blir mer användbara och skräddarsydda för dig.", "You cannot upload an empty file.": "", - "You do not have permission to access this feature.": "", "You do not have permission to upload files": "", "You do not have permission to upload files.": "", "You have no archived conversations.": "Du har inga arkiverade samtal.", diff --git a/src/lib/i18n/locales/th-TH/translation.json b/src/lib/i18n/locales/th-TH/translation.json index 63594bfef..f28ffa978 100644 --- a/src/lib/i18n/locales/th-TH/translation.json +++ b/src/lib/i18n/locales/th-TH/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "(เช่น `sh webui.sh --api --api-auth username_password`)", "(e.g. `sh webui.sh --api`)": "(เช่น `sh webui.sh --api`)", "(latest)": "(ล่าสุด)", + "(Ollama)": "", "{{ models }}": "{{ models }}", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "", @@ -68,6 +69,8 @@ "Already have an account?": "มีบัญชีอยู่แล้ว?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "", "an assistant": "ผู้ช่วย", "Analyzed": "", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "คำแนะนำพรอมต์ค่าเริ่มต้น", "Default to 389 or 636 if TLS is enabled": "", "Default to ALL": "", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "บทบาทผู้ใช้ค่าเริ่มต้น", "Delete": "ลบ", "Delete a model": "ลบโมเดล", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "", "Description": "คำอธิบาย", "Didn't fully follow instructions": "ไม่ได้ปฏิบัติตามคำแนะนำทั้งหมด", + "Direct": "", "Direct Connections": "", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", "Direct Connections settings updated": "", @@ -314,6 +319,8 @@ "Dive into knowledge": "", "Do not install functions from sources you do not fully trust.": "อย่าติดตั้งฟังก์ชันจากแหล่งที่คุณไม่ไว้วางใจอย่างเต็มที่", "Do not install tools from sources you do not fully trust.": "อย่าติดตั้งเครื่องมือจากแหล่งที่คุณไม่ไว้วางใจอย่างเต็มที่", + "Docling": "", + "Docling Server URL required.": "", "Document": "เอกสาร", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "ใส่ขนาดส่วนข้อมูล", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "", @@ -471,6 +479,7 @@ "Export Prompts": "ส่งออกพรอมต์", "Export to CSV": "", "Export Tools": "ส่งออกเครื่องมือ", + "External": "", "External Models": "โมเดลภายนอก", "Failed to add file.": "", "Failed to create API Key.": "สร้างคีย์ API ล้มเหลว", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "รวมแฟลก `--api` เมื่อเรียกใช้ stable-diffusion-webui", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "ข้อมูล", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "คำสั่งป้อนข้อมูล", "Install from Github URL": "ติดตั้งจาก URL ของ Github", "Instant Auto-Send After Voice Transcription": "ส่งอัตโนมัติทันทีหลังจากการถอดเสียง", @@ -806,6 +816,7 @@ "Presence Penalty": "", "Previous 30 days": "30 วันที่ผ่านมา", "Previous 7 days": "7 วันที่ผ่านมา", + "Private": "", "Profile Image": "รูปโปรไฟล์", "Prompt": "", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "พรอมต์ (เช่น บอกข้อเท็จจริงที่น่าสนุกเกี่ยวกับจักรวรรดิโรมัน)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "", "Prompts": "พรอมต์", "Prompts Access": "", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "", "Pull a model from Ollama.com": "", "Query Generation Prompt": "", @@ -979,6 +991,7 @@ "System": "ระบบ", "System Instructions": "", "System Prompt": "ระบบพรอมต์", + "Tags": "", "Tags Generation": "", "Tags Generation Prompt": "", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1009,6 +1022,7 @@ "Theme": "ธีม", "Thinking...": "กำลังคิด...", "This action cannot be undone. Do you wish to continue?": "การกระทำนี้ไม่สามารถย้อนกลับได้ คุณต้องการดำเนินการต่อหรือไม่?", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "สิ่งนี้ทำให้มั่นใจได้ว่าการสนทนาที่มีค่าของคุณจะถูกบันทึกอย่างปลอดภัยในฐานข้อมูลแบ็กเอนด์ของคุณ ขอบคุณ!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "นี่เป็นฟีเจอร์ทดลอง อาจไม่ทำงานตามที่คาดไว้และอาจมีการเปลี่ยนแปลงได้ตลอดเวลา", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "อัปเดตวาล์วเรียบร้อยแล้ว", "variable": "ตัวแปร", "variable to have them replaced with clipboard content.": "ตัวแปรเพื่อให้แทนที่ด้วยเนื้อหาคลิปบอร์ด", + "Verify Connection": "", "Version": "เวอร์ชัน", "Version {{selectedVersion}} of {{totalVersions}}": "", "View Replies": "", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "คุณสามารถปรับแต่งการโต้ตอบของคุณกับ LLMs โดยเพิ่มความทรงจำผ่านปุ่ม 'จัดการ' ด้านล่าง ทำให้มันมีประโยชน์และเหมาะกับคุณมากขึ้น", "You cannot upload an empty file.": "", - "You do not have permission to access this feature.": "", "You do not have permission to upload files": "", "You do not have permission to upload files.": "", "You have no archived conversations.": "คุณไม่มีการสนทนาที่เก็บถาวร", diff --git a/src/lib/i18n/locales/tk-TW/translation.json b/src/lib/i18n/locales/tk-TW/translation.json index e1f06f335..19581081f 100644 --- a/src/lib/i18n/locales/tk-TW/translation.json +++ b/src/lib/i18n/locales/tk-TW/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "", "(e.g. `sh webui.sh --api`)": "", "(latest)": "", + "(Ollama)": "", "{{ models }}": "", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "", @@ -68,6 +69,8 @@ "Already have an account?": "", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "", "an assistant": "", "Analyzed": "", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "", "Default to 389 or 636 if TLS is enabled": "", "Default to ALL": "", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "", "Delete": "", "Delete a model": "", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "", "Description": "", "Didn't fully follow instructions": "", + "Direct": "", "Direct Connections": "", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", "Direct Connections settings updated": "", @@ -314,6 +319,8 @@ "Dive into knowledge": "", "Do not install functions from sources you do not fully trust.": "", "Do not install tools from sources you do not fully trust.": "", + "Docling": "", + "Docling Server URL required.": "", "Document": "", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "", @@ -471,6 +479,7 @@ "Export Prompts": "", "Export to CSV": "", "Export Tools": "", + "External": "", "External Models": "", "Failed to add file.": "", "Failed to create API Key.": "", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "", "Install from Github URL": "", "Instant Auto-Send After Voice Transcription": "", @@ -806,6 +816,7 @@ "Presence Penalty": "", "Previous 30 days": "", "Previous 7 days": "", + "Private": "", "Profile Image": "", "Prompt": "", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "", @@ -815,6 +826,7 @@ "Prompt updated successfully": "", "Prompts": "", "Prompts Access": "", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "", "Pull a model from Ollama.com": "", "Query Generation Prompt": "", @@ -979,6 +991,7 @@ "System": "", "System Instructions": "", "System Prompt": "", + "Tags": "", "Tags Generation": "", "Tags Generation Prompt": "", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1009,6 +1022,7 @@ "Theme": "", "Thinking...": "", "This action cannot be undone. Do you wish to continue?": "", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "", "variable": "", "variable to have them replaced with clipboard content.": "", + "Verify Connection": "", "Version": "", "Version {{selectedVersion}} of {{totalVersions}}": "", "View Replies": "", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "", "You cannot upload an empty file.": "", - "You do not have permission to access this feature.": "", "You do not have permission to upload files": "", "You do not have permission to upload files.": "", "You have no archived conversations.": "", diff --git a/src/lib/i18n/locales/tr-TR/translation.json b/src/lib/i18n/locales/tr-TR/translation.json index e7082300f..eee1f2c17 100644 --- a/src/lib/i18n/locales/tr-TR/translation.json +++ b/src/lib/i18n/locales/tr-TR/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "(örn. `sh webui.sh --api --api-auth username_password`)", "(e.g. `sh webui.sh --api`)": "(örn. `sh webui.sh --api`)", "(latest)": "(en son)", + "(Ollama)": "", "{{ models }}": "{{ models }}", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "{{COUNT}} Yanıt", @@ -22,7 +23,7 @@ "Account Activation Pending": "Hesap Aktivasyonu Bekleniyor", "Accurate information": "Doğru bilgi", "Actions": "Aksiyonlar", - "Activate": "", + "Activate": "Aktif Et", "Activate this command by typing \"/{{COMMAND}}\" to chat input.": "Sohbet girişine \"/{{COMMAND}}\" yazarak bu komutu etkinleştirin.", "Active Users": "Aktif Kullanıcılar", "Add": "Ekle", @@ -52,7 +53,7 @@ "Admins have access to all tools at all times; users need tools assigned per model in the workspace.": "Yöneticiler her zaman tüm araçlara erişebilir; kullanıcıların çalışma alanındaki model başına atanmış araçlara ihtiyacı vardır.", "Advanced Parameters": "Gelişmiş Parametreler", "Advanced Params": "Gelişmiş Parametreler", - "All": "", + "All": "Tüm", "All Documents": "Tüm Belgeler", "All models deleted successfully": "Tüm modeller başarıyla silindi", "Allow Chat Controls": "", @@ -67,11 +68,13 @@ "Allowed Endpoints": "İzin Verilen Uç Noktalar", "Already have an account?": "Zaten bir hesabınız mı var?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", - "Always": "", + "Always": "Daima", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "Harika", "an assistant": "bir asistan", - "Analyzed": "", - "Analyzing...": "", + "Analyzed": "Analiz edildi", + "Analyzing...": "Analiz ediliyor...", "and": "ve", "and {{COUNT}} more": "ve {{COUNT}} daha", "and create a new shared link.": "ve yeni bir paylaşılan bağlantı oluşturun.", @@ -95,7 +98,7 @@ "Are you sure?": "Emin misiniz?", "Arena Models": "Arena Modelleri", "Artifacts": "Eserler", - "Ask": "", + "Ask": "Sor", "Ask a question": "Bir soru sorun", "Assistant": "Asistan", "Attach file from knowledge": "", @@ -105,7 +108,7 @@ "Audio": "Ses", "August": "Ağustos", "Authenticate": "Kimlik Doğrulama", - "Authentication": "", + "Authentication": "Kimlik Doğrulama", "Auto-Copy Response to Clipboard": "Yanıtı Panoya Otomatik Kopyala", "Auto-playback response": "Yanıtı otomatik oynatma", "Autocomplete Generation": "Otomatik Tamamlama Üretimi", @@ -135,7 +138,7 @@ "By {{name}}": "{{name}} Tarafından", "Bypass Embedding and Retrieval": "", "Bypass SSL verification for Websites": "Web Siteleri için SSL doğrulamasını atlayın", - "Calendar": "", + "Calendar": "Takvim", "Call": "Arama", "Call feature is not supported when using Web STT engine": "Web STT motoru kullanılırken arama özelliği desteklenmiyor", "Camera": "Kamera", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "Varsayılan Prompt Önerileri", "Default to 389 or 636 if TLS is enabled": "TLS etkinse 389 veya 636'ya varsayılan olarak", "Default to ALL": "TÜMÜ'nü varsayılan olarak", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "Varsayılan Kullanıcı Rolü", "Delete": "Sil", "Delete a model": "Bir modeli sil", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "Bilgi tabanınızı ve hedeflerinizi açıklayın", "Description": "Açıklama", "Didn't fully follow instructions": "Talimatları tam olarak takip etmedi", + "Direct": "", "Direct Connections": "", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", "Direct Connections settings updated": "", @@ -314,6 +319,8 @@ "Dive into knowledge": "Bilgiye dalmak", "Do not install functions from sources you do not fully trust.": "Tamamen güvenmediğiniz kaynaklardan fonksiyonlar yüklemeyin.", "Do not install tools from sources you do not fully trust.": "Tamamen güvenmediğiniz kaynaklardan araçlar yüklemeyin.", + "Docling": "", + "Docling Server URL required.": "", "Document": "Belge", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "Chunk Boyutunu Girin", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "Açıklama girin", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "", @@ -448,15 +456,15 @@ "Exa API Key": "", "Example: (&(objectClass=inetOrgPerson)(uid=%s))": "Örnek: (&(objectClass=inetOrgPerson)(uid=%s))", "Example: ALL": "Örnek: ALL", - "Example: mail": "", + "Example: mail": "Örnek: mail", "Example: ou=users,dc=foo,dc=example": "Örnek: ou=users,dc=foo,dc=example", "Example: sAMAccountName or uid or userPrincipalName": "Örnek: sAMAccountName or uid or userPrincipalName", "Exceeded the number of seats in your license. Please contact support to increase the number of seats.": "", "Exclude": "Hariç tut", "Execute code for analysis": "", - "Expand": "", + "Expand": "Genişlet", "Experimental": "Deneysel", - "Explain": "", + "Explain": "Açıkla", "Explain this section to me in more detail": "", "Explore the cosmos": "Evreni keşfet", "Export": "Dışa Aktar", @@ -471,6 +479,7 @@ "Export Prompts": "Promptları Dışa Aktar", "Export to CSV": "CSV'ye Aktar", "Export Tools": "Araçları Dışa Aktar", + "External": "", "External Models": "Modelleri Dışa Aktar", "Failed to add file.": "Dosya eklenemedi.", "Failed to create API Key.": "API Anahtarı oluşturulamadı.", @@ -479,8 +488,8 @@ "Failed to save models configuration": "Modeller yapılandırması kaydedilemedi", "Failed to update settings": "Ayarlar güncellenemedi", "Failed to upload file.": "Dosya yüklenemedi.", - "Features": "", - "Features Permissions": "", + "Features": "Özellikler", + "Features Permissions": "Özellik Yetkileri", "February": "Şubat", "Feedback History": "Geri Bildirim Geçmişi", "Feedbacks": "Geri Bildirimler", @@ -528,7 +537,7 @@ "Gemini API Config": "", "Gemini API Key is required.": "", "General": "Genel", - "Generate an image": "", + "Generate an image": "Bir Görsel Oluştur", "Generate Image": "Görsel Üret", "Generate prompt pair": "", "Generating search query": "Arama sorgusu oluşturma", @@ -561,7 +570,7 @@ "I acknowledge that I have read and I understand the implications of my action. I am aware of the risks associated with executing arbitrary code and I have verified the trustworthiness of the source.": "Eylemimin sonuçlarını okuduğumu ve anladığımı kabul ediyorum. Rastgele kod çalıştırmayla ilgili risklerin farkındayım ve kaynağın güvenilirliğini doğruladım.", "ID": "", "Ignite curiosity": "Merak uyandırın", - "Image": "", + "Image": "Görsel", "Image Compression": "Görüntü Sıkıştırma", "Image Generation": "", "Image Generation (Experimental)": "Görüntü Oluşturma (Deneysel)", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "stable-diffusion-webui çalıştırılırken `--api` bayrağını dahil edin", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "Bilgi", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "Giriş komutları", "Install from Github URL": "Github URL'sinden yükleyin", "Instant Auto-Send After Voice Transcription": "Ses Transkripsiyonundan Sonra Anında Otomatik Gönder", @@ -629,7 +639,7 @@ "Leave empty to include all models or select specific models": "Tüm modelleri dahil etmek için boş bırakın veya belirli modelleri seçin", "Leave empty to use the default prompt, or enter a custom prompt": "Varsayılan promptu kullanmak için boş bırakın veya özel bir prompt girin", "Leave model field empty to use the default model.": "", - "License": "", + "License": "Lisans", "Light": "Açık", "Listening...": "Dinleniyor...", "Llama.cpp": "", @@ -714,7 +724,7 @@ "No inference engine with management support found": "", "No knowledge found": "Bilgi bulunamadı", "No memories to clear": "", - "No model IDs": "", + "No model IDs": "Model ID yok", "No models found": "Model bulunamadı", "No models selected": "Model seçilmedi", "No results found": "Sonuç bulunamadı", @@ -806,6 +816,7 @@ "Presence Penalty": "", "Previous 30 days": "Önceki 30 gün", "Previous 7 days": "Önceki 7 gün", + "Private": "Gizli", "Profile Image": "Profil Fotoğrafı", "Prompt": "", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Prompt (örn. Roma İmparatorluğu hakkında ilginç bir bilgi verin)", @@ -815,13 +826,14 @@ "Prompt updated successfully": "Prompt başarıyla güncellendi", "Prompts": "Promptlar", "Prompts Access": "Promptlara Erişim", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "Ollama.com'dan \"{{searchValue}}\" çekin", "Pull a model from Ollama.com": "Ollama.com'dan bir model çekin", "Query Generation Prompt": "Sorgu Oluşturma Promptu", "RAG Template": "RAG Şablonu", "Rating": "Derecelendirme", "Re-rank models by topic similarity": "Konu benzerliğine göre modelleri yeniden sırala", - "Read": "", + "Read": "Oku", "Read Aloud": "Sesli Oku", "Reasoning Effort": "", "Record voice": "Ses kaydı yap", @@ -979,12 +991,13 @@ "System": "Sistem", "System Instructions": "Sistem Talimatları", "System Prompt": "Sistem Promptu", + "Tags": "", "Tags Generation": "Etiketler Oluşturma", "Tags Generation Prompt": "Etiketler Oluşturma Promptu", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", - "Talk to model": "", + "Talk to model": "Model ile konuş", "Tap to interrupt": "Durdurmak için dokunun", - "Tasks": "", + "Tasks": "Görevler", "Tavily API Key": "Tavily API Anahtarı", "Tell us more:": "Bize daha fazlasını anlat:", "Temperature": "Temperature", @@ -1009,6 +1022,7 @@ "Theme": "Tema", "Thinking...": "Düşünüyor...", "This action cannot be undone. Do you wish to continue?": "Bu eylem geri alınamaz. Devam etmek istiyor musunuz?", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Bu, önemli konuşmalarınızın güvenli bir şekilde arkayüz veritabanınıza kaydedildiğini garantiler. Teşekkür ederiz!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "Bu deneysel bir özelliktir, beklendiği gibi çalışmayabilir ve her an değişiklik yapılabilir.", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "Valvler başarıyla güncellendi", "variable": "değişken", "variable to have them replaced with clipboard content.": "panodaki içerikle değiştirilmesi için değişken.", + "Verify Connection": "", "Version": "Sürüm", "Version {{selectedVersion}} of {{totalVersions}}": "Sürüm {{selectedVersion}} / {{totalVersions}}", "View Replies": "Yanıtları Görüntüle", @@ -1152,7 +1167,7 @@ "Works together with top-k. A higher value (e.g., 0.95) will lead to more diverse text, while a lower value (e.g., 0.5) will generate more focused and conservative text.": "", "Workspace": "Çalışma Alanı", "Workspace Permissions": "Çalışma Alanı İzinleri", - "Write": "", + "Write": "Yaz", "Write a prompt suggestion (e.g. Who are you?)": "Bir prompt önerisi yazın (örn. Sen kimsin?)", "Write a summary in 50 words that summarizes [topic or keyword].": "[Konuyu veya anahtar kelimeyi] özetleyen 50 kelimelik bir özet yazın.", "Write something...": "Bir şeyler yazın...", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "Aynı anda en fazla {{maxCount}} dosya ile sohbet edebilirsiniz.", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Aşağıdaki 'Yönet' düğmesi aracılığıyla bellekler ekleyerek LLM'lerle etkileşimlerinizi kişiselleştirebilir, onları daha yararlı ve size özel hale getirebilirsiniz.", "You cannot upload an empty file.": "Boş bir dosya yükleyemezsiniz.", - "You do not have permission to access this feature.": "", "You do not have permission to upload files": "", "You do not have permission to upload files.": "Dosya yüklemek için izniniz yok.", "You have no archived conversations.": "Arşivlenmiş sohbetleriniz yok.", @@ -1173,6 +1187,6 @@ "Your account status is currently pending activation.": "Hesap durumunuz şu anda etkinleştirilmeyi bekliyor.", "Your entire contribution will go directly to the plugin developer; Open WebUI does not take any percentage. However, the chosen funding platform might have its own fees.": "Tüm katkınız doğrudan eklenti geliştiricisine gidecektir; Open WebUI herhangi bir yüzde almaz. Ancak seçilen finansman platformunun kendi ücretleri olabilir.", "Youtube": "Youtube", - "Youtube Language": "", + "Youtube Language": "Youtube Dili", "Youtube Proxy URL": "" } diff --git a/src/lib/i18n/locales/uk-UA/translation.json b/src/lib/i18n/locales/uk-UA/translation.json index 5e9c7e07f..981e9b11e 100644 --- a/src/lib/i18n/locales/uk-UA/translation.json +++ b/src/lib/i18n/locales/uk-UA/translation.json @@ -1,11 +1,12 @@ { "-1 for no limit, or a positive integer for a specific limit": "-1 для без обмежень або додатне ціле число для конкретного обмеження", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' or '-1' для відсутності терміну дії.", - "(e.g. `sh webui.sh --api --api-auth username_password`)": "(e.g. `sh webui.sh --api --api-auth username_password`)", - "(e.g. `sh webui.sh --api`)": "(e.g. `sh webui.sh --api`)", + "(e.g. `sh webui.sh --api --api-auth username_password`)": "(напр. `sh webui.sh --api --api-auth username_password`)", + "(e.g. `sh webui.sh --api`)": "(напр. `sh webui.sh --api`)", "(latest)": "(остання)", + "(Ollama)": "(Ollama)", "{{ models }}": "{{ models }}", - "{{COUNT}} hidden lines": "", + "{{COUNT}} hidden lines": "{{COUNT}} прихованих рядків", "{{COUNT}} Replies": "{{COUNT}} Відповіді", "{{user}}'s Chats": "Чати {{user}}а", "{{webUIName}} Backend Required": "Необхідно підключення бекенду {{webUIName}}", @@ -14,7 +15,7 @@ "A task model is used when performing tasks such as generating titles for chats and web search queries": "Модель задач використовується при виконанні таких завдань, як генерація заголовків для чатів та пошукових запитів в Інтернеті", "a user": "користувача", "About": "Про програму", - "Accept autocomplete generation / Jump to prompt variable": "", + "Accept autocomplete generation / Jump to prompt variable": "Прийняти автоматичне доповнення / Перейти до змінної промта", "Access": "Доступ", "Access Control": "Контроль доступу", "Accessible to all users": "Доступно всім користувачам", @@ -22,7 +23,7 @@ "Account Activation Pending": "Очікування активації облікового запису", "Accurate information": "Точна інформація", "Actions": "Дії", - "Activate": "", + "Activate": "Активувати", "Activate this command by typing \"/{{COMMAND}}\" to chat input.": "Активуйте цю команду, ввівши \"/{{COMMAND}}\" у введення чату.", "Active Users": "Активні користувачі", "Add": "Додати", @@ -52,9 +53,9 @@ "Admins have access to all tools at all times; users need tools assigned per model in the workspace.": "Адміністратори мають доступ до всіх інструментів у будь-який час; користувачам потрібні інструменти, призначені для кожної моделі в робочій області.", "Advanced Parameters": "Розширені параметри", "Advanced Params": "Розширені параметри", - "All": "", + "All": "Усі", "All Documents": "Усі документи", - "All models deleted successfully": "Всі моделі видалені успішно", + "All models deleted successfully": "Усі моделі видалені успішно", "Allow Chat Controls": "Дозволити керування чатом", "Allow Chat Delete": "Дозволити видалення чату", "Allow Chat Deletion": "Дозволити видалення чату", @@ -66,8 +67,10 @@ "Allow Voice Interruption in Call": "Дозволити переривання голосу під час виклику", "Allowed Endpoints": "Дозволені кінцеві точки", "Already have an account?": "Вже є обліковий запис?", - "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", + "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "Альтернатива top_p, що спрямована на забезпечення балансу між якістю та різноманітністю. Параметр p представляє мінімальну ймовірність для врахування токена відносно ймовірності найбільш ймовірного токена. Наприклад, при p=0.05 і ймовірності найбільш ймовірного токена 0.9, логіти зі значенням менше 0.045 відфільтровуються.", "Always": "Завжди", + "Always Collapse Code Blocks": "Завжди згортати блоки коду", + "Always Expand Details": "Завжди розгортати деталі", "Amazing": "Чудово", "an assistant": "асистента", "Analyzed": "Проаналізовано", @@ -85,27 +88,27 @@ "applies to all users with the \"user\" role": "стосується всіх користувачів з роллю \"користувач\"", "April": "Квітень", "Archive": "Архів", - "Archive All Chats": "Архівувати всі чати", + "Archive All Chats": "Архівувати усі чати", "Archived Chats": "Архівовані чати", "archived-chat-export": "експорт-архівованих-чатів", - "Are you sure you want to clear all memories? This action cannot be undone.": "", + "Are you sure you want to clear all memories? This action cannot be undone.": "Ви впевнені, що хочете очистити усі спогади? Цю дію неможливо скасувати.", "Are you sure you want to delete this channel?": "Ви впевнені, що хочете видалити цей канал?", "Are you sure you want to delete this message?": "Ви впевнені, що хочете видалити це повідомлення?", - "Are you sure you want to unarchive all archived chats?": "Ви впевнені, що хочете розархівувати всі архівовані чати?", + "Are you sure you want to unarchive all archived chats?": "Ви впевнені, що хочете розархівувати усі архівовані чати?", "Are you sure?": "Ви впевнені?", "Arena Models": "Моделі Arena", "Artifacts": "Артефакти", - "Ask": "", + "Ask": "Запитати", "Ask a question": "Задати питання", "Assistant": "Асистент", - "Attach file from knowledge": "", + "Attach file from knowledge": "Прикріпити файл із знаннями", "Attention to detail": "Увага до деталей", "Attribute for Mail": "Атрибут для пошти", "Attribute for Username": "Атрибут для імені користувача", "Audio": "Аудіо", "August": "Серпень", "Authenticate": "Автентифікувати", - "Authentication": "", + "Authentication": "Аутентифікація", "Auto-Copy Response to Clipboard": "Автокопіювання відповіді в буфер обміну", "Auto-playback response": "Автоматичне відтворення відповіді", "Autocomplete Generation": "Генерація автозаповнення", @@ -130,12 +133,12 @@ "Bing Search V7 Endpoint": "Точка доступу Bing Search V7", "Bing Search V7 Subscription Key": "Ключ підписки Bing Search V7", "Bocha Search API Key": "Ключ API пошуку Bocha", - "Boosting or penalizing specific tokens for constrained responses. Bias values will be clamped between -100 and 100 (inclusive). (Default: none)": "", + "Boosting or penalizing specific tokens for constrained responses. Bias values will be clamped between -100 and 100 (inclusive). (Default: none)": "Підсилення або штрафування конкретних токенів для обмежених відповідей. Значення зміщення будуть обмежені між -100 і 100 (включно). (За замовчуванням: відсутнє)", "Brave Search API Key": "Ключ API пошуку Brave", "By {{name}}": "Від {{name}}", - "Bypass Embedding and Retrieval": "", + "Bypass Embedding and Retrieval": "Минути вбудовування та пошук", "Bypass SSL verification for Websites": "Обхід SSL-перевірки для веб-сайтів", - "Calendar": "", + "Calendar": "Календар", "Call": "Виклик", "Call feature is not supported when using Web STT engine": "Функція виклику не підтримується при використанні Web STT (розпізнавання мовлення) рушія", "Camera": "Камера", @@ -167,7 +170,7 @@ "Ciphers": "Шифри", "Citation": "Цитування", "Clear memory": "Очистити пам'ять", - "Clear Memory": "", + "Clear Memory": "Очистити пам'ять", "click here": "натисніть тут", "Click here for filter guides.": "Натисніть тут для інструкцій із фільтрації", "Click here for help.": "Натисніть тут, щоб отримати допомогу.", @@ -187,14 +190,14 @@ "Clone of {{TITLE}}": "Клон {{TITLE}}", "Close": "Закрити", "Code execution": "Виконання коду", - "Code Execution": "", - "Code Execution Engine": "", - "Code Execution Timeout": "", + "Code Execution": "Виконання коду", + "Code Execution Engine": "Рушій виконання коду", + "Code Execution Timeout": "Тайм-аут виконання коду", "Code formatted successfully": "Код успішно відформатовано", "Code Interpreter": "Інтерпретатор коду", "Code Interpreter Engine": "Двигун інтерпретатора коду", "Code Interpreter Prompt Template": "Шаблон запиту інтерпретатора коду", - "Collapse": "", + "Collapse": "Згорнути", "Collection": "Колекція", "Color": "Колір", "ComfyUI": "ComfyUI", @@ -213,19 +216,19 @@ "Confirm your new password": "Підтвердіть свій новий пароль", "Connect to your own OpenAI compatible API endpoints.": "Підключіться до своїх власних API-ендпоінтів, сумісних з OpenAI.", "Connections": "З'єднання", - "Constrains effort on reasoning for reasoning models. Only applicable to reasoning models from specific providers that support reasoning effort.": "", + "Constrains effort on reasoning for reasoning models. Only applicable to reasoning models from specific providers that support reasoning effort.": "Обмежує зусилля на міркування для моделей міркування. Діє лише для моделей міркування від конкретних постачальників, які підтримують зусилля міркування.", "Contact Admin for WebUI Access": "Зверніться до адміна для отримання доступу до WebUI", "Content": "Зміст", - "Content Extraction Engine": "", + "Content Extraction Engine": "Рушій вилучення контенту", "Context Length": "Довжина контексту", "Continue Response": "Продовжити відповідь", "Continue with {{provider}}": "Продовжити з {{provider}}", "Continue with Email": "Продовжити з електронною поштою", "Continue with LDAP": "Продовжити з 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.": "Керування розбиттям тексту повідомлення для TTS-запитів. 'Punctuation' розбиває на речення, 'paragraphs' розбиває на абзаци, а 'none' залишає повідомлення як один рядок.", - "Control the repetition of token sequences in the generated text. A higher value (e.g., 1.5) will penalize repetitions more strongly, while a lower value (e.g., 1.1) will be more lenient. At 1, it is disabled.": "", + "Control the repetition of token sequences in the generated text. A higher value (e.g., 1.5) will penalize repetitions more strongly, while a lower value (e.g., 1.1) will be more lenient. At 1, it is disabled.": "Контролює повторення послідовностей токенів у згенерованому тексті. Вищий показник (напр., 1.5) сильніше штрафує за повторення, тоді як нижчий показник (напр., 1.1) буде більш м'яким. При значенні 1 ця опція вимкнена.", "Controls": "Керування", - "Controls the balance between coherence and diversity of the output. A lower value will result in more focused and coherent text.": "", + "Controls the balance between coherence and diversity of the output. A lower value will result in more focused and coherent text.": "Контролює баланс між узгодженістю та різноманітністю результату. Нижчий показник призведе до більш зосередженого та узгодженого тексту.", "Copied": "Скопійовано", "Copied shared chat URL to clipboard!": "Скопійовано URL-адресу спільного чату в буфер обміну!", "Copied to clipboard": "Скопійовано в буфер обміну", @@ -250,11 +253,11 @@ "Created At": "Створено у", "Created by": "Створено", "CSV Import": "Імпорт CSV", - "Ctrl+Enter to Send": "", + "Ctrl+Enter to Send": "Ctrl+Enter для відправки", "Current Model": "Поточна модель", "Current Password": "Поточний пароль", "Custom": "Налаштувати", - "Danger Zone": "", + "Danger Zone": "Зона небезпеки", "Dark": "Темна", "Database": "База даних", "December": "Грудень", @@ -269,19 +272,20 @@ "Default permissions updated successfully": "Дозволи за замовчуванням успішно оновлено", "Default Prompt Suggestions": "Пропозиції промтів замовчуванням", "Default to 389 or 636 if TLS is enabled": "За замовчуванням використовується 389 або 636, якщо TLS увімкнено.", - "Default to ALL": "За замовчуванням — ВСІ.", + "Default to ALL": "За замовчуванням — УСІ.", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "За замовчуванням використовувати сегментований пошук для зосередженого та релевантного вилучення контенту, це рекомендується у більшості випадків.", "Default User Role": "Роль користувача за замовчуванням", "Delete": "Видалити", "Delete a model": "Видалити модель", "Delete All Chats": "Видалити усі чати", - "Delete All Models": "Видалити всі моделі", + "Delete All Models": "Видалити усі моделі", "Delete chat": "Видалити чат", "Delete Chat": "Видалити чат", "Delete chat?": "Видалити чат?", "Delete folder?": "Видалити папку?", "Delete function?": "Видалити функцію?", "Delete Message": "Видалити повідомлення", - "Delete message?": "", + "Delete message?": "Видалити повідомлення?", "Delete prompt?": "Видалити промт?", "delete this link": "видалити це посилання", "Delete tool?": "Видалити інструмент?", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "Опишіть вашу базу знань та цілі", "Description": "Опис", "Didn't fully follow instructions": "Не повністю дотримувалися інструкцій", + "Direct": "Прямий", "Direct Connections": "Прямі з'єднання", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "Прямі з'єднання дозволяють користувачам підключатися до своїх власних API-кінцевих точок, сумісних з OpenAI.", "Direct Connections settings updated": "Налаштування прямих з'єднань оновлено", @@ -300,7 +305,7 @@ "Discover a model": "Знайдіть модель", "Discover a prompt": "Знайдіть промт", "Discover a tool": "Знайдіть інструмент", - "Discover how to use Open WebUI and seek support from the community.": "", + "Discover how to use Open WebUI and seek support from the community.": "Дізнайтесь, як використовувати Open WebUI, та звертайтесь за підтримкою до спільноти.", "Discover wonders": "Відкривайте чудеса", "Discover, download, and explore custom functions": "Знайдіть, завантажте та досліджуйте налаштовані функції", "Discover, download, and explore custom prompts": "Знайдіть, завантажте та досліджуйте налаштовані промти", @@ -314,9 +319,11 @@ "Dive into knowledge": "Зануртесь у знання", "Do not install functions from sources you do not fully trust.": "Не встановлюйте функції з джерел, яким ви не повністю довіряєте.", "Do not install tools from sources you do not fully trust.": "Не встановлюйте інструменти з джерел, яким ви не повністю довіряєте.", + "Docling": "Docling", + "Docling Server URL required.": "Потрібна URL-адреса сервера Docling.", "Document": "Документ", - "Document Intelligence": "", - "Document Intelligence endpoint and key required.": "", + "Document Intelligence": "Інтелект документа", + "Document Intelligence endpoint and key required.": "Потрібні кінцева точка та ключ для Інтелекту документа.", "Documentation": "Документація", "Documents": "Документи", "does not make any external connections, and your data stays securely on your locally hosted server.": "не встановлює жодних зовнішніх з'єднань, і ваші дані залишаються в безпеці на вашому локальному сервері.", @@ -327,14 +334,14 @@ "Don't like the style": "Не подобається стиль", "Done": "Готово", "Download": "Завантажити", - "Download as SVG": "", + "Download as SVG": "Завантажити як SVG", "Download canceled": "Завантаження скасовано", "Download Database": "Завантажити базу даних", "Drag and drop a file to upload or select a file to view": "Перетягніть файл для завантаження або виберіть файл для перегляду", "Draw": "Малювати", "Drop any files here to add to the conversation": "Перетягніть сюди файли, щоб додати до розмови", "e.g. '30s','10m'. Valid time units are 's', 'm', 'h'.": "напр., '30s','10m'. Дійсні одиниці часу: 'с', 'хв', 'г'.", - "e.g. 60": "", + "e.g. 60": "напр. 60", "e.g. A filter to remove profanity from text": "напр., фільтр для видалення нецензурної лексики з тексту", "e.g. My Filter": "напр., Мій фільтр", "e.g. My Tools": "напр., Мої інструменти", @@ -352,20 +359,20 @@ "ElevenLabs": "ElevenLabs", "Email": "Ел. пошта", "Embark on adventures": "Вирушайте в пригоди", - "Embedding": "", + "Embedding": "Вбудовування", "Embedding Batch Size": "Розмір пакету під час вбудовування", "Embedding Model": "Модель вбудовування", "Embedding Model Engine": "Рушій моделі вбудовування ", "Embedding model set to \"{{embedding_model}}\"": "Встановлена модель вбудовування \"{{embedding_model}}\"", "Enable API Key": "Увімкнути ключ API", "Enable autocomplete generation for chat messages": "Увімкнути генерацію автозаповнення для повідомлень чату", - "Enable Code Execution": "", + "Enable Code Execution": "Увімкнути виконання коду", "Enable Code Interpreter": "Увімкнути інтерпретатор коду", "Enable Community Sharing": "Увімкнути спільний доступ", "Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "Увімкнути блокування пам'яті (mlock), щоб запобігти виведенню даних моделі з оперативної пам'яті. Цей параметр блокує робочий набір сторінок моделі в оперативній пам'яті, гарантуючи, що вони не будуть виведені на диск. Це може допомогти підтримувати продуктивність, уникати помилок сторінок та забезпечувати швидкий доступ до даних.", "Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "Увімкнути відображення пам'яті (mmap) для завантаження даних моделі. Цей параметр дозволяє системі використовувати дискове сховище як розширення оперативної пам'яті, трактуючи файли на диску, як ніби вони знаходяться в RAM. Це може покращити продуктивність моделі, дозволяючи швидший доступ до даних. Однак, він може не працювати коректно на всіх системах і може споживати значну кількість дискового простору.", "Enable Message Rating": "Увімкнути оцінку повідомлень", - "Enable Mirostat sampling for controlling perplexity.": "", + "Enable Mirostat sampling for controlling perplexity.": "Увімкнути вибірку Mirostat для контролю перплексії.", "Enable New Sign Ups": "Дозволити нові реєстрації", "Enabled": "Увімкнено", "Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Переконайтеся, що ваш CSV-файл містить 4 колонки в такому порядку: Ім'я, Email, Пароль, Роль.", @@ -382,10 +389,11 @@ "Enter CFG Scale (e.g. 7.0)": "Введіть масштаб CFG (напр., 7.0)", "Enter Chunk Overlap": "Введіть перекриття фрагменту", "Enter Chunk Size": "Введіть розмір фрагменту", - "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", + "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "Введіть пари \"токен:значення_зміщення\", розділені комами (напр.: 5432:100, 413:-100)", "Enter description": "Введіть опис", - "Enter Document Intelligence Endpoint": "", - "Enter Document Intelligence Key": "", + "Enter Docling Server URL": "Введіть URL-адресу сервера Docling", + "Enter Document Intelligence Endpoint": "Введіть кінцеву точку Інтелекту документа", + "Enter Document Intelligence Key": "Введіть ключ Інтелекту документа", "Enter domains separated by commas (e.g., example.com,site.org)": "Введіть домени, розділені комами (наприклад, example.com, site.org)", "Enter Exa API Key": "Введіть ключ API Exa", "Enter Github Raw URL": "Введіть Raw URL-адресу Github", @@ -397,13 +405,13 @@ "Enter Jupyter Token": "Введіть токен Jupyter", "Enter Jupyter URL": "Введіть URL Jupyter", "Enter Kagi Search API Key": "Введіть ключ API Kagi Search", - "Enter Key Behavior": "", + "Enter Key Behavior": "Введіть поведінку клавіші", "Enter language codes": "Введіть мовні коди", "Enter Model ID": "Введіть ID моделі", "Enter model tag (e.g. {{modelTag}})": "Введіть тег моделі (напр., {{modelTag}})", "Enter Mojeek Search API Key": "Введіть API ключ для пошуку Mojeek", "Enter Number of Steps (e.g. 50)": "Введіть кількість кроків (напр., 50)", - "Enter Perplexity API Key": "", + "Enter Perplexity API Key": "Введіть ключ API для Perplexity", "Enter proxy URL (e.g. https://user:password@host:port)": "Введіть URL проксі (напр., https://user:password@host:port)", "Enter reasoning effort": "Введіть зусилля на міркування", "Enter Sampler (e.g. Euler a)": "Введіть семплер (напр., Euler a)", @@ -413,8 +421,8 @@ "Enter SearchApi Engine": "Введіть SearchApi рушія", "Enter Searxng Query URL": "Введіть URL-адресу запиту Searxng", "Enter Seed": "Введіть насіння", - "Enter SerpApi API Key": "", - "Enter SerpApi Engine": "", + "Enter SerpApi API Key": "Введіть ключ API для SerpApi", + "Enter SerpApi Engine": "Введіть рушій SerpApi", "Enter Serper API Key": "Введіть ключ API Serper", "Enter Serply API Key": "Введіть ключ API Serply", "Enter Serpstack API Key": "Введіть ключ API Serpstack", @@ -425,9 +433,9 @@ "Enter system prompt": "Введіть системний промт", "Enter Tavily API Key": "Введіть ключ API Tavily", "Enter the public URL of your WebUI. This URL will be used to generate links in the notifications.": "Введіть публічний URL вашого WebUI. Цей URL буде використовуватися для генерування посилань у сповіщеннях.", - "Enter Tika Server URL": "Введіть URL-адресу сервера Tika ", - "Enter timeout in seconds": "", - "Enter to Send": "", + "Enter Tika Server URL": "Введіть URL-адресу сервера Tika", + "Enter timeout in seconds": "Введіть тайм-аут у секундах", + "Enter to Send": "Введіть для відправки", "Enter Top K": "Введіть Top K", "Enter URL (e.g. http://127.0.0.1:7860/)": "Введіть URL-адресу (напр., http://127.0.0.1:7860/)", "Enter URL (e.g. http://localhost:11434)": "Введіть URL-адресу (напр., http://localhost:11434)", @@ -447,17 +455,17 @@ "Evaluations": "Оцінювання", "Exa API Key": "Exa API ключ", "Example: (&(objectClass=inetOrgPerson)(uid=%s))": "Приклад: (&(objectClass=inetOrgPerson)(uid=%s))", - "Example: ALL": "Приклад: ВСІ", + "Example: ALL": "Приклад: УСІ", "Example: mail": "Приклад: пошта", "Example: ou=users,dc=foo,dc=example": "Приклад: ou=users,dc=foo,dc=example", "Example: sAMAccountName or uid or userPrincipalName": "Приклад: sAMAccountName або uid або userPrincipalName", - "Exceeded the number of seats in your license. Please contact support to increase the number of seats.": "", + "Exceeded the number of seats in your license. Please contact support to increase the number of seats.": "Перевищено кількість місць у вашій ліцензії. Будь ласка, зверніться до підтримки для збільшення кількості місць.", "Exclude": "Виключити", "Execute code for analysis": "Виконати код для аналізу", - "Expand": "", + "Expand": "Розгорнути", "Experimental": "Експериментальне", - "Explain": "", - "Explain this section to me in more detail": "", + "Explain": "Пояснити", + "Explain this section to me in more detail": "Поясніть цю секцію детальніше", "Explore the cosmos": "Досліджуйте космос", "Export": "Експорт", "Export All Archived Chats": "Експорт всіх архівованих чатів", @@ -471,6 +479,7 @@ "Export Prompts": "Експорт промтів", "Export to CSV": "Експорт в CSV", "Export Tools": "Експорт інструментів", + "External": "Зовнішній", "External Models": "Зовнішні моделі", "Failed to add file.": "Не вдалося додати файл.", "Failed to create API Key.": "Не вдалося створити API ключ.", @@ -479,7 +488,7 @@ "Failed to save models configuration": "Не вдалося зберегти конфігурацію моделей", "Failed to update settings": "Не вдалося оновити налаштування", "Failed to upload file.": "Не вдалося завантажити файл.", - "Features": "", + "Features": "Особливості", "Features Permissions": "Дозволи функцій", "February": "Лютий", "Feedback History": "Історія відгуків", @@ -509,7 +518,7 @@ "Form": "Форма", "Format your variables using brackets like this:": "Форматуйте свої змінні, використовуючи фігурні дужки таким чином:", "Frequency Penalty": "Штраф за частоту", - "Full Context Mode": "", + "Full Context Mode": "Режим повного контексту", "Function": "Функція", "Function Calling": "Виклик функцій", "Function created successfully": "Функцію успішно створено", @@ -524,13 +533,13 @@ "Functions allow arbitrary code execution": "Функції дозволяють виконання довільного коду", "Functions allow arbitrary code execution.": "Функції дозволяють виконання довільного коду.", "Functions imported successfully": "Функції успішно імпортовано", - "Gemini": "", - "Gemini API Config": "", - "Gemini API Key is required.": "", + "Gemini": "Gemini", + "Gemini API Config": "Конфігурація Gemini API", + "Gemini API Key is required.": "Потрібен ключ API Gemini.", "General": "Загальні", "Generate an image": "Згенерувати зображення", "Generate Image": "Створити зображення", - "Generate prompt pair": "", + "Generate prompt pair": "Згенерувати пару промтів", "Generating search query": "Сформувати пошуковий запит", "Get started": "Почати", "Get started with {{WEBUI_NAME}}": "Почати з {{WEBUI_NAME}}", @@ -553,7 +562,7 @@ "Hex Color": "Шістнадцятковий колір", "Hex Color - Leave empty for default color": "Шістнадцятковий колір — залиште порожнім для кольору за замовчуванням", "Hide": "Приховати", - "Home": "", + "Home": "Головна", "Host": "Хост", "How can I help you today?": "Чим я можу допомогти вам сьогодні?", "How would you rate this response?": "Як би ви оцінили цю відповідь?", @@ -581,12 +590,13 @@ "Include": "Включити", "Include `--api-auth` flag when running stable-diffusion-webui": "Включіть прапорець `--api-auth` під час запуску stable-diffusion-webui", "Include `--api` flag when running stable-diffusion-webui": "Включіть прапор `--api` при запуску stable-diffusion-webui", - "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", + "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "Впливає на те, як швидко алгоритм реагує на відгуки згенерованого тексту. Нижча швидкість навчання призведе до повільніших коригувань, тоді як вища швидкість навчання зробить алгоритм більш чутливим.", "Info": "Інфо", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "Вставте весь вміст як контекст для всебічної обробки, це рекомендується для складних запитів.", "Input commands": "Команди вводу", "Install from Github URL": "Встановіть з URL-адреси Github", "Instant Auto-Send After Voice Transcription": "Миттєва автоматична відправка після транскрипції голосу", - "Integration": "", + "Integration": "Інтеграція", "Interface": "Інтерфейс", "Invalid file format.": "Неправильний формат файлу.", "Invalid Tag": "Недійсний тег", @@ -624,22 +634,22 @@ "LDAP server updated": "Сервер LDAP оновлено", "Leaderboard": "Таблиця лідерів", "Leave empty for unlimited": "Залиште порожнім для необмеженого розміру", - "Leave empty to include all models from \"{{URL}}/api/tags\" endpoint": "Залиште порожнім, щоб включити всі моделі з кінцевої точки \"{{URL}}/api/tags\"", - "Leave empty to include all models from \"{{URL}}/models\" endpoint": "Залиште порожнім, щоб включити всі моделі з кінцевої точки \"{{URL}}/models\"", - "Leave empty to include all models or select specific models": "Залиште порожнім, щоб включити всі моделі, або виберіть конкретні моделі.", + "Leave empty to include all models from \"{{URL}}/api/tags\" endpoint": "Залиште порожнім, щоб включити усі моделі з кінцевої точки \"{{URL}}/api/tags\"", + "Leave empty to include all models from \"{{URL}}/models\" endpoint": "Залиште порожнім, щоб включити усі моделі з кінцевої точки \"{{URL}}/models\"", + "Leave empty to include all models or select specific models": "Залиште порожнім, щоб включити усі моделі, або виберіть конкретні моделі.", "Leave empty to use the default prompt, or enter a custom prompt": "Залиште порожнім для використання стандартного запиту, або введіть власний запит", "Leave model field empty to use the default model.": "Залиште поле моделі порожнім, щоб використовувати модель за замовчуванням.", - "License": "", + "License": "Ліцензія", "Light": "Світла", "Listening...": "Слухаю...", "Llama.cpp": "Llama.cpp", "LLMs can make mistakes. Verify important information.": "LLMs можуть помилятися. Перевірте важливу інформацію.", - "Loader": "", + "Loader": "Завантажувач", "Loading Kokoro.js...": "Завантаження Kokoro.js...", "Local": "Локальний", "Local Models": "Локальні моделі", - "Location access not allowed": "", - "Logit Bias": "", + "Location access not allowed": "Доступ до місцезнаходження не дозволено", + "Logit Bias": "Логітне зміщення", "Lost": "Втрачене", "LTR": "LTR", "Made by Open WebUI Community": "Зроблено спільнотою OpenWebUI", @@ -713,7 +723,7 @@ "No HTML, CSS, or JavaScript content found.": "HTML, CSS або JavaScript контент не знайдено.", "No inference engine with management support found": "Не знайдено двигуна висновків з підтримкою керування", "No knowledge found": "Знання не знайдено.", - "No memories to clear": "", + "No memories to clear": "Немає спогадів для очищення", "No model IDs": "Немає ID моделей", "No models found": "Моделей не знайдено", "No models selected": "Моделі не вибрано", @@ -743,7 +753,7 @@ "Ollama API settings updated": "Налаштування Ollama API оновлено", "Ollama Version": "Версія Ollama", "On": "Увімк", - "OneDrive": "", + "OneDrive": "OneDrive", "Only alphanumeric characters and hyphens are allowed": "Дозволені тільки алфавітно-цифрові символи та дефіси", "Only alphanumeric characters and hyphens are allowed in the command string.": "У рядку команди дозволено використовувати лише алфавітно-цифрові символи та дефіси.", "Only collections can be edited, create a new knowledge base to edit/add documents.": "Редагувати можна лише колекції, створіть нову базу знань, щоб редагувати або додавати документи.", @@ -780,7 +790,7 @@ "Permission denied when accessing microphone": "Відмовлено у доступі до мікрофона", "Permission denied when accessing microphone: {{error}}": "Доступ до мікрофона заборонено: {{error}}", "Permissions": "Дозволи", - "Perplexity API Key": "", + "Perplexity API Key": "Ключ API для Perplexity", "Personalization": "Персоналізація", "Pin": "Зачепити", "Pinned": "Зачеплено", @@ -795,7 +805,7 @@ "Please carefully review the following warnings:": "Будь ласка, уважно ознайомтеся з наступними попередженнями:", "Please do not close the settings page while loading the model.": "Будь ласка, не закривайте сторінку налаштувань під час завантаження моделі.", "Please enter a prompt": "Будь ласка, введіть підказку", - "Please fill in all fields.": "Будь ласка, заповніть всі поля.", + "Please fill in all fields.": "Будь ласка, заповніть усі поля.", "Please select a model first.": "Будь ласка, спочатку виберіть модель.", "Please select a model.": "Будь ласка, виберіть модель.", "Please select a reason": "Будь ласка, виберіть причину", @@ -803,9 +813,10 @@ "Positive attitude": "Позитивне ставлення", "Prefix ID": "ID префікса", "Prefix ID is used to avoid conflicts with other connections by adding a prefix to the model IDs - leave empty to disable": "ID префікса використовується для уникнення конфліктів з іншими підключеннями шляхом додавання префікса до ID моделей — залиште порожнім, щоб вимкнути", - "Presence Penalty": "", + "Presence Penalty": "Штраф за присутність", "Previous 30 days": "Попередні 30 днів", "Previous 7 days": "Попередні 7 днів", + "Private": "Приватний", "Profile Image": "Зображення профілю", "Prompt": "Підказка", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Підказка (напр., розкажіть мені цікавий факт про Римську імперію)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "Підказку успішно оновлено", "Prompts": "Промти", "Prompts Access": "Доступ до підказок", + "Public": "Публічний", "Pull \"{{searchValue}}\" from Ollama.com": "Завантажити \"{{searchValue}}\" з Ollama.com", "Pull a model from Ollama.com": "Завантажити модель з Ollama.com", "Query Generation Prompt": "Підказка для генерації запиту", @@ -826,7 +838,7 @@ "Reasoning Effort": "Зусилля на міркування", "Record voice": "Записати голос", "Redirecting you to Open WebUI Community": "Перенаправляємо вас до спільноти OpenWebUI", - "Reduces the probability of generating nonsense. A higher value (e.g. 100) will give more diverse answers, while a lower value (e.g. 10) will be more conservative.": "", + "Reduces the probability of generating nonsense. A higher value (e.g. 100) will give more diverse answers, while a lower value (e.g. 10) will be more conservative.": "Зменшує ймовірність генерування нісенітниць. Вищий показник (напр., 100) забезпечить більше різноманітних відповідей, тоді як нижчий показник (напр., 10) буде більш обережним.", "Refer to yourself as \"User\" (e.g., \"User is learning Spanish\")": "Називайте себе \"Користувач\" (напр., \"Користувач вивчає іспанську мову\")", "References from": "Посилання з", "Refused when it shouldn't have": "Відмовив, коли не мав би", @@ -838,21 +850,21 @@ "Rename": "Переназвати", "Reorder Models": "Переставити моделі", "Repeat Last N": "Повторити останні N", - "Repeat Penalty (Ollama)": "", + "Repeat Penalty (Ollama)": "Штраф за повторення (Ollama)", "Reply in Thread": "Відповісти в потоці", "Request Mode": "Режим запиту", "Reranking Model": "Модель переранжування", "Reranking model disabled": "Модель переранжування вимкнена", "Reranking model set to \"{{reranking_model}}\"": "Модель переранжування встановлено на \"{{reranking_model}}\"", "Reset": "Скидання", - "Reset All Models": "Скинути всі моделі", + "Reset All Models": "Скинути усі моделі", "Reset Upload Directory": "Скинути каталог завантажень", "Reset Vector Storage/Knowledge": "Скинути векторне сховище/Знання", "Reset view": "Скинути вигляд", "Response notifications cannot be activated as the website permissions have been denied. Please visit your browser settings to grant the necessary access.": "Сповіщення про відповіді не можуть бути активовані, оскільки вам було відмовлено в доступі до веб-сайту. Будь ласка, відвідайте налаштування вашого браузера, щоб надати необхідний доступ.", "Response splitting": "Розбиття відповіді", "Result": "Результат", - "Retrieval": "", + "Retrieval": "Пошук", "Retrieval Query Generation": "Генерація запиту для отримання даних", "Rich Text Input for Chat": "Ввід тексту з форматуванням для чату", "RK": "RK", @@ -914,8 +926,8 @@ "Send message": "Надіслати повідомлення", "Sends `stream_options: { include_usage: true }` in the request.\nSupported providers will return token usage information in the response when set.": "Відправляє `stream_options: { include_usage: true }` у запиті.\nПідтримувані постачальники повернуть інформацію про використання токену у відповіді, якщо вона встановлена.", "September": "Вересень", - "SerpApi API Key": "", - "SerpApi Engine": "", + "SerpApi API Key": "Ключ API SerpApi", + "SerpApi Engine": "Рушій SerpApi", "Serper API Key": "Ключ API Serper", "Serply API Key": "Ключ API Serply", "Serpstack API Key": "Ключ API Serpstack", @@ -935,11 +947,11 @@ "Set the number of worker threads used for computation. This option controls how many threads are used to process incoming requests concurrently. Increasing this value can improve performance under high concurrency workloads but may also consume more CPU resources.": "Встановити кількість робочих потоків, що використовуються для обробки інформації. Ця опція керує кількістю потоків, що використовуються для обробки надходження запитів одночасно. Збільшення цього значення може підвищити продуктивність при великій одночасності робіт, але також може споживати більше ресурсів CPU.", "Set Voice": "Встановити голос", "Set whisper model": "Встановити модель whisper", - "Sets a flat bias against tokens that have appeared at least once. A higher value (e.g., 1.5) will penalize repetitions more strongly, while a lower value (e.g., 0.9) will be more lenient. At 0, it is disabled.": "", - "Sets a scaling bias against tokens to penalize repetitions, based on how many times they have appeared. A higher value (e.g., 1.5) will penalize repetitions more strongly, while a lower value (e.g., 0.9) will be more lenient. At 0, it is disabled.": "", - "Sets how far back for the model to look back to prevent repetition.": "", - "Sets the random number seed to use for generation. Setting this to a specific number will make the model generate the same text for the same prompt.": "", - "Sets the size of the context window used to generate the next token.": "", + "Sets a flat bias against tokens that have appeared at least once. A higher value (e.g., 1.5) will penalize repetitions more strongly, while a lower value (e.g., 0.9) will be more lenient. At 0, it is disabled.": "Встановлює фіксоване зміщення проти токенів, які з'явилися хоча б один раз. Вищий показник (напр., 1.5) сильніше штрафує за повторення, тоді як нижчий показник (напр., 0.9) буде більш м'яким. При значенні 0, ця опція вимкнена.", + "Sets a scaling bias against tokens to penalize repetitions, based on how many times they have appeared. A higher value (e.g., 1.5) will penalize repetitions more strongly, while a lower value (e.g., 0.9) will be more lenient. At 0, it is disabled.": "Встановлює масштабоване зміщення проти токенів для штрафування повторів, залежно від того, скільки разів вони з'являлися. Вищий показник (напр., 1.5) сильніше штрафує за повторення, тоді як нижчий показник (напр., 0.9) буде більш м'яким. При значенні 0, ця опція вимкнена.", + "Sets how far back for the model to look back to prevent repetition.": "Встановлює, на скільки кроків назад модель повинна звертати увагу, щоб запобігти повторенням.", + "Sets the random number seed to use for generation. Setting this to a specific number will make the model generate the same text for the same prompt.": "Встановлює початкове значення випадкового числа, яке використовується для генерації. Встановлення конкретного числа забезпечить однаковий текст для того ж запиту.", + "Sets the size of the context window used to generate the next token.": "Встановлює розмір вікна контексту, яке використовується для генерації наступного токена.", "Sets the stop sequences to use. When this pattern is encountered, the LLM will stop generating text and return. Multiple stop patterns may be set by specifying multiple separate stop parameters in a modelfile.": "Встановлює послідовності зупинки, які будуть використовуватися. Коли зустрічається така послідовність, LLM припиняє генерацію тексту і повертає результат. Можна встановити кілька послідовностей зупинки, вказавши кілька окремих параметрів зупинки у файлі моделі.", "Settings": "Налаштування", "Settings saved successfully!": "Налаштування успішно збережено!", @@ -947,7 +959,7 @@ "Share Chat": "Поділитися чатом", "Share to Open WebUI Community": "Поділитися зі спільнотою OpenWebUI", "Show": "Показати", - "Show \"What's New\" modal on login": "Показати модальне вікно \"Що нового\" під час входу.", + "Show \"What's New\" modal on login": "Показати модальне вікно \"Що нового\" під час входу", "Show Admin Details in Account Pending Overlay": "Відобразити дані адміна у вікні очікування облікового запису", "Show shortcuts": "Показати клавіатурні скорочення", "Show your support!": "Підтримайте нас!", @@ -979,12 +991,13 @@ "System": "Система", "System Instructions": "Системні інструкції", "System Prompt": "Системний промт", + "Tags": "Теги", "Tags Generation": "Генерація тегів", "Tags Generation Prompt": "Підказка для генерації тегів", - "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", - "Talk to model": "", + "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "Вибірка без хвоста використовується для зменшення впливу менш ймовірних токенів на результат. Вищий показник (напр., 2.0) зменшить вплив сильніше, тоді як значення 1.0 вимикає цю опцію.", + "Talk to model": "Спілкуватися з моделлю", "Tap to interrupt": "Натисніть, щоб перервати", - "Tasks": "", + "Tasks": "Завдання", "Tavily API Key": "Ключ API Tavily", "Tell us more:": "Розкажи нам більше:", "Temperature": "Температура", @@ -996,7 +1009,7 @@ "Thanks for your feedback!": "Дякуємо за ваш відгук!", "The Application Account DN you bind with for search": "DN облікового запису застосунку, з яким ви здійснюєте прив'язку для пошуку", "The base to search for users": "База для пошуку користувачів", - "The batch size determines how many text requests are processed together at once. A higher batch size can increase the performance and speed of the model, but it also requires more memory.": "", + "The batch size determines how many text requests are processed together at once. A higher batch size can increase the performance and speed of the model, but it also requires more memory.": "Розмір пакету визначає, скільки текстових запитів обробляється одночасно. Більший розмір пакету може підвищити продуктивність і швидкість моделі, але також вимагає більше пам'яті.", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "Розробники цього плагіна - пристрасні волонтери зі спільноти. Якщо ви вважаєте цей плагін корисним, будь ласка, зробіть свій внесок у його розвиток.", "The evaluation leaderboard is based on the Elo rating system and is updated in real-time.": "Таблиця лідерів оцінки базується на системі рейтингу Ело і оновлюється в реальному часі.", "The LDAP attribute that maps to the mail that users use to sign in.": "LDAP-атрибут, який відповідає за пошту, яку користувачі використовують для входу.", @@ -1005,21 +1018,22 @@ "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "Максимальний розмір файлу в МБ. Якщо розмір файлу перевищує цей ліміт, файл не буде завантажено.", "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "Максимальна кількість файлів, які можна використати одночасно в чаті. Якщо кількість файлів перевищує цей ліміт, файли не будуть завантажені.", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "Оцінка повинна бути в діапазоні від 0.0 (0%) до 1.0 (100%).", - "The temperature of the model. Increasing the temperature will make the model answer more creatively.": "", + "The temperature of the model. Increasing the temperature will make the model answer more creatively.": "Температура моделі. Збільшення температури зробить відповіді моделі більш креативними.", "Theme": "Тема", "Thinking...": "Думаю...", "This action cannot be undone. Do you wish to continue?": "Цю дію не можна скасувати. Ви бажаєте продовжити?", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "Цей канал був створений {{createdAt}}. Це самий початок каналу {{channelName}}.", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Це забезпечує збереження ваших цінних розмов у безпечному бекенд-сховищі. Дякуємо!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "Це експериментальна функція, вона може працювати не так, як очікувалося, і може бути змінена в будь-який час.", - "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", - "This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "", + "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "Ця опція контролює, скільки токенів зберігається при оновленні контексту. Наприклад, якщо встановити значення 2, останні 2 токени контексту розмови будуть збережені. Збереження контексту допомагає підтримувати послідовність розмови, але може зменшити здатність реагувати на нові теми.", + "This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "Ця опція встановлює максимальну кількість токенів, які модель може згенерувати у своїй відповіді. Збільшення цього ліміту дозволяє моделі надавати довші відповіді, але також може підвищити ймовірність генерації непотрібного або нерелевантного контенту.", "This option will delete all existing files in the collection and replace them with newly uploaded files.": "Цей варіант видалить усі існуючі файли в колекції та замінить їх новими завантаженими файлами.", "This response was generated by \"{{model}}\"": "Цю відповідь згенеровано за допомогою \"{{model}}\"", "This will delete": "Це призведе до видалення", - "This will delete {{NAME}} and all its contents.": "Це видалить {{NAME}} та всі його вмісти.", + "This will delete {{NAME}} and all its contents.": "Це видалить {{NAME}} та усі його вмісти.", "This will delete all models including custom models": "Це видалить усі моделі, включаючи користувацькі моделі", "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": "Детальне пояснення", "Thought for {{DURATION}}": "Думка для {{DURATION}}", "Thought for {{DURATION}} seconds": "Думав протягом {{DURATION}} секунд.", @@ -1031,7 +1045,7 @@ "Title (e.g. Tell me a fun fact)": "Заголовок (напр., Розкажіть мені цікавий факт)", "Title Auto-Generation": "Автогенерація заголовків", "Title cannot be an empty string.": "Заголовок не може бути порожнім рядком.", - "Title Generation": "", + "Title Generation": "Генерація заголовка", "Title Generation Prompt": "Промт для генерування заголовків", "TLS": "TLS", "To access the available model names for downloading,": "Щоб отримати доступ до назв доступних для завантаження моделей,", @@ -1067,7 +1081,7 @@ "Top P": "Top P", "Transformers": "Трансформери", "Trouble accessing Ollama?": "Проблеми з доступом до Ollama?", - "Trust Proxy Environment": "", + "Trust Proxy Environment": "Довіряти середовищу проксі", "TTS Model": "Модель TTS", "TTS Settings": "Налаштування TTS", "TTS Voice": "Голос TTS", @@ -1076,7 +1090,7 @@ "Uh-oh! There was an issue with the response.": "Ой-ой! Сталася проблема з відповіддю.", "UI": "Користувацький інтерфейс", "Unarchive All": "Розархівувати все", - "Unarchive All Archived Chats": "Розархівувати всі архівовані чати", + "Unarchive All Archived Chats": "Розархівувати усі архівовані чати", "Unarchive Chat": "Розархівувати чат", "Unlock mysteries": "Розкрийте таємниці", "Unpin": "Відчепити", @@ -1089,7 +1103,7 @@ "Updated": "Оновлено", "Updated at": "Оновлено на", "Updated At": "Оновлено на", - "Upgrade to a licensed plan for enhanced capabilities, including custom theming and branding, and dedicated support.": "", + "Upgrade to a licensed plan for enhanced capabilities, including custom theming and branding, and dedicated support.": "Оновіть до ліцензованого плану для розширених можливостей, включаючи кастомізацію теми та брендування, а також спеціалізовану підтримку.", "Upload": "Завантажити", "Upload a GGUF model": "Завантажити GGUF модель", "Upload directory": "Завантажити каталог", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "Клапани успішно оновлено", "variable": "змінна", "variable to have them replaced with clipboard content.": "змінна, щоб замінити їх вмістом буфера обміну.", + "Verify Connection": "Перевірити з'єднання", "Version": "Версія", "Version {{selectedVersion}} of {{totalVersions}}": "Версія {{selectedVersion}} з {{totalVersions}}", "View Replies": "Переглянути відповіді", @@ -1127,11 +1142,11 @@ "Warning": "Увага!", "Warning:": "Увага:", "Warning: Enabling this will allow users to upload arbitrary code on the server.": "Попередження: Увімкнення цього дозволить користувачам завантажувати довільний код на сервер.", - "Warning: If you update or change your embedding model, you will need to re-import all documents.": "Попередження: Якщо ви оновлюєте або змінюєте модель вбудовування, вам потрібно буде повторно імпортувати всі документи.", - "Warning: Jupyter execution enables arbitrary code execution, posing severe security risks—proceed with extreme caution.": "", + "Warning: If you update or change your embedding model, you will need to re-import all documents.": "Попередження: Якщо ви оновлюєте або змінюєте модель вбудовування, вам потрібно буде повторно імпортувати усі документи.", + "Warning: Jupyter execution enables arbitrary code execution, posing severe security risks—proceed with extreme caution.": "Попередження: Виконання коду в Jupyter дозволяє виконувати任 будь-який код, що становить серйозні ризики для безпеки — дійте з крайньою обережністю.", "Web": "Веб", "Web API": "Веб-API", - "Web Search": "Веб-пошук", + "Web Search": "Веб-Пошук", "Web Search Engine": "Веб-пошукова система", "Web Search in Chat": "Пошук в інтернеті в чаті", "Web Search Query Generation": "Генерація запиту для пошуку в мережі", @@ -1149,7 +1164,7 @@ "Why?": "Чому?", "Widescreen Mode": "Широкоекранний режим", "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.": "", + "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 Permissions": "Дозволи робочого простору.", "Write": "Писати", @@ -1159,11 +1174,10 @@ "Write your model template content here": "Напишіть вміст шаблону моделі тут", "Yesterday": "Вчора", "You": "Ви", - "You are currently using a trial license. Please contact support to upgrade your license.": "", + "You are currently using a trial license. Please contact support to upgrade your license.": "Ви наразі використовуєте пробну ліцензію. Будь ласка, зверніться до підтримки для оновлення вашої ліцензії.", "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "Ви можете спілкуватися лише з максимальною кількістю {{maxCount}} файлів одночасно.", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Ви можете налаштувати ваші взаємодії з мовними моделями, додавши спогади через кнопку 'Керувати' внизу, що зробить їх більш корисними та персоналізованими для вас.", "You cannot upload an empty file.": "Ви не можете завантажити порожній файл.", - "You do not have permission to access this feature.": "У вас немає дозволу на доступ до цієї функції.", "You do not have permission to upload files": "У вас немає дозволу на завантаження файлів", "You do not have permission to upload files.": "У вас немає дозволу завантажувати файли.", "You have no archived conversations.": "У вас немає архівованих розмов.", @@ -1173,6 +1187,6 @@ "Your account status is currently pending activation.": "Статус вашого облікового запису наразі очікує на активацію.", "Your entire contribution will go directly to the plugin developer; Open WebUI does not take any percentage. However, the chosen funding platform might have its own fees.": "Весь ваш внесок піде безпосередньо розробнику плагіна; Open WebUI не бере жодних відсотків. Однак, обрана платформа фінансування може мати свої власні збори.", "Youtube": "Youtube", - "Youtube Language": "", - "Youtube Proxy URL": "" + "Youtube Language": "Мова YouTube", + "Youtube Proxy URL": "URL проксі-сервера YouTube" } diff --git a/src/lib/i18n/locales/ur-PK/translation.json b/src/lib/i18n/locales/ur-PK/translation.json index ffd539aa3..0db67a508 100644 --- a/src/lib/i18n/locales/ur-PK/translation.json +++ b/src/lib/i18n/locales/ur-PK/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "(مثال کے طور پر: `sh webui.sh --api --api-auth username_password`)", "(e.g. `sh webui.sh --api`)": "(مثال کے طور پر: `sh webui.sh --api`)", "(latest)": "(تازہ ترین)", + "(Ollama)": "", "{{ models }}": "{{ ماڈلز }}", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "", @@ -68,6 +69,8 @@ "Already have an account?": "کیا پہلے سے اکاؤنٹ موجود ہے؟", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "", "an assistant": "معاون", "Analyzed": "", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "ڈیفالٹ پرامپٹ تجاویز", "Default to 389 or 636 if TLS is enabled": "", "Default to ALL": "", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "ڈیفالٹ صارف کا کردار", "Delete": "حذف کریں", "Delete a model": "ایک ماڈل حذف کریں", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "", "Description": "تفصیل", "Didn't fully follow instructions": "ہدایات کو مکمل طور پر نہیں سمجھا", + "Direct": "", "Direct Connections": "", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", "Direct Connections settings updated": "", @@ -314,6 +319,8 @@ "Dive into knowledge": "", "Do not install functions from sources you do not fully trust.": "ایسی جگہوں سے فنکشنز انسٹال نہ کریں جن پر آپ مکمل بھروسہ نہیں کرتے", "Do not install tools from sources you do not fully trust.": "جن ذرائع پر آپ مکمل بھروسہ نہیں کرتے، ان سے ٹولز انسٹال نہ کریں", + "Docling": "", + "Docling Server URL required.": "", "Document": "دستاویز", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "چنک سائز درج کریں", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "تفصیل درج کریں", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "", @@ -471,6 +479,7 @@ "Export Prompts": "پرامپٹس برآمد کریں", "Export to CSV": "", "Export Tools": "ایکسپورٹ ٹولز", + "External": "", "External Models": "بیرونی ماڈلز", "Failed to add file.": "فائل شامل کرنے میں ناکام", "Failed to create API Key.": "API کلید بنانے میں ناکام", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "اسٹیبل-ڈیفیوژن-ویب یو آئی چلانے کے دوران `--api` فلیگ شامل کریں", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "معلومات", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "کمانڈز داخل کریں", "Install from Github URL": "گِٹ حب یو آر ایل سے انسٹال کریں", "Instant Auto-Send After Voice Transcription": "آواز کی نقل کے بعد فوری خودکار بھیجنا", @@ -806,6 +816,7 @@ "Presence Penalty": "", "Previous 30 days": "پچھلے 30 دن", "Previous 7 days": "پچھلے 7 دن", + "Private": "", "Profile Image": "پروفائل تصویر", "Prompt": "", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "سوال کریں (مثلاً: مجھے رومن سلطنت کے بارے میں کوئی دلچسپ حقیقت بتائیں)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "", "Prompts": "پرومپٹس", "Prompts Access": "", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "Ollama.com سے \"{{searchValue}}\" کو کھینچیں", "Pull a model from Ollama.com": "Ollama.com سے ماڈل حاصل کریں", "Query Generation Prompt": "", @@ -979,6 +991,7 @@ "System": "سسٹم", "System Instructions": "نظام کی ہدایات", "System Prompt": "سسٹم پرومپٹ", + "Tags": "", "Tags Generation": "", "Tags Generation Prompt": "پرمپٹ کے لیے ٹیگز بنائیں", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1009,6 +1022,7 @@ "Theme": "تھیم", "Thinking...": "سوچ رہا ہے...", "This action cannot be undone. Do you wish to continue?": "یہ عمل واپس نہیں کیا جا سکتا کیا آپ جاری رکھنا چاہتے ہیں؟", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "یہ یقینی بناتا ہے کہ آپ کی قیمتی گفتگو محفوظ طریقے سے آپ کے بیک اینڈ ڈیٹا بیس میں محفوظ کی گئی ہیں شکریہ!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "یہ ایک تجرباتی خصوصیت ہے، یہ متوقع طور پر کام نہ کر سکتی ہو اور کسی بھی وقت تبدیل کی جا سکتی ہے", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "والو کامیابی کے ساتھ اپ ڈیٹ ہو گئے", "variable": "متغیر", "variable to have them replaced with clipboard content.": "انہیں کلپ بورڈ کے مواد سے تبدیل کرنے کے لیے متغیر", + "Verify Connection": "", "Version": "ورژن", "Version {{selectedVersion}} of {{totalVersions}}": "ورژن {{selectedVersion}} کا {{totalVersions}} میں سے", "View Replies": "", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "آپ ایک وقت میں زیادہ سے زیادہ {{maxCount}} فائل(وں) کے ساتھ صرف چیٹ کر سکتے ہیں", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "آپ نیچے موجود 'Manage' بٹن کے ذریعے LLMs کے ساتھ اپنی بات چیت کو یادداشتیں شامل کرکے ذاتی بنا سکتے ہیں، جو انہیں آپ کے لیے زیادہ مددگار اور آپ کے متعلق بنائے گی", "You cannot upload an empty file.": "آپ خالی فائل اپلوڈ نہیں کر سکتے", - "You do not have permission to access this feature.": "", "You do not have permission to upload files": "", "You do not have permission to upload files.": "", "You have no archived conversations.": "آپ کے پاس کوئی محفوظ شدہ مکالمات نہیں ہیں", diff --git a/src/lib/i18n/locales/vi-VN/translation.json b/src/lib/i18n/locales/vi-VN/translation.json index 52c7a8201..6a31f9d4e 100644 --- a/src/lib/i18n/locales/vi-VN/translation.json +++ b/src/lib/i18n/locales/vi-VN/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "", "(e.g. `sh webui.sh --api`)": "(vd: `sh webui.sh --api`)", "(latest)": "(mới nhất)", + "(Ollama)": "", "{{ models }}": "{{ mô hình }}", "{{COUNT}} hidden lines": "", "{{COUNT}} Replies": "", @@ -68,6 +69,8 @@ "Already have an account?": "Bạn đã có tài khoản?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "", "Always": "", + "Always Collapse Code Blocks": "", + "Always Expand Details": "", "Amazing": "", "an assistant": "trợ lý", "Analyzed": "", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "Đề xuất prompt mặc định", "Default to 389 or 636 if TLS is enabled": "", "Default to ALL": "", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "", "Default User Role": "Vai trò mặc định", "Delete": "Xóa", "Delete a model": "Xóa mô hình", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "", "Description": "Mô tả", "Didn't fully follow instructions": "Không tuân theo chỉ dẫn một cách đầy đủ", + "Direct": "", "Direct Connections": "", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "", "Direct Connections settings updated": "", @@ -314,6 +319,8 @@ "Dive into knowledge": "", "Do not install functions from sources you do not fully trust.": "Không cài đặt các functions từ các nguồn mà bạn không hoàn toàn tin tưởng.", "Do not install tools from sources you do not fully trust.": "Không cài đặt các tools từ những nguồn mà bạn không hoàn toàn tin tưởng.", + "Docling": "", + "Docling Server URL required.": "", "Document": "Tài liệu", "Document Intelligence": "", "Document Intelligence endpoint and key required.": "", @@ -384,6 +391,7 @@ "Enter Chunk Size": "Nhập Kích thước Chunk", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "", "Enter description": "", + "Enter Docling Server URL": "", "Enter Document Intelligence Endpoint": "", "Enter Document Intelligence Key": "", "Enter domains separated by commas (e.g., example.com,site.org)": "", @@ -471,6 +479,7 @@ "Export Prompts": "Tải các prompt về máy", "Export to CSV": "", "Export Tools": "Tải Tools về máy", + "External": "", "External Models": "Các model ngoài", "Failed to add file.": "", "Failed to create API Key.": "Lỗi khởi tạo API Key", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "Bao gồm flag `--api` khi chạy stable-diffusion-webui", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "", "Info": "Thông tin", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", "Input commands": "Nhập các câu lệnh", "Install from Github URL": "Cài đặt từ Github URL", "Instant Auto-Send After Voice Transcription": "Tự động gửi ngay lập tức sau khi phiên dịch giọng nói", @@ -806,6 +816,7 @@ "Presence Penalty": "", "Previous 30 days": "30 ngày trước", "Previous 7 days": "7 ngày trước", + "Private": "", "Profile Image": "Ảnh đại diện", "Prompt": "", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Prompt (ví dụ: Hãy kể cho tôi một sự thật thú vị về Đế chế La Mã)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "", "Prompts": "Prompt", "Prompts Access": "", + "Public": "", "Pull \"{{searchValue}}\" from Ollama.com": "Tải \"{{searchValue}}\" từ Ollama.com", "Pull a model from Ollama.com": "Tải mô hình từ Ollama.com", "Query Generation Prompt": "", @@ -979,6 +991,7 @@ "System": "Hệ thống", "System Instructions": "", "System Prompt": "Prompt Hệ thống (System Prompt)", + "Tags": "", "Tags Generation": "", "Tags Generation Prompt": "", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "", @@ -1009,6 +1022,7 @@ "Theme": "Chủ đề", "Thinking...": "Đang suy luận...", "This action cannot be undone. Do you wish to continue?": "Hành động này không thể được hoàn tác. Bạn có muốn tiếp tục không?", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Điều này đảm bảo rằng các nội dung chat có giá trị của bạn được lưu an toàn vào cơ sở dữ liệu backend của bạn. Cảm ơn bạn!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "Đây là tính năng thử nghiệm, có thể không hoạt động như mong đợi và có thể thay đổi bất kỳ lúc nào.", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "Đã cập nhật Valves thành công", "variable": "biến", "variable to have them replaced with clipboard content.": "biến để có chúng được thay thế bằng nội dung clipboard.", + "Verify Connection": "", "Version": "Version", "Version {{selectedVersion}} of {{totalVersions}}": "", "View Replies": "", @@ -1163,7 +1178,6 @@ "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "Bạn có thể cá nhân hóa các tương tác của mình với LLM bằng cách thêm bộ nhớ thông qua nút 'Quản lý' bên dưới, làm cho chúng hữu ích hơn và phù hợp với bạn hơn.", "You cannot upload an empty file.": "", - "You do not have permission to access this feature.": "", "You do not have permission to upload files": "", "You do not have permission to upload files.": "", "You have no archived conversations.": "Bạn chưa lưu trữ một nội dung chat nào", diff --git a/src/lib/i18n/locales/zh-CN/translation.json b/src/lib/i18n/locales/zh-CN/translation.json index ebb53a1b5..d778b93bd 100644 --- a/src/lib/i18n/locales/zh-CN/translation.json +++ b/src/lib/i18n/locales/zh-CN/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "(例如 `sh webui.sh --api --api-auth username_password`)", "(e.g. `sh webui.sh --api`)": "(例如 `sh webui.sh --api`)", "(latest)": "(最新版)", + "(Ollama)": "(Ollama)", "{{ models }}": "{{ models }}", "{{COUNT}} hidden lines": "{{COUNT}} 行被隐藏", "{{COUNT}} Replies": "{{COUNT}} 回复", @@ -68,6 +69,8 @@ "Already have an account?": "已经拥有账号了?", "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "top_p 的替代方法,旨在确保质量和多样性之间的平衡。参数 p 表示相对于最可能令牌的概率,一个令牌被考虑的最小概率。例如,当 p=0.05 且最可能的令牌概率为 0.9 时,概率值小于 0.045 的词元将被过滤掉。", "Always": "保持", + "Always Collapse Code Blocks": "始终折叠代码块", + "Always Expand Details": "始终展开详细信息", "Amazing": "很棒", "an assistant": "一个助手", "Analyzed": "已分析", @@ -270,6 +273,7 @@ "Default Prompt Suggestions": "默认提示词建议", "Default to 389 or 636 if TLS is enabled": "如果启用 TLS,则默认为 389 或 636", "Default to ALL": "默认为 ALL", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "默认进行分段检索以提取重点和相关内容 (推荐)", "Default User Role": "默认用户角色", "Delete": "删除", "Delete a model": "删除一个模型", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "描述您的知识库和目标", "Description": "描述", "Didn't fully follow instructions": "没有完全遵照指示", + "Direct": "直接", "Direct Connections": "直接连接", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "直接连接功能允许用户连接至其自有的、兼容 OpenAI 的 API 端点。", "Direct Connections settings updated": "直接连接设置已更新", @@ -314,6 +319,8 @@ "Dive into knowledge": "深入知识的海洋", "Do not install functions from sources you do not fully trust.": "切勿安装来源不完全可信的函数。", "Do not install tools from sources you do not fully trust.": "切勿安装来源不完全可信的工具。", + "Docling": "Docling", + "Docling Server URL required.": "需要提供 Docling 服务器 URL", "Document": "文档", "Document Intelligence": "Document Intelligence", "Document Intelligence endpoint and key required.": "需要 Document Intelligence 端点和密钥。", @@ -359,7 +366,7 @@ "Embedding model set to \"{{embedding_model}}\"": "语义向量模型设置为 \"{{embedding_model}}\"", "Enable API Key": "启用 API 密钥", "Enable autocomplete generation for chat messages": "启用聊天消息的输入框内容猜测补全", - "Enable Code Execution": "", + "Enable Code Execution": "启用代码执行", "Enable Code Interpreter": "启用代码解释器", "Enable Community Sharing": "启用分享至社区", "Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "启用内存锁定(mlock)以防止模型数据被交换出RAM。此选项将模型的工作集页面锁定在RAM中,确保它们不会被交换到磁盘。这可以通过避免页面错误和确保快速数据访问来帮助维持性能。", @@ -384,6 +391,7 @@ "Enter Chunk Size": "输入块大小 (Chunk Size)", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "输入以逗号分隔的“token:bias_value”对(例如:5432:100, 413:-100)", "Enter description": "输入简介描述", + "Enter Docling Server URL": "输入 Docling 服务器 URL", "Enter Document Intelligence Endpoint": "输入 Document Intelligence 端点", "Enter Document Intelligence Key": "输入 Document Intelligence 密钥", "Enter domains separated by commas (e.g., example.com,site.org)": "输入以逗号分隔的域名(例如:example.com、site.org)", @@ -451,7 +459,7 @@ "Example: mail": "例如:mail", "Example: ou=users,dc=foo,dc=example": "例如:ou=users,dc=foo,dc=example", "Example: sAMAccountName or uid or userPrincipalName": "例如:sAMAccountName 或 uid 或 userPrincipalName", - "Exceeded the number of seats in your license. Please contact support to increase the number of seats.": "", + "Exceeded the number of seats in your license. Please contact support to increase the number of seats.": "已达到最大授权人数,请联系支持人员提升授权人数。", "Exclude": "排除", "Execute code for analysis": "执行代码进行分析", "Expand": "展开", @@ -471,6 +479,7 @@ "Export Prompts": "导出提示词", "Export to CSV": "导出到 CSV", "Export Tools": "导出工具", + "External": "外部", "External Models": "外部模型", "Failed to add file.": "添加文件失败。", "Failed to create API Key.": "无法创建 API 密钥。", @@ -583,6 +592,7 @@ "Include `--api` flag when running stable-diffusion-webui": "运行 stable-diffusion-webui 时包含 `--api` 参数", "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "影响算法对生成文本反馈的响应速度。较低的学习率将导致调整更慢,而较高的学习率将使算法反应更灵敏。", "Info": "信息", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "注入整个内容作为上下文进行综合处理,适用于复杂查询", "Input commands": "输入命令", "Install from Github URL": "从 Github URL 安装", "Instant Auto-Send After Voice Transcription": "语音转录文字后即时自动发送", @@ -640,7 +650,7 @@ "Local Models": "本地模型", "Location access not allowed": "不允许访问位置信息", "Logit Bias": "Logit 偏置", - "Lost": "丢失", + "Lost": "落败", "LTR": "从左至右", "Made by Open WebUI Community": "由 OpenWebUI 社区制作", "Make sure to enclose them with": "确保将它们包含在内", @@ -806,6 +816,7 @@ "Presence Penalty": "重复惩罚(Presence Penalty)", "Previous 30 days": "过去 30 天", "Previous 7 days": "过去 7 天", + "Private": "私有", "Profile Image": "用户头像", "Prompt": "提示词 (Prompt)", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "提示(例如:给我讲一个关于罗马帝国的趣事。)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "提示词更新成功", "Prompts": "提示词", "Prompts Access": "访问提示词", + "Public": "公共", "Pull \"{{searchValue}}\" from Ollama.com": "从 Ollama.com 拉取 \"{{searchValue}}\"", "Pull a model from Ollama.com": "从 Ollama.com 拉取一个模型", "Query Generation Prompt": "查询生成提示词", @@ -979,6 +991,7 @@ "System": "系统", "System Instructions": "系统指令", "System Prompt": "系统提示词 (System Prompt)", + "Tags": "标签", "Tags Generation": "标签生成", "Tags Generation Prompt": "标签生成提示词", "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "无尾采样用于减少输出中出现概率较小的 Token 的影响。较高的值(例如 2.0)将进一步减少影响,而值 1.0 则禁用此设置。", @@ -1009,6 +1022,7 @@ "Theme": "主题", "Thinking...": "正在思考...", "This action cannot be undone. Do you wish to continue?": "此操作无法撤销。是否确认继续?", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "此频道创建于{{createdAt}},这里是{{channelName}}频道的开始", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "这将确保您的宝贵对话被安全地保存到后台数据库中。感谢!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "这是一个实验功能,可能不会如预期那样工作,而且可能随时发生变化。", "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "此选项控制刷新上下文时保留多少 Token。例如,如果设置为 2,则将保留对话上下文的最后 2 个 Token。保留上下文有助于保持对话的连续性,但可能会降低响应新主题的能力。", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "值更新成功", "variable": "变量", "variable to have them replaced with clipboard content.": "变量将被剪贴板内容替换。", + "Verify Connection": "验证连接", "Version": "版本", "Version {{selectedVersion}} of {{totalVersions}}": "版本 {{selectedVersion}}/{{totalVersions}}", "View Replies": "查看回复", @@ -1159,11 +1174,10 @@ "Write your model template content here": "在此写入模型模板内容", "Yesterday": "昨天", "You": "你", - "You are currently using a trial license. Please contact support to upgrade your license.": "", + "You are currently using a trial license. Please contact support to upgrade your license.": "当前为试用许可证,请联系支持人员升级许可证。", "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "每次对话最多仅能附上 {{maxCount}} 个文件。", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "通过点击下方的“管理”按钮,你可以添加记忆,以个性化大语言模型的互动,使其更有用,更符合你的需求。", "You cannot upload an empty file.": "请勿上传空文件。", - "You do not have permission to access this feature.": "你没有访问此功能的权限。", "You do not have permission to upload files": "你没有上传文件的权限", "You do not have permission to upload files.": "你没有上传文件的权限。", "You have no archived conversations.": "没有已归档的对话。", diff --git a/src/lib/i18n/locales/zh-TW/translation.json b/src/lib/i18n/locales/zh-TW/translation.json index 884e5a19c..daa1da132 100644 --- a/src/lib/i18n/locales/zh-TW/translation.json +++ b/src/lib/i18n/locales/zh-TW/translation.json @@ -4,6 +4,7 @@ "(e.g. `sh webui.sh --api --api-auth username_password`)": "(例如 `sh webui.sh --api --api-auth username_password`)", "(e.g. `sh webui.sh --api`)": "(例如 `sh webui.sh --api`)", "(latest)": "(最新版)", + "(Ollama)": "(Ollama)", "{{ models }}": "{{ models }}", "{{COUNT}} hidden lines": "已隱藏 {{COUNT}} 行", "{{COUNT}} Replies": "{{COUNT}} 回覆", @@ -66,8 +67,10 @@ "Allow Voice Interruption in Call": "允許在通話中打斷語音", "Allowed Endpoints": "允許的端點", "Already have an account?": "已經有帳號了嗎?", - "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "top_p 的替代方案,旨在確保品質與多樣性之間的平衡。參數 p 代表一個 token 被考慮的最低機率,相對於最有可能 token 的機率。例如,當 p=0.05 且最有可能 token 的機率為 0.9 時,機率小於 0.045 的 logits 將被過濾掉。", + "Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out.": "top_p 的替代方案,用於確保品質與多樣性之間的平衡。參數 p 代表一個 token 被考慮的最低機率,相對於最有可能 token 的機率。例如,當 p=0.05 且最有可能 token 的機率為 0.9 時,機率小於 0.045 的 logits 將被過濾掉。", "Always": "總是", + "Always Collapse Code Blocks": "總是摺疊程式碼區塊", + "Always Expand Details": "總是展開詳細資訊", "Amazing": "很棒", "an assistant": "一位助手", "Analyzed": "分析完畢", @@ -130,7 +133,7 @@ "Bing Search V7 Endpoint": "Bing 搜尋 V7 端點", "Bing Search V7 Subscription Key": "Bing 搜尋 V7 訂閱金鑰", "Bocha Search API Key": "Bocha 搜尋 API 金鑰", - "Boosting or penalizing specific tokens for constrained responses. Bias values will be clamped between -100 and 100 (inclusive). (Default: none)": "針對受限的回應,增強或懲罰特定 tokens。偏置值將限制在 -100 到 100 (含)。 (預設: none)", + "Boosting or penalizing specific tokens for constrained responses. Bias values will be clamped between -100 and 100 (inclusive). (Default: none)": "針對受限的回應,增強或懲罰特定 tokens。偏置值將限制在 -100 到 100 (含)。 (預設:none)", "Brave Search API Key": "Brave 搜尋 API 金鑰", "By {{name}}": "由 {{name}} 製作", "Bypass Embedding and Retrieval": "繞過嵌入與檢索", @@ -169,11 +172,11 @@ "Clear memory": "清除記憶", "Clear Memory": "清除記憶", "click here": "點選這裡", - "Click here for filter guides.": "點選這裡查看篩選器指南。", + "Click here for filter guides.": "點選這裡檢視篩選器指南。", "Click here for help.": "點選這裡取得協助。", "Click here to": "點選這裡", "Click here to download user import template file.": "點選這裡下載使用者匯入範本檔案。", - "Click here to learn more about faster-whisper and see the available models.": "點選這裡了解更多關於 faster-whisper 的資訊並查看可用的模型。", + "Click here to learn more about faster-whisper and see the available models.": "點選這裡了解更多關於 faster-whisper 的資訊並檢視可用的模型。", "Click here to see available models.": "點選這裡以檢視可用的模型", "Click here to select": "點選這裡選擇", "Click here to select a csv file.": "點選這裡選擇 CSV 檔案。", @@ -191,9 +194,9 @@ "Code Execution Engine": "程式碼執行引擎", "Code Execution Timeout": "程式執行超時", "Code formatted successfully": "程式碼格式化成功", - "Code Interpreter": "程式碼解釋器", - "Code Interpreter Engine": "程式碼解釋器引擎", - "Code Interpreter Prompt Template": "程式碼解釋器提示詞模板", + "Code Interpreter": "程式碼直譯器", + "Code Interpreter Engine": "程式碼直譯器引擎", + "Code Interpreter Prompt Template": "程式碼直譯器提示詞範本", "Collapse": "摺疊", "Collection": "收藏", "Color": "顏色", @@ -223,9 +226,9 @@ "Continue with Email": "使用 Email 繼續", "Continue with LDAP": "使用 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.": "控制文字轉語音(TTS)請求中如何分割訊息文字。「標點符號」分割為句子,「段落」分割為段落,「無」則保持訊息為單一字串。", - "Control the repetition of token sequences in the generated text. A higher value (e.g., 1.5) will penalize repetitions more strongly, while a lower value (e.g., 1.1) will be more lenient. At 1, it is disabled.": "控制生成文本中 token 序列的重複程度。較高的值(例如 1.5)會更強烈地懲罰重複,而較低的值(例如 1.1)會更寬容。設為 1 時,此功能將停用。", + "Control the repetition of token sequences in the generated text. A higher value (e.g., 1.5) will penalize repetitions more strongly, while a lower value (e.g., 1.1) will be more lenient. At 1, it is disabled.": "控制生成文字中 token 序列的重複程度。較高的值(例如 1.5)會更強烈地懲罰重複,而較低的值(例如 1.1)會更寬容。設為 1 時,此功能將停用。", "Controls": "控制項", - "Controls the balance between coherence and diversity of the output. A lower value will result in more focused and coherent text.": "控制輸出結果的連貫性與多樣性之間的平衡。數值越低會產生更集中且連貫的文本。", + "Controls the balance between coherence and diversity of the output. A lower value will result in more focused and coherent text.": "控制輸出結果的連貫性與多樣性之間的平衡。數值越低會產生更集中且連貫的文字。", "Copied": "已複製", "Copied shared chat URL to clipboard!": "已複製共用對話 URL 到剪貼簿!", "Copied to clipboard": "已複製到剪貼簿", @@ -250,7 +253,7 @@ "Created At": "建立於", "Created by": "建立者", "CSV Import": "CSV 匯入", - "Ctrl+Enter to Send": "使用 Ctrl+Enter 發送", + "Ctrl+Enter to Send": "使用 Ctrl+Enter 傳送", "Current Model": "目前模型", "Current Password": "目前密碼", "Custom": "自訂", @@ -268,8 +271,9 @@ "Default permissions": "預設權限", "Default permissions updated successfully": "預設權限更新成功", "Default Prompt Suggestions": "預設提示詞建議", - "Default to 389 or 636 if TLS is enabled": "如果啓用了 TLS 則預設為 389 或 636", + "Default to 389 or 636 if TLS is enabled": "如果啟用了 TLS 則預設為 389 或 636", "Default to ALL": "預設到所有", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "預設使用分段檢索以提取聚焦且相關的內容,建議用於大多數情況。", "Default User Role": "預設使用者角色", "Delete": "刪除", "Delete a model": "刪除模型", @@ -292,6 +296,7 @@ "Describe your knowledge base and objectives": "描述您的知識庫和目標", "Description": "描述", "Didn't fully follow instructions": "未完全遵循指示", + "Direct": "直接", "Direct Connections": "直接連線", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "直接連線允許使用者連接到自己的 OpenAI 相容 API 端點。", "Direct Connections settings updated": "直接連線設定已更新。", @@ -314,6 +319,8 @@ "Dive into knowledge": "深入知識", "Do not install functions from sources you do not fully trust.": "請勿從您無法完全信任的來源安裝函式。", "Do not install tools from sources you do not fully trust.": "請勿從您無法完全信任的來源安裝工具。", + "Docling": "Docling", + "Docling Server URL required.": "Docling 伺服器 URL 為必填。", "Document": "文件", "Document Intelligence": "Document Intelligence", "Document Intelligence endpoint and key required.": "需提供 Document Intelligence 端點及金鑰", @@ -359,13 +366,13 @@ "Embedding model set to \"{{embedding_model}}\"": "嵌入模型已設定為 \"{{embedding_model}}\"", "Enable API Key": "啟用 API 金鑰", "Enable autocomplete generation for chat messages": "啟用聊天訊息的自動完成生成", - "Enable Code Execution": "", - "Enable Code Interpreter": "啟用程式碼解釋器", + "Enable Code Execution": "啟用程式碼執行", + "Enable Code Interpreter": "啟用程式碼直譯器", "Enable Community Sharing": "啟用社群分享", "Enable Memory Locking (mlock) to prevent model data from being swapped out of RAM. This option locks the model's working set of pages into RAM, ensuring that they will not be swapped out to disk. This can help maintain performance by avoiding page faults and ensuring fast data access.": "啟用記憶體鎖定(mlock)以防止模型資料被換出 RAM。此選項會將模型的工作頁面集鎖定在 RAM 中,確保它們不會被換出到磁碟。這可以透過避免頁面錯誤和確保快速資料存取來維持效能。", - "Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "啟用記憶體映射(mmap)以載入模型資料。此選項允許系統使用磁碟儲存作為 RAM 的延伸,透過將磁碟檔案視為在 RAM 中來處理。這可以透過允許更快的資料存取來改善模型效能。然而,它可能無法在所有系統上正常運作,並且可能會消耗大量磁碟空間。", + "Enable Memory Mapping (mmap) to load model data. This option allows the system to use disk storage as an extension of RAM by treating disk files as if they were in RAM. This can improve model performance by allowing for faster data access. However, it may not work correctly with all systems and can consume a significant amount of disk space.": "啟用記憶體配置圖(mmap)以載入模型資料。此選項允許系統使用磁碟儲存作為 RAM 的延伸,透過將磁碟檔案視為在 RAM 中來處理。這可以透過允許更快的資料存取來改善模型效能。然而,它可能無法在所有系統上正常運作,並且可能會消耗大量磁碟空間。", "Enable Message Rating": "啟用訊息評分", - "Enable Mirostat sampling for controlling perplexity.": "啟用 Mirostat 採樣以控制 perplexity。", + "Enable Mirostat sampling for controlling perplexity.": "啟用 Mirostat 取樣以控制 perplexity。", "Enable New Sign Ups": "允許新使用者註冊", "Enabled": "已啟用", "Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "請確認您的 CSV 檔案包含以下 4 個欄位,並按照此順序排列:姓名、電子郵件、密碼、角色。", @@ -384,6 +391,7 @@ "Enter Chunk Size": "輸入區塊大小", "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "輸入逗號分隔的 \"token:bias_value\" 配對 (範例:5432:100, 413:-100)", "Enter description": "輸入描述", + "Enter Docling Server URL": "請輸入 Docling 伺服器 URL", "Enter Document Intelligence Endpoint": "輸入 Document Intelligence 端點", "Enter Document Intelligence Key": "輸入 Document Intelligence 金鑰", "Enter domains separated by commas (e.g., example.com,site.org)": "輸入網域,以逗號分隔(例如:example.com, site.org)", @@ -427,11 +435,11 @@ "Enter the public URL of your WebUI. This URL will be used to generate links in the notifications.": "請輸入您 WebUI 的公開 URL。此 URL 將用於在通知中產生連結。", "Enter Tika Server URL": "輸入 Tika 伺服器 URL", "Enter timeout in seconds": "請以秒為單位輸入超時時間", - "Enter to Send": "使用 Enter 發送", + "Enter to Send": "使用 Enter 傳送", "Enter Top K": "輸入 Top K 值", "Enter URL (e.g. http://127.0.0.1:7860/)": "輸入 URL(例如:http://127.0.0.1:7860/)", "Enter URL (e.g. http://localhost:11434)": "輸入 URL(例如:http://localhost:11434)", - "Enter your current password": "輸入您的當前密碼", + "Enter your current password": "輸入您的目前密碼", "Enter Your Email": "輸入您的電子郵件", "Enter Your Full Name": "輸入您的全名", "Enter your message": "輸入您的訊息", @@ -471,10 +479,11 @@ "Export Prompts": "匯出提示詞", "Export to CSV": "匯出為 CSV", "Export Tools": "匯出工具", + "External": "外部", "External Models": "外部模型", "Failed to add file.": "新增檔案失敗。", "Failed to create API Key.": "建立 API 金鑰失敗。", - "Failed to fetch models": "獲取模型失敗", + "Failed to fetch models": "取得模型失敗", "Failed to read clipboard contents": "讀取剪貼簿內容失敗", "Failed to save models configuration": "儲存模型設定失敗", "Failed to update settings": "更新設定失敗", @@ -581,12 +590,13 @@ "Include": "包含", "Include `--api-auth` flag when running stable-diffusion-webui": "執行 stable-diffusion-webui 時包含 `--api-auth` 參數", "Include `--api` flag when running stable-diffusion-webui": "執行 stable-diffusion-webui 時包含 `--api` 參數", - "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "影響算法對生成文本回饋的反應速度。較低的學習率會導致調整速度較慢,而較高的學習率會使算法反應更靈敏。", + "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive.": "影響演算法對生成文本回饋的反應速度。較低的學習率會導致調整速度較慢,而較高的學習率會使演算法反應更靈敏。", "Info": "資訊", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "將完整內容注入為上下文以進行全面處理,建議用於複雜查詢。", "Input commands": "輸入命令", "Install from Github URL": "從 GitHub URL 安裝", "Instant Auto-Send After Voice Transcription": "語音轉錄後立即自動傳送", - "Integration": "集成", + "Integration": "整合", "Interface": "介面", "Invalid file format.": "無效檔案格式。", "Invalid Tag": "無效標籤", @@ -692,7 +702,7 @@ "Modelfile Content": "模型檔案內容", "Models": "模型", "Models Access": "模型存取", - "Models configuration saved successfully": "模型設定保存成功", + "Models configuration saved successfully": "模型設定儲存成功", "Mojeek Search API Key": "Mojeek 搜尋 API 金鑰", "more": "更多", "More": "更多", @@ -755,7 +765,7 @@ "Open file": "開啟檔案", "Open in full screen": "全螢幕開啟", "Open new chat": "開啟新的對話", - "Open WebUI uses faster-whisper internally.": "Open WebUI 使用内部 faster-whisper。", + "Open WebUI uses faster-whisper internally.": "Open WebUI 使用內部 faster-whisper。", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "Open WebUI 使用 SpeechT5 和 CMU Arctic 說話者嵌入。", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "Open WebUI 版本 (v{{OPEN_WEBUI_VERSION}}) 低於所需版本 (v{{REQUIRED_VERSION}})", "OpenAI": "OpenAI", @@ -763,7 +773,7 @@ "OpenAI API Config": "OpenAI API 設定", "OpenAI API Key is required.": "需要 OpenAI API 金鑰。", "OpenAI API settings updated": "OpenAI API 設定已更新", - "OpenAI URL/Key required.": "需要 OpenAI URL或金鑰。", + "OpenAI URL/Key required.": "需要 OpenAI URL 或金鑰。", "or": "或", "Organize your users": "組織您的使用者", "Other": "其他", @@ -796,16 +806,17 @@ "Please do not close the settings page while loading the model.": "載入模型時,請勿關閉設定頁面。", "Please enter a prompt": "請輸入提示詞", "Please fill in all fields.": "請填寫所有欄位。", - "Please select a model first.": "請先選擇型號。", + "Please select a model first.": "請先選擇模型。", "Please select a model.": "請選擇一個模型。", "Please select a reason": "請選擇原因", "Port": "連接埠", "Positive attitude": "積極的態度", - "Prefix ID": "前綴 ID", - "Prefix ID is used to avoid conflicts with other connections by adding a prefix to the model IDs - leave empty to disable": "前綴 ID 用於透過為模型 ID 新增前綴以避免與其他連線衝突 - 留空以停用", + "Prefix ID": "前置 ID", + "Prefix ID is used to avoid conflicts with other connections by adding a prefix to the model IDs - leave empty to disable": "前置 ID 用於透過為模型 ID 新增字首以避免與其他連線衝突 - 留空以停用", "Presence Penalty": "在場懲罰", "Previous 30 days": "過去 30 天", "Previous 7 days": "過去 7 天", + "Private": "私有", "Profile Image": "個人檔案圖片", "Prompt": "提示詞", "Prompt (e.g. Tell me a fun fact about the Roman Empire)": "提示詞(例如:告訴我關於羅馬帝國的一些趣事)", @@ -815,6 +826,7 @@ "Prompt updated successfully": "提示詞更新成功", "Prompts": "提示詞", "Prompts Access": "提示詞存取", + "Public": "公開", "Pull \"{{searchValue}}\" from Ollama.com": "從 Ollama.com 下載「{{searchValue}}」", "Pull a model from Ollama.com": "從 Ollama.com 下載模型", "Query Generation Prompt": "查詢生成提示詞", @@ -848,13 +860,13 @@ "Reset All Models": "重設所有模型", "Reset Upload Directory": "重設上傳目錄", "Reset Vector Storage/Knowledge": "重設向量儲存或知識", - "Reset view": "重設視圖", + "Reset view": "重設檢視", "Response notifications cannot be activated as the website permissions have been denied. Please visit your browser settings to grant the necessary access.": "無法啟用回應通知,因為網站權限已遭拒。請前往瀏覽器設定以授予必要存取權限。", "Response splitting": "回應分割", "Result": "結果", "Retrieval": "檢索", "Retrieval Query Generation": "檢索查詢生成", - "Rich Text Input for Chat": "使用富文本輸入對話", + "Rich Text Input for Chat": "使用富文字輸入對話", "RK": "RK", "Role": "角色", "Rosé Pine": "玫瑰松", @@ -903,7 +915,7 @@ "Select a pipeline url": "選擇管線 URL", "Select a tool": "選擇工具", "Select an auth method": "選擇驗證方式", - "Select an Ollama instance": "選擇一個 Ollama 實例", + "Select an Ollama instance": "選擇一個 Ollama 執行個體", "Select Engine": "選擇引擎", "Select Knowledge": "選擇知識庫", "Select only one model to call": "僅選擇一個模型來呼叫", @@ -938,8 +950,8 @@ "Sets a flat bias against tokens that have appeared at least once. A higher value (e.g., 1.5) will penalize repetitions more strongly, while a lower value (e.g., 0.9) will be more lenient. At 0, it is disabled.": "對至少出現過一次的 token 設定統一的偏差值。較高的值(例如 1.5)會更強烈地懲罰重複,而較低的值(例如 0.9)會更寬容。設為 0 時,此功能將停用。", "Sets a scaling bias against tokens to penalize repetitions, based on how many times they have appeared. A higher value (e.g., 1.5) will penalize repetitions more strongly, while a lower value (e.g., 0.9) will be more lenient. At 0, it is disabled.": "根據 token 出現的次數,設定一個縮放偏差值來懲罰重複。較高的值(例如 1.5)會更強烈地懲罰重複,而較低的值(例如 0.9)會更寬容。設為 0 時,此功能將停用。", "Sets how far back for the model to look back to prevent repetition.": "設定模型回溯多遠以防止重複。", - "Sets the random number seed to use for generation. Setting this to a specific number will make the model generate the same text for the same prompt.": "設定用於生成的隨機數種子。將其設定為特定數字將使模型針對相同的提示生成相同的文本。", - "Sets the size of the context window used to generate the next token.": "設定用於生成下一個 token 的上下文窗口大小。", + "Sets the random number seed to use for generation. Setting this to a specific number will make the model generate the same text for the same prompt.": "設定用於生成的隨機數種子。將其設定為特定數字將使模型針對相同的提示生成相同的文字。", + "Sets the size of the context window used to generate the next token.": "設定用於生成下一個 token 的上下文視窗大小。", "Sets the stop sequences to use. When this pattern is encountered, the LLM will stop generating text and return. Multiple stop patterns may be set by specifying multiple separate stop parameters in a modelfile.": "設定要使用的停止序列。當遇到此模式時,大型語言模型將停止生成文字並返回。可以在模型檔案中指定多個單獨的停止參數來設定多個停止模式。", "Settings": "設定", "Settings saved successfully!": "設定已成功儲存!", @@ -966,7 +978,7 @@ "Speech-to-Text Engine": "語音轉文字 (STT) 引擎", "Stop": "停止", "Stop Sequence": "停止序列", - "Stream Chat Response": "流式對話回應", + "Stream Chat Response": "串流式對話回應", "STT Model": "語音轉文字 (STT) 模型", "STT Settings": "語音轉文字 (STT) 設定", "Subtitle (e.g. about the Roman Empire)": "副標題(例如:關於羅馬帝國)", @@ -979,9 +991,10 @@ "System": "系統", "System Instructions": "系統指令", "System Prompt": "系統提示詞", + "Tags": "標籤", "Tags Generation": "標籤生成", "Tags Generation Prompt": "標籤生成提示詞", - "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "尾部自由採樣用於減少輸出結果中較低機率 token 的影響。較高的值(例如 2.0)會減少更多影響,而值為 1.0 時會停用此設定。", + "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting.": "尾部自由取樣用於減少輸出結果中較低機率 token 的影響。較高的值(例如 2.0)會減少更多影響,而值為 1.0 時會停用此設定。", "Talk to model": "與模型對話", "Tap to interrupt": "點選以中斷", "Tasks": "任務", @@ -996,11 +1009,11 @@ "Thanks for your feedback!": "感謝您的回饋!", "The Application Account DN you bind with for search": "您綁定用於搜尋的應用程式帳號 DN", "The base to search for users": "搜尋使用者的基礎", - "The batch size determines how many text requests are processed together at once. A higher batch size can increase the performance and speed of the model, but it also requires more memory.": "批次大小決定一次處理多少文本請求。較高的批次大小可以提高模型的效能和速度,但也需要更多記憶體。", + "The batch size determines how many text requests are processed together at once. A higher batch size can increase the performance and speed of the model, but it also requires more memory.": "批次大小決定一次處理多少文字請求。較高的批次大小可以提高模型的效能和速度,但也需要更多記憶體。", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "這個外掛背後的開發者是來自社群的熱情志願者。如果您覺得這個外掛很有幫助,請考慮為其開發做出貢獻。", "The evaluation leaderboard is based on the Elo rating system and is updated in real-time.": "評估排行榜基於 Elo 評分系統,並即時更新。", - "The LDAP attribute that maps to the mail that users use to sign in.": "映射到使用者用於登入的使用者郵箱的 LDAP 屬性。", - "The LDAP attribute that maps to the username that users use to sign in.": "映射到使用者用於登入的使用者名稱的 LDAP 屬性。", + "The LDAP attribute that maps to the mail that users use to sign in.": "對映到使用者用於登入的使用者郵箱的 LDAP 屬性。", + "The LDAP attribute that maps to the username that users use to sign in.": "對映到使用者用於登入的使用者名稱的 LDAP 屬性。", "The leaderboard is currently in beta, and we may adjust the rating calculations as we refine the algorithm.": "排行榜目前處於測試階段,我們可能會在改進演算法時調整評分計算方式。", "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "檔案大小上限(MB)。如果檔案大小超過此限制,檔案將不會被上傳。", "The maximum number of files that can be used at once in chat. If the number of files exceeds this limit, the files will not be uploaded.": "對話中一次可使用的最大檔案數量。如果檔案數量超過此限制,檔案將不會被上傳。", @@ -1009,9 +1022,10 @@ "Theme": "主題", "Thinking...": "正在思考...", "This action cannot be undone. Do you wish to continue?": "此操作無法復原。您確定要繼續進行嗎?", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "此頻道建立於 {{createdAt}}。這是 {{channelName}} 頻道的起點。", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "這確保您寶貴的對話會安全地儲存到您的後端資料庫。謝謝!", "This is an experimental feature, it may not function as expected and is subject to change at any time.": "這是一個實驗性功能,它可能無法如預期運作,並且可能會隨時變更。", - "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "此選項控制在刷新上下文時保留多少 token。例如,如果設定為 2,則會保留對話上下文的最後 2 個 token。保留上下文有助於保持對話的連貫性,但也可能降低對新主題的回應能力。", + "This option controls how many tokens are preserved when refreshing the context. For example, if set to 2, the last 2 tokens of the conversation context will be retained. Preserving context can help maintain the continuity of a conversation, but it may reduce the ability to respond to new topics.": "此選項控制在重新整理上下文時保留多少 token。例如,如果設定為 2,則會保留對話上下文的最後 2 個 token。保留上下文有助於保持對話的連貫性,但也可能降低對新主題的回應能力。", "This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "此選項設定模型在其回應中可以生成的最大 token 數量。增加此限制允許模型提供更長的答案,但也可能增加生成無用或不相關內容的可能性。", "This option will delete all existing files in the collection and replace them with newly uploaded files.": "此選項將刪除集合中的所有現有檔案,並用新上傳的檔案取代它們。", "This response was generated by \"{{model}}\"": "此回應由「{{model}}」生成", @@ -1118,6 +1132,7 @@ "Valves updated successfully": "閥門更新成功", "variable": "變數", "variable to have them replaced with clipboard content.": "變數,以便將其替換為剪貼簿內容。", + "Verify Connection": "驗證連線", "Version": "版本", "Version {{selectedVersion}} of {{totalVersions}}": "第 {{selectedVersion}} 版,共 {{totalVersions}} 版", "View Replies": "檢視回覆", @@ -1138,10 +1153,10 @@ "Webhook URL": "Webhook URL", "WebUI Settings": "WebUI 設定", "WebUI URL": "WebUI URL", - "WebUI will make requests to \"{{url}}/api/chat\"": "WebUI 將向 \"{{url}}/api/chat\" 發送請求", - "WebUI will make requests to \"{{url}}/chat/completions\"": "WebUI 將向 \"{{url}}/chat/completions\" 發送請求", - "What are you trying to achieve?": "您正在試圖完成什麽?", - "What are you working on?": "您現在的工作是什麽?", + "WebUI will make requests to \"{{url}}/api/chat\"": "WebUI 將向 \"{{url}}/api/chat\" 傳送請求", + "WebUI will make requests to \"{{url}}/chat/completions\"": "WebUI 將向 \"{{url}}/chat/completions\" 傳送請求", + "What are you trying to achieve?": "您正在試圖完成什麼?", + "What are you working on?": "您現在的工作是什麼?", "What’s New in": "新功能", "When enabled, the model will respond to each chat message in real-time, generating a response as soon as the user sends a message. This mode is useful for live chat applications, but may impact performance on slower hardware.": "啟用時,模型將即時回應每個對話訊息,在使用者傳送訊息後立即生成回應。此模式適用於即時對話應用程式,但在較慢的硬體上可能會影響效能。", "wherever you are": "無論您在何處", @@ -1149,21 +1164,20 @@ "Why?": "為什麼?", "Widescreen Mode": "寬螢幕模式", "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 Permissions": "工作區權限", "Write": "寫入", "Write a prompt suggestion (e.g. Who are you?)": "撰寫提示詞建議(例如:你是誰?)", "Write a summary in 50 words that summarizes [topic or keyword].": "用 50 字寫一篇總結 [主題或關鍵字] 的摘要。", - "Write something...": "寫一些什麽...", - "Write your model template content here": "在此撰寫您的模型範本内容", + "Write something...": "寫一些什麼...", + "Write your model template content here": "在此撰寫您的模型範本內容", "Yesterday": "昨天", "You": "您", "You are currently using a trial license. Please contact support to upgrade your license.": "您目前使用的是試用授權。請聯絡支援以升級您的授權。", "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "您一次最多只能與 {{maxCount}} 個檔案進行對話。", "You can personalize your interactions with LLMs by adding memories through the 'Manage' button below, making them more helpful and tailored to you.": "您可以透過下方的「管理」按鈕新增記憶,將您與大型語言模型的互動個人化,讓它們更有幫助並更符合您的需求。", "You cannot upload an empty file.": "您無法上傳空檔案", - "You do not have permission to access this feature.": "您沒有權限訪問此功能", "You do not have permission to upload files": "您沒有權限上傳檔案", "You do not have permission to upload files.": "您沒有權限上傳檔案。", "You have no archived conversations.": "您沒有已封存的對話。", diff --git a/src/lib/stores/index.ts b/src/lib/stores/index.ts index 4526d3612..3bc4af3f1 100644 --- a/src/lib/stores/index.ts +++ b/src/lib/stores/index.ts @@ -47,7 +47,7 @@ export const chatId = writable(''); export const chatTitle = writable(''); export const channels = writable([]); -export const chats = writable([]); +export const chats = writable(null); export const pinnedChats = writable([]); export const tags = writable([]); diff --git a/src/lib/utils/index.ts b/src/lib/utils/index.ts index 3e905fe53..87a5630e3 100644 --- a/src/lib/utils/index.ts +++ b/src/lib/utils/index.ts @@ -63,8 +63,8 @@ export const replaceTokens = (content, sourceIds, char, user) => { if (Array.isArray(sourceIds)) { sourceIds.forEach((sourceId, idx) => { - const regex = new RegExp(`\\[${idx}\\]`, 'g'); - segment = segment.replace(regex, ``); + const regex = new RegExp(`\\[${idx + 1}\\]`, 'g'); + segment = segment.replace(regex, ``); }); } @@ -608,7 +608,7 @@ export const convertOpenAIChats = (_chats) => { user_id: '', title: convo['title'], chat: chat, - timestamp: convo['timestamp'] + timestamp: convo['create_time'] }); } else { failed++; @@ -752,7 +752,7 @@ export const extractSentencesForAudio = (text: string) => { }; export const getMessageContentParts = (content: string, split_on: string = 'punctuation') => { - content = removeDetails(content, ['reasoning', 'code_interpreter']); + content = removeDetails(content, ['reasoning', 'code_interpreter', 'tool_calls']); const messageContentParts: string[] = []; switch (split_on) { diff --git a/src/routes/(app)/+layout.svelte b/src/routes/(app)/+layout.svelte index 09dbefde8..0a1826301 100644 --- a/src/routes/(app)/+layout.svelte +++ b/src/routes/(app)/+layout.svelte @@ -171,7 +171,11 @@ } // Check if Ctrl + Shift + ' is pressed - if (isCtrlPressed && isShiftPressed && event.key.toLowerCase() === `'`) { + if ( + isCtrlPressed && + isShiftPressed && + (event.key.toLowerCase() === `'` || event.key.toLowerCase() === `"`) + ) { event.preventDefault(); console.log('temporaryChat'); temporaryChatEnabled.set(!$temporaryChatEnabled); diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index aef9719f1..79030e731 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -203,6 +203,22 @@ }; }; + const executeTool = async (data, cb) => { + console.log(data); + // TODO: MCP (SSE) support + // TODO: API Server support + + if (cb) { + cb( + JSON.parse( + JSON.stringify({ + result: null + }) + ) + ); + } + }; + const chatEventHandler = async (event, cb) => { const chat = $page.url.pathname.includes(`/c/${event.chat_id}`); @@ -256,6 +272,9 @@ if (type === 'execute:python') { console.log('execute:python', data); executePythonAsWorker(data.id, data.code, cb); + } else if (type === 'execute:tool') { + console.log('execute:tool', data); + executeTool(data, cb); } else if (type === 'request:chat:completion') { console.log(data, $socket.id); const { session_id, channel, form_data, model } = data; @@ -496,6 +515,9 @@ if ($config) { await setupSocket($config.features?.enable_websocket ?? true); + const currentUrl = `${window.location.pathname}${window.location.search}`; + const encodedUrl = encodeURIComponent(currentUrl); + if (localStorage.token) { // Get Session User Info const sessionUser = await getSessionUser(localStorage.token).catch((error) => { @@ -512,13 +534,13 @@ } else { // Redirect Invalid Session User to /auth Page localStorage.removeItem('token'); - await goto('/auth'); + await goto(`/auth?redirect=${encodedUrl}`); } } else { // Don't redirect if we're already on the auth page // Needed because we pass in tokens from OAuth logins via URL fragments if ($page.url.pathname !== '/auth') { - await goto('/auth'); + await goto(`/auth?redirect=${encodedUrl}`); } } } diff --git a/src/routes/auth/+page.svelte b/src/routes/auth/+page.svelte index 0accf85cc..be8989002 100644 --- a/src/routes/auth/+page.svelte +++ b/src/routes/auth/+page.svelte @@ -140,7 +140,8 @@ onMount(async () => { if ($user !== undefined) { - await goto('/'); + const redirectPath = querystringValue('redirect') || '/'; + goto(redirectPath); } await checkOauthCallback(); diff --git a/static/pyodide/pyodide-lock.json b/static/pyodide/pyodide-lock.json index 68cd9e5f8..796789354 100644 --- a/static/pyodide/pyodide-lock.json +++ b/static/pyodide/pyodide-lock.json @@ -1 +1 @@ -{"info": {"abi_version": "2024_0", "arch": "wasm32", "platform": "emscripten_3_1_58", "python": "3.12.7", "version": "0.27.2"}, "packages": {"affine": {"depends": [], "file_name": "affine-2.4.0-py3-none-any.whl", "imports": ["affine"], "install_dir": "site", "name": "affine", "package_type": "package", "sha256": "465f43c53d566d8631c62020147e94c76c6e89bd3cf7255b91e3c6e1376589d8", "unvendored_tests": true, "version": "2.4.0"}, "affine-tests": {"depends": ["affine"], "file_name": "affine-tests.tar", "imports": [], "install_dir": "site", "name": "affine-tests", "package_type": "package", "sha256": "496ef58c6daf0684e50060026bd9b3b807f03eacf3490dfcd4e610463a660fcd", "unvendored_tests": false, "version": "2.4.0"}, "aiohttp": {"depends": ["aiosignal", "async-timeout", "attrs", "charset-normalizer", "frozenlist", "multidict", "yarl"], "file_name": "aiohttp-3.9.5-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["aiohttp"], "install_dir": "site", "name": "aiohttp", "package_type": "package", "sha256": "9187d627eaf387a56f0518fbd804f7c6caa7fc8bf672fa9efdf60ad4370a170b", "unvendored_tests": true, "version": "3.9.5"}, "aiohttp-tests": {"depends": ["aiohttp"], "file_name": "aiohttp-tests.tar", "imports": [], "install_dir": "site", "name": "aiohttp-tests", "package_type": "package", "sha256": "3f0691239fc606ab18dfa44282257d9dbbc2babd094cde2debdd2767ab7ac0e8", "unvendored_tests": false, "version": "3.9.5"}, "aiosignal": {"depends": ["frozenlist"], "file_name": "aiosignal-1.3.1-py3-none-any.whl", "imports": ["aiosignal"], "install_dir": "site", "name": "aiosignal", "package_type": "package", "sha256": "591e2f6aa2430ad9f511b36332d0c4d481c8b60ff4812673044409f70fc9acfb", "unvendored_tests": false, "version": "1.3.1"}, "altair": {"depends": ["typing-extensions", "jinja2", "jsonschema", "packaging", "narwhals"], "file_name": "altair-5.4.1-py3-none-any.whl", "imports": ["altair"], "install_dir": "site", "name": "altair", "package_type": "package", "sha256": "22b80935bacbbfc514a7ecce044510bc776dd18debdd82f65604c94fae09691d", "unvendored_tests": false, "version": "5.4.1"}, "annotated-types": {"depends": [], "file_name": "annotated_types-0.6.0-py3-none-any.whl", "imports": ["annotated_types"], "install_dir": "site", "name": "annotated-types", "package_type": "package", "sha256": "7415a962cd82322eacb271516c7c1c0a0d7bcd43b318ca058322b5d27b24517e", "unvendored_tests": true, "version": "0.6.0"}, "annotated-types-tests": {"depends": ["annotated-types"], "file_name": "annotated-types-tests.tar", "imports": [], "install_dir": "site", "name": "annotated-types-tests", "package_type": "package", "sha256": "ec8dc09ec048f30ff6c915159315188439435136769a3a7202321c09ca971719", "unvendored_tests": false, "version": "0.6.0"}, "apsw": {"depends": [], "file_name": "apsw-3.47.2.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["apsw"], "install_dir": "site", "name": "apsw", "package_type": "package", "sha256": "ea5d67230168a5f055c52b3b77be071cdf73007bcbd3a3a2b6fd0d99cc627a7d", "unvendored_tests": false, "version": "3.47.2.0"}, "argon2-cffi": {"depends": ["argon2-cffi-bindings"], "file_name": "argon2_cffi-23.1.0-py3-none-any.whl", "imports": ["argon2"], "install_dir": "site", "name": "argon2-cffi", "package_type": "package", "sha256": "934f49e85bceb8beb0c0beff0c80be029887297988d4801dc55fe6691ef89e58", "unvendored_tests": false, "version": "23.1.0"}, "argon2-cffi-bindings": {"depends": ["cffi"], "file_name": "argon2_cffi_bindings-21.2.0-cp312-abi3-pyodide_2024_0_wasm32.whl", "imports": ["_argon2_cffi_bindings"], "install_dir": "site", "name": "argon2-cffi-bindings", "package_type": "package", "sha256": "dd94aa3c2b9a630fe86ba52349380ddb9da63622c26bc623ea8431a30e278259", "unvendored_tests": false, "version": "21.2.0"}, "arro3-compute": {"depends": ["arro3-core"], "file_name": "arro3_compute-0.4.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["arro3.compute"], "install_dir": "site", "name": "arro3-compute", "package_type": "package", "sha256": "3d20915b504c7f2cf54a80e03938560bec35fa392a00215b233227a3d7b312ea", "unvendored_tests": false, "version": "0.4.1"}, "arro3-core": {"depends": [], "file_name": "arro3_core-0.4.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["arro3.core"], "install_dir": "site", "name": "arro3-core", "package_type": "package", "sha256": "3c9770df7027ba8f110d2afbad63f019b7d2d7c0cfafc46e1819b2441ca9d386", "unvendored_tests": false, "version": "0.4.1"}, "arro3-io": {"depends": ["arro3-core"], "file_name": "arro3_io-0.4.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["arro3.io"], "install_dir": "site", "name": "arro3-io", "package_type": "package", "sha256": "da072bcc0b8f8e2d8671e8b3ed19097244331d0db616b073dd5ae11eb565849a", "unvendored_tests": false, "version": "0.4.1"}, "asciitree": {"depends": [], "file_name": "asciitree-0.3.3-py3-none-any.whl", "imports": ["asciitree"], "install_dir": "site", "name": "asciitree", "package_type": "package", "sha256": "3f509fb58e8b0ed0cb084c36a086b1d7e5b798ed68b27276231ed8f65b428fb1", "unvendored_tests": false, "version": "0.3.3"}, "astropy": {"depends": ["packaging", "numpy", "pyerfa", "pyyaml", "astropy_iers_data"], "file_name": "astropy-7.0.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["astropy"], "install_dir": "site", "name": "astropy", "package_type": "package", "sha256": "5ed3238853f36c71c8b8d73c32cc6c08d0c339f799fa0d72bc74f58d86fe8fd3", "unvendored_tests": false, "version": "7.0.0"}, "astropy-iers-data": {"depends": [], "file_name": "astropy_iers_data-0.2024.4.22.0.29.50-py3-none-any.whl", "imports": ["astropy_iers_data"], "install_dir": "site", "name": "astropy_iers_data", "package_type": "package", "sha256": "34d885b3f2a2b7d7c98c990712707c1135add7f7a9697632cf89868f251cd013", "unvendored_tests": true, "version": "0.2024.4.22.0.29.50"}, "astropy-iers-data-tests": {"depends": ["astropy_iers_data"], "file_name": "astropy_iers_data-tests.tar", "imports": [], "install_dir": "site", "name": "astropy_iers_data-tests", "package_type": "package", "sha256": "e227d67965fdba74771df0081354df9519d7c79b9e9a0a81662f94d5b57f775e", "unvendored_tests": false, "version": "0.2024.4.22.0.29.50"}, "asttokens": {"depends": ["six"], "file_name": "asttokens-2.4.1-py2.py3-none-any.whl", "imports": ["asttokens"], "install_dir": "site", "name": "asttokens", "package_type": "package", "sha256": "de1a0afc149b38969fe53a55965367e10fb45b570fc539759f1365e295e8139d", "unvendored_tests": false, "version": "2.4.1"}, "async-timeout": {"depends": [], "file_name": "async_timeout-4.0.3-py3-none-any.whl", "imports": ["async_timeout"], "install_dir": "site", "name": "async-timeout", "package_type": "package", "sha256": "4702dadd2d1b431a44d1c5090dc045ce63f3d5aeb23bcf1474e57c4c7b32ef7f", "unvendored_tests": false, "version": "4.0.3"}, "atomicwrites": {"depends": [], "file_name": "atomicwrites-1.4.1-py2.py3-none-any.whl", "imports": ["atomicwrites"], "install_dir": "site", "name": "atomicwrites", "package_type": "package", "sha256": "b042cb4c980f7c1e6eed67f4bfd32d8f15d573a6852285c4bb85f878d8c0a19c", "unvendored_tests": false, "version": "1.4.1"}, "attrs": {"depends": ["six"], "file_name": "attrs-23.2.0-py3-none-any.whl", "imports": ["attr", "attrs"], "install_dir": "site", "name": "attrs", "package_type": "package", "sha256": "a23f168e4d416843171974929b5a9d546bd4a6dd9f7632cc8b1a46fa43236fc9", "unvendored_tests": false, "version": "23.2.0"}, "autograd": {"depends": ["numpy", "future"], "file_name": "autograd-1.7.0-py3-none-any.whl", "imports": ["autograd"], "install_dir": "site", "name": "autograd", "package_type": "package", "sha256": "c125e6a90889971ffca4b97dff361fa280f9a7225b6da0b6eeb6d5a9d5e6df66", "unvendored_tests": true, "version": "1.7.0"}, "autograd-tests": {"depends": ["autograd"], "file_name": "autograd-tests.tar", "imports": [], "install_dir": "site", "name": "autograd-tests", "package_type": "package", "sha256": "a19acf64fdcd2fb08bc8b8177efb2b7f78c788a46ccc5693d08843436eaa8822", "unvendored_tests": false, "version": "1.7.0"}, "awkward-cpp": {"depends": ["numpy"], "file_name": "awkward_cpp-43-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["awkward_cpp"], "install_dir": "site", "name": "awkward-cpp", "package_type": "package", "sha256": "46fe3991a82b71e3c8a84e0ddf8509e00e7425d9e4acd84e44d8535d155ef451", "unvendored_tests": false, "version": "43"}, "b2d": {"depends": ["numpy", "pydantic", "setuptools", "annotated-types"], "file_name": "b2d-0.7.4-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["b2d"], "install_dir": "site", "name": "b2d", "package_type": "package", "sha256": "c03c088ab3582dc38a3d66253e596cdffbaf7c220aabe45a878307ca409ff1a0", "unvendored_tests": false, "version": "0.7.4"}, "bcrypt": {"depends": [], "file_name": "bcrypt-4.1.2-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["bcrypt"], "install_dir": "site", "name": "bcrypt", "package_type": "package", "sha256": "021155b46b2c7416e9716ff6281a9ed9fd59340f50850831120a7d8cf0dc13fd", "unvendored_tests": false, "version": "4.1.2"}, "beautifulsoup4": {"depends": ["soupsieve"], "file_name": "beautifulsoup4-4.12.3-py3-none-any.whl", "imports": ["bs4"], "install_dir": "site", "name": "beautifulsoup4", "package_type": "package", "sha256": "756d1f28c28b37e5db4c611c8f3231e16cb511b083de8816ba2343cf27b81d1c", "unvendored_tests": true, "version": "4.12.3"}, "beautifulsoup4-tests": {"depends": ["beautifulsoup4"], "file_name": "beautifulsoup4-tests.tar", "imports": [], "install_dir": "site", "name": "beautifulsoup4-tests", "package_type": "package", "sha256": "042cba82c4156b55cbcfcdb281ca2557e4532dad31fecbca037945eaf68a928a", "unvendored_tests": false, "version": "4.12.3"}, "biopython": {"depends": ["numpy"], "file_name": "biopython-1.84-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["Bio", "BioSQL"], "install_dir": "site", "name": "biopython", "package_type": "package", "sha256": "ebe69644476b90deccc189f00810b96d651a2733ddd64931913040d263b33b7b", "unvendored_tests": false, "version": "1.84"}, "bitarray": {"depends": [], "file_name": "bitarray-2.9.2-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["bitarray"], "install_dir": "site", "name": "bitarray", "package_type": "package", "sha256": "890590bb911972a11685846ee4d60b083f0b803f7e2d36609a41cec2906b2904", "unvendored_tests": true, "version": "2.9.2"}, "bitarray-tests": {"depends": ["bitarray"], "file_name": "bitarray-tests.tar", "imports": [], "install_dir": "site", "name": "bitarray-tests", "package_type": "package", "sha256": "121659fad7b88bfd884dcb5e585e9e5ce5889229718a567ae60583766f99e1d9", "unvendored_tests": false, "version": "2.9.2"}, "bitstring": {"depends": ["bitarray"], "file_name": "bitstring-4.1.4-py3-none-any.whl", "imports": ["bitstring"], "install_dir": "site", "name": "bitstring", "package_type": "package", "sha256": "8d43c4cfe97e024476d18a440f4aeefb5c2317fe05671666426e0f702fd5f823", "unvendored_tests": false, "version": "4.1.4"}, "bleach": {"depends": ["webencodings", "packaging", "six"], "file_name": "bleach-6.1.0-py3-none-any.whl", "imports": ["bleach"], "install_dir": "site", "name": "bleach", "package_type": "package", "sha256": "152bcd3e8b3c66f55d359ed8d75285be1a90885038f534db3a90bbcb4bbda3d6", "unvendored_tests": false, "version": "6.1.0"}, "bokeh": {"depends": ["contourpy", "numpy", "jinja2", "pandas", "pillow", "python-dateutil", "six", "typing-extensions", "pyyaml", "xyzservices"], "file_name": "bokeh-3.6.0-py3-none-any.whl", "imports": ["bokeh"], "install_dir": "site", "name": "bokeh", "package_type": "package", "sha256": "dc0a1552460d811eb2c693bf8b7fcb8f3ff688cd43ebd7e891058f2babefcea5", "unvendored_tests": false, "version": "3.6.0"}, "boost-histogram": {"depends": ["numpy"], "file_name": "boost_histogram-1.5.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["boost_histogram"], "install_dir": "site", "name": "boost-histogram", "package_type": "package", "sha256": "21292559f03dc4dd5d1d3aa1b858ef513acb9177006db9c9e85d91bb11cc930a", "unvendored_tests": false, "version": "1.5.0"}, "brotli": {"depends": [], "file_name": "Brotli-1.1.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["brotli"], "install_dir": "site", "name": "brotli", "package_type": "package", "sha256": "be94d49e8deb69e77881cc31c9c34d4200a5948e701e3b9c667daf1922f92d3c", "unvendored_tests": false, "version": "1.1.0"}, "buffer-test": {"depends": [], "file_name": "buffer_test-0.1.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["buffer_test"], "install_dir": "site", "name": "buffer-test", "package_type": "package", "sha256": "05bf589edda8e407e0e35cd76cffd322573906a7b13b40e50f93468a4ad4675f", "unvendored_tests": false, "version": "0.1.1"}, "cachetools": {"depends": [], "file_name": "cachetools-5.3.3-py3-none-any.whl", "imports": ["cachetools"], "install_dir": "site", "name": "cachetools", "package_type": "package", "sha256": "7ddeccd149789a3ca355079e547c4d4e99a5cd2c1b74653914758507b6add9fc", "unvendored_tests": false, "version": "5.3.3"}, "cartopy": {"depends": ["shapely", "pyshp", "pyproj", "geos", "matplotlib", "scipy"], "file_name": "Cartopy-0.24.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["cartopy"], "install_dir": "site", "name": "Cartopy", "package_type": "package", "sha256": "6a4d2dd87d95fb42412b30a444bc31e1c0817cf676ad2243e9bb80f2475b8a29", "unvendored_tests": true, "version": "0.24.1"}, "cartopy-tests": {"depends": ["cartopy"], "file_name": "Cartopy-tests.tar", "imports": [], "install_dir": "site", "name": "Cartopy-tests", "package_type": "package", "sha256": "5512016766a582f520d0b8606f973101fb9364b0557311775a5cb4016b962918", "unvendored_tests": false, "version": "0.24.1"}, "casadi": {"depends": ["numpy"], "file_name": "casadi-3.6.7-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["casadi"], "install_dir": "site", "name": "casadi", "package_type": "package", "sha256": "da8b8c643769893a56de55c3735b0bfa123089532755df26645d80287716ae21", "unvendored_tests": false, "version": "3.6.7"}, "cbor-diag": {"depends": [], "file_name": "cbor_diag-1.0.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["cbor_diag"], "install_dir": "site", "name": "cbor-diag", "package_type": "package", "sha256": "a441a5e0236027af2e69ec4753c63a4aaf13e42c845d823d181e40917ac50b0a", "unvendored_tests": false, "version": "1.0.1"}, "certifi": {"depends": [], "file_name": "certifi-2024.12.14-py3-none-any.whl", "imports": ["certifi"], "install_dir": "site", "name": "certifi", "package_type": "package", "sha256": "b0fe59943d1d650161259833b9a7ecafba38ce7f99ab41b2473249304f4b215b", "unvendored_tests": false, "version": "2024.12.14"}, "cffi": {"depends": ["pycparser"], "file_name": "cffi-1.17.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["cffi"], "install_dir": "site", "name": "cffi", "package_type": "package", "sha256": "216060a8ba3afa1deb8be9175d75ea1c03f1a60145d1e91095a8b911fd1f10ab", "unvendored_tests": false, "version": "1.17.1"}, "cffi-example": {"depends": ["cffi"], "file_name": "cffi_example-0.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["cffi_example"], "install_dir": "site", "name": "cffi_example", "package_type": "package", "sha256": "94fd0b48768aa1b180c2eece308de2401ba4aa7c77182394a2e269bb15a26d8b", "unvendored_tests": false, "version": "0.1"}, "cftime": {"depends": ["numpy"], "file_name": "cftime-1.6.4.post1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["cftime"], "install_dir": "site", "name": "cftime", "package_type": "package", "sha256": "2a53284c738cc5ad8caaad8ed9f18ca3cc0ae1e6547fed7bf42ab403cf5f36df", "unvendored_tests": false, "version": "1.6.4.post1"}, "charset-normalizer": {"depends": [], "file_name": "charset_normalizer-3.3.2-py3-none-any.whl", "imports": ["charset_normalizer"], "install_dir": "site", "name": "charset-normalizer", "package_type": "package", "sha256": "8acf154714f67b1deb8dae69e825d9fd65e1d55e090cb54cad2df6671eb73b23", "unvendored_tests": false, "version": "3.3.2"}, "clarabel": {"depends": ["numpy", "scipy"], "file_name": "clarabel-0.9.0-cp37-abi3-pyodide_2024_0_wasm32.whl", "imports": ["clarabel"], "install_dir": "site", "name": "clarabel", "package_type": "package", "sha256": "2321a26bb99e54c229ff74ba611c8b4a502507eae83d2bf389e5ef96d0816c4c", "unvendored_tests": false, "version": "0.9.0"}, "click": {"depends": [], "file_name": "click-8.1.7-py3-none-any.whl", "imports": ["click"], "install_dir": "site", "name": "click", "package_type": "package", "sha256": "c2b9604d1a4f4aa2d4bc1f3a23b9e86b125256705a8d067981df75f118112626", "unvendored_tests": false, "version": "8.1.7"}, "cligj": {"depends": ["click"], "file_name": "cligj-0.7.2-py3-none-any.whl", "imports": ["cligj"], "install_dir": "site", "name": "cligj", "package_type": "package", "sha256": "23cabb7a6017e89151b02fc81601989abad08af91581dff99efeabae4c46fdd8", "unvendored_tests": false, "version": "0.7.2"}, "clingo": {"depends": ["cffi"], "file_name": "clingo-5.7.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["clingo"], "install_dir": "site", "name": "clingo", "package_type": "package", "sha256": "dd3a149f5d816246ca99ed94ad3ee7b00886d93924bf1e817e34b0383012cbec", "unvendored_tests": false, "version": "5.7.1"}, "cloudpickle": {"depends": [], "file_name": "cloudpickle-3.0.0-py3-none-any.whl", "imports": ["cloudpickle"], "install_dir": "site", "name": "cloudpickle", "package_type": "package", "sha256": "9b7839b924570fcc02f918f94bc95b4197169b89756c73dd82b5b8eb61667178", "unvendored_tests": false, "version": "3.0.0"}, "cmyt": {"depends": ["colorspacious", "matplotlib", "more-itertools", "numpy"], "file_name": "cmyt-2.0.0-py3-none-any.whl", "imports": ["cmyt"], "install_dir": "site", "name": "cmyt", "package_type": "package", "sha256": "f6563bb0942f138e4a218b9f2fbba367a537b7cd0115f9e93a282525dafbf5fa", "unvendored_tests": true, "version": "2.0.0"}, "cmyt-tests": {"depends": ["cmyt"], "file_name": "cmyt-tests.tar", "imports": [], "install_dir": "site", "name": "cmyt-tests", "package_type": "package", "sha256": "184c76099c03adff9e4c2c8486481274594fba658f073176640f96d42be8a131", "unvendored_tests": false, "version": "2.0.0"}, "colorspacious": {"depends": ["numpy"], "file_name": "colorspacious-1.1.2-py2.py3-none-any.whl", "imports": ["colorspacious"], "install_dir": "site", "name": "colorspacious", "package_type": "package", "sha256": "4f6ea6bc9aaf8cfa31370d56da25af0e37a972b563a05ac8a72ed530d6579d3f", "unvendored_tests": false, "version": "1.1.2"}, "contourpy": {"depends": ["numpy"], "file_name": "contourpy-1.3.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["contourpy"], "install_dir": "site", "name": "contourpy", "package_type": "package", "sha256": "76262950782afcb1888a8379ebf657d44f2d761051a610dc11d435903508bc44", "unvendored_tests": false, "version": "1.3.0"}, "coolprop": {"depends": ["numpy", "matplotlib"], "file_name": "CoolProp-6.6.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["CoolProp"], "install_dir": "site", "name": "coolprop", "package_type": "package", "sha256": "8c1a069ca09d5320e4db3d754988a9694da601403ccba0b62dbc36a7cfb7dc2d", "unvendored_tests": true, "version": "6.6.0"}, "coolprop-tests": {"depends": ["coolprop"], "file_name": "coolprop-tests.tar", "imports": [], "install_dir": "site", "name": "coolprop-tests", "package_type": "package", "sha256": "9424d6af3a61671ee799fc0aede136b0f0049c2102797953196e61f7c30649ce", "unvendored_tests": false, "version": "6.6.0"}, "coverage": {"depends": ["sqlite3"], "file_name": "coverage-7.4.4-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["coverage"], "install_dir": "site", "name": "coverage", "package_type": "package", "sha256": "7a85aa0a9ec905ed5e80b7fcd32e60c0e9ea46cb21954a68f286fa649e6a8a44", "unvendored_tests": false, "version": "7.4.4"}, "cpp-exceptions-test": {"depends": [], "file_name": "cpp-exceptions-test-0.1.zip", "imports": [], "install_dir": "dynlib", "name": "cpp-exceptions-test", "package_type": "shared_library", "sha256": "f8a3a2ae760488a58d1b7c39472ea2cc055e5263fe696e15f108804355b2a054", "unvendored_tests": false, "version": "0.1"}, "cpp-exceptions-test2": {"depends": [], "file_name": "cpp_exceptions_test2-1.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["cpp-exceptions-test2"], "install_dir": "site", "name": "cpp-exceptions-test2", "package_type": "package", "sha256": "8cc8c48e7131a8e6c81aea87e7de628898310241a4fc555f70cb44768838697d", "unvendored_tests": false, "version": "1.0"}, "cramjam": {"depends": [], "file_name": "cramjam-2.8.3-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["cramjam"], "install_dir": "site", "name": "cramjam", "package_type": "package", "sha256": "73216c235a829b0e7146544cfdfc0d105739268d9d5facab464ecba2da302a5f", "unvendored_tests": false, "version": "2.8.3"}, "crc32c": {"depends": [], "file_name": "crc32c-2.7.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["crc32c"], "install_dir": "site", "name": "crc32c", "package_type": "package", "sha256": "6d01abf50e692a3f7c0318862d2a23fce272c79e8e1b0c15aa232ffe8df51f1e", "unvendored_tests": false, "version": "2.7.1"}, "cryptography": {"depends": ["openssl", "six", "cffi"], "file_name": "cryptography-42.0.5-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["cryptography"], "install_dir": "site", "name": "cryptography", "package_type": "package", "sha256": "33089d150f53f9a1b8a962f33381a5f6aa0b6169743409cd0e895a5ee594f1f5", "unvendored_tests": false, "version": "42.0.5"}, "css-inline": {"depends": [], "file_name": "css_inline-0.14.6-cp37-abi3-pyodide_2024_0_wasm32.whl", "imports": ["css_inline"], "install_dir": "site", "name": "css-inline", "package_type": "package", "sha256": "8165669ad2e752d684753aaefc38983ebf1b7a21b711ad9e4e0e44c8c6617327", "unvendored_tests": false, "version": "0.14.6"}, "cssselect": {"depends": [], "file_name": "cssselect-1.2.0-py2.py3-none-any.whl", "imports": ["cssselect"], "install_dir": "site", "name": "cssselect", "package_type": "package", "sha256": "dd8e3574b1918238f98e1cc484efecbb8638736bab56c690a51f84fef77d3f34", "unvendored_tests": false, "version": "1.2.0"}, "cvxpy-base": {"depends": ["numpy", "scipy", "clarabel"], "file_name": "cvxpy_base-1.5.1-py3-none-any.whl", "imports": ["cvxpy"], "install_dir": "site", "name": "cvxpy-base", "package_type": "package", "sha256": "5fccbfc6e628c163da2da88e6cfa666090da6174706edc59be54db3b7dba7b99", "unvendored_tests": true, "version": "1.5.1"}, "cvxpy-base-tests": {"depends": ["cvxpy-base"], "file_name": "cvxpy-base-tests.tar", "imports": [], "install_dir": "site", "name": "cvxpy-base-tests", "package_type": "package", "sha256": "f8612395cf47114bfc2ff77de26e62911aa3f773720b63a8c740d4478028beaf", "unvendored_tests": false, "version": "1.5.1"}, "cycler": {"depends": ["six"], "file_name": "cycler-0.12.1-py3-none-any.whl", "imports": ["cycler"], "install_dir": "site", "name": "cycler", "package_type": "package", "sha256": "58e815bd25f79b23d8eacd824207b3f23da1a624f190ab3796ea13c41880ab73", "unvendored_tests": false, "version": "0.12.1"}, "cysignals": {"depends": [], "file_name": "cysignals-1.12.2-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["cysignals"], "install_dir": "site", "name": "cysignals", "package_type": "package", "sha256": "61dc1faffc1937637efd8c7e938ae054f3a94c77d972ec166b1f0431a9171796", "unvendored_tests": false, "version": "1.12.2"}, "cytoolz": {"depends": ["toolz"], "file_name": "cytoolz-0.12.3-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["cytoolz"], "install_dir": "site", "name": "cytoolz", "package_type": "package", "sha256": "6af79d9cd6f6880c1f73f256d528e2704e00c5ab94b885b38ea6312929ab0848", "unvendored_tests": true, "version": "0.12.3"}, "cytoolz-tests": {"depends": ["cytoolz"], "file_name": "cytoolz-tests.tar", "imports": [], "install_dir": "site", "name": "cytoolz-tests", "package_type": "package", "sha256": "17046869dfbd3becf2c8114c31b84087deabba5b53b0518e06daebf224b235b1", "unvendored_tests": false, "version": "0.12.3"}, "decorator": {"depends": [], "file_name": "decorator-5.1.1-py3-none-any.whl", "imports": ["decorator"], "install_dir": "site", "name": "decorator", "package_type": "package", "sha256": "c68b74ca68cc0c533fa1c254a02f4857fcbde1ceb0e332bcf42bb63db6dc0fc5", "unvendored_tests": false, "version": "5.1.1"}, "demes": {"depends": ["attrs", "ruamel.yaml"], "file_name": "demes-0.2.3-py3-none-any.whl", "imports": ["demes"], "install_dir": "site", "name": "demes", "package_type": "package", "sha256": "2f542c978ddbadaf6a0466a880b02c0ae4530b152062a1bce35dcb046b1efe42", "unvendored_tests": false, "version": "0.2.3"}, "deprecation": {"depends": ["packaging"], "file_name": "deprecation-2.1.0-py2.py3-none-any.whl", "imports": ["deprecation"], "install_dir": "site", "name": "deprecation", "package_type": "package", "sha256": "3cd88ec0010dbeb29b52258d6d8dcfe1bb5fd7945be7f4a33ad4085e4537000f", "unvendored_tests": false, "version": "2.1.0"}, "distlib": {"depends": [], "file_name": "distlib-0.3.8-py2.py3-none-any.whl", "imports": ["distlib"], "install_dir": "site", "name": "distlib", "package_type": "package", "sha256": "07c8b4ce9d3a7200e71a2850ef069b6a0a7bd3a492e2468cb731b848dab628bb", "unvendored_tests": false, "version": "0.3.8"}, "docutils": {"depends": [], "file_name": "docutils-0.21.1-py3-none-any.whl", "imports": ["docutils"], "install_dir": "site", "name": "docutils", "package_type": "package", "sha256": "88ff5931f499256e99533d6eaf746de987c108bd2e25a65d7620bd51027aef33", "unvendored_tests": false, "version": "0.21.1"}, "duckdb": {"depends": [], "file_name": "duckdb-1.1.2-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["duckdb"], "install_dir": "site", "name": "duckdb", "package_type": "package", "sha256": "ed6d0c122bcd3fce6778f3786895e4e22f823276da31ecc7cf8274039585af05", "unvendored_tests": false, "version": "1.1.2"}, "ewah-bool-utils": {"depends": [], "file_name": "ewah_bool_utils-1.2.2-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["ewah_bool_utils"], "install_dir": "site", "name": "ewah_bool_utils", "package_type": "package", "sha256": "b8f35bbf6594c197351a7a7dbc3a06d3cfb175d76bbf09ae37b17d86375d8eaa", "unvendored_tests": true, "version": "1.2.2"}, "ewah-bool-utils-tests": {"depends": ["ewah_bool_utils"], "file_name": "ewah_bool_utils-tests.tar", "imports": [], "install_dir": "site", "name": "ewah_bool_utils-tests", "package_type": "package", "sha256": "9e03f7d6b4527266fa6cec3122665a4dca13c884d37ae9a62426fc8bf8d7a609", "unvendored_tests": false, "version": "1.2.2"}, "exceptiongroup": {"depends": [], "file_name": "exceptiongroup-1.2.1-py3-none-any.whl", "imports": ["exceptiongroup"], "install_dir": "site", "name": "exceptiongroup", "package_type": "package", "sha256": "bb57553202b5fee77296b3578edb9a9587ae17460f03cce50e6145deeb38ee3e", "unvendored_tests": false, "version": "1.2.1"}, "executing": {"depends": [], "file_name": "executing-2.0.1-py2.py3-none-any.whl", "imports": ["executing"], "install_dir": "site", "name": "executing", "package_type": "package", "sha256": "1acd3cb0a8559c26c7ca333d25f50930feed74367b15771807e018e4b6c98507", "unvendored_tests": false, "version": "2.0.1"}, "fastparquet": {"depends": ["cramjam", "numpy", "pandas", "fsspec", "packaging"], "file_name": "fastparquet-2024.5.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["fastparquet"], "install_dir": "site", "name": "fastparquet", "package_type": "package", "sha256": "bb7bf805331c83e3e5453e0b4e409544e97d88acd687a4c146112bbaf31d0081", "unvendored_tests": false, "version": "2024.5.0"}, "fiona": {"depends": ["attrs", "certifi", "setuptools", "six", "click", "cligj"], "file_name": "fiona-1.9.5-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["fiona"], "install_dir": "site", "name": "fiona", "package_type": "package", "sha256": "483d6aaab1b5e25fa08b84015fc171f0245a5ca058f646e9c89e621c0cf9d375", "unvendored_tests": true, "version": "1.9.5"}, "fiona-tests": {"depends": ["fiona"], "file_name": "fiona-tests.tar", "imports": [], "install_dir": "site", "name": "fiona-tests", "package_type": "package", "sha256": "66bbc1421329395e4c4053764d3721f93106d2f1953582f45d17df0cd511a78d", "unvendored_tests": false, "version": "1.9.5"}, "fonttools": {"depends": [], "file_name": "fonttools-4.51.0-py3-none-any.whl", "imports": ["fontTools"], "install_dir": "site", "name": "fonttools", "package_type": "package", "sha256": "1ca523c75a5926a5527612c7a2303cee671af8f27e04a82eafce0dfc8cdb8e03", "unvendored_tests": false, "version": "4.51.0"}, "fpcast-test": {"depends": [], "file_name": "fpcast_test-0.1.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["fpcast_test"], "install_dir": "site", "name": "fpcast-test", "package_type": "package", "sha256": "f85fbbf6f2f69946fda6dd59e7433f01d128a35da33d0435e6f220cb5516e5c3", "unvendored_tests": false, "version": "0.1.1"}, "freesasa": {"depends": [], "file_name": "freesasa-2.2.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["freesasa"], "install_dir": "site", "name": "freesasa", "package_type": "package", "sha256": "ad0d21286e6b8a5d318b614f1d48d8796d38d035f3d0175b9e05cfc1d1979791", "unvendored_tests": false, "version": "2.2.1"}, "frozenlist": {"depends": [], "file_name": "frozenlist-1.4.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["frozenlist"], "install_dir": "site", "name": "frozenlist", "package_type": "package", "sha256": "b4be6f3f2280322295663cfaa7c4bbdb9c9eb48e00efe3677386bcaaad066af1", "unvendored_tests": false, "version": "1.4.1"}, "fsspec": {"depends": [], "file_name": "fsspec-2024.3.1-py3-none-any.whl", "imports": ["fsspec"], "install_dir": "site", "name": "fsspec", "package_type": "package", "sha256": "ba9d42bdecf772af2e01f416c471a8dc60dfb28e726cc414ffcd944291819e02", "unvendored_tests": true, "version": "2024.3.1"}, "fsspec-tests": {"depends": ["fsspec"], "file_name": "fsspec-tests.tar", "imports": [], "install_dir": "site", "name": "fsspec-tests", "package_type": "package", "sha256": "4171ee772a8235aa21e79cf6a6f657b96c94a1cf0a5ff967f924cfcd6261a845", "unvendored_tests": false, "version": "2024.3.1"}, "future": {"depends": [], "file_name": "future-1.0.0-py3-none-any.whl", "imports": ["future"], "install_dir": "site", "name": "future", "package_type": "package", "sha256": "6c8b0a269573529600423c9c31773d39750bec142fde487522e17541efbef054", "unvendored_tests": true, "version": "1.0.0"}, "future-tests": {"depends": ["future"], "file_name": "future-tests.tar", "imports": [], "install_dir": "site", "name": "future-tests", "package_type": "package", "sha256": "d5e3fdf179d19a15a34ca58f9009bcf4c1affabb3513c832218d06929e522b0a", "unvendored_tests": false, "version": "1.0.0"}, "galpy": {"depends": ["numpy", "scipy", "matplotlib", "astropy", "future", "setuptools"], "file_name": "galpy-1.10.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["galpy"], "install_dir": "site", "name": "galpy", "package_type": "package", "sha256": "87e4846e0541de0496f75306dfbf09793d1fa78e5c66dcfd3583a95d64955360", "unvendored_tests": false, "version": "1.10.1"}, "gdal": {"depends": ["geos"], "file_name": "gdal-3.8.3.zip", "imports": [], "install_dir": "dynlib", "name": "gdal", "package_type": "shared_library", "sha256": "0f60e3622732fe52face32551dcb07f78fa5f5545845c070348e3b7a30894ce3", "unvendored_tests": false, "version": "3.8.3"}, "gensim": {"depends": ["numpy", "scipy", "six", "smart-open", "wrapt"], "file_name": "gensim-4.3.3-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["gensim"], "install_dir": "site", "name": "gensim", "package_type": "package", "sha256": "6527a685053691942ac2f756e342b46c6c1f3a314c7e9835c59e4e684e0ba033", "unvendored_tests": true, "version": "4.3.3"}, "gensim-tests": {"depends": ["gensim"], "file_name": "gensim-tests.tar", "imports": [], "install_dir": "site", "name": "gensim-tests", "package_type": "package", "sha256": "ad81fec029788dde8181ea2629022887d88639e9e477c536fe410ce30919bf47", "unvendored_tests": false, "version": "4.3.3"}, "geopandas": {"depends": ["shapely", "fiona", "pyproj", "packaging", "pandas"], "file_name": "geopandas-1.0.1-py3-none-any.whl", "imports": ["geopandas"], "install_dir": "site", "name": "geopandas", "package_type": "package", "sha256": "5070b10daf8bc871a3115240545d2ccdf6542f060c5c1e3cc06777306c60caf8", "unvendored_tests": true, "version": "1.0.1"}, "geopandas-tests": {"depends": ["geopandas"], "file_name": "geopandas-tests.tar", "imports": [], "install_dir": "site", "name": "geopandas-tests", "package_type": "package", "sha256": "9cfe2d522725bc68fdb3c0ff35336c7af7b56f504d7cf6ff4ae130842df878c0", "unvendored_tests": false, "version": "1.0.1"}, "geos": {"depends": [], "file_name": "geos-3.12.1.zip", "imports": [], "install_dir": "dynlib", "name": "geos", "package_type": "shared_library", "sha256": "8d5603389e9a988e77739cf15b7a932713587426ebfab14e414422dc5d577f28", "unvendored_tests": false, "version": "3.12.1"}, "gmpy2": {"depends": [], "file_name": "gmpy2-2.1.5-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["gmpy2"], "install_dir": "site", "name": "gmpy2", "package_type": "package", "sha256": "065f6d2c701e5d37f19ab35323d8e5989f8d89beee026d9f9fb2e3c684bbf297", "unvendored_tests": false, "version": "2.1.5"}, "gsw": {"depends": ["numpy"], "file_name": "gsw-3.6.19-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["gsw"], "install_dir": "site", "name": "gsw", "package_type": "package", "sha256": "08c96c9ca360da19498da2003389c2a4d059dfd501ff104f54a72f5b77a7c271", "unvendored_tests": true, "version": "3.6.19"}, "gsw-tests": {"depends": ["gsw"], "file_name": "gsw-tests.tar", "imports": [], "install_dir": "site", "name": "gsw-tests", "package_type": "package", "sha256": "83f1adae6b11219fd10621c4daee27679f9cffaa11ee7c8fec47a463a02c832d", "unvendored_tests": false, "version": "3.6.19"}, "h5py": {"depends": ["numpy", "pkgconfig"], "file_name": "h5py-3.12.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["h5py"], "install_dir": "site", "name": "h5py", "package_type": "package", "sha256": "6564701c3a86d489c9cca00431f8afd12adbc6c1b3d605f9d325e962f1034e97", "unvendored_tests": true, "version": "3.12.1"}, "h5py-tests": {"depends": ["h5py"], "file_name": "h5py-tests.tar", "imports": [], "install_dir": "site", "name": "h5py-tests", "package_type": "package", "sha256": "737f040abb67dbe91f4873420858a73db91a91086d67090e74a93d1f0c82ae18", "unvendored_tests": false, "version": "3.12.1"}, "hashlib": {"depends": ["openssl"], "file_name": "hashlib-1.0.0-py2.py3-none-any.whl", "imports": ["_hashlib"], "install_dir": "site", "name": "hashlib", "package_type": "cpython_module", "sha256": "56bd2b2a0cd81066a70446d4244fb8070d71523b8b686493b7d12be0ba6225ff", "unvendored_tests": false, "version": "1.0.0"}, "html5lib": {"depends": ["webencodings", "six"], "file_name": "html5lib-1.1-py2.py3-none-any.whl", "imports": ["html5lib"], "install_dir": "site", "name": "html5lib", "package_type": "package", "sha256": "d64aa803514282af904f2f0e402d8f836859bde7329502ded9afff938c238a49", "unvendored_tests": false, "version": "1.1"}, "httpx": {"depends": [], "file_name": "httpx-0.28.1-py3-none-any.whl", "imports": ["httpx"], "install_dir": "site", "name": "httpx", "package_type": "package", "sha256": "0b3a5f31b3fd1638dc6c35cc9bb79e29e8a7bfdeedfdf4520a72b9a0247ca56d", "unvendored_tests": false, "version": "0.28.1"}, "idna": {"depends": [], "file_name": "idna-3.7-py3-none-any.whl", "imports": ["idna"], "install_dir": "site", "name": "idna", "package_type": "package", "sha256": "a4e8a581607ddf344012a9ab04c7e110a220e3cbf9453eed8b0d1d946f5fd3a1", "unvendored_tests": false, "version": "3.7"}, "igraph": {"depends": ["texttable"], "file_name": "igraph-0.11.4-cp39-abi3-pyodide_2024_0_wasm32.whl", "imports": ["igraph"], "install_dir": "site", "name": "igraph", "package_type": "package", "sha256": "5c8520d43a3379734f93525e8ac0a8093754489d0a5f222638feb1f676a71415", "unvendored_tests": false, "version": "0.11.4"}, "imageio": {"depends": ["numpy", "pillow"], "file_name": "imageio-2.36.0-py3-none-any.whl", "imports": ["imageio"], "install_dir": "site", "name": "imageio", "package_type": "package", "sha256": "ebe09cbf06b1fa33f101e736cb739f104d2dab2922a60bc8926eb12007188fa3", "unvendored_tests": false, "version": "2.36.0"}, "iminuit": {"depends": ["numpy"], "file_name": "iminuit-2.30.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["iminuit"], "install_dir": "site", "name": "iminuit", "package_type": "package", "sha256": "3e5593eafa4e8a4ae2271d1194a9b7e1a38e021a901f21881757b9e55b2ceeb9", "unvendored_tests": false, "version": "2.30.1"}, "iniconfig": {"depends": [], "file_name": "iniconfig-2.0.0-py3-none-any.whl", "imports": ["iniconfig"], "install_dir": "site", "name": "iniconfig", "package_type": "package", "sha256": "40a30f804117cca70c5af3a2c9b92cc273a8b8d092224f1f99f170cca406e4d0", "unvendored_tests": false, "version": "2.0.0"}, "ipython": {"depends": ["asttokens", "decorator", "executing", "matplotlib-inline", "prompt_toolkit", "pure-eval", "pygments", "six", "stack-data", "traitlets", "sqlite3", "wcwidth"], "file_name": "ipython-8.23.0-py3-none-any.whl", "imports": ["IPython"], "install_dir": "site", "name": "ipython", "package_type": "package", "sha256": "bdae049aa0d0e6eebbe4c8e90f882e8499809e457c0c3485c0cae4d9528875c5", "unvendored_tests": true, "version": "8.23.0"}, "ipython-tests": {"depends": ["ipython"], "file_name": "ipython-tests.tar", "imports": [], "install_dir": "site", "name": "ipython-tests", "package_type": "package", "sha256": "2154ff0c7a3100929e5df5f505a9d2e3a806ea2acbb6128f3c02dbd7416c35b6", "unvendored_tests": false, "version": "8.23.0"}, "jedi": {"depends": ["parso"], "file_name": "jedi-0.19.1-py2.py3-none-any.whl", "imports": ["jedi"], "install_dir": "site", "name": "jedi", "package_type": "package", "sha256": "ce49bd5a4b070f684e297a5141478864928aa00819a96d83a5ccb2642fbcccb4", "unvendored_tests": true, "version": "0.19.1"}, "jedi-tests": {"depends": ["jedi"], "file_name": "jedi-tests.tar", "imports": [], "install_dir": "site", "name": "jedi-tests", "package_type": "package", "sha256": "4bd995260dec4d6d1ad3c478cfc61fb93e6c2d7553d930ac67f92ff67b9e9c8d", "unvendored_tests": false, "version": "0.19.1"}, "jinja2": {"depends": ["markupsafe"], "file_name": "Jinja2-3.1.3-py3-none-any.whl", "imports": ["jinja2"], "install_dir": "site", "name": "Jinja2", "package_type": "package", "sha256": "ae75cf520f1fee73c9315c6c1472fdaf0f312b328efc06d37e2eadb71d2ce363", "unvendored_tests": false, "version": "3.1.3"}, "joblib": {"depends": [], "file_name": "joblib-1.4.0-py3-none-any.whl", "imports": ["joblib"], "install_dir": "site", "name": "joblib", "package_type": "package", "sha256": "782163eb9956ba264df3c5305037c7a247b8609606c50cb69c620b6a434448fc", "unvendored_tests": true, "version": "1.4.0"}, "joblib-tests": {"depends": ["joblib"], "file_name": "joblib-tests.tar", "imports": [], "install_dir": "site", "name": "joblib-tests", "package_type": "package", "sha256": "49d77db01a38831d20f7739cbe2c1210efa1d2b53436ecc9a2cf717dbcaf8678", "unvendored_tests": false, "version": "1.4.0"}, "jsonschema": {"depends": ["attrs", "pyrsistent", "referencing", "jsonschema_specifications"], "file_name": "jsonschema-4.21.1-py3-none-any.whl", "imports": ["jsonschema"], "install_dir": "site", "name": "jsonschema", "package_type": "package", "sha256": "119305091e05dd548496debb4b13474049790bbff15450b41eea4c44d09a7141", "unvendored_tests": true, "version": "4.21.1"}, "jsonschema-specifications": {"depends": [], "file_name": "jsonschema_specifications-2023.12.1-py3-none-any.whl", "imports": ["jsonschema_specifications"], "install_dir": "site", "name": "jsonschema_specifications", "package_type": "package", "sha256": "b4a840c945a4af3580c086935b1f0ada771752a72044d86a86175f6bfb88d32d", "unvendored_tests": true, "version": "2023.12.1"}, "jsonschema-specifications-tests": {"depends": ["jsonschema_specifications"], "file_name": "jsonschema_specifications-tests.tar", "imports": [], "install_dir": "site", "name": "jsonschema_specifications-tests", "package_type": "package", "sha256": "e3e6ab5f2e28845c3db7a03359c9a0bf4563a6db346680097ae5405018007b40", "unvendored_tests": false, "version": "2023.12.1"}, "jsonschema-tests": {"depends": ["jsonschema"], "file_name": "jsonschema-tests.tar", "imports": [], "install_dir": "site", "name": "jsonschema-tests", "package_type": "package", "sha256": "4c8a944949c8da3a1fb421a7c2a3d953c3c0663d692ecd47b61d99aa98d1215b", "unvendored_tests": false, "version": "4.21.1"}, "kiwisolver": {"depends": [], "file_name": "kiwisolver-1.4.5-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["kiwisolver"], "install_dir": "site", "name": "kiwisolver", "package_type": "package", "sha256": "10b13eb725b7ac38cf9a5f51caa266a92e24f5d7c79b74eed7dafd901fae16c6", "unvendored_tests": false, "version": "1.4.5"}, "lakers-python": {"depends": [], "file_name": "lakers_python-0.4.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["lakers"], "install_dir": "site", "name": "lakers-python", "package_type": "package", "sha256": "250d34c774f6f39efd6319282b301d99d9bdbb65058cf3145b8927f10b29c9ca", "unvendored_tests": false, "version": "0.4.1"}, "lazy-loader": {"depends": [], "file_name": "lazy_loader-0.4-py3-none-any.whl", "imports": ["lazy_loader"], "install_dir": "site", "name": "lazy_loader", "package_type": "package", "sha256": "a4a5ff4a8bf5d35047b8bc4b4c3ca0e1a8e90af39249978c8fbe28668b0dfa05", "unvendored_tests": true, "version": "0.4"}, "lazy-loader-tests": {"depends": ["lazy_loader"], "file_name": "lazy_loader-tests.tar", "imports": [], "install_dir": "site", "name": "lazy_loader-tests", "package_type": "package", "sha256": "b2668f916aa3c31668cdeb6d27fbaf30543dc4c636732baac60f883b78a74584", "unvendored_tests": false, "version": "0.4"}, "lazy-object-proxy": {"depends": [], "file_name": "lazy_object_proxy-1.10.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["lazy_object_proxy"], "install_dir": "site", "name": "lazy-object-proxy", "package_type": "package", "sha256": "78dcb0ce6602ee8de86a62b73766c66a399e9fa3c9db1b5904b1e1f8083753ee", "unvendored_tests": false, "version": "1.10.0"}, "libcst": {"depends": ["pyyaml"], "file_name": "libcst-1.4.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["libcst"], "install_dir": "site", "name": "libcst", "package_type": "package", "sha256": "54e026f0a3f61c8ad2dacfe3aef52d8425a024000ed7182f36c1280628c11727", "unvendored_tests": true, "version": "1.4.0"}, "libcst-tests": {"depends": ["libcst"], "file_name": "libcst-tests.tar", "imports": [], "install_dir": "site", "name": "libcst-tests", "package_type": "package", "sha256": "22e7f5decac3ca3470dd06554072b040e0d3ec8e492f8ff5c0e68dc505f9318d", "unvendored_tests": false, "version": "1.4.0"}, "libhdf5": {"depends": [], "file_name": "libhdf5-1.12.1.zip", "imports": [], "install_dir": "dynlib", "name": "libhdf5", "package_type": "shared_library", "sha256": "24cbf8033aedcf9efe7e1b6b03db25f9cec96fd7821409cf217dd4b79bf3ef28", "unvendored_tests": false, "version": "1.12.1"}, "libheif": {"depends": [], "file_name": "libheif-1.12.0.zip", "imports": [], "install_dir": "dynlib", "name": "libheif", "package_type": "shared_library", "sha256": "f2c3df4c176645bb221153e303593036483b8d931b1e77ac4cbe4eccd8752ff9", "unvendored_tests": false, "version": "1.12.0"}, "libmagic": {"depends": [], "file_name": "libmagic-5.42.zip", "imports": [], "install_dir": "dynlib", "name": "libmagic", "package_type": "shared_library", "sha256": "2fbf616d73667dc09cc9b2066ff8f0a61c6dc7a9390a7b6d90dee93d09cb8a6c", "unvendored_tests": false, "version": "5.42"}, "lightgbm": {"depends": ["numpy", "scipy", "scikit-learn"], "file_name": "lightgbm-4.5.0-py3-none-pyodide_2024_0_wasm32.whl", "imports": ["lightgbm"], "install_dir": "site", "name": "lightgbm", "package_type": "package", "sha256": "eea6e9d783c4d49cbb2b35b09e27c429d5fd35ae914781637164092c225203de", "unvendored_tests": false, "version": "4.5.0"}, "logbook": {"depends": ["ssl"], "file_name": "Logbook-1.7.0.post0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["logbook"], "install_dir": "site", "name": "logbook", "package_type": "package", "sha256": "da8dbfcba0d54bf8d381c94b39c2447bc8c60dd91025b952a62aa664df22a7b2", "unvendored_tests": false, "version": "1.7.0.post0"}, "lxml": {"depends": [], "file_name": "lxml-5.2.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["lxml"], "install_dir": "site", "name": "lxml", "package_type": "package", "sha256": "2fd139897daa910923b79a42e7e7496dd36a1ca5806b2d12e42ca41baf6a27d7", "unvendored_tests": false, "version": "5.2.1"}, "lzma": {"depends": [], "file_name": "lzma-1.0.0-py2.py3-none-any.whl", "imports": ["lzma", "_lzma"], "install_dir": "site", "name": "lzma", "package_type": "cpython_module", "sha256": "5eeaa17db4a33d90e71d2a76c0aad47dbb302c128c99b454a9badc26c0cf253d", "unvendored_tests": false, "version": "1.0.0"}, "markupsafe": {"depends": [], "file_name": "MarkupSafe-2.1.5-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["markupsafe"], "install_dir": "site", "name": "MarkupSafe", "package_type": "package", "sha256": "d7e66ed044fd7ec0e33cf9f2ec6ecc0590ee09863fa61cca27ba2824858bb795", "unvendored_tests": false, "version": "2.1.5"}, "matplotlib": {"depends": ["contourpy", "cycler", "fonttools", "kiwisolver", "numpy", "packaging", "pillow", "pyparsing", "python-dateutil", "pytz", "matplotlib-pyodide"], "file_name": "matplotlib-3.8.4-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["pylab", "mpl_toolkits", "matplotlib"], "install_dir": "site", "name": "matplotlib", "package_type": "package", "sha256": "dad6745f930a0f438e3b7b668a7e4a587cbd36cbd2d248aa7428923350c39747", "unvendored_tests": true, "version": "3.8.4"}, "matplotlib-inline": {"depends": ["traitlets"], "file_name": "matplotlib_inline-0.1.7-py3-none-any.whl", "imports": ["matplotlib-inline"], "install_dir": "site", "name": "matplotlib-inline", "package_type": "package", "sha256": "c483913cbccb75cf40f6f5b1b156769a20955e03f1dad7066ade88a151a02bb2", "unvendored_tests": false, "version": "0.1.7"}, "matplotlib-pyodide": {"depends": [], "file_name": "matplotlib_pyodide-0.2.3-py3-none-any.whl", "imports": ["matplotlib_pyodide"], "install_dir": "site", "name": "matplotlib-pyodide", "package_type": "package", "sha256": "717b48079d00b397208d98d0d62fdc7688ccc517294a735b949bc5f62fe1f620", "unvendored_tests": false, "version": "0.2.3"}, "matplotlib-tests": {"depends": ["matplotlib"], "file_name": "matplotlib-tests.tar", "imports": [], "install_dir": "site", "name": "matplotlib-tests", "package_type": "package", "sha256": "8c7edf3395a896619116811ddd240f590a4335f8c9aa6e8cb84f3899e12d058a", "unvendored_tests": false, "version": "3.8.4"}, "memory-allocator": {"depends": [], "file_name": "memory_allocator-0.1.4-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["memory_allocator"], "install_dir": "site", "name": "memory-allocator", "package_type": "package", "sha256": "513bd31cb04adc4b6e5c0b85f0c08bbc5b17a13fb63d1039849afc56a565e67d", "unvendored_tests": false, "version": "0.1.4"}, "micropip": {"depends": ["packaging"], "file_name": "micropip-0.8.0-py3-none-any.whl", "imports": ["micropip"], "install_dir": "site", "name": "micropip", "package_type": "package", "sha256": "f06926694dba95e19768a2be65770c953ab350b8b622314b308c3b39f7ebebfa", "unvendored_tests": false, "version": "0.8.0"}, "mmh3": {"depends": [], "file_name": "mmh3-4.1.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["mmh3"], "install_dir": "site", "name": "mmh3", "package_type": "package", "sha256": "48ad7d2a1d626b3313dd944e05284096f5878f6cd7465c490c02940515d8953a", "unvendored_tests": false, "version": "4.1.0"}, "mne": {"depends": ["numpy", "scipy", "setuptools", "decorator", "lazy_loader", "packaging"], "file_name": "mne-1.8.0-py3-none-any.whl", "imports": ["mne"], "install_dir": "site", "name": "mne", "package_type": "package", "sha256": "5a19b172b364c9bc7928916a2941883f4947928cf07b0aff203d3ec0db4ff5f8", "unvendored_tests": true, "version": "1.8.0"}, "mne-tests": {"depends": ["mne"], "file_name": "mne-tests.tar", "imports": [], "install_dir": "site", "name": "mne-tests", "package_type": "package", "sha256": "1f679c5107105f54f99f62c03f03a9ab94ff800632a7cda6ebc405b48735b00a", "unvendored_tests": false, "version": "1.8.0"}, "more-itertools": {"depends": [], "file_name": "more_itertools-10.2.0-py3-none-any.whl", "imports": ["more_itertools"], "install_dir": "site", "name": "more-itertools", "package_type": "package", "sha256": "1552e0fb82ee29a6fe1f0d466f3322ebec1b6bcab95343ace684b04875fa3d56", "unvendored_tests": false, "version": "10.2.0"}, "mpmath": {"depends": [], "file_name": "mpmath-1.3.0-py3-none-any.whl", "imports": ["mpmath"], "install_dir": "site", "name": "mpmath", "package_type": "package", "sha256": "19b572d1dbc8c93b7778b09e9a67d3df064cb34ddb06b73afa122d57a50e0d97", "unvendored_tests": true, "version": "1.3.0"}, "mpmath-tests": {"depends": ["mpmath"], "file_name": "mpmath-tests.tar", "imports": [], "install_dir": "site", "name": "mpmath-tests", "package_type": "package", "sha256": "ad81663fdc1c42197da6ea731c49b240e2969b8fd19d472b31f63c964747ac56", "unvendored_tests": false, "version": "1.3.0"}, "msgpack": {"depends": [], "file_name": "msgpack-1.1.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["msgpack"], "install_dir": "site", "name": "msgpack", "package_type": "package", "sha256": "e368256596bb7f34c26a78efd9ca789405d81b505a89c75d47d5d56e7f6d7b51", "unvendored_tests": false, "version": "1.1.0"}, "msgspec": {"depends": [], "file_name": "msgspec-0.18.6-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["msgspec"], "install_dir": "site", "name": "msgspec", "package_type": "package", "sha256": "2cb9e65f695731ef68c0fcb731562c0fd485e6f796544bac12e002e9e2f1877f", "unvendored_tests": false, "version": "0.18.6"}, "msprime": {"depends": ["numpy", "newick", "tskit", "demes", "rpds-py"], "file_name": "msprime-1.3.3-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["msprime"], "install_dir": "site", "name": "msprime", "package_type": "package", "sha256": "97c3a77a0812fd1ae4a3045d28b2fffaefbcb5103ab1cb6efeaaf62908c1909b", "unvendored_tests": false, "version": "1.3.3"}, "multidict": {"depends": [], "file_name": "multidict-6.0.5-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["multidict"], "install_dir": "site", "name": "multidict", "package_type": "package", "sha256": "653ab1479ceb6e77b2058a1bff23d7878a2e5c15a71fa2fff4ff75d863a838fa", "unvendored_tests": false, "version": "6.0.5"}, "munch": {"depends": ["setuptools", "six"], "file_name": "munch-4.0.0-py2.py3-none-any.whl", "imports": ["munch"], "install_dir": "site", "name": "munch", "package_type": "package", "sha256": "93c00e5314cceff02923cdb363fbeaae6bb5c803c9cf3c0186b5af0f39be45a0", "unvendored_tests": false, "version": "4.0.0"}, "mypy": {"depends": [], "file_name": "mypy-1.9.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["mypyc", "mypy"], "install_dir": "site", "name": "mypy", "package_type": "package", "sha256": "1aa26ec6a677ebfdf4fa14369ff006fd70c3a5721fae973f0a676e3babfd574d", "unvendored_tests": true, "version": "1.9.0"}, "mypy-tests": {"depends": ["mypy"], "file_name": "mypy-tests.tar", "imports": [], "install_dir": "site", "name": "mypy-tests", "package_type": "package", "sha256": "3c181c521922e58f1efb5c4561ff6eb44d0be191f508f367bab6e9f7af4f7f8e", "unvendored_tests": false, "version": "1.9.0"}, "narwhals": {"depends": [], "file_name": "narwhals-1.10.0-py3-none-any.whl", "imports": ["narwhals"], "install_dir": "site", "name": "narwhals", "package_type": "package", "sha256": "4de02d24c43a16fd0ef5bf572cfed11ec204ea6e6dabcb01eb0edd53ba37745f", "unvendored_tests": false, "version": "1.10.0"}, "netcdf4": {"depends": ["numpy", "packaging", "h5py", "cftime", "certifi"], "file_name": "netCDF4-1.7.2-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["netCDF4"], "install_dir": "site", "name": "netcdf4", "package_type": "package", "sha256": "8206ca4dcfb3de3fc02c92d9df706d479c2cc92620ad445b1b758f3274e26c0f", "unvendored_tests": false, "version": "1.7.2"}, "networkx": {"depends": ["decorator", "setuptools", "matplotlib", "numpy"], "file_name": "networkx-3.4.2-py3-none-any.whl", "imports": ["networkx"], "install_dir": "site", "name": "networkx", "package_type": "package", "sha256": "0c5ea1642e2333657881311f8ff64c48f320f0b8571365ad9f0749dc432736dd", "unvendored_tests": true, "version": "3.4.2"}, "networkx-tests": {"depends": ["networkx"], "file_name": "networkx-tests.tar", "imports": [], "install_dir": "site", "name": "networkx-tests", "package_type": "package", "sha256": "c7b80324251d65faaaeb01d2eae8591a8330a5fd11a3367dd76a81b649be5d3b", "unvendored_tests": false, "version": "3.4.2"}, "newick": {"depends": [], "file_name": "newick-1.9.0-py2.py3-none-any.whl", "imports": ["newick"], "install_dir": "site", "name": "newick", "package_type": "package", "sha256": "58e1c4acbf8171097f45c78be7f7ba2a204aab160c32bb568dab210e5f98cc43", "unvendored_tests": false, "version": "1.9.0"}, "nh3": {"depends": [], "file_name": "nh3-0.2.17-cp37-abi3-pyodide_2024_0_wasm32.whl", "imports": ["nh3"], "install_dir": "site", "name": "nh3", "package_type": "package", "sha256": "40dadbc3292d7ba27de6f84ccfe43f030518c73e6a11718202845dd018f0687c", "unvendored_tests": false, "version": "0.2.17"}, "nlopt": {"depends": ["numpy"], "file_name": "nlopt-2.9.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["nlopt"], "install_dir": "site", "name": "nlopt", "package_type": "package", "sha256": "16013aabe655c9aca757ec78292cb5e56b65c480eee34f40a4c49147ae51de58", "unvendored_tests": false, "version": "2.9.1"}, "nltk": {"depends": ["regex", "sqlite3"], "file_name": "nltk-3.8.1-py3-none-any.whl", "imports": ["nltk"], "install_dir": "site", "name": "nltk", "package_type": "package", "sha256": "2515bdf9c2df686939ec25de7b2825dc6d04cfa278e88c298976f99f09e0529d", "unvendored_tests": true, "version": "3.8.1"}, "nltk-tests": {"depends": ["nltk"], "file_name": "nltk-tests.tar", "imports": [], "install_dir": "site", "name": "nltk-tests", "package_type": "package", "sha256": "79ace12d4d92880437f4e01b66d0dc80490047050d512a6721a416ff3d5c0adf", "unvendored_tests": false, "version": "3.8.1"}, "numcodecs": {"depends": ["numpy", "msgpack"], "file_name": "numcodecs-0.13.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["numcodecs"], "install_dir": "site", "name": "numcodecs", "package_type": "package", "sha256": "8d46ca2c9ddad750b05e602cd98e3688de461bb4615f298689e42d762eb80042", "unvendored_tests": true, "version": "0.13.1"}, "numcodecs-tests": {"depends": ["numcodecs"], "file_name": "numcodecs-tests.tar", "imports": [], "install_dir": "site", "name": "numcodecs-tests", "package_type": "package", "sha256": "62acd6f7bbb86d101556bbf12a10c8440d134d4107d61853cddc5d8d8e3e82fe", "unvendored_tests": false, "version": "0.13.1"}, "numpy": {"depends": [], "file_name": "numpy-2.0.2-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["numpy"], "install_dir": "site", "name": "numpy", "package_type": "package", "sha256": "ebfa5de0256e98fcd4ece4546e054dea50b73ecf735ec836237fd45bcc5eab1f", "unvendored_tests": true, "version": "2.0.2"}, "numpy-tests": {"depends": ["numpy"], "file_name": "numpy-tests.tar", "imports": [], "install_dir": "site", "name": "numpy-tests", "package_type": "package", "sha256": "c4566361660da308746235508c81b0268645c06b14076fc601067457d71d00d7", "unvendored_tests": false, "version": "2.0.2"}, "openblas": {"depends": [], "file_name": "openblas-0.3.26.zip", "imports": [], "install_dir": "dynlib", "name": "openblas", "package_type": "shared_library", "sha256": "c2e05180ecb30ca3863babe466030ab0a7a3af3a87aa77baebc5e4a6a2ed1e07", "unvendored_tests": false, "version": "0.3.26"}, "opencv-python": {"depends": ["numpy"], "file_name": "opencv_python-4.10.0.84-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["cv2"], "install_dir": "site", "name": "opencv-python", "package_type": "package", "sha256": "36a4f88783141380ef2799ab67f963063825a4357bcb0097bb02a82e7981ba90", "unvendored_tests": false, "version": "4.10.0.84"}, "openssl": {"depends": [], "file_name": "openssl-1.1.1w.zip", "imports": [], "install_dir": "dynlib", "name": "openssl", "package_type": "shared_library", "sha256": "7e796ef6d3ca7ed6f1af820fc7061033a034e986cddca38fc487e6ef9a4ac915", "unvendored_tests": false, "version": "1.1.1w"}, "optlang": {"depends": ["sympy", "six", "swiglpk"], "file_name": "optlang-1.8.1-py2.py3-none-any.whl", "imports": ["optlang"], "install_dir": "site", "name": "optlang", "package_type": "package", "sha256": "fb2465d1bd566702d1df8e4e3d5d7acf7d379b86166dcbda948ecc7c52d2900a", "unvendored_tests": true, "version": "1.8.1"}, "optlang-tests": {"depends": ["optlang"], "file_name": "optlang-tests.tar", "imports": [], "install_dir": "site", "name": "optlang-tests", "package_type": "package", "sha256": "a7aaf360662a3dacaebb9b78e7bfbb30dfc3d6443b34d1dd0166e19c3e852a27", "unvendored_tests": false, "version": "1.8.1"}, "orjson": {"depends": [], "file_name": "orjson-3.10.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["orjson"], "install_dir": "site", "name": "orjson", "package_type": "package", "sha256": "bc805b2a443af7e9c22312aa1f640af022b4a5c8176372aad20ca9a34acf02d2", "unvendored_tests": false, "version": "3.10.1"}, "packaging": {"depends": [], "file_name": "packaging-24.2-py3-none-any.whl", "imports": ["packaging"], "install_dir": "site", "name": "packaging", "package_type": "package", "sha256": "55c1c81063e172dd2d9d24321dd56b3d539bbc4d4583c24870bd4b7b350ec84c", "unvendored_tests": false, "version": "24.2"}, "pandas": {"depends": ["numpy", "python-dateutil", "pytz"], "file_name": "pandas-2.2.3-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["pandas"], "install_dir": "site", "name": "pandas", "package_type": "package", "sha256": "a81cb10f8621fe36f7d1717b7903015f910ba5efdd431c4ff22c14f365fd9eed", "unvendored_tests": true, "version": "2.2.3"}, "pandas-tests": {"depends": ["pandas"], "file_name": "pandas-tests.tar", "imports": [], "install_dir": "site", "name": "pandas-tests", "package_type": "package", "sha256": "1607a809b3f2add8309062c8ce17a887031d0a471b6d5001f9df49931482d398", "unvendored_tests": false, "version": "2.2.3"}, "parso": {"depends": [], "file_name": "parso-0.8.4-py2.py3-none-any.whl", "imports": ["parso"], "install_dir": "site", "name": "parso", "package_type": "package", "sha256": "ebd86987f4eafe53ba5aceb599ecfb565c782a480bd60526edbdde956147b72f", "unvendored_tests": false, "version": "0.8.4"}, "patsy": {"depends": ["numpy", "six"], "file_name": "patsy-0.5.6-py2.py3-none-any.whl", "imports": ["patsy"], "install_dir": "site", "name": "patsy", "package_type": "package", "sha256": "da388687c54681e4bf59200e23d142c7c767a4d050ce23e076f2c07516b818c2", "unvendored_tests": true, "version": "0.5.6"}, "patsy-tests": {"depends": ["patsy"], "file_name": "patsy-tests.tar", "imports": [], "install_dir": "site", "name": "patsy-tests", "package_type": "package", "sha256": "6a00d81372f26cbc4573afc51a1c8e7ec4a53b2e14e6038a2a94820aee825304", "unvendored_tests": false, "version": "0.5.6"}, "peewee": {"depends": ["sqlite3", "cffi"], "file_name": "peewee-3.17.3-py3-none-any.whl", "imports": ["peewee"], "install_dir": "site", "name": "peewee", "package_type": "package", "sha256": "d4899e35da6a0099ae7f45749f964f475b112858182e094652c0168b06f0e029", "unvendored_tests": true, "version": "3.17.3"}, "peewee-tests": {"depends": ["peewee"], "file_name": "peewee-tests.tar", "imports": [], "install_dir": "site", "name": "peewee-tests", "package_type": "package", "sha256": "9fa7e4ae3dff114e991cf87ad7b680fd15d0800354d07b3030ed4a1c7c8314d1", "unvendored_tests": false, "version": "3.17.3"}, "pi-heif": {"depends": ["cffi", "pillow", "libheif"], "file_name": "pi_heif-0.21.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["pi_heif"], "install_dir": "site", "name": "pi-heif", "package_type": "package", "sha256": "f630516711a729b94773a74d5acf23672a399c46614c78e196f2b1c8c05b9887", "unvendored_tests": false, "version": "0.21.0"}, "pillow": {"depends": [], "file_name": "pillow-10.2.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["PIL"], "install_dir": "site", "name": "Pillow", "package_type": "package", "sha256": "5dea298a10d557ef903d13e6522dd7e8696c187706bb477e1afdedc2a1d84d0a", "unvendored_tests": false, "version": "10.2.0"}, "pillow-heif": {"depends": ["cffi", "pillow", "libheif"], "file_name": "pillow_heif-0.20.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["pillow_heif"], "install_dir": "site", "name": "pillow-heif", "package_type": "package", "sha256": "ab406bc2a4853d169a8ee956261a0c5d7bf2dfce5ad6fe9bcc78f57f3eb6b804", "unvendored_tests": false, "version": "0.20.0"}, "pkgconfig": {"depends": [], "file_name": "pkgconfig-1.5.5-py3-none-any.whl", "imports": ["pkgconfig"], "install_dir": "site", "name": "pkgconfig", "package_type": "package", "sha256": "e513ed6409b8dff53acd9888dee7f161d2dd9ebaaca412eb80910f1a8476c3c9", "unvendored_tests": false, "version": "1.5.5"}, "pluggy": {"depends": [], "file_name": "pluggy-1.5.0-py3-none-any.whl", "imports": ["pluggy"], "install_dir": "site", "name": "pluggy", "package_type": "package", "sha256": "3e856326ad6af071e91798766a25c9ce7ed6b5be61f927a28e05e6045b031031", "unvendored_tests": false, "version": "1.5.0"}, "polars": {"depends": [], "file_name": "polars-1.18.0-cp39-abi3-pyodide_2024_0_wasm32.whl", "imports": ["polars"], "install_dir": "site", "name": "polars", "package_type": "package", "sha256": "c05b49698b48975ed40fc73f6387fb692a778481745ed1a2f70060d1ca04959e", "unvendored_tests": false, "version": "1.18.0"}, "pplpy": {"depends": ["gmpy2", "cysignals"], "file_name": "pplpy-0.8.10-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["ppl"], "install_dir": "site", "name": "pplpy", "package_type": "package", "sha256": "50d1545682670ad663ffb8d40811f0cf43293d059b855942d98af736aecc711f", "unvendored_tests": false, "version": "0.8.10"}, "primecountpy": {"depends": ["cysignals"], "file_name": "primecountpy-0.1.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["primecountpy"], "install_dir": "site", "name": "primecountpy", "package_type": "package", "sha256": "841a9d574e4fe407ab5c655c1ef98eb5b01fc7aae823d36d4d1f80f059f749b5", "unvendored_tests": false, "version": "0.1.0"}, "prompt-toolkit": {"depends": [], "file_name": "prompt_toolkit-3.0.43-py3-none-any.whl", "imports": ["prompt_toolkit"], "install_dir": "site", "name": "prompt_toolkit", "package_type": "package", "sha256": "f9861a288bcf2693d4700900b0cc0196498511d40a84471dad72e27f0fd7079e", "unvendored_tests": false, "version": "3.0.43"}, "protobuf": {"depends": [], "file_name": "protobuf-5.29.2-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["google"], "install_dir": "site", "name": "protobuf", "package_type": "package", "sha256": "f064b15292d577b80ea07efb9b48f4ed21cfa85b34c1b9f829b3512e2e945bf2", "unvendored_tests": false, "version": "5.29.2"}, "pure-eval": {"depends": [], "file_name": "pure_eval-0.2.3-py3-none-any.whl", "imports": ["pure_eval"], "install_dir": "site", "name": "pure-eval", "package_type": "package", "sha256": "9a16b6b8a2927f31b8ac784b1a8eb7889fa9f0c6c7eaf53f38f5d866dde4d728", "unvendored_tests": false, "version": "0.2.3"}, "py": {"depends": [], "file_name": "py-1.11.0-py2.py3-none-any.whl", "imports": ["py"], "install_dir": "site", "name": "py", "package_type": "package", "sha256": "c9c1c3373e9a3de4ec3ee71715f1e269e990e95a1a07b80f0c1f530562e4f095", "unvendored_tests": false, "version": "1.11.0"}, "pyarrow": {"depends": ["numpy", "pandas", "pyodide-unix-timezones"], "file_name": "pyarrow-18.1.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["pyarrow"], "install_dir": "site", "name": "pyarrow", "package_type": "package", "sha256": "8d25593325ca98ee5fc48dee9c719cd3e64a781eacc41efe7942fce12cd9587b", "unvendored_tests": false, "version": "18.1.0"}, "pyclipper": {"depends": [], "file_name": "pyclipper-1.3.0.post5-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["pyclipper"], "install_dir": "site", "name": "pyclipper", "package_type": "package", "sha256": "f6c1b37275552c754fc13dfc830739a2a9f96e0fdcbd2f9869d093c0bd47f3c5", "unvendored_tests": false, "version": "1.3.0.post5"}, "pycparser": {"depends": [], "file_name": "pycparser-2.22-py3-none-any.whl", "imports": ["pycparser"], "install_dir": "site", "name": "pycparser", "package_type": "package", "sha256": "602252754447d8e4e54f824681bb813d534c32d9e297a2fff6a4e22db1f65663", "unvendored_tests": false, "version": "2.22"}, "pycryptodome": {"depends": [], "file_name": "pycryptodome-3.20.0-cp35-abi3-pyodide_2024_0_wasm32.whl", "imports": ["Crypto"], "install_dir": "site", "name": "pycryptodome", "package_type": "package", "sha256": "b8029b48e667b16e9ebdfc769bc33213f79842f91b45806bef5a005388cb3981", "unvendored_tests": true, "version": "3.20.0"}, "pycryptodome-tests": {"depends": ["pycryptodome"], "file_name": "pycryptodome-tests.tar", "imports": [], "install_dir": "site", "name": "pycryptodome-tests", "package_type": "package", "sha256": "535d5ef5deefec0e2620abc6df45492d2152cb76b49f768fa199e16dafafc70a", "unvendored_tests": false, "version": "3.20.0"}, "pydantic": {"depends": ["typing-extensions", "pydantic_core", "annotated-types"], "file_name": "pydantic-2.10.5-py3-none-any.whl", "imports": ["pydantic"], "install_dir": "site", "name": "pydantic", "package_type": "package", "sha256": "6f927c0165c8b384a0edabf0ed61338aa7fa9e3851ad118f8005be232a558b96", "unvendored_tests": false, "version": "2.10.5"}, "pydantic-core": {"depends": [], "file_name": "pydantic_core-2.27.2-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["pydantic_core"], "install_dir": "site", "name": "pydantic_core", "package_type": "package", "sha256": "63d5d054fb86f8bf5dd8724aa453c1c96dadae633904b867d50dbc83d00f1931", "unvendored_tests": false, "version": "2.27.2"}, "pydecimal": {"depends": [], "file_name": "pydecimal-1.0.0-py2.py3-none-any.whl", "imports": ["_pydecimal"], "install_dir": "site", "name": "pydecimal", "package_type": "cpython_module", "sha256": "4a2793b3336fbe7768b538256a850830541638936859d526b7112b4f06332209", "unvendored_tests": false, "version": "1.0.0"}, "pydoc-data": {"depends": [], "file_name": "pydoc_data-1.0.0-py2.py3-none-any.whl", "imports": ["pydoc_data"], "install_dir": "site", "name": "pydoc_data", "package_type": "cpython_module", "sha256": "7a92fadf411389acbebfc2e88fd00581c67372aaf375409e82459b7c1f83a54a", "unvendored_tests": false, "version": "1.0.0"}, "pyerfa": {"depends": ["numpy"], "file_name": "pyerfa-2.0.1.4-cp39-abi3-pyodide_2024_0_wasm32.whl", "imports": ["erfa"], "install_dir": "site", "name": "pyerfa", "package_type": "package", "sha256": "2d7cd0ea3b2c3433b0aac74dd952e9d41d225c861a0151997f9eac789b3037e2", "unvendored_tests": true, "version": "2.0.1.4"}, "pyerfa-tests": {"depends": ["pyerfa"], "file_name": "pyerfa-tests.tar", "imports": [], "install_dir": "site", "name": "pyerfa-tests", "package_type": "package", "sha256": "b9353c9577fd040eb25b0d686a75dc76a5fbf3df94132afde014c24e605a1e9c", "unvendored_tests": false, "version": "2.0.1.4"}, "pygame-ce": {"depends": [], "file_name": "pygame_ce-2.4.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["pygame"], "install_dir": "site", "name": "pygame-ce", "package_type": "package", "sha256": "038b90f060a6ee68b205378ed9f9ac1dc54f207aeb54f21f73bd4dcf50b541ac", "unvendored_tests": true, "version": "2.4.1"}, "pygame-ce-tests": {"depends": ["pygame-ce"], "file_name": "pygame-ce-tests.tar", "imports": [], "install_dir": "site", "name": "pygame-ce-tests", "package_type": "package", "sha256": "35c1a69571adc2bf312fd3362fce5497906ae251220f8bd9ecf37cc9888d39dc", "unvendored_tests": false, "version": "2.4.1"}, "pygments": {"depends": [], "file_name": "pygments-2.17.2-py3-none-any.whl", "imports": ["pygments"], "install_dir": "site", "name": "Pygments", "package_type": "package", "sha256": "ac04150325512ecf59de0ea182abf8879a47e641e523bbe2016ea71202048cd5", "unvendored_tests": false, "version": "2.17.2"}, "pyheif": {"depends": ["cffi"], "file_name": "pyheif-0.8.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["pyheif"], "install_dir": "site", "name": "pyheif", "package_type": "package", "sha256": "7e27401baa3f01601454d0608c34c6c6ae4cebcbcc1bc9a7b169e37770087e64", "unvendored_tests": false, "version": "0.8.0"}, "pyiceberg": {"depends": ["click", "fsspec", "mmh3", "pydantic", "pyparsing", "requests", "rich", "sortedcontainers", "sqlalchemy", "strictyaml"], "file_name": "pyiceberg-0.6.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["pyiceberg"], "install_dir": "site", "name": "pyiceberg", "package_type": "package", "sha256": "03e99f375fcd932b9e7a851fe8d312b6ad9014582e46cd131f07877170c1ccc2", "unvendored_tests": false, "version": "0.6.0"}, "pyinstrument": {"depends": [], "file_name": "pyinstrument-4.4.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["pyinstrument"], "install_dir": "site", "name": "pyinstrument", "package_type": "package", "sha256": "e0397ed84f95dbabc8ac8053d3c686b66f5d4bad917a7739da01bbd04f58a46c", "unvendored_tests": false, "version": "4.4.0"}, "pynacl": {"depends": ["cffi"], "file_name": "PyNaCl-1.5.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["nacl"], "install_dir": "site", "name": "pynacl", "package_type": "package", "sha256": "e65889a351da44eab63d231db671f8da7a919e833dec93d1bbb290e20562ac52", "unvendored_tests": false, "version": "1.5.0"}, "pyodide-http": {"depends": [], "file_name": "pyodide_http-0.2.1-py3-none-any.whl", "imports": ["pyodide_http"], "install_dir": "site", "name": "pyodide-http", "package_type": "package", "sha256": "b4ed81d127887054de050cdfb635f123bbe20a118704a499202146c861dcc4f3", "unvendored_tests": false, "version": "0.2.1"}, "pyodide-unix-timezones": {"depends": [], "file_name": "pyodide_unix_timezones-1.0.0-py3-none-any.whl", "imports": ["unix_timezones"], "install_dir": "site", "name": "pyodide-unix-timezones", "package_type": "package", "sha256": "b469425f1cc451c8b80198a571a4a4743395a354e94bff66d82e913b22e72b3f", "unvendored_tests": false, "version": "1.0.0"}, "pyparsing": {"depends": [], "file_name": "pyparsing-3.1.2-py3-none-any.whl", "imports": ["pyparsing"], "install_dir": "site", "name": "pyparsing", "package_type": "package", "sha256": "1bfcec2f29dc86b12d23b4c7284af1004c1f3b5886fcfe38f2dd8ae8bc1983d5", "unvendored_tests": false, "version": "3.1.2"}, "pyproj": {"depends": ["certifi", "sqlite3"], "file_name": "pyproj-3.6.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["pyproj"], "install_dir": "site", "name": "pyproj", "package_type": "package", "sha256": "11cae0abcb121ae8a51adf762028ea5552faa3c7dc8b33aff6ba0dfd11ac46c6", "unvendored_tests": false, "version": "3.6.1"}, "pyrsistent": {"depends": [], "file_name": "pyrsistent-0.20.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["_pyrsistent_version", "pyrsistent"], "install_dir": "site", "name": "pyrsistent", "package_type": "package", "sha256": "a8c1ffcbbc2d2cb0e874ab125228436d1feab02a25b19fa55ca9c906fa684062", "unvendored_tests": false, "version": "0.20.0"}, "pysam": {"depends": [], "file_name": "pysam-0.22.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["pysam"], "install_dir": "site", "name": "pysam", "package_type": "package", "sha256": "d15f06f3cdab7bee55d99d08177a573cce401b8b336c8eaaa9fc185e80d6d395", "unvendored_tests": false, "version": "0.22.0"}, "pyshp": {"depends": [], "file_name": "pyshp-2.3.1-py2.py3-none-any.whl", "imports": ["shapefile"], "install_dir": "site", "name": "pyshp", "package_type": "package", "sha256": "9301f57f1eafbf379dda5cf521c9442c320e3743f86d8b5958cbca2d5b1b493c", "unvendored_tests": false, "version": "2.3.1"}, "pytest": {"depends": ["atomicwrites", "attrs", "more-itertools", "pluggy", "py", "setuptools", "six", "iniconfig", "exceptiongroup"], "file_name": "pytest-8.1.1-py3-none-any.whl", "imports": ["_pytest", "pytest"], "install_dir": "site", "name": "pytest", "package_type": "package", "sha256": "85b317e413a6ccdb7beb312971411d6cc22f7a92ca8447b5bba971b4137f17e2", "unvendored_tests": false, "version": "8.1.1"}, "pytest-asyncio": {"depends": ["pytest"], "file_name": "pytest_asyncio-0.23.7-py3-none-any.whl", "imports": ["pytest_asyncio"], "install_dir": "site", "name": "pytest-asyncio", "package_type": "package", "sha256": "8ee6a71569aa37a0910db072174c9acd13d5997c1098f280e94ed4574a0cc190", "unvendored_tests": false, "version": "0.23.7"}, "pytest-benchmark": {"depends": [], "file_name": "pytest_benchmark-4.0.0-py3-none-any.whl", "imports": ["pytest_benchmark"], "install_dir": "site", "name": "pytest-benchmark", "package_type": "package", "sha256": "74d99849a15a9c74047981dfa15433600a45a1059ee00ee2b80542b10dbda10c", "unvendored_tests": false, "version": "4.0.0"}, "python-dateutil": {"depends": ["six"], "file_name": "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", "imports": ["dateutil"], "install_dir": "site", "name": "python-dateutil", "package_type": "package", "sha256": "797b31f9ae8a3290efe40c9569dd9c6ddf55ab4121b2e6637442eb4dda5b7061", "unvendored_tests": false, "version": "2.9.0.post0"}, "python-flint": {"depends": [], "file_name": "python_flint-0.6.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["flint"], "install_dir": "site", "name": "python-flint", "package_type": "package", "sha256": "f9bf7f05a974343833d957471e62ecb309c9096166a8d6db76ddbc14be334f68", "unvendored_tests": false, "version": "0.6.0"}, "python-magic": {"depends": ["libmagic"], "file_name": "python_magic-0.4.27-py2.py3-none-any.whl", "imports": ["magic"], "install_dir": "site", "name": "python-magic", "package_type": "package", "sha256": "f49e15d5c579811d9a467b3def0589a023cf9e9ec96e751277b6314a1770a899", "unvendored_tests": false, "version": "0.4.27"}, "python-sat": {"depends": ["six"], "file_name": "python_sat-1.8.dev13-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["pysat"], "install_dir": "site", "name": "python-sat", "package_type": "package", "sha256": "70e0ba336620930b3a1e35cc255b1390b7555d0c7fd8eb5aac03d88fd27482c0", "unvendored_tests": false, "version": "1.8.dev13"}, "python-solvespace": {"depends": [], "file_name": "python_solvespace-3.0.8-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["python_solvespace"], "install_dir": "site", "name": "python-solvespace", "package_type": "package", "sha256": "97e47b1dcfd4cf81779c3471d44c95ff12fb649386dd67fa20d025ff3574d027", "unvendored_tests": false, "version": "3.0.8"}, "pytz": {"depends": [], "file_name": "pytz-2024.1-py2.py3-none-any.whl", "imports": ["pytz"], "install_dir": "site", "name": "pytz", "package_type": "package", "sha256": "4d9fcdd0d31fed7ec88db3c09394c6d52611be122370aa3a5c20026aa4741d62", "unvendored_tests": false, "version": "2024.1"}, "pywavelets": {"depends": ["numpy", "matplotlib", "scipy"], "file_name": "pywavelets-1.7.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["pywt"], "install_dir": "site", "name": "pywavelets", "package_type": "package", "sha256": "b8c9af00a05dfeb51007aad1e8b3b951b9875a3a2ee280ad09bbd41d82110c03", "unvendored_tests": true, "version": "1.7.0"}, "pywavelets-tests": {"depends": ["pywavelets"], "file_name": "pywavelets-tests.tar", "imports": [], "install_dir": "site", "name": "pywavelets-tests", "package_type": "package", "sha256": "c3db6bcc05f7fd4812ca15dfdca660f10ea8032baeb30636a00941f16c4d8b7d", "unvendored_tests": false, "version": "1.7.0"}, "pyxel": {"depends": [], "file_name": "pyxel-1.9.10-cp37-abi3-pyodide_2024_0_wasm32.whl", "imports": ["pyxel"], "install_dir": "site", "name": "pyxel", "package_type": "package", "sha256": "b68a1c2224968b7543e1b5234c02c4cc745d65f77f4de9b3a6fb3da29bb5e566", "unvendored_tests": false, "version": "1.9.10"}, "pyxirr": {"depends": [], "file_name": "pyxirr-0.10.6-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["pyxirr"], "install_dir": "site", "name": "pyxirr", "package_type": "package", "sha256": "524d903b66a70ea1a73c06f4b482d581d4144053a21af1878925dcda35dd32bc", "unvendored_tests": false, "version": "0.10.6"}, "pyyaml": {"depends": [], "file_name": "PyYAML-6.0.2-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["_yaml", "yaml"], "install_dir": "site", "name": "pyyaml", "package_type": "package", "sha256": "4f6d4fd462caf96fdce9171287b143dd1e68c88648ede044a531dd35d9c3ca78", "unvendored_tests": false, "version": "6.0.2"}, "rasterio": {"depends": ["numpy", "affine", "gdal", "attrs", "certifi", "click", "cligj"], "file_name": "rasterio-1.4.2-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["rasterio"], "install_dir": "site", "name": "rasterio", "package_type": "package", "sha256": "bfa3e9a5f3447c10c9a9ac74a3b95a2de228a8bc0df504caaef38021ef294695", "unvendored_tests": false, "version": "1.4.2"}, "rateslib": {"depends": ["numpy", "pandas", "matplotlib"], "file_name": "rateslib-1.6.0-cp39-abi3-pyodide_2024_0_wasm32.whl", "imports": ["rateslib"], "install_dir": "site", "name": "rateslib", "package_type": "package", "sha256": "e8991ec93ce310cca7f923774e3712a2a021ca6f40e15e29ce3c7d44f1639287", "unvendored_tests": false, "version": "1.6.0"}, "rebound": {"depends": ["numpy"], "file_name": "rebound-4.4.3-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["rebound"], "install_dir": "site", "name": "rebound", "package_type": "package", "sha256": "e8a97a34d4cd7aff7a1c3867a17d3590c7f3a8be31803ca24a0ca5a987e84632", "unvendored_tests": false, "version": "4.4.3"}, "reboundx": {"depends": ["rebound", "numpy"], "file_name": "reboundx-4.3.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["reboundx"], "install_dir": "site", "name": "reboundx", "package_type": "package", "sha256": "c87b5d60b259e67893d28f92fb364c9a7e0d578b22c07191ee844aef207840d7", "unvendored_tests": false, "version": "4.3.0"}, "referencing": {"depends": ["attrs", "rpds-py"], "file_name": "referencing-0.34.0-py3-none-any.whl", "imports": ["referencing"], "install_dir": "site", "name": "referencing", "package_type": "package", "sha256": "85a54b89cffad1552bb4c7f5c2cb5a69e8476cb1f331fe7b816bcf61361cd421", "unvendored_tests": true, "version": "0.34.0"}, "referencing-tests": {"depends": ["referencing"], "file_name": "referencing-tests.tar", "imports": [], "install_dir": "site", "name": "referencing-tests", "package_type": "package", "sha256": "4613870a7f02e4b9b9f46fce0941317d000c56356a2bf7d6233043350f70a2f7", "unvendored_tests": false, "version": "0.34.0"}, "regex": {"depends": [], "file_name": "regex-2024.9.11-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["regex"], "install_dir": "site", "name": "regex", "package_type": "package", "sha256": "360f8c42bb23821206a3aaa154705fce204c73cbf84adfe1f15296bce2fca306", "unvendored_tests": true, "version": "2024.9.11"}, "regex-tests": {"depends": ["regex"], "file_name": "regex-tests.tar", "imports": [], "install_dir": "site", "name": "regex-tests", "package_type": "package", "sha256": "585927f9a991d9ea07ee29fb3b3b24e02d6a287d32ba3c2568ddc25ab7e16dc5", "unvendored_tests": false, "version": "2024.9.11"}, "requests": {"depends": ["charset-normalizer", "idna", "urllib3", "certifi"], "file_name": "requests-2.31.0-py3-none-any.whl", "imports": ["requests"], "install_dir": "site", "name": "requests", "package_type": "package", "sha256": "989ea9ee570dbac26269e964d3d73a1b7792ded0a7d1124fede2d2d05859dedd", "unvendored_tests": false, "version": "2.31.0"}, "retrying": {"depends": ["six"], "file_name": "retrying-1.3.4-py3-none-any.whl", "imports": ["retrying"], "install_dir": "site", "name": "retrying", "package_type": "package", "sha256": "556d56c59a3a0fda6779008eee80b96aea5702c9a89dadaa2a412910f6c6c06f", "unvendored_tests": false, "version": "1.3.4"}, "rich": {"depends": [], "file_name": "rich-13.7.1-py3-none-any.whl", "imports": ["rich"], "install_dir": "site", "name": "rich", "package_type": "package", "sha256": "15538d6bed0d8eedf057bc426fe6671ec2383ac20de021935a11ddee2f3d32ea", "unvendored_tests": false, "version": "13.7.1"}, "river": {"depends": ["numpy", "pandas", "scipy"], "file_name": "river-0.22.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["river"], "install_dir": "site", "name": "river", "package_type": "package", "sha256": "e60b97729df668034042c05cbbbe01d69c35edba6bbf14d4015aac77ae99ad26", "unvendored_tests": true, "version": "0.22.0"}, "river-tests": {"depends": ["river"], "file_name": "river-tests.tar", "imports": [], "install_dir": "site", "name": "river-tests", "package_type": "package", "sha256": "c06a63bd9d84295df81c556f456af97f1eda1159880f90b385a6e081716f9ccc", "unvendored_tests": false, "version": "0.22.0"}, "robotraconteur": {"depends": ["numpy"], "file_name": "RobotRaconteur-1.2.2-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["RobotRaconteur"], "install_dir": "site", "name": "RobotRaconteur", "package_type": "package", "sha256": "9aec7f65a3fed58c82c5cfbc6bff46cc5bf8fa1b79481ccd4ea7cb476f08b328", "unvendored_tests": false, "version": "1.2.2"}, "rpds-py": {"depends": [], "file_name": "rpds_py-0.18.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["rpds"], "install_dir": "site", "name": "rpds-py", "package_type": "package", "sha256": "a3f26d0f7a2eb06781e2d2c6cc4c13bca3a66d667601620c679c6978e661a07f", "unvendored_tests": false, "version": "0.18.0"}, "ruamel-yaml": {"depends": [], "file_name": "ruamel.yaml-0.18.6-py3-none-any.whl", "imports": ["ruamel"], "install_dir": "site", "name": "ruamel.yaml", "package_type": "package", "sha256": "df384cdd24f45ba88606eb44649ec7fc0d73307e28c791c19c9b92b9e6b1a75a", "unvendored_tests": false, "version": "0.18.6"}, "rust-abi-test": {"depends": [], "file_name": "rust_abi_test-1.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["rust-abi-test"], "install_dir": "site", "name": "rust-abi-test", "package_type": "package", "sha256": "dbb1b8c3c878b2d8c5a85444e2b0be2c87c0ae4463186fd20fc30c46283773cd", "unvendored_tests": false, "version": "1.0"}, "rust-panic-test": {"depends": [], "file_name": "rust_panic_test-1.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["rust-panic-test"], "install_dir": "site", "name": "rust-panic-test", "package_type": "package", "sha256": "7a491b50df2a813efbb3e95f03c52ab8f4ebde95e252a48e92b6279666051f2d", "unvendored_tests": false, "version": "1.0"}, "scikit-image": {"depends": ["packaging", "numpy", "scipy", "networkx", "pillow", "imageio", "pywavelets", "lazy_loader"], "file_name": "scikit_image-0.25.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["skimage"], "install_dir": "site", "name": "scikit-image", "package_type": "package", "sha256": "54171d692a5e01eec859ff6a59f997bf5d055f1a0660d35d1d90ce38ed03ad2d", "unvendored_tests": true, "version": "0.25.0"}, "scikit-image-tests": {"depends": ["scikit-image"], "file_name": "scikit-image-tests.tar", "imports": [], "install_dir": "site", "name": "scikit-image-tests", "package_type": "package", "sha256": "4dc121ef29225f77f83d82babcc3714010bcc447c9c88045bfbd09d230b35cd4", "unvendored_tests": false, "version": "0.25.0"}, "scikit-learn": {"depends": ["scipy", "joblib", "threadpoolctl"], "file_name": "scikit_learn-1.6.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["sklearn"], "install_dir": "site", "name": "scikit-learn", "package_type": "package", "sha256": "366a683e6ee7b79f0755761489c7396b11db3086f07f5078f9b74ab4c6d3ddb8", "unvendored_tests": true, "version": "1.6.1"}, "scikit-learn-tests": {"depends": ["scikit-learn"], "file_name": "scikit-learn-tests.tar", "imports": [], "install_dir": "site", "name": "scikit-learn-tests", "package_type": "package", "sha256": "43f9b6c8dceba857b18349dee0323749eae4b402cd332d2dd1d192aafee89f5b", "unvendored_tests": false, "version": "1.6.1"}, "scipy": {"depends": ["numpy", "openblas"], "file_name": "scipy-1.14.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["scipy"], "install_dir": "site", "name": "scipy", "package_type": "package", "sha256": "eebec257caf28c3cc969b05878327a285437af1a44eec92fc6312cc0ed638499", "unvendored_tests": true, "version": "1.14.1"}, "scipy-tests": {"depends": ["scipy"], "file_name": "scipy-tests.tar", "imports": [], "install_dir": "site", "name": "scipy-tests", "package_type": "package", "sha256": "6f11b4e99496ec949b8cbc0da438d26be722a7623f23338506437a344ec0b209", "unvendored_tests": false, "version": "1.14.1"}, "screed": {"depends": [], "file_name": "screed-1.1.3-py2.py3-none-any.whl", "imports": ["bigtests", "screed"], "install_dir": "site", "name": "screed", "package_type": "package", "sha256": "c19d20a26988701e7a861444ee21b2d50079c92d96c966969e73f677873fe069", "unvendored_tests": true, "version": "1.1.3"}, "screed-tests": {"depends": ["screed"], "file_name": "screed-tests.tar", "imports": [], "install_dir": "site", "name": "screed-tests", "package_type": "package", "sha256": "46fb0a3f325489f9f6133136cb4eb3ea7370576e1b1b5d1cd0cdbb9519cc6168", "unvendored_tests": false, "version": "1.1.3"}, "setuptools": {"depends": ["pyparsing"], "file_name": "setuptools-69.5.1-py3-none-any.whl", "imports": ["_distutils_hack", "pkg_resources", "setuptools"], "install_dir": "site", "name": "setuptools", "package_type": "package", "sha256": "55db9a495173f61154429e94d917ec869c870fd6e8899eb3cc3a6fe9b9a045ec", "unvendored_tests": false, "version": "69.5.1"}, "shapely": {"depends": ["numpy"], "file_name": "shapely-2.0.6-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["shapely"], "install_dir": "site", "name": "shapely", "package_type": "package", "sha256": "369a877a70309114933c0b05a0921ce39cdb1bbce0d6ec6bc1f87cddb215eca3", "unvendored_tests": true, "version": "2.0.6"}, "shapely-tests": {"depends": ["shapely"], "file_name": "shapely-tests.tar", "imports": [], "install_dir": "site", "name": "shapely-tests", "package_type": "package", "sha256": "cd1bd5c16ea99d2d0ba36d955172e72e745197af1fefb25e68762741b8c52c9f", "unvendored_tests": false, "version": "2.0.6"}, "sharedlib-test": {"depends": [], "file_name": "sharedlib-test-1.0.zip", "imports": [], "install_dir": "dynlib", "name": "sharedlib-test", "package_type": "shared_library", "sha256": "f376932bff89a4fafda8b428ce09147ad66788e63d71ead2c8df2db6e72e895b", "unvendored_tests": false, "version": "1.0"}, "sharedlib-test-py": {"depends": ["sharedlib-test"], "file_name": "sharedlib_test_py-1.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["sharedlib_test"], "install_dir": "site", "name": "sharedlib-test-py", "package_type": "package", "sha256": "8b90ce5ed558817d4fa5fa4f6035eeb0e5b821c220e72bfc05186878ac4bb6a3", "unvendored_tests": false, "version": "1.0"}, "simplejson": {"depends": [], "file_name": "simplejson-3.19.2-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["simplejson"], "install_dir": "site", "name": "simplejson", "package_type": "package", "sha256": "0491048f30a890b40c5fa07ef072039d7514ca2c39f3310c773c698def4e81e8", "unvendored_tests": true, "version": "3.19.2"}, "simplejson-tests": {"depends": ["simplejson"], "file_name": "simplejson-tests.tar", "imports": [], "install_dir": "site", "name": "simplejson-tests", "package_type": "package", "sha256": "13d61686ff97f4d856cb9990c1eafc0f41e1a47b305d92818c264bf0590e5934", "unvendored_tests": false, "version": "3.19.2"}, "sisl": {"depends": ["pyparsing", "numpy", "scipy", "tqdm", "xarray", "pandas", "matplotlib"], "file_name": "sisl-0.15.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["sisl_toolbox", "sisl"], "install_dir": "site", "name": "sisl", "package_type": "package", "sha256": "cb3e398db1fb3ce4fe71d4dce36a995eb5830450bcc09cfbdf5fa9cbd6f5a6c5", "unvendored_tests": true, "version": "0.15.1"}, "sisl-tests": {"depends": ["sisl"], "file_name": "sisl-tests.tar", "imports": [], "install_dir": "site", "name": "sisl-tests", "package_type": "package", "sha256": "2f1ac8e121e6f4d52d6d45df395c0a7e399de162ec438b57a5671f0a5dfe5da7", "unvendored_tests": false, "version": "0.15.1"}, "six": {"depends": [], "file_name": "six-1.16.0-py2.py3-none-any.whl", "imports": ["six"], "install_dir": "site", "name": "six", "package_type": "package", "sha256": "9a9c3ac3a9305de225a2c8001171387acca73aa0a5c355a2ad49a8adbc6170db", "unvendored_tests": false, "version": "1.16.0"}, "smart-open": {"depends": ["wrapt"], "file_name": "smart_open-7.0.4-py3-none-any.whl", "imports": ["smart_open"], "install_dir": "site", "name": "smart-open", "package_type": "package", "sha256": "b5548ac9419a50ff7ab0502884f69c521a3d730842c6667de2aa513592815764", "unvendored_tests": false, "version": "7.0.4"}, "sortedcontainers": {"depends": [], "file_name": "sortedcontainers-2.4.0-py2.py3-none-any.whl", "imports": ["sortedcontainers"], "install_dir": "site", "name": "sortedcontainers", "package_type": "package", "sha256": "d40ce50e406b2c84e95b69d31fb13a9ecccc8dd83468f63da8e0d9484ae0942d", "unvendored_tests": false, "version": "2.4.0"}, "soupsieve": {"depends": [], "file_name": "soupsieve-2.5-py3-none-any.whl", "imports": ["soupsieve"], "install_dir": "site", "name": "soupsieve", "package_type": "package", "sha256": "e97cfa16d2a6cc246659bc085ca3749ac6c6107fd68b54bbcea843786beccf5d", "unvendored_tests": false, "version": "2.5"}, "sourmash": {"depends": ["screed", "cffi", "deprecation", "cachetools", "numpy", "matplotlib", "scipy", "sqlite3", "bitstring"], "file_name": "sourmash-4.8.11-py3-none-pyodide_2024_0_wasm32.whl", "imports": ["sourmash"], "install_dir": "site", "name": "sourmash", "package_type": "package", "sha256": "10f589da5c91e2fabef9bb5efe6cb325b231aea2a18388290df10e09e8efe82b", "unvendored_tests": false, "version": "4.8.11"}, "soxr": {"depends": ["numpy"], "file_name": "soxr-0.5.0.post1-cp312-abi3-pyodide_2024_0_wasm32.whl", "imports": ["soxr"], "install_dir": "site", "name": "soxr", "package_type": "package", "sha256": "a7ec50bbbe0425350b505de05ab1ba9f3718ac5f8d50a0f9026b99d098dcc6c2", "unvendored_tests": false, "version": "0.5.0.post1"}, "sparseqr": {"depends": ["pycparser", "cffi", "numpy", "scipy", "suitesparse"], "file_name": "sparseqr-1.2-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["sparseqr"], "install_dir": "site", "name": "sparseqr", "package_type": "package", "sha256": "99d7e6b87ba695691020d27ea24cf8abd827f7aa94ce7939a47979191067e6c8", "unvendored_tests": false, "version": "1.2"}, "sqlalchemy": {"depends": ["sqlite3", "typing-extensions"], "file_name": "SQLAlchemy-2.0.29-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["sqlalchemy"], "install_dir": "site", "name": "sqlalchemy", "package_type": "package", "sha256": "612b1a9126ec9ed32cf6a3bec5ba819bcf22129391ad36282c91968fa206f1ed", "unvendored_tests": true, "version": "2.0.29"}, "sqlalchemy-tests": {"depends": ["sqlalchemy"], "file_name": "sqlalchemy-tests.tar", "imports": [], "install_dir": "site", "name": "sqlalchemy-tests", "package_type": "package", "sha256": "22bc36d17fe77a36a82b47e683c40a85e76e43520973b81f9abb251229879025", "unvendored_tests": false, "version": "2.0.29"}, "sqlite3": {"depends": [], "file_name": "sqlite3-1.0.0-py2.py3-none-any.whl", "imports": ["sqlite3", "_sqlite3"], "install_dir": "site", "name": "sqlite3", "package_type": "cpython_module", "sha256": "23c51f8913c23ea67eb7c86ad80db7d26ce98f22e1ed48909d80be4452e9b20e", "unvendored_tests": false, "version": "1.0.0"}, "ssl": {"depends": ["openssl"], "file_name": "ssl-1.0.0-py2.py3-none-any.whl", "imports": ["ssl", "_ssl"], "install_dir": "site", "name": "ssl", "package_type": "cpython_module", "sha256": "cd62925e0170c80ea371c125dbc512a43c8018ddbf58ee9c71987f64700dbaf7", "unvendored_tests": false, "version": "1.0.0"}, "stack-data": {"depends": ["executing", "asttokens", "pure-eval"], "file_name": "stack_data-0.6.3-py3-none-any.whl", "imports": ["stack_data"], "install_dir": "site", "name": "stack-data", "package_type": "package", "sha256": "35c37da13e17cfaea4d2bef2b1fc92da298ac1e93483759e89d63eeca11e2d0c", "unvendored_tests": false, "version": "0.6.3"}, "statsmodels": {"depends": ["numpy", "scipy", "pandas", "patsy", "packaging"], "file_name": "statsmodels-0.14.4-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["statsmodels"], "install_dir": "site", "name": "statsmodels", "package_type": "package", "sha256": "bee8738734db2d59b7170a887d55815540d09b033be93b62c0fbf8177ac41254", "unvendored_tests": false, "version": "0.14.4"}, "strictyaml": {"depends": ["python-dateutil"], "file_name": "strictyaml-1.7.3-py3-none-any.whl", "imports": ["strictyaml"], "install_dir": "site", "name": "strictyaml", "package_type": "package", "sha256": "9950bd6669a0a3485bd3cad60c6cf7c385a449465b3869f54a09633b64963fdf", "unvendored_tests": false, "version": "1.7.3"}, "suitesparse": {"depends": ["openblas"], "file_name": "suitesparse-5.11.0.zip", "imports": [], "install_dir": "dynlib", "name": "suitesparse", "package_type": "shared_library", "sha256": "b49ce96e75146487e5ba801d75b50279f26811818b4fad628893dda9456da595", "unvendored_tests": false, "version": "5.11.0"}, "svgwrite": {"depends": [], "file_name": "svgwrite-1.4.3-py3-none-any.whl", "imports": ["svgwrite"], "install_dir": "site", "name": "svgwrite", "package_type": "package", "sha256": "ef5033956416944252eb7de0559845b3c9ecbe296519c9a8ecd1f20ce311bc3f", "unvendored_tests": false, "version": "1.4.3"}, "swiglpk": {"depends": [], "file_name": "swiglpk-5.0.10-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["swiglpk"], "install_dir": "site", "name": "swiglpk", "package_type": "package", "sha256": "84c624d8f2509a1b858eeb422b1be1d09b9f52e0c1deb3c6b0c91e0006ed51f2", "unvendored_tests": false, "version": "5.0.10"}, "sympy": {"depends": ["mpmath"], "file_name": "sympy-1.13.3-py3-none-any.whl", "imports": ["isympy", "sympy"], "install_dir": "site", "name": "sympy", "package_type": "package", "sha256": "31f9d8cf9e00efa868c9f30c7cafe644b347a48b01ce8fa492938986cf60deb1", "unvendored_tests": true, "version": "1.13.3"}, "sympy-tests": {"depends": ["sympy"], "file_name": "sympy-tests.tar", "imports": [], "install_dir": "site", "name": "sympy-tests", "package_type": "package", "sha256": "91793b52f4b017a8b16998b5b535f119b05992d4f4d7be9414013e517768c5a8", "unvendored_tests": false, "version": "1.13.3"}, "tblib": {"depends": [], "file_name": "tblib-3.0.0-py3-none-any.whl", "imports": ["tblib"], "install_dir": "site", "name": "tblib", "package_type": "package", "sha256": "d4401b1694ad5ff6c9913aa5314d566d443e91d4a469e4da2464e7d9d6dea92c", "unvendored_tests": false, "version": "3.0.0"}, "termcolor": {"depends": [], "file_name": "termcolor-2.4.0-py3-none-any.whl", "imports": ["termcolor"], "install_dir": "site", "name": "termcolor", "package_type": "package", "sha256": "188eb32ba80db2f541ac0e520b113b6b0eb90e15a15a188af99abfe829458456", "unvendored_tests": false, "version": "2.4.0"}, "test": {"depends": [], "file_name": "test-1.0.0-py2.py3-none-any.whl", "imports": ["test"], "install_dir": "site", "name": "test", "package_type": "cpython_module", "sha256": "d235bf78d343f00e089b59777f5484437c946010d9c08a71cbc9b9fd1a988f54", "unvendored_tests": false, "version": "1.0.0"}, "texttable": {"depends": [], "file_name": "texttable-1.7.0-py2.py3-none-any.whl", "imports": ["texttable"], "install_dir": "site", "name": "texttable", "package_type": "package", "sha256": "21b971f159c8c8316f7eb8f4be94cc96d0e13c7d8e7361d5a720c979f78a42fb", "unvendored_tests": false, "version": "1.7.0"}, "threadpoolctl": {"depends": [], "file_name": "threadpoolctl-3.5.0-py3-none-any.whl", "imports": ["threadpoolctl"], "install_dir": "site", "name": "threadpoolctl", "package_type": "package", "sha256": "85ba420ffa213e855bee04b2fabed30c9abdb6253b3698f2c40e1f9e320803d5", "unvendored_tests": false, "version": "3.5.0"}, "tiktoken": {"depends": ["regex", "requests"], "file_name": "tiktoken-0.8.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["tiktoken", "tiktoken_ext"], "install_dir": "site", "name": "tiktoken", "package_type": "package", "sha256": "9822dbab8a69df5651c2a60f369f58cd5df21af0be1bd8d5da45f972b9fb1c41", "unvendored_tests": false, "version": "0.8.0"}, "tomli": {"depends": [], "file_name": "tomli-2.0.1-py3-none-any.whl", "imports": ["tomli"], "install_dir": "site", "name": "tomli", "package_type": "package", "sha256": "6c8a227cbf699db514e7f9c6ba798c7a036993d7e3ba90295a8580d0403042c4", "unvendored_tests": false, "version": "2.0.1"}, "tomli-w": {"depends": [], "file_name": "tomli_w-1.0.0-py3-none-any.whl", "imports": ["tomli_w"], "install_dir": "site", "name": "tomli-w", "package_type": "package", "sha256": "6e5bda93cda389fdf85f047447c66207441194c50d3e2b307061c99c885ba6ac", "unvendored_tests": false, "version": "1.0.0"}, "toolz": {"depends": [], "file_name": "toolz-0.12.1-py3-none-any.whl", "imports": ["tlz", "toolz"], "install_dir": "site", "name": "toolz", "package_type": "package", "sha256": "fd37c03705cae0ce883ed9c8ebf86ce4a4314bcaa78e859673e157aac72c3140", "unvendored_tests": true, "version": "0.12.1"}, "toolz-tests": {"depends": ["toolz"], "file_name": "toolz-tests.tar", "imports": [], "install_dir": "site", "name": "toolz-tests", "package_type": "package", "sha256": "10dbb463b56bf32e6978e710d589ca4dea0ea75f15dc7050728a0a50d1d5dc61", "unvendored_tests": false, "version": "0.12.1"}, "tqdm": {"depends": [], "file_name": "tqdm-4.66.2-py3-none-any.whl", "imports": ["tqdm"], "install_dir": "site", "name": "tqdm", "package_type": "package", "sha256": "a44957de6b0d510b380670e81376be8625619b2d2eb10e34daf6168cab5c06c5", "unvendored_tests": false, "version": "4.66.2"}, "traitlets": {"depends": [], "file_name": "traitlets-5.14.3-py3-none-any.whl", "imports": ["traitlets"], "install_dir": "site", "name": "traitlets", "package_type": "package", "sha256": "95882d9bf2b8f18c37af4a8061bf83d2fdc7ffec71b70d752e68cda2a8b67f75", "unvendored_tests": true, "version": "5.14.3"}, "traitlets-tests": {"depends": ["traitlets"], "file_name": "traitlets-tests.tar", "imports": [], "install_dir": "site", "name": "traitlets-tests", "package_type": "package", "sha256": "10f443b3b34b6f3aa6e1e54c302862a3f0c32a184a23ecb182fe8210cfe4a2e0", "unvendored_tests": false, "version": "5.14.3"}, "traits": {"depends": [], "file_name": "traits-6.4.3-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["traits"], "install_dir": "site", "name": "traits", "package_type": "package", "sha256": "acb44eb4e8e37d18c38cad3b1b7be3ec578caedee5fae790c325f5836f01ee13", "unvendored_tests": true, "version": "6.4.3"}, "traits-tests": {"depends": ["traits"], "file_name": "traits-tests.tar", "imports": [], "install_dir": "site", "name": "traits-tests", "package_type": "package", "sha256": "6f3fcebfd58245b3b3297e3e91a11f54cf0d75cefd37ed76eb023d5baf7efc3d", "unvendored_tests": false, "version": "6.4.3"}, "tree-sitter": {"depends": [], "file_name": "tree_sitter-0.23.2-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["tree_sitter"], "install_dir": "site", "name": "tree-sitter", "package_type": "package", "sha256": "9ab83952dfec79c6b6d6c0eedda65b8573cc71394ab43286d7a8e750c991d3b0", "unvendored_tests": false, "version": "0.23.2"}, "tree-sitter-go": {"depends": ["tree-sitter"], "file_name": "tree_sitter_go-0.23.3-cp39-abi3-pyodide_2024_0_wasm32.whl", "imports": ["tree_sitter_go"], "install_dir": "site", "name": "tree-sitter-go", "package_type": "package", "sha256": "01c100fa55add2c85d95d4808eb90b4845048dc60354541e0511e80bf604a75d", "unvendored_tests": false, "version": "0.23.3"}, "tree-sitter-java": {"depends": ["tree-sitter"], "file_name": "tree_sitter_java-0.23.4-cp39-abi3-pyodide_2024_0_wasm32.whl", "imports": ["tree_sitter_java"], "install_dir": "site", "name": "tree-sitter-java", "package_type": "package", "sha256": "ead1b39ab00321bdc2b18f234d3a79b38c6ec628b48bbcb1bc1b0447e49d1bcc", "unvendored_tests": false, "version": "0.23.4"}, "tree-sitter-python": {"depends": ["tree-sitter"], "file_name": "tree_sitter_python-0.23.4-cp39-abi3-pyodide_2024_0_wasm32.whl", "imports": ["tree_sitter_python"], "install_dir": "site", "name": "tree-sitter-python", "package_type": "package", "sha256": "d08ec0bac125c8545fdd90606556622bb23074f322039d1376b035e25e626b48", "unvendored_tests": false, "version": "0.23.4"}, "tskit": {"depends": ["numpy", "svgwrite", "jsonschema", "rpds-py"], "file_name": "tskit-0.6.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["tskit"], "install_dir": "site", "name": "tskit", "package_type": "package", "sha256": "efaf091cd918de1aad68817ce739f3ae280c71b6e14226c9d738dc50b4846e62", "unvendored_tests": false, "version": "0.6.0"}, "typing-extensions": {"depends": [], "file_name": "typing_extensions-4.11.0-py3-none-any.whl", "imports": ["typing_extensions"], "install_dir": "site", "name": "typing-extensions", "package_type": "package", "sha256": "0de4dc28ee755d5ee6b946e8df60360d68ccb772a076c04277677646467425a9", "unvendored_tests": false, "version": "4.11.0"}, "tzdata": {"depends": [], "file_name": "tzdata-2024.1-py2.py3-none-any.whl", "imports": ["tzdata"], "install_dir": "site", "name": "tzdata", "package_type": "package", "sha256": "7aeeaaea345f1c810ff7ef2688b37975f918e757c818f8e7f351618caecd56bf", "unvendored_tests": false, "version": "2024.1"}, "uncertainties": {"depends": ["future"], "file_name": "uncertainties-3.1.7-py2.py3-none-any.whl", "imports": ["uncertainties"], "install_dir": "site", "name": "uncertainties", "package_type": "package", "sha256": "889e943b32290ac443f260299f2815a89782647f744bd3b07e44e601b98f8457", "unvendored_tests": true, "version": "3.1.7"}, "uncertainties-tests": {"depends": ["uncertainties"], "file_name": "uncertainties-tests.tar", "imports": [], "install_dir": "site", "name": "uncertainties-tests", "package_type": "package", "sha256": "ceb22e53c2a0a918441561ac54c9db63da459746888fc682bb8cebc20e31525f", "unvendored_tests": false, "version": "3.1.7"}, "unyt": {"depends": ["numpy", "packaging", "sympy"], "file_name": "unyt-3.0.3-py3-none-any.whl", "imports": ["unyt"], "install_dir": "site", "name": "unyt", "package_type": "package", "sha256": "45b906f5a31731886adb0b98f4e70689a729aa437de6c43fb0ca2d71a9ff82a0", "unvendored_tests": true, "version": "3.0.3"}, "unyt-tests": {"depends": ["unyt"], "file_name": "unyt-tests.tar", "imports": [], "install_dir": "site", "name": "unyt-tests", "package_type": "package", "sha256": "1842e022ce93f0493e581ce6bfe59d1b6be8b43d42bc95cd2a8dcf3e0f72a87a", "unvendored_tests": false, "version": "3.0.3"}, "urllib3": {"depends": [], "file_name": "urllib3-2.2.3-py3-none-any.whl", "imports": ["urllib3"], "install_dir": "site", "name": "urllib3", "package_type": "package", "sha256": "819458954209ef4ea434df1b04408982a4426b061e110a30e760677b80732864", "unvendored_tests": false, "version": "2.2.3"}, "vega-datasets": {"depends": ["pandas"], "file_name": "vega_datasets-0.9.0-py3-none-any.whl", "imports": ["vega_datasets"], "install_dir": "site", "name": "vega-datasets", "package_type": "package", "sha256": "6a46728c41def99f4c43b7965bd39306aeb1f50cb49bbe269eb80e436f2f5006", "unvendored_tests": true, "version": "0.9.0"}, "vega-datasets-tests": {"depends": ["vega-datasets"], "file_name": "vega-datasets-tests.tar", "imports": [], "install_dir": "site", "name": "vega-datasets-tests", "package_type": "package", "sha256": "40acee61cba9915a4e4e1351a8cb0d660efc53cfab8d381784476db74f5c2620", "unvendored_tests": false, "version": "0.9.0"}, "wcwidth": {"depends": [], "file_name": "wcwidth-0.2.13-py2.py3-none-any.whl", "imports": ["wcwidth"], "install_dir": "site", "name": "wcwidth", "package_type": "package", "sha256": "98f986298d7878d98e7a039e7dc81be26eab99c6ebe2bf9215bc735f87dd245c", "unvendored_tests": false, "version": "0.2.13"}, "webencodings": {"depends": [], "file_name": "webencodings-0.5.1-py2.py3-none-any.whl", "imports": ["webencodings"], "install_dir": "site", "name": "webencodings", "package_type": "package", "sha256": "4ddec4a758fd69b6faaae0e0e60cd6f807fa49d706c417eb6777f147743545f7", "unvendored_tests": false, "version": "0.5.1"}, "wordcloud": {"depends": ["matplotlib"], "file_name": "wordcloud-1.9.3-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["wordcloud"], "install_dir": "site", "name": "wordcloud", "package_type": "package", "sha256": "fd7b3a0612bd8a05c11e3db1656523afcb3323e1c7df37b656096f94bc298c21", "unvendored_tests": false, "version": "1.9.3"}, "wrapt": {"depends": [], "file_name": "wrapt-1.16.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["wrapt"], "install_dir": "site", "name": "wrapt", "package_type": "package", "sha256": "13a9aa1c04c1a492a11e841ffb37050a27d5ab1651b4692cf068b8b5678cadd3", "unvendored_tests": false, "version": "1.16.0"}, "xarray": {"depends": ["numpy", "packaging", "pandas"], "file_name": "xarray-2024.11.0-py3-none-any.whl", "imports": ["xarray"], "install_dir": "site", "name": "xarray", "package_type": "package", "sha256": "82381bccda787f00be93c156008f9c1f57c16348a99d014f004a541e756a6c92", "unvendored_tests": true, "version": "2024.11.0"}, "xarray-tests": {"depends": ["xarray"], "file_name": "xarray-tests.tar", "imports": [], "install_dir": "site", "name": "xarray-tests", "package_type": "package", "sha256": "ca06ab952e066d8a46f60855287a1bfb1b6c8b812b989a97ba512361a5df0612", "unvendored_tests": false, "version": "2024.11.0"}, "xgboost": {"depends": ["numpy", "scipy", "setuptools"], "file_name": "xgboost-2.1.2-py3-none-pyodide_2024_0_wasm32.whl", "imports": ["xgboost"], "install_dir": "site", "name": "xgboost", "package_type": "package", "sha256": "bde8e338a824d7853b59f36f252697609fb59f51da7af14c3e5b89e4b825d428", "unvendored_tests": false, "version": "2.1.2"}, "xlrd": {"depends": [], "file_name": "xlrd-2.0.1-py2.py3-none-any.whl", "imports": ["xlrd"], "install_dir": "site", "name": "xlrd", "package_type": "package", "sha256": "a74ca5c34708d1242c5bf1298089d82f8b5832ba22bcadb851bb44be5075970c", "unvendored_tests": false, "version": "2.0.1"}, "xxhash": {"depends": [], "file_name": "xxhash-3.4.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["xxhash"], "install_dir": "site", "name": "xxhash", "package_type": "package", "sha256": "6f099081ddf9ef8cba3ddbbd71b9400d52410334cae34210df58586642842bad", "unvendored_tests": false, "version": "3.4.1"}, "xyzservices": {"depends": [], "file_name": "xyzservices-2024.4.0-py3-none-any.whl", "imports": ["xyzservices"], "install_dir": "site", "name": "xyzservices", "package_type": "package", "sha256": "6845729ba7b006123b2d58fb7acc7c87eaaecf340c53fd10dce3a5230da6a106", "unvendored_tests": true, "version": "2024.4.0"}, "xyzservices-tests": {"depends": ["xyzservices"], "file_name": "xyzservices-tests.tar", "imports": [], "install_dir": "site", "name": "xyzservices-tests", "package_type": "package", "sha256": "66575df0f66976f0135e836852c77d2f6b95ab04a1e92a19961691d08207e341", "unvendored_tests": false, "version": "2024.4.0"}, "yarl": {"depends": ["multidict", "idna"], "file_name": "yarl-1.9.4-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["yarl"], "install_dir": "site", "name": "yarl", "package_type": "package", "sha256": "2381e151bd93da29c42303a822e5fc577eccc3b2c60075d44d1e0953b2553fea", "unvendored_tests": false, "version": "1.9.4"}, "yt": {"depends": ["ewah_bool_utils", "numpy", "matplotlib", "sympy", "setuptools", "packaging", "unyt", "cmyt", "colorspacious", "tqdm", "tomli", "tomli-w"], "file_name": "yt-4.3.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["yt"], "install_dir": "site", "name": "yt", "package_type": "package", "sha256": "ad7069a877ef72118b82681084c5001492f10be78cedee1b876851ad3312db25", "unvendored_tests": false, "version": "4.3.1"}, "zarr": {"depends": ["numpy", "asciitree", "numcodecs"], "file_name": "zarr-2.18.3-py3-none-any.whl", "imports": ["zarr"], "install_dir": "site", "name": "zarr", "package_type": "package", "sha256": "a8894ff4c8540817366b640ccdf9d0f3d02e4bc1a8afb227800d5073cebe0e30", "unvendored_tests": true, "version": "2.18.3"}, "zarr-tests": {"depends": ["zarr"], "file_name": "zarr-tests.tar", "imports": [], "install_dir": "site", "name": "zarr-tests", "package_type": "package", "sha256": "43d24bd575733c9d8fa5357fdc982b0b0bf37cbfd5ae20df3bddab2529183f7e", "unvendored_tests": false, "version": "2.18.3"}, "zengl": {"depends": [], "file_name": "zengl-2.7.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["zengl", "_zengl"], "install_dir": "site", "name": "zengl", "package_type": "package", "sha256": "019ddb30f04997051f01afa2ba247cbecdc87dc3bbce67dadff2ad2dbc1436e8", "unvendored_tests": false, "version": "2.7.1"}, "zfpy": {"depends": ["numpy"], "file_name": "zfpy-1.0.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["zfpy"], "install_dir": "site", "name": "zfpy", "package_type": "package", "sha256": "e85444e2511fdffec84de66045192dc20e6b171bbf0d5bd521556bf05140f05c", "unvendored_tests": false, "version": "1.0.1"}, "zstandard": {"depends": ["cffi"], "file_name": "zstandard-0.22.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["zstandard"], "install_dir": "site", "name": "zstandard", "package_type": "package", "sha256": "b945d822695f786ff81e15c905f255b450fce7102f30a54daa5c30a79c520497", "unvendored_tests": false, "version": "0.22.0"}}} \ No newline at end of file +{"info": {"abi_version": "2024_0", "arch": "wasm32", "platform": "emscripten_3_1_58", "python": "3.12.7", "version": "0.27.3"}, "packages": {"affine": {"depends": [], "file_name": "affine-2.4.0-py3-none-any.whl", "imports": ["affine"], "install_dir": "site", "name": "affine", "package_type": "package", "sha256": "708aa092f3ee514f45afa4674d1385203789128406d2c30490a2e6eeef9d4f59", "unvendored_tests": true, "version": "2.4.0"}, "affine-tests": {"depends": ["affine"], "file_name": "affine-tests.tar", "imports": [], "install_dir": "site", "name": "affine-tests", "package_type": "package", "sha256": "f1c41942e8b59516a463918a2ff2ad9a1e4462dfca4b58d035b42592a0ab5b8b", "unvendored_tests": false, "version": "2.4.0"}, "aiohttp": {"depends": ["aiosignal", "async-timeout", "attrs", "charset-normalizer", "frozenlist", "multidict", "yarl"], "file_name": "aiohttp-3.9.5-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["aiohttp"], "install_dir": "site", "name": "aiohttp", "package_type": "package", "sha256": "af776312f5564740795a34fbc51986d81e94ba9644fedcb79f70bae3ec9edd50", "unvendored_tests": true, "version": "3.9.5"}, "aiohttp-tests": {"depends": ["aiohttp"], "file_name": "aiohttp-tests.tar", "imports": [], "install_dir": "site", "name": "aiohttp-tests", "package_type": "package", "sha256": "5363e839575bb91e7d9101569228dc7a569eaa02e1c3cf63c7adbfa63e193208", "unvendored_tests": false, "version": "3.9.5"}, "aiosignal": {"depends": ["frozenlist"], "file_name": "aiosignal-1.3.1-py3-none-any.whl", "imports": ["aiosignal"], "install_dir": "site", "name": "aiosignal", "package_type": "package", "sha256": "9c910d6fb9571df9aa1aedff70ea1e9e788af2635794e16c51c555685078e3b2", "unvendored_tests": false, "version": "1.3.1"}, "altair": {"depends": ["typing-extensions", "jinja2", "jsonschema", "packaging", "narwhals"], "file_name": "altair-5.4.1-py3-none-any.whl", "imports": ["altair"], "install_dir": "site", "name": "altair", "package_type": "package", "sha256": "aae79ee70f20ba6178cde69504269e3c3b345cbd78065ccbc97d711160e4f953", "unvendored_tests": false, "version": "5.4.1"}, "annotated-types": {"depends": [], "file_name": "annotated_types-0.6.0-py3-none-any.whl", "imports": ["annotated_types"], "install_dir": "site", "name": "annotated-types", "package_type": "package", "sha256": "319ca0e1f8f91acc59a94b5cae70394447ea4cf572d62ba839185a1cea8c9521", "unvendored_tests": true, "version": "0.6.0"}, "annotated-types-tests": {"depends": ["annotated-types"], "file_name": "annotated-types-tests.tar", "imports": [], "install_dir": "site", "name": "annotated-types-tests", "package_type": "package", "sha256": "448ec5b62cc938836c4064fcfcb97efe87c0f5dbcec4f90743e0699402f7aa92", "unvendored_tests": false, "version": "0.6.0"}, "apsw": {"depends": [], "file_name": "apsw-3.47.2.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["apsw"], "install_dir": "site", "name": "apsw", "package_type": "package", "sha256": "3b54f41232d1a0decce7789163ca5aa877028d931961b14896754d02f8b1bd15", "unvendored_tests": false, "version": "3.47.2.0"}, "argon2-cffi": {"depends": ["argon2-cffi-bindings"], "file_name": "argon2_cffi-23.1.0-py3-none-any.whl", "imports": ["argon2"], "install_dir": "site", "name": "argon2-cffi", "package_type": "package", "sha256": "3e91a1e6aebbe7f6f36c5c539bb107094d73503ab2b32b8e60f14b986a88586e", "unvendored_tests": false, "version": "23.1.0"}, "argon2-cffi-bindings": {"depends": ["cffi"], "file_name": "argon2_cffi_bindings-21.2.0-cp312-abi3-pyodide_2024_0_wasm32.whl", "imports": ["_argon2_cffi_bindings"], "install_dir": "site", "name": "argon2-cffi-bindings", "package_type": "package", "sha256": "18d3561ac548ad94dceac468635f8d5da8c360b8419cb24895832772a0136d77", "unvendored_tests": false, "version": "21.2.0"}, "arro3-compute": {"depends": ["arro3-core"], "file_name": "arro3_compute-0.4.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["arro3.compute"], "install_dir": "site", "name": "arro3-compute", "package_type": "package", "sha256": "fce98777f49dc1b4d2e3b4a27a8fd1e870256b22ad080fa2f6a7bc47a6f33fe5", "unvendored_tests": false, "version": "0.4.1"}, "arro3-core": {"depends": [], "file_name": "arro3_core-0.4.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["arro3.core"], "install_dir": "site", "name": "arro3-core", "package_type": "package", "sha256": "d83bcd1ea07845d2d6c030a58abf075bb93325959b731184f34dc53bc23e71c5", "unvendored_tests": false, "version": "0.4.1"}, "arro3-io": {"depends": ["arro3-core"], "file_name": "arro3_io-0.4.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["arro3.io"], "install_dir": "site", "name": "arro3-io", "package_type": "package", "sha256": "f2a40329df5f9e736e84e8497b8b3086e622298478084f96672e60fe263fdae1", "unvendored_tests": false, "version": "0.4.1"}, "asciitree": {"depends": [], "file_name": "asciitree-0.3.3-py3-none-any.whl", "imports": ["asciitree"], "install_dir": "site", "name": "asciitree", "package_type": "package", "sha256": "8da38f5882aa27a3bc77d769158f541b63e7457d2adccb53dc60c2f7a2e64318", "unvendored_tests": false, "version": "0.3.3"}, "astropy": {"depends": ["packaging", "numpy", "pyerfa", "pyyaml", "astropy_iers_data"], "file_name": "astropy-7.0.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["astropy"], "install_dir": "site", "name": "astropy", "package_type": "package", "sha256": "0b8fc7e0a244914bb3b3c38cc6f6383273588241175ba1bc8be52f62e07cc06c", "unvendored_tests": false, "version": "7.0.0"}, "astropy-iers-data": {"depends": [], "file_name": "astropy_iers_data-0.2024.4.22.0.29.50-py3-none-any.whl", "imports": ["astropy_iers_data"], "install_dir": "site", "name": "astropy_iers_data", "package_type": "package", "sha256": "1d90a7d39ba36c74b90e95ca9c9fdcd27a32a90ca907ce8b5c56e6f1dcee1ad4", "unvendored_tests": true, "version": "0.2024.4.22.0.29.50"}, "astropy-iers-data-tests": {"depends": ["astropy_iers_data"], "file_name": "astropy_iers_data-tests.tar", "imports": [], "install_dir": "site", "name": "astropy_iers_data-tests", "package_type": "package", "sha256": "c4fe6e79fde625d35ef5dec8e3cb95f6a9e0d10fe16dfc3c2e566c3d50291940", "unvendored_tests": false, "version": "0.2024.4.22.0.29.50"}, "asttokens": {"depends": ["six"], "file_name": "asttokens-2.4.1-py2.py3-none-any.whl", "imports": ["asttokens"], "install_dir": "site", "name": "asttokens", "package_type": "package", "sha256": "844642d2a15b3f9ab537d948f137800ea52ac61452f87d3ac6f7b95b205bc951", "unvendored_tests": false, "version": "2.4.1"}, "async-timeout": {"depends": [], "file_name": "async_timeout-4.0.3-py3-none-any.whl", "imports": ["async_timeout"], "install_dir": "site", "name": "async-timeout", "package_type": "package", "sha256": "a773b7556c1074042ce7414a4c73477bb51a4684b797ef878be7e619363af126", "unvendored_tests": false, "version": "4.0.3"}, "atomicwrites": {"depends": [], "file_name": "atomicwrites-1.4.1-py2.py3-none-any.whl", "imports": ["atomicwrites"], "install_dir": "site", "name": "atomicwrites", "package_type": "package", "sha256": "ced4f094b377f5d52557a4921908b05a79709b802c36b7c9ed35122f75a806b5", "unvendored_tests": false, "version": "1.4.1"}, "attrs": {"depends": ["six"], "file_name": "attrs-23.2.0-py3-none-any.whl", "imports": ["attr", "attrs"], "install_dir": "site", "name": "attrs", "package_type": "package", "sha256": "55dec7af2bfa3de8e4b3f5dd8546a79caddee71b6397f8c2715e09a9d80f1475", "unvendored_tests": false, "version": "23.2.0"}, "autograd": {"depends": ["numpy", "future"], "file_name": "autograd-1.7.0-py3-none-any.whl", "imports": ["autograd"], "install_dir": "site", "name": "autograd", "package_type": "package", "sha256": "233586e21097d58f536b93553e78e47f5ed3ed3c17fd9e43d4b9eb2529009abf", "unvendored_tests": true, "version": "1.7.0"}, "autograd-tests": {"depends": ["autograd"], "file_name": "autograd-tests.tar", "imports": [], "install_dir": "site", "name": "autograd-tests", "package_type": "package", "sha256": "2f52ed9cee3c7712aa374ebecff9dda677b4e296ddbb06260ede4e9d3730c02a", "unvendored_tests": false, "version": "1.7.0"}, "awkward-cpp": {"depends": ["numpy"], "file_name": "awkward_cpp-44-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["awkward_cpp"], "install_dir": "site", "name": "awkward-cpp", "package_type": "package", "sha256": "b0859ccac9d1b09249fc9acab0dec8374e446f3e6feba39e3dc0855ab65f3cdf", "unvendored_tests": false, "version": "44"}, "b2d": {"depends": ["numpy", "pydantic", "setuptools", "annotated-types"], "file_name": "b2d-0.7.4-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["b2d"], "install_dir": "site", "name": "b2d", "package_type": "package", "sha256": "d4b9c09c571dde870f2d3d6bcecf6e9c8b5b78404d14083c08fe3f1b9f21230a", "unvendored_tests": false, "version": "0.7.4"}, "bcrypt": {"depends": [], "file_name": "bcrypt-4.1.2-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["bcrypt"], "install_dir": "site", "name": "bcrypt", "package_type": "package", "sha256": "cce6a07ff88f52ff6c2f3fabefcb6558c635c9127336fe1a1f5c3d0777ff1d06", "unvendored_tests": false, "version": "4.1.2"}, "beautifulsoup4": {"depends": ["soupsieve"], "file_name": "beautifulsoup4-4.12.3-py3-none-any.whl", "imports": ["bs4"], "install_dir": "site", "name": "beautifulsoup4", "package_type": "package", "sha256": "2a93ba66221af7b9be375e4fc6cb541b477e41bab6564458f262cb74659e12ac", "unvendored_tests": true, "version": "4.12.3"}, "beautifulsoup4-tests": {"depends": ["beautifulsoup4"], "file_name": "beautifulsoup4-tests.tar", "imports": [], "install_dir": "site", "name": "beautifulsoup4-tests", "package_type": "package", "sha256": "b3efc48965e56d811ceaaf0d1b66579f20e80ef34b4e94f51454d2db6cae926e", "unvendored_tests": false, "version": "4.12.3"}, "biopython": {"depends": ["numpy"], "file_name": "biopython-1.84-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["Bio", "BioSQL"], "install_dir": "site", "name": "biopython", "package_type": "package", "sha256": "7cd317eb6466b4f9d68d76d1f8bcadf64fff5ec3104ee7687bed1ea67b3c1d1e", "unvendored_tests": false, "version": "1.84"}, "bitarray": {"depends": [], "file_name": "bitarray-2.9.2-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["bitarray"], "install_dir": "site", "name": "bitarray", "package_type": "package", "sha256": "f726cb3c473793b1e3aea59ed1d8783d969992f8e6f702b09a63f5a5edbebbda", "unvendored_tests": true, "version": "2.9.2"}, "bitarray-tests": {"depends": ["bitarray"], "file_name": "bitarray-tests.tar", "imports": [], "install_dir": "site", "name": "bitarray-tests", "package_type": "package", "sha256": "628e6e87a87c7ad690a63fec992d2120e442b74bef03a5abd79192f47c3f1ac1", "unvendored_tests": false, "version": "2.9.2"}, "bitstring": {"depends": ["bitarray"], "file_name": "bitstring-4.1.4-py3-none-any.whl", "imports": ["bitstring"], "install_dir": "site", "name": "bitstring", "package_type": "package", "sha256": "d1cb7fc1dd1ca54b6b111764ba8e08976fb426f24ba3e822d024783d4f33f54f", "unvendored_tests": false, "version": "4.1.4"}, "bleach": {"depends": ["webencodings", "packaging", "six"], "file_name": "bleach-6.1.0-py3-none-any.whl", "imports": ["bleach"], "install_dir": "site", "name": "bleach", "package_type": "package", "sha256": "5a833fddfc68229640eef8725602e60f9d47410975f0c2e165768e3c73630da2", "unvendored_tests": false, "version": "6.1.0"}, "bokeh": {"depends": ["contourpy", "numpy", "jinja2", "pandas", "pillow", "python-dateutil", "six", "typing-extensions", "pyyaml", "xyzservices"], "file_name": "bokeh-3.6.0-py3-none-any.whl", "imports": ["bokeh"], "install_dir": "site", "name": "bokeh", "package_type": "package", "sha256": "d822cf47a8392ab050085bc63f3580a96822227d733f9d18b994d1051e81f95f", "unvendored_tests": false, "version": "3.6.0"}, "boost-histogram": {"depends": ["numpy"], "file_name": "boost_histogram-1.5.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["boost_histogram"], "install_dir": "site", "name": "boost-histogram", "package_type": "package", "sha256": "176aea4c207395906ff81eaf68cd3143f545c1671a071812aa01c6f96e9d4552", "unvendored_tests": false, "version": "1.5.0"}, "brotli": {"depends": [], "file_name": "brotli-1.1.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["brotli"], "install_dir": "site", "name": "brotli", "package_type": "package", "sha256": "dbb967104fe1d0edd882ab6d161b63431077db6c1c8bebfbb44a7166a36086c6", "unvendored_tests": false, "version": "1.1.0"}, "buffer-test": {"depends": [], "file_name": "buffer_test-0.1.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["buffer_test"], "install_dir": "site", "name": "buffer-test", "package_type": "package", "sha256": "145a9496f6ce68c18d5d08adc95f842af21e7dc55dc3f9748976a2029209e44b", "unvendored_tests": false, "version": "0.1.1"}, "cachetools": {"depends": [], "file_name": "cachetools-5.3.3-py3-none-any.whl", "imports": ["cachetools"], "install_dir": "site", "name": "cachetools", "package_type": "package", "sha256": "4daf081ceab63bec98196dffd49ee4d3f3a87174339a77cfe1165521ac1ec772", "unvendored_tests": false, "version": "5.3.3"}, "cartopy": {"depends": ["shapely", "pyshp", "pyproj", "geos", "matplotlib", "scipy"], "file_name": "cartopy-0.24.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["cartopy"], "install_dir": "site", "name": "Cartopy", "package_type": "package", "sha256": "8cf183ce8b16ad12427f059b686656822571c79a282c7ba37651d7013c5529d5", "unvendored_tests": true, "version": "0.24.1"}, "cartopy-tests": {"depends": ["cartopy"], "file_name": "Cartopy-tests.tar", "imports": [], "install_dir": "site", "name": "Cartopy-tests", "package_type": "package", "sha256": "7160f4bae1d5f39fdaa5998b05a9dcb24cce1ee385c4e5b1ed4010cac3378f1a", "unvendored_tests": false, "version": "0.24.1"}, "casadi": {"depends": ["numpy"], "file_name": "casadi-3.6.7-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["casadi"], "install_dir": "site", "name": "casadi", "package_type": "package", "sha256": "720787088d9988365bf89fd639498e806f3f1ff2182276a6c75254bcc908d646", "unvendored_tests": false, "version": "3.6.7"}, "cbor-diag": {"depends": [], "file_name": "cbor_diag-1.0.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["cbor_diag"], "install_dir": "site", "name": "cbor-diag", "package_type": "package", "sha256": "bf86a4ed2f0b36592b9b982d13da0ec20117def26bd4a31946771afab94281b4", "unvendored_tests": false, "version": "1.0.1"}, "certifi": {"depends": [], "file_name": "certifi-2024.12.14-py3-none-any.whl", "imports": ["certifi"], "install_dir": "site", "name": "certifi", "package_type": "package", "sha256": "3448463e6fa75a4c58b95cf2545c4f2c716a12681004529c8eee33007de70428", "unvendored_tests": false, "version": "2024.12.14"}, "cffi": {"depends": ["pycparser"], "file_name": "cffi-1.17.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["cffi"], "install_dir": "site", "name": "cffi", "package_type": "package", "sha256": "e43942f0d3e23df028a0fe7687239dde57ad1316054e7ab7e7b7c070cb2e2330", "unvendored_tests": false, "version": "1.17.1"}, "cffi-example": {"depends": ["cffi"], "file_name": "cffi_example-0.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["cffi_example"], "install_dir": "site", "name": "cffi_example", "package_type": "package", "sha256": "8136bb5daa9731f4f7add5cac7277496bcc8d53bf44e3cb01b4fec84080dbbb3", "unvendored_tests": false, "version": "0.1"}, "cftime": {"depends": ["numpy"], "file_name": "cftime-1.6.4.post1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["cftime"], "install_dir": "site", "name": "cftime", "package_type": "package", "sha256": "d64d2afd88efe2dcc66aed654ffdf70ae29dd67d663882b0347feaf6790a06b3", "unvendored_tests": false, "version": "1.6.4.post1"}, "charset-normalizer": {"depends": [], "file_name": "charset_normalizer-3.3.2-py3-none-any.whl", "imports": ["charset_normalizer"], "install_dir": "site", "name": "charset-normalizer", "package_type": "package", "sha256": "6571ca3c6e54c6bcb330c1f1cfa53da6f94dcca26697e4579c0d921e9dd1456d", "unvendored_tests": false, "version": "3.3.2"}, "clarabel": {"depends": ["numpy", "scipy"], "file_name": "clarabel-0.9.0-cp37-abi3-pyodide_2024_0_wasm32.whl", "imports": ["clarabel"], "install_dir": "site", "name": "clarabel", "package_type": "package", "sha256": "3e529ca17e25de3aa86503940b59ba2d217a6842c7316717201f94628b401e2d", "unvendored_tests": false, "version": "0.9.0"}, "click": {"depends": [], "file_name": "click-8.1.7-py3-none-any.whl", "imports": ["click"], "install_dir": "site", "name": "click", "package_type": "package", "sha256": "57cb35e834bc3925fac45a550ee1e5453b9441573fd95738e17422a0107c6a90", "unvendored_tests": false, "version": "8.1.7"}, "cligj": {"depends": ["click"], "file_name": "cligj-0.7.2-py3-none-any.whl", "imports": ["cligj"], "install_dir": "site", "name": "cligj", "package_type": "package", "sha256": "cf217debf4ba0a1cfd1f7d106521390d25147bb95ee4faa5cce07c21f9e15f81", "unvendored_tests": false, "version": "0.7.2"}, "clingo": {"depends": ["cffi"], "file_name": "clingo-5.7.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["clingo"], "install_dir": "site", "name": "clingo", "package_type": "package", "sha256": "76493cc69e94d85702a8b886e7521003f9d5a1056cb4660065dc14f25a83a415", "unvendored_tests": false, "version": "5.7.1"}, "cloudpickle": {"depends": [], "file_name": "cloudpickle-3.0.0-py3-none-any.whl", "imports": ["cloudpickle"], "install_dir": "site", "name": "cloudpickle", "package_type": "package", "sha256": "9c9bc3706fd958dbc23c042be5c283f03d0d3c2d2895337bed5ddc75f2c77270", "unvendored_tests": false, "version": "3.0.0"}, "cmyt": {"depends": ["colorspacious", "matplotlib", "more-itertools", "numpy"], "file_name": "cmyt-2.0.0-py3-none-any.whl", "imports": ["cmyt"], "install_dir": "site", "name": "cmyt", "package_type": "package", "sha256": "ef747577e13bb7b60649cf7d0e730b2b88f674bdec4a7e2bf23d3c7fa2774efa", "unvendored_tests": true, "version": "2.0.0"}, "cmyt-tests": {"depends": ["cmyt"], "file_name": "cmyt-tests.tar", "imports": [], "install_dir": "site", "name": "cmyt-tests", "package_type": "package", "sha256": "33ae22d9fab3647be281c33dc7ac3c36f7d197009c4ea9ba5ad2d86073ad9445", "unvendored_tests": false, "version": "2.0.0"}, "colorspacious": {"depends": ["numpy"], "file_name": "colorspacious-1.1.2-py2.py3-none-any.whl", "imports": ["colorspacious"], "install_dir": "site", "name": "colorspacious", "package_type": "package", "sha256": "4051611378a13fc21e96aa31339ea3191f219c47a8370327ebab72e82f748df4", "unvendored_tests": false, "version": "1.1.2"}, "contourpy": {"depends": ["numpy"], "file_name": "contourpy-1.3.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["contourpy"], "install_dir": "site", "name": "contourpy", "package_type": "package", "sha256": "4d63578413c058f3f3bb75467181fcb6d7e1d5d1255375c50d9bfb97230fb02e", "unvendored_tests": false, "version": "1.3.0"}, "coolprop": {"depends": ["numpy", "matplotlib"], "file_name": "coolprop-6.6.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["CoolProp"], "install_dir": "site", "name": "coolprop", "package_type": "package", "sha256": "b50c17d027e6cc2556f7baa66705c62e10b70be209f6ba031bb8d54839a037da", "unvendored_tests": true, "version": "6.6.0"}, "coolprop-tests": {"depends": ["coolprop"], "file_name": "coolprop-tests.tar", "imports": [], "install_dir": "site", "name": "coolprop-tests", "package_type": "package", "sha256": "2cda8d5d87d37e6bec7a69c70494276715454b7170b283cfaf70e315bd8064c9", "unvendored_tests": false, "version": "6.6.0"}, "coverage": {"depends": ["sqlite3"], "file_name": "coverage-7.4.4-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["coverage"], "install_dir": "site", "name": "coverage", "package_type": "package", "sha256": "0206e604a6003ddfaf540f3764d6264d48356a09a26f6186e2358f818acb0a1f", "unvendored_tests": false, "version": "7.4.4"}, "cpp-exceptions-test": {"depends": [], "file_name": "cpp-exceptions-test-0.1.zip", "imports": [], "install_dir": "dynlib", "name": "cpp-exceptions-test", "package_type": "shared_library", "sha256": "f557abd6f7a809737eddc836e71e2cc3044f8049208cc53defeb0c4a9fd2b6cb", "unvendored_tests": false, "version": "0.1"}, "cpp-exceptions-test2": {"depends": [], "file_name": "cpp_exceptions_test2-1.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["cpp-exceptions-test2"], "install_dir": "site", "name": "cpp-exceptions-test2", "package_type": "package", "sha256": "0ca1854ad233ce73ed879600fb832af8c5a2408876a0eb0426c9519b1ea6a1e3", "unvendored_tests": false, "version": "1.0"}, "cramjam": {"depends": [], "file_name": "cramjam-2.8.3-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["cramjam"], "install_dir": "site", "name": "cramjam", "package_type": "package", "sha256": "6fc9349ec06064498f240e8c1731cebdb1be6830a3113a73e1b46d3e11b2fb9b", "unvendored_tests": false, "version": "2.8.3"}, "crc32c": {"depends": [], "file_name": "crc32c-2.7.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["crc32c"], "install_dir": "site", "name": "crc32c", "package_type": "package", "sha256": "d1337835f329aae0e995ce21037ffc22f4ffdfb6b1fb714d492f307b51949b69", "unvendored_tests": false, "version": "2.7.1"}, "cryptography": {"depends": ["openssl", "six", "cffi"], "file_name": "cryptography-42.0.5-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["cryptography"], "install_dir": "site", "name": "cryptography", "package_type": "package", "sha256": "8a28d9a446dd9289733f0e2a93a72979fe39e7fe5e7eb924e794931ad207d16a", "unvendored_tests": false, "version": "42.0.5"}, "css-inline": {"depends": [], "file_name": "css_inline-0.14.6-cp37-abi3-pyodide_2024_0_wasm32.whl", "imports": ["css_inline"], "install_dir": "site", "name": "css-inline", "package_type": "package", "sha256": "1a8e0753bc91583bc738ffc326b08d2bb2066cae3d3b0fac3bfe69b4d923a55a", "unvendored_tests": false, "version": "0.14.6"}, "cssselect": {"depends": [], "file_name": "cssselect-1.2.0-py2.py3-none-any.whl", "imports": ["cssselect"], "install_dir": "site", "name": "cssselect", "package_type": "package", "sha256": "89db9cd274c4740898d2d39e54645a75b7e995b1c8853201f10e8e20cdfb9743", "unvendored_tests": false, "version": "1.2.0"}, "cvxpy-base": {"depends": ["numpy", "scipy", "clarabel"], "file_name": "cvxpy_base-1.5.1-py3-none-any.whl", "imports": ["cvxpy"], "install_dir": "site", "name": "cvxpy-base", "package_type": "package", "sha256": "5d57c3123b80e215cddf460762a68a427baebc0fae71eff3089809f374c9298c", "unvendored_tests": true, "version": "1.5.1"}, "cvxpy-base-tests": {"depends": ["cvxpy-base"], "file_name": "cvxpy-base-tests.tar", "imports": [], "install_dir": "site", "name": "cvxpy-base-tests", "package_type": "package", "sha256": "70157f5f7ce833811cbf0abc9e82e7626d97df584073db9509603359a7f21cec", "unvendored_tests": false, "version": "1.5.1"}, "cycler": {"depends": ["six"], "file_name": "cycler-0.12.1-py3-none-any.whl", "imports": ["cycler"], "install_dir": "site", "name": "cycler", "package_type": "package", "sha256": "ed9d04e8faa600862cf7f09726c95d98c6e7c5b5198a6c7ea812cfcf37f45621", "unvendored_tests": false, "version": "0.12.1"}, "cysignals": {"depends": [], "file_name": "cysignals-1.12.2-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["cysignals"], "install_dir": "site", "name": "cysignals", "package_type": "package", "sha256": "15ca48d7503020d547a4ff7463deab233a629db553bd2630920f8753cc79e879", "unvendored_tests": false, "version": "1.12.2"}, "cytoolz": {"depends": ["toolz"], "file_name": "cytoolz-0.12.3-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["cytoolz"], "install_dir": "site", "name": "cytoolz", "package_type": "package", "sha256": "00f38b1af954bdf3f03b3f263415e2432291159f47b92a43e8cb6352a35f8c59", "unvendored_tests": true, "version": "0.12.3"}, "cytoolz-tests": {"depends": ["cytoolz"], "file_name": "cytoolz-tests.tar", "imports": [], "install_dir": "site", "name": "cytoolz-tests", "package_type": "package", "sha256": "600369507845a75524d7a779529412676a3daf630207c50063809f26aa18ef81", "unvendored_tests": false, "version": "0.12.3"}, "decorator": {"depends": [], "file_name": "decorator-5.1.1-py3-none-any.whl", "imports": ["decorator"], "install_dir": "site", "name": "decorator", "package_type": "package", "sha256": "2713ce2df2d2010526de4a4ccb9661a0ae0f443bf95001f74a7ecb69f98b3efc", "unvendored_tests": false, "version": "5.1.1"}, "demes": {"depends": ["attrs", "ruamel.yaml"], "file_name": "demes-0.2.3-py3-none-any.whl", "imports": ["demes"], "install_dir": "site", "name": "demes", "package_type": "package", "sha256": "73beb7b42270de08d795cce9ba44ffd6adc661d8a4b5a1f7902f8c14b20f13c5", "unvendored_tests": false, "version": "0.2.3"}, "deprecation": {"depends": ["packaging"], "file_name": "deprecation-2.1.0-py2.py3-none-any.whl", "imports": ["deprecation"], "install_dir": "site", "name": "deprecation", "package_type": "package", "sha256": "3fe66593ef9b7c59973797c3cc3720b814b191fcf906a52d388beb2527605534", "unvendored_tests": false, "version": "2.1.0"}, "distlib": {"depends": [], "file_name": "distlib-0.3.8-py2.py3-none-any.whl", "imports": ["distlib"], "install_dir": "site", "name": "distlib", "package_type": "package", "sha256": "4329a583594bc02711149f9334c8a5c6803bb79aca3a387c2a3e92ea6aa70b90", "unvendored_tests": false, "version": "0.3.8"}, "docutils": {"depends": [], "file_name": "docutils-0.21.1-py3-none-any.whl", "imports": ["docutils"], "install_dir": "site", "name": "docutils", "package_type": "package", "sha256": "3b96290f73f837936195c48f5c0f6593a279b27b40ef6a395bb9b486b2609d86", "unvendored_tests": false, "version": "0.21.1"}, "duckdb": {"depends": [], "file_name": "duckdb-1.1.2-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["duckdb"], "install_dir": "site", "name": "duckdb", "package_type": "package", "sha256": "fb6e26ae8c6dabdb565f8b64926177c75982a7b20324cd7bce99c8fb4a0ab95c", "unvendored_tests": false, "version": "1.1.2"}, "ewah-bool-utils": {"depends": [], "file_name": "ewah_bool_utils-1.2.2-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["ewah_bool_utils"], "install_dir": "site", "name": "ewah_bool_utils", "package_type": "package", "sha256": "851c03fc12c573b32808d44974da0c3ab18319707c3e7a035401c2cef6b1e8fd", "unvendored_tests": true, "version": "1.2.2"}, "ewah-bool-utils-tests": {"depends": ["ewah_bool_utils"], "file_name": "ewah_bool_utils-tests.tar", "imports": [], "install_dir": "site", "name": "ewah_bool_utils-tests", "package_type": "package", "sha256": "ef8b669cf225d089eb1fba5bafe2a8137ca84f0be2d4793c48663016a754cd0c", "unvendored_tests": false, "version": "1.2.2"}, "exceptiongroup": {"depends": [], "file_name": "exceptiongroup-1.2.1-py3-none-any.whl", "imports": ["exceptiongroup"], "install_dir": "site", "name": "exceptiongroup", "package_type": "package", "sha256": "986fb320ff86a00e78ec5dd3826cb503d6dec51e7adfccf576aa403dd75ef55c", "unvendored_tests": false, "version": "1.2.1"}, "executing": {"depends": [], "file_name": "executing-2.0.1-py2.py3-none-any.whl", "imports": ["executing"], "install_dir": "site", "name": "executing", "package_type": "package", "sha256": "dc0205e27ff57198b88920272785be932be8aa12d52dfe06c2fb1c07a752d374", "unvendored_tests": false, "version": "2.0.1"}, "fastparquet": {"depends": ["cramjam", "numpy", "pandas", "fsspec", "packaging"], "file_name": "fastparquet-2024.5.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["fastparquet"], "install_dir": "site", "name": "fastparquet", "package_type": "package", "sha256": "76c01f54e35457faeb47ad51d5550c9064772ff1e34878e5bfd126d3b46a60b6", "unvendored_tests": false, "version": "2024.5.0"}, "fiona": {"depends": ["attrs", "certifi", "setuptools", "six", "click", "cligj"], "file_name": "fiona-1.9.5-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["fiona"], "install_dir": "site", "name": "fiona", "package_type": "package", "sha256": "8d3686076e7ee584b95dda122b2e302cc5f5978ab93aacad4f0d3bd4b7f4c317", "unvendored_tests": true, "version": "1.9.5"}, "fiona-tests": {"depends": ["fiona"], "file_name": "fiona-tests.tar", "imports": [], "install_dir": "site", "name": "fiona-tests", "package_type": "package", "sha256": "c7d399239822b916bfdbe05240e9827ab4c5fedafb698f129dd3cffe823cb736", "unvendored_tests": false, "version": "1.9.5"}, "fonttools": {"depends": [], "file_name": "fonttools-4.51.0-py3-none-any.whl", "imports": ["fontTools"], "install_dir": "site", "name": "fonttools", "package_type": "package", "sha256": "4962ced67c8c316b1019288a77632749f57f8882d9544800090f542b6ea679ee", "unvendored_tests": false, "version": "4.51.0"}, "fpcast-test": {"depends": [], "file_name": "fpcast_test-0.1.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["fpcast_test"], "install_dir": "site", "name": "fpcast-test", "package_type": "package", "sha256": "3eca4cd6dec7c5f96f59d8af3282cf62be7325bc90a9f01a502541471c8dbeb4", "unvendored_tests": false, "version": "0.1.1"}, "freesasa": {"depends": [], "file_name": "freesasa-2.2.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["freesasa"], "install_dir": "site", "name": "freesasa", "package_type": "package", "sha256": "df82474f48962f6f0200fa4142c2cf812715c6ca0aa76240a51dbf39636efeb2", "unvendored_tests": false, "version": "2.2.1"}, "frozenlist": {"depends": [], "file_name": "frozenlist-1.4.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["frozenlist"], "install_dir": "site", "name": "frozenlist", "package_type": "package", "sha256": "54c1083ed6b796be50f11798e15c7fef6fd2ae64c38c730623e17b44cf8d69ff", "unvendored_tests": false, "version": "1.4.1"}, "fsspec": {"depends": [], "file_name": "fsspec-2024.3.1-py3-none-any.whl", "imports": ["fsspec"], "install_dir": "site", "name": "fsspec", "package_type": "package", "sha256": "d5bfff20c7b8c1baacb6ff1935f1be0bb434f8c7ae6b8695dfd92bdfeb3f50c4", "unvendored_tests": true, "version": "2024.3.1"}, "fsspec-tests": {"depends": ["fsspec"], "file_name": "fsspec-tests.tar", "imports": [], "install_dir": "site", "name": "fsspec-tests", "package_type": "package", "sha256": "280d939f4792368713020024166d002f85feeeac884aeca0959c709d90205043", "unvendored_tests": false, "version": "2024.3.1"}, "future": {"depends": [], "file_name": "future-1.0.0-py3-none-any.whl", "imports": ["future"], "install_dir": "site", "name": "future", "package_type": "package", "sha256": "a14827b91ce5a078c9cd5e2bb9dcd169664b8e6d33f6e6ef3f22588ed41131c9", "unvendored_tests": true, "version": "1.0.0"}, "future-tests": {"depends": ["future"], "file_name": "future-tests.tar", "imports": [], "install_dir": "site", "name": "future-tests", "package_type": "package", "sha256": "b04381175c00f67cca159bb15fcb9393c2bfa9b7046b2f3488be06fed2d56877", "unvendored_tests": false, "version": "1.0.0"}, "galpy": {"depends": ["numpy", "scipy", "matplotlib", "astropy", "future", "setuptools"], "file_name": "galpy-1.10.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["galpy"], "install_dir": "site", "name": "galpy", "package_type": "package", "sha256": "f58da4be568ace925c932cba597eeed7d316e5930dec03eda15f55d5c4028790", "unvendored_tests": false, "version": "1.10.1"}, "gdal": {"depends": ["geos"], "file_name": "gdal-3.8.3.zip", "imports": [], "install_dir": "dynlib", "name": "gdal", "package_type": "shared_library", "sha256": "9284fc5d25d13be5cd4359d7c0211dcf3de571065e6624e3665bc5c0a6c47bd7", "unvendored_tests": false, "version": "3.8.3"}, "gensim": {"depends": ["numpy", "scipy", "six", "smart-open", "wrapt"], "file_name": "gensim-4.3.3-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["gensim"], "install_dir": "site", "name": "gensim", "package_type": "package", "sha256": "b0e031fc53fc2b51854e2713b772f2b25ed3912e9a339414676b817de09671e5", "unvendored_tests": true, "version": "4.3.3"}, "gensim-tests": {"depends": ["gensim"], "file_name": "gensim-tests.tar", "imports": [], "install_dir": "site", "name": "gensim-tests", "package_type": "package", "sha256": "04d6ac8ec163bea286c6aef2a2be2831bf38aa6def3d9f3acebbd65719f7b146", "unvendored_tests": false, "version": "4.3.3"}, "geopandas": {"depends": ["shapely", "fiona", "pyproj", "packaging", "pandas"], "file_name": "geopandas-1.0.1-py3-none-any.whl", "imports": ["geopandas"], "install_dir": "site", "name": "geopandas", "package_type": "package", "sha256": "4c407dd57407945b1cf707c4859b5e9c95b01750c23d6d4b522c8532bfdc4225", "unvendored_tests": true, "version": "1.0.1"}, "geopandas-tests": {"depends": ["geopandas"], "file_name": "geopandas-tests.tar", "imports": [], "install_dir": "site", "name": "geopandas-tests", "package_type": "package", "sha256": "60e64f2f5ed1e8410b8657656eb8b53cf203b7cb3f9ef4da49cb311197cb1c74", "unvendored_tests": false, "version": "1.0.1"}, "geos": {"depends": [], "file_name": "geos-3.12.1.zip", "imports": [], "install_dir": "dynlib", "name": "geos", "package_type": "shared_library", "sha256": "a4739f36fd3f3cdf4752491174cec4992b10ba2d68a208b50fdee214df6fb09c", "unvendored_tests": false, "version": "3.12.1"}, "gmpy2": {"depends": [], "file_name": "gmpy2-2.1.5-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["gmpy2"], "install_dir": "site", "name": "gmpy2", "package_type": "package", "sha256": "7f7503d2d0fed10ccc8cbe1041ebb989ee8964ed73756f2f484197cf7aa5e9eb", "unvendored_tests": false, "version": "2.1.5"}, "gsw": {"depends": ["numpy"], "file_name": "gsw-3.6.19-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["gsw"], "install_dir": "site", "name": "gsw", "package_type": "package", "sha256": "d4c26fae4169c776e87a871b7de8d52ff261948bac392a51e39c0b17d90981fe", "unvendored_tests": true, "version": "3.6.19"}, "gsw-tests": {"depends": ["gsw"], "file_name": "gsw-tests.tar", "imports": [], "install_dir": "site", "name": "gsw-tests", "package_type": "package", "sha256": "1c72b5b507ce62bf6d4ee54413193416c22337fd33a7f8b7f08c9d5157fa90cf", "unvendored_tests": false, "version": "3.6.19"}, "h3": {"depends": [], "file_name": "h3-4.2.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["h3"], "install_dir": "site", "name": "h3", "package_type": "package", "sha256": "66964c37d5345596055dccb695f1c605115a8477ec9564558476c163c6935320", "unvendored_tests": false, "version": "4.2.1"}, "h5py": {"depends": ["numpy", "pkgconfig"], "file_name": "h5py-3.12.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["h5py"], "install_dir": "site", "name": "h5py", "package_type": "package", "sha256": "23e87001669286627f695c197ce58883f5dc3f28e7c096c98f8022a84c0a8ce8", "unvendored_tests": true, "version": "3.12.1"}, "h5py-tests": {"depends": ["h5py"], "file_name": "h5py-tests.tar", "imports": [], "install_dir": "site", "name": "h5py-tests", "package_type": "package", "sha256": "2b347f778f8f913ba5772b7bb6be2a9a598b95d70b01dbdee102e5a8cf3390a8", "unvendored_tests": false, "version": "3.12.1"}, "hashlib": {"depends": ["openssl"], "file_name": "hashlib-1.0.0-py2.py3-none-any.whl", "imports": ["_hashlib"], "install_dir": "site", "name": "hashlib", "package_type": "cpython_module", "sha256": "c8df775520c0ee30586d43cb0a6b7afd5deef76bae989c232a8b826458cbe8c5", "unvendored_tests": false, "version": "1.0.0"}, "html5lib": {"depends": ["webencodings", "six"], "file_name": "html5lib-1.1-py2.py3-none-any.whl", "imports": ["html5lib"], "install_dir": "site", "name": "html5lib", "package_type": "package", "sha256": "25522420fe5b27785b96b29409b413213359658a51a1b0d4e83b93d5991066fb", "unvendored_tests": false, "version": "1.1"}, "httpx": {"depends": [], "file_name": "httpx-0.28.1-py3-none-any.whl", "imports": ["httpx"], "install_dir": "site", "name": "httpx", "package_type": "package", "sha256": "d6b7dd241503095aac1700bad4315c6853df055b406db2bd4d0d0a642b5b1459", "unvendored_tests": false, "version": "0.28.1"}, "idna": {"depends": [], "file_name": "idna-3.7-py3-none-any.whl", "imports": ["idna"], "install_dir": "site", "name": "idna", "package_type": "package", "sha256": "43217cd9c46e0429a452d8e3274ad02a06bbbc10690bac5db672253cee12f816", "unvendored_tests": false, "version": "3.7"}, "igraph": {"depends": ["texttable"], "file_name": "igraph-0.11.4-cp39-abi3-pyodide_2024_0_wasm32.whl", "imports": ["igraph"], "install_dir": "site", "name": "igraph", "package_type": "package", "sha256": "a1424470f5e3daf36b50ffe71ed476a06d04ce8a0ad6336f52ce3f97048e10b8", "unvendored_tests": false, "version": "0.11.4"}, "imageio": {"depends": ["numpy", "pillow"], "file_name": "imageio-2.36.0-py3-none-any.whl", "imports": ["imageio"], "install_dir": "site", "name": "imageio", "package_type": "package", "sha256": "5ea5c1383dfc9386c8f77e55b36bd70c04429880c9a93722b8386d8986fa67c8", "unvendored_tests": false, "version": "2.36.0"}, "iminuit": {"depends": ["numpy"], "file_name": "iminuit-2.30.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["iminuit"], "install_dir": "site", "name": "iminuit", "package_type": "package", "sha256": "7933eef72cdf5f6e08bb30ee4b47ac290677c1bcc7fbe03f5c360663da055364", "unvendored_tests": false, "version": "2.30.1"}, "iniconfig": {"depends": [], "file_name": "iniconfig-2.0.0-py3-none-any.whl", "imports": ["iniconfig"], "install_dir": "site", "name": "iniconfig", "package_type": "package", "sha256": "e07c5569e61117748282d14ec50fe64a756b70e86150b2b8ef7ddb05160adfc6", "unvendored_tests": false, "version": "2.0.0"}, "ipython": {"depends": ["asttokens", "decorator", "executing", "matplotlib-inline", "prompt_toolkit", "pure-eval", "pygments", "six", "stack-data", "traitlets", "sqlite3", "wcwidth"], "file_name": "ipython-8.23.0-py3-none-any.whl", "imports": ["IPython"], "install_dir": "site", "name": "ipython", "package_type": "package", "sha256": "33bdd836866caacfc217480df23ba17a3789a7703134e359262b5af7d313288b", "unvendored_tests": true, "version": "8.23.0"}, "ipython-tests": {"depends": ["ipython"], "file_name": "ipython-tests.tar", "imports": [], "install_dir": "site", "name": "ipython-tests", "package_type": "package", "sha256": "16ca546a851d65d8d087ee931a87b0aa98302945de96d2cb6e307bd2cf294bb6", "unvendored_tests": false, "version": "8.23.0"}, "jedi": {"depends": ["parso"], "file_name": "jedi-0.19.1-py2.py3-none-any.whl", "imports": ["jedi"], "install_dir": "site", "name": "jedi", "package_type": "package", "sha256": "4d4cc8e57eea4a9c9e00ba47877d6e5555fed19aac6ea3c3424542c471de6065", "unvendored_tests": true, "version": "0.19.1"}, "jedi-tests": {"depends": ["jedi"], "file_name": "jedi-tests.tar", "imports": [], "install_dir": "site", "name": "jedi-tests", "package_type": "package", "sha256": "499c00bec73ba48ac7ebfb6a51054756920734994c68769ca6695749e7a6aa52", "unvendored_tests": false, "version": "0.19.1"}, "jinja2": {"depends": ["markupsafe"], "file_name": "Jinja2-3.1.3-py3-none-any.whl", "imports": ["jinja2"], "install_dir": "site", "name": "Jinja2", "package_type": "package", "sha256": "4937c31f081841ec980080bd7f2b0a63d33f89ecb404ebeb49a6b5a29360210c", "unvendored_tests": false, "version": "3.1.3"}, "joblib": {"depends": [], "file_name": "joblib-1.4.0-py3-none-any.whl", "imports": ["joblib"], "install_dir": "site", "name": "joblib", "package_type": "package", "sha256": "0497212a60f4a1c5bba3a3a80c6f78e4167f49fe8659fba1bd82b5676be32ef4", "unvendored_tests": true, "version": "1.4.0"}, "joblib-tests": {"depends": ["joblib"], "file_name": "joblib-tests.tar", "imports": [], "install_dir": "site", "name": "joblib-tests", "package_type": "package", "sha256": "976d2629e2dab67630216db4649f6b36291dbc04165af94493ba2e9c9a215d88", "unvendored_tests": false, "version": "1.4.0"}, "jsonschema": {"depends": ["attrs", "pyrsistent", "referencing", "jsonschema_specifications"], "file_name": "jsonschema-4.21.1-py3-none-any.whl", "imports": ["jsonschema"], "install_dir": "site", "name": "jsonschema", "package_type": "package", "sha256": "e79fdc785c37d45b080d7471c377a677c6ac8d34eeda2dc810dde67ff23d66b7", "unvendored_tests": true, "version": "4.21.1"}, "jsonschema-specifications": {"depends": [], "file_name": "jsonschema_specifications-2023.12.1-py3-none-any.whl", "imports": ["jsonschema_specifications"], "install_dir": "site", "name": "jsonschema_specifications", "package_type": "package", "sha256": "342d6df7da853b9c782bfdd282e91d6669b1a3e0c71837035beef68a6ead6e37", "unvendored_tests": true, "version": "2023.12.1"}, "jsonschema-specifications-tests": {"depends": ["jsonschema_specifications"], "file_name": "jsonschema_specifications-tests.tar", "imports": [], "install_dir": "site", "name": "jsonschema_specifications-tests", "package_type": "package", "sha256": "5f4a2bd403cbba9f23d0aab25b141d5d705bda388d4693e0ade582e4cdb268cd", "unvendored_tests": false, "version": "2023.12.1"}, "jsonschema-tests": {"depends": ["jsonschema"], "file_name": "jsonschema-tests.tar", "imports": [], "install_dir": "site", "name": "jsonschema-tests", "package_type": "package", "sha256": "ca973adef632ce0381c075e97d0e125abceaa708a43d41d9b3b55869faaa3887", "unvendored_tests": false, "version": "4.21.1"}, "kiwisolver": {"depends": [], "file_name": "kiwisolver-1.4.5-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["kiwisolver"], "install_dir": "site", "name": "kiwisolver", "package_type": "package", "sha256": "4d23b603d826710ab2dae35b5b032048eec1b1166c00167d4dd422b3521d5c00", "unvendored_tests": false, "version": "1.4.5"}, "lakers-python": {"depends": [], "file_name": "lakers_python-0.4.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["lakers"], "install_dir": "site", "name": "lakers-python", "package_type": "package", "sha256": "93562798b3f87c56654f19cd67a2a672cf3b8088e5814dca8f33d76de343eca1", "unvendored_tests": false, "version": "0.4.1"}, "lazy-loader": {"depends": [], "file_name": "lazy_loader-0.4-py3-none-any.whl", "imports": ["lazy_loader"], "install_dir": "site", "name": "lazy_loader", "package_type": "package", "sha256": "aa6fe0b907a67a3a27e95e47312bd27f6f3c73124249e986f88a5ec1d6515bb9", "unvendored_tests": true, "version": "0.4"}, "lazy-loader-tests": {"depends": ["lazy_loader"], "file_name": "lazy_loader-tests.tar", "imports": [], "install_dir": "site", "name": "lazy_loader-tests", "package_type": "package", "sha256": "c23c9288fa311491c59b7947852fd0a97caa8bc8c179dec47290de1f8a4d7f6c", "unvendored_tests": false, "version": "0.4"}, "lazy-object-proxy": {"depends": [], "file_name": "lazy_object_proxy-1.10.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["lazy_object_proxy"], "install_dir": "site", "name": "lazy-object-proxy", "package_type": "package", "sha256": "8d76dd57ac34c9b9219311c5e5d2b7262c8ad0b036eedd1e7d17675e3360314c", "unvendored_tests": false, "version": "1.10.0"}, "libcst": {"depends": ["pyyaml"], "file_name": "libcst-1.4.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["libcst"], "install_dir": "site", "name": "libcst", "package_type": "package", "sha256": "83982421e0c1bb1c0e440eb96d941cca705f6765dd420194c59078cc6b7da3a7", "unvendored_tests": true, "version": "1.4.0"}, "libcst-tests": {"depends": ["libcst"], "file_name": "libcst-tests.tar", "imports": [], "install_dir": "site", "name": "libcst-tests", "package_type": "package", "sha256": "cb2e07c16ff67d68ec6a89b31c3c7a6a6f27f619f9f5fdc028bd603462561035", "unvendored_tests": false, "version": "1.4.0"}, "libhdf5": {"depends": [], "file_name": "libhdf5-1.12.1.zip", "imports": [], "install_dir": "dynlib", "name": "libhdf5", "package_type": "shared_library", "sha256": "7e8b80afa835e35eb40ad16295c3924ea7421065b97b421f577015e738a6923b", "unvendored_tests": false, "version": "1.12.1"}, "libheif": {"depends": [], "file_name": "libheif-1.12.0.zip", "imports": [], "install_dir": "dynlib", "name": "libheif", "package_type": "shared_library", "sha256": "5ef3adaba102ec1c272c169f764cb4e37e1bcb7ebace947548d0d84b5abfe0b0", "unvendored_tests": false, "version": "1.12.0"}, "libmagic": {"depends": [], "file_name": "libmagic-5.42.zip", "imports": [], "install_dir": "dynlib", "name": "libmagic", "package_type": "shared_library", "sha256": "1944f9748fc241d306a84037040a221a45360f26cfcd50171a17f7d827f0a2c8", "unvendored_tests": false, "version": "5.42"}, "lightgbm": {"depends": ["numpy", "scipy", "scikit-learn"], "file_name": "lightgbm-4.5.0-py3-none-pyodide_2024_0_wasm32.whl", "imports": ["lightgbm"], "install_dir": "site", "name": "lightgbm", "package_type": "package", "sha256": "4eac2aa10d75f712e33ee9f24809e22c3450b4b67c32d18044eb544bd7fbc060", "unvendored_tests": false, "version": "4.5.0"}, "logbook": {"depends": ["ssl"], "file_name": "logbook-1.7.0.post0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["logbook"], "install_dir": "site", "name": "logbook", "package_type": "package", "sha256": "971c41c6e6a28392c16d7b6eb8962ec092c9ebfac4da4c2708acd73e452fa429", "unvendored_tests": false, "version": "1.7.0.post0"}, "lxml": {"depends": [], "file_name": "lxml-5.2.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["lxml"], "install_dir": "site", "name": "lxml", "package_type": "package", "sha256": "def6a621c67000a4b848557d3e8a318af372f383b0b29077a36363914ad33413", "unvendored_tests": false, "version": "5.2.1"}, "lzma": {"depends": [], "file_name": "lzma-1.0.0-py2.py3-none-any.whl", "imports": ["lzma", "_lzma"], "install_dir": "site", "name": "lzma", "package_type": "cpython_module", "sha256": "ea4f252f9bd37444f0b2e943c9173e802c40689fdcd2ae1defbd4b67b46eef09", "unvendored_tests": false, "version": "1.0.0"}, "markupsafe": {"depends": [], "file_name": "markupsafe-2.1.5-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["markupsafe"], "install_dir": "site", "name": "MarkupSafe", "package_type": "package", "sha256": "b3cc3adbe38156060b2f08ba276385c01fa70f487738e7a4eaecf9da03d79fae", "unvendored_tests": false, "version": "2.1.5"}, "matplotlib": {"depends": ["contourpy", "cycler", "fonttools", "kiwisolver", "numpy", "packaging", "pillow", "pyparsing", "python-dateutil", "pytz", "matplotlib-pyodide"], "file_name": "matplotlib-3.8.4-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["pylab", "mpl_toolkits", "matplotlib"], "install_dir": "site", "name": "matplotlib", "package_type": "package", "sha256": "8aec22ec8860e41b1a99afbb850b1c687d6f849c83aeb662245dd330d7cbe6c0", "unvendored_tests": true, "version": "3.8.4"}, "matplotlib-inline": {"depends": ["traitlets"], "file_name": "matplotlib_inline-0.1.7-py3-none-any.whl", "imports": ["matplotlib-inline"], "install_dir": "site", "name": "matplotlib-inline", "package_type": "package", "sha256": "a18efdbe93dd5881b6efaf7df067c5ac69cdd84e3942d438a46416dc59f53c06", "unvendored_tests": false, "version": "0.1.7"}, "matplotlib-pyodide": {"depends": [], "file_name": "matplotlib_pyodide-0.2.3-py3-none-any.whl", "imports": ["matplotlib_pyodide"], "install_dir": "site", "name": "matplotlib-pyodide", "package_type": "package", "sha256": "96fcc00c76a3c6b61e53a8a4a2373c18387c750bd8b53b9ee728e1e57235c7e2", "unvendored_tests": false, "version": "0.2.3"}, "matplotlib-tests": {"depends": ["matplotlib"], "file_name": "matplotlib-tests.tar", "imports": [], "install_dir": "site", "name": "matplotlib-tests", "package_type": "package", "sha256": "87938ee5594247643ea589075d518f44dcf682a26ff5dd3f9b380b29aec4f455", "unvendored_tests": false, "version": "3.8.4"}, "memory-allocator": {"depends": [], "file_name": "memory_allocator-0.1.4-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["memory_allocator"], "install_dir": "site", "name": "memory-allocator", "package_type": "package", "sha256": "7ce75f825f439d2ad8a3e643ed15d82fa4a69b5f3aa76cd5e91ae84367aeea0d", "unvendored_tests": false, "version": "0.1.4"}, "micropip": {"depends": ["packaging"], "file_name": "micropip-0.8.0-py3-none-any.whl", "imports": ["micropip"], "install_dir": "site", "name": "micropip", "package_type": "package", "sha256": "8be261d01ec63c0c2e8855a61f57eef506430ca564b94238b06fdf20cdaee7ac", "unvendored_tests": false, "version": "0.8.0"}, "mmh3": {"depends": [], "file_name": "mmh3-4.1.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["mmh3"], "install_dir": "site", "name": "mmh3", "package_type": "package", "sha256": "d7ebbbeedb892dedd2516267fe7366e770f9bf534b8df265f095dce91e12fc23", "unvendored_tests": false, "version": "4.1.0"}, "mne": {"depends": ["numpy", "scipy", "setuptools", "decorator", "lazy_loader", "packaging"], "file_name": "mne-1.8.0-py3-none-any.whl", "imports": ["mne"], "install_dir": "site", "name": "mne", "package_type": "package", "sha256": "584a85c781ddf4dde066996d8d3e52b9828928646383e8fb34de2c2163f9af7e", "unvendored_tests": true, "version": "1.8.0"}, "mne-tests": {"depends": ["mne"], "file_name": "mne-tests.tar", "imports": [], "install_dir": "site", "name": "mne-tests", "package_type": "package", "sha256": "04f0a12e69064b8fb37860381b517c1efa7dd74379cb7cd3cb38bcf00d138053", "unvendored_tests": false, "version": "1.8.0"}, "more-itertools": {"depends": [], "file_name": "more_itertools-10.2.0-py3-none-any.whl", "imports": ["more_itertools"], "install_dir": "site", "name": "more-itertools", "package_type": "package", "sha256": "dc9ebaffd67b42b3919c84bc31727f15a6260dfda9271eec8867385be23a3740", "unvendored_tests": false, "version": "10.2.0"}, "mpmath": {"depends": [], "file_name": "mpmath-1.3.0-py3-none-any.whl", "imports": ["mpmath"], "install_dir": "site", "name": "mpmath", "package_type": "package", "sha256": "36a05016ff46ab04eb5bcb9eedbaddd6088809afc401a8b7dd6dfc5e382665f3", "unvendored_tests": true, "version": "1.3.0"}, "mpmath-tests": {"depends": ["mpmath"], "file_name": "mpmath-tests.tar", "imports": [], "install_dir": "site", "name": "mpmath-tests", "package_type": "package", "sha256": "05b80145a0315e52fce0bd3b46210ebebf2f9d3ab8c0f358e1369b06183bc787", "unvendored_tests": false, "version": "1.3.0"}, "msgpack": {"depends": [], "file_name": "msgpack-1.1.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["msgpack"], "install_dir": "site", "name": "msgpack", "package_type": "package", "sha256": "754a1bac2d191a6dc1509313675a11d27023a8ddb5e325041a72534ebff49603", "unvendored_tests": false, "version": "1.1.0"}, "msgspec": {"depends": [], "file_name": "msgspec-0.18.6-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["msgspec"], "install_dir": "site", "name": "msgspec", "package_type": "package", "sha256": "ea3c3ec66e8e2847bda5560e4fb0581c8cc576e2df884cc4e31ff41f1e489e3b", "unvendored_tests": false, "version": "0.18.6"}, "msprime": {"depends": ["numpy", "newick", "tskit", "demes", "rpds-py"], "file_name": "msprime-1.3.3-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["msprime"], "install_dir": "site", "name": "msprime", "package_type": "package", "sha256": "61a8c2c4707134cb8f082bdd804504e3a30f51f09d5b9687e3fd511129e97f2f", "unvendored_tests": false, "version": "1.3.3"}, "multidict": {"depends": [], "file_name": "multidict-6.0.5-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["multidict"], "install_dir": "site", "name": "multidict", "package_type": "package", "sha256": "957ed0fe177c00b24a3f7ce08a5167e5cb39fd2860106d0a604246b67eb52dad", "unvendored_tests": false, "version": "6.0.5"}, "munch": {"depends": ["setuptools", "six"], "file_name": "munch-4.0.0-py2.py3-none-any.whl", "imports": ["munch"], "install_dir": "site", "name": "munch", "package_type": "package", "sha256": "126f98c117aeb339e7d329b3d593d0c5dab6490818628de741520bec8736e4bb", "unvendored_tests": false, "version": "4.0.0"}, "mypy": {"depends": [], "file_name": "mypy-1.9.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["mypyc", "mypy"], "install_dir": "site", "name": "mypy", "package_type": "package", "sha256": "08cb9b50756a54993a699c8c50d48298a4d86bdd80886755fc6e000b8bc9bb9c", "unvendored_tests": true, "version": "1.9.0"}, "mypy-tests": {"depends": ["mypy"], "file_name": "mypy-tests.tar", "imports": [], "install_dir": "site", "name": "mypy-tests", "package_type": "package", "sha256": "1cb4248fc39416e68979c7ebe4382657d9d0b884044b101f3acc36341d634c95", "unvendored_tests": false, "version": "1.9.0"}, "narwhals": {"depends": [], "file_name": "narwhals-1.24.1-py3-none-any.whl", "imports": ["narwhals"], "install_dir": "site", "name": "narwhals", "package_type": "package", "sha256": "67ff956580eea788c8ca9d842365e29d88097b655f05ae0ecc0a543d0f6ca270", "unvendored_tests": false, "version": "1.24.1"}, "netcdf4": {"depends": ["numpy", "packaging", "h5py", "cftime", "certifi"], "file_name": "netcdf4-1.7.2-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["netCDF4"], "install_dir": "site", "name": "netcdf4", "package_type": "package", "sha256": "8c7c6477b3126872154d4110c01b9a70cd6376433c731f655bac827d205e048b", "unvendored_tests": false, "version": "1.7.2"}, "networkx": {"depends": ["decorator", "setuptools", "matplotlib", "numpy"], "file_name": "networkx-3.4.2-py3-none-any.whl", "imports": ["networkx"], "install_dir": "site", "name": "networkx", "package_type": "package", "sha256": "718a2d63c99b636db73415e09d34841a4e7723940899348473f167f72ed6af78", "unvendored_tests": true, "version": "3.4.2"}, "networkx-tests": {"depends": ["networkx"], "file_name": "networkx-tests.tar", "imports": [], "install_dir": "site", "name": "networkx-tests", "package_type": "package", "sha256": "00256f8ae1fb66e5e292894d2fee36371fae70acccb27f3ac9c245a93374d515", "unvendored_tests": false, "version": "3.4.2"}, "newick": {"depends": [], "file_name": "newick-1.9.0-py2.py3-none-any.whl", "imports": ["newick"], "install_dir": "site", "name": "newick", "package_type": "package", "sha256": "bed2a3dbd426fe80e9a54296464d34548b146da1dcb872b6d50f48dac2c75a40", "unvendored_tests": false, "version": "1.9.0"}, "nh3": {"depends": [], "file_name": "nh3-0.2.17-cp37-abi3-pyodide_2024_0_wasm32.whl", "imports": ["nh3"], "install_dir": "site", "name": "nh3", "package_type": "package", "sha256": "949b6dde3ae2629a30f99f82a14b7a4c22da6049ca8307270b4423dc7f18961e", "unvendored_tests": false, "version": "0.2.17"}, "nlopt": {"depends": ["numpy"], "file_name": "nlopt-2.9.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["nlopt"], "install_dir": "site", "name": "nlopt", "package_type": "package", "sha256": "3a99a4e2d7d85b4f84a853c8666c2f6b1dfb5e3dd109f70aaab4ed2eec1c22f5", "unvendored_tests": false, "version": "2.9.1"}, "nltk": {"depends": ["regex", "sqlite3"], "file_name": "nltk-3.8.1-py3-none-any.whl", "imports": ["nltk"], "install_dir": "site", "name": "nltk", "package_type": "package", "sha256": "cea288db5c20b32138958f4210c9b62171cdf14534538736a6397e782454dafe", "unvendored_tests": true, "version": "3.8.1"}, "nltk-tests": {"depends": ["nltk"], "file_name": "nltk-tests.tar", "imports": [], "install_dir": "site", "name": "nltk-tests", "package_type": "package", "sha256": "dbc03250fdd8be30154b0dfded39cc7c060ab4e9da3c60067debc08782d2f50c", "unvendored_tests": false, "version": "3.8.1"}, "numcodecs": {"depends": ["numpy", "msgpack"], "file_name": "numcodecs-0.13.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["numcodecs"], "install_dir": "site", "name": "numcodecs", "package_type": "package", "sha256": "c897da253598475f4eb729bc5675f7537fd9e90a15691f6853d649370604e857", "unvendored_tests": true, "version": "0.13.1"}, "numcodecs-tests": {"depends": ["numcodecs"], "file_name": "numcodecs-tests.tar", "imports": [], "install_dir": "site", "name": "numcodecs-tests", "package_type": "package", "sha256": "7d86f1eab3c93e2fe112c925ae34c9e8cd3b982408d432bda9ee31c69ee9393e", "unvendored_tests": false, "version": "0.13.1"}, "numpy": {"depends": [], "file_name": "numpy-2.0.2-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["numpy"], "install_dir": "site", "name": "numpy", "package_type": "package", "sha256": "a5e133aa791e2eeb31d3d074e78633f106561e41ffac10545080b2ca76415a44", "unvendored_tests": true, "version": "2.0.2"}, "numpy-tests": {"depends": ["numpy"], "file_name": "numpy-tests.tar", "imports": [], "install_dir": "site", "name": "numpy-tests", "package_type": "package", "sha256": "d76afab4a38f7afee7362d68e31c92f62ca76e44042c58827b0de6312b44ae98", "unvendored_tests": false, "version": "2.0.2"}, "openblas": {"depends": [], "file_name": "openblas-0.3.26.zip", "imports": [], "install_dir": "dynlib", "name": "openblas", "package_type": "shared_library", "sha256": "b75fb737daf5a062381a140ac83e26b9749bc7b775c5c2f96ac9fc428278503d", "unvendored_tests": false, "version": "0.3.26"}, "opencv-python": {"depends": ["numpy"], "file_name": "opencv_python-4.10.0.84-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["cv2"], "install_dir": "site", "name": "opencv-python", "package_type": "package", "sha256": "a359671defaafa478ab2bbc401c843832233fc388cd3bf6fd8b6246a47b4df8a", "unvendored_tests": false, "version": "4.10.0.84"}, "openssl": {"depends": [], "file_name": "openssl-1.1.1w.zip", "imports": [], "install_dir": "dynlib", "name": "openssl", "package_type": "shared_library", "sha256": "3a9b7ca64491569efc9b27cc49480bc6291cdcb4024b5b5a82e1a94078b571d7", "unvendored_tests": false, "version": "1.1.1w"}, "optlang": {"depends": ["sympy", "six", "swiglpk"], "file_name": "optlang-1.8.1-py2.py3-none-any.whl", "imports": ["optlang"], "install_dir": "site", "name": "optlang", "package_type": "package", "sha256": "8920d390b26aefaaaee7b5d6686f666c5d1a260a6968c85464034744b5cfe6cf", "unvendored_tests": true, "version": "1.8.1"}, "optlang-tests": {"depends": ["optlang"], "file_name": "optlang-tests.tar", "imports": [], "install_dir": "site", "name": "optlang-tests", "package_type": "package", "sha256": "58b43d8a239951c1ca8ad26d396466b93145aff83bd82523e42496ff70b7d6bb", "unvendored_tests": false, "version": "1.8.1"}, "orjson": {"depends": [], "file_name": "orjson-3.10.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["orjson"], "install_dir": "site", "name": "orjson", "package_type": "package", "sha256": "304fe252e6ef5dcd4b803f3a6f40e139716df6d997211475d32e97dc70a6906f", "unvendored_tests": false, "version": "3.10.1"}, "packaging": {"depends": [], "file_name": "packaging-24.2-py3-none-any.whl", "imports": ["packaging"], "install_dir": "site", "name": "packaging", "package_type": "package", "sha256": "70b0c82fd5049fbc38b97710e329324871f7f75979cd4bdab16b4688f172879f", "unvendored_tests": false, "version": "24.2"}, "pandas": {"depends": ["numpy", "python-dateutil", "pytz"], "file_name": "pandas-2.2.3-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["pandas"], "install_dir": "site", "name": "pandas", "package_type": "package", "sha256": "db2ba32534eb2f0633bcddae052a8919f847e51c6b62d247bb389be552799c20", "unvendored_tests": true, "version": "2.2.3"}, "pandas-tests": {"depends": ["pandas"], "file_name": "pandas-tests.tar", "imports": [], "install_dir": "site", "name": "pandas-tests", "package_type": "package", "sha256": "65a6b6e60d29649b141021792551cada63ccc33c6739d9d4be5ed2f9deb8e485", "unvendored_tests": false, "version": "2.2.3"}, "parso": {"depends": [], "file_name": "parso-0.8.4-py2.py3-none-any.whl", "imports": ["parso"], "install_dir": "site", "name": "parso", "package_type": "package", "sha256": "870de6ea19456d89025a4a84f26cea1cdd9254a95cfe3c4a0b71c06364dac50f", "unvendored_tests": false, "version": "0.8.4"}, "patsy": {"depends": ["numpy", "six"], "file_name": "patsy-0.5.6-py2.py3-none-any.whl", "imports": ["patsy"], "install_dir": "site", "name": "patsy", "package_type": "package", "sha256": "2021ed334578ff8d4b842cae18927a24cc5f8fcaa3d0ee9bc94bc036e70dfa82", "unvendored_tests": true, "version": "0.5.6"}, "patsy-tests": {"depends": ["patsy"], "file_name": "patsy-tests.tar", "imports": [], "install_dir": "site", "name": "patsy-tests", "package_type": "package", "sha256": "4e0db966e4b5c8afb9b1a086d25d54df97129114fce679c23c4c50ab294ab0c7", "unvendored_tests": false, "version": "0.5.6"}, "pcodec": {"depends": ["numpy"], "file_name": "pcodec-0.3.3-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["pcodec"], "install_dir": "site", "name": "pcodec", "package_type": "package", "sha256": "fe2c12c98c2c59fed5c0e97de0854b7120adbb9ff639f63a50e757d9d29e339e", "unvendored_tests": false, "version": "0.3.3"}, "peewee": {"depends": ["sqlite3", "cffi"], "file_name": "peewee-3.17.3-py3-none-any.whl", "imports": ["peewee"], "install_dir": "site", "name": "peewee", "package_type": "package", "sha256": "3cc62f4a7e09dfe1f6837b77024c26a53e0d45080ddee5132b33c8cf44602b78", "unvendored_tests": true, "version": "3.17.3"}, "peewee-tests": {"depends": ["peewee"], "file_name": "peewee-tests.tar", "imports": [], "install_dir": "site", "name": "peewee-tests", "package_type": "package", "sha256": "d4018f2902856222647ba9ea827dacbcba48c20b8e783a77affcf441a9f09391", "unvendored_tests": false, "version": "3.17.3"}, "pi-heif": {"depends": ["cffi", "pillow", "libheif"], "file_name": "pi_heif-0.21.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["pi_heif"], "install_dir": "site", "name": "pi-heif", "package_type": "package", "sha256": "8b592086e9f46238e89ba16ab1821033c3f10ac3b41b04263828ef1793d6b24d", "unvendored_tests": false, "version": "0.21.0"}, "pillow": {"depends": [], "file_name": "pillow-10.2.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["PIL"], "install_dir": "site", "name": "Pillow", "package_type": "package", "sha256": "532d485088291a079f82951eefdcd2aab051af03ec6ed194d91b2804c1ed8e05", "unvendored_tests": false, "version": "10.2.0"}, "pillow-heif": {"depends": ["cffi", "pillow", "libheif"], "file_name": "pillow_heif-0.20.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["pillow_heif"], "install_dir": "site", "name": "pillow-heif", "package_type": "package", "sha256": "50048b8bc9964456fb4adff7bc7828233bc53bb64bed60e62d28b3d006f7b936", "unvendored_tests": false, "version": "0.20.0"}, "pkgconfig": {"depends": [], "file_name": "pkgconfig-1.5.5-py3-none-any.whl", "imports": ["pkgconfig"], "install_dir": "site", "name": "pkgconfig", "package_type": "package", "sha256": "2293743453584ad79117f9d9e854563a27f4e2c166bd8767d75ffd54bf7e7e4f", "unvendored_tests": false, "version": "1.5.5"}, "pluggy": {"depends": [], "file_name": "pluggy-1.5.0-py3-none-any.whl", "imports": ["pluggy"], "install_dir": "site", "name": "pluggy", "package_type": "package", "sha256": "196b44e3e2fe6d93d7ae3bdcba421cd624c74f0ec1bff82bf71dc585e3981c7e", "unvendored_tests": false, "version": "1.5.0"}, "polars": {"depends": [], "file_name": "polars-1.18.0-cp39-abi3-pyodide_2024_0_wasm32.whl", "imports": ["polars"], "install_dir": "site", "name": "polars", "package_type": "package", "sha256": "3b6cec1a3dca40b07791f5cbd270ef5f67921843d73bfd8f12176ea8d7b362f2", "unvendored_tests": false, "version": "1.18.0"}, "pplpy": {"depends": ["gmpy2", "cysignals"], "file_name": "pplpy-0.8.10-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["ppl"], "install_dir": "site", "name": "pplpy", "package_type": "package", "sha256": "887250d5cb8d4960081eff75600c08a3ce9c0f8fbff605a953488254dd03ca5e", "unvendored_tests": false, "version": "0.8.10"}, "primecountpy": {"depends": ["cysignals"], "file_name": "primecountpy-0.1.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["primecountpy"], "install_dir": "site", "name": "primecountpy", "package_type": "package", "sha256": "32be2069c23a8a704ef07e21c463cb80dd0f75926282e5e616525fad996ae865", "unvendored_tests": false, "version": "0.1.0"}, "prompt-toolkit": {"depends": [], "file_name": "prompt_toolkit-3.0.43-py3-none-any.whl", "imports": ["prompt_toolkit"], "install_dir": "site", "name": "prompt_toolkit", "package_type": "package", "sha256": "ccdda309e6ab33ccdf6c9c1232d42cd703ac205c716773ab2031047c226ca9a5", "unvendored_tests": false, "version": "3.0.43"}, "protobuf": {"depends": [], "file_name": "protobuf-5.29.2-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["google"], "install_dir": "site", "name": "protobuf", "package_type": "package", "sha256": "d7e43227732b3c483b5a1cf0ec32df9a1aa5297ea32c00532a53df3a93dbf507", "unvendored_tests": false, "version": "5.29.2"}, "pure-eval": {"depends": [], "file_name": "pure_eval-0.2.3-py3-none-any.whl", "imports": ["pure_eval"], "install_dir": "site", "name": "pure-eval", "package_type": "package", "sha256": "5d1d3da6e9ae2cbe04d8d69e966578caeedcd071250b35115af4e0ccf8ab5355", "unvendored_tests": false, "version": "0.2.3"}, "py": {"depends": [], "file_name": "py-1.11.0-py2.py3-none-any.whl", "imports": ["py"], "install_dir": "site", "name": "py", "package_type": "package", "sha256": "02389b31f588b6505f4933385043c24cbaff1865119e3b401f9915fec551aded", "unvendored_tests": false, "version": "1.11.0"}, "pyarrow": {"depends": ["numpy", "pandas", "pyodide-unix-timezones"], "file_name": "pyarrow-18.1.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["pyarrow"], "install_dir": "site", "name": "pyarrow", "package_type": "package", "sha256": "4513c92c069106bdc4c44be8e74ba67dd022151cd790cecc46f2a28b3e24c8b4", "unvendored_tests": false, "version": "18.1.0"}, "pyclipper": {"depends": [], "file_name": "pyclipper-1.3.0.post5-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["pyclipper"], "install_dir": "site", "name": "pyclipper", "package_type": "package", "sha256": "d2f64f90ee3f33773d20db737396b03bfebfe0b04dac46f232ac69569c9eff2f", "unvendored_tests": false, "version": "1.3.0.post5"}, "pycparser": {"depends": [], "file_name": "pycparser-2.22-py3-none-any.whl", "imports": ["pycparser"], "install_dir": "site", "name": "pycparser", "package_type": "package", "sha256": "fbcb60d5ae36a6401b89b703ee562d6707d62101b83cdd23196439f1ce32185b", "unvendored_tests": false, "version": "2.22"}, "pycryptodome": {"depends": [], "file_name": "pycryptodome-3.20.0-cp35-abi3-pyodide_2024_0_wasm32.whl", "imports": ["Crypto"], "install_dir": "site", "name": "pycryptodome", "package_type": "package", "sha256": "d86c833ed2898735ee52d6cecdc5078419ba04344fecf92a9d1c7551fe682417", "unvendored_tests": true, "version": "3.20.0"}, "pycryptodome-tests": {"depends": ["pycryptodome"], "file_name": "pycryptodome-tests.tar", "imports": [], "install_dir": "site", "name": "pycryptodome-tests", "package_type": "package", "sha256": "7b27def39aceeda4cb69f1f79f2c38c0e54e549b44103ea4833591f2613441e5", "unvendored_tests": false, "version": "3.20.0"}, "pydantic": {"depends": ["typing-extensions", "pydantic_core", "annotated-types"], "file_name": "pydantic-2.10.5-py3-none-any.whl", "imports": ["pydantic"], "install_dir": "site", "name": "pydantic", "package_type": "package", "sha256": "67672b969d871958cbbc7635b6aecc79ba048653b3f52a37abf40b1b51e2da36", "unvendored_tests": false, "version": "2.10.5"}, "pydantic-core": {"depends": [], "file_name": "pydantic_core-2.27.2-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["pydantic_core"], "install_dir": "site", "name": "pydantic_core", "package_type": "package", "sha256": "4d0f2b2ab4ea7540d406edc9cad629265cf3203b61b3d4d3e8e39e8f8272d2bd", "unvendored_tests": false, "version": "2.27.2"}, "pydecimal": {"depends": [], "file_name": "pydecimal-1.0.0-py2.py3-none-any.whl", "imports": ["_pydecimal"], "install_dir": "site", "name": "pydecimal", "package_type": "cpython_module", "sha256": "2ff595c5305117591c171f8b647b1d29019770b2e2d7ace28cf1e85ba6bc7732", "unvendored_tests": false, "version": "1.0.0"}, "pydoc-data": {"depends": [], "file_name": "pydoc_data-1.0.0-py2.py3-none-any.whl", "imports": ["pydoc_data"], "install_dir": "site", "name": "pydoc_data", "package_type": "cpython_module", "sha256": "496ab7efd15627cb00f6e29804b4a97f410a9930327b697a46893e3faae8beb1", "unvendored_tests": false, "version": "1.0.0"}, "pyerfa": {"depends": ["numpy"], "file_name": "pyerfa-2.0.1.4-cp39-abi3-pyodide_2024_0_wasm32.whl", "imports": ["erfa"], "install_dir": "site", "name": "pyerfa", "package_type": "package", "sha256": "d51659089adac984080156f199a12de271ac4ea0e0c91605095773aaaee45afd", "unvendored_tests": true, "version": "2.0.1.4"}, "pyerfa-tests": {"depends": ["pyerfa"], "file_name": "pyerfa-tests.tar", "imports": [], "install_dir": "site", "name": "pyerfa-tests", "package_type": "package", "sha256": "1e1085c3ff7bb614f24c636aaf2e6b66e2cc44f7c7c7ef9d7e008ec6386f9d4f", "unvendored_tests": false, "version": "2.0.1.4"}, "pygame-ce": {"depends": [], "file_name": "pygame_ce-2.4.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["pygame"], "install_dir": "site", "name": "pygame-ce", "package_type": "package", "sha256": "620744a5f339a7a2cd60cd5551d9ef9821e4a2cbc058ad7d6162c9a2f2984cbb", "unvendored_tests": true, "version": "2.4.1"}, "pygame-ce-tests": {"depends": ["pygame-ce"], "file_name": "pygame-ce-tests.tar", "imports": [], "install_dir": "site", "name": "pygame-ce-tests", "package_type": "package", "sha256": "38ce046ca57811be922e96f2e52b8dc5a857c5ebbbe27ab7aab2e75b6e3ada9b", "unvendored_tests": false, "version": "2.4.1"}, "pygments": {"depends": [], "file_name": "pygments-2.17.2-py3-none-any.whl", "imports": ["pygments"], "install_dir": "site", "name": "Pygments", "package_type": "package", "sha256": "9dda0eae04f0fa840126e38060ad5c7ff58c3c5f13b0b9b69a1f3fc1c9242b74", "unvendored_tests": false, "version": "2.17.2"}, "pyheif": {"depends": ["cffi"], "file_name": "pyheif-0.8.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["pyheif"], "install_dir": "site", "name": "pyheif", "package_type": "package", "sha256": "08d3fb566b663961fc5c7fbc6ba6b94aeded07277bea09e7620ba71af91de605", "unvendored_tests": false, "version": "0.8.0"}, "pyiceberg": {"depends": ["click", "fsspec", "mmh3", "pydantic", "pyparsing", "requests", "rich", "sortedcontainers", "sqlalchemy", "strictyaml"], "file_name": "pyiceberg-0.6.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["pyiceberg"], "install_dir": "site", "name": "pyiceberg", "package_type": "package", "sha256": "ae35808295ebf465ed01396f8654212032d15636274a682358ca36a7883cde6c", "unvendored_tests": false, "version": "0.6.0"}, "pyinstrument": {"depends": [], "file_name": "pyinstrument-4.4.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["pyinstrument"], "install_dir": "site", "name": "pyinstrument", "package_type": "package", "sha256": "75c3d8acaa200d6126eb237347a378f1cec60262349b3676beb48b34529c6f9f", "unvendored_tests": false, "version": "4.4.0"}, "pynacl": {"depends": ["cffi"], "file_name": "pynacl-1.5.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["nacl"], "install_dir": "site", "name": "pynacl", "package_type": "package", "sha256": "00a6aaaee25db55f6d7cb816104cd39e67adf35027262735ccf65e33f93551e7", "unvendored_tests": false, "version": "1.5.0"}, "pyodide-http": {"depends": [], "file_name": "pyodide_http-0.2.1-py3-none-any.whl", "imports": ["pyodide_http"], "install_dir": "site", "name": "pyodide-http", "package_type": "package", "sha256": "53cf46105a7b262ab3762867e2f702eae57ace58c35b359275c154a3209a193e", "unvendored_tests": false, "version": "0.2.1"}, "pyodide-unix-timezones": {"depends": [], "file_name": "pyodide_unix_timezones-1.0.0-py3-none-any.whl", "imports": ["unix_timezones"], "install_dir": "site", "name": "pyodide-unix-timezones", "package_type": "package", "sha256": "b7c6660701a0fcb44690d2dbf2b4edee306b1533491819905635056181058024", "unvendored_tests": false, "version": "1.0.0"}, "pyparsing": {"depends": [], "file_name": "pyparsing-3.1.2-py3-none-any.whl", "imports": ["pyparsing"], "install_dir": "site", "name": "pyparsing", "package_type": "package", "sha256": "06d085f8ab95e16daf7e56918eb53efb5bc17ef2901f50f9e70b9f572c48c919", "unvendored_tests": false, "version": "3.1.2"}, "pyproj": {"depends": ["certifi", "sqlite3"], "file_name": "pyproj-3.6.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["pyproj"], "install_dir": "site", "name": "pyproj", "package_type": "package", "sha256": "5300304f876387f74b8f97d6b009d238d01627fb2fd68be793c30f4d8d7ea57c", "unvendored_tests": false, "version": "3.6.1"}, "pyrsistent": {"depends": [], "file_name": "pyrsistent-0.20.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["_pyrsistent_version", "pyrsistent"], "install_dir": "site", "name": "pyrsistent", "package_type": "package", "sha256": "d84ca435cd894d85422c55daa96b18d45acdeb91e1e65a471f006b1e163c234f", "unvendored_tests": false, "version": "0.20.0"}, "pysam": {"depends": [], "file_name": "pysam-0.22.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["pysam"], "install_dir": "site", "name": "pysam", "package_type": "package", "sha256": "afbda30634034ebfb53ce1c98c00eaee5d5e1f584e2bd348129bd22d8b3e7963", "unvendored_tests": false, "version": "0.22.0"}, "pyshp": {"depends": [], "file_name": "pyshp-2.3.1-py2.py3-none-any.whl", "imports": ["shapefile"], "install_dir": "site", "name": "pyshp", "package_type": "package", "sha256": "5fab24a9e50089d54f68574360ce0fd5aa2b12d691a8d4a9c7d53b9f5ca0537e", "unvendored_tests": false, "version": "2.3.1"}, "pytest": {"depends": ["atomicwrites", "attrs", "more-itertools", "pluggy", "py", "setuptools", "six", "iniconfig", "exceptiongroup"], "file_name": "pytest-8.1.1-py3-none-any.whl", "imports": ["_pytest", "pytest"], "install_dir": "site", "name": "pytest", "package_type": "package", "sha256": "8e1a7e36cd780ecc7ba00e3ec641194bee78a89f876511445fe93181975d45eb", "unvendored_tests": false, "version": "8.1.1"}, "pytest-asyncio": {"depends": ["pytest"], "file_name": "pytest_asyncio-0.23.7-py3-none-any.whl", "imports": ["pytest_asyncio"], "install_dir": "site", "name": "pytest-asyncio", "package_type": "package", "sha256": "d6dc75e2cd86062e563e0a36c19c9efb797e00a57c56059c36b6d3ac69de0fbc", "unvendored_tests": false, "version": "0.23.7"}, "pytest-benchmark": {"depends": [], "file_name": "pytest_benchmark-4.0.0-py3-none-any.whl", "imports": ["pytest_benchmark"], "install_dir": "site", "name": "pytest-benchmark", "package_type": "package", "sha256": "e32f721490e339cf702e62d9c73c0a532f9f476bbc357d1cf53cc1e56897ac06", "unvendored_tests": false, "version": "4.0.0"}, "python-dateutil": {"depends": ["six"], "file_name": "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", "imports": ["dateutil"], "install_dir": "site", "name": "python-dateutil", "package_type": "package", "sha256": "8ac867e0b178d358f2fd3bbc9be73931ec81b2e93c4579a14c001a8fcd25c9ff", "unvendored_tests": false, "version": "2.9.0.post0"}, "python-flint": {"depends": [], "file_name": "python_flint-0.6.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["flint"], "install_dir": "site", "name": "python-flint", "package_type": "package", "sha256": "ef0a8f87f52402ee5fdd09477aa862fc07e5d8e1219c1ae9863a7afa46f3c103", "unvendored_tests": false, "version": "0.6.0"}, "python-magic": {"depends": ["libmagic"], "file_name": "python_magic-0.4.27-py2.py3-none-any.whl", "imports": ["magic"], "install_dir": "site", "name": "python-magic", "package_type": "package", "sha256": "8b2508b2ee73eb3395c48315add872e5eac13139b89debdc63d4712cd708905a", "unvendored_tests": false, "version": "0.4.27"}, "python-sat": {"depends": ["six"], "file_name": "python_sat-1.8.dev13-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["pysat"], "install_dir": "site", "name": "python-sat", "package_type": "package", "sha256": "ea2279237bc57ec4f6bce6341569db8eecc70782e3a083abbdaecb66c0eedd1f", "unvendored_tests": false, "version": "1.8.dev13"}, "python-solvespace": {"depends": [], "file_name": "python_solvespace-3.0.8-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["python_solvespace"], "install_dir": "site", "name": "python-solvespace", "package_type": "package", "sha256": "e7062210acc94f42924aeaea0d82fc4f310d1429885aa95eab1dff12b200ca59", "unvendored_tests": false, "version": "3.0.8"}, "pytz": {"depends": [], "file_name": "pytz-2024.1-py2.py3-none-any.whl", "imports": ["pytz"], "install_dir": "site", "name": "pytz", "package_type": "package", "sha256": "2a5da4f4fd74792d0c7ec56aaf95dea350515acc249cf6272c95b145572752d3", "unvendored_tests": false, "version": "2024.1"}, "pywavelets": {"depends": ["numpy", "matplotlib", "scipy"], "file_name": "pywavelets-1.7.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["pywt"], "install_dir": "site", "name": "pywavelets", "package_type": "package", "sha256": "07c1a0b25eb7ba1bf3a7d060c5139ef0baa92ac2453205feaa5b7701a66175cd", "unvendored_tests": true, "version": "1.7.0"}, "pywavelets-tests": {"depends": ["pywavelets"], "file_name": "pywavelets-tests.tar", "imports": [], "install_dir": "site", "name": "pywavelets-tests", "package_type": "package", "sha256": "f64419cdca0ccb3f062172dadde818bbfde549a8fdf693a5f81aa6fdfc2889ba", "unvendored_tests": false, "version": "1.7.0"}, "pyxel": {"depends": [], "file_name": "pyxel-1.9.10-cp37-abi3-pyodide_2024_0_wasm32.whl", "imports": ["pyxel"], "install_dir": "site", "name": "pyxel", "package_type": "package", "sha256": "c8cd54409de7f7f2c7d42aa67b7dea10d11b5799a7f1d43419271e885b007e4d", "unvendored_tests": false, "version": "1.9.10"}, "pyxirr": {"depends": [], "file_name": "pyxirr-0.10.6-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["pyxirr"], "install_dir": "site", "name": "pyxirr", "package_type": "package", "sha256": "ea0666a4aa0a879734eba22fd8b07f6bd556c85150f7956a12354386c7114e70", "unvendored_tests": false, "version": "0.10.6"}, "pyyaml": {"depends": [], "file_name": "pyyaml-6.0.2-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["_yaml", "yaml"], "install_dir": "site", "name": "pyyaml", "package_type": "package", "sha256": "1b7ef7d7a97f77589eabb8db8d14aabcda375e4e7dfa30915482e690cce56e8d", "unvendored_tests": false, "version": "6.0.2"}, "rasterio": {"depends": ["numpy", "affine", "gdal", "attrs", "certifi", "click", "cligj"], "file_name": "rasterio-1.4.2-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["rasterio"], "install_dir": "site", "name": "rasterio", "package_type": "package", "sha256": "a6d4ed2469d09e65adeef10b211e28a37b29716688650edab7da417e2cf6c536", "unvendored_tests": false, "version": "1.4.2"}, "rateslib": {"depends": ["numpy", "pandas", "matplotlib"], "file_name": "rateslib-1.6.0-cp39-abi3-pyodide_2024_0_wasm32.whl", "imports": ["rateslib"], "install_dir": "site", "name": "rateslib", "package_type": "package", "sha256": "6b7568e39708d3aeb969ff0cc819cdb9ef3b6b10feae3a395fe1722ed544dcdb", "unvendored_tests": false, "version": "1.6.0"}, "rebound": {"depends": ["numpy"], "file_name": "rebound-4.4.3-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["rebound"], "install_dir": "site", "name": "rebound", "package_type": "package", "sha256": "0efc08aca788873a90de633f86725f299dddbf5b33eda44ecd8c074b91dc42c5", "unvendored_tests": false, "version": "4.4.3"}, "reboundx": {"depends": ["rebound", "numpy"], "file_name": "reboundx-4.3.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["reboundx"], "install_dir": "site", "name": "reboundx", "package_type": "package", "sha256": "7ec689d657e2501d7dfaddc2b872f967d632d74796563293428ac7fb9274760b", "unvendored_tests": false, "version": "4.3.0"}, "referencing": {"depends": ["attrs", "rpds-py"], "file_name": "referencing-0.34.0-py3-none-any.whl", "imports": ["referencing"], "install_dir": "site", "name": "referencing", "package_type": "package", "sha256": "ce717e99ae281bcbf22bd76ad55094f42f4084553e174685c44bd41cffebb824", "unvendored_tests": true, "version": "0.34.0"}, "referencing-tests": {"depends": ["referencing"], "file_name": "referencing-tests.tar", "imports": [], "install_dir": "site", "name": "referencing-tests", "package_type": "package", "sha256": "65ac064bd63a4c3f41f74672060077d4f8f87cb3a4419c6d895f72ef9f5ef836", "unvendored_tests": false, "version": "0.34.0"}, "regex": {"depends": [], "file_name": "regex-2024.9.11-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["regex"], "install_dir": "site", "name": "regex", "package_type": "package", "sha256": "f1c288d5600021e235c5ce51365b325b03f3b453e37858e6c2c9c650760aec79", "unvendored_tests": true, "version": "2024.9.11"}, "regex-tests": {"depends": ["regex"], "file_name": "regex-tests.tar", "imports": [], "install_dir": "site", "name": "regex-tests", "package_type": "package", "sha256": "8acb2431b9a9c5a6e1c164e5c40f61d6386ac2102ba2fb60e28f0156dc43675e", "unvendored_tests": false, "version": "2024.9.11"}, "requests": {"depends": ["charset-normalizer", "idna", "urllib3", "certifi"], "file_name": "requests-2.31.0-py3-none-any.whl", "imports": ["requests"], "install_dir": "site", "name": "requests", "package_type": "package", "sha256": "641c13821b2401738d818f66e6a05840f95e5a0049e58a18e2d69180a2f3797e", "unvendored_tests": false, "version": "2.31.0"}, "retrying": {"depends": ["six"], "file_name": "retrying-1.3.4-py3-none-any.whl", "imports": ["retrying"], "install_dir": "site", "name": "retrying", "package_type": "package", "sha256": "80e9673f6a620f434a7c07d734c921f6003cb7f37d82f33dc5f0579ccad96397", "unvendored_tests": false, "version": "1.3.4"}, "rich": {"depends": [], "file_name": "rich-13.7.1-py3-none-any.whl", "imports": ["rich"], "install_dir": "site", "name": "rich", "package_type": "package", "sha256": "d60870c3b2ec9d3ec588318637d1dd58e51b8b0fcdda57d4f130b42e6e70cd7a", "unvendored_tests": false, "version": "13.7.1"}, "river": {"depends": ["numpy", "pandas", "scipy"], "file_name": "river-0.22.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["river"], "install_dir": "site", "name": "river", "package_type": "package", "sha256": "045c01d5b186c3aeba4a956f4c5775d2638fbb8f8cb770a4509b57cd18b3f7a0", "unvendored_tests": true, "version": "0.22.0"}, "river-tests": {"depends": ["river"], "file_name": "river-tests.tar", "imports": [], "install_dir": "site", "name": "river-tests", "package_type": "package", "sha256": "1542e658976658321c6b9aa9c401f4aa624be9f30ba132938cb9ec043a82529d", "unvendored_tests": false, "version": "0.22.0"}, "robotraconteur": {"depends": ["numpy"], "file_name": "robotraconteur-1.2.2-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["RobotRaconteur"], "install_dir": "site", "name": "RobotRaconteur", "package_type": "package", "sha256": "53a92169bea76ef918e6ed997a0a3112307b071b9038a914853c6d8d64dbf229", "unvendored_tests": false, "version": "1.2.2"}, "rpds-py": {"depends": [], "file_name": "rpds_py-0.18.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["rpds"], "install_dir": "site", "name": "rpds-py", "package_type": "package", "sha256": "919ca8eddf19532610c695cf05db7d23f049f1db033d42319732cea4a7171105", "unvendored_tests": false, "version": "0.18.0"}, "ruamel-yaml": {"depends": [], "file_name": "ruamel.yaml-0.18.6-py3-none-any.whl", "imports": ["ruamel"], "install_dir": "site", "name": "ruamel.yaml", "package_type": "package", "sha256": "a5978cad153653d7f5f826015b247e5ea8511070df3e4f5f73763f98e182d317", "unvendored_tests": false, "version": "0.18.6"}, "rust-abi-test": {"depends": [], "file_name": "rust_abi_test-1.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["rust-abi-test"], "install_dir": "site", "name": "rust-abi-test", "package_type": "package", "sha256": "82cf65f43ea331a13c8ae75b891a0894705cad1ce8b3c3a4f3e326eca2465bef", "unvendored_tests": false, "version": "1.0"}, "rust-panic-test": {"depends": [], "file_name": "rust_panic_test-1.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["rust-panic-test"], "install_dir": "site", "name": "rust-panic-test", "package_type": "package", "sha256": "e06aa30bd5d1feee6e8ba24b6a3bc880bb1d5a0e6cd70996441dd4a507ea7726", "unvendored_tests": false, "version": "1.0"}, "scikit-image": {"depends": ["packaging", "numpy", "scipy", "networkx", "pillow", "imageio", "pywavelets", "lazy_loader"], "file_name": "scikit_image-0.25.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["skimage"], "install_dir": "site", "name": "scikit-image", "package_type": "package", "sha256": "ee1b66156a35fffe3939acdb4efd5ed06d93653e25948ede908343748852059d", "unvendored_tests": true, "version": "0.25.0"}, "scikit-image-tests": {"depends": ["scikit-image"], "file_name": "scikit-image-tests.tar", "imports": [], "install_dir": "site", "name": "scikit-image-tests", "package_type": "package", "sha256": "b86953f5b7c073e8e4f156f95bf41b8fbcdc48ec01cfcb09e319fe0b08b7a114", "unvendored_tests": false, "version": "0.25.0"}, "scikit-learn": {"depends": ["scipy", "joblib", "threadpoolctl"], "file_name": "scikit_learn-1.6.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["sklearn"], "install_dir": "site", "name": "scikit-learn", "package_type": "package", "sha256": "69357b5aa98623e02b891521d40d2535e5f5828bc00082a402434464d194d920", "unvendored_tests": true, "version": "1.6.1"}, "scikit-learn-tests": {"depends": ["scikit-learn"], "file_name": "scikit-learn-tests.tar", "imports": [], "install_dir": "site", "name": "scikit-learn-tests", "package_type": "package", "sha256": "a75a3b9b8fb003b121aefc18ad0e8d59f720c839ce5bdd1ccb3b211028d1bb4f", "unvendored_tests": false, "version": "1.6.1"}, "scipy": {"depends": ["numpy", "openblas"], "file_name": "scipy-1.14.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["scipy"], "install_dir": "site", "name": "scipy", "package_type": "package", "sha256": "1500a98f723f7d095a2488f4313eda55b5c5a8ff387dedbb30a7da90c723ff8d", "unvendored_tests": true, "version": "1.14.1"}, "scipy-tests": {"depends": ["scipy"], "file_name": "scipy-tests.tar", "imports": [], "install_dir": "site", "name": "scipy-tests", "package_type": "package", "sha256": "0e543f9ac3b655780fc9a9bfadc977d014b082ea9b7268e2b5c6cf6be5f88106", "unvendored_tests": false, "version": "1.14.1"}, "screed": {"depends": [], "file_name": "screed-1.1.3-py2.py3-none-any.whl", "imports": ["bigtests", "screed"], "install_dir": "site", "name": "screed", "package_type": "package", "sha256": "4e0aa7aa73d3b7482725d0b7e1854ddd5000b4b93fbba7c69320d6878a670e76", "unvendored_tests": true, "version": "1.1.3"}, "screed-tests": {"depends": ["screed"], "file_name": "screed-tests.tar", "imports": [], "install_dir": "site", "name": "screed-tests", "package_type": "package", "sha256": "4b39c82477428831cf651dcb39e00639a40f16e8c63019a95450e8b5d24c554d", "unvendored_tests": false, "version": "1.1.3"}, "setuptools": {"depends": ["pyparsing"], "file_name": "setuptools-69.5.1-py3-none-any.whl", "imports": ["_distutils_hack", "pkg_resources", "setuptools"], "install_dir": "site", "name": "setuptools", "package_type": "package", "sha256": "ee2d8b37ab8c1235c192ea6156c73f740b28730ad952e37ad6ccd34517a44402", "unvendored_tests": false, "version": "69.5.1"}, "shapely": {"depends": ["numpy"], "file_name": "shapely-2.0.6-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["shapely"], "install_dir": "site", "name": "shapely", "package_type": "package", "sha256": "d00043eb8f4f39874d7806d8901224fb71bdc3a495c89a5a3902124bf7a7905d", "unvendored_tests": true, "version": "2.0.6"}, "shapely-tests": {"depends": ["shapely"], "file_name": "shapely-tests.tar", "imports": [], "install_dir": "site", "name": "shapely-tests", "package_type": "package", "sha256": "2db411db191e6c2278d7873ebd3913d147728b3acfc3676a9a2a993b531bd809", "unvendored_tests": false, "version": "2.0.6"}, "sharedlib-test": {"depends": [], "file_name": "sharedlib-test-1.0.zip", "imports": [], "install_dir": "dynlib", "name": "sharedlib-test", "package_type": "shared_library", "sha256": "8cf4f5f308c6e0ee3c2c5f7b12edbf39146916bf1725f5f4172a516bc7b92d2f", "unvendored_tests": false, "version": "1.0"}, "sharedlib-test-py": {"depends": ["sharedlib-test"], "file_name": "sharedlib_test_py-1.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["sharedlib_test"], "install_dir": "site", "name": "sharedlib-test-py", "package_type": "package", "sha256": "0de335a535f04cc1ffddcfae6301f39acfb618d2f23141ec3ee58fef24aaf909", "unvendored_tests": false, "version": "1.0"}, "simplejson": {"depends": [], "file_name": "simplejson-3.19.2-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["simplejson"], "install_dir": "site", "name": "simplejson", "package_type": "package", "sha256": "507150ff1c02e37add295acbf55fa46c06cd10e871f0292c65259212aca0db1b", "unvendored_tests": true, "version": "3.19.2"}, "simplejson-tests": {"depends": ["simplejson"], "file_name": "simplejson-tests.tar", "imports": [], "install_dir": "site", "name": "simplejson-tests", "package_type": "package", "sha256": "7da8ae6e4927e3b21fa401e7dc514b8439eda185da889c4306131243041a6660", "unvendored_tests": false, "version": "3.19.2"}, "sisl": {"depends": ["pyparsing", "numpy", "scipy", "tqdm", "xarray", "pandas", "matplotlib"], "file_name": "sisl-0.15.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["sisl_toolbox", "sisl"], "install_dir": "site", "name": "sisl", "package_type": "package", "sha256": "d0af4abdeccd1c0517eaede7c907bd68266338a728d2e582aa52f3d0e1d955db", "unvendored_tests": true, "version": "0.15.1"}, "sisl-tests": {"depends": ["sisl"], "file_name": "sisl-tests.tar", "imports": [], "install_dir": "site", "name": "sisl-tests", "package_type": "package", "sha256": "ea37320e834321a57923c55170d2e997448af5e835a549696364aac30a748ad8", "unvendored_tests": false, "version": "0.15.1"}, "six": {"depends": [], "file_name": "six-1.16.0-py2.py3-none-any.whl", "imports": ["six"], "install_dir": "site", "name": "six", "package_type": "package", "sha256": "dec42129a0842a566de2df35483f25c70c36120fcce95cd3776a2c8666386926", "unvendored_tests": false, "version": "1.16.0"}, "smart-open": {"depends": ["wrapt"], "file_name": "smart_open-7.0.4-py3-none-any.whl", "imports": ["smart_open"], "install_dir": "site", "name": "smart-open", "package_type": "package", "sha256": "790e31b1bf7c47e0145922514ac310ab78b738111d7e7428ffe98bfd11810ca8", "unvendored_tests": false, "version": "7.0.4"}, "sortedcontainers": {"depends": [], "file_name": "sortedcontainers-2.4.0-py2.py3-none-any.whl", "imports": ["sortedcontainers"], "install_dir": "site", "name": "sortedcontainers", "package_type": "package", "sha256": "eae2058ef13dc55a114b807abe2103c196753578bf681761bdebc750a584b4ee", "unvendored_tests": false, "version": "2.4.0"}, "soupsieve": {"depends": [], "file_name": "soupsieve-2.5-py3-none-any.whl", "imports": ["soupsieve"], "install_dir": "site", "name": "soupsieve", "package_type": "package", "sha256": "1b2386e9fa963577813a5275eea482150d3c554a7bf88ca229facf376b00cadf", "unvendored_tests": false, "version": "2.5"}, "sourmash": {"depends": ["screed", "cffi", "deprecation", "cachetools", "numpy", "matplotlib", "scipy", "sqlite3", "bitstring"], "file_name": "sourmash-4.8.11-py3-none-pyodide_2024_0_wasm32.whl", "imports": ["sourmash"], "install_dir": "site", "name": "sourmash", "package_type": "package", "sha256": "907d2b3d80d5763ccef77694bcc9b131f1fb5f9991743659787b494fa82f2bfd", "unvendored_tests": false, "version": "4.8.11"}, "soxr": {"depends": ["numpy"], "file_name": "soxr-0.5.0.post1-cp312-abi3-pyodide_2024_0_wasm32.whl", "imports": ["soxr"], "install_dir": "site", "name": "soxr", "package_type": "package", "sha256": "95d658e7738ca79828e68eaa7b08881583c2f9b36de1df15b2881157f19e123f", "unvendored_tests": false, "version": "0.5.0.post1"}, "sparseqr": {"depends": ["pycparser", "cffi", "numpy", "scipy", "suitesparse"], "file_name": "sparseqr-1.2-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["sparseqr"], "install_dir": "site", "name": "sparseqr", "package_type": "package", "sha256": "d57e7ad244d42a03d54301302788e1f4c35530fee3af4486582699cf0b085afd", "unvendored_tests": false, "version": "1.2"}, "sqlalchemy": {"depends": ["sqlite3", "typing-extensions"], "file_name": "sqlalchemy-2.0.29-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["sqlalchemy"], "install_dir": "site", "name": "sqlalchemy", "package_type": "package", "sha256": "c7a8968c5baa4ed3ebf6fb8c8b778897644e4041655ebf03ad4e318a50f26a30", "unvendored_tests": true, "version": "2.0.29"}, "sqlalchemy-tests": {"depends": ["sqlalchemy"], "file_name": "sqlalchemy-tests.tar", "imports": [], "install_dir": "site", "name": "sqlalchemy-tests", "package_type": "package", "sha256": "abad3948692eca7035490ccf8864f03afda636e066a66153aeb15624092ab51a", "unvendored_tests": false, "version": "2.0.29"}, "sqlite3": {"depends": [], "file_name": "sqlite3-1.0.0-py2.py3-none-any.whl", "imports": ["sqlite3", "_sqlite3"], "install_dir": "site", "name": "sqlite3", "package_type": "cpython_module", "sha256": "983bdb719fa8ff5f54d644d35ec5136411e99f7796675a5f538896f40bba5bd1", "unvendored_tests": false, "version": "1.0.0"}, "ssl": {"depends": ["openssl"], "file_name": "ssl-1.0.0-py2.py3-none-any.whl", "imports": ["ssl", "_ssl"], "install_dir": "site", "name": "ssl", "package_type": "cpython_module", "sha256": "ab685560e77eee7bcf747e6e392a8e87a65120c18cd693b99294ffb68173d645", "unvendored_tests": false, "version": "1.0.0"}, "stack-data": {"depends": ["executing", "asttokens", "pure-eval"], "file_name": "stack_data-0.6.3-py3-none-any.whl", "imports": ["stack_data"], "install_dir": "site", "name": "stack-data", "package_type": "package", "sha256": "61e5384576ec0eb211d43c6e634b7fedd428a66479e685b36fb062325cf90d6f", "unvendored_tests": false, "version": "0.6.3"}, "statsmodels": {"depends": ["numpy", "scipy", "pandas", "patsy", "packaging"], "file_name": "statsmodels-0.14.4-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["statsmodels"], "install_dir": "site", "name": "statsmodels", "package_type": "package", "sha256": "51643d73dd0d0d97e6965adc25a63bb8ddad775709a4ad90b6a52f0190474598", "unvendored_tests": false, "version": "0.14.4"}, "strictyaml": {"depends": ["python-dateutil"], "file_name": "strictyaml-1.7.3-py3-none-any.whl", "imports": ["strictyaml"], "install_dir": "site", "name": "strictyaml", "package_type": "package", "sha256": "eece58eb1d454df0c0b344d8466088209d5902c4a3979b0c6297e4e1876234f4", "unvendored_tests": false, "version": "1.7.3"}, "suitesparse": {"depends": ["openblas"], "file_name": "suitesparse-5.11.0.zip", "imports": [], "install_dir": "dynlib", "name": "suitesparse", "package_type": "shared_library", "sha256": "6b48a63b88bbe290cf073ff0ea748e40e8c3b12723e4cb3dd2d389a09323f1e8", "unvendored_tests": false, "version": "5.11.0"}, "svgwrite": {"depends": [], "file_name": "svgwrite-1.4.3-py3-none-any.whl", "imports": ["svgwrite"], "install_dir": "site", "name": "svgwrite", "package_type": "package", "sha256": "23344b445be8a670281f3c2972b59e3de063a21cb86ec25068cb84f8095e2e79", "unvendored_tests": false, "version": "1.4.3"}, "swiglpk": {"depends": [], "file_name": "swiglpk-5.0.10-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["swiglpk"], "install_dir": "site", "name": "swiglpk", "package_type": "package", "sha256": "5a3049d419227869b45afd28307c19cf7e61362c7dc73c06df36cdc301ba3a76", "unvendored_tests": false, "version": "5.0.10"}, "sympy": {"depends": ["mpmath"], "file_name": "sympy-1.13.3-py3-none-any.whl", "imports": ["isympy", "sympy"], "install_dir": "site", "name": "sympy", "package_type": "package", "sha256": "e210b73979b46989ea717a7d4c5fe26c70a8ffb800b636599c99bed5030a19c4", "unvendored_tests": true, "version": "1.13.3"}, "sympy-tests": {"depends": ["sympy"], "file_name": "sympy-tests.tar", "imports": [], "install_dir": "site", "name": "sympy-tests", "package_type": "package", "sha256": "ff3126c8408df84023773a2a177b50d3b4f9ba05d55e743c8aa47c2cbc861411", "unvendored_tests": false, "version": "1.13.3"}, "tblib": {"depends": [], "file_name": "tblib-3.0.0-py3-none-any.whl", "imports": ["tblib"], "install_dir": "site", "name": "tblib", "package_type": "package", "sha256": "e8f5550207a6886a41a04093028fef2723e47c2901e75a13c6ca1a11a122eecd", "unvendored_tests": false, "version": "3.0.0"}, "termcolor": {"depends": [], "file_name": "termcolor-2.4.0-py3-none-any.whl", "imports": ["termcolor"], "install_dir": "site", "name": "termcolor", "package_type": "package", "sha256": "8a0cc504d1b55625f31a026ad5ed4652f14d2f58ae3f640b8cf5b7b6b5382580", "unvendored_tests": false, "version": "2.4.0"}, "test": {"depends": [], "file_name": "test-1.0.0-py2.py3-none-any.whl", "imports": ["test"], "install_dir": "site", "name": "test", "package_type": "cpython_module", "sha256": "49986e9183d31ae7d0f1bea3555536b2d9518583f1f2bc30524143f1d6c81c05", "unvendored_tests": false, "version": "1.0.0"}, "texttable": {"depends": [], "file_name": "texttable-1.7.0-py2.py3-none-any.whl", "imports": ["texttable"], "install_dir": "site", "name": "texttable", "package_type": "package", "sha256": "4ee998f366f3d4a30cc67df4b377f612abc3b6e65e68b6786cc1759f4a54daf5", "unvendored_tests": false, "version": "1.7.0"}, "threadpoolctl": {"depends": [], "file_name": "threadpoolctl-3.5.0-py3-none-any.whl", "imports": ["threadpoolctl"], "install_dir": "site", "name": "threadpoolctl", "package_type": "package", "sha256": "11e0051e2f1bb799c66bab1adae92028260b62d3293617b73506f52163b6db31", "unvendored_tests": false, "version": "3.5.0"}, "tiktoken": {"depends": ["regex", "requests"], "file_name": "tiktoken-0.8.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["tiktoken", "tiktoken_ext"], "install_dir": "site", "name": "tiktoken", "package_type": "package", "sha256": "ecae7d6a572cbd327596035f54a6f152d5533178690cc73d855d431da8aadb6d", "unvendored_tests": false, "version": "0.8.0"}, "tomli": {"depends": [], "file_name": "tomli-2.0.1-py3-none-any.whl", "imports": ["tomli"], "install_dir": "site", "name": "tomli", "package_type": "package", "sha256": "c4091cb54feb4ef6cf3c16fc71325653bc3446ddbe7a0472ee31f30acde6ce91", "unvendored_tests": false, "version": "2.0.1"}, "tomli-w": {"depends": [], "file_name": "tomli_w-1.0.0-py3-none-any.whl", "imports": ["tomli_w"], "install_dir": "site", "name": "tomli-w", "package_type": "package", "sha256": "66a509a3d28bdac8b3025601ece019c02d207af856e8f6f206b7454cd9db09bc", "unvendored_tests": false, "version": "1.0.0"}, "toolz": {"depends": [], "file_name": "toolz-0.12.1-py3-none-any.whl", "imports": ["tlz", "toolz"], "install_dir": "site", "name": "toolz", "package_type": "package", "sha256": "dfe9234f5e97f001668546d332e303139634aa7f3b4f20381767764a4cbe9227", "unvendored_tests": true, "version": "0.12.1"}, "toolz-tests": {"depends": ["toolz"], "file_name": "toolz-tests.tar", "imports": [], "install_dir": "site", "name": "toolz-tests", "package_type": "package", "sha256": "4e978c1ffa2b004611aa5ffced1f2f3637038d842ff0d450d801c3fb7f601d6b", "unvendored_tests": false, "version": "0.12.1"}, "tqdm": {"depends": [], "file_name": "tqdm-4.66.2-py3-none-any.whl", "imports": ["tqdm"], "install_dir": "site", "name": "tqdm", "package_type": "package", "sha256": "f42c0b122ecfa942b98d6880f95ffa99af8961e156852803614104f5b6e884d9", "unvendored_tests": false, "version": "4.66.2"}, "traitlets": {"depends": [], "file_name": "traitlets-5.14.3-py3-none-any.whl", "imports": ["traitlets"], "install_dir": "site", "name": "traitlets", "package_type": "package", "sha256": "7e927415cc96814281c1a1423de440f00c3674c617efd691bc457eb31194f9ac", "unvendored_tests": true, "version": "5.14.3"}, "traitlets-tests": {"depends": ["traitlets"], "file_name": "traitlets-tests.tar", "imports": [], "install_dir": "site", "name": "traitlets-tests", "package_type": "package", "sha256": "c29166cd74e0e82064d9d46c0119658db71a1184fa6c5f06b21bacc80d0ae5e6", "unvendored_tests": false, "version": "5.14.3"}, "traits": {"depends": [], "file_name": "traits-6.4.3-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["traits"], "install_dir": "site", "name": "traits", "package_type": "package", "sha256": "959502d5e4c811011cb077754ae0d9dd099e2026c1cb95af56c442ea2129bc7b", "unvendored_tests": true, "version": "6.4.3"}, "traits-tests": {"depends": ["traits"], "file_name": "traits-tests.tar", "imports": [], "install_dir": "site", "name": "traits-tests", "package_type": "package", "sha256": "4a955fd2808f9d70d4b3b3211ae504b7ebd9b5009cdb3c0918ea63016587c272", "unvendored_tests": false, "version": "6.4.3"}, "tree-sitter": {"depends": [], "file_name": "tree_sitter-0.23.2-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["tree_sitter"], "install_dir": "site", "name": "tree-sitter", "package_type": "package", "sha256": "a3d3ec9d19fd7b02812fd89bdbc7d7aa8b0daf7456ed0be539ba58004ad9d5ec", "unvendored_tests": false, "version": "0.23.2"}, "tree-sitter-go": {"depends": ["tree-sitter"], "file_name": "tree_sitter_go-0.23.3-cp39-abi3-pyodide_2024_0_wasm32.whl", "imports": ["tree_sitter_go"], "install_dir": "site", "name": "tree-sitter-go", "package_type": "package", "sha256": "9c76d494eb7d71c489a2b8bcf2738af17afd054bc46576b758b11d296564e167", "unvendored_tests": false, "version": "0.23.3"}, "tree-sitter-java": {"depends": ["tree-sitter"], "file_name": "tree_sitter_java-0.23.4-cp39-abi3-pyodide_2024_0_wasm32.whl", "imports": ["tree_sitter_java"], "install_dir": "site", "name": "tree-sitter-java", "package_type": "package", "sha256": "7b2010cc5dfc396aeb03b2cb5eb8409fa61fa730662ec8d5c9937495446814e4", "unvendored_tests": false, "version": "0.23.4"}, "tree-sitter-python": {"depends": ["tree-sitter"], "file_name": "tree_sitter_python-0.23.4-cp39-abi3-pyodide_2024_0_wasm32.whl", "imports": ["tree_sitter_python"], "install_dir": "site", "name": "tree-sitter-python", "package_type": "package", "sha256": "5c138f760c99784f0d855d68d59ddffd1f3e8256848ed4fa9c7279d9465887ca", "unvendored_tests": false, "version": "0.23.4"}, "tskit": {"depends": ["numpy", "svgwrite", "jsonschema", "rpds-py"], "file_name": "tskit-0.6.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["tskit"], "install_dir": "site", "name": "tskit", "package_type": "package", "sha256": "236a2742046218fc6cb807cec0d9d15995df7867c605a9cfc4ec5530dd2aa068", "unvendored_tests": false, "version": "0.6.0"}, "typing-extensions": {"depends": [], "file_name": "typing_extensions-4.11.0-py3-none-any.whl", "imports": ["typing_extensions"], "install_dir": "site", "name": "typing-extensions", "package_type": "package", "sha256": "06f019e2da1427a5d5fbafb50292041df2a6fd701deb5ee55a950af58630599d", "unvendored_tests": false, "version": "4.11.0"}, "tzdata": {"depends": [], "file_name": "tzdata-2024.1-py2.py3-none-any.whl", "imports": ["tzdata"], "install_dir": "site", "name": "tzdata", "package_type": "package", "sha256": "431000930002a00f28b1209bd0058cf5f050628c218f9668d566f0f565b7aaa8", "unvendored_tests": false, "version": "2024.1"}, "uncertainties": {"depends": ["future"], "file_name": "uncertainties-3.1.7-py2.py3-none-any.whl", "imports": ["uncertainties"], "install_dir": "site", "name": "uncertainties", "package_type": "package", "sha256": "4fb985a7cc28943be089b3e637b499dc5a85fb0222f09c2fce9dc509356a8bf1", "unvendored_tests": true, "version": "3.1.7"}, "uncertainties-tests": {"depends": ["uncertainties"], "file_name": "uncertainties-tests.tar", "imports": [], "install_dir": "site", "name": "uncertainties-tests", "package_type": "package", "sha256": "77efa40c23932a3029c1a1a73937c8d528331dde5e776f1baaf0ef54af74593a", "unvendored_tests": false, "version": "3.1.7"}, "unyt": {"depends": ["numpy", "packaging", "sympy"], "file_name": "unyt-3.0.3-py3-none-any.whl", "imports": ["unyt"], "install_dir": "site", "name": "unyt", "package_type": "package", "sha256": "286a2413d3033cd60c2f5d66a25063409de4abbb6e2eff40d2fcddda7f46181b", "unvendored_tests": true, "version": "3.0.3"}, "unyt-tests": {"depends": ["unyt"], "file_name": "unyt-tests.tar", "imports": [], "install_dir": "site", "name": "unyt-tests", "package_type": "package", "sha256": "30d56dc9d34c368baeb9eb3cdf0834e2a5e2b80e55e019f3b2bb1275996bfd39", "unvendored_tests": false, "version": "3.0.3"}, "urllib3": {"depends": [], "file_name": "urllib3-2.2.3-py3-none-any.whl", "imports": ["urllib3"], "install_dir": "site", "name": "urllib3", "package_type": "package", "sha256": "a9c1cd9fab2d7ac7eaab2bf2131e42731932cf0468ca35ee194673cddfe0e75c", "unvendored_tests": false, "version": "2.2.3"}, "vega-datasets": {"depends": ["pandas"], "file_name": "vega_datasets-0.9.0-py3-none-any.whl", "imports": ["vega_datasets"], "install_dir": "site", "name": "vega-datasets", "package_type": "package", "sha256": "afee8361c641b2bf0f6b720651b6b16b84dbcf7fcb219130079965a44e6ab411", "unvendored_tests": true, "version": "0.9.0"}, "vega-datasets-tests": {"depends": ["vega-datasets"], "file_name": "vega-datasets-tests.tar", "imports": [], "install_dir": "site", "name": "vega-datasets-tests", "package_type": "package", "sha256": "981697cae099e44fa9277671be16887f161f3983619018fea3c46fe2662a2182", "unvendored_tests": false, "version": "0.9.0"}, "wcwidth": {"depends": [], "file_name": "wcwidth-0.2.13-py2.py3-none-any.whl", "imports": ["wcwidth"], "install_dir": "site", "name": "wcwidth", "package_type": "package", "sha256": "c866f293d3346f3e6e2755fef9158ef2bca35b31994c895f4bcca7f1e26741a1", "unvendored_tests": false, "version": "0.2.13"}, "webencodings": {"depends": [], "file_name": "webencodings-0.5.1-py2.py3-none-any.whl", "imports": ["webencodings"], "install_dir": "site", "name": "webencodings", "package_type": "package", "sha256": "2e4e365072d18658bd0e6b92ea63fb3f8671e219220ec492ba2dabcc9358c1c6", "unvendored_tests": false, "version": "0.5.1"}, "wordcloud": {"depends": ["matplotlib"], "file_name": "wordcloud-1.9.3-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["wordcloud"], "install_dir": "site", "name": "wordcloud", "package_type": "package", "sha256": "f3f72976aa158ac9650542992fb92aef4783ecbf5caffeb933ce4c4f750031e1", "unvendored_tests": false, "version": "1.9.3"}, "wrapt": {"depends": [], "file_name": "wrapt-1.16.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["wrapt"], "install_dir": "site", "name": "wrapt", "package_type": "package", "sha256": "18fb084e9d128b8b8485ec09a6145905f40901825d6878cf271bf5f791926a54", "unvendored_tests": false, "version": "1.16.0"}, "xarray": {"depends": ["numpy", "packaging", "pandas"], "file_name": "xarray-2024.11.0-py3-none-any.whl", "imports": ["xarray"], "install_dir": "site", "name": "xarray", "package_type": "package", "sha256": "4824cedbcc4cd955dd0d51d19378e08af10e5a2b33106166a3e6362f1d9fb51a", "unvendored_tests": true, "version": "2024.11.0"}, "xarray-tests": {"depends": ["xarray"], "file_name": "xarray-tests.tar", "imports": [], "install_dir": "site", "name": "xarray-tests", "package_type": "package", "sha256": "13619b56e2daa7d10b7ed511c515338ff2a937411cdeb525a2a62887eecf4192", "unvendored_tests": false, "version": "2024.11.0"}, "xgboost": {"depends": ["numpy", "scipy", "setuptools"], "file_name": "xgboost-2.1.2-py3-none-pyodide_2024_0_wasm32.whl", "imports": ["xgboost"], "install_dir": "site", "name": "xgboost", "package_type": "package", "sha256": "ed97ec094ba53b66cf9b1207ccd1247c923ad5e73d4acea57c2121fac68b76d1", "unvendored_tests": false, "version": "2.1.2"}, "xlrd": {"depends": [], "file_name": "xlrd-2.0.1-py2.py3-none-any.whl", "imports": ["xlrd"], "install_dir": "site", "name": "xlrd", "package_type": "package", "sha256": "9583caaa30861e72a1fea543557b2825c4c2698a56fac9a0f6d78f48026de554", "unvendored_tests": false, "version": "2.0.1"}, "xxhash": {"depends": [], "file_name": "xxhash-3.4.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["xxhash"], "install_dir": "site", "name": "xxhash", "package_type": "package", "sha256": "db9e71a64e455bb9634c4974e5d8b28fd77e9bf2ccac9d7c64c1c663f47c74cf", "unvendored_tests": false, "version": "3.4.1"}, "xyzservices": {"depends": [], "file_name": "xyzservices-2024.4.0-py3-none-any.whl", "imports": ["xyzservices"], "install_dir": "site", "name": "xyzservices", "package_type": "package", "sha256": "bc067e4c613fd64656b165db9f9310cf3b0ae76690178564db19c003b958f874", "unvendored_tests": true, "version": "2024.4.0"}, "xyzservices-tests": {"depends": ["xyzservices"], "file_name": "xyzservices-tests.tar", "imports": [], "install_dir": "site", "name": "xyzservices-tests", "package_type": "package", "sha256": "a6a3d537feb9f4b72d6ae1ad51307a8924ed5b207a619a6cdcdc98ea0706a4e2", "unvendored_tests": false, "version": "2024.4.0"}, "yarl": {"depends": ["multidict", "idna"], "file_name": "yarl-1.9.4-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["yarl"], "install_dir": "site", "name": "yarl", "package_type": "package", "sha256": "1dddd1ceb1be4fe53fbb59abd0e5a4322e96733d8ef54b15ecad6cc9f3443e81", "unvendored_tests": false, "version": "1.9.4"}, "yt": {"depends": ["ewah_bool_utils", "numpy", "matplotlib", "sympy", "setuptools", "packaging", "unyt", "cmyt", "colorspacious", "tqdm", "tomli", "tomli-w"], "file_name": "yt-4.3.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["yt"], "install_dir": "site", "name": "yt", "package_type": "package", "sha256": "d96575b1ca5e7b60cc0c47bb5e8a9484c33ce86af4c9c150dcc5f3ec040067eb", "unvendored_tests": false, "version": "4.3.1"}, "zarr": {"depends": ["numpy", "asciitree", "numcodecs"], "file_name": "zarr-2.18.3-py3-none-any.whl", "imports": ["zarr"], "install_dir": "site", "name": "zarr", "package_type": "package", "sha256": "4e0f9e6ed6a89ba8049039ec35098f577abd9d2eea30c1c3ad52f5134bd9dc0e", "unvendored_tests": true, "version": "2.18.3"}, "zarr-tests": {"depends": ["zarr"], "file_name": "zarr-tests.tar", "imports": [], "install_dir": "site", "name": "zarr-tests", "package_type": "package", "sha256": "9c8f1b6f806895e2bcee21a8f72884271b11201238c123e06c00d129c5f5515f", "unvendored_tests": false, "version": "2.18.3"}, "zengl": {"depends": [], "file_name": "zengl-2.7.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["zengl", "_zengl"], "install_dir": "site", "name": "zengl", "package_type": "package", "sha256": "a03f1a39ce0f0bdc207b658afa568ba9b594db2cfaf7f090c5b187c24ae0e59b", "unvendored_tests": false, "version": "2.7.1"}, "zfpy": {"depends": ["numpy"], "file_name": "zfpy-1.0.1-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["zfpy"], "install_dir": "site", "name": "zfpy", "package_type": "package", "sha256": "51095cc2d359d5dc707758ae406955ee01df4db161b41d5eef448b004ced6b0f", "unvendored_tests": false, "version": "1.0.1"}, "zstandard": {"depends": ["cffi"], "file_name": "zstandard-0.22.0-cp312-cp312-pyodide_2024_0_wasm32.whl", "imports": ["zstandard"], "install_dir": "site", "name": "zstandard", "package_type": "package", "sha256": "ee0c5176ad68915b9600c5a2dc84924e975c50055d334a966be7fff7e4584b59", "unvendored_tests": false, "version": "0.22.0"}}} \ No newline at end of file