From 6d5cb6b04ee188e644fc71a5e3fcbdc90dcf181a Mon Sep 17 00:00:00 2001 From: Juan Calderon-Perez <835733+gaby@users.noreply.github.com> Date: Thu, 3 Apr 2025 23:02:24 -0400 Subject: [PATCH 01/40] Add query param to remove content from GET /api/v1/files --- backend/open_webui/routers/files.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/backend/open_webui/routers/files.py b/backend/open_webui/routers/files.py index 22e1269e3..b7d64748b 100644 --- a/backend/open_webui/routers/files.py +++ b/backend/open_webui/routers/files.py @@ -162,11 +162,15 @@ def upload_file( @router.get("/", response_model=list[FileModelResponse]) -async def list_files(user=Depends(get_verified_user)): +async def list_files(user=Depends(get_verified_user), content: bool = Query(True)): if user.role == "admin": files = Files.get_files() else: files = Files.get_files_by_user_id(user.id) + + if not content: + for file in files: + file.data['content'] = "" return files From 138e985d6631a52b19b983c3a8f597549cde9471 Mon Sep 17 00:00:00 2001 From: Juan Calderon-Perez <835733+gaby@users.noreply.github.com> Date: Fri, 4 Apr 2025 08:38:24 -0400 Subject: [PATCH 02/40] Rename field to include_content --- backend/open_webui/routers/files.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/open_webui/routers/files.py b/backend/open_webui/routers/files.py index b7d64748b..d876182f7 100644 --- a/backend/open_webui/routers/files.py +++ b/backend/open_webui/routers/files.py @@ -162,13 +162,13 @@ def upload_file( @router.get("/", response_model=list[FileModelResponse]) -async def list_files(user=Depends(get_verified_user), content: bool = Query(True)): +async def list_files(user=Depends(get_verified_user), include_content: bool = Query(True)): if user.role == "admin": files = Files.get_files() else: files = Files.get_files_by_user_id(user.id) - if not content: + if not include_content: for file in files: file.data['content'] = "" return files From 09344bbb804ea34e76c64b547e847e46cd8e5774 Mon Sep 17 00:00:00 2001 From: dan-sullivan Date: Sat, 5 Apr 2025 14:18:14 +0100 Subject: [PATCH 03/40] Fallback from desc to summary to placeholder --- src/lib/utils/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/utils/index.ts b/src/lib/utils/index.ts index 927f62ab3..17726a7e9 100644 --- a/src/lib/utils/index.ts +++ b/src/lib/utils/index.ts @@ -1128,7 +1128,7 @@ export const convertOpenApiToToolPayload = (openApiSpec) => { const tool = { type: 'function', name: operation.operationId, - description: operation.summary || 'No description available.', + description: operation.description || operation.summary || 'No description available.', parameters: { type: 'object', properties: {}, From 33451cf66db0921e788015dc499413968cb988ce Mon Sep 17 00:00:00 2001 From: Tiancong Li Date: Sun, 6 Apr 2025 04:46:31 +0800 Subject: [PATCH 04/40] i18n: update zh-TW --- src/lib/i18n/locales/zh-TW/translation.json | 44 ++++++++++----------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/src/lib/i18n/locales/zh-TW/translation.json b/src/lib/i18n/locales/zh-TW/translation.json index 0becf2d61..d55898d10 100644 --- a/src/lib/i18n/locales/zh-TW/translation.json +++ b/src/lib/i18n/locales/zh-TW/translation.json @@ -6,7 +6,7 @@ "(latest)": "(最新版)", "(Ollama)": "(Ollama)", "{{ models }}": "{{ models }}", - "{{COUNT}} Available Tools": "", + "{{COUNT}} Available Tools": "{{COUNT}} 個可用工具", "{{COUNT}} hidden lines": "已隱藏 {{COUNT}} 行", "{{COUNT}} Replies": "{{COUNT}} 回覆", "{{user}}'s Chats": "{{user}} 的對話", @@ -108,7 +108,7 @@ "Attribute for Username": "使用者名稱屬性", "Audio": "音訊", "August": "8 月", - "Auth": "", + "Auth": "驗證", "Authenticate": "驗證", "Authentication": "驗證", "Auto-Copy Response to Clipboard": "自動將回應複製到剪貼簿", @@ -120,7 +120,7 @@ "AUTOMATIC1111 Base URL": "AUTOMATIC1111 基礎 URL", "AUTOMATIC1111 Base URL is required.": "需要 AUTOMATIC1111 基礎 URL。", "Available list": "可用清單", - "Available Tools": "", + "Available Tools": "可用工具", "available!": "可用!", "Awful": "糟糕", "Azure AI Speech": "Azure AI 語音", @@ -219,10 +219,10 @@ "Confirm your new password": "確認您的新密碼", "Connect to your own OpenAI compatible API endpoints.": "連線到您自己的 OpenAI 相容 API 端點。", "Connect to your own OpenAPI compatible external tool servers.": "連接至您自己的與 OpenAPI 相容的外部工具伺服器。", - "Connection failed": "", - "Connection successful": "", + "Connection failed": "連線失敗", + "Connection successful": "連線成功", "Connections": "連線", - "Connections saved successfully": "", + "Connections saved successfully": "連線已成功儲存", "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": "內容", @@ -307,7 +307,7 @@ "Direct Connections": "直接連線", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "直接連線允許使用者連接到自己的 OpenAI 相容 API 端點。", "Direct Connections settings updated": "直接連線設定已更新。", - "Direct Tool Servers": "", + "Direct Tool Servers": "直連工具伺服器", "Disabled": "已停用", "Discover a function": "發掘函式", "Discover a model": "發掘模型", @@ -417,7 +417,7 @@ "Enter Kagi Search API Key": "輸入 Kagi 搜尋 API 金鑰", "Enter Key Behavior": "Enter 鍵行為", "Enter language codes": "輸入語言代碼", - "Enter Mistral API Key": "", + "Enter Mistral API Key": "輸入 Mistral API 金鑰", "Enter Model ID": "輸入模型 ID", "Enter model tag (e.g. {{modelTag}})": "輸入模型標籤(例如:{{modelTag}})", "Enter Mojeek Search API Key": "輸入 Mojeek 搜尋 API 金鑰", @@ -442,7 +442,7 @@ "Enter server port": "輸入伺服器連接埠", "Enter stop sequence": "輸入停止序列", "Enter system prompt": "輸入系統提示詞", - "Enter system prompt here": "", + "Enter system prompt here": "在此輸入系統提示詞", "Enter Tavily API Key": "輸入 Tavily API 金鑰", "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", @@ -456,7 +456,7 @@ "Enter Your Email": "輸入您的電子郵件", "Enter Your Full Name": "輸入您的全名", "Enter your message": "輸入您的訊息", - "Enter your name": "", + "Enter your name": "輸入你的名稱", "Enter your new password": "輸入您的新密碼", "Enter Your Password": "輸入您的密碼", "Enter Your Role": "輸入您的角色", @@ -476,7 +476,7 @@ "Exceeded the number of seats in your license. Please contact support to increase the number of seats.": "您的授權名額已超過上限。請聯絡支援以增加授權名額。", "Exclude": "排除", "Execute code for analysis": "執行程式碼以進行分析", - "Executing **{{NAME}}**...": "", + "Executing **{{NAME}}**...": "正在執行 **{{NAME}}**...", "Expand": "展開", "Experimental": "實驗性功能", "Explain": "解釋", @@ -501,7 +501,7 @@ "Failed to create API Key.": "建立 API 金鑰失敗。", "Failed to fetch models": "取得模型失敗", "Failed to read clipboard contents": "讀取剪貼簿內容失敗", - "Failed to save connections": "", + "Failed to save connections": "儲存連線失敗", "Failed to save models configuration": "儲存模型設定失敗", "Failed to update settings": "更新設定失敗", "Failed to upload file.": "上傳檔案失敗。", @@ -534,7 +534,7 @@ "Forge new paths": "開創新路徑", "Form": "表單", "Format your variables using brackets like this:": "使用方括號格式化您的變數,如下所示:", - "Forwards system user session credentials to authenticate": "", + "Forwards system user session credentials to authenticate": "轉發系統使用者 session 憑證以進行驗證", "Frequency Penalty": "頻率懲罰", "Full Context Mode": "完整上下文模式", "Function": "函式", @@ -704,8 +704,8 @@ "Mirostat": "Mirostat", "Mirostat Eta": "Mirostat Eta", "Mirostat Tau": "Mirostat Tau", - "Mistral OCR": "", - "Mistral OCR API Key required.": "", + "Mistral OCR": "Mistral OCR", + "Mistral OCR API Key required.": "需要 Mistral OCR API 金鑰。", "Model": "模型", "Model '{{modelName}}' has been successfully downloaded.": "模型「{{modelName}}」已成功下載。", "Model '{{modelTag}}' is already in queue for downloading.": "模型「{{modelTag}}」已在下載佇列中。", @@ -801,7 +801,7 @@ "OpenAI API Key is required.": "需要 OpenAI API 金鑰。", "OpenAI API settings updated": "OpenAI API 設定已更新", "OpenAI URL/Key required.": "需要 OpenAI URL 或金鑰。", - "openapi.json Path": "", + "openapi.json Path": "openapi.json 路徑", "or": "或", "Organize your users": "組織您的使用者", "Other": "其他", @@ -833,8 +833,8 @@ "Please carefully review the following warnings:": "請仔細閱讀以下警告:", "Please do not close the settings page while loading the model.": "載入模型時,請勿關閉設定頁面。", "Please enter a prompt": "請輸入提示詞", - "Please enter a valid path": "", - "Please enter a valid URL": "", + "Please enter a valid path": "請輸入有效路徑", + "Please enter a valid URL": "請輸入有效 URL", "Please fill in all fields.": "請填寫所有欄位。", "Please select a model first.": "請先選擇模型。", "Please select a model.": "請選擇一個模型。", @@ -1057,7 +1057,7 @@ "Thinking...": "正在思考...", "This action cannot be undone. Do you wish to continue?": "此操作無法復原。您確定要繼續進行嗎?", "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "此頻道建立於 {{createdAt}}。這是 {{channelName}} 頻道的起點。", - "This chat won’t appear in history and your messages will not be saved.": "", + "This chat won’t appear in history and your messages will not be saved.": "此對話不會出現在歷史記錄中,且您的訊息將不被儲存。", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "這確保您寶貴的對話會安全地儲存到您的後端資料庫。謝謝!", "This 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。保留上下文有助於保持對話的連貫性,但也可能降低對新主題的回應能力。", @@ -1105,7 +1105,7 @@ "Tool ID": "工具 ID", "Tool imported successfully": "成功匯入工具", "Tool Name": "工具名稱", - "Tool Servers": "", + "Tool Servers": "工具伺服器", "Tool updated successfully": "成功更新工具", "Tools": "工具", "Tools Access": "工具存取", @@ -1175,7 +1175,7 @@ "Version": "版本", "Version {{selectedVersion}} of {{totalVersions}}": "第 {{selectedVersion}} 版,共 {{totalVersions}} 版", "View Replies": "檢視回覆", - "View Result from **{{NAME}}**": "", + "View Result from **{{NAME}}**": "檢視來自 **{{NAME}}** 的結果", "Visibility": "可見性", "Voice": "語音", "Voice Input": "語音輸入", @@ -1193,7 +1193,7 @@ "Webhook URL": "Webhook URL", "WebUI Settings": "WebUI 設定", "WebUI URL": "WebUI URL", - "WebUI will make requests to \"{{url}}\"": "", + "WebUI will make requests to \"{{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?": "您正在試圖完成什麼?", From 9ea6cea0baa7b2eab23c3b4db3b03a7afe811da4 Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Sat, 5 Apr 2025 14:31:22 -0700 Subject: [PATCH 05/40] refac --- backend/open_webui/utils/tools.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/backend/open_webui/utils/tools.py b/backend/open_webui/utils/tools.py index 60311a690..734c23e1b 100644 --- a/backend/open_webui/utils/tools.py +++ b/backend/open_webui/utils/tools.py @@ -337,7 +337,9 @@ def convert_openapi_to_tool_payload(openapi_spec): tool = { "type": "function", "name": operation.get("operationId"), - "description": operation.get("summary", "No description available."), + "description": operation.get( + "description", operation.get("summary", "No description available.") + ), "parameters": {"type": "object", "properties": {}, "required": []}, } From 2729d8aab478de76ba427cf4401ee9f361b364d7 Mon Sep 17 00:00:00 2001 From: Jan Kessler Date: Sun, 6 Apr 2025 13:37:42 +0200 Subject: [PATCH 06/40] fix web results all getting the same source id when bypassing embedding and retrieval --- backend/open_webui/utils/middleware.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/backend/open_webui/utils/middleware.py b/backend/open_webui/utils/middleware.py index 72f1f30ce..98965ce68 100644 --- a/backend/open_webui/utils/middleware.py +++ b/backend/open_webui/utils/middleware.py @@ -395,14 +395,15 @@ async def chat_web_search_handler( } ) elif results.get("docs"): - files.append( - { - "docs": results.get("docs", []), - "name": searchQuery, - "type": "web_search", - "urls": results["filenames"], - } - ) + for doc_idx, doc in enumerate(results["docs"]): + files.append( + { + "docs": [doc], + "name": searchQuery, + "type": "web_search", + "urls": [results["filenames"][doc_idx]], + } + ) form_data["files"] = files except Exception as e: From 447606004429074e127ff3d7989a1b22c53dcba9 Mon Sep 17 00:00:00 2001 From: Jan Kessler Date: Sun, 6 Apr 2025 15:51:05 +0200 Subject: [PATCH 07/40] fix web results all getting the same source id when using embedding and retrieval --- backend/open_webui/routers/retrieval.py | 31 ++++++++++++++----------- backend/open_webui/utils/middleware.py | 19 ++++++++------- 2 files changed, 27 insertions(+), 23 deletions(-) diff --git a/backend/open_webui/routers/retrieval.py b/backend/open_webui/routers/retrieval.py index 6f71e11d3..17a1412f6 100644 --- a/backend/open_webui/routers/retrieval.py +++ b/backend/open_webui/routers/retrieval.py @@ -1464,11 +1464,9 @@ async def process_web_search( log.debug(f"web_results: {web_results}") try: - collection_name = form_data.collection_name - if collection_name == "" or collection_name is None: - collection_name = f"web-search-{calculate_sha256_string(form_data.query)}"[ - :63 - ] + collection_basename = form_data.collection_name + if collection_basename == "" or collection_basename is None: + collection_basename = "web-search" urls = [result.link for result in web_results] loader = get_web_loader( @@ -1494,18 +1492,23 @@ async def process_web_search( "loaded_count": len(docs), } else: - await run_in_threadpool( - save_docs_to_vector_db, - request, - docs, - collection_name, - overwrite=True, - user=user, - ) + collection_names = [] + for doc_idx, doc in enumerate(docs): + collection_sha = calculate_sha256_string(f"{form_data.query}-{urls[doc_idx]}") + doc_collection_name = f"{collection_basename}-{collection_sha}"[:63] + collection_names.append(doc_collection_name) + await run_in_threadpool( + save_docs_to_vector_db, + request, + [doc], + doc_collection_name, + overwrite=True, + user=user, + ) return { "status": True, - "collection_name": collection_name, + "collection_names": collection_names, "filenames": urls, "loaded_count": len(docs), } diff --git a/backend/open_webui/utils/middleware.py b/backend/open_webui/utils/middleware.py index 72f1f30ce..98838d7f1 100644 --- a/backend/open_webui/utils/middleware.py +++ b/backend/open_webui/utils/middleware.py @@ -385,15 +385,16 @@ async def chat_web_search_handler( all_results.append(results) files = form_data.get("files", []) - if results.get("collection_name"): - files.append( - { - "collection_name": results["collection_name"], - "name": searchQuery, - "type": "web_search", - "urls": results["filenames"], - } - ) + if results.get("collection_names"): + for col_idx, collection_name in enumerate(results.get("collection_names")): + files.append( + { + "collection_name": collection_name, + "name": searchQuery, + "type": "web_search", + "urls": [results["filenames"][col_idx]], + } + ) elif results.get("docs"): files.append( { From 2994c58fd94e6d291a110b67dd91c78b173e2e05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ng=C3=B4=20T=E1=BA=A5n=20T=C3=A0i?= Date: Sun, 6 Apr 2025 21:26:58 +0700 Subject: [PATCH 08/40] Update translation.json --- src/lib/i18n/locales/vi-VN/translation.json | 1300 +++++++++---------- 1 file changed, 650 insertions(+), 650 deletions(-) diff --git a/src/lib/i18n/locales/vi-VN/translation.json b/src/lib/i18n/locales/vi-VN/translation.json index ee45af3de..9eb02430f 100644 --- a/src/lib/i18n/locales/vi-VN/translation.json +++ b/src/lib/i18n/locales/vi-VN/translation.json @@ -1,51 +1,51 @@ { - "-1 for no limit, or a positive integer for a specific limit": "", + "-1 for no limit, or a positive integer for a specific limit": "-1 không giới hạn, hoặc một số nguyên dương cho giới hạn cụ thể", "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' hoặc '-1' không hết hạn.", - "(e.g. `sh webui.sh --api --api-auth username_password`)": "", + "(e.g. `sh webui.sh --api --api-auth username_password`)": "(vd: `sh webui.sh --api --api-auth tên_người_dùng_mật_khẩu`)", "(e.g. `sh webui.sh --api`)": "(vd: `sh webui.sh --api`)", "(latest)": "(mới nhất)", - "(Ollama)": "", + "(Ollama)": "(Ollama)", "{{ models }}": "{{ mô hình }}", - "{{COUNT}} Available Tools": "", - "{{COUNT}} hidden lines": "", - "{{COUNT}} Replies": "", - "{{user}}'s Chats": "{{user}}'s Chats", + "{{COUNT}} Available Tools": "{{COUNT}} Công cụ có sẵn", + "{{COUNT}} hidden lines": "{{COUNT}} dòng bị ẩn", + "{{COUNT}} Replies": "{{COUNT}} Trả lời", + "{{user}}'s Chats": "Các cuộc trò chuyện của {{user}}", "{{webUIName}} Backend Required": "{{webUIName}} Yêu cầu Backend", - "*Prompt node ID(s) are required for image generation": "", - "A new version (v{{LATEST_VERSION}}) is now available.": "", + "*Prompt node ID(s) are required for image generation": "*ID nút Prompt là bắt buộc để tạo ảnh", + "A new version (v{{LATEST_VERSION}}) is now available.": "Một phiên bản mới (v{{LATEST_VERSION}}) đã có sẵn.", "A task model is used when performing tasks such as generating titles for chats and web search queries": "Mô hình tác vụ được sử dụng khi thực hiện các tác vụ như tạo tiêu đề cho cuộc trò chuyện và truy vấn tìm kiếm trên web", "a user": "người sử dụng", "About": "Giới thiệu", - "Accept autocomplete generation / Jump to prompt variable": "", - "Access": "", - "Access Control": "", - "Accessible to all users": "", + "Accept autocomplete generation / Jump to prompt variable": "Chấp nhận tạo tự động hoàn thành / Chuyển đến biến prompt", + "Access": "Truy cập", + "Access Control": "Kiểm soát truy cập", + "Accessible to all users": "Truy cập được bởi tất cả người dùng", "Account": "Tài khoản", "Account Activation Pending": "Tài khoản đang chờ kích hoạt", "Accurate information": "Thông tin chính xác", "Actions": "Tác vụ", - "Activate": "", - "Activate this command by typing \"/{{COMMAND}}\" to chat input.": "", + "Activate": "Kích hoạt", + "Activate this command by typing \"/{{COMMAND}}\" to chat input.": "Kích hoạt lệnh này bằng cách gõ \"/{{COMMAND}}\" vào ô nhập chat.", "Active Users": "Người dùng đang hoạt động", "Add": "Thêm", - "Add a model ID": "", + "Add a model ID": "Thêm ID mô hình", "Add a short description about what this model does": "Thêm mô tả ngắn về những khả năng của model", "Add a tag": "Thêm thẻ (tag)", - "Add Arena Model": "", - "Add Connection": "", - "Add Content": "", - "Add content here": "", + "Add Arena Model": "Thêm Mô hình Arena", + "Add Connection": "Thêm kết nối", + "Add Content": "Thêm nội dung", + "Add content here": "Thêm nội dung tại đây", "Add custom prompt": "Thêm prompt tùy chỉnh", "Add Files": "Thêm tệp", - "Add Group": "", + "Add Group": "Thêm Nhóm", "Add Memory": "Thêm bộ nhớ", "Add Model": "Thêm model", - "Add Reaction": "", + "Add Reaction": "Thêm phản ứng", "Add Tag": "Thêm thẻ", "Add Tags": "thêm thẻ", - "Add text content": "", + "Add text content": "Thêm nội dung văn bản", "Add User": "Thêm người dùng", - "Add User Group": "", + "Add User Group": "Thêm Nhóm Người dùng", "Adjusting these settings will apply changes universally to all users.": "Các thay đổi cài đặt này sẽ áp dụng cho tất cả người sử dụng.", "admin": "quản trị viên", "Admin": "Quản trị", @@ -54,115 +54,115 @@ "Admins have access to all tools at all times; users need tools assigned per model in the workspace.": "Quản trị viên luôn có quyền truy cập vào tất cả các tool; người dùng cần các tools được chỉ định cho mỗi mô hình trong workspace.", "Advanced Parameters": "Các tham số Nâng cao", "Advanced Params": "Các tham số Nâng cao", - "All": "", + "All": "Tất cả", "All Documents": "Tất cả tài liệu", - "All models deleted successfully": "", - "Allow Chat Controls": "", - "Allow Chat Delete": "", + "All models deleted successfully": "Tất cả các mô hình đã được xóa thành công", + "Allow Chat Controls": "Cho phép Điều khiển Chat", + "Allow Chat Delete": "Cho phép Xóa Chat", "Allow Chat Deletion": "Cho phép Xóa nội dung chat", - "Allow Chat Edit": "", - "Allow File Upload": "", + "Allow Chat Edit": "Cho phép Chỉnh sửa Chat", + "Allow File Upload": "Cho phép Tải tệp lên", "Allow non-local voices": "Cho phép giọng nói không bản xứ", "Allow Temporary Chat": "Cho phép Chat nháp", "Allow User Location": "Cho phép sử dụng vị trí người dùng", "Allow Voice Interruption in Call": "Cho phép gián đoạn giọng nói trong cuộc gọi", - "Allowed Endpoints": "", + "Allowed Endpoints": "Các Endpoint được phép", "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": "", + "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.": "Thay thế cho top_p, nhằm đảm bảo cân bằng giữa chất lượng và sự đa dạng. Tham số p đại diện cho xác suất tối thiểu để một token được xem xét, tương đối so với xác suất của token có khả năng cao nhất. Ví dụ: với p=0.05 và token có khả năng cao nhất có xác suất 0.9, các logit có giá trị nhỏ hơn 0.045 sẽ bị lọc ra.", + "Always": "Luôn luôn", + "Always Collapse Code Blocks": "Luôn Thu gọn Khối mã", + "Always Expand Details": "Luôn Mở rộng Chi tiết", + "Amazing": "Tuyệt vời", "an assistant": "trợ lý", - "Analyzed": "", - "Analyzing...": "", + "Analyzed": "Đã phân tích", + "Analyzing...": "Đang phân tích...", "and": "và", - "and {{COUNT}} more": "", + "and {{COUNT}} more": "và {{COUNT}} mục khác", "and create a new shared link.": "và tạo một link chia sẻ mới", "API Base URL": "Đường dẫn tới API (API Base URL)", "API Key": "API Key", "API Key created.": "Khóa API đã tạo", - "API Key Endpoint Restrictions": "", + "API Key Endpoint Restrictions": "Hạn chế Endpoint Khóa API", "API keys": "API Keys", - "Application DN": "", - "Application DN Password": "", - "applies to all users with the \"user\" role": "", + "Application DN": "DN Ứng dụng", + "Application DN Password": "Mật khẩu DN Ứng dụng", + "applies to all users with the \"user\" role": "áp dụng cho tất cả người dùng có vai trò \"user\"", "April": "Tháng 4", "Archive": "Lưu trữ", "Archive All Chats": "Lưu tất cả các cuộc Chat", "Archived Chats": "Lưu các cuộc Chat", - "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 unarchive all archived chats?": "", + "archived-chat-export": "xuất-chat-lưu-trữ", + "Are you sure you want to clear all memories? This action cannot be undone.": "Bạn có chắc chắn muốn xóa tất cả bộ nhớ không? Hành động này không thể hoàn tác.", + "Are you sure you want to delete this channel?": "Bạn có chắc chắn muốn xóa kênh này không?", + "Are you sure you want to delete this message?": "Bạn có chắc chắn muốn xóa tin nhắn này không?", + "Are you sure you want to unarchive all archived chats?": "Bạn có chắc chắn muốn bỏ lưu trữ tất cả các cuộc trò chuyện đã lưu trữ không?", "Are you sure?": "Bạn có chắc chắn không?", - "Arena Models": "", - "Artifacts": "", - "Ask": "", - "Ask a question": "", - "Assistant": "", - "Attach file from knowledge": "", + "Arena Models": "Các Mô hình Arena", + "Artifacts": "Kết quả tạo ra", + "Ask": "Hỏi", + "Ask a question": "Đặt câu hỏi", + "Assistant": "Trợ lý", + "Attach file from knowledge": "Đính kèm tệp từ kiến thức", "Attention to detail": "Có sự chú ý đến chi tiết của vấn đề", - "Attribute for Mail": "", - "Attribute for Username": "", + "Attribute for Mail": "Thuộc tính cho Mail", + "Attribute for Username": "Thuộc tính cho Tên người dùng", "Audio": "Âm thanh", "August": "Tháng 8", - "Auth": "", - "Authenticate": "", - "Authentication": "", + "Auth": "Xác thực", + "Authenticate": "Xác thực", + "Authentication": "Xác thực", "Auto-Copy Response to Clipboard": "Tự động Sao chép Phản hồi vào clipboard", "Auto-playback response": "Tự động phát lại phản hồi (Auto-playback)", - "Autocomplete Generation": "", - "Autocomplete Generation Input Max Length": "", - "Automatic1111": "", - "AUTOMATIC1111 Api Auth String": "", + "Autocomplete Generation": "Tạo Tự động Hoàn thành", + "Autocomplete Generation Input Max Length": "Độ dài tối đa đầu vào Tạo Tự động Hoàn thành", + "Automatic1111": "Automatic1111", + "AUTOMATIC1111 Api Auth String": "Chuỗi xác thực API AUTOMATIC1111", "AUTOMATIC1111 Base URL": "Đường dẫn kết nối tới AUTOMATIC1111 (Base URL)", "AUTOMATIC1111 Base URL is required.": "Base URL của AUTOMATIC1111 là bắt buộc.", - "Available list": "", - "Available Tools": "", + "Available list": "Danh sách có sẵn", + "Available Tools": "Công cụ có sẵn", "available!": "có sẵn!", - "Awful": "", - "Azure AI Speech": "", - "Azure Region": "", + "Awful": "Tệ", + "Azure AI Speech": "Azure AI Speech", + "Azure Region": "Khu vực Azure", "Back": "Quay lại", "Bad Response": "Trả lời KHÔNG tốt", "Banners": "Biểu ngữ", "Base Model (From)": "Mô hình cơ sở (từ)", - "Batch Size (num_batch)": "", + "Batch Size (num_batch)": "Kích thước Lô (num_batch)", "before": "trước", "Being lazy": "Lười biếng", - "Beta": "", - "Bing Search V7 Endpoint": "", - "Bing Search V7 Subscription Key": "", - "Bocha Search API Key": "", - "Boosting or penalizing specific tokens for constrained responses. Bias values will be clamped between -100 and 100 (inclusive). (Default: none)": "", + "Beta": "Beta", + "Bing Search V7 Endpoint": "Endpoint Bing Search V7", + "Bing Search V7 Subscription Key": "Khóa đăng ký Bing Search V7", + "Bocha Search API Key": "Khóa API Bocha Search", + "Boosting or penalizing specific tokens for constrained responses. Bias values will be clamped between -100 and 100 (inclusive). (Default: none)": "Tăng cường hoặc phạt các token cụ thể cho các phản hồi bị ràng buộc. Giá trị bias sẽ được giới hạn trong khoảng từ -100 đến 100 (bao gồm). (Mặc định: không có)", "Brave Search API Key": "Khóa API tìm kiếm dũng cảm", - "By {{name}}": "", - "Bypass Embedding and Retrieval": "", + "By {{name}}": "Bởi {{name}}", + "Bypass Embedding and Retrieval": "Bỏ qua Embedding và Truy xuất", "Bypass SSL verification for Websites": "Bỏ qua xác thực SSL cho các trang web", - "Calendar": "", + "Calendar": "Lịch", "Call": "Gọi", "Call feature is not supported when using Web STT engine": "Tính năng gọi điện không được hỗ trợ khi sử dụng công cụ Web STT", - "Camera": "", + "Camera": "Máy ảnh", "Cancel": "Hủy bỏ", "Capabilities": "Năng lực", - "Capture": "", - "Certificate Path": "", + "Capture": "Chụp", + "Certificate Path": "Đường dẫn Chứng chỉ", "Change Password": "Đổi Mật khẩu", - "Channel Name": "", - "Channels": "", - "Character": "", - "Character limit for autocomplete generation input": "", - "Chart new frontiers": "", + "Channel Name": "Tên Kênh", + "Channels": "Kênh", + "Character": "Nhân vật", + "Character limit for autocomplete generation input": "Giới hạn ký tự cho đầu vào tạo tự động hoàn thành", + "Chart new frontiers": "Vẽ nên những giới hạn mới", "Chat": "Trò chuyện", "Chat Background Image": "Hình nền trò chuyện", "Chat Bubble UI": "Bảng chat", "Chat Controls": "Điều khiển Chats", "Chat direction": "Hướng chat", - "Chat Overview": "", - "Chat Permissions": "", - "Chat Tags Auto-Generation": "", + "Chat Overview": "Tổng quan Chat", + "Chat Permissions": "Quyền Chat", + "Chat Tags Auto-Generation": "Tự động tạo Thẻ Chat", "Chats": "Chat", "Check Again": "Kiểm tra Lại", "Check for updates": "Kiểm tra cập nhật", @@ -170,17 +170,17 @@ "Choose a model before saving...": "Chọn mô hình trước khi lưu...", "Chunk Overlap": "Chồng lấn (overlap)", "Chunk Size": "Kích thước khối (size)", - "Ciphers": "", + "Ciphers": "Bộ mã hóa", "Citation": "Trích dẫn", "Clear memory": "Xóa bộ nhớ", - "Clear Memory": "", - "click here": "", - "Click here for filter guides.": "", + "Clear Memory": "Xóa Bộ nhớ", + "click here": "nhấn vào đây", + "Click here for filter guides.": "Nhấn vào đây để xem hướng dẫn về bộ lọc.", "Click here for help.": "Bấm vào đây để được trợ giúp.", "Click here to": "Nhấn vào đây để", "Click here to download user import template file.": "Bấm vào đây để tải xuống tệp template của người dùng.", - "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.": "Nhấn vào đây để tìm hiểu thêm về faster-whisper và xem các mô hình có sẵn.", + "Click here to see available models.": "Nhấn vào đây để xem các mô hình có sẵn.", "Click here to select": "Bấm vào đây để chọn", "Click here to select a csv file.": "Nhấn vào đây để chọn tệp csv", "Click here to select a py file.": "Nhấn vào đây để chọn tệp py", @@ -189,336 +189,336 @@ "Click on the user role button to change a user's role.": "Bấm vào nút trong cột VAI TRÒ để thay đổi quyền của người sử dụng.", "Clipboard write permission denied. Please check your browser settings to grant the necessary access.": "Quyền ghi vào clipboard bị từ chối. Vui lòng kiểm tra cài đặt trên trình duyệt của bạn để được cấp quyền truy cập cần thiết.", "Clone": "Nhân bản", - "Clone Chat": "", - "Clone of {{TITLE}}": "", + "Clone Chat": "Nhân bản Chat", + "Clone of {{TITLE}}": "Bản sao của {{TITLE}}", "Close": "Đóng", - "Code execution": "", - "Code Execution": "", - "Code Execution Engine": "", - "Code Execution Timeout": "", + "Code execution": "Thực thi mã", + "Code Execution": "Thực thi Mã", + "Code Execution Engine": "Engine Thực thi Mã", + "Code Execution Timeout": "Thời gian chờ Thực thi Mã", "Code formatted successfully": "Mã được định dạng thành công", - "Code Interpreter": "", - "Code Interpreter Engine": "", - "Code Interpreter Prompt Template": "", - "Collapse": "", + "Code Interpreter": "Trình thông dịch Mã", + "Code Interpreter Engine": "Engine Trình thông dịch Mã", + "Code Interpreter Prompt Template": "Mẫu Prompt Trình thông dịch Mã", + "Collapse": "Thu gọn", "Collection": "Tổng hợp mọi tài liệu", - "Color": "", + "Color": "Màu sắc", "ComfyUI": "ComfyUI", - "ComfyUI API Key": "", + "ComfyUI API Key": "Khóa API ComfyUI", "ComfyUI Base URL": "ComfyUI Base URL", "ComfyUI Base URL is required.": "Base URL của ComfyUI là bắt buộc.", - "ComfyUI Workflow": "", - "ComfyUI Workflow Nodes": "", + "ComfyUI Workflow": "Quy trình làm việc ComfyUI", + "ComfyUI Workflow Nodes": "Các nút Quy trình làm việc ComfyUI", "Command": "Lệnh", - "Completions": "", + "Completions": "Hoàn thành", "Concurrent Requests": "Các truy vấn đồng thời", - "Configure": "", + "Configure": "Cấu hình", "Confirm": "Xác nhận", "Confirm Password": "Xác nhận Mật khẩu", "Confirm your action": "Xác nhận hành động của bạn", - "Confirm your new password": "", - "Connect to your own OpenAI compatible API endpoints.": "", - "Connect to your own OpenAPI compatible external tool servers.": "", - "Connection failed": "", - "Connection successful": "", + "Confirm your new password": "Xác nhận mật khẩu mới của bạn", + "Connect to your own OpenAI compatible API endpoints.": "Kết nối với các điểm cuối API tương thích OpenAI của riêng bạn.", + "Connect to your own OpenAPI compatible external tool servers.": "Kết nối với các máy chủ công cụ bên ngoài tương thích OpenAPI của riêng bạn.", + "Connection failed": "Kết nối thất bại", + "Connection successful": "Kết nối thành công", "Connections": "Kết nối", - "Connections saved successfully": "", - "Constrains effort on reasoning for reasoning models. Only applicable to reasoning models from specific providers that support reasoning effort.": "", + "Connections saved successfully": "Đã lưu kết nối thành công", + "Constrains effort on reasoning for reasoning models. Only applicable to reasoning models from specific providers that support reasoning effort.": "Hạn chế nỗ lực suy luận cho các mô hình suy luận. Chỉ áp dụng cho các mô hình suy luận từ các nhà cung cấp cụ thể hỗ trợ nỗ lực suy luận.", "Contact Admin for WebUI Access": "Liên hệ với Quản trị viên để được cấp quyền truy cập", "Content": "Nội dung", - "Content Extraction Engine": "", + "Content Extraction Engine": "Engine Trích xuất Nội dung", "Context Length": "Độ dài ngữ cảnh (Context Length)", "Continue Response": "Tiếp tục trả lời", "Continue with {{provider}}": "Tiếp tục với {{provider}}", - "Continue with Email": "", - "Continue with LDAP": "", - "Control how message text is split for TTS requests. 'Punctuation' splits into sentences, 'paragraphs' splits into paragraphs, and 'none' keeps the message as a single string.": "", - "Control the repetition of token sequences in the generated text. A higher value (e.g., 1.5) will penalize repetitions more strongly, while a lower value (e.g., 1.1) will be more lenient. At 1, it is disabled.": "", - "Controls": "", - "Controls the balance between coherence and diversity of the output. A lower value will result in more focused and coherent text.": "", + "Continue with Email": "Tiếp tục với Email", + "Continue with LDAP": "Tiếp tục với 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.": "Kiểm soát cách văn bản tin nhắn được chia nhỏ cho các yêu cầu TTS. 'Dấu câu' chia thành câu, 'đoạn văn' chia thành đoạn văn và 'không' giữ tin nhắn thành một chuỗi duy nhất.", + "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.": "Kiểm soát sự lặp lại của các chuỗi token trong văn bản được tạo. Giá trị cao hơn (ví dụ: 1.5) sẽ phạt sự lặp lại mạnh hơn, trong khi giá trị thấp hơn (ví dụ: 1.1) sẽ khoan dung hơn. Tại 1, nó bị vô hiệu hóa.", + "Controls": "Điều khiển", + "Controls the balance between coherence and diversity of the output. A lower value will result in more focused and coherent text.": "Kiểm soát sự cân bằng giữa tính mạch lạc và sự đa dạng của đầu ra. Giá trị thấp hơn sẽ dẫn đến văn bản tập trung và mạch lạc hơn.", "Copied": "Đã sao chép", "Copied shared chat URL to clipboard!": "Đã sao chép link chia sẻ trò chuyện vào clipboard!", - "Copied to clipboard": "", + "Copied to clipboard": "Đã sao chép vào clipboard", "Copy": "Sao chép", "Copy last code block": "Sao chép khối mã cuối cùng", "Copy last response": "Sao chép phản hồi cuối cùng", "Copy Link": "Sao chép link", - "Copy to clipboard": "", + "Copy to clipboard": "Sao chép vào clipboard", "Copying to clipboard was successful!": "Sao chép vào clipboard thành công!", - "CORS must be properly configured by the provider to allow requests from Open WebUI.": "", - "Create": "", - "Create a knowledge base": "", + "CORS must be properly configured by the provider to allow requests from Open WebUI.": "CORS phải được cấu hình đúng bởi nhà cung cấp để cho phép các yêu cầu từ Open WebUI.", + "Create": "Tạo", + "Create a knowledge base": "Tạo cơ sở kiến thức", "Create a model": "Tạo model", "Create Account": "Tạo Tài khoản", - "Create Admin Account": "", - "Create Channel": "", - "Create Group": "", - "Create Knowledge": "", + "Create Admin Account": "Tạo Tài khoản Quản trị", + "Create Channel": "Tạo Kênh", + "Create Group": "Tạo Nhóm", + "Create Knowledge": "Tạo Kiến thức", "Create new key": "Tạo key mới", "Create new secret key": "Tạo key bí mật mới", "Created at": "Được tạo vào lúc", "Created At": "Tạo lúc", "Created by": "Tạo bởi", "CSV Import": "Nạp CSV", - "Ctrl+Enter to Send": "", + "Ctrl+Enter to Send": "Ctrl+Enter để Gửi", "Current Model": "Mô hình hiện tại", "Current Password": "Mật khẩu hiện tại", "Custom": "Tùy chỉnh", - "Danger Zone": "", + "Danger Zone": "Vùng Nguy hiểm", "Dark": "Tối", "Database": "Cơ sở dữ liệu", "December": "Tháng 12", "Default": "Mặc định", - "Default (Open AI)": "", + "Default (Open AI)": "Mặc định (Open AI)", "Default (SentenceTransformers)": "Mặc định (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.": "Chế độ mặc định hoạt động với nhiều loại mô hình hơn bằng cách gọi các công cụ một lần trước khi thực thi. Chế độ gốc tận dụng khả năng gọi công cụ tích hợp sẵn của mô hình, nhưng yêu cầu mô hình phải hỗ trợ tính năng này vốn có.", "Default Model": "Model mặc định", "Default model updated": "Mô hình mặc định đã được cập nhật", - "Default Models": "", - "Default permissions": "", - "Default permissions updated successfully": "", + "Default Models": "Các Mô hình Mặc định", + "Default permissions": "Quyền mặc định", + "Default permissions updated successfully": "Đã cập nhật quyền mặc định thành công", "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 to 389 or 636 if TLS is enabled": "Mặc định là 389 hoặc 636 nếu TLS được bật", + "Default to ALL": "Mặc định là TẤT CẢ", + "Default to segmented retrieval for focused and relevant content extraction, this is recommended for most cases.": "Mặc định truy xuất phân đoạn để trích xuất nội dung tập trung và phù hợp, điều này được khuyến nghị cho hầu hết các trường hợp.", "Default User Role": "Vai trò mặc định", "Delete": "Xóa", "Delete a model": "Xóa mô hình", "Delete All Chats": "Xóa mọi cuộc Chat", - "Delete All Models": "", + "Delete All Models": "Xóa Tất cả Mô hình", "Delete chat": "Xóa nội dung chat", "Delete Chat": "Xóa chat", "Delete chat?": "Xóa chat?", - "Delete folder?": "", + "Delete folder?": "Xóa thư mục?", "Delete function?": "Xóa function?", - "Delete Message": "", - "Delete message?": "", + "Delete Message": "Xóa Tin nhắn", + "Delete message?": "Xóa tin nhắn?", "Delete prompt?": "Xóa prompt?", "delete this link": "Xóa link này", "Delete tool?": "Xóa tool?", "Delete User": "Xóa người dùng", "Deleted {{deleteModelTag}}": "Đã xóa {{deleteModelTag}}", "Deleted {{name}}": "Đã xóa {{name}}", - "Deleted User": "", - "Describe your knowledge base and objectives": "", + "Deleted User": "Người dùng đã xóa", + "Describe your knowledge base and objectives": "Mô tả cơ sở kiến thức và mục tiêu của bạn", "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": "", - "Direct Tool Servers": "", + "Direct": "Trực tiếp", + "Direct Connections": "Kết nối Trực tiếp", + "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "Kết nối Trực tiếp cho phép người dùng kết nối với các điểm cuối API tương thích OpenAI của riêng họ.", + "Direct Connections settings updated": "Đã cập nhật cài đặt Kết nối Trực tiếp", + "Direct Tool Servers": "Máy chủ Công cụ Trực tiếp", "Disabled": "Đã tắt", "Discover a function": "Khám phá function", "Discover a model": "Khám phá model", "Discover a prompt": "Khám phá thêm prompt mới", "Discover a tool": "Khám phá tool", - "Discover how to use Open WebUI and seek support from the community.": "", - "Discover wonders": "", + "Discover how to use Open WebUI and seek support from the community.": "Khám phá cách sử dụng Open WebUI và tìm kiếm sự hỗ trợ từ cộng đồng.", + "Discover wonders": "Khám phá những điều kỳ diệu", "Discover, download, and explore custom functions": "Tìm kiếm, tải về và khám phá thêm các function tùy chỉnh", "Discover, download, and explore custom prompts": "Tìm kiếm, tải về và khám phá thêm các prompt tùy chỉnh", "Discover, download, and explore custom tools": "Tìm kiếm, tải về và khám phá thêm các tool tùy chỉnh", "Discover, download, and explore model presets": "Tìm kiếm, tải về và khám phá thêm các model presets", "Dismissible": "Có thể loại bỏ", - "Display": "", + "Display": "Hiển thị", "Display Emoji in Call": "Hiển thị Emoji trong cuộc gọi", "Display the username instead of You in the Chat": "Hiển thị tên người sử dụng thay vì 'Bạn' trong nội dung chat", - "Displays citations in the response": "", - "Dive into knowledge": "", + "Displays citations in the response": "Hiển thị trích dẫn trong phản hồi", + "Dive into knowledge": "Đi sâu vào kiến thức", "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.": "", + "Docling": "Docling", + "Docling Server URL required.": "Yêu cầu URL Máy chủ Docling.", "Document": "Tài liệu", - "Document Intelligence": "", - "Document Intelligence endpoint and key required.": "", + "Document Intelligence": "Trí tuệ Tài liệu", + "Document Intelligence endpoint and key required.": "Yêu cầu endpoint và khóa Trí tuệ Tài liệu.", "Documentation": "Tài liệu", "Documents": "Tài liệu", "does not make any external connections, and your data stays securely on your locally hosted server.": "không thực hiện bất kỳ kết nối ngoài nào, và dữ liệu của bạn vẫn được lưu trữ an toàn trên máy chủ lưu trữ cục bộ của bạn.", - "Domain Filter List": "", + "Domain Filter List": "Danh sách Lọc Tên miền", "Don't have an account?": "Không có tài khoản?", "don't install random functions from sources you don't trust.": "không cài đặt các function từ các nguồn mà bạn không tin tưởng.", "don't install random tools from sources you don't trust.": "không cài đặt các tools từ các nguồn mà bạn không tin tưởng.", "Don't like the style": "Không thích phong cách trả lời", "Done": "Hoàn thành", "Download": "Tải về", - "Download as SVG": "", + "Download as SVG": "Tải xuống dưới dạng SVG", "Download canceled": "Đã hủy download", "Download Database": "Tải xuống Cơ sở dữ liệu", - "Drag and drop a file to upload or select a file to view": "", - "Draw": "", + "Drag and drop a file to upload or select a file to view": "Kéo và thả tệp để tải lên hoặc chọn tệp để xem", + "Draw": "Vẽ", "Drop any files here to add to the conversation": "Thả bất kỳ tệp nào ở đây để thêm vào nội dung chat", "e.g. '30s','10m'. Valid time units are 's', 'm', 'h'.": "vd: '30s','10m'. Đơn vị thời gian hợp lệ là 's', 'm', 'h'.", - "e.g. \"json\" or a JSON schema": "", - "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. \"json\" or a JSON schema": "ví dụ: \"json\" hoặc một lược đồ JSON", + "e.g. 60": "vd: 60", + "e.g. A filter to remove profanity from text": "vd: Bộ lọc để loại bỏ từ ngữ tục tĩu khỏi văn bản", + "e.g. My Filter": "vd: Bộ lọc của tôi", + "e.g. My Tools": "vd: Công cụ của tôi", + "e.g. my_filter": "vd: bo_loc_cua_toi", + "e.g. my_tools": "vd: cong_cu_cua_toi", + "e.g. Tools for performing various operations": "vd: Các công cụ để thực hiện các hoạt động khác nhau", "Edit": "Chỉnh sửa", - "Edit Arena Model": "", - "Edit Channel": "", - "Edit Connection": "", - "Edit Default Permissions": "", + "Edit Arena Model": "Chỉnh sửa Mô hình Arena", + "Edit Channel": "Chỉnh sửa Kênh", + "Edit Connection": "Chỉnh sửa Kết nối", + "Edit Default Permissions": "Chỉnh sửa Quyền Mặc định", "Edit Memory": "Sửa Memory", "Edit User": "Thay đổi thông tin người sử dụng", - "Edit User Group": "", - "ElevenLabs": "", + "Edit User Group": "Chỉnh sửa Nhóm Người dùng", + "ElevenLabs": "ElevenLabs", "Email": "Email", - "Embark on adventures": "", - "Embedding": "", - "Embedding Batch Size": "", + "Embark on adventures": "Bắt đầu những cuộc phiêu lưu", + "Embedding": "Embedding", + "Embedding Batch Size": "Kích thước Lô Embedding", "Embedding Model": "Mô hình embedding", "Embedding Model Engine": "Trình xử lý embedding", "Embedding model set to \"{{embedding_model}}\"": "Mô hình embedding đã được thiết lập thành \"{{embedding_model}}\"", - "Enable API Key": "", - "Enable autocomplete generation for chat messages": "", - "Enable Code Execution": "", - "Enable Code Interpreter": "", + "Enable API Key": "Bật Khóa API", + "Enable autocomplete generation for chat messages": "Bật tạo tự động hoàn thành cho tin nhắn chat", + "Enable Code Execution": "Bật Thực thi Mã", + "Enable Code Interpreter": "Bật Trình thông dịch Mã", "Enable Community Sharing": "Cho phép Chia sẻ Cộng đồng", - "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.": "", - "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.": "", + "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.": "Bật Khóa Bộ nhớ (mlock) để ngăn dữ liệu mô hình bị hoán đổi ra khỏi RAM. Tùy chọn này khóa tập trang làm việc của mô hình vào RAM, đảm bảo rằng chúng sẽ không bị hoán đổi ra đĩa. Điều này có thể giúp duy trì hiệu suất bằng cách tránh lỗi trang và đảm bảo truy cập dữ liệu nhanh chóng.", + "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.": "Bật Ánh xạ Bộ nhớ (mmap) để tải dữ liệu mô hình. Tùy chọn này cho phép hệ thống sử dụng bộ nhớ đĩa như một phần mở rộng của RAM bằng cách coi các tệp đĩa như thể chúng ở trong RAM. Điều này có thể cải thiện hiệu suất mô hình bằng cách cho phép truy cập dữ liệu nhanh hơn. Tuy nhiên, nó có thể không hoạt động chính xác với tất cả các hệ thống và có thể tiêu tốn một lượng đáng kể dung lượng đĩa.", "Enable Message Rating": "Cho phép phản hồi, đánh giá", - "Enable Mirostat sampling for controlling perplexity.": "", + "Enable Mirostat sampling for controlling perplexity.": "Bật lấy mẫu Mirostat để kiểm soát perplexity.", "Enable New Sign Ups": "Cho phép đăng ký mới", "Enabled": "Đã bật", - "Enforce Temporary Chat": "", + "Enforce Temporary Chat": "Bắt buộc Chat nháp", "Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Đảm bảo tệp CSV của bạn bao gồm 4 cột theo thứ tự sau: Name, Email, Password, Role.", "Enter {{role}} message here": "Nhập yêu cầu của {{role}} ở đây", "Enter a detail about yourself for your LLMs to recall": "Nhập chi tiết về bản thân của bạn để LLMs có thể nhớ", "Enter api auth string (e.g. username:password)": "Nhập chuỗi xác thực api (ví dụ: username: mật khẩu)", - "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": "Nhập DN Ứng dụng", + "Enter Application DN Password": "Nhập Mật khẩu DN Ứng dụng", + "Enter Bing Search V7 Endpoint": "Nhập Endpoint Bing Search V7", + "Enter Bing Search V7 Subscription Key": "Nhập Khóa đăng ký Bing Search V7", + "Enter Bocha Search API Key": "Nhập Khóa API Bocha Search", "Enter Brave Search API Key": "Nhập API key cho Brave Search", - "Enter certificate path": "", - "Enter CFG Scale (e.g. 7.0)": "", + "Enter certificate path": "Nhập đường dẫn chứng chỉ", + "Enter CFG Scale (e.g. 7.0)": "Nhập Thang CFG (vd: 7.0)", "Enter Chunk Overlap": "Nhập Chunk chồng lấn (overlap)", "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)": "", - "Enter Exa API Key": "", + "Enter comma-seperated \"token:bias_value\" pairs (example: 5432:100, 413:-100)": "Nhập các cặp \"token:giá_trị_bias\" được phân tách bằng dấu phẩy (ví dụ: 5432:100, 413:-100)", + "Enter description": "Nhập mô tả", + "Enter Docling Server URL": "Nhập URL Máy chủ Docling", + "Enter Document Intelligence Endpoint": "Nhập Endpoint Trí tuệ Tài liệu", + "Enter Document Intelligence Key": "Nhập Khóa Trí tuệ Tài liệu", + "Enter domains separated by commas (e.g., example.com,site.org)": "Nhập các tên miền được phân tách bằng dấu phẩy (ví dụ: example.com,site.org)", + "Enter Exa API Key": "Nhập Khóa API Exa", "Enter Github Raw URL": "Nhập URL cho Github Raw", "Enter Google PSE API Key": "Nhập Google PSE API Key", "Enter Google PSE Engine Id": "Nhập Google PSE Engine Id", "Enter Image Size (e.g. 512x512)": "Nhập Kích thước ảnh (vd: 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": "Nhập Khóa API Jina", + "Enter Jupyter Password": "Nhập Mật khẩu Jupyter", + "Enter Jupyter Token": "Nhập Token Jupyter", + "Enter Jupyter URL": "Nhập URL Jupyter", + "Enter Kagi Search API Key": "Nhập Khóa API Kagi Search", + "Enter Key Behavior": "Nhập Hành vi phím", "Enter language codes": "Nhập mã ngôn ngữ", - "Enter Mistral API Key": "", - "Enter Model ID": "", + "Enter Mistral API Key": "Nhập Khóa API Mistral", + "Enter Model ID": "Nhập ID Mô hình", "Enter model tag (e.g. {{modelTag}})": "Nhập thẻ mô hình (vd: {{modelTag}})", - "Enter Mojeek Search API Key": "", + "Enter Mojeek Search API Key": "Nhập Khóa API Mojeek Search", "Enter Number of Steps (e.g. 50)": "Nhập số Steps (vd: 50)", - "Enter Perplexity API Key": "", - "Enter proxy URL (e.g. https://user:password@host:port)": "", - "Enter reasoning effort": "", - "Enter Sampler (e.g. Euler a)": "", - "Enter Scheduler (e.g. Karras)": "", + "Enter Perplexity API Key": "Nhập Khóa API Perplexity", + "Enter proxy URL (e.g. https://user:password@host:port)": "Nhập URL proxy (vd: https://user:password@host:port)", + "Enter reasoning effort": "Nhập nỗ lực suy luận", + "Enter Sampler (e.g. Euler a)": "Nhập Sampler (vd: Euler a)", + "Enter Scheduler (e.g. Karras)": "Nhập Scheduler (vd: Karras)", "Enter Score": "Nhập Score", - "Enter SearchApi API Key": "", - "Enter SearchApi Engine": "", + "Enter SearchApi API Key": "Nhập Khóa API SearchApi", + "Enter SearchApi Engine": "Nhập Engine SearchApi", "Enter Searxng Query URL": "Nhập Query URL cho Searxng", - "Enter Seed": "", - "Enter SerpApi API Key": "", - "Enter SerpApi Engine": "", + "Enter Seed": "Nhập Seed", + "Enter SerpApi API Key": "Nhập Khóa API SerpApi", + "Enter SerpApi Engine": "Nhập Engine SerpApi", "Enter Serper API Key": "Nhập Serper API Key", "Enter Serply API Key": "Nhập Serply API Key", "Enter Serpstack API Key": "Nhập Serpstack API Key", - "Enter server host": "", - "Enter server label": "", - "Enter server port": "", + "Enter server host": "Nhập host máy chủ", + "Enter server label": "Nhập nhãn máy chủ", + "Enter server port": "Nhập cổng máy chủ", "Enter stop sequence": "Nhập stop sequence", "Enter system prompt": "Nhập system prompt", - "Enter system prompt here": "", + "Enter system prompt here": "Nhập system prompt tại đây", "Enter Tavily API Key": "Nhập Tavily API Key", - "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.": "Nhập URL công khai của WebUI của bạn. URL này sẽ được sử dụng để tạo liên kết trong các thông báo.", "Enter Tika Server URL": "Nhập URL cho Tika Server", - "Enter timeout in seconds": "", - "Enter to Send": "", + "Enter timeout in seconds": "Nhập thời gian chờ tính bằng giây", + "Enter to Send": "Enter để Gửi", "Enter Top K": "Nhập Top K", - "Enter Top K Reranker": "", + "Enter Top K Reranker": "Nhập Top K Reranker", "Enter URL (e.g. http://127.0.0.1:7860/)": "Nhập URL (vd: http://127.0.0.1:7860/)", "Enter URL (e.g. http://localhost:11434)": "Nhập URL (vd: http://localhost:11434)", - "Enter your current password": "", + "Enter your current password": "Nhập mật khẩu hiện tại của bạn", "Enter Your Email": "Nhập Email của bạn", "Enter Your Full Name": "Nhập Họ và Tên của bạn", "Enter your message": "Nhập tin nhắn của bạn", - "Enter your name": "", - "Enter your new password": "", + "Enter your name": "Nhập tên của bạn", + "Enter your new password": "Nhập mật khẩu mới của bạn", "Enter Your Password": "Nhập Mật khẩu của bạn", "Enter Your Role": "Nhập vai trò của bạn", - "Enter Your Username": "", - "Enter your webhook URL": "", + "Enter Your Username": "Nhập Tên đăng nhập của bạn", + "Enter your webhook URL": "Nhập URL webhook của bạn", "Error": "Lỗi", - "ERROR": "", - "Error accessing Google Drive: {{error}}": "", - "Error uploading file: {{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.": "", - "Exclude": "", - "Execute code for analysis": "", - "Executing **{{NAME}}**...": "", - "Expand": "", + "ERROR": "LỖI", + "Error accessing Google Drive: {{error}}": "Lỗi truy cập Google Drive: {{error}}", + "Error uploading file: {{error}}": "Lỗi tải lên tệp: {{error}}", + "Evaluations": "Đánh giá", + "Exa API Key": "Khóa API Exa", + "Example: (&(objectClass=inetOrgPerson)(uid=%s))": "Ví dụ: (&(objectClass=inetOrgPerson)(uid=%s))", + "Example: ALL": "Ví dụ: TẤT CẢ", + "Example: mail": "Ví dụ: mail", + "Example: ou=users,dc=foo,dc=example": "Ví dụ: ou=users,dc=foo,dc=example", + "Example: sAMAccountName or uid or userPrincipalName": "Ví dụ: sAMAccountName hoặc uid hoặc userPrincipalName", + "Exceeded the number of seats in your license. Please contact support to increase the number of seats.": "Đã vượt quá số lượng chỗ ngồi trong giấy phép của bạn. Vui lòng liên hệ bộ phận hỗ trợ để tăng số lượng chỗ ngồi.", + "Exclude": "Loại trừ", + "Execute code for analysis": "Thực thi mã để phân tích", + "Executing **{{NAME}}**...": "Đang thực thi **{{NAME}}**...", + "Expand": "Mở rộng", "Experimental": "Thử nghiệm", - "Explain": "", - "Explain this section to me in more detail": "", - "Explore the cosmos": "", + "Explain": "Giải thích", + "Explain this section to me in more detail": "Giải thích phần này chi tiết hơn cho tôi", + "Explore the cosmos": "Khám phá vũ trụ", "Export": "Xuất khẩu", - "Export All Archived Chats": "", + "Export All Archived Chats": "Xuất Tất cả Chat Đã Lưu trữ", "Export All Chats (All Users)": "Tải về tất cả nội dung chat (tất cả mọi người)", "Export chat (.json)": "Tải chat (.json)", "Export Chats": "Tải nội dung chat về máy", - "Export Config to JSON File": "", + "Export Config to JSON File": "Xuất Cấu hình ra Tệp JSON", "Export Functions": "Tải Functions về máy", "Export Models": "Tải Models về máy", - "Export Presets": "", + "Export Presets": "Xuất các Preset", "Export Prompts": "Tải các prompt về máy", - "Export to CSV": "", + "Export to CSV": "Xuất ra CSV", "Export Tools": "Tải Tools về máy", - "External": "", + "External": "Bên ngoài", "External Models": "Các model ngoài", - "Failed to add file.": "", - "Failed to connect to {{URL}} OpenAPI tool server": "", + "Failed to add file.": "Không thể thêm tệp.", + "Failed to connect to {{URL}} OpenAPI tool server": "Không thể kết nối đến máy chủ công cụ OpenAPI {{URL}}", "Failed to create API Key.": "Lỗi khởi tạo API Key", - "Failed to fetch models": "", + "Failed to fetch models": "Không thể lấy danh sách mô hình", "Failed to read clipboard contents": "Không thể đọc nội dung clipboard", - "Failed to save connections": "", - "Failed to save models configuration": "", + "Failed to save connections": "Không thể lưu các kết nối", + "Failed to save models configuration": "Không thể lưu cấu hình mô hình", "Failed to update settings": "Lỗi khi cập nhật các cài đặt", - "Failed to upload file.": "", - "Features": "", - "Features Permissions": "", + "Failed to upload file.": "Không thể tải lên tệp.", + "Features": "Tính năng", + "Features Permissions": "Quyền Tính năng", "February": "Tháng 2", - "Feedback History": "", - "Feedbacks": "", + "Feedback History": "Lịch sử Phản hồi", + "Feedbacks": "Các phản hồi", "Feel free to add specific details": "Mô tả chi tiết về chất lượng của câu hỏi và phương án trả lời", "File": "Tệp", - "File added successfully.": "", - "File content updated successfully.": "", + "File added successfully.": "Thêm tệp thành công.", + "File content updated successfully.": "Nội dung tệp được cập nhật thành công.", "File Mode": "Chế độ Tệp văn bản", "File not found.": "Không tìm thấy tệp.", - "File removed successfully.": "", - "File size should not exceed {{maxSize}} MB.": "", - "File uploaded successfully": "", + "File removed successfully.": "Xóa tệp thành công.", + "File size should not exceed {{maxSize}} MB.": "Kích thước tệp không được vượt quá {{maxSize}} MB.", + "File uploaded successfully": "Tải tệp lên thành công", "Files": "Tệp", "Filter is now globally disabled": "Bộ lọc hiện đã bị vô hiệu hóa trên toàn hệ thống", "Filter is now globally enabled": "Bộ lọc hiện được kích hoạt trên toàn hệ thống", @@ -526,168 +526,168 @@ "Fingerprint spoofing detected: Unable to use initials as avatar. Defaulting to default profile image.": "Phát hiện giả mạo vân tay: Không thể sử dụng tên viết tắt làm hình đại diện. Mặc định là hình ảnh hồ sơ mặc định.", "Fluidly stream large external response chunks": "Truyền tải các khối phản hồi bên ngoài lớn một cách trôi chảy", "Focus chat input": "Tập trung vào nội dung chat", - "Folder deleted successfully": "", - "Folder name cannot be empty": "", - "Folder name cannot be empty.": "", - "Folder name updated successfully": "", + "Folder deleted successfully": "Xóa thư mục thành công", + "Folder name cannot be empty": "Tên thư mục không được để trống", + "Folder name cannot be empty.": "Tên thư mục không được để trống.", + "Folder name updated successfully": "Cập nhật tên thư mục thành công", "Followed instructions perfectly": "Tuân theo chỉ dẫn một cách hoàn hảo", - "Forge new paths": "", - "Form": "", - "Format your variables using brackets like this:": "", - "Forwards system user session credentials to authenticate": "", + "Forge new paths": "Mở ra những con đường mới", + "Form": "Biểu mẫu", + "Format your variables using brackets like this:": "Định dạng các biến của bạn bằng dấu ngoặc như thế này:", + "Forwards system user session credentials to authenticate": "Chuyển tiếp thông tin xác thực phiên người dùng hệ thống để xác thực", "Frequency Penalty": "Hình phạt tần số", - "Full Context Mode": "", - "Function": "", - "Function Calling": "", + "Full Context Mode": "Chế độ Ngữ cảnh Đầy đủ", + "Function": "Function", + "Function Calling": "Gọi Function", "Function created successfully": "Function được tạo thành công", "Function deleted successfully": "Function đã bị xóa", - "Function Description": "", - "Function ID": "", + "Function Description": "Mô tả Function", + "Function ID": "ID Function", "Function is now globally disabled": "Function hiện đã bị vô hiệu hóa trên toàn hệ thống", "Function is now globally enabled": "Function đã được kích hoạt trên toàn hệ thống", - "Function Name": "", + "Function Name": "Tên Function", "Function updated successfully": "Function được cập nhật thành công", - "Functions": "", + "Functions": "Functions", "Functions allow arbitrary code execution": "Các Function cho phép thực thi mã tùy ý", "Functions allow arbitrary code execution.": "Các Function cho phép thực thi mã tùy ý.", "Functions imported successfully": "Các function đã được nạp thành công", - "Gemini": "", - "Gemini API Config": "", - "Gemini API Key is required.": "", + "Gemini": "Gemini", + "Gemini API Config": "Cấu hình API Gemini", + "Gemini API Key is required.": "Yêu cầu Khóa API Gemini.", "General": "Cài đặt chung", - "Generate an image": "", + "Generate an image": "Tạo một hình ảnh", "Generate Image": "Sinh ảnh", - "Generate prompt pair": "", + "Generate prompt pair": "Tạo cặp prompt", "Generating search query": "Tạo truy vấn tìm kiếm", - "Get started": "", - "Get started with {{WEBUI_NAME}}": "", + "Get started": "Bắt đầu", + "Get started with {{WEBUI_NAME}}": "Bắt đầu với {{WEBUI_NAME}}", "Global": "Toàn hệ thống", "Good Response": "Trả lời tốt", - "Google Drive": "", + "Google Drive": "Google Drive", "Google PSE API Key": "Khóa API Google PSE", "Google PSE Engine Id": "ID công cụ Google PSE", - "Group created successfully": "", - "Group deleted successfully": "", - "Group Description": "", - "Group Name": "", - "Group updated successfully": "", - "Groups": "", + "Group created successfully": "Đã tạo nhóm thành công", + "Group deleted successfully": "Đã xóa nhóm thành công", + "Group Description": "Mô tả Nhóm", + "Group Name": "Tên Nhóm", + "Group updated successfully": "Đã cập nhật nhóm thành công", + "Groups": "Nhóm", "Haptic Feedback": "Phản hồi xúc giác", "has no conversations.": "không có hội thoại", "Hello, {{name}}": "Xin chào {{name}}", "Help": "Trợ giúp", - "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!": "Giúp chúng tôi tạo bảng xếp hạng cộng đồng tốt nhất bằng cách chia sẻ lịch sử phản hồi của bạn!", + "Hex Color": "Màu Hex", + "Hex Color - Leave empty for default color": "Màu Hex - Để trống để dùng màu mặc định", "Hide": "Ẩn", - "Hide Model": "", - "Home": "", - "Host": "", + "Hide Model": "Ẩn Mô hình", + "Home": "Trang chủ", + "Host": "Host", "How can I help you today?": "Tôi có thể giúp gì cho bạn hôm nay?", - "How would you rate this response?": "", + "How would you rate this response?": "Bạn đánh giá phản hồi này thế nào?", "Hybrid Search": "Tìm kiếm Hybrid", "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.": "Tôi thừa nhận rằng tôi đã đọc và tôi hiểu ý nghĩa của hành động của mình. Tôi nhận thức được những rủi ro liên quan đến việc thực thi mã tùy ý và tôi đã xác minh độ tin cậy của nguồn.", - "ID": "", - "Ignite curiosity": "", - "Image": "", - "Image Compression": "", - "Image Generation": "", + "ID": "ID", + "Ignite curiosity": "Khơi dậy sự tò mò", + "Image": "Ảnh", + "Image Compression": "Nén Ảnh", + "Image Generation": "Tạo Ảnh", "Image Generation (Experimental)": "Tạo ảnh (thử nghiệm)", "Image Generation Engine": "Công cụ tạo ảnh", - "Image Max Compression Size": "", - "Image Prompt Generation": "", - "Image Prompt Generation Prompt": "", + "Image Max Compression Size": "Kích thước Nén Ảnh Tối đa", + "Image Prompt Generation": "Tạo Prompt Ảnh", + "Image Prompt Generation Prompt": "Prompt Tạo Prompt Ảnh", "Image Settings": "Cài đặt ảnh", "Images": "Hình ảnh", "Import Chats": "Nạp lại nội dung chat", - "Import Config from JSON File": "", + "Import Config from JSON File": "Nhập Cấu hình từ Tệp JSON", "Import Functions": "Nạp Functions", "Import Models": "Nạp model", - "Import Presets": "", + "Import Presets": "Nhập các Preset", "Import Prompts": "Nạp các prompt lên hệ thống", "Import Tools": "Nạp Tools", - "Include": "", - "Include `--api-auth` flag when running stable-diffusion-webui": "", + "Include": "Bao gồm", + "Include `--api-auth` flag when running stable-diffusion-webui": "Bao gồm cờ `--api-auth` khi chạy stable-diffusion-webui", "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.": "", + "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.": "Ảnh hưởng đến tốc độ thuật toán phản hồi lại phản hồi từ văn bản được tạo. Tốc độ học thấp hơn sẽ dẫn đến các điều chỉnh chậm hơn, trong khi tốc độ học cao hơn sẽ làm cho thuật toán phản ứng nhanh hơn.", "Info": "Thông tin", - "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "", + "Inject the entire content as context for comprehensive processing, this is recommended for complex queries.": "Đưa toàn bộ nội dung vào làm ngữ cảnh để xử lý toàn diện, điều này được khuyến nghị cho các truy vấn phức tạp.", "Input commands": "Nhập các câu lệnh", - "Install from Github URL": "Cài đặt từ Github URL", + "Install from Github URL": "Cài đặt từ URL Github", "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", - "Integration": "", + "Integration": "Tích hợp", "Interface": "Giao diện", - "Invalid file format.": "", - "Invalid JSON schema": "", + "Invalid file format.": "Định dạng tệp không hợp lệ.", + "Invalid JSON schema": "Lược đồ JSON không hợp lệ", "Invalid Tag": "Tag không hợp lệ", - "is typing...": "", + "is typing...": "đang gõ...", "January": "Tháng 1", - "Jina API Key": "", + "Jina API Key": "Khóa API Jina", "join our Discord for help.": "tham gia Discord của chúng tôi để được trợ giúp.", "JSON": "JSON", "JSON Preview": "Xem trước JSON", "July": "Tháng 7", "June": "Tháng 6", - "Jupyter Auth": "", - "Jupyter URL": "", + "Jupyter Auth": "Xác thực Jupyter", + "Jupyter URL": "URL Jupyter", "JWT Expiration": "JWT Hết hạn", "JWT Token": "Token JWT", - "Kagi Search API Key": "", + "Kagi Search API Key": "Khóa API Kagi Search", "Keep Alive": "Giữ kết nối", - "Key": "", + "Key": "Khóa", "Keyboard shortcuts": "Phím tắt", "Knowledge": "Kiến thức", - "Knowledge Access": "", - "Knowledge created successfully.": "", - "Knowledge deleted successfully.": "", - "Knowledge Public Sharing": "", - "Knowledge reset successfully.": "", - "Knowledge updated successfully": "", - "Kokoro.js (Browser)": "", - "Kokoro.js Dtype": "", - "Label": "", - "Landing Page Mode": "", + "Knowledge Access": "Truy cập Kiến thức", + "Knowledge created successfully.": "Đã tạo kiến thức thành công.", + "Knowledge deleted successfully.": "Đã xóa kiến thức thành công.", + "Knowledge Public Sharing": "Chia sẻ Công khai Kiến thức", + "Knowledge reset successfully.": "Đã đặt lại kiến thức thành công.", + "Knowledge updated successfully": "Đã cập nhật kiến thức thành công", + "Kokoro.js (Browser)": "Kokoro.js (Trình duyệt)", + "Kokoro.js Dtype": "Kiểu dữ liệu Kokoro.js", + "Label": "Nhãn", + "Landing Page Mode": "Chế độ Trang Đích", "Language": "Ngôn ngữ", "Last Active": "Truy cập gần nhất", "Last Modified": "Lần sửa gần nhất", - "Last reply": "", - "LDAP": "", - "LDAP server updated": "", - "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 use the default prompt, or enter a custom prompt": "", - "Leave model field empty to use the default model.": "", - "License": "", + "Last reply": "Trả lời cuối", + "LDAP": "LDAP", + "LDAP server updated": "Đã cập nhật máy chủ LDAP", + "Leaderboard": "Bảng xếp hạng", + "Leave empty for unlimited": "Để trống nếu không giới hạn", + "Leave empty to include all models from \"{{url}}/api/tags\" endpoint": "Để trống để bao gồm tất cả các mô hình từ điểm cuối \"{{url}}/api/tags\"", + "Leave empty to include all models from \"{{url}}/models\" endpoint": "Để trống để bao gồm tất cả các mô hình từ điểm cuối \"{{url}}/models\"", + "Leave empty to include all models or select specific models": "Để trống để bao gồm tất cả các mô hình hoặc chọn các mô hình cụ thể", + "Leave empty to use the default prompt, or enter a custom prompt": "Để trống để sử dụng prompt mặc định, hoặc nhập prompt tùy chỉnh", + "Leave model field empty to use the default model.": "Để trống trường mô hình để sử dụng mô hình mặc định.", + "License": "Giấy phép", "Light": "Sáng", "Listening...": "Đang nghe...", - "Llama.cpp": "", + "Llama.cpp": "Llama.cpp", "LLMs can make mistakes. Verify important information.": "Hệ thống có thể tạo ra nội dung không chính xác hoặc sai. Hãy kiểm chứng kỹ lưỡng thông tin trước khi tiếp nhận và sử dụng.", - "Loader": "", - "Loading Kokoro.js...": "", - "Local": "", - "Local Models": "", - "Location access not allowed": "", - "Logit Bias": "", - "Lost": "", + "Loader": "Trình tải", + "Loading Kokoro.js...": "Đang tải Kokoro.js...", + "Local": "Cục bộ", + "Local Models": "Các Mô hình Cục bộ", + "Location access not allowed": "Không cho phép truy cập vị trí", + "Logit Bias": "Thiên vị Logit", + "Lost": "Thua", "LTR": "LTR", "Made by Open WebUI Community": "Được tạo bởi Cộng đồng OpenWebUI", "Make sure to enclose them with": "Hãy chắc chắn bao quanh chúng bằng", "Make sure to export a workflow.json file as API format from ComfyUI.": "Đảm bảo xuất tệp Workflow.json đúng format API của ComfyUI.", "Manage": "Quản lý", - "Manage Direct Connections": "", - "Manage Models": "", - "Manage Ollama": "", - "Manage Ollama API Connections": "", - "Manage OpenAI API Connections": "", + "Manage Direct Connections": "Quản lý Kết nối Trực tiếp", + "Manage Models": "Quản lý Mô hình", + "Manage Ollama": "Quản lý Ollama", + "Manage Ollama API Connections": "Quản lý Kết nối API Ollama", + "Manage OpenAI API Connections": "Quản lý Kết nối API OpenAI", "Manage Pipelines": "Quản lý Pipelines", - "Manage Tool Servers": "", + "Manage Tool Servers": "Quản lý Máy chủ Công cụ", "March": "Tháng 3", "Max Tokens (num_predict)": "Tokens tối đa (num_predict)", - "Max Upload Count": "", - "Max Upload Size": "", + "Max Upload Count": "Số lượng Tải lên Tối đa", + "Max Upload Size": "Kích thước Tải lên Tối đa", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Tối đa 3 mô hình có thể được tải xuống cùng lúc. Vui lòng thử lại sau.", "May": "Tháng 5", "Memories accessible by LLMs will be shown here.": "Memory có thể truy cập bởi LLMs sẽ hiển thị ở đây.", @@ -697,209 +697,209 @@ "Memory deleted successfully": "Memory đã bị loại bỏ", "Memory updated successfully": "Memory đã cập nhật thành công", "Merge Responses": "Hợp nhất các phản hồi", - "Message rating should be enabled to use this feature": "", + "Message rating should be enabled to use this feature": "Cần bật tính năng đánh giá tin nhắn để sử dụng tính năng này", "Messages you send after creating your link won't be shared. Users with the URL will be able to view the shared chat.": "Tin nhắn bạn gửi sau khi tạo liên kết sẽ không được chia sẻ. Người dùng có URL sẽ có thể xem cuộc trò chuyện được chia sẻ.", - "Min P": "", + "Min P": "Min P", "Minimum Score": "Score tối thiểu", "Mirostat": "Mirostat", "Mirostat Eta": "Mirostat Eta", "Mirostat Tau": "Mirostat Tau", - "Mistral OCR": "", - "Mistral OCR API Key required.": "", - "Model": "", + "Mistral OCR": "Mistral OCR", + "Mistral OCR API Key required.": "Yêu cầu Khóa API Mistral OCR.", + "Model": "Mô hình", "Model '{{modelName}}' has been successfully downloaded.": "Mô hình '{{modelName}}' đã được tải xuống thành công.", "Model '{{modelTag}}' is already in queue for downloading.": "Mô hình '{{modelTag}}' đã có trong hàng đợi để tải xuống.", "Model {{modelId}} not found": "Không tìm thấy Mô hình {{modelId}}", "Model {{modelName}} is not vision capable": "Model {{modelName}} không có khả năng nhìn", "Model {{name}} is now {{status}}": "Model {{name}} bây giờ là {{status}}", - "Model {{name}} is now hidden": "", - "Model {{name}} is now visible": "", - "Model accepts image inputs": "", + "Model {{name}} is now hidden": "Mô hình {{name}} hiện đã bị ẩn", + "Model {{name}} is now visible": "Mô hình {{name}} hiện có thể nhìn thấy", + "Model accepts image inputs": "Mô hình chấp nhận đầu vào hình ảnh", "Model created successfully!": "Model đã được tạo thành công", "Model filesystem path detected. Model shortname is required for update, cannot continue.": "Đường dẫn hệ thống tệp mô hình được phát hiện. Tên viết tắt mô hình là bắt buộc để cập nhật, không thể tiếp tục.", - "Model Filtering": "", + "Model Filtering": "Lọc Mô hình", "Model ID": "ID mẫu", - "Model IDs": "", - "Model Name": "", + "Model IDs": "Các ID Mô hình", + "Model Name": "Tên Mô hình", "Model not selected": "Chưa chọn Mô hình", "Model Params": "Mô hình Params", - "Model Permissions": "", + "Model Permissions": "Quyền Mô hình", "Model updated successfully": "Model đã được cập nhật thành công", "Modelfile Content": "Nội dung Tệp Mô hình", "Models": "Mô hình", - "Models Access": "", - "Models configuration saved successfully": "", - "Models Public Sharing": "", - "Mojeek Search API Key": "", - "more": "", + "Models Access": "Truy cập Mô hình", + "Models configuration saved successfully": "Đã lưu cấu hình mô hình thành công", + "Models Public Sharing": "Chia sẻ Công khai Mô hình", + "Mojeek Search API Key": "Khóa API Mojeek Search", + "more": "thêm", "More": "Thêm", "Name": "Tên", - "Name your knowledge base": "", - "Native": "", + "Name your knowledge base": "Đặt tên cho cơ sở kiến thức của bạn", + "Native": "Gốc", "New Chat": "Tạo chat mới", - "New Folder": "", + "New Folder": "Thư mục Mới", "New Password": "Mật khẩu mới", - "new-channel": "", - "No content found": "", + "new-channel": "kênh-mới", + "No content found": "Không tìm thấy nội dung", "No content to speak": "Không có nội dung để nói", - "No distance available": "", - "No feedbacks found": "", + "No distance available": "Không có khoảng cách khả dụng", + "No feedbacks found": "Không tìm thấy phản hồi nào", "No file selected": "Chưa có tệp nào được chọn", - "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 knowledge found": "", - "No memories to clear": "", - "No model IDs": "", - "No models found": "", - "No models selected": "", + "No files found.": "Không tìm thấy tệp nào.", + "No groups with access, add a group to grant access": "Không có nhóm nào có quyền truy cập, hãy thêm một nhóm để cấp quyền truy cập", + "No HTML, CSS, or JavaScript content found.": "Không tìm thấy nội dung HTML, CSS hoặc JavaScript.", + "No inference engine with management support found": "Không tìm thấy engine suy luận nào có hỗ trợ quản lý", + "No knowledge found": "Không tìm thấy kiến thức", + "No memories to clear": "Không có bộ nhớ nào để xóa", + "No model IDs": "Không có ID mô hình", + "No models found": "Không tìm thấy mô hình nào", + "No models selected": "Chưa chọn mô hình nào", "No results found": "Không tìm thấy kết quả", "No search query generated": "Không có truy vấn tìm kiếm nào được tạo ra", "No source available": "Không có nguồn", - "No users were found.": "", + "No users were found.": "Không tìm thấy người dùng nào.", "No valves to update": "Chưa có valves nào được cập nhật", "None": "Không ai", "Not factually correct": "Không chính xác so với thực tế", - "Not helpful": "", + "Not helpful": "Không hữu ích", "Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Lưu ý: Nếu bạn đặt điểm (Score) tối thiểu thì tìm kiếm sẽ chỉ trả về những tài liệu có điểm lớn hơn hoặc bằng điểm tối thiểu.", - "Notes": "", - "Notification Sound": "", - "Notification Webhook": "", + "Notes": "Ghi chú", + "Notification Sound": "Âm thanh Thông báo", + "Notification Webhook": "Webhook Thông báo", "Notifications": "Thông báo trên máy tính (Notification)", "November": "Tháng 11", - "num_gpu (Ollama)": "", + "num_gpu (Ollama)": "num_gpu (Ollama)", "num_thread (Ollama)": "num_thread (Ollama)", - "OAuth ID": "", + "OAuth ID": "ID OAuth", "October": "Tháng 10", "Off": "Tắt", "Okay, Let's Go!": "Được rồi, Bắt đầu thôi!", "OLED Dark": "OLED Dark", "Ollama": "Ollama", - "Ollama API": "Ollama API", - "Ollama API settings updated": "", + "Ollama API": "API Ollama", + "Ollama API settings updated": "Đã cập nhật cài đặt API Ollama", "Ollama Version": "Phiên bản Ollama", "On": "Bật", - "OneDrive": "", - "Only alphanumeric characters and hyphens are allowed": "", + "OneDrive": "OneDrive", + "Only alphanumeric characters and hyphens are allowed": "Chỉ cho phép các ký tự chữ và số và dấu gạch nối", "Only alphanumeric characters and hyphens are allowed in the command string.": "Chỉ ký tự số và gạch nối được phép trong chuỗi lệnh.", - "Only collections can be edited, create a new knowledge base to edit/add documents.": "", - "Only select users and groups with permission can access": "", + "Only collections can be edited, create a new knowledge base to edit/add documents.": "Chỉ có thể chỉnh sửa bộ sưu tập, tạo cơ sở kiến thức mới để chỉnh sửa/thêm tài liệu.", + "Only select users and groups with permission can access": "Chỉ người dùng và nhóm được chọn có quyền mới có thể truy cập", "Oops! Looks like the URL is invalid. Please double-check and try again.": "Rất tiếc! URL dường như không hợp lệ. Vui lòng kiểm tra lại và thử lại.", - "Oops! There are files still uploading. Please wait for the upload to complete.": "", - "Oops! There was an error in the previous response.": "", + "Oops! There are files still uploading. Please wait for the upload to complete.": "Ối! Vẫn còn tệp đang tải lên. Vui lòng đợi quá trình tải lên hoàn tất.", + "Oops! There was an error in the previous response.": "Ối! Đã xảy ra lỗi trong phản hồi trước đó.", "Oops! You're using an unsupported method (frontend only). Please serve the WebUI from the backend.": "Rất tiếc! Bạn đang sử dụng một phương thức không được hỗ trợ (chỉ dành cho frontend). Vui lòng cung cấp phương thức cho WebUI từ phía backend.", - "Open file": "", - "Open in full screen": "", + "Open file": "Mở tệp", + "Open in full screen": "Mở toàn màn hình", "Open new chat": "Mở nội dung chat mới", - "Open WebUI uses faster-whisper internally.": "", - "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "", + "Open WebUI uses faster-whisper internally.": "Open WebUI sử dụng faster-whisper bên trong.", + "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "Open WebUI sử dụng SpeechT5 và các embedding giọng nói CMU Arctic.", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "Phiên bản Open WebUI (v{{OPEN_WEBUI_VERSION}}) hiện thấp hơn phiên bản bắt buộc (v{{REQUIRED_VERSION}})", "OpenAI": "OpenAI", "OpenAI API": "API OpenAI", "OpenAI API Config": "Cấu hình API OpenAI", "OpenAI API Key is required.": "Bắt buộc nhập API OpenAI Key.", - "OpenAI API settings updated": "", + "OpenAI API settings updated": "Đã cập nhật cài đặt API OpenAI", "OpenAI URL/Key required.": "Yêu cầu URL/Key API OpenAI.", - "openapi.json Path": "", + "openapi.json Path": "Đường dẫn openapi.json", "or": "hoặc", - "Organize your users": "", + "Organize your users": "Tổ chức người dùng của bạn", "Other": "Khác", - "OUTPUT": "", - "Output format": "", - "Overview": "", - "page": "", + "OUTPUT": "ĐẦU RA", + "Output format": "Định dạng đầu ra", + "Overview": "Tổng quan", + "page": "trang", "Password": "Mật khẩu", - "Paste Large Text as File": "", + "Paste Large Text as File": "Dán Văn bản Lớn dưới dạng Tệp", "PDF document (.pdf)": "Tập tin PDF (.pdf)", "PDF Extract Images (OCR)": "Trích xuất ảnh từ PDF (OCR)", "pending": "đang chờ phê duyệt", "Permission denied when accessing media devices": "Quyền truy cập các thiết bị đa phương tiện bị từ chối", "Permission denied when accessing microphone": "Quyền truy cập micrô bị từ chối", "Permission denied when accessing microphone: {{error}}": "Quyền truy cập micrô bị từ chối: {{error}}", - "Permissions": "", - "Perplexity API Key": "", + "Permissions": "Quyền", + "Perplexity API Key": "Khóa API Perplexity", "Personalization": "Cá nhân hóa", - "Pin": "Ghim lại", + "Pin": "Ghim", "Pinned": "Đã ghim", - "Pioneer insights": "", - "Pipeline deleted successfully": "Pipeline đã bị xóa", - "Pipeline downloaded successfully": "Pipeline đã được tải về thành công", - "Pipelines": "", + "Pioneer insights": "Tiên phong về hiểu biết", + "Pipeline deleted successfully": "Đã xóa pipeline thành công", + "Pipeline downloaded successfully": "Đã tải xuống pipeline thành công", + "Pipelines": "Pipelines", "Pipelines Not Detected": "Chưa tìm thấy Pipelines", - "Pipelines Valves": "", + "Pipelines Valves": "Các Valve của Pipeline", "Plain text (.txt)": "Văn bản thô (.txt)", "Playground": "Thử nghiệm (Playground)", "Please carefully review the following warnings:": "Vui lòng xem xét cẩn thận các cảnh báo sau:", - "Please do not close the settings page while loading the model.": "", - "Please enter a prompt": "", - "Please enter a valid path": "", - "Please enter a valid URL": "", - "Please fill in all fields.": "", - "Please select a model first.": "", - "Please select a model.": "", - "Please select a reason": "", - "Port": "", + "Please do not close the settings page while loading the model.": "Vui lòng không đóng trang cài đặt trong khi tải mô hình.", + "Please enter a prompt": "Vui lòng nhập một prompt", + "Please enter a valid path": "Vui lòng nhập một đường dẫn hợp lệ", + "Please enter a valid URL": "Vui lòng nhập một URL hợp lệ", + "Please fill in all fields.": "Vui lòng điền vào tất cả các trường.", + "Please select a model first.": "Vui lòng chọn một mô hình trước.", + "Please select a model.": "Vui lòng chọn một mô hình.", + "Please select a reason": "Vui lòng chọn một lý do", + "Port": "Cổng", "Positive attitude": "Thái độ tích cực", - "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": "Tiền tố ID", + "Prefix ID is used to avoid conflicts with other connections by adding a prefix to the model IDs - leave empty to disable": "Tiền tố ID được sử dụng để tránh xung đột với các kết nối khác bằng cách thêm tiền tố vào ID mô hình - để trống để tắt", + "Presence Penalty": "Hình phạt Hiện diện", "Previous 30 days": "30 ngày trước", "Previous 7 days": "7 ngày trước", - "Private": "", + "Private": "Riêng tư", "Profile Image": "Ảnh đại diện", - "Prompt": "", + "Prompt": "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ã)", - "Prompt Autocompletion": "", + "Prompt Autocompletion": "Tự động hoàn thành Prompt", "Prompt Content": "Nội dung prompt", - "Prompt created successfully": "", + "Prompt created successfully": "Đã tạo prompt thành công", "Prompt suggestions": "Gợi ý prompt", - "Prompt updated successfully": "", + "Prompt updated successfully": "Đã cập nhật prompt thành công", "Prompts": "Prompt", - "Prompts Access": "", - "Prompts Public Sharing": "", - "Public": "", + "Prompts Access": "Truy cập Prompt", + "Prompts Public Sharing": "Chia sẻ Công khai Prompt", + "Public": "Công khai", "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": "", + "Query Generation Prompt": "Prompt Tạo Truy vấn", "RAG Template": "Mẫu prompt cho RAG", - "Rating": "", - "Re-rank models by topic similarity": "", - "Read": "", + "Rating": "Đánh giá", + "Re-rank models by topic similarity": "Xếp hạng lại các mô hình theo độ tương đồng chủ đề", + "Read": "Đọc", "Read Aloud": "Đọc ra loa", - "Reasoning Effort": "", + "Reasoning Effort": "Nỗ lực Suy luận", "Record voice": "Ghi âm", "Redirecting you to Open WebUI Community": "Đang chuyển hướng bạn đến Cộng đồng 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.": "Giảm xác suất tạo ra nội dung vô nghĩa. Giá trị cao hơn (ví dụ: 100) sẽ cho câu trả lời đa dạng hơn, trong khi giá trị thấp hơn (ví dụ: 10) sẽ thận trọng hơn.", "Refer to yourself as \"User\" (e.g., \"User is learning Spanish\")": "Hãy coi bản thân mình như \"Người dùng\" (ví dụ: \"Người dùng đang học Tiếng Tây Ban Nha\")", - "References from": "", + "References from": "Tham khảo từ", "Refused when it shouldn't have": "Từ chối trả lời mà nhẽ không nên làm vậy", "Regenerate": "Tạo sinh lại câu trả lời", "Release Notes": "Mô tả những cập nhật mới", - "Relevance": "", + "Relevance": "Mức độ liên quan", "Remove": "Xóa", "Remove Model": "Xóa model", "Rename": "Đổi tên", - "Reorder Models": "", + "Reorder Models": "Sắp xếp lại Mô hình", "Repeat Last N": "Repeat Last N", - "Repeat Penalty (Ollama)": "", - "Reply in Thread": "", - "Request Mode": "Request Mode", + "Repeat Penalty (Ollama)": "Hình phạt Lặp lại (Ollama)", + "Reply in Thread": "Trả lời trong Luồng", + "Request Mode": "Chế độ Yêu cầu", "Reranking Model": "Reranking Model", - "Reranking model disabled": "Reranking model disabled", + "Reranking model disabled": "Đã tắt mô hình reranking", "Reranking model set to \"{{reranking_model}}\"": "Reranking model được đặt thành \"{{reranking_model}}\"", "Reset": "Xóa toàn bộ", - "Reset All Models": "", + "Reset All Models": "Đặt lại Tất cả Mô hình", "Reset Upload Directory": "Xóa toàn bộ thư mục Upload", - "Reset Vector Storage/Knowledge": "", - "Reset view": "", + "Reset Vector Storage/Knowledge": "Đặt lại Lưu trữ Vector/Kiến thức", + "Reset view": "Đặt lại chế độ xem", "Response notifications cannot be activated as the website permissions have been denied. Please visit your browser settings to grant the necessary access.": "Không thể kích hoạt thông báo vì trang web không cấp quyền. Vui lòng truy cập cài đặt trình duyệt của bạn để cấp quyền cần thiết.", - "Response splitting": "", - "Result": "", - "Retrieval": "", - "Retrieval Query Generation": "", - "Rich Text Input for Chat": "", - "RK": "", + "Response splitting": "Phân tách phản hồi", + "Result": "Kết quả", + "Retrieval": "Truy xuất", + "Retrieval Query Generation": "Tạo Truy vấn Truy xuất", + "Rich Text Input for Chat": "Nhập Văn bản Đa dạng cho Chat", + "RK": "RK", "Role": "Vai trò", "Rosé Pine": "Rosé Pine", "Rosé Pine Dawn": "Rosé Pine Dawn", @@ -909,31 +909,31 @@ "Save": "Lưu", "Save & Create": "Lưu & Tạo", "Save & Update": "Lưu & Cập nhật", - "Save As Copy": "", + "Save As Copy": "Lưu dưới dạng Bản sao", "Save Tag": "Lưu Thẻ", - "Saved": "", + "Saved": "Đã lưu", "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": "Không còn hỗ trợ lưu trữ lịch sử chat trực tiếp vào bộ nhớ trình duyệt của bạn. Vui lòng dành thời gian để tải xuống và xóa lịch sử chat của bạn bằng cách nhấp vào nút bên dưới. Đừng lo lắng, bạn có thể dễ dàng nhập lại lịch sử chat của mình vào backend thông qua", "Scroll to bottom when switching between branches": "Cuộn xuống dưới cùng khi chuyển đổi giữa các nhánh", "Search": "Tìm kiếm", "Search a model": "Tìm model", - "Search Base": "", + "Search Base": "Cơ sở Tìm kiếm", "Search Chats": "Tìm kiếm các cuộc Chat", - "Search Collection": "", - "Search Filters": "", - "search for tags": "", + "Search Collection": "Tìm kiếm Bộ sưu tập", + "Search Filters": "Bộ lọc Tìm kiếm", + "search for tags": "tìm kiếm thẻ", "Search Functions": "Tìm kiếm Functions", - "Search Knowledge": "", + "Search Knowledge": "Tìm kiếm Kiến thức", "Search Models": "Tìm model", - "Search options": "", + "Search options": "Tùy chọn tìm kiếm", "Search Prompts": "Tìm prompt", "Search Result Count": "Số kết quả tìm kiếm", - "Search the internet": "", + "Search the internet": "Tìm kiếm trên internet", "Search Tools": "Tìm kiếm Tools", - "SearchApi API Key": "", - "SearchApi Engine": "", - "Searched {{count}} sites": "", + "SearchApi API Key": "Khóa API SearchApi", + "SearchApi Engine": "Engine SearchApi", + "Searched {{count}} sites": "Đã tìm kiếm {{count}} trang web", "Searching \"{{searchQuery}}\"": "Đang tìm \"{{searchQuery}}\"", - "Searching Knowledge for \"{{searchQuery}}\"": "", + "Searching Knowledge for \"{{searchQuery}}\"": "Đang tìm kiếm Kiến thức cho \"{{searchQuery}}\"", "Searxng Query URL": "URL truy vấn Searxng", "See readme.md for instructions": "Xem readme.md để biết hướng dẫn", "See what's new": "Xem những cập nhật mới", @@ -941,79 +941,79 @@ "Select a base model": "Chọn một base model", "Select a engine": "Chọn dịch vụ", "Select a function": "Chọn function", - "Select a group": "", + "Select a group": "Chọn một nhóm", "Select a model": "Chọn mô hình", "Select a pipeline": "Chọn một quy trình", "Select a pipeline url": "Chọn url quy trình", "Select a tool": "Chọn tool", - "Select an auth method": "", - "Select an Ollama instance": "", + "Select an auth method": "Chọn một phương thức xác thực", + "Select an Ollama instance": "Chọn một phiên bản Ollama", "Select Engine": "Chọn Engine", - "Select Knowledge": "", + "Select Knowledge": "Chọn Kiến thức", "Select only one model to call": "Chọn model để gọi", "Selected model(s) do not support image inputs": "Model được lựa chọn không hỗ trợ đầu vào là hình ảnh", - "Semantic distance to query": "", + "Semantic distance to query": "Khoảng cách ngữ nghĩa đến truy vấn", "Send": "Gửi", "Send a Message": "Gửi yêu cầu", "Send message": "Gửi yêu cầu", - "Sends `stream_options: { include_usage: true }` in the request.\nSupported providers will return token usage information in the response when set.": "", + "Sends `stream_options: { include_usage: true }` in the request.\nSupported providers will return token usage information in the response when set.": "Gửi `stream_options: { include_usage: true }` trong yêu cầu.\nCác nhà cung cấp được hỗ trợ sẽ trả về thông tin sử dụng token trong phản hồi khi được đặt.", "September": "Tháng 9", - "SerpApi API Key": "", - "SerpApi Engine": "", + "SerpApi API Key": "Khóa API SerpApi", + "SerpApi Engine": "Engine SerpApi", "Serper API Key": "Khóa API Serper", - "Serply API Key": "", + "Serply API Key": "Khóa API Serply", "Serpstack API Key": "Khóa API Serpstack", "Server connection verified": "Kết nối máy chủ đã được xác minh", "Set as default": "Đặt làm mặc định", - "Set CFG Scale": "", + "Set CFG Scale": "Đặt Thang CFG", "Set Default Model": "Đặt Mô hình Mặc định", - "Set embedding model": "", + "Set embedding model": "Đặt mô hình embedding", "Set embedding model (e.g. {{model}})": "Thiết lập mô hình embedding (ví dụ: {{model}})", - "Set Image Size": "Đặt Kích thước ảnh", + "Set Image Size": "Đặt Kích thước Ảnh", "Set reranking model (e.g. {{model}})": "Thiết lập mô hình reranking (ví dụ: {{model}})", - "Set Sampler": "", - "Set Scheduler": "", + "Set Sampler": "Đặt Sampler", + "Set Scheduler": "Đặt Scheduler", "Set Steps": "Đặt Số Bước", "Set Task Model": "Đặt Mô hình Tác vụ", - "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.": "Đặt số lượng lớp sẽ được chuyển tải sang GPU. Tăng giá trị này có thể cải thiện đáng kể hiệu suất cho các mô hình được tối ưu hóa cho tăng tốc GPU nhưng cũng có thể tiêu thụ nhiều năng lượng và tài nguyên GPU hơn.", + "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.": "Đặt số lượng luồng công nhân được sử dụng để tính toán. Tùy chọn này kiểm soát số lượng luồng được sử dụng để xử lý đồng thời các yêu cầu đến. Tăng giá trị này có thể cải thiện hiệu suất dưới tải công việc đồng thời cao nhưng cũng có thể tiêu thụ nhiều tài nguyên CPU hơn.", "Set Voice": "Đặt Giọng nói", - "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": "Đặt mô hình 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.": "Đặt một thiên vị phẳng chống lại các token đã xuất hiện ít nhất một lần. Giá trị cao hơn (ví dụ: 1.5) sẽ phạt sự lặp lại mạnh hơn, trong khi giá trị thấp hơn (ví dụ: 0.9) sẽ khoan dung hơn. Tại 0, nó bị vô hiệu hóa.", + "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.": "Đặt một thiên vị tỷ lệ chống lại các token để phạt sự lặp lại, dựa trên số lần chúng đã xuất hiện. Giá trị cao hơn (ví dụ: 1.5) sẽ phạt sự lặp lại mạnh hơn, trong khi giá trị thấp hơn (ví dụ: 0.9) sẽ khoan dung hơn. Tại 0, nó bị vô hiệu hóa.", + "Sets how far back for the model to look back to prevent repetition.": "Đặt khoảng cách mà mô hình nhìn lại để ngăn chặn sự lặp lại.", + "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.": "Đặt hạt giống số ngẫu nhiên để sử dụng cho việc tạo. Đặt giá trị này thành một số cụ thể sẽ làm cho mô hình tạo ra cùng một văn bản cho cùng một prompt.", + "Sets the size of the context window used to generate the next token.": "Đặt kích thước của cửa sổ ngữ cảnh được sử dụng để tạo token tiếp theo.", + "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.": "Đặt các chuỗi dừng để sử dụng. Khi gặp mẫu này, LLM sẽ ngừng tạo văn bản và trả về. Có thể đặt nhiều mẫu dừng bằng cách chỉ định nhiều tham số stop riêng biệt trong modelfile.", "Settings": "Cài đặt", "Settings saved successfully!": "Cài đặt đã được lưu thành công!", "Share": "Chia sẻ", "Share Chat": "Chia sẻ Chat", "Share to Open WebUI Community": "Chia sẻ đến Cộng đồng OpenWebUI", - "Sharing Permissions": "", + "Sharing Permissions": "Quyền Chia sẻ", "Show": "Hiển thị", - "Show \"What's New\" modal on login": "", + "Show \"What's New\" modal on login": "Hiển thị cửa sổ \"Có gì mới\" khi đăng nhập", "Show Admin Details in Account Pending Overlay": "Hiển thị thông tin của Quản trị viên trên màn hình hiển thị Tài khoản đang chờ xử lý", - "Show Model": "", + "Show Model": "Hiển thị Mô hình", "Show shortcuts": "Hiển thị phím tắt", "Show your support!": "Thể hiện sự ủng hộ của bạn!", "Showcased creativity": "Thể hiện sự sáng tạo", "Sign in": "Đăng nhập", - "Sign in to {{WEBUI_NAME}}": "", - "Sign in to {{WEBUI_NAME}} with LDAP": "", + "Sign in to {{WEBUI_NAME}}": "Đăng nhập vào {{WEBUI_NAME}}", + "Sign in to {{WEBUI_NAME}} with LDAP": "Đăng nhập vào {{WEBUI_NAME}} bằng LDAP", "Sign Out": "Đăng xuất", "Sign up": "Đăng ký", - "Sign up to {{WEBUI_NAME}}": "", - "Signing in to {{WEBUI_NAME}}": "", - "sk-1234": "", + "Sign up to {{WEBUI_NAME}}": "Đăng ký {{WEBUI_NAME}}", + "Signing in to {{WEBUI_NAME}}": "Đang đăng nhập vào {{WEBUI_NAME}}", + "sk-1234": "sk-1234", "Source": "Nguồn", - "Speech Playback Speed": "", + "Speech Playback Speed": "Tốc độ Phát lại Lời nói", "Speech recognition error: {{error}}": "Lỗi nhận dạng giọng nói: {{error}}", "Speech-to-Text Engine": "Công cụ Nhận dạng Giọng nói", - "Stop": "", + "Stop": "Dừng", "Stop Sequence": "Trình tự Dừng", - "Stream Chat Response": "", - "STT Model": "", + "Stream Chat Response": "Truyền trực tiếp Phản hồi Chat", + "STT Model": "Mô hình STT", "STT Settings": "Cài đặt Nhận dạng Giọng nói", "Subtitle (e.g. about the Roman Empire)": "Phụ đề (ví dụ: về Đế chế La Mã)", "Success": "Thành công", @@ -1021,206 +1021,206 @@ "Suggested": "Gợi ý một số mẫu prompt", "Support": "Hỗ trợ", "Support this plugin:": "Hỗ trợ plugin này:", - "Sync directory": "", + "Sync directory": "Đồng bộ thư mục", "System": "Hệ thống", - "System Instructions": "", + "System Instructions": "Hướng dẫn Hệ thống", "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.": "", - "Talk to model": "", + "Tags": "Thẻ", + "Tags Generation": "Tạo Thẻ", + "Tags Generation Prompt": "Prompt Tạo Thẻ", + "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.": "Lấy mẫu không đuôi (tail free sampling) được sử dụng để giảm tác động của các token ít có khả năng xuất hiện trong đầu ra. Giá trị cao hơn (ví dụ: 2.0) sẽ giảm tác động nhiều hơn, trong khi giá trị 1.0 sẽ tắt cài đặt này.", + "Talk to model": "Nói chuyện với mô hình", "Tap to interrupt": "Chạm để ngừng", - "Tasks": "", - "Tavily API Key": "", + "Tasks": "Tác vụ", + "Tavily API Key": "Khóa API Tavily", "Tell us more:": "Hãy cho chúng tôi hiểu thêm về chất lượng của câu trả lời:", "Temperature": "Mức độ sáng tạo", "Template": "Mẫu", "Temporary Chat": "Chat nháp", - "Text Splitter": "", + "Text Splitter": "Bộ chia Văn bản", "Text-to-Speech Engine": "Công cụ Chuyển Văn bản thành Giọng nói", "Tfs Z": "Tfs Z", "Thanks for your feedback!": "Cám ơn bạn đã gửi phản hồi!", - "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": "DN Tài khoản Ứng dụng bạn liên kết để tìm kiếm", + "The base to search for users": "Cơ sở để tìm kiếm người dùng", + "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.": "Kích thước lô xác định có bao nhiêu yêu cầu văn bản được xử lý cùng một lúc. Kích thước lô cao hơn có thể tăng hiệu suất và tốc độ của mô hình, nhưng nó cũng đòi hỏi nhiều bộ nhớ hơn.", "The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.": "Các nhà phát triển đằng sau plugin này là những tình nguyện viên nhiệt huyết của cộng đồng. Nếu bạn thấy plugin này hữu ích, vui lòng cân nhắc đóng góp cho sự phát triển của nó.", - "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 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 evaluation leaderboard is based on the Elo rating system and is updated in real-time.": "Bảng xếp hạng đánh giá dựa trên hệ thống xếp hạng Elo và được cập nhật theo thời gian thực.", + "The LDAP attribute that maps to the mail that users use to sign in.": "Thuộc tính LDAP ánh xạ tới mail mà người dùng sử dụng để đăng nhập.", + "The LDAP attribute that maps to the username that users use to sign in.": "Thuộc tính LDAP ánh xạ tới tên người dùng mà người dùng sử dụng để đăng nhập.", + "The leaderboard is currently in beta, and we may adjust the rating calculations as we refine the algorithm.": "Bảng xếp hạng hiện đang trong giai đoạn beta và chúng tôi có thể điều chỉnh các tính toán xếp hạng khi chúng tôi tinh chỉnh thuật toán.", + "The maximum file size in MB. If the file size exceeds this limit, the file will not be uploaded.": "Kích thước tệp tối đa tính bằng MB. Nếu kích thước tệp vượt quá giới hạn này, tệp sẽ không được tải lên.", + "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.": "Số lượng tệp tối đa có thể được sử dụng cùng một lúc trong cuộc trò chuyện. Nếu số lượng tệp vượt quá giới hạn này, các tệp sẽ không được tải lên.", "The score should be a value between 0.0 (0%) and 1.0 (100%).": "Điểm (score) phải có giá trị từ 0,0 (0%) đến 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.": "Nhiệt độ của mô hình. Tăng nhiệt độ sẽ làm cho mô hình trả lời sáng tạo hơn.", "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 chat won’t appear in history and your messages will not be saved.": "", + "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "Kênh này được tạo vào {{createdAt}}. Đây là điểm khởi đầu của kênh {{channelName}}.", + "This chat won’t appear in history and your messages will not be saved.": "Cuộc trò chuyện này sẽ không xuất hiện trong lịch sử và tin nhắn của bạn sẽ không được lưu.", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Điều này đảm bảo rằng các nội dung chat có giá trị của bạn được lưu an toàn vào cơ sở dữ liệu backend của bạn. Cảm ơn bạn!", "This 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.": "", - "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 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.": "Tùy chọn này kiểm soát số lượng token được bảo tồn khi làm mới ngữ cảnh. Ví dụ: nếu đặt thành 2, 2 token cuối cùng của ngữ cảnh hội thoại sẽ được giữ lại. Bảo tồn ngữ cảnh có thể giúp duy trì tính liên tục của cuộc trò chuyện, nhưng nó có thể làm giảm khả năng phản hồi các chủ đề mới.", + "This option sets the maximum number of tokens the model can generate in its response. Increasing this limit allows the model to provide longer answers, but it may also increase the likelihood of unhelpful or irrelevant content being generated.": "Tùy chọn này đặt số lượng token tối đa mà mô hình có thể tạo ra trong phản hồi của nó. Tăng giới hạn này cho phép mô hình cung cấp câu trả lời dài hơn, nhưng nó cũng có thể làm tăng khả năng tạo ra nội dung không hữu ích hoặc không liên quan.", + "This option will delete all existing files in the collection and replace them with newly uploaded files.": "Tùy chọn này sẽ xóa tất cả các tệp hiện có trong bộ sưu tập và thay thế chúng bằng các tệp mới được tải lên.", + "This response was generated by \"{{model}}\"": "Phản hồi này được tạo bởi \"{{model}}\"", "This will delete": "Chat này sẽ bị xóa", - "This will delete {{NAME}} and all its contents.": "", - "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 delete {{NAME}} and all its contents.": "Hành động này sẽ xóa {{NAME}}tất cả nội dung của nó.", + "This will delete all models including custom models": "Hành động này sẽ xóa tất cả các mô hình bao gồm cả các mô hình tùy chỉnh", + "This will delete all models including custom models and cannot be undone.": "Hành động này sẽ xóa tất cả các mô hình bao gồm cả các mô hình tùy chỉnh và không thể hoàn tác.", + "This will reset the knowledge base and sync all files. Do you wish to continue?": "Hành động này sẽ đặt lại cơ sở kiến thức và đồng bộ hóa tất cả các tệp. Bạn có muốn tiếp tục không?", "Thorough explanation": "Giải thích kỹ lưỡng", - "Thought for {{DURATION}}": "", - "Thought for {{DURATION}} seconds": "", - "Tika": "", + "Thought for {{DURATION}}": "Suy nghĩ trong {{DURATION}}", + "Thought for {{DURATION}} seconds": "Suy nghĩ trong {{DURATION}} giây", + "Tika": "Tika", "Tika Server URL required.": "Bắt buộc phải nhập URL cho Tika Server ", - "Tiktoken": "", + "Tiktoken": "Tiktoken", "Tip: Update multiple variable slots consecutively by pressing the tab key in the chat input after each replacement.": "Mẹo: Cập nhật nhiều khe biến liên tiếp bằng cách nhấn phím tab trong đầu vào trò chuyện sau mỗi việc thay thế.", "Title": "Tiêu đề", "Title (e.g. Tell me a fun fact)": "Tiêu đề (ví dụ: Hãy kể cho tôi một sự thật thú vị về...)", "Title Auto-Generation": "Tự động Tạo Tiêu đề", "Title cannot be an empty string.": "Tiêu đề không được phép bỏ trống", - "Title Generation": "", + "Title Generation": "Tạo Tiêu đề", "Title Generation Prompt": "Prompt tạo tiêu đề", - "TLS": "", - "To access the available model names for downloading,": "Để truy cập các tên mô hình có sẵn để tải xuống,", + "TLS": "TLS", + "To access the available model names for downloading,": "Để truy cập tên các mô hình có sẵn để tải xuống,", "To access the GGUF models available for downloading,": "Để truy cập các mô hình GGUF có sẵn để tải xuống,", "To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Để truy cập vui lòng liên hệ với quản trị viên.", - "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 attach knowledge base here, add them to the \"Knowledge\" workspace first.": "Để đính kèm cơ sở kiến thức tại đây, trước tiên hãy thêm chúng vào không gian làm việc \"Kiến thức\".", + "To learn more about available endpoints, visit our documentation.": "Để tìm hiểu thêm về các điểm cuối có sẵn, hãy truy cập tài liệu của chúng tôi.", + "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.": "Để bảo vệ quyền riêng tư của bạn, chỉ có xếp hạng, ID mô hình, thẻ và siêu dữ liệu được chia sẻ từ phản hồi của bạn—nhật ký trò chuyện của bạn vẫn ở chế độ riêng tư và không được bao gồm.", "To select actions here, add them to the \"Functions\" workspace first.": "Để chọn các tác vụ, bạn phải thêm chúng vào workspace \"Functions\" trước.", "To select filters here, add them to the \"Functions\" workspace first.": "Để chọn các filters, bạn phải thêm chúng vào workspace \"Functions\" trước.", "To select toolkits here, add them to the \"Tools\" workspace first.": "Để chọn các tookits, bạn phải thêm chúng vào workspace \"Tools\" trước.", - "Toast notifications for new updates": "", + "Toast notifications for new updates": "Thông báo nhanh cho các cập nhật mới", "Today": "Hôm nay", "Toggle settings": "Bật/tắt cài đặt", "Toggle sidebar": "Bật/tắt thanh bên", - "Token": "", - "Tokens To Keep On Context Refresh (num_keep)": "", - "Too verbose": "", + "Token": "Token", + "Tokens To Keep On Context Refresh (num_keep)": "Số Token Giữ Lại Khi Làm Mới Ngữ cảnh (num_keep)", + "Too verbose": "Quá dài dòng", "Tool created successfully": "Tool đã được tạo thành công", "Tool deleted successfully": "Tool đã bị xóa", - "Tool Description": "", - "Tool ID": "", - "Tool imported successfully": "Tool đã được nạp thành công", - "Tool Name": "", - "Tool Servers": "", + "Tool Description": "Mô tả Tool", + "Tool ID": "ID Tool", + "Tool imported successfully": "Đã nhập tool thành công", + "Tool Name": "Tên Tool", + "Tool Servers": "Máy chủ Tool", "Tool updated successfully": "Tool đã được cập nhật thành công", - "Tools": "", - "Tools Access": "", + "Tools": "Tools", + "Tools Access": "Truy cập Tools", "Tools are a function calling system with arbitrary code execution": "Tools là một hệ thống gọi function với việc thực thi mã tùy ý", - "Tools Function Calling Prompt": "", + "Tools Function Calling Prompt": "Prompt Gọi Function của Tools", "Tools have a function calling system that allows arbitrary code execution": "Các Tools có hệ thống gọi function cho phép thực thi mã tùy ý", "Tools have a function calling system that allows arbitrary code execution.": "Các Tools có hệ thống gọi function cho phép thực thi mã tùy ý.", - "Tools Public Sharing": "", + "Tools Public Sharing": "Chia sẻ Công khai Tools", "Top K": "Top K", - "Top K Reranker": "", + "Top K Reranker": "Top K Reranker", "Top P": "Top P", - "Transformers": "", + "Transformers": "Transformers", "Trouble accessing Ollama?": "Gặp vấn đề khi truy cập Ollama?", - "Trust Proxy Environment": "", - "TTS Model": "", + "Trust Proxy Environment": "Tin cậy Môi trường Proxy", + "TTS Model": "Mô hình TTS", "TTS Settings": "Cài đặt Chuyển văn bản thành Giọng nói", - "TTS Voice": "", + "TTS Voice": "Giọng nói TTS", "Type": "Kiểu", "Type Hugging Face Resolve (Download) URL": "Nhập URL Hugging Face Resolve (Tải xuống)", - "Uh-oh! There was an issue with the response.": "", + "Uh-oh! There was an issue with the response.": "Ôi! Đã có sự cố với phản hồi.", "UI": "Giao diện", - "Unarchive All": "", - "Unarchive All Archived Chats": "", - "Unarchive Chat": "", - "Unlock mysteries": "", + "Unarchive All": "Bỏ lưu trữ Tất cả", + "Unarchive All Archived Chats": "Bỏ lưu trữ Tất cả Chat Đã Lưu trữ", + "Unarchive Chat": "Bỏ lưu trữ Chat", + "Unlock mysteries": "Mở khóa những bí ẩn", "Unpin": "Bỏ ghim", - "Unravel secrets": "", - "Untagged": "", + "Unravel secrets": "Làm sáng tỏ những bí mật", + "Untagged": "Chưa gắn thẻ", "Update": "Cập nhật", "Update and Copy Link": "Cập nhật và sao chép link", - "Update for the latest features and improvements.": "", + "Update for the latest features and improvements.": "Cập nhật để có các tính năng và cải tiến mới nhất.", "Update password": "Cập nhật mật khẩu", - "Updated": "", + "Updated": "Đã cập nhật", "Updated at": "Cập nhật lúc", - "Updated At": "", - "Upgrade to a licensed plan for enhanced capabilities, including custom theming and branding, and dedicated support.": "", - "Upload": "", + "Updated At": "Cập nhật lúc", + "Upgrade to a licensed plan for enhanced capabilities, including custom theming and branding, and dedicated support.": "Nâng cấp lên gói cấp phép để có các khả năng nâng cao, bao gồm chủ đề và thương hiệu tùy chỉnh, và hỗ trợ chuyên dụng.", + "Upload": "Tải lên", "Upload a GGUF model": "Tải lên mô hình GGUF", - "Upload directory": "", - "Upload files": "", + "Upload directory": "Thư mục tải lên", + "Upload files": "Tải lên các tệp", "Upload Files": "Tải tệp lên máy chủ", - "Upload Pipeline": "", + "Upload Pipeline": "Tải lên Pipeline", "Upload Progress": "Tiến trình tải tệp lên hệ thống", - "URL": "", + "URL": "URL", "URL Mode": "Chế độ URL", - "Use '#' in the prompt input to load and include your knowledge.": "", + "Use '#' in the prompt input to load and include your knowledge.": "Sử dụng '#' trong ô nhập prompt để tải và bao gồm kiến thức của bạn.", "Use Gravatar": "Sử dụng Gravatar", - "Use groups to group your users and assign permissions.": "", + "Use groups to group your users and assign permissions.": "Sử dụng nhóm để nhóm người dùng của bạn và gán quyền.", "Use Initials": "Sử dụng tên viết tắt", "use_mlock (Ollama)": "use_mlock (Ollama)", "use_mmap (Ollama)": "use_mmap (Ollama)", "user": "Người sử dụng", - "User": "", + "User": "Người dùng", "User location successfully retrieved.": "Đã truy xuất thành công vị trí của người dùng.", - "User Webhooks": "", - "Username": "", + "User Webhooks": "Webhook Người dùng", + "Username": "Tên đăng nhập", "Users": "Người sử dụng", - "Using the default arena model with all models. Click the plus button to add custom models.": "", + "Using the default arena model with all models. Click the plus button to add custom models.": "Sử dụng mô hình arena mặc định với tất cả các mô hình. Nhấp vào nút dấu cộng để thêm các mô hình tùy chỉnh.", "Utilize": "Sử dụng", "Valid time units:": "Đơn vị thời gian hợp lệ:", - "Valves": "", - "Valves updated": "Cập nhật Valves", + "Valves": "Valves", + "Valves updated": "Đã cập nhật Valves", "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": "", - "View Result from **{{NAME}}**": "", - "Visibility": "", + "variable to have them replaced with clipboard content.": "biến để chúng được thay thế bằng nội dung clipboard.", + "Verify Connection": "Xác minh Kết nối", + "Version": "Phiên bản", + "Version {{selectedVersion}} of {{totalVersions}}": "Phiên bản {{selectedVersion}} của {{totalVersions}}", + "View Replies": "Xem các Trả lời", + "View Result from **{{NAME}}**": "Xem Kết quả từ **{{NAME}}**", + "Visibility": "Hiển thị", "Voice": "Giọng nói", - "Voice Input": "", + "Voice Input": "Nhập liệu bằng Giọng nói", "Warning": "Cảnh báo", "Warning:": "Cảnh báo:", - "Warning: Enabling this will allow users to upload arbitrary code on the server.": "", + "Warning: Enabling this will allow users to upload arbitrary code on the server.": "Cảnh báo: Bật tính năng này sẽ cho phép người dùng tải lên mã tùy ý trên máy chủ.", "Warning: If you update or change your embedding model, you will need to re-import all documents.": "Cảnh báo: Nếu cập nhật hoặc thay đổi embedding model, bạn sẽ cần cập nhật lại tất cả tài liệu.", - "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.": "Cảnh báo: Thực thi Jupyter cho phép thực thi mã tùy ý, gây ra rủi ro bảo mật nghiêm trọng—hãy tiến hành hết sức thận trọng.", "Web": "Web", - "Web API": "", + "Web API": "Web API", "Web Search": "Tìm kiếm Web", "Web Search Engine": "Chức năng Tìm kiếm Web", - "Web Search in Chat": "", - "Web Search Query Generation": "", + "Web Search in Chat": "Tìm kiếm Web trong Chat", + "Web Search Query Generation": "Tạo Truy vấn Tìm kiếm Web", "Webhook URL": "Webhook URL", "WebUI Settings": "Cài đặt WebUI", - "WebUI URL": "", - "WebUI will make requests to \"{{url}}\"": "", - "WebUI will make requests to \"{{url}}/api/chat\"": "", - "WebUI will make requests to \"{{url}}/chat/completions\"": "", - "What are you trying to achieve?": "", - "What are you working on?": "", + "WebUI URL": "URL WebUI", + "WebUI will make requests to \"{{url}}\"": "WebUI sẽ thực hiện yêu cầu đến \"{{url}}\"", + "WebUI will make requests to \"{{url}}/api/chat\"": "WebUI sẽ thực hiện yêu cầu đến \"{{url}}/api/chat\"", + "WebUI will make requests to \"{{url}}/chat/completions\"": "WebUI sẽ thực hiện yêu cầu đến \"{{url}}/chat/completions\"", + "What are you trying to achieve?": "Bạn đang cố gắng đạt được điều gì?", + "What are you working on?": "Bạn đang làm gì vậy?", "What’s New in": "Thông tin mới về", - "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": "", - "Whisper (Local)": "", - "Why?": "", + "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.": "Khi được bật, mô hình sẽ phản hồi từng tin nhắn trò chuyện trong thời gian thực, tạo ra phản hồi ngay khi người dùng gửi tin nhắn. Chế độ này hữu ích cho các ứng dụng trò chuyện trực tiếp, nhưng có thể ảnh hưởng đến hiệu suất trên phần cứng chậm hơn.", + "wherever you are": "bất cứ nơi nào bạn đang ở", + "Whisper (Local)": "Whisper (Cục bộ)", + "Why?": "Tại sao?", "Widescreen Mode": "Chế độ màn hình rộng", - "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.": "", - "Workspace": "Workspace", - "Workspace Permissions": "", - "Write": "", + "Won": "Thắng", + "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.": "Hoạt động cùng với top-k. Giá trị cao hơn (ví dụ: 0.95) sẽ dẫn đến văn bản đa dạng hơn, trong khi giá trị thấp hơn (ví dụ: 0.5) sẽ tạo ra văn bản tập trung và thận trọng hơn.", + "Workspace": "Không gian làm việc", + "Workspace Permissions": "Quyền Không gian làm việc", + "Write": "Viết", "Write a prompt suggestion (e.g. Who are you?)": "Hãy viết một prompt (vd: Bạn là ai?)", "Write a summary in 50 words that summarizes [topic or keyword].": "Viết một tóm tắt trong vòng 50 từ cho [chủ đề hoặc từ khóa].", - "Write something...": "", - "Write your model template content here": "", + "Write something...": "Viết gì đó...", + "Write your model template content here": "Viết nội dung mẫu mô hình của bạn tại đây", "Yesterday": "Hôm qua", "You": "Bạn", - "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.": "", + "You are currently using a trial license. Please contact support to upgrade your license.": "Bạn hiện đang sử dụng giấy phép dùng thử. Vui lòng liên hệ bộ phận hỗ trợ để nâng cấp giấy phép của bạn.", + "You can only chat with a maximum of {{maxCount}} file(s) at a time.": "Bạn chỉ có thể trò chuyện với tối đa {{maxCount}} tệp cùng một lúc.", "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 upload files": "", - "You do not have permission to upload files.": "", + "You cannot upload an empty file.": "Bạn không thể tải lên một tệp trống.", + "You do not have permission to upload files": "Bạn không có quyền tải lên tệp", + "You do not have permission to upload files.": "Bạn không có quyền tải lên tệp.", "You have no archived conversations.": "Bạn chưa lưu trữ một nội dung chat nào", "You have shared this chat": "Bạn vừa chia sẻ chat này", "You're a helpful assistant.": "Bạn là một trợ lý hữu ích.", @@ -1228,6 +1228,6 @@ "Your account status is currently pending activation.": "Tài khoản của bạn hiện đang ở trạng thái chờ kích hoạt.", "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.": "Toàn bộ đóng góp của bạn sẽ được chuyển trực tiếp đến nhà phát triển plugin; Open WebUI không lấy bất kỳ tỷ lệ phần trăm nào. Tuy nhiên, nền tảng được chọn tài trợ có thể có phí riêng.", "Youtube": "Youtube", - "Youtube Language": "", - "Youtube Proxy URL": "" + "Youtube Language": "Ngôn ngữ Youtube", + "Youtube Proxy URL": "URL Proxy Youtube" } From 246c839ee66c50dd14215fe0b7bb88cd54f8d68d Mon Sep 17 00:00:00 2001 From: Panda Date: Sun, 6 Apr 2025 16:42:09 +0200 Subject: [PATCH 09/40] i18n: zh-cn --- src/lib/i18n/locales/zh-CN/translation.json | 44 ++++++++++----------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/src/lib/i18n/locales/zh-CN/translation.json b/src/lib/i18n/locales/zh-CN/translation.json index 7411f7626..aef3d609f 100644 --- a/src/lib/i18n/locales/zh-CN/translation.json +++ b/src/lib/i18n/locales/zh-CN/translation.json @@ -6,7 +6,7 @@ "(latest)": "(最新版)", "(Ollama)": "(Ollama)", "{{ models }}": "{{ models }}", - "{{COUNT}} Available Tools": "", + "{{COUNT}} Available Tools": "{{COUNT}} 个可用工具", "{{COUNT}} hidden lines": "{{COUNT}} 行被隐藏", "{{COUNT}} Replies": "{{COUNT}} 回复", "{{user}}'s Chats": "{{user}} 的对话记录", @@ -108,7 +108,7 @@ "Attribute for Username": "用户名属性", "Audio": "语音", "August": "八月", - "Auth": "", + "Auth": "Auth", "Authenticate": "认证", "Authentication": "身份验证", "Auto-Copy Response to Clipboard": "自动复制回复到剪贴板", @@ -120,7 +120,7 @@ "AUTOMATIC1111 Base URL": "AUTOMATIC1111 基础地址", "AUTOMATIC1111 Base URL is required.": "需要 AUTOMATIC1111 基础地址。", "Available list": "可用列表", - "Available Tools": "", + "Available Tools": "可用工具", "available!": "版本可用!", "Awful": "糟糕", "Azure AI Speech": "Azure AI 语音", @@ -219,10 +219,10 @@ "Confirm your new password": "确认新密码", "Connect to your own OpenAI compatible API endpoints.": "连接到你自己的与 OpenAI 兼容的 API 接口端点。", "Connect to your own OpenAPI compatible external tool servers.": "连接到您自己的兼容 OpenAPI 的外部工具服务器。", - "Connection failed": "", - "Connection successful": "", + "Connection failed": "连接失败", + "Connection successful": "连接成功", "Connections": "外部连接", - "Connections saved successfully": "", + "Connections saved successfully": "连接保存成功", "Constrains effort on reasoning for reasoning models. Only applicable to reasoning models from specific providers that support reasoning effort.": "约束推理模型的推理努力程度。仅适用于支持推理努力控制的特定提供商的推理模型。", "Contact Admin for WebUI Access": "请联系管理员以获取访问权限", "Content": "内容", @@ -307,7 +307,7 @@ "Direct Connections": "直接连接", "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.": "直接连接功能允许用户连接至其自有的、兼容 OpenAI 的 API 端点。", "Direct Connections settings updated": "直接连接设置已更新", - "Direct Tool Servers": "", + "Direct Tool Servers": "直接连接工具服务器", "Disabled": "禁用", "Discover a function": "发现更多函数", "Discover a model": "发现更多模型", @@ -417,7 +417,7 @@ "Enter Kagi Search API Key": "输入 Kagi Search API 密钥", "Enter Key Behavior": "Enter 键行为", "Enter language codes": "输入语言代码", - "Enter Mistral API Key": "", + "Enter Mistral API Key": "输入 Mistral API 密钥", "Enter Model ID": "输入模型 ID", "Enter model tag (e.g. {{modelTag}})": "输入模型标签 (例如:{{modelTag}})", "Enter Mojeek Search API Key": "输入 Mojeek Search API 密钥", @@ -442,7 +442,7 @@ "Enter server port": "输入服务器端口", "Enter stop sequence": "输入停止序列 (Stop Sequence)", "Enter system prompt": "输入系统提示词 (Prompt)", - "Enter system prompt here": "", + "Enter system prompt here": "在这里输入系统提示词 (Prompt)", "Enter Tavily API Key": "输入 Tavily API 密钥", "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 服务器地址", @@ -456,7 +456,7 @@ "Enter Your Email": "输入您的电子邮箱", "Enter Your Full Name": "输入您的名称", "Enter your message": "输入您的消息", - "Enter your name": "", + "Enter your name": "输入您的名称", "Enter your new password": "输入新的密码", "Enter Your Password": "输入您的密码", "Enter Your Role": "输入您的权限组", @@ -476,7 +476,7 @@ "Exceeded the number of seats in your license. Please contact support to increase the number of seats.": "已达到最大授权人数,请联系支持人员提升授权人数。", "Exclude": "排除", "Execute code for analysis": "执行代码进行分析", - "Executing **{{NAME}}**...": "", + "Executing **{{NAME}}**...": "正在执行 **{{NAME}}**...", "Expand": "展开", "Experimental": "实验性", "Explain": "解释", @@ -501,7 +501,7 @@ "Failed to create API Key.": "无法创建 API 密钥。", "Failed to fetch models": "无法获取模型", "Failed to read clipboard contents": "无法读取剪贴板内容", - "Failed to save connections": "", + "Failed to save connections": "无法保存连接", "Failed to save models configuration": "无法保存模型配置", "Failed to update settings": "无法更新设置", "Failed to upload file.": "上传文件失败", @@ -534,7 +534,7 @@ "Forge new paths": "开拓新道路", "Form": "手动创建", "Format your variables using brackets like this:": "使用括号格式化你的变量,如下所示:", - "Forwards system user session credentials to authenticate": "", + "Forwards system user session credentials to authenticate": "转发系统用户会话凭证以进行身份​​验证", "Frequency Penalty": "频率惩罚", "Full Context Mode": "完整上下文模式", "Function": "函数", @@ -704,8 +704,8 @@ "Mirostat": "Mirostat", "Mirostat Eta": "Mirostat Eta", "Mirostat Tau": "Mirostat Tau", - "Mistral OCR": "", - "Mistral OCR API Key required.": "", + "Mistral OCR": "Mistral OCR", + "Mistral OCR API Key required.": "需要 Mistral OCR API 密钥。", "Model": "模型", "Model '{{modelName}}' has been successfully downloaded.": "模型'{{modelName}}'已成功下载。", "Model '{{modelTag}}' is already in queue for downloading.": "模型'{{modelTag}}'已在下载队列中。", @@ -801,7 +801,7 @@ "OpenAI API Key is required.": "需要 OpenAI API 密钥。", "OpenAI API settings updated": "OpenAI API 设置已更新", "OpenAI URL/Key required.": "需要 OpenAI URL/Key", - "openapi.json Path": "", + "openapi.json Path": "openapi.json 路径", "or": "或", "Organize your users": "组织用户", "Other": "其他", @@ -833,8 +833,8 @@ "Please carefully review the following warnings:": "请仔细阅读以下警告信息:", "Please do not close the settings page while loading the model.": "加载模型时请不要关闭设置页面。", "Please enter a prompt": "请输入一个 Prompt", - "Please enter a valid path": "", - "Please enter a valid URL": "", + "Please enter a valid path": "请输入有效路径", + "Please enter a valid URL": "请输入有效 URL", "Please fill in all fields.": "请填写所有字段。", "Please select a model first.": "请先选择一个模型。", "Please select a model.": "请选择一个模型。", @@ -1057,7 +1057,7 @@ "Thinking...": "正在思考...", "This action cannot be undone. Do you wish to continue?": "此操作无法撤销。是否确认继续?", "This channel was created on {{createdAt}}. This is the very beginning of the {{channelName}} channel.": "此频道创建于{{createdAt}},这里是{{channelName}}频道的开始", - "This chat won’t appear in history and your messages will not be saved.": "", + "This chat won’t appear in history and your messages will not be saved.": "此聊天不会出现在历史记录中,且您的消息不会被保存。", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "这将确保您的宝贵对话被安全地保存到后台数据库中。感谢!", "This 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。保留上下文有助于保持对话的连续性,但可能会降低响应新主题的能力。", @@ -1105,7 +1105,7 @@ "Tool ID": "工具 ID", "Tool imported successfully": "工具导入成功", "Tool Name": "工具名称", - "Tool Servers": "", + "Tool Servers": "工具服务器", "Tool updated successfully": "工具更新成功", "Tools": "工具", "Tools Access": "访问工具", @@ -1175,7 +1175,7 @@ "Version": "版本", "Version {{selectedVersion}} of {{totalVersions}}": "版本 {{selectedVersion}}/{{totalVersions}}", "View Replies": "查看回复", - "View Result from **{{NAME}}**": "", + "View Result from **{{NAME}}**": "查看来自 **{{NAME}}** 的结果", "Visibility": "可见性", "Voice": "语音", "Voice Input": "语音输入", @@ -1193,7 +1193,7 @@ "Webhook URL": "Webhook URL", "WebUI Settings": "WebUI 设置", "WebUI URL": "WebUI URL", - "WebUI will make requests to \"{{url}}\"": "", + "WebUI will make requests to \"{{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?": "你想要达到什么目标?", From 60c6e00d9f2b67676b78a80eabff6e031b0a4c99 Mon Sep 17 00:00:00 2001 From: Panda Date: Sun, 6 Apr 2025 16:47:06 +0200 Subject: [PATCH 10/40] i18n: fix --- src/lib/i18n/locales/zh-CN/translation.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/i18n/locales/zh-CN/translation.json b/src/lib/i18n/locales/zh-CN/translation.json index aef3d609f..45b1b6e34 100644 --- a/src/lib/i18n/locales/zh-CN/translation.json +++ b/src/lib/i18n/locales/zh-CN/translation.json @@ -108,7 +108,7 @@ "Attribute for Username": "用户名属性", "Audio": "语音", "August": "八月", - "Auth": "Auth", + "Auth": "授权", "Authenticate": "认证", "Authentication": "身份验证", "Auto-Copy Response to Clipboard": "自动复制回复到剪贴板", @@ -534,7 +534,7 @@ "Forge new paths": "开拓新道路", "Form": "手动创建", "Format your variables using brackets like this:": "使用括号格式化你的变量,如下所示:", - "Forwards system user session credentials to authenticate": "转发系统用户会话凭证以进行身份​​验证", + "Forwards system user session credentials to authenticate": "转发系统用户 session 凭证以进行身份​​验证", "Frequency Penalty": "频率惩罚", "Full Context Mode": "完整上下文模式", "Function": "函数", From ff1d454bddaf6ea33f8d6e51c47a73cdd7bc553e Mon Sep 17 00:00:00 2001 From: Juan Calderon-Perez <835733+gaby@users.noreply.github.com> Date: Sun, 6 Apr 2025 13:32:51 -0400 Subject: [PATCH 11/40] Fix formatting --- backend/open_webui/routers/files.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/backend/open_webui/routers/files.py b/backend/open_webui/routers/files.py index d876182f7..bfdb2be6a 100644 --- a/backend/open_webui/routers/files.py +++ b/backend/open_webui/routers/files.py @@ -162,7 +162,9 @@ def upload_file( @router.get("/", response_model=list[FileModelResponse]) -async def list_files(user=Depends(get_verified_user), include_content: bool = Query(True)): +async def list_files( + user=Depends(get_verified_user), include_content: bool = Query(True) +): if user.role == "admin": files = Files.get_files() else: @@ -170,7 +172,7 @@ async def list_files(user=Depends(get_verified_user), include_content: bool = Qu if not include_content: for file in files: - file.data['content'] = "" + file.data["content"] = "" return files From d26649086246792a083c0515481a0ce5b9ff668a Mon Sep 17 00:00:00 2001 From: Juan Calderon-Perez <835733+gaby@users.noreply.github.com> Date: Sun, 6 Apr 2025 13:58:17 -0400 Subject: [PATCH 12/40] Fix dependabot configuration --- .github/dependabot.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index af0a8ed0e..4ffd1331d 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,12 +1,20 @@ version: 2 updates: - - package-ecosystem: pip - directory: '/backend' + - package-ecosystem: uv + directory: '/' schedule: interval: monthly target-branch: 'dev' + + - package-ecosystem: npm + directory: '/' + schedule: + interval: monthly + target-branch: 'dev' + - package-ecosystem: 'github-actions' directory: '/' schedule: # Check for updates to GitHub Actions every week interval: monthly + target-branch: 'dev' From a506a1a61ed05ad2d06a3fb0d716c6b0684359c8 Mon Sep 17 00:00:00 2001 From: Jan Kessler Date: Sun, 6 Apr 2025 20:31:12 +0200 Subject: [PATCH 13/40] only keep URLs as sources for which the content could actually be retrieved --- backend/open_webui/routers/retrieval.py | 1 + 1 file changed, 1 insertion(+) diff --git a/backend/open_webui/routers/retrieval.py b/backend/open_webui/routers/retrieval.py index 6f71e11d3..7c010a16a 100644 --- a/backend/open_webui/routers/retrieval.py +++ b/backend/open_webui/routers/retrieval.py @@ -1478,6 +1478,7 @@ async def process_web_search( trust_env=request.app.state.config.RAG_WEB_SEARCH_TRUST_ENV, ) docs = await loader.aload() + urls = [doc.metadata["source"] for doc in docs] # only keep URLs which could be retrieved if request.app.state.config.BYPASS_WEB_SEARCH_EMBEDDING_AND_RETRIEVAL: return { From 94453839bab0d4d39e807da4283717411715d0f2 Mon Sep 17 00:00:00 2001 From: Juan Calderon-Perez <835733+gaby@users.noreply.github.com> Date: Sun, 6 Apr 2025 16:02:16 -0400 Subject: [PATCH 14/40] Update index.ts From 89e7913ff27a6dd3b7597c31f62460cfbb1ac8d1 Mon Sep 17 00:00:00 2001 From: Juan Calderon-Perez <835733+gaby@users.noreply.github.com> Date: Sun, 6 Apr 2025 18:10:38 -0400 Subject: [PATCH 15/40] Bump Python base Docker image to 3.12 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 4a5411611..997f57cb7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -34,7 +34,7 @@ ENV APP_BUILD_HASH=${BUILD_HASH} RUN npm run build ######## WebUI backend ######## -FROM python:3.11-slim-bookworm AS base +FROM python:3.12-slim-bookworm AS base # Use args ARG USE_CUDA From c1ff69721adf5c8de9e11dd9d4124d8e5e954862 Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Sun, 6 Apr 2025 15:14:57 -0700 Subject: [PATCH 16/40] refac --- backend/open_webui/routers/files.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/backend/open_webui/routers/files.py b/backend/open_webui/routers/files.py index bfdb2be6a..3a7b8d477 100644 --- a/backend/open_webui/routers/files.py +++ b/backend/open_webui/routers/files.py @@ -162,17 +162,16 @@ def upload_file( @router.get("/", response_model=list[FileModelResponse]) -async def list_files( - user=Depends(get_verified_user), include_content: bool = Query(True) -): +async def list_files(user=Depends(get_verified_user), content: bool = Query(True)): if user.role == "admin": files = Files.get_files() else: files = Files.get_files_by_user_id(user.id) - if not include_content: + if not content: for file in files: - file.data["content"] = "" + del file.data["content"] + return files From 624c5250b12929be4f503303054441f3f47fc43a Mon Sep 17 00:00:00 2001 From: Juan Calderon-Perez <835733+gaby@users.noreply.github.com> Date: Sun, 6 Apr 2025 18:15:56 -0400 Subject: [PATCH 17/40] Optimize GitHub actions --- .github/workflows/format-backend.yaml | 14 ++++++++++++-- .github/workflows/format-build-frontend.yaml | 10 +++++++++- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/.github/workflows/format-backend.yaml b/.github/workflows/format-backend.yaml index 445876697..1bcdd92c1 100644 --- a/.github/workflows/format-backend.yaml +++ b/.github/workflows/format-backend.yaml @@ -5,10 +5,18 @@ on: branches: - main - dev + paths: + - 'backend/**' + - 'pyproject.toml' + - 'uv.lock' pull_request: branches: - main - dev + paths: + - 'backend/**' + - 'pyproject.toml' + - 'uv.lock' jobs: build: @@ -17,7 +25,9 @@ jobs: strategy: matrix: - python-version: [3.11] + python-version: + - 3.11.x + - 3.12.x steps: - uses: actions/checkout@v4 @@ -25,7 +35,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v5 with: - python-version: ${{ matrix.python-version }} + python-version: '${{ matrix.python-version }}' - name: Install dependencies run: | diff --git a/.github/workflows/format-build-frontend.yaml b/.github/workflows/format-build-frontend.yaml index 53d3aaa5e..9a007581f 100644 --- a/.github/workflows/format-build-frontend.yaml +++ b/.github/workflows/format-build-frontend.yaml @@ -5,10 +5,18 @@ on: branches: - main - dev + paths-ignore: + - 'backend/**' + - 'pyproject.toml' + - 'uv.lock' pull_request: branches: - main - dev + paths-ignore: + - 'backend/**' + - 'pyproject.toml' + - 'uv.lock' jobs: build: @@ -21,7 +29,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: '22' # Or specify any other version you want to use + node-version: '22' - name: Install Dependencies run: npm install From 64a0b28dabb0672f2b8cba2e5a76c33541173550 Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Sun, 6 Apr 2025 15:23:40 -0700 Subject: [PATCH 18/40] refac --- backend/open_webui/utils/middleware.py | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/backend/open_webui/utils/middleware.py b/backend/open_webui/utils/middleware.py index 86bb35d2c..25371ee71 100644 --- a/backend/open_webui/utils/middleware.py +++ b/backend/open_webui/utils/middleware.py @@ -409,13 +409,29 @@ async def chat_web_search_handler( } ) elif results.get("docs"): - for doc_idx, doc in enumerate(results["docs"]): + # Invoked when bypass embedding and retrieval is set to True + docs = results["docs"] + + if len(docs) == len(results["filenames"]): + # the number of docs and filenames (urls) should be the same + for doc_idx, doc in enumerate(docs): + files.append( + { + "docs": [doc], + "name": searchQuery, + "type": "web_search", + "urls": [results["filenames"][doc_idx]], + } + ) + else: + # edge case when the number of docs and filenames (urls) are not the same + # this should not happen, but if it does, we will just append the docs files.append( { - "docs": [doc], + "docs": results.get("docs", []), "name": searchQuery, "type": "web_search", - "urls": [results["filenames"][doc_idx]], + "urls": results["filenames"], } ) From dc2f8ec8c639064d6b23d3887dd9296c790dae03 Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Sun, 6 Apr 2025 15:37:27 -0700 Subject: [PATCH 19/40] refac --- src/lib/components/chat/Settings/Tools.svelte | 8 ++++++++ src/lib/components/chat/ToolServersModal.svelte | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/lib/components/chat/Settings/Tools.svelte b/src/lib/components/chat/Settings/Tools.svelte index 86a9abbd2..dd688b178 100644 --- a/src/lib/components/chat/Settings/Tools.svelte +++ b/src/lib/components/chat/Settings/Tools.svelte @@ -97,6 +97,14 @@ )} + + {:else} diff --git a/src/lib/components/chat/ToolServersModal.svelte b/src/lib/components/chat/ToolServersModal.svelte index 27f1f979d..3f25b184e 100644 --- a/src/lib/components/chat/ToolServersModal.svelte +++ b/src/lib/components/chat/ToolServersModal.svelte @@ -82,10 +82,10 @@
- Open WebUI can use tools provided by any OpenAPI server.
Learn more about OpenAPI tool servers.{$i18n.t('Learn more about OpenAPI tool servers.')}
From 66cd40f959918ec7256c09aec8fec4e16f02c958 Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Sun, 6 Apr 2025 15:37:46 -0700 Subject: [PATCH 20/40] chore: format --- src/lib/i18n/locales/ar-BH/translation.json | 2 ++ src/lib/i18n/locales/ar/translation.json | 2 ++ src/lib/i18n/locales/bg-BG/translation.json | 2 ++ src/lib/i18n/locales/bn-BD/translation.json | 2 ++ src/lib/i18n/locales/bo-TB/translation.json | 2 ++ src/lib/i18n/locales/ca-ES/translation.json | 2 ++ src/lib/i18n/locales/ceb-PH/translation.json | 2 ++ src/lib/i18n/locales/cs-CZ/translation.json | 2 ++ src/lib/i18n/locales/da-DK/translation.json | 2 ++ src/lib/i18n/locales/de-DE/translation.json | 2 ++ src/lib/i18n/locales/dg-DG/translation.json | 2 ++ src/lib/i18n/locales/el-GR/translation.json | 2 ++ src/lib/i18n/locales/en-GB/translation.json | 2 ++ src/lib/i18n/locales/en-US/translation.json | 2 ++ src/lib/i18n/locales/es-ES/translation.json | 2 ++ src/lib/i18n/locales/et-EE/translation.json | 2 ++ src/lib/i18n/locales/eu-ES/translation.json | 2 ++ src/lib/i18n/locales/fa-IR/translation.json | 2 ++ src/lib/i18n/locales/fi-FI/translation.json | 2 ++ src/lib/i18n/locales/fr-CA/translation.json | 2 ++ src/lib/i18n/locales/fr-FR/translation.json | 2 ++ src/lib/i18n/locales/he-IL/translation.json | 2 ++ src/lib/i18n/locales/hi-IN/translation.json | 2 ++ src/lib/i18n/locales/hr-HR/translation.json | 2 ++ src/lib/i18n/locales/hu-HU/translation.json | 2 ++ src/lib/i18n/locales/id-ID/translation.json | 2 ++ src/lib/i18n/locales/ie-GA/translation.json | 2 ++ src/lib/i18n/locales/it-IT/translation.json | 2 ++ src/lib/i18n/locales/ja-JP/translation.json | 2 ++ src/lib/i18n/locales/ka-GE/translation.json | 2 ++ src/lib/i18n/locales/ko-KR/translation.json | 2 ++ src/lib/i18n/locales/lt-LT/translation.json | 2 ++ src/lib/i18n/locales/ms-MY/translation.json | 2 ++ src/lib/i18n/locales/nb-NO/translation.json | 2 ++ src/lib/i18n/locales/nl-NL/translation.json | 2 ++ src/lib/i18n/locales/pa-IN/translation.json | 2 ++ src/lib/i18n/locales/pl-PL/translation.json | 2 ++ src/lib/i18n/locales/pt-BR/translation.json | 2 ++ src/lib/i18n/locales/pt-PT/translation.json | 2 ++ src/lib/i18n/locales/ro-RO/translation.json | 2 ++ src/lib/i18n/locales/ru-RU/translation.json | 2 ++ src/lib/i18n/locales/sk-SK/translation.json | 2 ++ src/lib/i18n/locales/sr-RS/translation.json | 2 ++ src/lib/i18n/locales/sv-SE/translation.json | 2 ++ src/lib/i18n/locales/th-TH/translation.json | 2 ++ src/lib/i18n/locales/tk-TW/translation.json | 2 ++ src/lib/i18n/locales/tr-TR/translation.json | 2 ++ src/lib/i18n/locales/uk-UA/translation.json | 2 ++ src/lib/i18n/locales/ur-PK/translation.json | 2 ++ src/lib/i18n/locales/vi-VN/translation.json | 2 ++ src/lib/i18n/locales/zh-CN/translation.json | 4 +++- src/lib/i18n/locales/zh-TW/translation.json | 2 ++ 52 files changed, 105 insertions(+), 1 deletion(-) diff --git a/src/lib/i18n/locales/ar-BH/translation.json b/src/lib/i18n/locales/ar-BH/translation.json index 543a961bb..4d9d8ecaf 100644 --- a/src/lib/i18n/locales/ar-BH/translation.json +++ b/src/lib/i18n/locales/ar-BH/translation.json @@ -654,6 +654,7 @@ "LDAP": "", "LDAP server updated": "", "Leaderboard": "", + "Learn more about OpenAPI tool servers.": "", "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": "", @@ -792,6 +793,7 @@ "Open file": "", "Open in full screen": "", "Open new chat": "فتح محادثة جديده", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "", diff --git a/src/lib/i18n/locales/ar/translation.json b/src/lib/i18n/locales/ar/translation.json index 4b3dfe00c..b5b8e88ec 100644 --- a/src/lib/i18n/locales/ar/translation.json +++ b/src/lib/i18n/locales/ar/translation.json @@ -654,6 +654,7 @@ "LDAP": "LDAP", "LDAP server updated": "تم تحديث خادم LDAP", "Leaderboard": "لوحة المتصدرين", + "Learn more about OpenAPI tool servers.": "", "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": "", @@ -792,6 +793,7 @@ "Open file": "فتح الملف", "Open in full screen": "فتح في وضع ملء الشاشة", "Open new chat": "فتح محادثة جديده", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "تستخدم واجهة WebUI أداة faster-whisper داخليًا.", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "تستخدم WebUI نموذج SpeechT5 وتضمينات صوتية من CMU Arctic.", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "إصدار WebUI الحالي (v{{OPEN_WEBUI_VERSION}}) أقل من الإصدار المطلوب (v{{REQUIRED_VERSION}})", diff --git a/src/lib/i18n/locales/bg-BG/translation.json b/src/lib/i18n/locales/bg-BG/translation.json index c0c9addea..1779e7174 100644 --- a/src/lib/i18n/locales/bg-BG/translation.json +++ b/src/lib/i18n/locales/bg-BG/translation.json @@ -654,6 +654,7 @@ "LDAP": "LDAP", "LDAP server updated": "LDAP сървърът е актуализиран", "Leaderboard": "Класация", + "Learn more about OpenAPI tool servers.": "", "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": "", @@ -792,6 +793,7 @@ "Open file": "Отвори файл", "Open in full screen": "Отвори на цял екран", "Open new chat": "Отвори нов чат", + "Open WebUI can use tools provided by any OpenAPI server.": "", "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}})", diff --git a/src/lib/i18n/locales/bn-BD/translation.json b/src/lib/i18n/locales/bn-BD/translation.json index e399405f7..d38113e16 100644 --- a/src/lib/i18n/locales/bn-BD/translation.json +++ b/src/lib/i18n/locales/bn-BD/translation.json @@ -654,6 +654,7 @@ "LDAP": "", "LDAP server updated": "", "Leaderboard": "", + "Learn more about OpenAPI tool servers.": "", "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": "", @@ -792,6 +793,7 @@ "Open file": "", "Open in full screen": "", "Open new chat": "নতুন চ্যাট খুলুন", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "", diff --git a/src/lib/i18n/locales/bo-TB/translation.json b/src/lib/i18n/locales/bo-TB/translation.json index eb0307692..01e16187d 100644 --- a/src/lib/i18n/locales/bo-TB/translation.json +++ b/src/lib/i18n/locales/bo-TB/translation.json @@ -654,6 +654,7 @@ "LDAP": "LDAP", "LDAP server updated": "LDAP སར་བར་གསར་སྒྱུར་བྱས།", "Leaderboard": "འགྲན་རེས་རེའུ་མིག", + "Learn more about OpenAPI tool servers.": "", "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\" མཇུག་མཐུད་ནས་དཔེ་དབྱིབས་ཡོངས་རྫོགས་ཚུད་པར་སྟོང་པ་བཞག་པ།", @@ -792,6 +793,7 @@ "Open file": "ཡིག་ཆ་ཁ་ཕྱེ་བ།", "Open in full screen": "ཡོངས་གནས་ངོས་སུ་ཁ་ཕྱེ་བ།", "Open new chat": "ཁ་བརྡ་གསར་པ་ཁ་ཕྱེ་བ།", + "Open WebUI can use tools provided by any OpenAPI server.": "", "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}}) ལས་དམའ་བ།", diff --git a/src/lib/i18n/locales/ca-ES/translation.json b/src/lib/i18n/locales/ca-ES/translation.json index 06d22d492..486ef2e29 100644 --- a/src/lib/i18n/locales/ca-ES/translation.json +++ b/src/lib/i18n/locales/ca-ES/translation.json @@ -654,6 +654,7 @@ "LDAP": "LDAP", "LDAP server updated": "Servidor LDAP actualitzat", "Leaderboard": "Tauler de classificació", + "Learn more about OpenAPI tool servers.": "", "Leave empty for unlimited": "Deixar-ho buit per il·limitat", "Leave empty to include all models from \"{{url}}/api/tags\" endpoint": "Deixar-ho buit per incloure tots els models del punt de connexió \"{{url}}/api/tags\"", "Leave empty to include all models from \"{{url}}/models\" endpoint": "Deixar-ho buit per incloure tots els models del punt de connexió \"{{url}}/models\"", @@ -792,6 +793,7 @@ "Open file": "Obrir arxiu", "Open in full screen": "Obrir en pantalla complerta", "Open new chat": "Obre un xat nou", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "Open WebUI utilitza faster-whisper internament.", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "Open WebUI utilitza incrustacions de SpeechT5 i CMU Arctic.", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "La versió d'Open WebUI (v{{OPEN_WEBUI_VERSION}}) és inferior a la versió requerida (v{{REQUIRED_VERSION}})", diff --git a/src/lib/i18n/locales/ceb-PH/translation.json b/src/lib/i18n/locales/ceb-PH/translation.json index 6db84b15d..5b3c85d64 100644 --- a/src/lib/i18n/locales/ceb-PH/translation.json +++ b/src/lib/i18n/locales/ceb-PH/translation.json @@ -654,6 +654,7 @@ "LDAP": "", "LDAP server updated": "", "Leaderboard": "", + "Learn more about OpenAPI tool servers.": "", "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": "", @@ -792,6 +793,7 @@ "Open file": "", "Open in full screen": "", "Open new chat": "Ablihi ang bag-ong diskusyon", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "", diff --git a/src/lib/i18n/locales/cs-CZ/translation.json b/src/lib/i18n/locales/cs-CZ/translation.json index db51cdfc3..44250f545 100644 --- a/src/lib/i18n/locales/cs-CZ/translation.json +++ b/src/lib/i18n/locales/cs-CZ/translation.json @@ -654,6 +654,7 @@ "LDAP": "", "LDAP server updated": "", "Leaderboard": "Žebříček", + "Learn more about OpenAPI tool servers.": "", "Leave empty for unlimited": "Nechte prázdné pro neomezeně", "Leave empty to include all models from \"{{url}}/api/tags\" endpoint": "", "Leave empty to include all models from \"{{url}}/models\" endpoint": "", @@ -792,6 +793,7 @@ "Open file": "Otevřít soubor", "Open in full screen": "Otevřít na celou obrazovku", "Open new chat": "Otevřít nový chat", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "Open WebUI interně používá faster-whisper.", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "Verze Open WebUI (v{{OPEN_WEBUI_VERSION}}) je nižší než požadovaná verze (v{{REQUIRED_VERSION}})", diff --git a/src/lib/i18n/locales/da-DK/translation.json b/src/lib/i18n/locales/da-DK/translation.json index 3f56e883e..b3b7b42d6 100644 --- a/src/lib/i18n/locales/da-DK/translation.json +++ b/src/lib/i18n/locales/da-DK/translation.json @@ -654,6 +654,7 @@ "LDAP": "", "LDAP server updated": "", "Leaderboard": "", + "Learn more about OpenAPI tool servers.": "", "Leave empty for unlimited": "Lad stå tomt for ubegrænset", "Leave empty to include all models from \"{{url}}/api/tags\" endpoint": "", "Leave empty to include all models from \"{{url}}/models\" endpoint": "", @@ -792,6 +793,7 @@ "Open file": "Åbn fil", "Open in full screen": "Åbn i fuld skærm", "Open new chat": "Åbn ny chat", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "Open WebUI-version (v{{OPEN_WEBUI_VERSION}}) er lavere end den krævede version (v{{REQUIRED_VERSION}})", diff --git a/src/lib/i18n/locales/de-DE/translation.json b/src/lib/i18n/locales/de-DE/translation.json index 6c18638ad..4d5951cfa 100644 --- a/src/lib/i18n/locales/de-DE/translation.json +++ b/src/lib/i18n/locales/de-DE/translation.json @@ -654,6 +654,7 @@ "LDAP": "LDAP", "LDAP server updated": "LDAP-Server aktualisiert", "Leaderboard": "Bestenliste", + "Learn more about OpenAPI tool servers.": "", "Leave empty for unlimited": "Leer lassen für unbegrenzt", "Leave empty to include all models from \"{{url}}/api/tags\" endpoint": "", "Leave empty to include all models from \"{{url}}/models\" endpoint": "", @@ -792,6 +793,7 @@ "Open file": "Datei öffnen", "Open in full screen": "Im Vollbildmodus öffnen", "Open new chat": "Neuen Chat öffnen", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "Open WebUI verwendet intern faster-whisper.", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "Open WebUI verwendet SpeechT5 und CMU Arctic-Sprecher-Embeddings.", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "Die installierte Open-WebUI-Version (v{{OPEN_WEBUI_VERSION}}) ist niedriger als die erforderliche Version (v{{REQUIRED_VERSION}})", diff --git a/src/lib/i18n/locales/dg-DG/translation.json b/src/lib/i18n/locales/dg-DG/translation.json index 2ad225311..77c7fa459 100644 --- a/src/lib/i18n/locales/dg-DG/translation.json +++ b/src/lib/i18n/locales/dg-DG/translation.json @@ -654,6 +654,7 @@ "LDAP": "", "LDAP server updated": "", "Leaderboard": "", + "Learn more about OpenAPI tool servers.": "", "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": "", @@ -792,6 +793,7 @@ "Open file": "", "Open in full screen": "", "Open new chat": "Open new bark", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "", diff --git a/src/lib/i18n/locales/el-GR/translation.json b/src/lib/i18n/locales/el-GR/translation.json index 6293d736c..08102c9a4 100644 --- a/src/lib/i18n/locales/el-GR/translation.json +++ b/src/lib/i18n/locales/el-GR/translation.json @@ -654,6 +654,7 @@ "LDAP": "LDAP", "LDAP server updated": "Ο διακομιστής LDAP ενημερώθηκε", "Leaderboard": "Κατάταξη", + "Learn more about OpenAPI tool servers.": "", "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": "", @@ -792,6 +793,7 @@ "Open file": "Άνοιγμα αρχείου", "Open in full screen": "Άνοιγμα σε πλήρη οθόνη", "Open new chat": "Άνοιγμα νέας συνομιλίας", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "Το Open WebUI χρησιμοποιεί το faster-whisper εσωτερικά.", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "Το Open WebUI χρησιμοποιεί τα SpeechT5 και CMU Arctic embeddings ομιλητών.", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "Η έκδοση Open WebUI (v{{OPEN_WEBUI_VERSION}}) είναι χαμηλότερη από την απαιτούμενη έκδοση (v{{REQUIRED_VERSION}})", diff --git a/src/lib/i18n/locales/en-GB/translation.json b/src/lib/i18n/locales/en-GB/translation.json index 3be18a5cb..37c7bc5e5 100644 --- a/src/lib/i18n/locales/en-GB/translation.json +++ b/src/lib/i18n/locales/en-GB/translation.json @@ -654,6 +654,7 @@ "LDAP": "", "LDAP server updated": "", "Leaderboard": "", + "Learn more about OpenAPI tool servers.": "", "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": "", @@ -792,6 +793,7 @@ "Open file": "", "Open in full screen": "", "Open new chat": "", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "", diff --git a/src/lib/i18n/locales/en-US/translation.json b/src/lib/i18n/locales/en-US/translation.json index 3be18a5cb..37c7bc5e5 100644 --- a/src/lib/i18n/locales/en-US/translation.json +++ b/src/lib/i18n/locales/en-US/translation.json @@ -654,6 +654,7 @@ "LDAP": "", "LDAP server updated": "", "Leaderboard": "", + "Learn more about OpenAPI tool servers.": "", "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": "", @@ -792,6 +793,7 @@ "Open file": "", "Open in full screen": "", "Open new chat": "", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "", diff --git a/src/lib/i18n/locales/es-ES/translation.json b/src/lib/i18n/locales/es-ES/translation.json index 60b2bc797..dd3a60aa2 100644 --- a/src/lib/i18n/locales/es-ES/translation.json +++ b/src/lib/i18n/locales/es-ES/translation.json @@ -654,6 +654,7 @@ "LDAP": "LDAP", "LDAP server updated": "Servidor LDAP actualizado", "Leaderboard": "Tabla Clasificatoria", + "Learn more about OpenAPI tool servers.": "", "Leave empty for unlimited": "Dejar vacío para ilimitado", "Leave empty to include all models from \"{{url}}/api/tags\" endpoint": "Dejar vacío para incluir todos los modelos desde el endpoint \"{{url}}/api/tags\"", "Leave empty to include all models from \"{{url}}/models\" endpoint": "Dejar vacío para incluir todos los modelos desde el endpoint \"{{url}}/models\"", @@ -792,6 +793,7 @@ "Open file": "Abrir archivo", "Open in full screen": "Abrir en pantalla completa", "Open new chat": "Abrir nuevo chat", + "Open WebUI can use tools provided by any OpenAPI server.": "", "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 la incrustración de locutores de CMU Arctic.", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "La versión de Open-WebUI (v{{OPEN_WEBUI_VERSION}}) es inferior a la versión (v{{REQUIRED_VERSION}}) requerida", diff --git a/src/lib/i18n/locales/et-EE/translation.json b/src/lib/i18n/locales/et-EE/translation.json index 21632598d..d994363a9 100644 --- a/src/lib/i18n/locales/et-EE/translation.json +++ b/src/lib/i18n/locales/et-EE/translation.json @@ -654,6 +654,7 @@ "LDAP": "LDAP", "LDAP server updated": "LDAP server uuendatud", "Leaderboard": "Edetabel", + "Learn more about OpenAPI tool servers.": "", "Leave empty for unlimited": "Jäta tühjaks piiranguta kasutamiseks", "Leave empty to include all models from \"{{url}}/api/tags\" endpoint": "", "Leave empty to include all models from \"{{url}}/models\" endpoint": "", @@ -792,6 +793,7 @@ "Open file": "Ava fail", "Open in full screen": "Ava täisekraanil", "Open new chat": "Ava uus vestlus", + "Open WebUI can use tools provided by any OpenAPI server.": "", "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}})", diff --git a/src/lib/i18n/locales/eu-ES/translation.json b/src/lib/i18n/locales/eu-ES/translation.json index 0630a6c58..0bff61f77 100644 --- a/src/lib/i18n/locales/eu-ES/translation.json +++ b/src/lib/i18n/locales/eu-ES/translation.json @@ -654,6 +654,7 @@ "LDAP": "LDAP", "LDAP server updated": "LDAP zerbitzaria eguneratu da", "Leaderboard": "Sailkapena", + "Learn more about OpenAPI tool servers.": "", "Leave empty for unlimited": "Utzi hutsik mugarik ez jartzeko", "Leave empty to include all models from \"{{url}}/api/tags\" endpoint": "", "Leave empty to include all models from \"{{url}}/models\" endpoint": "", @@ -792,6 +793,7 @@ "Open file": "Ireki fitxategia", "Open in full screen": "Ireki pantaila osoan", "Open new chat": "Ireki txat berria", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "Open WebUI-k faster-whisper erabiltzen du barnean.", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "Open WebUI-k SpeechT5 eta CMU Arctic hiztun txertaketak erabiltzen ditu.", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "Open WebUI bertsioa (v{{OPEN_WEBUI_VERSION}}) beharrezko bertsioa (v{{REQUIRED_VERSION}}) baino baxuagoa da", diff --git a/src/lib/i18n/locales/fa-IR/translation.json b/src/lib/i18n/locales/fa-IR/translation.json index e2f2e4898..e4d9bbf3a 100644 --- a/src/lib/i18n/locales/fa-IR/translation.json +++ b/src/lib/i18n/locales/fa-IR/translation.json @@ -654,6 +654,7 @@ "LDAP": "", "LDAP server updated": "", "Leaderboard": "", + "Learn more about OpenAPI tool servers.": "", "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": "", @@ -792,6 +793,7 @@ "Open file": "", "Open in full screen": "", "Open new chat": "باز کردن گپ جدید", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "", diff --git a/src/lib/i18n/locales/fi-FI/translation.json b/src/lib/i18n/locales/fi-FI/translation.json index 7c36ac9a4..a67fbef01 100644 --- a/src/lib/i18n/locales/fi-FI/translation.json +++ b/src/lib/i18n/locales/fi-FI/translation.json @@ -654,6 +654,7 @@ "LDAP": "LDAP", "LDAP server updated": "LDAP-palvelin päivitetty", "Leaderboard": "Tulosluettelo", + "Learn more about OpenAPI tool servers.": "", "Leave empty for unlimited": "Rajaton tyhjäksi jättämällä", "Leave empty to include all models from \"{{url}}/api/tags\" endpoint": "Jätä tyhjäksi sisällyttääksesi \"{{url}}/api/tags\" päätepisteen mallit", "Leave empty to include all models from \"{{url}}/models\" endpoint": "Jätä tyhjäksi sisällyttääksesi \"{{url}}/models\" päätepisteen mallit", @@ -792,6 +793,7 @@ "Open file": "Avaa tiedosto", "Open in full screen": "Avaa koko näytön tilaan", "Open new chat": "Avaa uusi keskustelu", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "Open WebUI käyttää faster-whisperia sisäisesti.", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "Open WebUI käyttää SpeechT5:tä ja CMU Arctic -kaiuttimen upotuksia.", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "Open WebUI -versio (v{{OPEN_WEBUI_VERSION}}) on alempi kuin vaadittu versio (v{{REQUIRED_VERSION}})", diff --git a/src/lib/i18n/locales/fr-CA/translation.json b/src/lib/i18n/locales/fr-CA/translation.json index 60d7cac6c..e76918ebc 100644 --- a/src/lib/i18n/locales/fr-CA/translation.json +++ b/src/lib/i18n/locales/fr-CA/translation.json @@ -654,6 +654,7 @@ "LDAP": "", "LDAP server updated": "", "Leaderboard": "", + "Learn more about OpenAPI tool servers.": "", "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": "", @@ -792,6 +793,7 @@ "Open file": "", "Open in full screen": "", "Open new chat": "Ouvrir une nouvelle discussion", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "", diff --git a/src/lib/i18n/locales/fr-FR/translation.json b/src/lib/i18n/locales/fr-FR/translation.json index 23183c061..f62f896ca 100644 --- a/src/lib/i18n/locales/fr-FR/translation.json +++ b/src/lib/i18n/locales/fr-FR/translation.json @@ -654,6 +654,7 @@ "LDAP": "LDAP", "LDAP server updated": "Serveur LDAP mis à jour", "Leaderboard": "Classement", + "Learn more about OpenAPI tool servers.": "", "Leave empty for unlimited": "Laissez vide pour illimité", "Leave empty to include all models from \"{{url}}/api/tags\" endpoint": "", "Leave empty to include all models from \"{{url}}/models\" endpoint": "", @@ -792,6 +793,7 @@ "Open file": "Ouvrir le fichier", "Open in full screen": "Ouvrir en plein écran", "Open new chat": "Ouvrir une nouvelle conversation", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "Open WebUI utilise faster-whisper en interne.", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "Open WebUI utilise SpeechT5 et les embeddings de locuteur CMU Arctic.", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "La version Open WebUI (v{{OPEN_WEBUI_VERSION}}) est inférieure à la version requise (v{{REQUIRED_VERSION}})", diff --git a/src/lib/i18n/locales/he-IL/translation.json b/src/lib/i18n/locales/he-IL/translation.json index 2d9f831fe..f7bbc0b08 100644 --- a/src/lib/i18n/locales/he-IL/translation.json +++ b/src/lib/i18n/locales/he-IL/translation.json @@ -654,6 +654,7 @@ "LDAP": "", "LDAP server updated": "", "Leaderboard": "", + "Learn more about OpenAPI tool servers.": "", "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": "", @@ -792,6 +793,7 @@ "Open file": "", "Open in full screen": "", "Open new chat": "פתח צ'אט חדש", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "", diff --git a/src/lib/i18n/locales/hi-IN/translation.json b/src/lib/i18n/locales/hi-IN/translation.json index 7103218e5..98c34f37b 100644 --- a/src/lib/i18n/locales/hi-IN/translation.json +++ b/src/lib/i18n/locales/hi-IN/translation.json @@ -654,6 +654,7 @@ "LDAP": "", "LDAP server updated": "", "Leaderboard": "", + "Learn more about OpenAPI tool servers.": "", "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": "", @@ -792,6 +793,7 @@ "Open file": "", "Open in full screen": "", "Open new chat": "नई चैट खोलें", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "", diff --git a/src/lib/i18n/locales/hr-HR/translation.json b/src/lib/i18n/locales/hr-HR/translation.json index ea5e146b0..0010a5687 100644 --- a/src/lib/i18n/locales/hr-HR/translation.json +++ b/src/lib/i18n/locales/hr-HR/translation.json @@ -654,6 +654,7 @@ "LDAP": "", "LDAP server updated": "", "Leaderboard": "", + "Learn more about OpenAPI tool servers.": "", "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": "", @@ -792,6 +793,7 @@ "Open file": "", "Open in full screen": "", "Open new chat": "Otvorite novi razgovor", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "", diff --git a/src/lib/i18n/locales/hu-HU/translation.json b/src/lib/i18n/locales/hu-HU/translation.json index f72600fa4..6413670a5 100644 --- a/src/lib/i18n/locales/hu-HU/translation.json +++ b/src/lib/i18n/locales/hu-HU/translation.json @@ -654,6 +654,7 @@ "LDAP": "", "LDAP server updated": "", "Leaderboard": "Ranglista", + "Learn more about OpenAPI tool servers.": "", "Leave empty for unlimited": "Hagyja üresen a korlátlan használathoz", "Leave empty to include all models from \"{{url}}/api/tags\" endpoint": "", "Leave empty to include all models from \"{{url}}/models\" endpoint": "", @@ -792,6 +793,7 @@ "Open file": "Fájl megnyitása", "Open in full screen": "Megnyitás teljes képernyőn", "Open new chat": "Új beszélgetés megnyitása", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "Az Open WebUI belsőleg a faster-whispert használja.", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "Az Open WebUI verzió (v{{OPEN_WEBUI_VERSION}}) alacsonyabb, mint a szükséges verzió (v{{REQUIRED_VERSION}})", diff --git a/src/lib/i18n/locales/id-ID/translation.json b/src/lib/i18n/locales/id-ID/translation.json index 668c16cb0..ac8b9d6ff 100644 --- a/src/lib/i18n/locales/id-ID/translation.json +++ b/src/lib/i18n/locales/id-ID/translation.json @@ -654,6 +654,7 @@ "LDAP": "", "LDAP server updated": "", "Leaderboard": "", + "Learn more about OpenAPI tool servers.": "", "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": "", @@ -792,6 +793,7 @@ "Open file": "", "Open in full screen": "", "Open new chat": "Buka obrolan baru", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "", diff --git a/src/lib/i18n/locales/ie-GA/translation.json b/src/lib/i18n/locales/ie-GA/translation.json index d6ba8c2a5..38497fe00 100644 --- a/src/lib/i18n/locales/ie-GA/translation.json +++ b/src/lib/i18n/locales/ie-GA/translation.json @@ -654,6 +654,7 @@ "LDAP": "LDAP", "LDAP server updated": "Nuashonraíodh freastalaí LDAP", "Leaderboard": "An Clár Ceannairí", + "Learn more about OpenAPI tool servers.": "", "Leave empty for unlimited": "Fág folamh le haghaidh neamhtheoranta", "Leave empty to include all models from \"{{url}}/api/tags\" endpoint": "", "Leave empty to include all models from \"{{url}}/models\" endpoint": "", @@ -792,6 +793,7 @@ "Open file": "Oscail comhad", "Open in full screen": "Oscail i scáileán iomlán", "Open new chat": "Oscail comhrá nua", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "Úsáideann Open WebUI cogar níos tapúla go hinmheánach.", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "Úsáideann Open WebUI úsáidí SpeechT5 agus CMU leabaithe cainteoir Artach.", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "Tá leagan WebUI oscailte (v{{OPEN_WEBUI_VERSION}}) níos ísle ná an leagan riachtanach (v{{REQUIRED_VERSION}})", diff --git a/src/lib/i18n/locales/it-IT/translation.json b/src/lib/i18n/locales/it-IT/translation.json index 463c6a51a..1f3170aff 100644 --- a/src/lib/i18n/locales/it-IT/translation.json +++ b/src/lib/i18n/locales/it-IT/translation.json @@ -654,6 +654,7 @@ "LDAP": "", "LDAP server updated": "", "Leaderboard": "", + "Learn more about OpenAPI tool servers.": "", "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": "", @@ -792,6 +793,7 @@ "Open file": "", "Open in full screen": "", "Open new chat": "Apri nuova chat", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "", diff --git a/src/lib/i18n/locales/ja-JP/translation.json b/src/lib/i18n/locales/ja-JP/translation.json index 945e4b63c..b75311689 100644 --- a/src/lib/i18n/locales/ja-JP/translation.json +++ b/src/lib/i18n/locales/ja-JP/translation.json @@ -654,6 +654,7 @@ "LDAP": "", "LDAP server updated": "", "Leaderboard": "", + "Learn more about OpenAPI tool servers.": "", "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": "", @@ -792,6 +793,7 @@ "Open file": "", "Open in full screen": "", "Open new chat": "新しいチャットを開く", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "", diff --git a/src/lib/i18n/locales/ka-GE/translation.json b/src/lib/i18n/locales/ka-GE/translation.json index d490b53d0..3e716f68c 100644 --- a/src/lib/i18n/locales/ka-GE/translation.json +++ b/src/lib/i18n/locales/ka-GE/translation.json @@ -654,6 +654,7 @@ "LDAP": "LDAP", "LDAP server updated": "", "Leaderboard": "ლიდერების დაფა", + "Learn more about OpenAPI tool servers.": "", "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": "", @@ -792,6 +793,7 @@ "Open file": "ფაილის გახსნა", "Open in full screen": "მთელ ეკრანზე გახსნა", "Open new chat": "ახალი ჩატის გახსნა", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "", diff --git a/src/lib/i18n/locales/ko-KR/translation.json b/src/lib/i18n/locales/ko-KR/translation.json index 6ee8a306c..520b20607 100644 --- a/src/lib/i18n/locales/ko-KR/translation.json +++ b/src/lib/i18n/locales/ko-KR/translation.json @@ -654,6 +654,7 @@ "LDAP": "", "LDAP server updated": "", "Leaderboard": "리더보드", + "Learn more about OpenAPI tool servers.": "", "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": "", @@ -792,6 +793,7 @@ "Open file": "파일 열기", "Open in full screen": "전체화면으로 열기", "Open new chat": "새 채팅 열기", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "Open WebUI는 내부적으로 패스트 위스퍼를 사용합니다.", "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}})": "열린 WebUI 버젼(v{{OPEN_WEBUI_VERSION}})은 최소 버젼 (v{{REQUIRED_VERSION}})보다 낮습니다", diff --git a/src/lib/i18n/locales/lt-LT/translation.json b/src/lib/i18n/locales/lt-LT/translation.json index a01cb958f..99cabd6cb 100644 --- a/src/lib/i18n/locales/lt-LT/translation.json +++ b/src/lib/i18n/locales/lt-LT/translation.json @@ -654,6 +654,7 @@ "LDAP": "", "LDAP server updated": "", "Leaderboard": "", + "Learn more about OpenAPI tool servers.": "", "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": "", @@ -792,6 +793,7 @@ "Open file": "", "Open in full screen": "", "Open new chat": "Atverti naują pokalbį", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "Tortue Chat versija per sena. Reikalinga (v{{REQUIRED_VERSION}}) versija.", diff --git a/src/lib/i18n/locales/ms-MY/translation.json b/src/lib/i18n/locales/ms-MY/translation.json index 065e69ddd..1b3a4ee78 100644 --- a/src/lib/i18n/locales/ms-MY/translation.json +++ b/src/lib/i18n/locales/ms-MY/translation.json @@ -654,6 +654,7 @@ "LDAP": "", "LDAP server updated": "", "Leaderboard": "", + "Learn more about OpenAPI tool servers.": "", "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": "", @@ -792,6 +793,7 @@ "Open file": "", "Open in full screen": "", "Open new chat": "Buka perbualan baru", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) adalah lebih rendah daripada versi yang diperlukan iaitu (v{{REQUIRED_VERSION}})", diff --git a/src/lib/i18n/locales/nb-NO/translation.json b/src/lib/i18n/locales/nb-NO/translation.json index a483ff838..b922054be 100644 --- a/src/lib/i18n/locales/nb-NO/translation.json +++ b/src/lib/i18n/locales/nb-NO/translation.json @@ -654,6 +654,7 @@ "LDAP": "LDAP", "LDAP server updated": "LDAP-server oppdatert", "Leaderboard": "Ledertavle", + "Learn more about OpenAPI tool servers.": "", "Leave empty for unlimited": "La stå tomt for ubegrenset", "Leave empty to include all models from \"{{url}}/api/tags\" endpoint": "", "Leave empty to include all models from \"{{url}}/models\" endpoint": "", @@ -792,6 +793,7 @@ "Open file": "Åpne fil", "Open in full screen": "Åpne i fullskjerm", "Open new chat": "Åpne ny chat", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "Open WebUI bruker faster-whisper internt.", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "Open WebUI bruker SpeechT5 og CMU Arctic-høytalerinnbygginger", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "Open WebUI-versjonen (v{{OPEN_WEBUI_VERSION}}) er lavere enn den påkrevde versjonen (v{{REQUIRED_VERSION}})", diff --git a/src/lib/i18n/locales/nl-NL/translation.json b/src/lib/i18n/locales/nl-NL/translation.json index 3503a3b66..bb63a9e6f 100644 --- a/src/lib/i18n/locales/nl-NL/translation.json +++ b/src/lib/i18n/locales/nl-NL/translation.json @@ -654,6 +654,7 @@ "LDAP": "LDAP", "LDAP server updated": "LDAP-server bijgewerkt", "Leaderboard": "Klassement", + "Learn more about OpenAPI tool servers.": "", "Leave empty for unlimited": "Laat leeg voor ongelimiteerd", "Leave empty to include all models from \"{{url}}/api/tags\" endpoint": "Laat leeg om alle modellen van het \"{{url}}/api/tags\"-endpoint mee te nemen", "Leave empty to include all models from \"{{url}}/models\" endpoint": "Laat leeg om alle modellen van \"{{url}}/models\"-endpoint mee te nemen", @@ -792,6 +793,7 @@ "Open file": "Open bestand", "Open in full screen": "Open in volledig scherm", "Open new chat": "Open nieuwe chat", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "Open WebUI gebruikt faster-whisper intern", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "Open WebUI gebruikt SpeechT5 en CMU Arctic spreker-embeddings", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "Open WebUI versie (v{{OPEN_WEBUI_VERSION}}) is kleiner dan de benodigde versie (v{{REQUIRED_VERSION}})", diff --git a/src/lib/i18n/locales/pa-IN/translation.json b/src/lib/i18n/locales/pa-IN/translation.json index dc71c326a..b6a2d6d81 100644 --- a/src/lib/i18n/locales/pa-IN/translation.json +++ b/src/lib/i18n/locales/pa-IN/translation.json @@ -654,6 +654,7 @@ "LDAP": "", "LDAP server updated": "", "Leaderboard": "", + "Learn more about OpenAPI tool servers.": "", "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": "", @@ -792,6 +793,7 @@ "Open file": "", "Open in full screen": "", "Open new chat": "ਨਵੀਂ ਗੱਲਬਾਤ ਖੋਲ੍ਹੋ", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "", diff --git a/src/lib/i18n/locales/pl-PL/translation.json b/src/lib/i18n/locales/pl-PL/translation.json index 82bd83dad..9a0a129f8 100644 --- a/src/lib/i18n/locales/pl-PL/translation.json +++ b/src/lib/i18n/locales/pl-PL/translation.json @@ -654,6 +654,7 @@ "LDAP": "LDAP", "LDAP server updated": "Serwer LDAP został zaktualizowany", "Leaderboard": "Tablica wyników", + "Learn more about OpenAPI tool servers.": "", "Leave empty for unlimited": "Pozostaw puste dla nieograniczonego", "Leave empty to include all models from \"{{url}}/api/tags\" endpoint": "", "Leave empty to include all models from \"{{url}}/models\" endpoint": "", @@ -792,6 +793,7 @@ "Open file": "Otwórz plik", "Open in full screen": "Otwórz na pełny ekran", "Open new chat": "Otwórz nową rozmowę", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "Open WebUI korzysta wewnętrznie z szybszego faster-whisper.", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "Otwarta WebUI wykorzystuje SpeechT5 i wbudowane zbiory danych mówcy CMU Arctic.", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "Wersja Open WebUI (v{{OPEN_WEBUI_VERSION}}) jest niższa niż wymagana wersja (v{{REQUIRED_VERSION}})", diff --git a/src/lib/i18n/locales/pt-BR/translation.json b/src/lib/i18n/locales/pt-BR/translation.json index 3b5a55f56..abd2cdaf8 100644 --- a/src/lib/i18n/locales/pt-BR/translation.json +++ b/src/lib/i18n/locales/pt-BR/translation.json @@ -654,6 +654,7 @@ "LDAP": "", "LDAP server updated": "Servidor LDAP atualizado", "Leaderboard": "Tabela de classificação", + "Learn more about OpenAPI tool servers.": "", "Leave empty for unlimited": "Deixe vazio para ilimitado", "Leave empty to include all models from \"{{url}}/api/tags\" endpoint": "", "Leave empty to include all models from \"{{url}}/models\" endpoint": "", @@ -792,6 +793,7 @@ "Open file": "Abrir arquivo", "Open in full screen": "Abrir em tela cheia", "Open new chat": "Abrir novo chat", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "Open WebUI usa faster-whisper internamente.", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "A Open WebUI usa os embeddings de voz do SpeechT5 e do CMU Arctic.", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "A versão do Open WebUI (v{{OPEN_WEBUI_VERSION}}) é inferior à versão necessária (v{{REQUIRED_VERSION}})", diff --git a/src/lib/i18n/locales/pt-PT/translation.json b/src/lib/i18n/locales/pt-PT/translation.json index 206e0d7f3..4e4f1496d 100644 --- a/src/lib/i18n/locales/pt-PT/translation.json +++ b/src/lib/i18n/locales/pt-PT/translation.json @@ -654,6 +654,7 @@ "LDAP": "", "LDAP server updated": "", "Leaderboard": "", + "Learn more about OpenAPI tool servers.": "", "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": "", @@ -792,6 +793,7 @@ "Open file": "", "Open in full screen": "", "Open new chat": "Abrir nova conversa", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "", diff --git a/src/lib/i18n/locales/ro-RO/translation.json b/src/lib/i18n/locales/ro-RO/translation.json index 194e7a910..66894bc82 100644 --- a/src/lib/i18n/locales/ro-RO/translation.json +++ b/src/lib/i18n/locales/ro-RO/translation.json @@ -654,6 +654,7 @@ "LDAP": "", "LDAP server updated": "", "Leaderboard": "Tabel de clasament", + "Learn more about OpenAPI tool servers.": "", "Leave empty for unlimited": "Lăsați gol pentru nelimitat", "Leave empty to include all models from \"{{url}}/api/tags\" endpoint": "", "Leave empty to include all models from \"{{url}}/models\" endpoint": "", @@ -792,6 +793,7 @@ "Open file": "Deschide fișierul", "Open in full screen": "Deschide în ecran complet", "Open new chat": "Deschide conversație nouă", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "Open WebUI folosește faster-whisper intern.", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "Versiunea Open WebUI (v{{OPEN_WEBUI_VERSION}}) este mai mică decât versiunea necesară (v{{REQUIRED_VERSION}})", diff --git a/src/lib/i18n/locales/ru-RU/translation.json b/src/lib/i18n/locales/ru-RU/translation.json index 1d7347084..c37cabaf3 100644 --- a/src/lib/i18n/locales/ru-RU/translation.json +++ b/src/lib/i18n/locales/ru-RU/translation.json @@ -654,6 +654,7 @@ "LDAP": "", "LDAP server updated": "LDAP сервер обновлен", "Leaderboard": "Таблица Лидеров", + "Learn more about OpenAPI tool servers.": "", "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": "", @@ -792,6 +793,7 @@ "Open file": "Открыть файл", "Open in full screen": "Открыть на весь экран", "Open new chat": "Открыть новый чат", + "Open WebUI can use tools provided by any OpenAPI server.": "", "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}})", diff --git a/src/lib/i18n/locales/sk-SK/translation.json b/src/lib/i18n/locales/sk-SK/translation.json index b61be673d..5148c064b 100644 --- a/src/lib/i18n/locales/sk-SK/translation.json +++ b/src/lib/i18n/locales/sk-SK/translation.json @@ -654,6 +654,7 @@ "LDAP": "", "LDAP server updated": "", "Leaderboard": "Rebríček", + "Learn more about OpenAPI tool servers.": "", "Leave empty for unlimited": "Nechajte prázdne pre neobmedzene", "Leave empty to include all models from \"{{url}}/api/tags\" endpoint": "", "Leave empty to include all models from \"{{url}}/models\" endpoint": "", @@ -792,6 +793,7 @@ "Open file": "Otvoriť súbor", "Open in full screen": "Otvoriť na celú obrazovku", "Open new chat": "Otvoriť nový chat", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "Open WebUI interne používa faster-whisper.", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "Verzia Open WebUI (v{{OPEN_WEBUI_VERSION}}) je nižšia ako požadovaná verzia (v{{REQUIRED_VERSION}})", diff --git a/src/lib/i18n/locales/sr-RS/translation.json b/src/lib/i18n/locales/sr-RS/translation.json index deb160c10..a796ff86a 100644 --- a/src/lib/i18n/locales/sr-RS/translation.json +++ b/src/lib/i18n/locales/sr-RS/translation.json @@ -654,6 +654,7 @@ "LDAP": "ЛДАП", "LDAP server updated": "ЛДАП сервер измењен", "Leaderboard": "Ранг листа", + "Learn more about OpenAPI tool servers.": "", "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": "", @@ -792,6 +793,7 @@ "Open file": "", "Open in full screen": "", "Open new chat": "Покрени ново ћаскање", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "", diff --git a/src/lib/i18n/locales/sv-SE/translation.json b/src/lib/i18n/locales/sv-SE/translation.json index 56a8968d2..c7d4df10c 100644 --- a/src/lib/i18n/locales/sv-SE/translation.json +++ b/src/lib/i18n/locales/sv-SE/translation.json @@ -654,6 +654,7 @@ "LDAP": "", "LDAP server updated": "", "Leaderboard": "", + "Learn more about OpenAPI tool servers.": "", "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": "", @@ -792,6 +793,7 @@ "Open file": "", "Open in full screen": "", "Open new chat": "Öppna ny chatt", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "", diff --git a/src/lib/i18n/locales/th-TH/translation.json b/src/lib/i18n/locales/th-TH/translation.json index c67ffd96b..ba0739eac 100644 --- a/src/lib/i18n/locales/th-TH/translation.json +++ b/src/lib/i18n/locales/th-TH/translation.json @@ -654,6 +654,7 @@ "LDAP": "", "LDAP server updated": "", "Leaderboard": "", + "Learn more about OpenAPI tool servers.": "", "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": "", @@ -792,6 +793,7 @@ "Open file": "", "Open in full screen": "", "Open new chat": "เปิดแชทใหม่", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "เวอร์ชั่น Open WebUI (v{{OPEN_WEBUI_VERSION}}) ต่ำกว่าเวอร์ชั่นที่ต้องการ (v{{REQUIRED_VERSION}})", diff --git a/src/lib/i18n/locales/tk-TW/translation.json b/src/lib/i18n/locales/tk-TW/translation.json index 3be18a5cb..37c7bc5e5 100644 --- a/src/lib/i18n/locales/tk-TW/translation.json +++ b/src/lib/i18n/locales/tk-TW/translation.json @@ -654,6 +654,7 @@ "LDAP": "", "LDAP server updated": "", "Leaderboard": "", + "Learn more about OpenAPI tool servers.": "", "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": "", @@ -792,6 +793,7 @@ "Open file": "", "Open in full screen": "", "Open new chat": "", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "", diff --git a/src/lib/i18n/locales/tr-TR/translation.json b/src/lib/i18n/locales/tr-TR/translation.json index 178603a61..08ef55c70 100644 --- a/src/lib/i18n/locales/tr-TR/translation.json +++ b/src/lib/i18n/locales/tr-TR/translation.json @@ -654,6 +654,7 @@ "LDAP": "LDAP", "LDAP server updated": "LDAP sunucusu güncellendi", "Leaderboard": "Liderlik Tablosu", + "Learn more about OpenAPI tool servers.": "", "Leave empty for unlimited": "Sınırsız için boş bırakınız", "Leave empty to include all models from \"{{url}}/api/tags\" endpoint": "", "Leave empty to include all models from \"{{url}}/models\" endpoint": "", @@ -792,6 +793,7 @@ "Open file": "Dosyayı aç", "Open in full screen": "Tam ekranda aç", "Open new chat": "Yeni sohbet aç", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "Open WebUI, dahili olarak daha hızlı-fısıltı kullanır.", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "Open WebUI, SpeechT5 ve CMU Arctic konuşmacı gömme kullanır.", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "Open-WebUI sürümü (v{{OPEN_WEBUI_VERSION}}) gerekli sürümden (v{{REQUIRED_VERSION}}) düşük", diff --git a/src/lib/i18n/locales/uk-UA/translation.json b/src/lib/i18n/locales/uk-UA/translation.json index 7c6de4297..3beea0288 100644 --- a/src/lib/i18n/locales/uk-UA/translation.json +++ b/src/lib/i18n/locales/uk-UA/translation.json @@ -654,6 +654,7 @@ "LDAP": "LDAP", "LDAP server updated": "Сервер LDAP оновлено", "Leaderboard": "Таблиця лідерів", + "Learn more about OpenAPI tool servers.": "", "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\"", @@ -792,6 +793,7 @@ "Open file": "Відкрити файл", "Open in full screen": "Відкрити на весь екран", "Open new chat": "Відкрити новий чат", + "Open WebUI can use tools provided by any OpenAPI server.": "", "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}})", diff --git a/src/lib/i18n/locales/ur-PK/translation.json b/src/lib/i18n/locales/ur-PK/translation.json index fca00b884..847cfdb67 100644 --- a/src/lib/i18n/locales/ur-PK/translation.json +++ b/src/lib/i18n/locales/ur-PK/translation.json @@ -654,6 +654,7 @@ "LDAP": "", "LDAP server updated": "", "Leaderboard": "لیڈر بورڈ", + "Learn more about OpenAPI tool servers.": "", "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": "", @@ -792,6 +793,7 @@ "Open file": "فائل کھولیں", "Open in full screen": "پوری اسکرین میں کھولیں", "Open new chat": "نیا چیٹ کھولیں", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "اوپن ویب یو آئی اندرونی طور پر فاسٹر وِسپر استعمال کرتا ہے", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "اوپن WebUI ورژن (v{{OPEN_WEBUI_VERSION}}) مطلوبہ ورژن (v{{REQUIRED_VERSION}}) سے کم ہے", diff --git a/src/lib/i18n/locales/vi-VN/translation.json b/src/lib/i18n/locales/vi-VN/translation.json index 9eb02430f..f7794b9cb 100644 --- a/src/lib/i18n/locales/vi-VN/translation.json +++ b/src/lib/i18n/locales/vi-VN/translation.json @@ -654,6 +654,7 @@ "LDAP": "LDAP", "LDAP server updated": "Đã cập nhật máy chủ LDAP", "Leaderboard": "Bảng xếp hạng", + "Learn more about OpenAPI tool servers.": "", "Leave empty for unlimited": "Để trống nếu không giới hạn", "Leave empty to include all models from \"{{url}}/api/tags\" endpoint": "Để trống để bao gồm tất cả các mô hình từ điểm cuối \"{{url}}/api/tags\"", "Leave empty to include all models from \"{{url}}/models\" endpoint": "Để trống để bao gồm tất cả các mô hình từ điểm cuối \"{{url}}/models\"", @@ -792,6 +793,7 @@ "Open file": "Mở tệp", "Open in full screen": "Mở toàn màn hình", "Open new chat": "Mở nội dung chat mới", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "Open WebUI sử dụng faster-whisper bên trong.", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "Open WebUI sử dụng SpeechT5 và các embedding giọng nói CMU Arctic.", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "Phiên bản Open WebUI (v{{OPEN_WEBUI_VERSION}}) hiện thấp hơn phiên bản bắt buộc (v{{REQUIRED_VERSION}})", diff --git a/src/lib/i18n/locales/zh-CN/translation.json b/src/lib/i18n/locales/zh-CN/translation.json index 45b1b6e34..2db30902b 100644 --- a/src/lib/i18n/locales/zh-CN/translation.json +++ b/src/lib/i18n/locales/zh-CN/translation.json @@ -534,7 +534,7 @@ "Forge new paths": "开拓新道路", "Form": "手动创建", "Format your variables using brackets like this:": "使用括号格式化你的变量,如下所示:", - "Forwards system user session credentials to authenticate": "转发系统用户 session 凭证以进行身份​​验证", + "Forwards system user session credentials to authenticate": "转发系统用户 session 凭证以进行身份\u200b\u200b验证", "Frequency Penalty": "频率惩罚", "Full Context Mode": "完整上下文模式", "Function": "函数", @@ -654,6 +654,7 @@ "LDAP": "LDAP", "LDAP server updated": "LDAP 服务器已更新", "Leaderboard": "排行榜", + "Learn more about OpenAPI tool servers.": "", "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\" 端点的所有模型", @@ -792,6 +793,7 @@ "Open file": "打开文件", "Open in full screen": "全屏打开", "Open new chat": "打开新对话", + "Open WebUI can use tools provided by any OpenAPI server.": "", "Open WebUI uses faster-whisper internally.": "Open WebUI 使用内置 faster-whisper。", "Open WebUI uses SpeechT5 and CMU Arctic speaker embeddings.": "Open WebUI 使用 SpeechT5 和 CMU Arctic speaker embedding。", "Open WebUI version (v{{OPEN_WEBUI_VERSION}}) is lower than required version (v{{REQUIRED_VERSION}})": "当前 Open WebUI 版本 (v{{OPEN_WEBUI_VERSION}}) 低于所需的版本 (v{{REQUIRED_VERSION}})", diff --git a/src/lib/i18n/locales/zh-TW/translation.json b/src/lib/i18n/locales/zh-TW/translation.json index d55898d10..0624d1eef 100644 --- a/src/lib/i18n/locales/zh-TW/translation.json +++ b/src/lib/i18n/locales/zh-TW/translation.json @@ -654,6 +654,7 @@ "LDAP": "LDAP", "LDAP server updated": "LDAP 伺服器已更新", "Leaderboard": "排行榜", + "Learn more about OpenAPI tool servers.": "", "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\" 端點的所有模型。", @@ -792,6 +793,7 @@ "Open file": "開啟檔案", "Open in full screen": "全螢幕開啟", "Open new chat": "開啟新的對話", + "Open WebUI can use tools provided by any OpenAPI server.": "", "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}})", From 155dbd5a6692a3454f7d1f5a11d50fd108a4189b Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Sun, 6 Apr 2025 15:45:48 -0700 Subject: [PATCH 21/40] refac --- backend/open_webui/routers/retrieval.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/backend/open_webui/routers/retrieval.py b/backend/open_webui/routers/retrieval.py index 654d3f2b5..045366900 100644 --- a/backend/open_webui/routers/retrieval.py +++ b/backend/open_webui/routers/retrieval.py @@ -174,7 +174,7 @@ class ProcessUrlForm(CollectionNameForm): url: str -class SearchForm(CollectionNameForm): +class SearchForm(BaseModel): query: str @@ -1464,10 +1464,6 @@ async def process_web_search( log.debug(f"web_results: {web_results}") try: - collection_basename = form_data.collection_name - if collection_basename == "" or collection_basename is None: - collection_basename = "web-search" - urls = [result.link for result in web_results] loader = get_web_loader( urls, @@ -1476,7 +1472,9 @@ async def process_web_search( trust_env=request.app.state.config.RAG_WEB_SEARCH_TRUST_ENV, ) docs = await loader.aload() - urls = [doc.metadata["source"] for doc in docs] # only keep URLs which could be retrieved + urls = [ + doc.metadata["source"] for doc in docs + ] # only keep URLs which could be retrieved if request.app.state.config.BYPASS_WEB_SEARCH_EMBEDDING_AND_RETRIEVAL: return { @@ -1495,14 +1493,17 @@ async def process_web_search( else: collection_names = [] for doc_idx, doc in enumerate(docs): - collection_sha = calculate_sha256_string(f"{form_data.query}-{urls[doc_idx]}") - doc_collection_name = f"{collection_basename}-{collection_sha}"[:63] - collection_names.append(doc_collection_name) + collection_name = f"web-search-{calculate_sha256_string( + f"{form_data.query}-{urls[doc_idx]}" + )}"[:63] + collection_names.append(collection_name) + + await run_in_threadpool( save_docs_to_vector_db, request, [doc], - doc_collection_name, + collection_name, overwrite=True, user=user, ) From f243e523a6f6f9007a8b380b5323cac53db51170 Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Sun, 6 Apr 2025 15:52:38 -0700 Subject: [PATCH 22/40] refac --- backend/open_webui/routers/retrieval.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/backend/open_webui/routers/retrieval.py b/backend/open_webui/routers/retrieval.py index 045366900..9b52a04b7 100644 --- a/backend/open_webui/routers/retrieval.py +++ b/backend/open_webui/routers/retrieval.py @@ -1493,11 +1493,11 @@ async def process_web_search( else: collection_names = [] for doc_idx, doc in enumerate(docs): - collection_name = f"web-search-{calculate_sha256_string( - f"{form_data.query}-{urls[doc_idx]}" - )}"[:63] - collection_names.append(collection_name) + collection_name = f"web-search-{calculate_sha256_string(form_data.query + '-' + urls[doc_idx])}"[ + :63 + ] + collection_names.append(collection_name) await run_in_threadpool( save_docs_to_vector_db, From 2722613cdec27a8925438aea8574a2355780810e Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Sun, 6 Apr 2025 16:43:58 -0700 Subject: [PATCH 23/40] refac --- src/lib/i18n/locales/languages.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib/i18n/locales/languages.json b/src/lib/i18n/locales/languages.json index 29bbfa199..1a3f589b1 100644 --- a/src/lib/i18n/locales/languages.json +++ b/src/lib/i18n/locales/languages.json @@ -1,8 +1,4 @@ [ - { - "code": "ar", - "title": "Arabic (العربية)" - }, { "code": "en-US", "title": "English (US)" @@ -11,6 +7,10 @@ "code": "en-GB", "title": "English (GB)" }, + { + "code": "ar", + "title": "Arabic (العربية)" + }, { "code": "ar-BH", "title": "Arabic (Bahrain)" From 5d2e725f81f5573765c1ec2cf9f79962435667a7 Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Sun, 6 Apr 2025 16:53:30 -0700 Subject: [PATCH 24/40] refac --- src/lib/components/chat/MessageInput.svelte | 1 + .../chat/Messages/Markdown/MarkdownTokens.svelte | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte index 985311a98..0bf56cb4b 100644 --- a/src/lib/components/chat/MessageInput.svelte +++ b/src/lib/components/chat/MessageInput.svelte @@ -821,6 +821,7 @@ {:else}