Browse Source

Merge pull request #8122 from open-webui/dev

0.5.2
Timothy Jaeryang Baek 4 months ago
parent
commit
e42cbf07f5
73 changed files with 675 additions and 195 deletions
  1. 17 0
      CHANGELOG.md
  2. 23 11
      backend/open_webui/config.py
  3. 7 0
      backend/open_webui/main.py
  4. 1 1
      backend/open_webui/routers/audio.py
  5. 14 0
      backend/open_webui/routers/auths.py
  6. 3 7
      backend/open_webui/routers/pipelines.py
  7. 1 1
      backend/open_webui/routers/retrieval.py
  8. 11 1
      backend/open_webui/routers/users.py
  9. 49 15
      backend/open_webui/socket/main.py
  10. 10 5
      backend/open_webui/utils/auth.py
  11. 5 1
      backend/open_webui/utils/middleware.py
  12. 6 19
      backend/open_webui/utils/response.py
  13. 2 2
      package-lock.json
  14. 1 1
      package.json
  15. 38 2
      src/lib/components/admin/Settings/General.svelte
  16. 52 2
      src/lib/components/channel/Channel.svelte
  17. 55 33
      src/lib/components/channel/MessageInput.svelte
  18. 8 5
      src/lib/components/channel/Messages/Message.svelte
  19. 85 0
      src/lib/components/channel/Messages/Message/ProfilePreview.svelte
  20. 4 2
      src/lib/components/common/Dropdown.svelte
  21. 3 3
      src/lib/components/layout/Sidebar/UserMenu.svelte
  22. 2 2
      src/lib/components/playground/Chat.svelte
  23. 5 1
      src/lib/i18n/locales/ar-BH/translation.json
  24. 5 1
      src/lib/i18n/locales/bg-BG/translation.json
  25. 5 1
      src/lib/i18n/locales/bn-BD/translation.json
  26. 26 22
      src/lib/i18n/locales/ca-ES/translation.json
  27. 5 1
      src/lib/i18n/locales/ceb-PH/translation.json
  28. 5 1
      src/lib/i18n/locales/cs-CZ/translation.json
  29. 5 1
      src/lib/i18n/locales/da-DK/translation.json
  30. 5 1
      src/lib/i18n/locales/de-DE/translation.json
  31. 5 1
      src/lib/i18n/locales/dg-DG/translation.json
  32. 5 1
      src/lib/i18n/locales/el-GR/translation.json
  33. 5 1
      src/lib/i18n/locales/en-GB/translation.json
  34. 5 1
      src/lib/i18n/locales/en-US/translation.json
  35. 5 1
      src/lib/i18n/locales/es-ES/translation.json
  36. 5 1
      src/lib/i18n/locales/eu-ES/translation.json
  37. 5 1
      src/lib/i18n/locales/fa-IR/translation.json
  38. 5 1
      src/lib/i18n/locales/fi-FI/translation.json
  39. 5 1
      src/lib/i18n/locales/fr-CA/translation.json
  40. 5 1
      src/lib/i18n/locales/fr-FR/translation.json
  41. 5 1
      src/lib/i18n/locales/he-IL/translation.json
  42. 5 1
      src/lib/i18n/locales/hi-IN/translation.json
  43. 5 1
      src/lib/i18n/locales/hr-HR/translation.json
  44. 5 1
      src/lib/i18n/locales/hu-HU/translation.json
  45. 5 1
      src/lib/i18n/locales/id-ID/translation.json
  46. 5 1
      src/lib/i18n/locales/ie-GA/translation.json
  47. 5 1
      src/lib/i18n/locales/it-IT/translation.json
  48. 5 1
      src/lib/i18n/locales/ja-JP/translation.json
  49. 5 1
      src/lib/i18n/locales/ka-GE/translation.json
  50. 5 1
      src/lib/i18n/locales/ko-KR/translation.json
  51. 5 1
      src/lib/i18n/locales/lt-LT/translation.json
  52. 5 1
      src/lib/i18n/locales/ms-MY/translation.json
  53. 5 1
      src/lib/i18n/locales/nb-NO/translation.json
  54. 5 1
      src/lib/i18n/locales/nl-NL/translation.json
  55. 5 1
      src/lib/i18n/locales/pa-IN/translation.json
  56. 5 1
      src/lib/i18n/locales/pl-PL/translation.json
  57. 5 1
      src/lib/i18n/locales/pt-BR/translation.json
  58. 5 1
      src/lib/i18n/locales/pt-PT/translation.json
  59. 5 1
      src/lib/i18n/locales/ro-RO/translation.json
  60. 5 1
      src/lib/i18n/locales/ru-RU/translation.json
  61. 5 1
      src/lib/i18n/locales/sk-SK/translation.json
  62. 5 1
      src/lib/i18n/locales/sr-RS/translation.json
  63. 5 1
      src/lib/i18n/locales/sv-SE/translation.json
  64. 5 1
      src/lib/i18n/locales/th-TH/translation.json
  65. 5 1
      src/lib/i18n/locales/tk-TW/translation.json
  66. 5 1
      src/lib/i18n/locales/tr-TR/translation.json
  67. 5 1
      src/lib/i18n/locales/uk-UA/translation.json
  68. 5 1
      src/lib/i18n/locales/ur-PK/translation.json
  69. 5 1
      src/lib/i18n/locales/vi-VN/translation.json
  70. 12 8
      src/lib/i18n/locales/zh-CN/translation.json
  71. 5 1
      src/lib/i18n/locales/zh-TW/translation.json
  72. 1 1
      src/lib/stores/index.ts
  73. 4 4
      src/routes/+layout.svelte

+ 17 - 0
CHANGELOG.md

@@ -5,6 +5,23 @@ All notable changes to this project will be documented in this file.
 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
 and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
 and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
 
 
+## [0.5.2] - 2024-12-26
+
+### Added
+
+- **🖊️ Typing Indicators in Channels**: Know exactly who’s typing in real-time within your channels, enhancing collaboration and keeping everyone engaged.
+- **👤 User Status Indicators**: Quickly view a user’s status by clicking their profile image in channels for better coordination and availability insights.
+- **🔒 Configurable API Key Authentication Restrictions**: Flexibly configure endpoint restrictions for API key authentication, now off by default for a smoother setup in trusted environments.
+
+### Fixed
+
+- **🔧 Playground Functionality Restored**: Resolved a critical issue where the playground wasn’t working, ensuring seamless experimentation and troubleshooting workflows.
+- **📊 Corrected Ollama Usage Statistics**: Fixed a calculation error in Ollama’s usage statistics, providing more accurate tracking and insights for better resource management.
+- **🔗 Pipelines Outlet Hook Registration**: Addressed an issue where outlet hooks for pipelines weren’t registered, restoring functionality and consistency in pipeline workflows.
+- **🎨 Image Generation Error**: Resolved a persistent issue causing errors with 'get_automatic1111_api_auth()' to ensure smooth image generation workflows.
+- **🎙️ Text-to-Speech Error**: Fixed the missing argument in Eleven Labs’ 'get_available_voices()', restoring full text-to-speech capabilities for uninterrupted voice interactions.
+- **🖋️ Title Generation Issue**: Fixed a bug where title generation was not working in certain cases, ensuring consistent and reliable chat organization.
+
 ## [0.5.1] - 2024-12-25
 ## [0.5.1] - 2024-12-25
 
 
 ### Added
 ### Added

+ 23 - 11
backend/open_webui/config.py

@@ -272,6 +272,18 @@ ENABLE_API_KEY = PersistentConfig(
     os.environ.get("ENABLE_API_KEY", "True").lower() == "true",
     os.environ.get("ENABLE_API_KEY", "True").lower() == "true",
 )
 )
 
 
+ENABLE_API_KEY_ENDPOINT_RESTRICTIONS = PersistentConfig(
+    "ENABLE_API_KEY_ENDPOINT_RESTRICTIONS",
+    "auth.api_key.endpoint_restrictions",
+    os.environ.get("ENABLE_API_KEY_ENDPOINT_RESTRICTIONS", "False").lower() == "true",
+)
+
+API_KEY_ALLOWED_ENDPOINTS = PersistentConfig(
+    "API_KEY_ALLOWED_ENDPOINTS",
+    "auth.api_key.allowed_endpoints",
+    os.environ.get("API_KEY_ALLOWED_ENDPOINTS", ""),
+)
+
 
 
 JWT_EXPIRES_IN = PersistentConfig(
 JWT_EXPIRES_IN = PersistentConfig(
     "JWT_EXPIRES_IN", "auth.jwt_expiry", os.environ.get("JWT_EXPIRES_IN", "-1")
     "JWT_EXPIRES_IN", "auth.jwt_expiry", os.environ.get("JWT_EXPIRES_IN", "-1")
@@ -307,17 +319,6 @@ GOOGLE_CLIENT_SECRET = PersistentConfig(
     os.environ.get("GOOGLE_CLIENT_SECRET", ""),
     os.environ.get("GOOGLE_CLIENT_SECRET", ""),
 )
 )
 
 
-GOOGLE_DRIVE_CLIENT_ID = PersistentConfig(
-    "GOOGLE_DRIVE_CLIENT_ID",
-    "google_drive.client_id",
-    os.environ.get("GOOGLE_DRIVE_CLIENT_ID", ""),
-)
-
-GOOGLE_DRIVE_API_KEY = PersistentConfig(
-    "GOOGLE_DRIVE_API_KEY",
-    "google_drive.api_key",
-    os.environ.get("GOOGLE_DRIVE_API_KEY", ""),
-)
 
 
 GOOGLE_OAUTH_SCOPE = PersistentConfig(
 GOOGLE_OAUTH_SCOPE = PersistentConfig(
     "GOOGLE_OAUTH_SCOPE",
     "GOOGLE_OAUTH_SCOPE",
@@ -1223,6 +1224,17 @@ ENABLE_GOOGLE_DRIVE_INTEGRATION = PersistentConfig(
     os.getenv("ENABLE_GOOGLE_DRIVE_INTEGRATION", "False").lower() == "true",
     os.getenv("ENABLE_GOOGLE_DRIVE_INTEGRATION", "False").lower() == "true",
 )
 )
 
 
+GOOGLE_DRIVE_CLIENT_ID = PersistentConfig(
+    "GOOGLE_DRIVE_CLIENT_ID",
+    "google_drive.client_id",
+    os.environ.get("GOOGLE_DRIVE_CLIENT_ID", ""),
+)
+
+GOOGLE_DRIVE_API_KEY = PersistentConfig(
+    "GOOGLE_DRIVE_API_KEY",
+    "google_drive.api_key",
+    os.environ.get("GOOGLE_DRIVE_API_KEY", ""),
+)
 
 
 # RAG Content Extraction
 # RAG Content Extraction
 CONTENT_EXTRACTION_ENGINE = PersistentConfig(
 CONTENT_EXTRACTION_ENGINE = PersistentConfig(

+ 7 - 0
backend/open_webui/main.py

@@ -199,6 +199,8 @@ from open_webui.config import (
     ENABLE_SIGNUP,
     ENABLE_SIGNUP,
     ENABLE_LOGIN_FORM,
     ENABLE_LOGIN_FORM,
     ENABLE_API_KEY,
     ENABLE_API_KEY,
+    ENABLE_API_KEY_ENDPOINT_RESTRICTIONS,
+    API_KEY_ALLOWED_ENDPOINTS,
     ENABLE_CHANNELS,
     ENABLE_CHANNELS,
     ENABLE_COMMUNITY_SHARING,
     ENABLE_COMMUNITY_SHARING,
     ENABLE_MESSAGE_RATING,
     ENABLE_MESSAGE_RATING,
@@ -392,7 +394,12 @@ app.state.OPENAI_MODELS = {}
 app.state.config.WEBUI_URL = WEBUI_URL
 app.state.config.WEBUI_URL = WEBUI_URL
 app.state.config.ENABLE_SIGNUP = ENABLE_SIGNUP
 app.state.config.ENABLE_SIGNUP = ENABLE_SIGNUP
 app.state.config.ENABLE_LOGIN_FORM = ENABLE_LOGIN_FORM
 app.state.config.ENABLE_LOGIN_FORM = ENABLE_LOGIN_FORM
+
 app.state.config.ENABLE_API_KEY = ENABLE_API_KEY
 app.state.config.ENABLE_API_KEY = ENABLE_API_KEY
+app.state.config.ENABLE_API_KEY_ENDPOINT_RESTRICTIONS = (
+    ENABLE_API_KEY_ENDPOINT_RESTRICTIONS
+)
+app.state.config.API_KEY_ALLOWED_ENDPOINTS = API_KEY_ALLOWED_ENDPOINTS
 
 
 app.state.config.JWT_EXPIRES_IN = JWT_EXPIRES_IN
 app.state.config.JWT_EXPIRES_IN = JWT_EXPIRES_IN
 
 

+ 1 - 1
backend/open_webui/routers/audio.py

@@ -311,7 +311,7 @@ async def speech(request: Request, user=Depends(get_verified_user)):
     elif request.app.state.config.TTS_ENGINE == "elevenlabs":
     elif request.app.state.config.TTS_ENGINE == "elevenlabs":
         voice_id = payload.get("voice", "")
         voice_id = payload.get("voice", "")
 
 
-        if voice_id not in get_available_voices():
+        if voice_id not in get_available_voices(request):
             raise HTTPException(
             raise HTTPException(
                 status_code=400,
                 status_code=400,
                 detail="Invalid voice id",
                 detail="Invalid voice id",

+ 14 - 0
backend/open_webui/routers/auths.py

@@ -616,6 +616,8 @@ async def get_admin_config(request: Request, user=Depends(get_admin_user)):
         "WEBUI_URL": request.app.state.config.WEBUI_URL,
         "WEBUI_URL": request.app.state.config.WEBUI_URL,
         "ENABLE_SIGNUP": request.app.state.config.ENABLE_SIGNUP,
         "ENABLE_SIGNUP": request.app.state.config.ENABLE_SIGNUP,
         "ENABLE_API_KEY": request.app.state.config.ENABLE_API_KEY,
         "ENABLE_API_KEY": request.app.state.config.ENABLE_API_KEY,
+        "ENABLE_API_KEY_ENDPOINT_RESTRICTIONS": request.app.state.config.ENABLE_API_KEY_ENDPOINT_RESTRICTIONS,
+        "API_KEY_ALLOWED_ENDPOINTS": request.app.state.config.API_KEY_ALLOWED_ENDPOINTS,
         "ENABLE_CHANNELS": request.app.state.config.ENABLE_CHANNELS,
         "ENABLE_CHANNELS": request.app.state.config.ENABLE_CHANNELS,
         "DEFAULT_USER_ROLE": request.app.state.config.DEFAULT_USER_ROLE,
         "DEFAULT_USER_ROLE": request.app.state.config.DEFAULT_USER_ROLE,
         "JWT_EXPIRES_IN": request.app.state.config.JWT_EXPIRES_IN,
         "JWT_EXPIRES_IN": request.app.state.config.JWT_EXPIRES_IN,
@@ -629,6 +631,8 @@ class AdminConfig(BaseModel):
     WEBUI_URL: str
     WEBUI_URL: str
     ENABLE_SIGNUP: bool
     ENABLE_SIGNUP: bool
     ENABLE_API_KEY: bool
     ENABLE_API_KEY: bool
+    ENABLE_API_KEY_ENDPOINT_RESTRICTIONS: bool
+    API_KEY_ALLOWED_ENDPOINTS: str
     ENABLE_CHANNELS: bool
     ENABLE_CHANNELS: bool
     DEFAULT_USER_ROLE: str
     DEFAULT_USER_ROLE: str
     JWT_EXPIRES_IN: str
     JWT_EXPIRES_IN: str
@@ -643,7 +647,15 @@ async def update_admin_config(
     request.app.state.config.SHOW_ADMIN_DETAILS = form_data.SHOW_ADMIN_DETAILS
     request.app.state.config.SHOW_ADMIN_DETAILS = form_data.SHOW_ADMIN_DETAILS
     request.app.state.config.WEBUI_URL = form_data.WEBUI_URL
     request.app.state.config.WEBUI_URL = form_data.WEBUI_URL
     request.app.state.config.ENABLE_SIGNUP = form_data.ENABLE_SIGNUP
     request.app.state.config.ENABLE_SIGNUP = form_data.ENABLE_SIGNUP
+
     request.app.state.config.ENABLE_API_KEY = form_data.ENABLE_API_KEY
     request.app.state.config.ENABLE_API_KEY = form_data.ENABLE_API_KEY
+    request.app.state.config.ENABLE_API_KEY_ENDPOINT_RESTRICTIONS = (
+        form_data.ENABLE_API_KEY_ENDPOINT_RESTRICTIONS
+    )
+    request.app.state.config.API_KEY_ALLOWED_ENDPOINTS = (
+        form_data.API_KEY_ALLOWED_ENDPOINTS
+    )
+
     request.app.state.config.ENABLE_CHANNELS = form_data.ENABLE_CHANNELS
     request.app.state.config.ENABLE_CHANNELS = form_data.ENABLE_CHANNELS
 
 
     if form_data.DEFAULT_USER_ROLE in ["pending", "user", "admin"]:
     if form_data.DEFAULT_USER_ROLE in ["pending", "user", "admin"]:
@@ -665,6 +677,8 @@ async def update_admin_config(
         "WEBUI_URL": request.app.state.config.WEBUI_URL,
         "WEBUI_URL": request.app.state.config.WEBUI_URL,
         "ENABLE_SIGNUP": request.app.state.config.ENABLE_SIGNUP,
         "ENABLE_SIGNUP": request.app.state.config.ENABLE_SIGNUP,
         "ENABLE_API_KEY": request.app.state.config.ENABLE_API_KEY,
         "ENABLE_API_KEY": request.app.state.config.ENABLE_API_KEY,
+        "ENABLE_API_KEY_ENDPOINT_RESTRICTIONS": request.app.state.config.ENABLE_API_KEY_ENDPOINT_RESTRICTIONS,
+        "API_KEY_ALLOWED_ENDPOINTS": request.app.state.config.API_KEY_ALLOWED_ENDPOINTS,
         "ENABLE_CHANNELS": request.app.state.config.ENABLE_CHANNELS,
         "ENABLE_CHANNELS": request.app.state.config.ENABLE_CHANNELS,
         "DEFAULT_USER_ROLE": request.app.state.config.DEFAULT_USER_ROLE,
         "DEFAULT_USER_ROLE": request.app.state.config.DEFAULT_USER_ROLE,
         "JWT_EXPIRES_IN": request.app.state.config.JWT_EXPIRES_IN,
         "JWT_EXPIRES_IN": request.app.state.config.JWT_EXPIRES_IN,

+ 3 - 7
backend/open_webui/routers/pipelines.py

@@ -124,18 +124,14 @@ def process_pipeline_outlet_filter(request, payload, user, models):
                     f"{url}/{filter['id']}/filter/outlet",
                     f"{url}/{filter['id']}/filter/outlet",
                     headers={"Authorization": f"Bearer {key}"},
                     headers={"Authorization": f"Bearer {key}"},
                     json={
                     json={
-                        "user": {
-                            "id": user.id,
-                            "name": user.name,
-                            "email": user.email,
-                            "role": user.role,
-                        },
-                        "body": data,
+                        "user": user,
+                        "body": payload,
                     },
                     },
                 )
                 )
 
 
                 r.raise_for_status()
                 r.raise_for_status()
                 data = r.json()
                 data = r.json()
+                payload = data
         except Exception as e:
         except Exception as e:
             # Handle connection error here
             # Handle connection error here
             print(f"Connection error: {e}")
             print(f"Connection error: {e}")

+ 1 - 1
backend/open_webui/routers/retrieval.py

@@ -347,7 +347,7 @@ async def get_rag_config(request: Request, user=Depends(get_admin_user)):
     return {
     return {
         "status": True,
         "status": True,
         "pdf_extract_images": request.app.state.config.PDF_EXTRACT_IMAGES,
         "pdf_extract_images": request.app.state.config.PDF_EXTRACT_IMAGES,
-        "ENABLE_GOOGLE_DRIVE_INTEGRATION": request.app.state.config.ENABLE_GOOGLE_DRIVE_INTEGRATION,
+        "enable_google_drive_integration": request.app.state.config.ENABLE_GOOGLE_DRIVE_INTEGRATION,
         "content_extraction": {
         "content_extraction": {
             "engine": request.app.state.config.CONTENT_EXTRACTION_ENGINE,
             "engine": request.app.state.config.CONTENT_EXTRACTION_ENGINE,
             "tika_server_url": request.app.state.config.TIKA_SERVER_URL,
             "tika_server_url": request.app.state.config.TIKA_SERVER_URL,

+ 11 - 1
backend/open_webui/routers/users.py

@@ -10,6 +10,9 @@ from open_webui.models.users import (
     UserSettings,
     UserSettings,
     UserUpdateForm,
     UserUpdateForm,
 )
 )
+
+
+from open_webui.socket.main import get_active_status_by_user_id
 from open_webui.constants import ERROR_MESSAGES
 from open_webui.constants import ERROR_MESSAGES
 from open_webui.env import SRC_LOG_LEVELS
 from open_webui.env import SRC_LOG_LEVELS
 from fastapi import APIRouter, Depends, HTTPException, Request, status
 from fastapi import APIRouter, Depends, HTTPException, Request, status
@@ -196,6 +199,7 @@ async def update_user_info_by_session_user(
 class UserResponse(BaseModel):
 class UserResponse(BaseModel):
     name: str
     name: str
     profile_image_url: str
     profile_image_url: str
+    active: Optional[bool] = None
 
 
 
 
 @router.get("/{user_id}", response_model=UserResponse)
 @router.get("/{user_id}", response_model=UserResponse)
@@ -216,7 +220,13 @@ async def get_user_by_id(user_id: str, user=Depends(get_verified_user)):
     user = Users.get_user_by_id(user_id)
     user = Users.get_user_by_id(user_id)
 
 
     if user:
     if user:
-        return UserResponse(name=user.name, profile_image_url=user.profile_image_url)
+        return UserResponse(
+            **{
+                "name": user.name,
+                "profile_image_url": user.profile_image_url,
+                "active": get_active_status_by_user_id(user_id),
+            }
+        )
     else:
     else:
         raise HTTPException(
         raise HTTPException(
             status_code=status.HTTP_400_BAD_REQUEST,
             status_code=status.HTTP_400_BAD_REQUEST,

+ 49 - 15
backend/open_webui/socket/main.py

@@ -4,7 +4,7 @@ import logging
 import sys
 import sys
 import time
 import time
 
 
-from open_webui.models.users import Users
+from open_webui.models.users import Users, UserNameResponse
 from open_webui.models.channels import Channels
 from open_webui.models.channels import Channels
 from open_webui.models.chats import Chats
 from open_webui.models.chats import Chats
 
 
@@ -152,14 +152,14 @@ async def connect(sid, environ, auth):
             user = Users.get_user_by_id(data["id"])
             user = Users.get_user_by_id(data["id"])
 
 
         if user:
         if user:
-            SESSION_POOL[sid] = user.id
+            SESSION_POOL[sid] = user.model_dump()
             if user.id in USER_POOL:
             if user.id in USER_POOL:
                 USER_POOL[user.id] = USER_POOL[user.id] + [sid]
                 USER_POOL[user.id] = USER_POOL[user.id] + [sid]
             else:
             else:
                 USER_POOL[user.id] = [sid]
                 USER_POOL[user.id] = [sid]
 
 
             # print(f"user {user.name}({user.id}) connected with session ID {sid}")
             # print(f"user {user.name}({user.id}) connected with session ID {sid}")
-            await sio.emit("user-count", {"count": len(USER_POOL.items())})
+            await sio.emit("user-list", {"user_ids": list(USER_POOL.keys())})
             await sio.emit("usage", {"models": get_models_in_use()})
             await sio.emit("usage", {"models": get_models_in_use()})
 
 
 
 
@@ -178,7 +178,7 @@ async def user_join(sid, data):
     if not user:
     if not user:
         return
         return
 
 
-    SESSION_POOL[sid] = user.id
+    SESSION_POOL[sid] = user.model_dump()
     if user.id in USER_POOL:
     if user.id in USER_POOL:
         USER_POOL[user.id] = USER_POOL[user.id] + [sid]
         USER_POOL[user.id] = USER_POOL[user.id] + [sid]
     else:
     else:
@@ -192,7 +192,7 @@ async def user_join(sid, data):
 
 
     # print(f"user {user.name}({user.id}) connected with session ID {sid}")
     # print(f"user {user.name}({user.id}) connected with session ID {sid}")
 
 
-    await sio.emit("user-count", {"count": len(USER_POOL.items())})
+    await sio.emit("user-list", {"user_ids": list(USER_POOL.keys())})
     return {"id": user.id, "name": user.name}
     return {"id": user.id, "name": user.name}
 
 
 
 
@@ -217,28 +217,51 @@ async def join_channel(sid, data):
         await sio.enter_room(sid, f"channel:{channel.id}")
         await sio.enter_room(sid, f"channel:{channel.id}")
 
 
 
 
-@sio.on("user-count")
-async def user_count(sid):
-    await sio.emit("user-count", {"count": len(USER_POOL.items())})
+@sio.on("channel-events")
+async def channel_events(sid, data):
+    room = f"channel:{data['channel_id']}"
+    participants = sio.manager.get_participants(
+        namespace="/",
+        room=room,
+    )
+
+    sids = [sid for sid, _ in participants]
+    if sid not in sids:
+        return
+
+    event_data = data["data"]
+    event_type = event_data["type"]
+
+    if event_type == "typing":
+        await sio.emit(
+            "channel-events",
+            {
+                "channel_id": data["channel_id"],
+                "data": event_data,
+                "user": UserNameResponse(**SESSION_POOL[sid]).model_dump(),
+            },
+            room=room,
+        )
 
 
 
 
-@sio.on("chat")
-async def chat(sid, data):
-    print("chat", sid, SESSION_POOL[sid], data)
+@sio.on("user-list")
+async def user_list(sid):
+    await sio.emit("user-list", {"user_ids": list(USER_POOL.keys())})
 
 
 
 
 @sio.event
 @sio.event
 async def disconnect(sid):
 async def disconnect(sid):
     if sid in SESSION_POOL:
     if sid in SESSION_POOL:
-        user_id = SESSION_POOL[sid]
+        user = SESSION_POOL[sid]
         del SESSION_POOL[sid]
         del SESSION_POOL[sid]
 
 
+        user_id = user["id"]
         USER_POOL[user_id] = [_sid for _sid in USER_POOL[user_id] if _sid != sid]
         USER_POOL[user_id] = [_sid for _sid in USER_POOL[user_id] if _sid != sid]
 
 
         if len(USER_POOL[user_id]) == 0:
         if len(USER_POOL[user_id]) == 0:
             del USER_POOL[user_id]
             del USER_POOL[user_id]
 
 
-        await sio.emit("user-count", {"count": len(USER_POOL)})
+        await sio.emit("user-list", {"user_ids": list(USER_POOL.keys())})
     else:
     else:
         pass
         pass
         # print(f"Unknown session ID {sid} disconnected")
         # print(f"Unknown session ID {sid} disconnected")
@@ -289,7 +312,10 @@ def get_event_call(request_info):
 
 
 
 
 def get_user_id_from_session_pool(sid):
 def get_user_id_from_session_pool(sid):
-    return SESSION_POOL.get(sid)
+    user = SESSION_POOL.get(sid)
+    if user:
+        return user["id"]
+    return None
 
 
 
 
 def get_user_ids_from_room(room):
 def get_user_ids_from_room(room):
@@ -299,6 +325,14 @@ def get_user_ids_from_room(room):
     )
     )
 
 
     active_user_ids = list(
     active_user_ids = list(
-        set([SESSION_POOL.get(session_id[0]) for session_id in active_session_ids])
+        set(
+            [SESSION_POOL.get(session_id[0])["id"] for session_id in active_session_ids]
+        )
     )
     )
     return active_user_ids
     return active_user_ids
+
+
+def get_active_status_by_user_id(user_id):
+    if user_id in USER_POOL:
+        return True
+    return False

+ 10 - 5
backend/open_webui/utils/auth.py

@@ -96,11 +96,16 @@ def get_current_user(
                 status.HTTP_403_FORBIDDEN, detail=ERROR_MESSAGES.API_KEY_NOT_ALLOWED
                 status.HTTP_403_FORBIDDEN, detail=ERROR_MESSAGES.API_KEY_NOT_ALLOWED
             )
             )
 
 
-        allowed_paths = ["/api/models", "/api/chat/completions"]
-        if request.url.path not in allowed_paths:
-            raise HTTPException(
-                status.HTTP_403_FORBIDDEN, detail=ERROR_MESSAGES.API_KEY_NOT_ALLOWED
-            )
+        if request.app.state.ENABLE_API_KEY_ENDPOINT_RESTRICTIONS:
+            allowed_paths = [
+                path.strip()
+                for path in str(request.app.state.API_KEY_ALLOWED_PATHS).split(",")
+            ]
+
+            if request.url.path not in allowed_paths:
+                raise HTTPException(
+                    status.HTTP_403_FORBIDDEN, detail=ERROR_MESSAGES.API_KEY_NOT_ALLOWED
+                )
 
 
         return get_current_user_by_api_key(token)
         return get_current_user_by_api_key(token)
 
 

+ 5 - 1
backend/open_webui/utils/middleware.py

@@ -776,7 +776,10 @@ async def process_chat_response(
                                     "content",
                                     "content",
                                     message.get("content", "New Chat"),
                                     message.get("content", "New Chat"),
                                 )
                                 )
-                            )
+                            ).strip()
+
+                            if not title:
+                                title = messages[0].get("content", "New Chat")
 
 
                             Chats.update_chat_title_by_id(metadata["chat_id"], title)
                             Chats.update_chat_title_by_id(metadata["chat_id"], title)
 
 
@@ -1056,4 +1059,5 @@ async def process_chat_response(
         return StreamingResponse(
         return StreamingResponse(
             stream_wrapper(response.body_iterator, events),
             stream_wrapper(response.body_iterator, events),
             headers=dict(response.headers),
             headers=dict(response.headers),
+            background=response.background,
         )
         )

+ 6 - 19
backend/open_webui/utils/response.py

@@ -29,7 +29,7 @@ async def convert_streaming_response_ollama_to_openai(ollama_streaming_response)
                         (
                         (
                             (
                             (
                                 data.get("eval_count", 0)
                                 data.get("eval_count", 0)
-                                / ((data.get("eval_duration", 0) / 1_000_000_000))
+                                / ((data.get("eval_duration", 0) / 1_000_000))
                             )
                             )
                             * 100
                             * 100
                         ),
                         ),
@@ -43,12 +43,7 @@ async def convert_streaming_response_ollama_to_openai(ollama_streaming_response)
                         (
                         (
                             (
                             (
                                 data.get("prompt_eval_count", 0)
                                 data.get("prompt_eval_count", 0)
-                                / (
-                                    (
-                                        data.get("prompt_eval_duration", 0)
-                                        / 1_000_000_000
-                                    )
-                                )
+                                / ((data.get("prompt_eval_duration", 0) / 1_000_000))
                             )
                             )
                             * 100
                             * 100
                         ),
                         ),
@@ -57,20 +52,12 @@ async def convert_streaming_response_ollama_to_openai(ollama_streaming_response)
                     if data.get("prompt_eval_duration", 0) > 0
                     if data.get("prompt_eval_duration", 0) > 0
                     else "N/A"
                     else "N/A"
                 ),
                 ),
-                "total_duration": round(
-                    ((data.get("total_duration", 0) / 1_000_000) * 100), 2
-                ),
-                "load_duration": round(
-                    ((data.get("load_duration", 0) / 1_000_000) * 100), 2
-                ),
+                "total_duration": data.get("total_duration", 0),
+                "load_duration": data.get("load_duration", 0),
                 "prompt_eval_count": data.get("prompt_eval_count", 0),
                 "prompt_eval_count": data.get("prompt_eval_count", 0),
-                "prompt_eval_duration": round(
-                    ((data.get("prompt_eval_duration", 0) / 1_000_000) * 100), 2
-                ),
+                "prompt_eval_duration": data.get("prompt_eval_duration", 0),
                 "eval_count": data.get("eval_count", 0),
                 "eval_count": data.get("eval_count", 0),
-                "eval_duration": round(
-                    ((data.get("eval_duration", 0) / 1_000_000) * 100), 2
-                ),
+                "eval_duration": data.get("eval_duration", 0),
                 "approximate_total": (
                 "approximate_total": (
                     lambda s: f"{s // 3600}h{(s % 3600) // 60}m{s % 60}s"
                     lambda s: f"{s // 3600}h{(s % 3600) // 60}m{s % 60}s"
                 )((data.get("total_duration", 0) or 0) // 1_000_000_000),
                 )((data.get("total_duration", 0) or 0) // 1_000_000_000),

+ 2 - 2
package-lock.json

@@ -1,12 +1,12 @@
 {
 {
 	"name": "open-webui",
 	"name": "open-webui",
-	"version": "0.5.1",
+	"version": "0.5.2",
 	"lockfileVersion": 3,
 	"lockfileVersion": 3,
 	"requires": true,
 	"requires": true,
 	"packages": {
 	"packages": {
 		"": {
 		"": {
 			"name": "open-webui",
 			"name": "open-webui",
-			"version": "0.5.1",
+			"version": "0.5.2",
 			"dependencies": {
 			"dependencies": {
 				"@codemirror/lang-javascript": "^6.2.2",
 				"@codemirror/lang-javascript": "^6.2.2",
 				"@codemirror/lang-python": "^6.1.6",
 				"@codemirror/lang-python": "^6.1.6",

+ 1 - 1
package.json

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

+ 38 - 2
src/lib/components/admin/Settings/General.svelte

@@ -112,12 +112,48 @@
 					</div>
 					</div>
 				</div>
 				</div>
 
 
-				<div class=" flex w-full justify-between pr-2">
-					<div class=" self-center text-xs font-medium">{$i18n.t('Enable API Key Auth')}</div>
+				<div class=" flex w-full justify-between pr-2 my-3">
+					<div class=" self-center text-xs font-medium">{$i18n.t('Enable API Key')}</div>
 
 
 					<Switch bind:state={adminConfig.ENABLE_API_KEY} />
 					<Switch bind:state={adminConfig.ENABLE_API_KEY} />
 				</div>
 				</div>
 
 
+				{#if adminConfig?.ENABLE_API_KEY}
+					<div class=" flex w-full justify-between pr-2 my-3">
+						<div class=" self-center text-xs font-medium">
+							{$i18n.t('API Key Endpoint Restrictions')}
+						</div>
+
+						<Switch bind:state={adminConfig.ENABLE_API_KEY_ENDPOINT_RESTRICTIONS} />
+					</div>
+
+					{#if adminConfig?.ENABLE_API_KEY_ENDPOINT_RESTRICTIONS}
+						<div class=" flex w-full flex-col pr-2">
+							<div class=" text-xs font-medium">
+								{$i18n.t('Allowed Endpoints')}
+							</div>
+
+							<input
+								class="w-full mt-1 rounded-lg text-sm dark:text-gray-300 bg-transparent outline-none"
+								type="text"
+								placeholder={`e.g.) /api/v1/messages, /api/v1/channels`}
+								bind:value={adminConfig.API_KEY_ALLOWED_ENDPOINTS}
+							/>
+
+							<div class="mt-2 text-xs text-gray-400 dark:text-gray-500">
+								<!-- https://docs.openwebui.com/getting-started/advanced-topics/api-endpoints -->
+								<a
+									href="https://docs.openwebui.com/getting-started/advanced-topics/api-endpoints"
+									target="_blank"
+									class=" text-gray-300 font-medium underline"
+								>
+									{$i18n.t('To learn more about available endpoints, visit our documentation.')}
+								</a>
+							</div>
+						</div>
+					{/if}
+				{/if}
+
 				<hr class=" border-gray-50 dark:border-gray-850 my-2" />
 				<hr class=" border-gray-50 dark:border-gray-850 my-2" />
 
 
 				<div class="my-3 flex w-full items-center justify-between pr-2">
 				<div class="my-3 flex w-full items-center justify-between pr-2">

+ 52 - 2
src/lib/components/channel/Channel.svelte

@@ -2,7 +2,7 @@
 	import { toast } from 'svelte-sonner';
 	import { toast } from 'svelte-sonner';
 	import { onDestroy, onMount, tick } from 'svelte';
 	import { onDestroy, onMount, tick } from 'svelte';
 
 
-	import { chatId, showSidebar, socket } from '$lib/stores';
+	import { chatId, showSidebar, socket, user } from '$lib/stores';
 	import { getChannelById, getChannelMessages, sendMessage } from '$lib/apis/channels';
 	import { getChannelById, getChannelMessages, sendMessage } from '$lib/apis/channels';
 
 
 	import Messages from './Messages.svelte';
 	import Messages from './Messages.svelte';
@@ -20,6 +20,9 @@
 	let channel = null;
 	let channel = null;
 	let messages = null;
 	let messages = null;
 
 
+	let typingUsers = [];
+	let typingUsersTimeout = {};
+
 	$: if (id) {
 	$: if (id) {
 		initHandler();
 		initHandler();
 	}
 	}
@@ -62,6 +65,11 @@
 			if (type === 'message') {
 			if (type === 'message') {
 				console.log('message', data);
 				console.log('message', data);
 				messages = [data, ...messages];
 				messages = [data, ...messages];
+
+				if (typingUsers.find((user) => user.id === event.user.id)) {
+					typingUsers = typingUsers.filter((user) => user.id !== event.user.id);
+				}
+
 				await tick();
 				await tick();
 				if (scrollEnd) {
 				if (scrollEnd) {
 					messagesContainerElement.scrollTop = messagesContainerElement.scrollHeight;
 					messagesContainerElement.scrollTop = messagesContainerElement.scrollHeight;
@@ -76,6 +84,32 @@
 			} else if (type === 'message:delete') {
 			} else if (type === 'message:delete') {
 				console.log('message:delete', data);
 				console.log('message:delete', data);
 				messages = messages.filter((message) => message.id !== data.id);
 				messages = messages.filter((message) => message.id !== data.id);
+			} else if (type === 'typing') {
+				if (event.user.id === $user.id) {
+					return;
+				}
+
+				typingUsers = data.typing
+					? [
+							...typingUsers,
+							...(typingUsers.find((user) => user.id === event.user.id)
+								? []
+								: [
+										{
+											id: event.user.id,
+											name: event.user.name
+										}
+									])
+						]
+					: typingUsers.filter((user) => user.id !== event.user.id);
+
+				if (typingUsersTimeout[event.user.id]) {
+					clearTimeout(typingUsersTimeout[event.user.id]);
+				}
+
+				typingUsersTimeout[event.user.id] = setTimeout(() => {
+					typingUsers = typingUsers.filter((user) => user.id !== event.user.id);
+				}, 5000);
 			}
 			}
 		}
 		}
 	};
 	};
@@ -97,6 +131,18 @@
 		}
 		}
 	};
 	};
 
 
+	const onChange = async () => {
+		$socket?.emit('channel-events', {
+			channel_id: id,
+			data: {
+				type: 'typing',
+				data: {
+					typing: true
+				}
+			}
+		});
+	};
+
 	onMount(() => {
 	onMount(() => {
 		if ($chatId) {
 		if ($chatId) {
 			chatId.set('');
 			chatId.set('');
@@ -110,6 +156,10 @@
 	});
 	});
 </script>
 </script>
 
 
+<svelte:head>
+	<title>#{channel?.name ?? 'Channel'} | Open WebUI</title>
+</svelte:head>
+
 <div
 <div
 	class="h-screen max-h-[100dvh] {$showSidebar
 	class="h-screen max-h-[100dvh] {$showSidebar
 		? 'md:max-w-[calc(100%-260px)]'
 		? 'md:max-w-[calc(100%-260px)]'
@@ -150,6 +200,6 @@
 	</div>
 	</div>
 
 
 	<div class=" pb-[1rem]">
 	<div class=" pb-[1rem]">
-		<MessageInput onSubmit={submitHandler} {scrollToBottom} {scrollEnd} />
+		<MessageInput {typingUsers} {onChange} onSubmit={submitHandler} {scrollToBottom} {scrollEnd} />
 	</div>
 	</div>
 </div>
 </div>

+ 55 - 33
src/lib/components/channel/MessageInput.svelte

@@ -6,7 +6,7 @@
 
 
 	const i18n = getContext('i18n');
 	const i18n = getContext('i18n');
 
 
-	import { config, mobile, settings } from '$lib/stores';
+	import { config, mobile, settings, socket } from '$lib/stores';
 	import { blobToFile, compressImage } from '$lib/utils';
 	import { blobToFile, compressImage } from '$lib/utils';
 
 
 	import Tooltip from '../common/Tooltip.svelte';
 	import Tooltip from '../common/Tooltip.svelte';
@@ -32,7 +32,10 @@
 	let filesInputElement;
 	let filesInputElement;
 	let inputFiles;
 	let inputFiles;
 
 
+	export let typingUsers = [];
+
 	export let onSubmit: Function;
 	export let onSubmit: Function;
+	export let onChange: Function;
 	export let scrollEnd = true;
 	export let scrollEnd = true;
 	export let scrollToBottom: Function;
 	export let scrollToBottom: Function;
 
 
@@ -258,6 +261,10 @@
 		chatInputElement?.focus();
 		chatInputElement?.focus();
 	};
 	};
 
 
+	$: if (content) {
+		onChange();
+	}
+
 	onMount(async () => {
 	onMount(async () => {
 		window.setTimeout(() => {
 		window.setTimeout(() => {
 			const chatInput = document.getElementById('chat-input');
 			const chatInput = document.getElementById('chat-input');
@@ -290,37 +297,6 @@
 
 
 <FilesOverlay show={draggedOver} />
 <FilesOverlay show={draggedOver} />
 
 
-<div class=" mx-auto inset-x-0 bg-transparent flex justify-center">
-	<div class="flex flex-col px-3 max-w-6xl w-full">
-		<div class="relative">
-			{#if scrollEnd === false}
-				<div class=" absolute -top-12 left-0 right-0 flex justify-center z-30 pointer-events-none">
-					<button
-						class=" bg-white border border-gray-100 dark:border-none dark:bg-white/20 p-1.5 rounded-full pointer-events-auto"
-						on:click={() => {
-							scrollEnd = true;
-							scrollToBottom();
-						}}
-					>
-						<svg
-							xmlns="http://www.w3.org/2000/svg"
-							viewBox="0 0 20 20"
-							fill="currentColor"
-							class="w-5 h-5"
-						>
-							<path
-								fill-rule="evenodd"
-								d="M10 3a.75.75 0 01.75.75v10.638l3.96-4.158a.75.75 0 111.08 1.04l-5.25 5.5a.75.75 0 01-1.08 0l-5.25-5.5a.75.75 0 111.08-1.04l3.96 4.158V3.75A.75.75 0 0110 3z"
-								clip-rule="evenodd"
-							/>
-						</svg>
-					</button>
-				</div>
-			{/if}
-		</div>
-	</div>
-</div>
-
 <input
 <input
 	bind:this={filesInputElement}
 	bind:this={filesInputElement}
 	bind:files={inputFiles}
 	bind:files={inputFiles}
@@ -341,8 +317,54 @@
 	<div
 	<div
 		class="{($settings?.widescreenMode ?? null)
 		class="{($settings?.widescreenMode ?? null)
 			? 'max-w-full'
 			? 'max-w-full'
-			: 'max-w-6xl'} px-2.5 mx-auto inset-x-0"
+			: 'max-w-6xl'} px-2.5 mx-auto inset-x-0 relative"
 	>
 	>
+		<div class="absolute top-0 left-0 right-0 mx-auto inset-x-0 bg-transparent flex justify-center">
+			<div class="flex flex-col px-3 w-full">
+				<div class="relative">
+					{#if scrollEnd === false}
+						<div
+							class=" absolute -top-12 left-0 right-0 flex justify-center z-30 pointer-events-none"
+						>
+							<button
+								class=" bg-white border border-gray-100 dark:border-none dark:bg-white/20 p-1.5 rounded-full pointer-events-auto"
+								on:click={() => {
+									scrollEnd = true;
+									scrollToBottom();
+								}}
+							>
+								<svg
+									xmlns="http://www.w3.org/2000/svg"
+									viewBox="0 0 20 20"
+									fill="currentColor"
+									class="w-5 h-5"
+								>
+									<path
+										fill-rule="evenodd"
+										d="M10 3a.75.75 0 01.75.75v10.638l3.96-4.158a.75.75 0 111.08 1.04l-5.25 5.5a.75.75 0 01-1.08 0l-5.25-5.5a.75.75 0 111.08-1.04l3.96 4.158V3.75A.75.75 0 0110 3z"
+										clip-rule="evenodd"
+									/>
+								</svg>
+							</button>
+						</div>
+					{/if}
+				</div>
+
+				<div class="relative">
+					<div class=" -mt-5 bg-gradient-to-t from-white dark:from-gray-900">
+						{#if typingUsers.length > 0}
+							<div class=" text-xs px-4 mb-1">
+								<span class=" font-medium text-black dark:text-white">
+									{typingUsers.map((user) => user.name).join(', ')}
+								</span>
+								{$i18n.t('is typing...')}
+							</div>
+						{/if}
+					</div>
+				</div>
+			</div>
+		</div>
+
 		<div class="">
 		<div class="">
 			{#if recording}
 			{#if recording}
 				<VoiceRecording
 				<VoiceRecording

+ 8 - 5
src/lib/components/channel/Messages/Message.svelte

@@ -25,6 +25,7 @@
 	import Textarea from '$lib/components/common/Textarea.svelte';
 	import Textarea from '$lib/components/common/Textarea.svelte';
 	import Image from '$lib/components/common/Image.svelte';
 	import Image from '$lib/components/common/Image.svelte';
 	import FileItem from '$lib/components/common/FileItem.svelte';
 	import FileItem from '$lib/components/common/FileItem.svelte';
+	import ProfilePreview from './Message/ProfilePreview.svelte';
 
 
 	export let message;
 	export let message;
 	export let showUserProfile = true;
 	export let showUserProfile = true;
@@ -101,11 +102,13 @@
 				class={`flex-shrink-0 ${($settings?.chatDirection ?? 'LTR') === 'LTR' ? 'mr-3' : 'ml-3'} w-9`}
 				class={`flex-shrink-0 ${($settings?.chatDirection ?? 'LTR') === 'LTR' ? 'mr-3' : 'ml-3'} w-9`}
 			>
 			>
 				{#if showUserProfile}
 				{#if showUserProfile}
-					<ProfileImage
-						src={message.user?.profile_image_url ??
-							($i18n.language === 'dg-DG' ? `/doge.png` : `${WEBUI_BASE_URL}/static/favicon.png`)}
-						className={'size-8 translate-y-1 ml-0.5'}
-					/>
+					<ProfilePreview user={message.user}>
+						<ProfileImage
+							src={message.user?.profile_image_url ??
+								($i18n.language === 'dg-DG' ? `/doge.png` : `${WEBUI_BASE_URL}/static/favicon.png`)}
+							className={'size-8 translate-y-1 ml-0.5'}
+						/>
+					</ProfilePreview>
 				{:else}
 				{:else}
 					<!-- <div class="w-7 h-7 rounded-full bg-transparent" /> -->
 					<!-- <div class="w-7 h-7 rounded-full bg-transparent" /> -->
 
 

+ 85 - 0
src/lib/components/channel/Messages/Message/ProfilePreview.svelte

@@ -0,0 +1,85 @@
+<script lang="ts">
+	import { DropdownMenu } from 'bits-ui';
+	import { createEventDispatcher } from 'svelte';
+
+	import { flyAndScale } from '$lib/utils/transitions';
+	import { WEBUI_BASE_URL } from '$lib/constants';
+	import { activeUserIds } from '$lib/stores';
+
+	export let side = 'right';
+	export let align = 'top';
+
+	export let user = null;
+	let show = false;
+
+	const dispatch = createEventDispatcher();
+</script>
+
+<DropdownMenu.Root
+	bind:open={show}
+	closeFocus={false}
+	onOpenChange={(state) => {
+		dispatch('change', state);
+	}}
+	typeahead={false}
+>
+	<DropdownMenu.Trigger>
+		<slot />
+	</DropdownMenu.Trigger>
+
+	<slot name="content">
+		<DropdownMenu.Content
+			class="w-full max-w-[200px] rounded-lg z-50 bg-white dark:bg-black dark:text-white shadow-lg"
+			sideOffset={8}
+			{side}
+			{align}
+			transition={flyAndScale}
+		>
+			{#if user}
+				<div class=" flex flex-col gap-2 w-full rounded-lg">
+					<div class="py-8 relative bg-gray-900 rounded-t-lg">
+						<img
+							crossorigin="anonymous"
+							src={user?.profile_image_url ?? `${WEBUI_BASE_URL}/static/favicon.png`}
+							class=" absolute -bottom-5 left-3 size-12 ml-0.5 object-cover rounded-full -translate-y-[1px]"
+							alt="profile"
+						/>
+					</div>
+
+					<div class=" flex flex-col pt-4 pb-2.5 px-4">
+						<div class=" -mb-1">
+							<span class="font-medium text-sm line-clamp-1"> {user.name} </span>
+						</div>
+
+						<div class=" flex items-center gap-2">
+							{#if $activeUserIds.includes(user.id)}
+								<div>
+									<span class="relative flex size-2">
+										<span
+											class="animate-ping absolute inline-flex h-full w-full rounded-full bg-green-400 opacity-75"
+										/>
+										<span class="relative inline-flex rounded-full size-2 bg-green-500" />
+									</span>
+								</div>
+
+								<div class=" -translate-y-[1px]">
+									<span class="text-xs"> Active </span>
+								</div>
+							{:else}
+								<div>
+									<span class="relative flex size-2">
+										<span class="relative inline-flex rounded-full size-2 bg-gray-500" />
+									</span>
+								</div>
+
+								<div class=" -translate-y-[1px]">
+									<span class="text-xs"> Away </span>
+								</div>
+							{/if}
+						</div>
+					</div>
+				</div>
+			{/if}
+		</DropdownMenu.Content>
+	</slot>
+</DropdownMenu.Root>

+ 4 - 2
src/lib/components/common/Dropdown.svelte

@@ -5,6 +5,8 @@
 	import { flyAndScale } from '$lib/utils/transitions';
 	import { flyAndScale } from '$lib/utils/transitions';
 
 
 	export let show = false;
 	export let show = false;
+	export let side = 'bottom';
+	export let align = 'start';
 	const dispatch = createEventDispatcher();
 	const dispatch = createEventDispatcher();
 </script>
 </script>
 
 
@@ -24,8 +26,8 @@
 		<DropdownMenu.Content
 		<DropdownMenu.Content
 			class="w-full max-w-[130px] rounded-lg px-1 py-1.5 border border-gray-900 z-50 bg-gray-850 text-white"
 			class="w-full max-w-[130px] rounded-lg px-1 py-1.5 border border-gray-900 z-50 bg-gray-850 text-white"
 			sideOffset={8}
 			sideOffset={8}
-			side="bottom"
-			align="start"
+			{side}
+			{align}
 			transition={flyAndScale}
 			transition={flyAndScale}
 		>
 		>
 			<DropdownMenu.Item class="flex items-center px-3 py-2 text-sm  font-medium">
 			<DropdownMenu.Item class="flex items-center px-3 py-2 text-sm  font-medium">

+ 3 - 3
src/lib/components/layout/Sidebar/UserMenu.svelte

@@ -5,7 +5,7 @@
 	import { flyAndScale } from '$lib/utils/transitions';
 	import { flyAndScale } from '$lib/utils/transitions';
 	import { goto } from '$app/navigation';
 	import { goto } from '$app/navigation';
 	import ArchiveBox from '$lib/components/icons/ArchiveBox.svelte';
 	import ArchiveBox from '$lib/components/icons/ArchiveBox.svelte';
-	import { showSettings, activeUserCount, USAGE_POOL, mobile, showSidebar } from '$lib/stores';
+	import { showSettings, activeUserIds, USAGE_POOL, mobile, showSidebar } from '$lib/stores';
 	import { fade, slide } from 'svelte/transition';
 	import { fade, slide } from 'svelte/transition';
 	import Tooltip from '$lib/components/common/Tooltip.svelte';
 	import Tooltip from '$lib/components/common/Tooltip.svelte';
 	import { userSignOut } from '$lib/apis/auths';
 	import { userSignOut } from '$lib/apis/auths';
@@ -184,7 +184,7 @@
 				<div class=" self-center truncate">{$i18n.t('Sign Out')}</div>
 				<div class=" self-center truncate">{$i18n.t('Sign Out')}</div>
 			</button>
 			</button>
 
 
-			{#if $activeUserCount}
+			{#if $activeUserIds?.length > 0}
 				<hr class=" border-gray-50 dark:border-gray-850 my-1 p-0" />
 				<hr class=" border-gray-50 dark:border-gray-850 my-1 p-0" />
 
 
 				<Tooltip
 				<Tooltip
@@ -207,7 +207,7 @@
 								{$i18n.t('Active Users')}:
 								{$i18n.t('Active Users')}:
 							</span>
 							</span>
 							<span class=" font-semibold">
 							<span class=" font-semibold">
-								{$activeUserCount}
+								{$activeUserIds?.length}
 							</span>
 							</span>
 						</div>
 						</div>
 					</div>
 					</div>

+ 2 - 2
src/lib/components/playground/Chat.svelte

@@ -12,7 +12,7 @@
 	} from '$lib/constants';
 	} from '$lib/constants';
 	import { WEBUI_NAME, config, user, models, settings } from '$lib/stores';
 	import { WEBUI_NAME, config, user, models, settings } from '$lib/stores';
 
 
-	import { generateOpenAIChatCompletion } from '$lib/apis/openai';
+	import { chatCompletion, generateOpenAIChatCompletion } from '$lib/apis/openai';
 
 
 	import { splitStream } from '$lib/utils';
 	import { splitStream } from '$lib/utils';
 	import Collapsible from '../common/Collapsible.svelte';
 	import Collapsible from '../common/Collapsible.svelte';
@@ -61,7 +61,7 @@
 	const chatCompletionHandler = async () => {
 	const chatCompletionHandler = async () => {
 		const model = $models.find((model) => model.id === selectedModelId);
 		const model = $models.find((model) => model.id === selectedModelId);
 
 
-		const [res, controller] = await generateOpenAIChatCompletion(
+		const [res, controller] = await chatCompletion(
 			localStorage.token,
 			localStorage.token,
 			{
 			{
 				model: model.id,
 				model: model.id,

+ 5 - 1
src/lib/i18n/locales/ar-BH/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "",
 	"Allow Temporary Chat": "",
 	"Allow User Location": "",
 	"Allow User Location": "",
 	"Allow Voice Interruption in Call": "",
 	"Allow Voice Interruption in Call": "",
+	"Allowed Endpoints": "",
 	"Already have an account?": "هل تملك حساب ؟",
 	"Already have an account?": "هل تملك حساب ؟",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "",
 	"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. (Default: 0.0)": "",
 	"Amazing": "",
 	"Amazing": "",
@@ -67,6 +68,7 @@
 	"API Base URL": "API الرابط الرئيسي",
 	"API Base URL": "API الرابط الرئيسي",
 	"API Key": "API مفتاح",
 	"API Key": "API مفتاح",
 	"API Key created.": "API تم أنشاء المفتاح",
 	"API Key created.": "API تم أنشاء المفتاح",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "مفاتيح واجهة برمجة التطبيقات",
 	"API keys": "مفاتيح واجهة برمجة التطبيقات",
 	"Application DN": "",
 	"Application DN": "",
 	"Application DN Password": "",
 	"Application DN Password": "",
@@ -310,7 +312,7 @@
 	"Embedding Model": "نموذج التضمين",
 	"Embedding Model": "نموذج التضمين",
 	"Embedding Model Engine": "تضمين محرك النموذج",
 	"Embedding Model Engine": "تضمين محرك النموذج",
 	"Embedding model set to \"{{embedding_model}}\"": "تم تعيين نموذج التضمين على \"{{embedding_model}}\"",
 	"Embedding model set to \"{{embedding_model}}\"": "تم تعيين نموذج التضمين على \"{{embedding_model}}\"",
-	"Enable API Key Auth": "",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "تمكين مشاركة المجتمع",
 	"Enable Community Sharing": "تمكين مشاركة المجتمع",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "واجهه المستخدم",
 	"Interface": "واجهه المستخدم",
 	"Invalid file format.": "",
 	"Invalid file format.": "",
 	"Invalid Tag": "تاق غير صالحة",
 	"Invalid Tag": "تاق غير صالحة",
+	"is typing...": "",
 	"January": "يناير",
 	"January": "يناير",
 	"Jina API Key": "",
 	"Jina API Key": "",
 	"join our Discord for help.": "انضم إلى Discord للحصول على المساعدة.",
 	"join our Discord for help.": "انضم إلى Discord للحصول على المساعدة.",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "للوصول إلى الموديلات GGUF المتاحة للتنزيل،",
 	"To access the GGUF models available for downloading,": "للوصول إلى الموديلات GGUF المتاحة للتنزيل،",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "",
 	"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 protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",

+ 5 - 1
src/lib/i18n/locales/bg-BG/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "",
 	"Allow Temporary Chat": "",
 	"Allow User Location": "",
 	"Allow User Location": "",
 	"Allow Voice Interruption in Call": "",
 	"Allow Voice Interruption in Call": "",
+	"Allowed Endpoints": "",
 	"Already have an account?": "Вече имате акаунт? ",
 	"Already have an account?": "Вече имате акаунт? ",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "",
 	"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. (Default: 0.0)": "",
 	"Amazing": "",
 	"Amazing": "",
@@ -67,6 +68,7 @@
 	"API Base URL": "API Базов URL",
 	"API Base URL": "API Базов URL",
 	"API Key": "API Ключ",
 	"API Key": "API Ключ",
 	"API Key created.": "API Ключ създаден.",
 	"API Key created.": "API Ключ създаден.",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "API Ключове",
 	"API keys": "API Ключове",
 	"Application DN": "",
 	"Application DN": "",
 	"Application DN Password": "",
 	"Application DN Password": "",
@@ -310,7 +312,7 @@
 	"Embedding Model": "Модел за вграждане",
 	"Embedding Model": "Модел за вграждане",
 	"Embedding Model Engine": "Модел за вграждане",
 	"Embedding Model Engine": "Модел за вграждане",
 	"Embedding model set to \"{{embedding_model}}\"": "Модел за вграждане е настроен на \"{{embedding_model}}\"",
 	"Embedding model set to \"{{embedding_model}}\"": "Модел за вграждане е настроен на \"{{embedding_model}}\"",
-	"Enable API Key Auth": "",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "Разрешаване на споделяне в общност",
 	"Enable Community Sharing": "Разрешаване на споделяне в общност",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "Интерфейс",
 	"Interface": "Интерфейс",
 	"Invalid file format.": "",
 	"Invalid file format.": "",
 	"Invalid Tag": "Невалиден тег",
 	"Invalid Tag": "Невалиден тег",
+	"is typing...": "",
 	"January": "Януари",
 	"January": "Януари",
 	"Jina API Key": "",
 	"Jina API Key": "",
 	"join our Discord for help.": "свържете се с нашия Discord за помощ.",
 	"join our Discord for help.": "свържете се с нашия Discord за помощ.",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "За да получите достъп до GGUF моделите, налични за изтегляне,",
 	"To access the GGUF models available for downloading,": "За да получите достъп до GGUF моделите, налични за изтегляне,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "",
 	"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 protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",

+ 5 - 1
src/lib/i18n/locales/bn-BD/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "",
 	"Allow Temporary Chat": "",
 	"Allow User Location": "",
 	"Allow User Location": "",
 	"Allow Voice Interruption in Call": "",
 	"Allow Voice Interruption in Call": "",
+	"Allowed Endpoints": "",
 	"Already have an account?": "আগে থেকেই একাউন্ট আছে?",
 	"Already have an account?": "আগে থেকেই একাউন্ট আছে?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "",
 	"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. (Default: 0.0)": "",
 	"Amazing": "",
 	"Amazing": "",
@@ -67,6 +68,7 @@
 	"API Base URL": "এপিআই বেজ ইউআরএল",
 	"API Base URL": "এপিআই বেজ ইউআরএল",
 	"API Key": "এপিআই কোড",
 	"API Key": "এপিআই কোড",
 	"API Key created.": "একটি এপিআই কোড তৈরি করা হয়েছে.",
 	"API Key created.": "একটি এপিআই কোড তৈরি করা হয়েছে.",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "এপিআই কোডস",
 	"API keys": "এপিআই কোডস",
 	"Application DN": "",
 	"Application DN": "",
 	"Application DN Password": "",
 	"Application DN Password": "",
@@ -310,7 +312,7 @@
 	"Embedding Model": "ইমেজ ইমেবডিং মডেল",
 	"Embedding Model": "ইমেজ ইমেবডিং মডেল",
 	"Embedding Model Engine": "ইমেজ ইমেবডিং মডেল ইঞ্জিন",
 	"Embedding Model Engine": "ইমেজ ইমেবডিং মডেল ইঞ্জিন",
 	"Embedding model set to \"{{embedding_model}}\"": "ইমেজ ইমেবডিং মডেল সেট করা হয়েছে - \"{{embedding_model}}\"",
 	"Embedding model set to \"{{embedding_model}}\"": "ইমেজ ইমেবডিং মডেল সেট করা হয়েছে - \"{{embedding_model}}\"",
-	"Enable API Key Auth": "",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "সম্প্রদায় শেয়ারকরণ সক্ষম করুন",
 	"Enable Community Sharing": "সম্প্রদায় শেয়ারকরণ সক্ষম করুন",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "ইন্টারফেস",
 	"Interface": "ইন্টারফেস",
 	"Invalid file format.": "",
 	"Invalid file format.": "",
 	"Invalid Tag": "অবৈধ ট্যাগ",
 	"Invalid Tag": "অবৈধ ট্যাগ",
+	"is typing...": "",
 	"January": "জানুয়ারী",
 	"January": "জানুয়ারী",
 	"Jina API Key": "",
 	"Jina API Key": "",
 	"join our Discord for help.": "সাহায্যের জন্য আমাদের Discord-এ যুক্ত হোন",
 	"join our Discord for help.": "সাহায্যের জন্য আমাদের Discord-এ যুক্ত হোন",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "ডাউলোডের জন্য এভেইলএবল GGUF মডেলগুলো এক্সেস করতে,",
 	"To access the GGUF models available for downloading,": "ডাউলোডের জন্য এভেইলএবল GGUF মডেলগুলো এক্সেস করতে,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "",
 	"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 protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",

+ 26 - 22
src/lib/i18n/locales/ca-ES/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "Permetre el xat temporal",
 	"Allow Temporary Chat": "Permetre el xat temporal",
 	"Allow User Location": "Permetre la ubicació de l'usuari",
 	"Allow User Location": "Permetre la ubicació de l'usuari",
 	"Allow Voice Interruption in Call": "Permetre la interrupció de la veu en una trucada",
 	"Allow Voice Interruption in Call": "Permetre la interrupció de la veu en una trucada",
+	"Allowed Endpoints": "",
 	"Already have an account?": "Ja tens un compte?",
 	"Already have an account?": "Ja tens un compte?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "Alternativa al top_p, i pretén garantir un equilibri de qualitat i varietat. El paràmetre p representa la probabilitat mínima que es consideri un token, en relació amb la probabilitat del token més probable. Per exemple, amb p=0,05 i el token més probable amb una probabilitat de 0,9, es filtren els logits amb un valor inferior a 0,045. (Per defecte: 0.0)",
 	"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. (Default: 0.0)": "Alternativa al top_p, i pretén garantir un equilibri de qualitat i varietat. El paràmetre p representa la probabilitat mínima que es consideri un token, en relació amb la probabilitat del token més probable. Per exemple, amb p=0,05 i el token més probable amb una probabilitat de 0,9, es filtren els logits amb un valor inferior a 0,045. (Per defecte: 0.0)",
 	"Amazing": "Al·lucinant",
 	"Amazing": "Al·lucinant",
@@ -67,6 +68,7 @@
 	"API Base URL": "URL Base de l'API",
 	"API Base URL": "URL Base de l'API",
 	"API Key": "clau API",
 	"API Key": "clau API",
 	"API Key created.": "clau API creada.",
 	"API Key created.": "clau API creada.",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "Claus de l'API",
 	"API keys": "Claus de l'API",
 	"Application DN": "DN d'aplicació",
 	"Application DN": "DN d'aplicació",
 	"Application DN Password": "Contrasenya del DN d'aplicació",
 	"Application DN Password": "Contrasenya del DN d'aplicació",
@@ -76,8 +78,8 @@
 	"Archive All Chats": "Arxiva tots els xats",
 	"Archive All Chats": "Arxiva tots els xats",
 	"Archived Chats": "Xats arxivats",
 	"Archived Chats": "Xats arxivats",
 	"archived-chat-export": "archived-chat-export",
 	"archived-chat-export": "archived-chat-export",
-	"Are you sure you want to delete this channel?": "",
-	"Are you sure you want to delete this message?": "",
+	"Are you sure you want to delete this channel?": "Estàs segur que vols eliminar aquest canal?",
+	"Are you sure you want to delete this message?": "Estàs segur que vols eliminar aquest missatge?",
 	"Are you sure you want to unarchive all archived chats?": "Estàs segur que vols desarxivar tots els xats arxivats?",
 	"Are you sure you want to unarchive all archived chats?": "Estàs segur que vols desarxivar tots els xats arxivats?",
 	"Are you sure?": "Estàs segur?",
 	"Are you sure?": "Estàs segur?",
 	"Arena Models": "Models de l'Arena",
 	"Arena Models": "Models de l'Arena",
@@ -110,7 +112,7 @@
 	"Batch Size (num_batch)": "Mida del lot (num_batch)",
 	"Batch Size (num_batch)": "Mida del lot (num_batch)",
 	"before": "abans",
 	"before": "abans",
 	"Being lazy": "Essent mandrós",
 	"Being lazy": "Essent mandrós",
-	"Beta": "",
+	"Beta": "Beta",
 	"Bing Search V7 Endpoint": "Punt de connexió a Bing Search V7",
 	"Bing Search V7 Endpoint": "Punt de connexió a Bing Search V7",
 	"Bing Search V7 Subscription Key": "Clau de subscripció a Bing Search V7",
 	"Bing Search V7 Subscription Key": "Clau de subscripció a Bing Search V7",
 	"Brave Search API Key": "Clau API de Brave Search",
 	"Brave Search API Key": "Clau API de Brave Search",
@@ -124,8 +126,8 @@
 	"Capture": "Captura",
 	"Capture": "Captura",
 	"Certificate Path": "Camí del certificat",
 	"Certificate Path": "Camí del certificat",
 	"Change Password": "Canviar la contrasenya",
 	"Change Password": "Canviar la contrasenya",
-	"Channel Name": "",
-	"Channels": "",
+	"Channel Name": "Nom del canal",
+	"Channels": "Canals",
 	"Character": "Personatge",
 	"Character": "Personatge",
 	"Character limit for autocomplete generation input": "Límit de caràcters per a l'entrada de generació automàtica",
 	"Character limit for autocomplete generation input": "Límit de caràcters per a l'entrada de generació automàtica",
 	"Chart new frontiers": "Traça noves fronteres",
 	"Chart new frontiers": "Traça noves fronteres",
@@ -181,7 +183,7 @@
 	"Confirm": "Confirmar",
 	"Confirm": "Confirmar",
 	"Confirm Password": "Confirmar la contrasenya",
 	"Confirm Password": "Confirmar la contrasenya",
 	"Confirm your action": "Confirma la teva acció",
 	"Confirm your action": "Confirma la teva acció",
-	"Confirm your new password": "",
+	"Confirm your new password": "Confirma la teva nova contrasenya",
 	"Connections": "Connexions",
 	"Connections": "Connexions",
 	"Contact Admin for WebUI Access": "Posat en contacte amb l'administrador per accedir a WebUI",
 	"Contact Admin for WebUI Access": "Posat en contacte amb l'administrador per accedir a WebUI",
 	"Content": "Contingut",
 	"Content": "Contingut",
@@ -208,7 +210,7 @@
 	"Create a model": "Crear un model",
 	"Create a model": "Crear un model",
 	"Create Account": "Crear un compte",
 	"Create Account": "Crear un compte",
 	"Create Admin Account": "Crear un compte d'Administrador",
 	"Create Admin Account": "Crear un compte d'Administrador",
-	"Create Channel": "",
+	"Create Channel": "Crear un canal",
 	"Create Group": "Crear grup",
 	"Create Group": "Crear grup",
 	"Create Knowledge": "Crear Coneixement",
 	"Create Knowledge": "Crear Coneixement",
 	"Create new key": "Crear una nova clau",
 	"Create new key": "Crear una nova clau",
@@ -244,7 +246,7 @@
 	"Delete chat?": "Eliminar el xat?",
 	"Delete chat?": "Eliminar el xat?",
 	"Delete folder?": "Eliminar la carpeta?",
 	"Delete folder?": "Eliminar la carpeta?",
 	"Delete function?": "Eliminar funció?",
 	"Delete function?": "Eliminar funció?",
-	"Delete Message": "",
+	"Delete Message": "Eleiminar el missatge",
 	"Delete prompt?": "Eliminar indicació?",
 	"Delete prompt?": "Eliminar indicació?",
 	"delete this link": "Eliminar aquest enllaç",
 	"delete this link": "Eliminar aquest enllaç",
 	"Delete tool?": "Eliminar eina?",
 	"Delete tool?": "Eliminar eina?",
@@ -297,7 +299,7 @@
 	"e.g. Tools for performing various operations": "p. ex. Eines per dur a terme operacions",
 	"e.g. Tools for performing various operations": "p. ex. Eines per dur a terme operacions",
 	"Edit": "Editar",
 	"Edit": "Editar",
 	"Edit Arena Model": "Editar model de l'Arena",
 	"Edit Arena Model": "Editar model de l'Arena",
-	"Edit Channel": "",
+	"Edit Channel": "Editar el canal",
 	"Edit Connection": "Editar la connexió",
 	"Edit Connection": "Editar la connexió",
 	"Edit Default Permissions": "Editar el permisos per defecte",
 	"Edit Default Permissions": "Editar el permisos per defecte",
 	"Edit Memory": "Editar la memòria",
 	"Edit Memory": "Editar la memòria",
@@ -310,7 +312,7 @@
 	"Embedding Model": "Model d'incrustació",
 	"Embedding Model": "Model d'incrustació",
 	"Embedding Model Engine": "Motor de model d'incrustació",
 	"Embedding Model Engine": "Motor de model d'incrustació",
 	"Embedding model set to \"{{embedding_model}}\"": "Model d'incrustació configurat a \"{{embedding_model}}\"",
 	"Embedding model set to \"{{embedding_model}}\"": "Model d'incrustació configurat a \"{{embedding_model}}\"",
-	"Enable API Key Auth": "Activar l'autenticació amb clau API",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "Activar la generació automàtica per als missatges del xat",
 	"Enable autocomplete generation for chat messages": "Activar la generació automàtica per als missatges del xat",
 	"Enable Community Sharing": "Activar l'ús compartit amb la comunitat",
 	"Enable Community Sharing": "Activar l'ús compartit amb la comunitat",
 	"Enable Google Drive": "Activar Google Drive",
 	"Enable Google Drive": "Activar Google Drive",
@@ -364,20 +366,20 @@
 	"Enter stop sequence": "Introdueix la seqüència de parada",
 	"Enter stop sequence": "Introdueix la seqüència de parada",
 	"Enter system prompt": "Introdueix la indicació de sistema",
 	"Enter system prompt": "Introdueix la indicació de sistema",
 	"Enter Tavily API Key": "Introdueix la clau API de Tavily",
 	"Enter Tavily API Key": "Introdueix la clau API de Tavily",
-	"Enter the public URL of your WebUI. This URL will be used to generate links in the notifications.": "",
+	"Enter the public URL of your WebUI. This URL will be used to generate links in the notifications.": "Entra la URL pública de WebUI. Aquesta URL s'utilitzarà per generar els enllaços en les notificacions.",
 	"Enter Tika Server URL": "Introdueix l'URL del servidor Tika",
 	"Enter Tika Server URL": "Introdueix l'URL del servidor Tika",
 	"Enter Top K": "Introdueix Top K",
 	"Enter Top K": "Introdueix Top K",
 	"Enter URL (e.g. http://127.0.0.1:7860/)": "Introdueix l'URL (p. ex. http://127.0.0.1:7860/)",
 	"Enter URL (e.g. http://127.0.0.1:7860/)": "Introdueix l'URL (p. ex. http://127.0.0.1:7860/)",
 	"Enter URL (e.g. http://localhost:11434)": "Introdueix l'URL (p. ex. http://localhost:11434)",
 	"Enter URL (e.g. http://localhost:11434)": "Introdueix l'URL (p. ex. http://localhost:11434)",
-	"Enter your current password": "",
+	"Enter your current password": "Introdueix la teva contrasenya actual",
 	"Enter Your Email": "Introdueix el teu correu electrònic",
 	"Enter Your Email": "Introdueix el teu correu electrònic",
 	"Enter Your Full Name": "Introdueix el teu nom complet",
 	"Enter Your Full Name": "Introdueix el teu nom complet",
 	"Enter your message": "Introdueix el teu missatge",
 	"Enter your message": "Introdueix el teu missatge",
-	"Enter your new password": "",
+	"Enter your new password": "Introdueix la teva nova contrasenya",
 	"Enter Your Password": "Introdueix la teva contrasenya",
 	"Enter Your Password": "Introdueix la teva contrasenya",
 	"Enter Your Role": "Introdueix el teu rol",
 	"Enter Your Role": "Introdueix el teu rol",
 	"Enter Your Username": "Introdueix el teu nom d'usuari",
 	"Enter Your Username": "Introdueix el teu nom d'usuari",
-	"Enter your webhook URL": "",
+	"Enter your webhook URL": "Entra la URL del webhook",
 	"Error": "Error",
 	"Error": "Error",
 	"ERROR": "ERROR",
 	"ERROR": "ERROR",
 	"Error accessing Google Drive: {{error}}": "Error en accedir a Google Drive: {{error}}",
 	"Error accessing Google Drive: {{error}}": "Error en accedir a Google Drive: {{error}}",
@@ -483,10 +485,10 @@
 	"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.": "Afirmo que he llegit i entenc les implicacions de la meva acció. Soc conscient dels riscos associats a l'execució de codi arbitrari i he verificat la fiabilitat de la font.",
 	"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.": "Afirmo que he llegit i entenc les implicacions de la meva acció. Soc conscient dels riscos associats a l'execució de codi arbitrari i he verificat la fiabilitat de la font.",
 	"ID": "ID",
 	"ID": "ID",
 	"Ignite curiosity": "Despertar la curiositat",
 	"Ignite curiosity": "Despertar la curiositat",
-	"Image Compression": "",
+	"Image Compression": "Compressió d'imatges",
 	"Image Generation (Experimental)": "Generació d'imatges (Experimental)",
 	"Image Generation (Experimental)": "Generació d'imatges (Experimental)",
 	"Image Generation Engine": "Motor de generació d'imatges",
 	"Image Generation Engine": "Motor de generació d'imatges",
-	"Image Max Compression Size": "",
+	"Image Max Compression Size": "Mida màxima de la compressió d'imatges",
 	"Image Settings": "Preferències d'imatges",
 	"Image Settings": "Preferències d'imatges",
 	"Images": "Imatges",
 	"Images": "Imatges",
 	"Import Chats": "Importar xats",
 	"Import Chats": "Importar xats",
@@ -507,6 +509,7 @@
 	"Interface": "Interfície",
 	"Interface": "Interfície",
 	"Invalid file format.": "Format d'arxiu no vàlid.",
 	"Invalid file format.": "Format d'arxiu no vàlid.",
 	"Invalid Tag": "Etiqueta no vàlida",
 	"Invalid Tag": "Etiqueta no vàlida",
+	"is typing...": "",
 	"January": "Gener",
 	"January": "Gener",
 	"Jina API Key": "Clau API de Jina",
 	"Jina API Key": "Clau API de Jina",
 	"join our Discord for help.": "uneix-te al nostre Discord per obtenir ajuda.",
 	"join our Discord for help.": "uneix-te al nostre Discord per obtenir ajuda.",
@@ -605,9 +608,9 @@
 	"Name": "Nom",
 	"Name": "Nom",
 	"Name your knowledge base": "Anomena la teva base de coneixement",
 	"Name your knowledge base": "Anomena la teva base de coneixement",
 	"New Chat": "Nou xat",
 	"New Chat": "Nou xat",
-	"New folder": "",
+	"New folder": "Nova carpeta",
 	"New Password": "Nova contrasenya",
 	"New Password": "Nova contrasenya",
-	"new-channel": "",
+	"new-channel": "nou-canal",
 	"No content found": "No s'ha trobat contingut",
 	"No content found": "No s'ha trobat contingut",
 	"No content to speak": "No hi ha contingut per parlar",
 	"No content to speak": "No hi ha contingut per parlar",
 	"No distance available": "No hi ha distància disponible",
 	"No distance available": "No hi ha distància disponible",
@@ -630,8 +633,8 @@
 	"Not helpful": "No ajuda",
 	"Not helpful": "No ajuda",
 	"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Nota: Si s'estableix una puntuació mínima, la cerca només retornarà documents amb una puntuació major o igual a la puntuació mínima.",
 	"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Nota: Si s'estableix una puntuació mínima, la cerca només retornarà documents amb una puntuació major o igual a la puntuació mínima.",
 	"Notes": "Notes",
 	"Notes": "Notes",
-	"Notification Sound": "",
-	"Notification Webhook": "",
+	"Notification Sound": "So de la notificació",
+	"Notification Webhook": "Webhook de la notificació",
 	"Notifications": "Notificacions",
 	"Notifications": "Notificacions",
 	"November": "Novembre",
 	"November": "Novembre",
 	"num_gpu (Ollama)": "num_gpu (Ollama)",
 	"num_gpu (Ollama)": "num_gpu (Ollama)",
@@ -781,7 +784,7 @@
 	"Search Tools": "Cercar eines",
 	"Search Tools": "Cercar eines",
 	"SearchApi API Key": "Clau API de SearchApi",
 	"SearchApi API Key": "Clau API de SearchApi",
 	"SearchApi Engine": "Motor de SearchApi",
 	"SearchApi Engine": "Motor de SearchApi",
-	"Searched {{count}} sites": "",
+	"Searched {{count}} sites": "S'han cercat {{count}} pàgines",
 	"Searching \"{{searchQuery}}\"": "Cercant \"{{searchQuery}}\"",
 	"Searching \"{{searchQuery}}\"": "Cercant \"{{searchQuery}}\"",
 	"Searching Knowledge for \"{{searchQuery}}\"": "Cercant \"{{searchQuery}}\" al coneixement",
 	"Searching Knowledge for \"{{searchQuery}}\"": "Cercant \"{{searchQuery}}\" al coneixement",
 	"Searxng Query URL": "URL de consulta de Searxng",
 	"Searxng Query URL": "URL de consulta de Searxng",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "Per accedir als models GGUF disponibles per descarregar,",
 	"To access the GGUF models available for downloading,": "Per accedir als models GGUF disponibles per descarregar,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Per accedir a la WebUI, poseu-vos en contacte amb l'administrador. Els administradors poden gestionar els estats dels usuaris des del tauler d'administració.",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Per accedir a la WebUI, poseu-vos en contacte amb l'administrador. Els administradors poden gestionar els estats dels usuaris des del tauler d'administració.",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "Per adjuntar la base de coneixement aquí, afegiu-la primer a l'espai de treball \"Coneixement\".",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "Per adjuntar la base de coneixement aquí, afegiu-la primer a l'espai de treball \"Coneixement\".",
+	"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.": "Per protegir la privadesa, només es comparteixen puntuacions, identificadors de models, etiquetes i metadades dels comentaris; els registres de xat romanen privats i no s'inclouen.",
 	"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.": "Per protegir la privadesa, només es comparteixen puntuacions, identificadors de models, etiquetes i metadades dels comentaris; els registres de xat romanen privats i no s'inclouen.",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Per seleccionar accions aquí, afegeix-les primer a l'espai de treball \"Funcions\".",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Per seleccionar accions aquí, afegeix-les primer a l'espai de treball \"Funcions\".",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Per seleccionar filtres aquí, afegeix-los primer a l'espai de treball \"Funcions\".",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Per seleccionar filtres aquí, afegeix-los primer a l'espai de treball \"Funcions\".",
@@ -1015,7 +1019,7 @@
 	"Web Search Query Generation": "Generació de consultes per a la cerca de la web",
 	"Web Search Query Generation": "Generació de consultes per a la cerca de la web",
 	"Webhook URL": "URL del webhook",
 	"Webhook URL": "URL del webhook",
 	"WebUI Settings": "Preferències de WebUI",
 	"WebUI Settings": "Preferències de WebUI",
-	"WebUI URL": "",
+	"WebUI URL": "URL de WebUI",
 	"WebUI will make requests to \"{{url}}/api/chat\"": "WebUI farà peticions a \"{{url}}/api/chat\"",
 	"WebUI will make requests to \"{{url}}/api/chat\"": "WebUI farà peticions a \"{{url}}/api/chat\"",
 	"WebUI will make requests to \"{{url}}/chat/completions\"": "WebUI farà peticions a \"{{url}}/chat/completions\"",
 	"WebUI will make requests to \"{{url}}/chat/completions\"": "WebUI farà peticions a \"{{url}}/chat/completions\"",
 	"What are you trying to achieve?": "Què intentes aconseguir?",
 	"What are you trying to achieve?": "Què intentes aconseguir?",

+ 5 - 1
src/lib/i18n/locales/ceb-PH/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "",
 	"Allow Temporary Chat": "",
 	"Allow User Location": "",
 	"Allow User Location": "",
 	"Allow Voice Interruption in Call": "",
 	"Allow Voice Interruption in Call": "",
+	"Allowed Endpoints": "",
 	"Already have an account?": "Naa na kay account ?",
 	"Already have an account?": "Naa na kay account ?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "",
 	"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. (Default: 0.0)": "",
 	"Amazing": "",
 	"Amazing": "",
@@ -67,6 +68,7 @@
 	"API Base URL": "API Base URL",
 	"API Base URL": "API Base URL",
 	"API Key": "yawe sa API",
 	"API Key": "yawe sa API",
 	"API Key created.": "",
 	"API Key created.": "",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "",
 	"API keys": "",
 	"Application DN": "",
 	"Application DN": "",
 	"Application DN Password": "",
 	"Application DN Password": "",
@@ -310,7 +312,7 @@
 	"Embedding Model": "",
 	"Embedding Model": "",
 	"Embedding Model Engine": "",
 	"Embedding Model Engine": "",
 	"Embedding model set to \"{{embedding_model}}\"": "",
 	"Embedding model set to \"{{embedding_model}}\"": "",
-	"Enable API Key Auth": "",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "",
 	"Enable Community Sharing": "",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "Interface",
 	"Interface": "Interface",
 	"Invalid file format.": "",
 	"Invalid file format.": "",
 	"Invalid Tag": "",
 	"Invalid Tag": "",
+	"is typing...": "",
 	"January": "",
 	"January": "",
 	"Jina API Key": "",
 	"Jina API Key": "",
 	"join our Discord for help.": "Apil sa among Discord alang sa tabang.",
 	"join our Discord for help.": "Apil sa among Discord alang sa tabang.",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "Aron ma-access ang mga modelo sa GGUF nga magamit alang sa pag-download,",
 	"To access the GGUF models available for downloading,": "Aron ma-access ang mga modelo sa GGUF nga magamit alang sa pag-download,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "",
 	"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 protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",

+ 5 - 1
src/lib/i18n/locales/cs-CZ/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "Povolit dočasný chat",
 	"Allow Temporary Chat": "Povolit dočasný chat",
 	"Allow User Location": "Povolit uživatelskou polohu",
 	"Allow User Location": "Povolit uživatelskou polohu",
 	"Allow Voice Interruption in Call": "Povolit přerušení hlasu při hovoru",
 	"Allow Voice Interruption in Call": "Povolit přerušení hlasu při hovoru",
+	"Allowed Endpoints": "",
 	"Already have an account?": "Už máte účet?",
 	"Already have an account?": "Už máte účet?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "",
 	"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. (Default: 0.0)": "",
 	"Amazing": "",
 	"Amazing": "",
@@ -67,6 +68,7 @@
 	"API Base URL": "Základní URL adresa API",
 	"API Base URL": "Základní URL adresa API",
 	"API Key": "Klíč API",
 	"API Key": "Klíč API",
 	"API Key created.": "API klíč byl vytvořen.",
 	"API Key created.": "API klíč byl vytvořen.",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "API klíče",
 	"API keys": "API klíče",
 	"Application DN": "",
 	"Application DN": "",
 	"Application DN Password": "",
 	"Application DN Password": "",
@@ -310,7 +312,7 @@
 	"Embedding Model": "Vkládací model (Embedding Model)",
 	"Embedding Model": "Vkládací model (Embedding Model)",
 	"Embedding Model Engine": "",
 	"Embedding Model Engine": "",
 	"Embedding model set to \"{{embedding_model}}\"": "Model vkládání nastaven na \"{{embedding_model}}\"",
 	"Embedding model set to \"{{embedding_model}}\"": "Model vkládání nastaven na \"{{embedding_model}}\"",
-	"Enable API Key Auth": "",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "Povolit sdílení komunity",
 	"Enable Community Sharing": "Povolit sdílení komunity",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "Rozhraní",
 	"Interface": "Rozhraní",
 	"Invalid file format.": "Neplatný formát souboru.",
 	"Invalid file format.": "Neplatný formát souboru.",
 	"Invalid Tag": "Neplatný tag",
 	"Invalid Tag": "Neplatný tag",
+	"is typing...": "",
 	"January": "Leden",
 	"January": "Leden",
 	"Jina API Key": "",
 	"Jina API Key": "",
 	"join our Discord for help.": "připojte se k našemu Discordu pro pomoc.",
 	"join our Discord for help.": "připojte se k našemu Discordu pro pomoc.",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "Pro přístup k modelům GGUF dostupným pro stažení,",
 	"To access the GGUF models available for downloading,": "Pro přístup k modelům GGUF dostupným pro stažení,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Pro přístup k WebUI se prosím obraťte na administrátora. Administrátoři mohou spravovat stavy uživatelů z Admin Panelu.",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Pro přístup k WebUI se prosím obraťte na administrátora. Administrátoři mohou spravovat stavy uživatelů z Admin Panelu.",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "Chcete-li zde připojit znalostní databázi, nejprve ji přidejte do workspace \"Knowledge\".",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "Chcete-li zde připojit znalostní databázi, nejprve ji přidejte do workspace \"Knowledge\".",
+	"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.": "Aby byla chráněna vaše soukromí, z vaší zpětné vazby jsou sdílena pouze hodnocení, ID modelů, značky a metadata – vaše chatové záznamy zůstávají soukromé a nejsou zahrnuty.",
 	"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.": "Aby byla chráněna vaše soukromí, z vaší zpětné vazby jsou sdílena pouze hodnocení, ID modelů, značky a metadata – vaše chatové záznamy zůstávají soukromé a nejsou zahrnuty.",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Chcete-li zde vybrat akce, nejprve je přidejte do pracovní plochy \"Functions\".",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Chcete-li zde vybrat akce, nejprve je přidejte do pracovní plochy \"Functions\".",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Chcete-li zde vybrat filtry, nejprve je přidejte do workspace „Functions“.",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Chcete-li zde vybrat filtry, nejprve je přidejte do workspace „Functions“.",

+ 5 - 1
src/lib/i18n/locales/da-DK/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "Tillad midlertidig chat",
 	"Allow Temporary Chat": "Tillad midlertidig chat",
 	"Allow User Location": "Tillad bruger-lokation",
 	"Allow User Location": "Tillad bruger-lokation",
 	"Allow Voice Interruption in Call": "Tillad afbrydelser i stemme i opkald",
 	"Allow Voice Interruption in Call": "Tillad afbrydelser i stemme i opkald",
+	"Allowed Endpoints": "",
 	"Already have an account?": "Har du allerede en profil?",
 	"Already have an account?": "Har du allerede en profil?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "",
 	"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. (Default: 0.0)": "",
 	"Amazing": "",
 	"Amazing": "",
@@ -67,6 +68,7 @@
 	"API Base URL": "API Base URL",
 	"API Base URL": "API Base URL",
 	"API Key": "API nøgle",
 	"API Key": "API nøgle",
 	"API Key created.": "API nøgle lavet",
 	"API Key created.": "API nøgle lavet",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "API nøgler",
 	"API keys": "API nøgler",
 	"Application DN": "",
 	"Application DN": "",
 	"Application DN Password": "",
 	"Application DN Password": "",
@@ -310,7 +312,7 @@
 	"Embedding Model": "Embedding Model",
 	"Embedding Model": "Embedding Model",
 	"Embedding Model Engine": "Embedding Model engine",
 	"Embedding Model Engine": "Embedding Model engine",
 	"Embedding model set to \"{{embedding_model}}\"": "Embedding model sat til \"{{embedding_model}}\"",
 	"Embedding model set to \"{{embedding_model}}\"": "Embedding model sat til \"{{embedding_model}}\"",
-	"Enable API Key Auth": "",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "Aktiver deling til Community",
 	"Enable Community Sharing": "Aktiver deling til Community",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "Grænseflade",
 	"Interface": "Grænseflade",
 	"Invalid file format.": "",
 	"Invalid file format.": "",
 	"Invalid Tag": "Ugyldigt tag",
 	"Invalid Tag": "Ugyldigt tag",
+	"is typing...": "",
 	"January": "Januar",
 	"January": "Januar",
 	"Jina API Key": "",
 	"Jina API Key": "",
 	"join our Discord for help.": "tilslut dig vores Discord for at få hjælp.",
 	"join our Discord for help.": "tilslut dig vores Discord for at få hjælp.",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "For at få adgang til de GGUF-modeller, der er tilgængelige til download,",
 	"To access the GGUF models available for downloading,": "For at få adgang til de GGUF-modeller, der er tilgængelige til download,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "For at få adgang til WebUI skal du kontakte administratoren. Administratorer kan administrere brugerstatus fra administrationspanelet.",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "For at få adgang til WebUI skal du kontakte administratoren. Administratorer kan administrere brugerstatus fra administrationspanelet.",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "For at vedhæfte vidensbase her skal du først tilføje dem til \"Viden\"-arbejdsområdet.",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "For at vedhæfte vidensbase her skal du først tilføje dem til \"Viden\"-arbejdsområdet.",
+	"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 protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "For at vælge handlinger her skal du først tilføje dem til \"Funktioner\"-arbejdsområdet.",
 	"To select actions here, add them to the \"Functions\" workspace first.": "For at vælge handlinger her skal du først tilføje dem til \"Funktioner\"-arbejdsområdet.",
 	"To select filters here, add them to the \"Functions\" workspace first.": "For at vælge filtre her skal du først tilføje dem til \"Funktioner\"-arbejdsområdet.",
 	"To select filters here, add them to the \"Functions\" workspace first.": "For at vælge filtre her skal du først tilføje dem til \"Funktioner\"-arbejdsområdet.",

+ 5 - 1
src/lib/i18n/locales/de-DE/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "Temporäre Unterhaltungen erlauben",
 	"Allow Temporary Chat": "Temporäre Unterhaltungen erlauben",
 	"Allow User Location": "Standort freigeben",
 	"Allow User Location": "Standort freigeben",
 	"Allow Voice Interruption in Call": "Unterbrechung durch Stimme im Anruf zulassen",
 	"Allow Voice Interruption in Call": "Unterbrechung durch Stimme im Anruf zulassen",
+	"Allowed Endpoints": "",
 	"Already have an account?": "Haben Sie bereits einen Account?",
 	"Already have an account?": "Haben Sie bereits einen Account?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "Alternative zu top_p und zielt darauf ab, ein Gleichgewicht zwischen Qualität und Vielfalt zu gewährleisten. Der Parameter p repräsentiert die Mindestwahrscheinlichkeit für ein Token, um berücksichtigt zu werden, relativ zur Wahrscheinlichkeit des wahrscheinlichsten Tokens. Zum Beispiel, bei p=0.05 und das wahrscheinlichste Token hat eine Wahrscheinlichkeit von 0.9, werden Logits mit einem Wert von weniger als 0.045 herausgefiltert. (Standard: 0.0)",
 	"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. (Default: 0.0)": "Alternative zu top_p und zielt darauf ab, ein Gleichgewicht zwischen Qualität und Vielfalt zu gewährleisten. Der Parameter p repräsentiert die Mindestwahrscheinlichkeit für ein Token, um berücksichtigt zu werden, relativ zur Wahrscheinlichkeit des wahrscheinlichsten Tokens. Zum Beispiel, bei p=0.05 und das wahrscheinlichste Token hat eine Wahrscheinlichkeit von 0.9, werden Logits mit einem Wert von weniger als 0.045 herausgefiltert. (Standard: 0.0)",
 	"Amazing": "Fantastisch",
 	"Amazing": "Fantastisch",
@@ -67,6 +68,7 @@
 	"API Base URL": "API-Basis-URL",
 	"API Base URL": "API-Basis-URL",
 	"API Key": "API-Schlüssel",
 	"API Key": "API-Schlüssel",
 	"API Key created.": "API-Schlüssel erstellt.",
 	"API Key created.": "API-Schlüssel erstellt.",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "API-Schlüssel",
 	"API keys": "API-Schlüssel",
 	"Application DN": "Anwendungs-DN",
 	"Application DN": "Anwendungs-DN",
 	"Application DN Password": "Anwendungs-DN-Passwort",
 	"Application DN Password": "Anwendungs-DN-Passwort",
@@ -310,7 +312,7 @@
 	"Embedding Model": "Embedding-Modell",
 	"Embedding Model": "Embedding-Modell",
 	"Embedding Model Engine": "Embedding-Modell-Engine",
 	"Embedding Model Engine": "Embedding-Modell-Engine",
 	"Embedding model set to \"{{embedding_model}}\"": "Embedding-Modell auf \"{{embedding_model}}\" gesetzt",
 	"Embedding model set to \"{{embedding_model}}\"": "Embedding-Modell auf \"{{embedding_model}}\" gesetzt",
-	"Enable API Key Auth": "API-Schlüssel-Authentifizierung aktivieren",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "Community-Freigabe aktivieren",
 	"Enable Community Sharing": "Community-Freigabe aktivieren",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "Benutzeroberfläche",
 	"Interface": "Benutzeroberfläche",
 	"Invalid file format.": "Ungültiges Dateiformat.",
 	"Invalid file format.": "Ungültiges Dateiformat.",
 	"Invalid Tag": "Ungültiger Tag",
 	"Invalid Tag": "Ungültiger Tag",
+	"is typing...": "",
 	"January": "Januar",
 	"January": "Januar",
 	"Jina API Key": "Jina-API-Schlüssel",
 	"Jina API Key": "Jina-API-Schlüssel",
 	"join our Discord for help.": "Treten Sie unserem Discord bei, um Hilfe zu erhalten.",
 	"join our Discord for help.": "Treten Sie unserem Discord bei, um Hilfe zu erhalten.",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "Um auf die verfügbaren GGUF-Modelle zuzugreifen,",
 	"To access the GGUF models available for downloading,": "Um auf die verfügbaren GGUF-Modelle zuzugreifen,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Um auf das WebUI zugreifen zu können, wenden Sie sich bitte an einen Administrator. Administratoren können den Benutzerstatus über das Admin-Panel verwalten.",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Um auf das WebUI zugreifen zu können, wenden Sie sich bitte an einen Administrator. Administratoren können den Benutzerstatus über das Admin-Panel verwalten.",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "Um Wissensdatenbanken hier anzuhängen, fügen Sie sie zunächst dem Arbeitsbereich \"Wissen\" hinzu.",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "Um Wissensdatenbanken hier anzuhängen, fügen Sie sie zunächst dem Arbeitsbereich \"Wissen\" hinzu.",
+	"To learn more about available endpoints, visit our documentation.": "",
 	"To protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "Um Ihre Privatsphäre zu schützen, werden nur Bewertungen, Modell-IDs, Tags und Metadaten aus Ihrem Feedback geteilt – Ihre Unterhaltungen bleiben privat und werden nicht einbezogen.",
 	"To protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "Um Ihre Privatsphäre zu schützen, werden nur Bewertungen, Modell-IDs, Tags und Metadaten aus Ihrem Feedback geteilt – Ihre Unterhaltungen bleiben privat und werden nicht einbezogen.",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Um Aktionen auszuwählen, fügen Sie diese zunächst dem Arbeitsbereich „Funktionen“ hinzu.",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Um Aktionen auszuwählen, fügen Sie diese zunächst dem Arbeitsbereich „Funktionen“ hinzu.",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Um Filter auszuwählen, fügen Sie diese zunächst dem Arbeitsbereich „Funktionen“ hinzu.",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Um Filter auszuwählen, fügen Sie diese zunächst dem Arbeitsbereich „Funktionen“ hinzu.",

+ 5 - 1
src/lib/i18n/locales/dg-DG/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "",
 	"Allow Temporary Chat": "",
 	"Allow User Location": "",
 	"Allow User Location": "",
 	"Allow Voice Interruption in Call": "",
 	"Allow Voice Interruption in Call": "",
+	"Allowed Endpoints": "",
 	"Already have an account?": "Such account exists?",
 	"Already have an account?": "Such account exists?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "",
 	"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. (Default: 0.0)": "",
 	"Amazing": "",
 	"Amazing": "",
@@ -67,6 +68,7 @@
 	"API Base URL": "API Base URL",
 	"API Base URL": "API Base URL",
 	"API Key": "API Key",
 	"API Key": "API Key",
 	"API Key created.": "",
 	"API Key created.": "",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "",
 	"API keys": "",
 	"Application DN": "",
 	"Application DN": "",
 	"Application DN Password": "",
 	"Application DN Password": "",
@@ -310,7 +312,7 @@
 	"Embedding Model": "",
 	"Embedding Model": "",
 	"Embedding Model Engine": "",
 	"Embedding Model Engine": "",
 	"Embedding model set to \"{{embedding_model}}\"": "",
 	"Embedding model set to \"{{embedding_model}}\"": "",
-	"Enable API Key Auth": "",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "",
 	"Enable Community Sharing": "",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "Interface",
 	"Interface": "Interface",
 	"Invalid file format.": "",
 	"Invalid file format.": "",
 	"Invalid Tag": "",
 	"Invalid Tag": "",
+	"is typing...": "",
 	"January": "",
 	"January": "",
 	"Jina API Key": "",
 	"Jina API Key": "",
 	"join our Discord for help.": "join our Discord for help.",
 	"join our Discord for help.": "join our Discord for help.",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "To access the GGUF models available for downloading, much access",
 	"To access the GGUF models available for downloading,": "To access the GGUF models available for downloading, much access",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "",
 	"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 protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",

+ 5 - 1
src/lib/i18n/locales/el-GR/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "Επιτρέπεται η Προσωρινή Συνομιλία",
 	"Allow Temporary Chat": "Επιτρέπεται η Προσωρινή Συνομιλία",
 	"Allow User Location": "Επιτρέπεται η Τοποθεσία Χρήστη",
 	"Allow User Location": "Επιτρέπεται η Τοποθεσία Χρήστη",
 	"Allow Voice Interruption in Call": "Επιτρέπεται η Παύση Φωνής στην Κλήση",
 	"Allow Voice Interruption in Call": "Επιτρέπεται η Παύση Φωνής στην Κλήση",
+	"Allowed Endpoints": "",
 	"Already have an account?": "Έχετε ήδη λογαριασμό;",
 	"Already have an account?": "Έχετε ήδη λογαριασμό;",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "Εναλλακτικό στο top_p, και στοχεύει στη διασφάλιση μιας ισορροπίας μεταξύ ποιότητας και ποικιλίας. Η παράμετρος p αντιπροσωπεύει την ελάχιστη πιθανότητα για ένα token να θεωρηθεί, σε σχέση με την πιθανότητα του πιο πιθανού token. Για παράδειγμα, με p=0.05 και το πιο πιθανό token να έχει πιθανότητα 0.9, τα logits με τιμή μικρότερη από 0.045 φιλτράρονται. (Προεπιλογή: 0.0)",
 	"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. (Default: 0.0)": "Εναλλακτικό στο top_p, και στοχεύει στη διασφάλιση μιας ισορροπίας μεταξύ ποιότητας και ποικιλίας. Η παράμετρος p αντιπροσωπεύει την ελάχιστη πιθανότητα για ένα token να θεωρηθεί, σε σχέση με την πιθανότητα του πιο πιθανού token. Για παράδειγμα, με p=0.05 και το πιο πιθανό token να έχει πιθανότητα 0.9, τα logits με τιμή μικρότερη από 0.045 φιλτράρονται. (Προεπιλογή: 0.0)",
 	"Amazing": "Καταπληκτικό",
 	"Amazing": "Καταπληκτικό",
@@ -67,6 +68,7 @@
 	"API Base URL": "API Βασικό URL",
 	"API Base URL": "API Βασικό URL",
 	"API Key": "Κλειδί API",
 	"API Key": "Κλειδί API",
 	"API Key created.": "Το κλειδί API δημιουργήθηκε.",
 	"API Key created.": "Το κλειδί API δημιουργήθηκε.",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "κλειδιά API",
 	"API keys": "κλειδιά API",
 	"Application DN": "DN Εφαρμογής",
 	"Application DN": "DN Εφαρμογής",
 	"Application DN Password": "Κωδικός DN Εφαρμογής",
 	"Application DN Password": "Κωδικός DN Εφαρμογής",
@@ -310,7 +312,7 @@
 	"Embedding Model": "Μοντέλο Ενσωμάτωσης",
 	"Embedding Model": "Μοντέλο Ενσωμάτωσης",
 	"Embedding Model Engine": "Μηχανή Μοντέλου Ενσωμάτωσης",
 	"Embedding Model Engine": "Μηχανή Μοντέλου Ενσωμάτωσης",
 	"Embedding model set to \"{{embedding_model}}\"": "Το μοντέλο ενσωμάτωσης έχει οριστεί σε \"{{embedding_model}}\"",
 	"Embedding model set to \"{{embedding_model}}\"": "Το μοντέλο ενσωμάτωσης έχει οριστεί σε \"{{embedding_model}}\"",
-	"Enable API Key Auth": "Ενεργοποίηση Επαλήθευσης Κλειδιού API",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "Ενεργοποίηση Κοινοτικής Κοινής Χρήσης",
 	"Enable Community Sharing": "Ενεργοποίηση Κοινοτικής Κοινής Χρήσης",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "Διεπαφή",
 	"Interface": "Διεπαφή",
 	"Invalid file format.": "Μη έγκυρη μορφή αρχείου.",
 	"Invalid file format.": "Μη έγκυρη μορφή αρχείου.",
 	"Invalid Tag": "Μη έγκυρη Ετικέτα",
 	"Invalid Tag": "Μη έγκυρη Ετικέτα",
+	"is typing...": "",
 	"January": "Ιανουάριος",
 	"January": "Ιανουάριος",
 	"Jina API Key": "Κλειδί API Jina",
 	"Jina API Key": "Κλειδί API Jina",
 	"join our Discord for help.": "συμμετέχετε στο Discord μας για βοήθεια.",
 	"join our Discord for help.": "συμμετέχετε στο Discord μας για βοήθεια.",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "Για να αποκτήσετε πρόσβαση στα μοντέλα GGUF διαθέσιμα για λήψη,",
 	"To access the GGUF models available for downloading,": "Για να αποκτήσετε πρόσβαση στα μοντέλα GGUF διαθέσιμα για λήψη,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Για να αποκτήσετε πρόσβαση στο WebUI, παρακαλώ επικοινωνήστε με τον διαχειριστή. Οι διαχειριστές μπορούν να διαχειριστούν τις καταστάσεις των χρηστών από τον Πίνακα Διαχειριστή.",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Για να αποκτήσετε πρόσβαση στο WebUI, παρακαλώ επικοινωνήστε με τον διαχειριστή. Οι διαχειριστές μπορούν να διαχειριστούν τις καταστάσεις των χρηστών από τον Πίνακα Διαχειριστή.",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "Για να επισυνάψετε τη βάση γνώσης εδώ, προσθέστε τα πρώτα στο χώρο εργασίας \"Knowledge\".",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "Για να επισυνάψετε τη βάση γνώσης εδώ, προσθέστε τα πρώτα στο χώρο εργασίας \"Knowledge\".",
+	"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.": "Για να προστατεύσετε την ιδιωτικότητά σας, μόνο οι βαθμολογίες, τα IDs μοντέλων, οι ετικέτες και τα μεταδεδομένα μοιράζονται από την ανατροφοδότησή σας—τα αρχεία συνομιλιών σας παραμένουν ιδιωτικά και δεν περιλαμβάνονται.",
 	"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.": "Για να προστατεύσετε την ιδιωτικότητά σας, μόνο οι βαθμολογίες, τα IDs μοντέλων, οι ετικέτες και τα μεταδεδομένα μοιράζονται από την ανατροφοδότησή σας—τα αρχεία συνομιλιών σας παραμένουν ιδιωτικά και δεν περιλαμβάνονται.",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Για να επιλέξετε ενέργειες εδώ, προσθέστε τις πρώτα στο χώρο εργασίας \"Functions\".",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Για να επιλέξετε ενέργειες εδώ, προσθέστε τις πρώτα στο χώρο εργασίας \"Functions\".",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Για να επιλέξετε φίλτρα εδώ, προσθέστε τα πρώτα στο χώρο εργασίας \"Functions\".",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Για να επιλέξετε φίλτρα εδώ, προσθέστε τα πρώτα στο χώρο εργασίας \"Functions\".",

+ 5 - 1
src/lib/i18n/locales/en-GB/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "",
 	"Allow Temporary Chat": "",
 	"Allow User Location": "",
 	"Allow User Location": "",
 	"Allow Voice Interruption in Call": "",
 	"Allow Voice Interruption in Call": "",
+	"Allowed Endpoints": "",
 	"Already have an account?": "",
 	"Already have an account?": "",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "",
 	"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. (Default: 0.0)": "",
 	"Amazing": "",
 	"Amazing": "",
@@ -67,6 +68,7 @@
 	"API Base URL": "",
 	"API Base URL": "",
 	"API Key": "",
 	"API Key": "",
 	"API Key created.": "",
 	"API Key created.": "",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "",
 	"API keys": "",
 	"Application DN": "",
 	"Application DN": "",
 	"Application DN Password": "",
 	"Application DN Password": "",
@@ -310,7 +312,7 @@
 	"Embedding Model": "",
 	"Embedding Model": "",
 	"Embedding Model Engine": "",
 	"Embedding Model Engine": "",
 	"Embedding model set to \"{{embedding_model}}\"": "",
 	"Embedding model set to \"{{embedding_model}}\"": "",
-	"Enable API Key Auth": "",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "",
 	"Enable Community Sharing": "",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "",
 	"Interface": "",
 	"Invalid file format.": "",
 	"Invalid file format.": "",
 	"Invalid Tag": "",
 	"Invalid Tag": "",
+	"is typing...": "",
 	"January": "",
 	"January": "",
 	"Jina API Key": "",
 	"Jina API Key": "",
 	"join our Discord for help.": "",
 	"join our Discord for help.": "",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "",
 	"To access the GGUF models available for downloading,": "",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "",
 	"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 protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",

+ 5 - 1
src/lib/i18n/locales/en-US/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "",
 	"Allow Temporary Chat": "",
 	"Allow User Location": "",
 	"Allow User Location": "",
 	"Allow Voice Interruption in Call": "",
 	"Allow Voice Interruption in Call": "",
+	"Allowed Endpoints": "",
 	"Already have an account?": "",
 	"Already have an account?": "",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "",
 	"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. (Default: 0.0)": "",
 	"Amazing": "",
 	"Amazing": "",
@@ -67,6 +68,7 @@
 	"API Base URL": "",
 	"API Base URL": "",
 	"API Key": "",
 	"API Key": "",
 	"API Key created.": "",
 	"API Key created.": "",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "",
 	"API keys": "",
 	"Application DN": "",
 	"Application DN": "",
 	"Application DN Password": "",
 	"Application DN Password": "",
@@ -310,7 +312,7 @@
 	"Embedding Model": "",
 	"Embedding Model": "",
 	"Embedding Model Engine": "",
 	"Embedding Model Engine": "",
 	"Embedding model set to \"{{embedding_model}}\"": "",
 	"Embedding model set to \"{{embedding_model}}\"": "",
-	"Enable API Key Auth": "",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "",
 	"Enable Community Sharing": "",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "",
 	"Interface": "",
 	"Invalid file format.": "",
 	"Invalid file format.": "",
 	"Invalid Tag": "",
 	"Invalid Tag": "",
+	"is typing...": "",
 	"January": "",
 	"January": "",
 	"Jina API Key": "",
 	"Jina API Key": "",
 	"join our Discord for help.": "",
 	"join our Discord for help.": "",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "",
 	"To access the GGUF models available for downloading,": "",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "",
 	"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 protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",

+ 5 - 1
src/lib/i18n/locales/es-ES/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "Permitir Chat Temporal",
 	"Allow Temporary Chat": "Permitir Chat Temporal",
 	"Allow User Location": "Permitir Ubicación del Usuario",
 	"Allow User Location": "Permitir Ubicación del Usuario",
 	"Allow Voice Interruption in Call": "Permitir interrupción de voz en llamada",
 	"Allow Voice Interruption in Call": "Permitir interrupción de voz en llamada",
+	"Allowed Endpoints": "",
 	"Already have an account?": "¿Ya tienes una cuenta?",
 	"Already have an account?": "¿Ya tienes una cuenta?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "",
 	"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. (Default: 0.0)": "",
 	"Amazing": "",
 	"Amazing": "",
@@ -67,6 +68,7 @@
 	"API Base URL": "Dirección URL de la API",
 	"API Base URL": "Dirección URL de la API",
 	"API Key": "Clave de la API ",
 	"API Key": "Clave de la API ",
 	"API Key created.": "Clave de la API creada.",
 	"API Key created.": "Clave de la API creada.",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "Claves de la API",
 	"API keys": "Claves de la API",
 	"Application DN": "",
 	"Application DN": "",
 	"Application DN Password": "",
 	"Application DN Password": "",
@@ -310,7 +312,7 @@
 	"Embedding Model": "Modelo de Embedding",
 	"Embedding Model": "Modelo de Embedding",
 	"Embedding Model Engine": "Motor de Modelo de Embedding",
 	"Embedding Model Engine": "Motor de Modelo de Embedding",
 	"Embedding model set to \"{{embedding_model}}\"": "Modelo de Embedding configurado a \"{{embedding_model}}\"",
 	"Embedding model set to \"{{embedding_model}}\"": "Modelo de Embedding configurado a \"{{embedding_model}}\"",
-	"Enable API Key Auth": "",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "Habilitar el uso compartido de la comunidad",
 	"Enable Community Sharing": "Habilitar el uso compartido de la comunidad",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "Interfaz",
 	"Interface": "Interfaz",
 	"Invalid file format.": "",
 	"Invalid file format.": "",
 	"Invalid Tag": "Etiqueta Inválida",
 	"Invalid Tag": "Etiqueta Inválida",
+	"is typing...": "",
 	"January": "Enero",
 	"January": "Enero",
 	"Jina API Key": "",
 	"Jina API Key": "",
 	"join our Discord for help.": "Únase a nuestro Discord para obtener ayuda.",
 	"join our Discord for help.": "Únase a nuestro Discord para obtener ayuda.",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "Para acceder a los modelos GGUF disponibles para descargar,",
 	"To access the GGUF models available for downloading,": "Para acceder a los modelos GGUF disponibles para descargar,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Para acceder al interfaz de usuario web, por favor contacte al administrador. Los administradores pueden administrar los estados de los usuarios desde el panel de administración.",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Para acceder al interfaz de usuario web, por favor contacte al administrador. Los administradores pueden administrar los estados de los usuarios desde el panel de administración.",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "Para adjuntar la base de conocimientos aquí, agreguelas al área de trabajo \"Conocimiento\" primero.",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "Para adjuntar la base de conocimientos aquí, agreguelas al área de trabajo \"Conocimiento\" primero.",
+	"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 protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Para seleccionar acciones aquí, agreguelas al área de trabajo \"Funciones\" primero.",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Para seleccionar acciones aquí, agreguelas al área de trabajo \"Funciones\" primero.",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Para seleccionar filtros aquí, agreguelos al área de trabajo \"Funciones\" primero.",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Para seleccionar filtros aquí, agreguelos al área de trabajo \"Funciones\" primero.",

+ 5 - 1
src/lib/i18n/locales/eu-ES/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "Baimendu Behin-behineko Txata",
 	"Allow Temporary Chat": "Baimendu Behin-behineko Txata",
 	"Allow User Location": "Baimendu Erabiltzailearen Kokapena",
 	"Allow User Location": "Baimendu Erabiltzailearen Kokapena",
 	"Allow Voice Interruption in Call": "Baimendu Ahots Etena Deietan",
 	"Allow Voice Interruption in Call": "Baimendu Ahots Etena Deietan",
+	"Allowed Endpoints": "",
 	"Already have an account?": "Baduzu kontu bat?",
 	"Already have an account?": "Baduzu kontu bat?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "top_p-ren alternatiba, kalitate eta aniztasunaren arteko oreka bermatzea du helburu. p parametroak token bat kontuan hartzeko gutxieneko probabilitatea adierazten du, token probableenaren probabilitatearen arabera. Adibidez, p=0.05 balioarekin eta token probableenaren probabilitatea 0.9 denean, 0.045 baino balio txikiagoko logit-ak baztertzen dira. (Lehenetsia: 0.0)",
 	"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. (Default: 0.0)": "top_p-ren alternatiba, kalitate eta aniztasunaren arteko oreka bermatzea du helburu. p parametroak token bat kontuan hartzeko gutxieneko probabilitatea adierazten du, token probableenaren probabilitatearen arabera. Adibidez, p=0.05 balioarekin eta token probableenaren probabilitatea 0.9 denean, 0.045 baino balio txikiagoko logit-ak baztertzen dira. (Lehenetsia: 0.0)",
 	"Amazing": "Harrigarria",
 	"Amazing": "Harrigarria",
@@ -67,6 +68,7 @@
 	"API Base URL": "API Oinarri URLa",
 	"API Base URL": "API Oinarri URLa",
 	"API Key": "API Gakoa",
 	"API Key": "API Gakoa",
 	"API Key created.": "API Gakoa sortu da.",
 	"API Key created.": "API Gakoa sortu da.",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "API gakoak",
 	"API keys": "API gakoak",
 	"Application DN": "Aplikazioaren DN",
 	"Application DN": "Aplikazioaren DN",
 	"Application DN Password": "Aplikazioaren DN Pasahitza",
 	"Application DN Password": "Aplikazioaren DN Pasahitza",
@@ -310,7 +312,7 @@
 	"Embedding Model": "Embedding Eredua",
 	"Embedding Model": "Embedding Eredua",
 	"Embedding Model Engine": "Embedding Eredu Motorea",
 	"Embedding Model Engine": "Embedding Eredu Motorea",
 	"Embedding model set to \"{{embedding_model}}\"": "Embedding eredua \"{{embedding_model}}\"-ra ezarri da",
 	"Embedding model set to \"{{embedding_model}}\"": "Embedding eredua \"{{embedding_model}}\"-ra ezarri da",
-	"Enable API Key Auth": "Gaitu API Gako Autentikazioa",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "Gaitu Komunitatearen Partekatzea",
 	"Enable Community Sharing": "Gaitu Komunitatearen Partekatzea",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "Interfazea",
 	"Interface": "Interfazea",
 	"Invalid file format.": "Fitxategi formatu baliogabea.",
 	"Invalid file format.": "Fitxategi formatu baliogabea.",
 	"Invalid Tag": "Etiketa Baliogabea",
 	"Invalid Tag": "Etiketa Baliogabea",
+	"is typing...": "",
 	"January": "Urtarrila",
 	"January": "Urtarrila",
 	"Jina API Key": "Jina API Gakoa",
 	"Jina API Key": "Jina API Gakoa",
 	"join our Discord for help.": "batu gure Discord-era laguntzarako.",
 	"join our Discord for help.": "batu gure Discord-era laguntzarako.",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "Deskargatzeko eskuragarri dauden GGUF modeloak atzitzeko,",
 	"To access the GGUF models available for downloading,": "Deskargatzeko eskuragarri dauden GGUF modeloak atzitzeko,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "WebUI-a atzitzeko, mesedez jarri harremanetan administratzailearekin. Administratzaileek erabiltzaileen egoerak kudeatu ditzakete Admin Paneletik.",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "WebUI-a atzitzeko, mesedez jarri harremanetan administratzailearekin. Administratzaileek erabiltzaileen egoerak kudeatu ditzakete Admin Paneletik.",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "Ezagutza-basea hemen eransteko, gehitu ezazu lehenik \"Ezagutza\" lan-eremura.",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "Ezagutza-basea hemen eransteko, gehitu ezazu lehenik \"Ezagutza\" lan-eremura.",
+	"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.": "Zure pribatutasuna babesteko, zure feedbacketik bakarrik partekatzen dira balorazioak, modelo IDak, etiketak eta metadatuak—zure txat erregistroak pribatuak dira eta ez dira sartzen.",
 	"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.": "Zure pribatutasuna babesteko, zure feedbacketik bakarrik partekatzen dira balorazioak, modelo IDak, etiketak eta metadatuak—zure txat erregistroak pribatuak dira eta ez dira sartzen.",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Ekintzak hemen hautatzeko, gehitu itzazu lehenik \"Funtzioak\" lan-eremura.",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Ekintzak hemen hautatzeko, gehitu itzazu lehenik \"Funtzioak\" lan-eremura.",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Iragazkiak hemen hautatzeko, gehitu itzazu lehenik \"Funtzioak\" lan-eremura.",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Iragazkiak hemen hautatzeko, gehitu itzazu lehenik \"Funtzioak\" lan-eremura.",

+ 5 - 1
src/lib/i18n/locales/fa-IR/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "اجازهٔ گفتگوی موقتی",
 	"Allow Temporary Chat": "اجازهٔ گفتگوی موقتی",
 	"Allow User Location": "اجازهٔ موقعیت مکانی کاربر",
 	"Allow User Location": "اجازهٔ موقعیت مکانی کاربر",
 	"Allow Voice Interruption in Call": "",
 	"Allow Voice Interruption in Call": "",
+	"Allowed Endpoints": "",
 	"Already have an account?": "از قبل حساب کاربری دارید؟",
 	"Already have an account?": "از قبل حساب کاربری دارید؟",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "",
 	"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. (Default: 0.0)": "",
 	"Amazing": "",
 	"Amazing": "",
@@ -67,6 +68,7 @@
 	"API Base URL": "نشانی پایهٔ API",
 	"API Base URL": "نشانی پایهٔ API",
 	"API Key": "کلید API",
 	"API Key": "کلید API",
 	"API Key created.": "کلید API ساخته شد.",
 	"API Key created.": "کلید API ساخته شد.",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "کلیدهای API",
 	"API keys": "کلیدهای API",
 	"Application DN": "",
 	"Application DN": "",
 	"Application DN Password": "",
 	"Application DN Password": "",
@@ -310,7 +312,7 @@
 	"Embedding Model": "مدل پیدائش",
 	"Embedding Model": "مدل پیدائش",
 	"Embedding Model Engine": "محرک مدل پیدائش",
 	"Embedding Model Engine": "محرک مدل پیدائش",
 	"Embedding model set to \"{{embedding_model}}\"": "مدل پیدائش را به \"{{embedding_model}}\" تنظیم کنید",
 	"Embedding model set to \"{{embedding_model}}\"": "مدل پیدائش را به \"{{embedding_model}}\" تنظیم کنید",
-	"Enable API Key Auth": "",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "فعالسازی اشتراک انجمن",
 	"Enable Community Sharing": "فعالسازی اشتراک انجمن",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "رابط",
 	"Interface": "رابط",
 	"Invalid file format.": "",
 	"Invalid file format.": "",
 	"Invalid Tag": "تگ نامعتبر",
 	"Invalid Tag": "تگ نامعتبر",
+	"is typing...": "",
 	"January": "ژانویه",
 	"January": "ژانویه",
 	"Jina API Key": "",
 	"Jina API Key": "",
 	"join our Discord for help.": "برای کمک به دیسکورد ما بپیوندید.",
 	"join our Discord for help.": "برای کمک به دیسکورد ما بپیوندید.",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "برای دسترسی به مدل\u200cهای GGUF موجود برای دانلود،",
 	"To access the GGUF models available for downloading,": "برای دسترسی به مدل\u200cهای GGUF موجود برای دانلود،",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "",
 	"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 protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",

+ 5 - 1
src/lib/i18n/locales/fi-FI/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "Salli väliaikaiset keskustelut",
 	"Allow Temporary Chat": "Salli väliaikaiset keskustelut",
 	"Allow User Location": "Salli käyttäjän sijainti",
 	"Allow User Location": "Salli käyttäjän sijainti",
 	"Allow Voice Interruption in Call": "Salli äänen keskeytys puhelussa",
 	"Allow Voice Interruption in Call": "Salli äänen keskeytys puhelussa",
+	"Allowed Endpoints": "",
 	"Already have an account?": "Onko sinulla jo tili?",
 	"Already have an account?": "Onko sinulla jo tili?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "Vaihtoehto top_p:lle, jolla pyritään varmistamaan laadun ja monipuolisuuden tasapaino. Parametri p edustaa pienintä todennäköisyyttä, jolla token otetaan huomioon suhteessa todennäköisimpään tokeniin. Esimerkiksi p=0.05 ja todennäköisin token todennäköisyydellä 0.9, arvoltaan alle 0.045 olevat logit suodatetaan pois. (Oletus: 0.0)",
 	"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. (Default: 0.0)": "Vaihtoehto top_p:lle, jolla pyritään varmistamaan laadun ja monipuolisuuden tasapaino. Parametri p edustaa pienintä todennäköisyyttä, jolla token otetaan huomioon suhteessa todennäköisimpään tokeniin. Esimerkiksi p=0.05 ja todennäköisin token todennäköisyydellä 0.9, arvoltaan alle 0.045 olevat logit suodatetaan pois. (Oletus: 0.0)",
 	"Amazing": "Hämmästyttävä",
 	"Amazing": "Hämmästyttävä",
@@ -67,6 +68,7 @@
 	"API Base URL": "APIn perus-URL",
 	"API Base URL": "APIn perus-URL",
 	"API Key": "API-avain",
 	"API Key": "API-avain",
 	"API Key created.": "API-avain luotu.",
 	"API Key created.": "API-avain luotu.",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "API-avaimet",
 	"API keys": "API-avaimet",
 	"Application DN": "Sovelluksen DN",
 	"Application DN": "Sovelluksen DN",
 	"Application DN Password": "Sovelluksen DN-salasana",
 	"Application DN Password": "Sovelluksen DN-salasana",
@@ -310,7 +312,7 @@
 	"Embedding Model": "Upotusmalli",
 	"Embedding Model": "Upotusmalli",
 	"Embedding Model Engine": "Upotusmallin moottori",
 	"Embedding Model Engine": "Upotusmallin moottori",
 	"Embedding model set to \"{{embedding_model}}\"": "\"{{embedding_model}}\" valittu upotusmalliksi",
 	"Embedding model set to \"{{embedding_model}}\"": "\"{{embedding_model}}\" valittu upotusmalliksi",
-	"Enable API Key Auth": "Ota API-avaimen todentaminen käyttöön",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "Ota automaattinen täydennys käyttöön keskusteluviesteissä",
 	"Enable autocomplete generation for chat messages": "Ota automaattinen täydennys käyttöön keskusteluviesteissä",
 	"Enable Community Sharing": "Ota yhteisön jakaminen käyttöön",
 	"Enable Community Sharing": "Ota yhteisön jakaminen käyttöön",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "Käyttöliittymä",
 	"Interface": "Käyttöliittymä",
 	"Invalid file format.": "Virheellinen tiedostomuoto.",
 	"Invalid file format.": "Virheellinen tiedostomuoto.",
 	"Invalid Tag": "Virheellinen tagi",
 	"Invalid Tag": "Virheellinen tagi",
+	"is typing...": "",
 	"January": "tammikuu",
 	"January": "tammikuu",
 	"Jina API Key": "Jina API -avain",
 	"Jina API Key": "Jina API -avain",
 	"join our Discord for help.": "liity Discordiimme saadaksesi apua.",
 	"join our Discord for help.": "liity Discordiimme saadaksesi apua.",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "Päästäksesi käsiksi ladattavissa oleviin GGUF-malleihin,",
 	"To access the GGUF models available for downloading,": "Päästäksesi käsiksi ladattavissa oleviin GGUF-malleihin,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Päästäksesi käyttämään WebUI:ta, ota yhteyttä ylläpitäjään. Ylläpitäjät voivat hallita käyttäjien tiloja Ylläpitopaneelista.",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Päästäksesi käyttämään WebUI:ta, ota yhteyttä ylläpitäjään. Ylläpitäjät voivat hallita käyttäjien tiloja Ylläpitopaneelista.",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "Liittääksesi tietokantasi tähän, lisää ne ensin \"Tietämys\"-työtilaan.",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "Liittääksesi tietokantasi tähän, lisää ne ensin \"Tietämys\"-työtilaan.",
+	"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.": "Yksityisyydensuojasi vuoksi palautteestasi jaetaan vain arvostelut, mallitunnukset, tagit ja metadata - keskustelulokisi pysyvät yksityisinä eikä niitä sisällytetä.",
 	"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.": "Yksityisyydensuojasi vuoksi palautteestasi jaetaan vain arvostelut, mallitunnukset, tagit ja metadata - keskustelulokisi pysyvät yksityisinä eikä niitä sisällytetä.",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Valitaksesi toimintoja tässä, lisää ne ensin \"Toiminnot\"-työtilaan.",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Valitaksesi toimintoja tässä, lisää ne ensin \"Toiminnot\"-työtilaan.",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Valitaksesi suodattimia tässä, lisää ne ensin \"Toiminnot\"-työtilaan.",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Valitaksesi suodattimia tässä, lisää ne ensin \"Toiminnot\"-työtilaan.",

+ 5 - 1
src/lib/i18n/locales/fr-CA/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "",
 	"Allow Temporary Chat": "",
 	"Allow User Location": "Autoriser l'emplacement de l'utilisateur",
 	"Allow User Location": "Autoriser l'emplacement de l'utilisateur",
 	"Allow Voice Interruption in Call": "Autoriser l'interruption vocale pendant un appel",
 	"Allow Voice Interruption in Call": "Autoriser l'interruption vocale pendant un appel",
+	"Allowed Endpoints": "",
 	"Already have an account?": "Avez-vous déjà un compte ?",
 	"Already have an account?": "Avez-vous déjà un compte ?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "",
 	"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. (Default: 0.0)": "",
 	"Amazing": "",
 	"Amazing": "",
@@ -67,6 +68,7 @@
 	"API Base URL": "URL de base de l'API",
 	"API Base URL": "URL de base de l'API",
 	"API Key": "Clé d'API",
 	"API Key": "Clé d'API",
 	"API Key created.": "Clé d'API générée.",
 	"API Key created.": "Clé d'API générée.",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "Clés d'API",
 	"API keys": "Clés d'API",
 	"Application DN": "",
 	"Application DN": "",
 	"Application DN Password": "",
 	"Application DN Password": "",
@@ -310,7 +312,7 @@
 	"Embedding Model": "Modèle d'embedding",
 	"Embedding Model": "Modèle d'embedding",
 	"Embedding Model Engine": "Moteur de modèle d'encodage",
 	"Embedding Model Engine": "Moteur de modèle d'encodage",
 	"Embedding model set to \"{{embedding_model}}\"": "Modèle d'encodage défini sur « {{embedding_model}} »",
 	"Embedding model set to \"{{embedding_model}}\"": "Modèle d'encodage défini sur « {{embedding_model}} »",
-	"Enable API Key Auth": "",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "Activer le partage communautaire",
 	"Enable Community Sharing": "Activer le partage communautaire",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "Interface utilisateur",
 	"Interface": "Interface utilisateur",
 	"Invalid file format.": "",
 	"Invalid file format.": "",
 	"Invalid Tag": "Étiquette non valide",
 	"Invalid Tag": "Étiquette non valide",
+	"is typing...": "",
 	"January": "Janvier",
 	"January": "Janvier",
 	"Jina API Key": "",
 	"Jina API Key": "",
 	"join our Discord for help.": "Rejoignez notre Discord pour obtenir de l'aide.",
 	"join our Discord for help.": "Rejoignez notre Discord pour obtenir de l'aide.",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "Pour accéder aux modèles GGUF disponibles en téléchargement,",
 	"To access the GGUF models available for downloading,": "Pour accéder aux modèles GGUF disponibles en téléchargement,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Pour accéder à l'interface Web, veuillez contacter l'administrateur. Les administrateurs peuvent gérer les statuts des utilisateurs depuis le panneau d'administration.",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Pour accéder à l'interface Web, veuillez contacter l'administrateur. Les administrateurs peuvent gérer les statuts des utilisateurs depuis le panneau d'administration.",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "",
 	"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 protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Pour sélectionner des filtres ici, ajoutez-les d'abord à l'espace de travail « Fonctions ». ",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Pour sélectionner des filtres ici, ajoutez-les d'abord à l'espace de travail « Fonctions ». ",

+ 5 - 1
src/lib/i18n/locales/fr-FR/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "Autoriser le chat éphémère",
 	"Allow Temporary Chat": "Autoriser le chat éphémère",
 	"Allow User Location": "Autoriser l'emplacement de l'utilisateur",
 	"Allow User Location": "Autoriser l'emplacement de l'utilisateur",
 	"Allow Voice Interruption in Call": "Autoriser l'interruption vocale pendant un appel",
 	"Allow Voice Interruption in Call": "Autoriser l'interruption vocale pendant un appel",
+	"Allowed Endpoints": "",
 	"Already have an account?": "Avez-vous déjà un compte ?",
 	"Already have an account?": "Avez-vous déjà un compte ?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "Alternative au top_p, visant à assurer un équilibre entre qualité et variété. Le paramètre p représente la probabilité minimale pour qu'un token soit pris en compte, par rapport à la probabilité du token le plus probable. Par exemple, avec p=0.05 et le token le plus probable ayant une probabilité de 0.9, les logits ayant une valeur inférieure à 0.045 sont filtrés. (Par défaut : 0.0)",
 	"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. (Default: 0.0)": "Alternative au top_p, visant à assurer un équilibre entre qualité et variété. Le paramètre p représente la probabilité minimale pour qu'un token soit pris en compte, par rapport à la probabilité du token le plus probable. Par exemple, avec p=0.05 et le token le plus probable ayant une probabilité de 0.9, les logits ayant une valeur inférieure à 0.045 sont filtrés. (Par défaut : 0.0)",
 	"Amazing": "Incroyable",
 	"Amazing": "Incroyable",
@@ -67,6 +68,7 @@
 	"API Base URL": "URL de base de l'API",
 	"API Base URL": "URL de base de l'API",
 	"API Key": "Clé d'API",
 	"API Key": "Clé d'API",
 	"API Key created.": "Clé d'API générée.",
 	"API Key created.": "Clé d'API générée.",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "Clés d'API",
 	"API keys": "Clés d'API",
 	"Application DN": "DN de l'application",
 	"Application DN": "DN de l'application",
 	"Application DN Password": "Mot de passe DN de l'application",
 	"Application DN Password": "Mot de passe DN de l'application",
@@ -310,7 +312,7 @@
 	"Embedding Model": "Modèle d'embedding",
 	"Embedding Model": "Modèle d'embedding",
 	"Embedding Model Engine": "Moteur de modèle d'embedding",
 	"Embedding Model Engine": "Moteur de modèle d'embedding",
 	"Embedding model set to \"{{embedding_model}}\"": "Modèle d'embedding défini sur « {{embedding_model}} »",
 	"Embedding model set to \"{{embedding_model}}\"": "Modèle d'embedding défini sur « {{embedding_model}} »",
-	"Enable API Key Auth": "Activer l'authentification par clé API",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "Activer le partage communautaire",
 	"Enable Community Sharing": "Activer le partage communautaire",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "Interface utilisateur",
 	"Interface": "Interface utilisateur",
 	"Invalid file format.": "Format de fichier non valide.",
 	"Invalid file format.": "Format de fichier non valide.",
 	"Invalid Tag": "Tag non valide",
 	"Invalid Tag": "Tag non valide",
+	"is typing...": "",
 	"January": "Janvier",
 	"January": "Janvier",
 	"Jina API Key": "Clé API Jina",
 	"Jina API Key": "Clé API Jina",
 	"join our Discord for help.": "Rejoignez notre Discord pour obtenir de l'aide.",
 	"join our Discord for help.": "Rejoignez notre Discord pour obtenir de l'aide.",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "Pour accéder aux modèles GGUF disponibles,",
 	"To access the GGUF models available for downloading,": "Pour accéder aux modèles GGUF disponibles,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Pour accéder à l'interface Web, veuillez contacter l'administrateur. Les administrateurs peuvent gérer les statuts des utilisateurs depuis le panneau d'administration.",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Pour accéder à l'interface Web, veuillez contacter l'administrateur. Les administrateurs peuvent gérer les statuts des utilisateurs depuis le panneau d'administration.",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "Pour attacher une base de connaissances ici, ajoutez-les d'abord à l'espace de travail « Connaissances ».",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "Pour attacher une base de connaissances ici, ajoutez-les d'abord à l'espace de travail « Connaissances ».",
+	"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.": "Pour protéger votre confidentialité, seules les notes, les identifiants de modèle, les tags et les métadonnées de vos commentaires sont partagés. Vos journaux de discussion restent privés et ne sont pas inclus.",
 	"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.": "Pour protéger votre confidentialité, seules les notes, les identifiants de modèle, les tags et les métadonnées de vos commentaires sont partagés. Vos journaux de discussion restent privés et ne sont pas inclus.",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Pour sélectionner des actions ici, ajoutez-les d'abord à l'espace de travail « Fonctions ».",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Pour sélectionner des actions ici, ajoutez-les d'abord à l'espace de travail « Fonctions ».",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Pour sélectionner des filtres ici, ajoutez-les d'abord à l'espace de travail « Fonctions ». ",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Pour sélectionner des filtres ici, ajoutez-les d'abord à l'espace de travail « Fonctions ». ",

+ 5 - 1
src/lib/i18n/locales/he-IL/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "",
 	"Allow Temporary Chat": "",
 	"Allow User Location": "",
 	"Allow User Location": "",
 	"Allow Voice Interruption in Call": "",
 	"Allow Voice Interruption in Call": "",
+	"Allowed Endpoints": "",
 	"Already have an account?": "כבר יש לך חשבון?",
 	"Already have an account?": "כבר יש לך חשבון?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "",
 	"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. (Default: 0.0)": "",
 	"Amazing": "",
 	"Amazing": "",
@@ -67,6 +68,7 @@
 	"API Base URL": "כתובת URL בסיסית ל-API",
 	"API Base URL": "כתובת URL בסיסית ל-API",
 	"API Key": "מפתח API",
 	"API Key": "מפתח API",
 	"API Key created.": "מפתח API נוצר.",
 	"API Key created.": "מפתח API נוצר.",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "מפתחות API",
 	"API keys": "מפתחות API",
 	"Application DN": "",
 	"Application DN": "",
 	"Application DN Password": "",
 	"Application DN Password": "",
@@ -310,7 +312,7 @@
 	"Embedding Model": "מודל הטמעה",
 	"Embedding Model": "מודל הטמעה",
 	"Embedding Model Engine": "מנוע מודל הטמעה",
 	"Embedding Model Engine": "מנוע מודל הטמעה",
 	"Embedding model set to \"{{embedding_model}}\"": "מודל ההטמעה הוגדר ל-\"{{embedding_model}}\"",
 	"Embedding model set to \"{{embedding_model}}\"": "מודל ההטמעה הוגדר ל-\"{{embedding_model}}\"",
-	"Enable API Key Auth": "",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "הפיכת שיתוף קהילה לזמין",
 	"Enable Community Sharing": "הפיכת שיתוף קהילה לזמין",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "ממשק",
 	"Interface": "ממשק",
 	"Invalid file format.": "",
 	"Invalid file format.": "",
 	"Invalid Tag": "תג לא חוקי",
 	"Invalid Tag": "תג לא חוקי",
+	"is typing...": "",
 	"January": "ינואר",
 	"January": "ינואר",
 	"Jina API Key": "",
 	"Jina API Key": "",
 	"join our Discord for help.": "הצטרף ל-Discord שלנו לעזרה.",
 	"join our Discord for help.": "הצטרף ל-Discord שלנו לעזרה.",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "כדי לגשת לדגמי GGUF הזמינים להורדה,",
 	"To access the GGUF models available for downloading,": "כדי לגשת לדגמי GGUF הזמינים להורדה,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "",
 	"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 protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",

+ 5 - 1
src/lib/i18n/locales/hi-IN/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "",
 	"Allow Temporary Chat": "",
 	"Allow User Location": "",
 	"Allow User Location": "",
 	"Allow Voice Interruption in Call": "",
 	"Allow Voice Interruption in Call": "",
+	"Allowed Endpoints": "",
 	"Already have an account?": "क्या आपके पास पहले से एक खाता मौजूद है?",
 	"Already have an account?": "क्या आपके पास पहले से एक खाता मौजूद है?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "",
 	"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. (Default: 0.0)": "",
 	"Amazing": "",
 	"Amazing": "",
@@ -67,6 +68,7 @@
 	"API Base URL": "एपीआई बेस यूआरएल",
 	"API Base URL": "एपीआई बेस यूआरएल",
 	"API Key": "एपीआई कुंजी",
 	"API Key": "एपीआई कुंजी",
 	"API Key created.": "एपीआई कुंजी बनाई गई",
 	"API Key created.": "एपीआई कुंजी बनाई गई",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "एपीआई कुंजियाँ",
 	"API keys": "एपीआई कुंजियाँ",
 	"Application DN": "",
 	"Application DN": "",
 	"Application DN Password": "",
 	"Application DN Password": "",
@@ -310,7 +312,7 @@
 	"Embedding Model": "मॉडेल अनुकूलन",
 	"Embedding Model": "मॉडेल अनुकूलन",
 	"Embedding Model Engine": "एंबेडिंग मॉडल इंजन",
 	"Embedding Model Engine": "एंबेडिंग मॉडल इंजन",
 	"Embedding model set to \"{{embedding_model}}\"": "एम्बेडिंग मॉडल को \"{{embedding_model}}\" पर सेट किया गया",
 	"Embedding model set to \"{{embedding_model}}\"": "एम्बेडिंग मॉडल को \"{{embedding_model}}\" पर सेट किया गया",
-	"Enable API Key Auth": "",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "समुदाय साझाकरण सक्षम करें",
 	"Enable Community Sharing": "समुदाय साझाकरण सक्षम करें",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "इंटरफेस",
 	"Interface": "इंटरफेस",
 	"Invalid file format.": "",
 	"Invalid file format.": "",
 	"Invalid Tag": "अवैध टैग",
 	"Invalid Tag": "अवैध टैग",
+	"is typing...": "",
 	"January": "जनवरी",
 	"January": "जनवरी",
 	"Jina API Key": "",
 	"Jina API Key": "",
 	"join our Discord for help.": "मदद के लिए हमारे डिस्कोर्ड में शामिल हों।",
 	"join our Discord for help.": "मदद के लिए हमारे डिस्कोर्ड में शामिल हों।",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "डाउनलोडिंग के लिए उपलब्ध GGUF मॉडल तक पहुँचने के लिए,",
 	"To access the GGUF models available for downloading,": "डाउनलोडिंग के लिए उपलब्ध GGUF मॉडल तक पहुँचने के लिए,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "",
 	"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 protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",

+ 5 - 1
src/lib/i18n/locales/hr-HR/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "",
 	"Allow Temporary Chat": "",
 	"Allow User Location": "",
 	"Allow User Location": "",
 	"Allow Voice Interruption in Call": "",
 	"Allow Voice Interruption in Call": "",
+	"Allowed Endpoints": "",
 	"Already have an account?": "Već imate račun?",
 	"Already have an account?": "Već imate račun?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "",
 	"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. (Default: 0.0)": "",
 	"Amazing": "",
 	"Amazing": "",
@@ -67,6 +68,7 @@
 	"API Base URL": "Osnovni URL API-ja",
 	"API Base URL": "Osnovni URL API-ja",
 	"API Key": "API ključ",
 	"API Key": "API ključ",
 	"API Key created.": "API ključ je stvoren.",
 	"API Key created.": "API ključ je stvoren.",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "API ključevi",
 	"API keys": "API ključevi",
 	"Application DN": "",
 	"Application DN": "",
 	"Application DN Password": "",
 	"Application DN Password": "",
@@ -310,7 +312,7 @@
 	"Embedding Model": "Embedding model",
 	"Embedding Model": "Embedding model",
 	"Embedding Model Engine": "Embedding model pogon",
 	"Embedding Model Engine": "Embedding model pogon",
 	"Embedding model set to \"{{embedding_model}}\"": "Embedding model postavljen na \"{{embedding_model}}\"",
 	"Embedding model set to \"{{embedding_model}}\"": "Embedding model postavljen na \"{{embedding_model}}\"",
-	"Enable API Key Auth": "",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "Omogući zajedničko korištenje zajednice",
 	"Enable Community Sharing": "Omogući zajedničko korištenje zajednice",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "Sučelje",
 	"Interface": "Sučelje",
 	"Invalid file format.": "",
 	"Invalid file format.": "",
 	"Invalid Tag": "Nevažeća oznaka",
 	"Invalid Tag": "Nevažeća oznaka",
+	"is typing...": "",
 	"January": "Siječanj",
 	"January": "Siječanj",
 	"Jina API Key": "",
 	"Jina API Key": "",
 	"join our Discord for help.": "pridružite se našem Discordu za pomoć.",
 	"join our Discord for help.": "pridružite se našem Discordu za pomoć.",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "Za pristup GGUF modelima dostupnim za preuzimanje,",
 	"To access the GGUF models available for downloading,": "Za pristup GGUF modelima dostupnim za preuzimanje,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Za pristup WebUI-u obratite se administratoru. Administratori mogu upravljati statusima korisnika s Admin panela.",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Za pristup WebUI-u obratite se administratoru. Administratori mogu upravljati statusima korisnika s Admin panela.",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "",
 	"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 protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",

+ 5 - 1
src/lib/i18n/locales/hu-HU/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "Ideiglenes beszélgetés engedélyezése",
 	"Allow Temporary Chat": "Ideiglenes beszélgetés engedélyezése",
 	"Allow User Location": "Felhasználói helyzet engedélyezése",
 	"Allow User Location": "Felhasználói helyzet engedélyezése",
 	"Allow Voice Interruption in Call": "Hang megszakítás engedélyezése hívás közben",
 	"Allow Voice Interruption in Call": "Hang megszakítás engedélyezése hívás közben",
+	"Allowed Endpoints": "",
 	"Already have an account?": "Már van fiókod?",
 	"Already have an account?": "Már van fiókod?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "",
 	"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. (Default: 0.0)": "",
 	"Amazing": "",
 	"Amazing": "",
@@ -67,6 +68,7 @@
 	"API Base URL": "API alap URL",
 	"API Base URL": "API alap URL",
 	"API Key": "API kulcs",
 	"API Key": "API kulcs",
 	"API Key created.": "API kulcs létrehozva.",
 	"API Key created.": "API kulcs létrehozva.",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "API kulcsok",
 	"API keys": "API kulcsok",
 	"Application DN": "",
 	"Application DN": "",
 	"Application DN Password": "",
 	"Application DN Password": "",
@@ -310,7 +312,7 @@
 	"Embedding Model": "Beágyazási modell",
 	"Embedding Model": "Beágyazási modell",
 	"Embedding Model Engine": "Beágyazási modell motor",
 	"Embedding Model Engine": "Beágyazási modell motor",
 	"Embedding model set to \"{{embedding_model}}\"": "Beágyazási modell beállítva: \"{{embedding_model}}\"",
 	"Embedding model set to \"{{embedding_model}}\"": "Beágyazási modell beállítva: \"{{embedding_model}}\"",
-	"Enable API Key Auth": "",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "Közösségi megosztás engedélyezése",
 	"Enable Community Sharing": "Közösségi megosztás engedélyezése",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "Felület",
 	"Interface": "Felület",
 	"Invalid file format.": "Érvénytelen fájlformátum.",
 	"Invalid file format.": "Érvénytelen fájlformátum.",
 	"Invalid Tag": "Érvénytelen címke",
 	"Invalid Tag": "Érvénytelen címke",
+	"is typing...": "",
 	"January": "Január",
 	"January": "Január",
 	"Jina API Key": "",
 	"Jina API Key": "",
 	"join our Discord for help.": "Csatlakozz a Discord szerverünkhöz segítségért.",
 	"join our Discord for help.": "Csatlakozz a Discord szerverünkhöz segítségért.",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "A letölthető GGUF modellek eléréséhez,",
 	"To access the GGUF models available for downloading,": "A letölthető GGUF modellek eléréséhez,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "A WebUI eléréséhez kérjük, forduljon az adminisztrátorhoz. Az adminisztrátorok az Admin Panelen keresztül kezelhetik a felhasználói státuszokat.",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "A WebUI eléréséhez kérjük, forduljon az adminisztrátorhoz. Az adminisztrátorok az Admin Panelen keresztül kezelhetik a felhasználói státuszokat.",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "A tudásbázis csatolásához először adja hozzá őket a \"Knowledge\" munkaterülethez.",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "A tudásbázis csatolásához először adja hozzá őket a \"Knowledge\" munkaterülethez.",
+	"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.": "Adatai védelme érdekében a visszajelzésből csak az értékelések, modell azonosítók, címkék és metaadatok kerülnek megosztásra - a chat előzményei privátak maradnak és nem kerülnek megosztásra.",
 	"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.": "Adatai védelme érdekében a visszajelzésből csak az értékelések, modell azonosítók, címkék és metaadatok kerülnek megosztásra - a chat előzményei privátak maradnak és nem kerülnek megosztásra.",
 	"To select actions here, add them to the \"Functions\" workspace first.": "A műveletek kiválasztásához először adja hozzá őket a \"Functions\" munkaterülethez.",
 	"To select actions here, add them to the \"Functions\" workspace first.": "A műveletek kiválasztásához először adja hozzá őket a \"Functions\" munkaterülethez.",
 	"To select filters here, add them to the \"Functions\" workspace first.": "A szűrők kiválasztásához először adja hozzá őket a \"Functions\" munkaterülethez.",
 	"To select filters here, add them to the \"Functions\" workspace first.": "A szűrők kiválasztásához először adja hozzá őket a \"Functions\" munkaterülethez.",

+ 5 - 1
src/lib/i18n/locales/id-ID/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "",
 	"Allow Temporary Chat": "",
 	"Allow User Location": "Izinkan Lokasi Pengguna",
 	"Allow User Location": "Izinkan Lokasi Pengguna",
 	"Allow Voice Interruption in Call": "Izinkan Gangguan Suara dalam Panggilan",
 	"Allow Voice Interruption in Call": "Izinkan Gangguan Suara dalam Panggilan",
+	"Allowed Endpoints": "",
 	"Already have an account?": "Sudah memiliki akun?",
 	"Already have an account?": "Sudah memiliki akun?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "",
 	"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. (Default: 0.0)": "",
 	"Amazing": "",
 	"Amazing": "",
@@ -67,6 +68,7 @@
 	"API Base URL": "URL Dasar API",
 	"API Base URL": "URL Dasar API",
 	"API Key": "Kunci API",
 	"API Key": "Kunci API",
 	"API Key created.": "Kunci API dibuat.",
 	"API Key created.": "Kunci API dibuat.",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "Kunci API",
 	"API keys": "Kunci API",
 	"Application DN": "",
 	"Application DN": "",
 	"Application DN Password": "",
 	"Application DN Password": "",
@@ -310,7 +312,7 @@
 	"Embedding Model": "Model Penyematan",
 	"Embedding Model": "Model Penyematan",
 	"Embedding Model Engine": "Mesin Model Penyematan",
 	"Embedding Model Engine": "Mesin Model Penyematan",
 	"Embedding model set to \"{{embedding_model}}\"": "Model penyematan diatur ke \"{{embedding_model}}\"",
 	"Embedding model set to \"{{embedding_model}}\"": "Model penyematan diatur ke \"{{embedding_model}}\"",
-	"Enable API Key Auth": "",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "Aktifkan Berbagi Komunitas",
 	"Enable Community Sharing": "Aktifkan Berbagi Komunitas",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "Antarmuka",
 	"Interface": "Antarmuka",
 	"Invalid file format.": "",
 	"Invalid file format.": "",
 	"Invalid Tag": "Tag tidak valid",
 	"Invalid Tag": "Tag tidak valid",
+	"is typing...": "",
 	"January": "Januari",
 	"January": "Januari",
 	"Jina API Key": "",
 	"Jina API Key": "",
 	"join our Discord for help.": "bergabunglah dengan Discord kami untuk mendapatkan bantuan.",
 	"join our Discord for help.": "bergabunglah dengan Discord kami untuk mendapatkan bantuan.",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "Untuk mengakses model GGUF yang tersedia untuk diunduh,",
 	"To access the GGUF models available for downloading,": "Untuk mengakses model GGUF yang tersedia untuk diunduh,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Untuk mengakses WebUI, hubungi administrator. Admin dapat mengelola status pengguna dari Panel Admin.",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Untuk mengakses WebUI, hubungi administrator. Admin dapat mengelola status pengguna dari Panel Admin.",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "",
 	"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 protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Untuk memilih filter di sini, tambahkan filter ke ruang kerja \"Fungsi\" terlebih dahulu.",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Untuk memilih filter di sini, tambahkan filter ke ruang kerja \"Fungsi\" terlebih dahulu.",

+ 5 - 1
src/lib/i18n/locales/ie-GA/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "Cead Comhrá Sealadach",
 	"Allow Temporary Chat": "Cead Comhrá Sealadach",
 	"Allow User Location": "Ceadaigh Suíomh Úsáideora",
 	"Allow User Location": "Ceadaigh Suíomh Úsáideora",
 	"Allow Voice Interruption in Call": "Ceadaigh Briseadh Guth i nGlao",
 	"Allow Voice Interruption in Call": "Ceadaigh Briseadh Guth i nGlao",
+	"Allowed Endpoints": "",
 	"Already have an account?": "Tá cuntas agat cheana féin?",
 	"Already have an account?": "Tá cuntas agat cheana féin?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "Rogha eile seachas an top_p, agus tá sé mar aidhm aige cothromaíocht cáilíochta agus éagsúlachta a chinntiú. Léiríonn an paraiméadar p an dóchúlacht íosta go mbreithneofar comhartha, i gcoibhneas le dóchúlacht an chomhartha is dóichí. Mar shampla, le p=0.05 agus dóchúlacht 0.9 ag an comhartha is dóichí, déantar logits le luach níos lú ná 0.045 a scagadh amach. (Réamhshocrú: 0.0)",
 	"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. (Default: 0.0)": "Rogha eile seachas an top_p, agus tá sé mar aidhm aige cothromaíocht cáilíochta agus éagsúlachta a chinntiú. Léiríonn an paraiméadar p an dóchúlacht íosta go mbreithneofar comhartha, i gcoibhneas le dóchúlacht an chomhartha is dóichí. Mar shampla, le p=0.05 agus dóchúlacht 0.9 ag an comhartha is dóichí, déantar logits le luach níos lú ná 0.045 a scagadh amach. (Réamhshocrú: 0.0)",
 	"Amazing": "Iontach",
 	"Amazing": "Iontach",
@@ -67,6 +68,7 @@
 	"API Base URL": "URL Bonn API",
 	"API Base URL": "URL Bonn API",
 	"API Key": "Eochair API",
 	"API Key": "Eochair API",
 	"API Key created.": "Cruthaíodh Eochair API.",
 	"API Key created.": "Cruthaíodh Eochair API.",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "Eochracha API",
 	"API keys": "Eochracha API",
 	"Application DN": "Feidhmchlár DN",
 	"Application DN": "Feidhmchlár DN",
 	"Application DN Password": "Feidhmchlár DN Pasfhocal",
 	"Application DN Password": "Feidhmchlár DN Pasfhocal",
@@ -310,7 +312,7 @@
 	"Embedding Model": "Múnla Leabháilte",
 	"Embedding Model": "Múnla Leabháilte",
 	"Embedding Model Engine": "Inneall Múnla Ionchorprú",
 	"Embedding Model Engine": "Inneall Múnla Ionchorprú",
 	"Embedding model set to \"{{embedding_model}}\"": "Samhail leabaithe atá socraithe go \"{{embedding_model}}\"",
 	"Embedding model set to \"{{embedding_model}}\"": "Samhail leabaithe atá socraithe go \"{{embedding_model}}\"",
-	"Enable API Key Auth": "Cumasaigh Fíordheimhniú Eochracha API",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "Cumasaigh Comhroinnt Pobail",
 	"Enable Community Sharing": "Cumasaigh Comhroinnt Pobail",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "Comhéadan",
 	"Interface": "Comhéadan",
 	"Invalid file format.": "Formáid comhaid neamhbhailí.",
 	"Invalid file format.": "Formáid comhaid neamhbhailí.",
 	"Invalid Tag": "Clib neamhbhailí",
 	"Invalid Tag": "Clib neamhbhailí",
+	"is typing...": "",
 	"January": "Eanáir",
 	"January": "Eanáir",
 	"Jina API Key": "Jina API Eochair",
 	"Jina API Key": "Jina API Eochair",
 	"join our Discord for help.": "bí inár Discord chun cabhair a fháil.",
 	"join our Discord for help.": "bí inár Discord chun cabhair a fháil.",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "Chun rochtain a fháil ar na múnlaí GGUF atá ar fáil le híoslódáil,",
 	"To access the GGUF models available for downloading,": "Chun rochtain a fháil ar na múnlaí GGUF atá ar fáil le híoslódáil,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Chun rochtain a fháil ar an WebUI, déan teagmháil leis an riarthóir le do thoil. Is féidir le riarthóirí stádas úsáideora a bhainistiú ón bPainéal Riaracháin.",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Chun rochtain a fháil ar an WebUI, déan teagmháil leis an riarthóir le do thoil. Is féidir le riarthóirí stádas úsáideora a bhainistiú ón bPainéal Riaracháin.",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "Chun an bonn eolais a cheangal anseo, cuir leis an spás oibre \"Eolas\" iad ar dtús.",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "Chun an bonn eolais a cheangal anseo, cuir leis an spás oibre \"Eolas\" iad ar dtús.",
+	"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.": "Chun do phríobháideachas a chosaint, ní roinntear ach rátálacha, aitheantais mhúnla, clibeanna agus meiteashonraí ó d’aiseolas - fanann do logaí comhrá príobháideach agus níl siad san áireamh.",
 	"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.": "Chun do phríobháideachas a chosaint, ní roinntear ach rátálacha, aitheantais mhúnla, clibeanna agus meiteashonraí ó d’aiseolas - fanann do logaí comhrá príobháideach agus níl siad san áireamh.",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Chun gníomhartha a roghnú anseo, cuir iad leis an spás oibre \"Feidhmeanna\" ar dtús.",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Chun gníomhartha a roghnú anseo, cuir iad leis an spás oibre \"Feidhmeanna\" ar dtús.",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Chun scagairí a roghnú anseo, cuir iad leis an spás oibre \"Feidhmeanna\" ar dtús.",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Chun scagairí a roghnú anseo, cuir iad leis an spás oibre \"Feidhmeanna\" ar dtús.",

+ 5 - 1
src/lib/i18n/locales/it-IT/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "",
 	"Allow Temporary Chat": "",
 	"Allow User Location": "",
 	"Allow User Location": "",
 	"Allow Voice Interruption in Call": "",
 	"Allow Voice Interruption in Call": "",
+	"Allowed Endpoints": "",
 	"Already have an account?": "Hai già un account?",
 	"Already have an account?": "Hai già un account?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "",
 	"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. (Default: 0.0)": "",
 	"Amazing": "",
 	"Amazing": "",
@@ -67,6 +68,7 @@
 	"API Base URL": "URL base API",
 	"API Base URL": "URL base API",
 	"API Key": "Chiave API",
 	"API Key": "Chiave API",
 	"API Key created.": "Chiave API creata.",
 	"API Key created.": "Chiave API creata.",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "Chiavi API",
 	"API keys": "Chiavi API",
 	"Application DN": "",
 	"Application DN": "",
 	"Application DN Password": "",
 	"Application DN Password": "",
@@ -310,7 +312,7 @@
 	"Embedding Model": "Modello di embedding",
 	"Embedding Model": "Modello di embedding",
 	"Embedding Model Engine": "Motore del modello di embedding",
 	"Embedding Model Engine": "Motore del modello di embedding",
 	"Embedding model set to \"{{embedding_model}}\"": "Modello di embedding impostato su \"{{embedding_model}}\"",
 	"Embedding model set to \"{{embedding_model}}\"": "Modello di embedding impostato su \"{{embedding_model}}\"",
-	"Enable API Key Auth": "",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "Abilita la condivisione della community",
 	"Enable Community Sharing": "Abilita la condivisione della community",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "Interfaccia",
 	"Interface": "Interfaccia",
 	"Invalid file format.": "",
 	"Invalid file format.": "",
 	"Invalid Tag": "Tag non valido",
 	"Invalid Tag": "Tag non valido",
+	"is typing...": "",
 	"January": "Gennaio",
 	"January": "Gennaio",
 	"Jina API Key": "",
 	"Jina API Key": "",
 	"join our Discord for help.": "unisciti al nostro Discord per ricevere aiuto.",
 	"join our Discord for help.": "unisciti al nostro Discord per ricevere aiuto.",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "Per accedere ai modelli GGUF disponibili per il download,",
 	"To access the GGUF models available for downloading,": "Per accedere ai modelli GGUF disponibili per il download,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "",
 	"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 protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",

+ 5 - 1
src/lib/i18n/locales/ja-JP/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "一時的なチャットを許可",
 	"Allow Temporary Chat": "一時的なチャットを許可",
 	"Allow User Location": "ユーザーロケーションの許可",
 	"Allow User Location": "ユーザーロケーションの許可",
 	"Allow Voice Interruption in Call": "通話中に音声の割り込みを許可",
 	"Allow Voice Interruption in Call": "通話中に音声の割り込みを許可",
+	"Allowed Endpoints": "",
 	"Already have an account?": "すでにアカウントをお持ちですか?",
 	"Already have an account?": "すでにアカウントをお持ちですか?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "",
 	"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. (Default: 0.0)": "",
 	"Amazing": "",
 	"Amazing": "",
@@ -67,6 +68,7 @@
 	"API Base URL": "API ベース URL",
 	"API Base URL": "API ベース URL",
 	"API Key": "API キー",
 	"API Key": "API キー",
 	"API Key created.": "API キーが作成されました。",
 	"API Key created.": "API キーが作成されました。",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "API キー",
 	"API keys": "API キー",
 	"Application DN": "",
 	"Application DN": "",
 	"Application DN Password": "",
 	"Application DN Password": "",
@@ -310,7 +312,7 @@
 	"Embedding Model": "埋め込みモデル",
 	"Embedding Model": "埋め込みモデル",
 	"Embedding Model Engine": "埋め込みモデルエンジン",
 	"Embedding Model Engine": "埋め込みモデルエンジン",
 	"Embedding model set to \"{{embedding_model}}\"": "埋め込みモデルを\"{{embedding_model}}\"に設定しました",
 	"Embedding model set to \"{{embedding_model}}\"": "埋め込みモデルを\"{{embedding_model}}\"に設定しました",
-	"Enable API Key Auth": "",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "コミュニティ共有を有効にする",
 	"Enable Community Sharing": "コミュニティ共有を有効にする",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "インターフェース",
 	"Interface": "インターフェース",
 	"Invalid file format.": "",
 	"Invalid file format.": "",
 	"Invalid Tag": "無効なタグ",
 	"Invalid Tag": "無効なタグ",
+	"is typing...": "",
 	"January": "1月",
 	"January": "1月",
 	"Jina API Key": "",
 	"Jina API Key": "",
 	"join our Discord for help.": "ヘルプについては、Discord に参加してください。",
 	"join our Discord for help.": "ヘルプについては、Discord に参加してください。",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "ダウンロード可能な GGUF モデルにアクセスするには、",
 	"To access the GGUF models available for downloading,": "ダウンロード可能な GGUF モデルにアクセスするには、",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "",
 	"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 protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",

+ 5 - 1
src/lib/i18n/locales/ka-GE/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "",
 	"Allow Temporary Chat": "",
 	"Allow User Location": "",
 	"Allow User Location": "",
 	"Allow Voice Interruption in Call": "",
 	"Allow Voice Interruption in Call": "",
+	"Allowed Endpoints": "",
 	"Already have an account?": "უკვე გაქვს ანგარიში?",
 	"Already have an account?": "უკვე გაქვს ანგარიში?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "",
 	"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. (Default: 0.0)": "",
 	"Amazing": "",
 	"Amazing": "",
@@ -67,6 +68,7 @@
 	"API Base URL": "API საბაზისო URL",
 	"API Base URL": "API საბაზისო URL",
 	"API Key": "API გასაღები",
 	"API Key": "API გასაღები",
 	"API Key created.": "API გასაღები შექმნილია.",
 	"API Key created.": "API გასაღები შექმნილია.",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "API გასაღები",
 	"API keys": "API გასაღები",
 	"Application DN": "",
 	"Application DN": "",
 	"Application DN Password": "",
 	"Application DN Password": "",
@@ -310,7 +312,7 @@
 	"Embedding Model": "ჩასმის ძირითადი პროგრამა",
 	"Embedding Model": "ჩასმის ძირითადი პროგრამა",
 	"Embedding Model Engine": "ჩასმის ძირითადი პროგრამა",
 	"Embedding Model Engine": "ჩასმის ძირითადი პროგრამა",
 	"Embedding model set to \"{{embedding_model}}\"": "ჩასმის ძირითადი პროგრამა ჩართულია \"{{embedding_model}}\"",
 	"Embedding model set to \"{{embedding_model}}\"": "ჩასმის ძირითადი პროგრამა ჩართულია \"{{embedding_model}}\"",
-	"Enable API Key Auth": "",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "საზოგადოების გაზიარების ჩართვა",
 	"Enable Community Sharing": "საზოგადოების გაზიარების ჩართვა",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "ინტერფეისი",
 	"Interface": "ინტერფეისი",
 	"Invalid file format.": "",
 	"Invalid file format.": "",
 	"Invalid Tag": "არასწორი ტეგი",
 	"Invalid Tag": "არასწორი ტეგი",
+	"is typing...": "",
 	"January": "იანვარი",
 	"January": "იანვარი",
 	"Jina API Key": "",
 	"Jina API Key": "",
 	"join our Discord for help.": "შეუერთდით ჩვენს Discord-ს დახმარებისთვის",
 	"join our Discord for help.": "შეუერთდით ჩვენს Discord-ს დახმარებისთვის",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "ჩასატვირთად ხელმისაწვდომი GGUF მოდელებზე წვდომისთვის",
 	"To access the GGUF models available for downloading,": "ჩასატვირთად ხელმისაწვდომი GGUF მოდელებზე წვდომისთვის",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "",
 	"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 protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",

+ 5 - 1
src/lib/i18n/locales/ko-KR/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "임시 채팅 허용",
 	"Allow Temporary Chat": "임시 채팅 허용",
 	"Allow User Location": "사용자 위치 활용 허용",
 	"Allow User Location": "사용자 위치 활용 허용",
 	"Allow Voice Interruption in Call": "음성 기능에서 음성 방해 허용",
 	"Allow Voice Interruption in Call": "음성 기능에서 음성 방해 허용",
+	"Allowed Endpoints": "",
 	"Already have an account?": "이미 계정이 있으신가요?",
 	"Already have an account?": "이미 계정이 있으신가요?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "",
 	"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. (Default: 0.0)": "",
 	"Amazing": "",
 	"Amazing": "",
@@ -67,6 +68,7 @@
 	"API Base URL": "API 기본 URL",
 	"API Base URL": "API 기본 URL",
 	"API Key": "API 키",
 	"API Key": "API 키",
 	"API Key created.": "API 키가 생성되었습니다.",
 	"API Key created.": "API 키가 생성되었습니다.",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "API 키",
 	"API keys": "API 키",
 	"Application DN": "",
 	"Application DN": "",
 	"Application DN Password": "",
 	"Application DN Password": "",
@@ -310,7 +312,7 @@
 	"Embedding Model": "임베딩 모델",
 	"Embedding Model": "임베딩 모델",
 	"Embedding Model Engine": "임베딩 모델 엔진",
 	"Embedding Model Engine": "임베딩 모델 엔진",
 	"Embedding model set to \"{{embedding_model}}\"": "임베딩 모델을 \"{{embedding_model}}\"로 설정함",
 	"Embedding model set to \"{{embedding_model}}\"": "임베딩 모델을 \"{{embedding_model}}\"로 설정함",
-	"Enable API Key Auth": "",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "커뮤니티 공유 활성화",
 	"Enable Community Sharing": "커뮤니티 공유 활성화",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "인터페이스",
 	"Interface": "인터페이스",
 	"Invalid file format.": "잘못된 파일 형식",
 	"Invalid file format.": "잘못된 파일 형식",
 	"Invalid Tag": "잘못된 태그",
 	"Invalid Tag": "잘못된 태그",
+	"is typing...": "",
 	"January": "1월",
 	"January": "1월",
 	"Jina API Key": "",
 	"Jina API Key": "",
 	"join our Discord for help.": "도움말을 보려면 Discord에 가입하세요.",
 	"join our Discord for help.": "도움말을 보려면 Discord에 가입하세요.",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "다운로드 가능한 GGUF 모델을 확인하려면,",
 	"To access the GGUF models available for downloading,": "다운로드 가능한 GGUF 모델을 확인하려면,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "WebUI에 접속하려면 관리자에게 문의하십시오. 관리자는 관리자 패널에서 사용자 상태를 관리할 수 있습니다.",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "WebUI에 접속하려면 관리자에게 문의하십시오. 관리자는 관리자 패널에서 사용자 상태를 관리할 수 있습니다.",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "지식 기반을 여기에 첨부하려면. \"지식 기반\" 워크스페이스에 먼저 추가하세요",
 	"To 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.": "개인정보를 보호하기 위해, 당신의 채팅 로그는 비공개로 유지되고, 오직 당신의 피드백에서 평가, 모델 ID, 태그, 그리고 메타데이타만 공유됩니다",
 	"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.": "개인정보를 보호하기 위해, 당신의 채팅 로그는 비공개로 유지되고, 오직 당신의 피드백에서 평가, 모델 ID, 태그, 그리고 메타데이타만 공유됩니다",
 	"To select actions here, add them to the \"Functions\" workspace first.": "여기서 행동을 선택하려면, \"함수\" 워크스페이스에 먼저 추가하세요",
 	"To select actions here, add them to the \"Functions\" workspace first.": "여기서 행동을 선택하려면, \"함수\" 워크스페이스에 먼저 추가하세요",
 	"To select filters here, add them to the \"Functions\" workspace first.": "여기서 필터를 선택하려면, \"함수\" 워크스페이스에 먼저 추가하세요",
 	"To select filters here, add them to the \"Functions\" workspace first.": "여기서 필터를 선택하려면, \"함수\" 워크스페이스에 먼저 추가하세요",

+ 5 - 1
src/lib/i18n/locales/lt-LT/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "",
 	"Allow Temporary Chat": "",
 	"Allow User Location": "Leisti naudotojo vietos matymą",
 	"Allow User Location": "Leisti naudotojo vietos matymą",
 	"Allow Voice Interruption in Call": "Leisti pertraukimą skambučio metu",
 	"Allow Voice Interruption in Call": "Leisti pertraukimą skambučio metu",
+	"Allowed Endpoints": "",
 	"Already have an account?": "Ar jau turite paskyrą?",
 	"Already have an account?": "Ar jau turite paskyrą?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "",
 	"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. (Default: 0.0)": "",
 	"Amazing": "",
 	"Amazing": "",
@@ -67,6 +68,7 @@
 	"API Base URL": "API basės nuoroda",
 	"API Base URL": "API basės nuoroda",
 	"API Key": "API raktas",
 	"API Key": "API raktas",
 	"API Key created.": "API raktas sukurtas",
 	"API Key created.": "API raktas sukurtas",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "API raktai",
 	"API keys": "API raktai",
 	"Application DN": "",
 	"Application DN": "",
 	"Application DN Password": "",
 	"Application DN Password": "",
@@ -310,7 +312,7 @@
 	"Embedding Model": "Embedding modelis",
 	"Embedding Model": "Embedding modelis",
 	"Embedding Model Engine": "Embedding modelio variklis",
 	"Embedding Model Engine": "Embedding modelio variklis",
 	"Embedding model set to \"{{embedding_model}}\"": "Embedding modelis nustatytas kaip\"{{embedding_model}}\"",
 	"Embedding model set to \"{{embedding_model}}\"": "Embedding modelis nustatytas kaip\"{{embedding_model}}\"",
-	"Enable API Key Auth": "",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "Leisti dalinimąsi su bendruomene",
 	"Enable Community Sharing": "Leisti dalinimąsi su bendruomene",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "Sąsaja",
 	"Interface": "Sąsaja",
 	"Invalid file format.": "",
 	"Invalid file format.": "",
 	"Invalid Tag": "Neteisinga žyma",
 	"Invalid Tag": "Neteisinga žyma",
+	"is typing...": "",
 	"January": "Sausis",
 	"January": "Sausis",
 	"Jina API Key": "",
 	"Jina API Key": "",
 	"join our Discord for help.": "prisijunkite prie mūsų Discord.",
 	"join our Discord for help.": "prisijunkite prie mūsų Discord.",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "Tam, kad prieiti prie galimų parsisiųsti GGUF,",
 	"To access the GGUF models available for downloading,": "Tam, kad prieiti prie galimų parsisiųsti GGUF,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Norėdami prieiti prie programos, susisiekite su administratoriumi, kuris Jus patvirtins.",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Norėdami prieiti prie programos, susisiekite su administratoriumi, kuris Jus patvirtins.",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "",
 	"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 protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Norėdami pasirinkti veiksmus, pirmiausia pridėkite juos funkcijų nuostatuose",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Norėdami pasirinkti veiksmus, pirmiausia pridėkite juos funkcijų nuostatuose",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Norėdami pasirinkti filtrus, pirmiausia pridėkite juos funkcijų nuostatuose",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Norėdami pasirinkti filtrus, pirmiausia pridėkite juos funkcijų nuostatuose",

+ 5 - 1
src/lib/i18n/locales/ms-MY/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "",
 	"Allow Temporary Chat": "",
 	"Allow User Location": "Benarkan Lokasi Pengguna",
 	"Allow User Location": "Benarkan Lokasi Pengguna",
 	"Allow Voice Interruption in Call": "Benarkan gangguan suara dalam panggilan",
 	"Allow Voice Interruption in Call": "Benarkan gangguan suara dalam panggilan",
+	"Allowed Endpoints": "",
 	"Already have an account?": "Telah mempunyai akaun?",
 	"Already have an account?": "Telah mempunyai akaun?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "",
 	"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. (Default: 0.0)": "",
 	"Amazing": "",
 	"Amazing": "",
@@ -67,6 +68,7 @@
 	"API Base URL": "URL Asas API",
 	"API Base URL": "URL Asas API",
 	"API Key": "Kunci API",
 	"API Key": "Kunci API",
 	"API Key created.": "Kunci API dicipta",
 	"API Key created.": "Kunci API dicipta",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "Kekunci API",
 	"API keys": "Kekunci API",
 	"Application DN": "",
 	"Application DN": "",
 	"Application DN Password": "",
 	"Application DN Password": "",
@@ -310,7 +312,7 @@
 	"Embedding Model": "Model Benamkan",
 	"Embedding Model": "Model Benamkan",
 	"Embedding Model Engine": "Enjin Model Benamkan",
 	"Embedding Model Engine": "Enjin Model Benamkan",
 	"Embedding model set to \"{{embedding_model}}\"": "Model Benamkan ditetapkan kepada \"{{embedding_model}}\"",
 	"Embedding model set to \"{{embedding_model}}\"": "Model Benamkan ditetapkan kepada \"{{embedding_model}}\"",
-	"Enable API Key Auth": "",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "Benarkan Perkongsian Komuniti",
 	"Enable Community Sharing": "Benarkan Perkongsian Komuniti",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "Antaramuka",
 	"Interface": "Antaramuka",
 	"Invalid file format.": "",
 	"Invalid file format.": "",
 	"Invalid Tag": "Tag tidak sah",
 	"Invalid Tag": "Tag tidak sah",
+	"is typing...": "",
 	"January": "Januari",
 	"January": "Januari",
 	"Jina API Key": "",
 	"Jina API Key": "",
 	"join our Discord for help.": "sertai Discord kami untuk mendapatkan bantuan.",
 	"join our Discord for help.": "sertai Discord kami untuk mendapatkan bantuan.",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "Untuk mengakses model GGUF yang tersedia untuk dimuat turun,",
 	"To access the GGUF models available for downloading,": "Untuk mengakses model GGUF yang tersedia untuk dimuat turun,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Untuk mengakses WebUI , sila hubungi pentadbir. Pentadbir boleh menguruskan status pengguna daripada Panel Pentadbiran",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Untuk mengakses WebUI , sila hubungi pentadbir. Pentadbir boleh menguruskan status pengguna daripada Panel Pentadbiran",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "",
 	"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 protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Untuk memilih tindakan di sini, tambahkannya pada ruang kerja \"Functions\" dahulu.",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Untuk memilih tindakan di sini, tambahkannya pada ruang kerja \"Functions\" dahulu.",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Untuk memilih tapisan di sini, tambahkannya pada ruang kerja \"Functions\" dahulu.",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Untuk memilih tapisan di sini, tambahkannya pada ruang kerja \"Functions\" dahulu.",

+ 5 - 1
src/lib/i18n/locales/nb-NO/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "Tillat midlertidige chatter",
 	"Allow Temporary Chat": "Tillat midlertidige chatter",
 	"Allow User Location": "Aktiver stedstjenester",
 	"Allow User Location": "Aktiver stedstjenester",
 	"Allow Voice Interruption in Call": "Muliggjør taleavbrytelse i samtaler",
 	"Allow Voice Interruption in Call": "Muliggjør taleavbrytelse i samtaler",
+	"Allowed Endpoints": "",
 	"Already have an account?": "Har du allerede en konto?",
 	"Already have an account?": "Har du allerede en konto?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "Alternativ til top_p, og har som mål å sikre en balanse mellom kvalitet og variasjon. Parameteren p representerer minimumssannsynligheten for at et token skal vurderes, i forhold til sannsynligheten for det mest sannsynlige tokenet. Hvis p for eksempel er 0,05 og det mest sannsynlige tokenet har en sannsynlighet på 0,9, filtreres logits med en verdi på mindre enn 0,045 bort. (Standard: 0,0)",
 	"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. (Default: 0.0)": "Alternativ til top_p, og har som mål å sikre en balanse mellom kvalitet og variasjon. Parameteren p representerer minimumssannsynligheten for at et token skal vurderes, i forhold til sannsynligheten for det mest sannsynlige tokenet. Hvis p for eksempel er 0,05 og det mest sannsynlige tokenet har en sannsynlighet på 0,9, filtreres logits med en verdi på mindre enn 0,045 bort. (Standard: 0,0)",
 	"Amazing": "Flott",
 	"Amazing": "Flott",
@@ -67,6 +68,7 @@
 	"API Base URL": "Absolutt API-URL",
 	"API Base URL": "Absolutt API-URL",
 	"API Key": "API-nøkkel",
 	"API Key": "API-nøkkel",
 	"API Key created.": "API-nøkkel opprettet.",
 	"API Key created.": "API-nøkkel opprettet.",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "API-nøkler",
 	"API keys": "API-nøkler",
 	"Application DN": "Applikasjonens DN",
 	"Application DN": "Applikasjonens DN",
 	"Application DN Password": "Applikasjonens DN-passord",
 	"Application DN Password": "Applikasjonens DN-passord",
@@ -310,7 +312,7 @@
 	"Embedding Model": "Innbyggingsmodell",
 	"Embedding Model": "Innbyggingsmodell",
 	"Embedding Model Engine": "Motor for innbygging av modeller",
 	"Embedding Model Engine": "Motor for innbygging av modeller",
 	"Embedding model set to \"{{embedding_model}}\"": "Innbyggingsmodell angitt til \"{{embedding_model}}\"",
 	"Embedding model set to \"{{embedding_model}}\"": "Innbyggingsmodell angitt til \"{{embedding_model}}\"",
-	"Enable API Key Auth": "Aktiver godkjenning med API-nøkkel",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "Aktiver automatisk utfylling av chatmeldinger",
 	"Enable autocomplete generation for chat messages": "Aktiver automatisk utfylling av chatmeldinger",
 	"Enable Community Sharing": "Aktiver deling i fellesskap",
 	"Enable Community Sharing": "Aktiver deling i fellesskap",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "Grensesnitt",
 	"Interface": "Grensesnitt",
 	"Invalid file format.": "Ugyldig filformat.",
 	"Invalid file format.": "Ugyldig filformat.",
 	"Invalid Tag": "Ugyldig etikett",
 	"Invalid Tag": "Ugyldig etikett",
+	"is typing...": "",
 	"January": "januar",
 	"January": "januar",
 	"Jina API Key": "API-nøkkel for Jina",
 	"Jina API Key": "API-nøkkel for Jina",
 	"join our Discord for help.": "bli med i Discord-fellesskapet vårt for å få hjelp.",
 	"join our Discord for help.": "bli med i Discord-fellesskapet vårt for å få hjelp.",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "Hvis du vil ha tilgang til GGUF-modellene tilgjengelige for nedlasting,",
 	"To access the GGUF models available for downloading,": "Hvis du vil ha tilgang til GGUF-modellene tilgjengelige for nedlasting,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Hvis du vil ha tilgang til WebUI, må du kontakte administrator. Administratorer kan behandle brukeres status fra Admin-panelet.",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Hvis du vil ha tilgang til WebUI, må du kontakte administrator. Administratorer kan behandle brukeres status fra Admin-panelet.",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "Hvis du vil legge til kunnskapsbaser her, må du først legge dem til i arbeidsområdet \"Kunnskap\".",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "Hvis du vil legge til kunnskapsbaser her, må du først legge dem til i arbeidsområdet \"Kunnskap\".",
+	"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.": "For å beskytte personvernet ditt deles bare vurderinger, modell-ID-er, etiketter og metadata fra dine tilbakemeldinger. Chattelogger forblir private og inkluderes ikke.",
 	"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.": "For å beskytte personvernet ditt deles bare vurderinger, modell-ID-er, etiketter og metadata fra dine tilbakemeldinger. Chattelogger forblir private og inkluderes ikke.",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Hvis du vil velge handlinger her, må du først legge dem til i arbeidsområdet \"Funksjoner\".",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Hvis du vil velge handlinger her, må du først legge dem til i arbeidsområdet \"Funksjoner\".",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Hvis du vil velge filtre her, må du først legge dem til i arbeidsområdet \"Funksjoner\".",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Hvis du vil velge filtre her, må du først legge dem til i arbeidsområdet \"Funksjoner\".",

+ 5 - 1
src/lib/i18n/locales/nl-NL/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "Tijdelijke chat toestaan",
 	"Allow Temporary Chat": "Tijdelijke chat toestaan",
 	"Allow User Location": "Gebruikerslocatie toestaan",
 	"Allow User Location": "Gebruikerslocatie toestaan",
 	"Allow Voice Interruption in Call": "Stemonderbreking tijdens gesprek toestaan",
 	"Allow Voice Interruption in Call": "Stemonderbreking tijdens gesprek toestaan",
+	"Allowed Endpoints": "",
 	"Already have an account?": "Heb je al een account?",
 	"Already have an account?": "Heb je al een account?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "Alternatief voor de top_p, en streeft naar een evenwicht tussen kwaliteit en variatie. De parameter p vertegenwoordigt de minimumwaarschijnlijkheid dat een token in aanmerking wordt genomen, in verhouding tot de waarschijnlijkheid van het meest waarschijnlijke token. Bijvoorbeeld, met p=0.05 en de meest waarschijnlijke token met een waarschijnlijkheid van 0.9, worden logits met een waarde kleiner dan 0.045 uitgefilterd. (Standaard: 0,0)",
 	"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. (Default: 0.0)": "Alternatief voor de top_p, en streeft naar een evenwicht tussen kwaliteit en variatie. De parameter p vertegenwoordigt de minimumwaarschijnlijkheid dat een token in aanmerking wordt genomen, in verhouding tot de waarschijnlijkheid van het meest waarschijnlijke token. Bijvoorbeeld, met p=0.05 en de meest waarschijnlijke token met een waarschijnlijkheid van 0.9, worden logits met een waarde kleiner dan 0.045 uitgefilterd. (Standaard: 0,0)",
 	"Amazing": "Geweldig",
 	"Amazing": "Geweldig",
@@ -67,6 +68,7 @@
 	"API Base URL": "API Base URL",
 	"API Base URL": "API Base URL",
 	"API Key": "API-sleutel",
 	"API Key": "API-sleutel",
 	"API Key created.": "API-sleutel aangemaakt.",
 	"API Key created.": "API-sleutel aangemaakt.",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "API-sleutels",
 	"API keys": "API-sleutels",
 	"Application DN": "Applicatie DN",
 	"Application DN": "Applicatie DN",
 	"Application DN Password": "Applicatie",
 	"Application DN Password": "Applicatie",
@@ -310,7 +312,7 @@
 	"Embedding Model": "Embedding Model",
 	"Embedding Model": "Embedding Model",
 	"Embedding Model Engine": "Embedding Model Engine",
 	"Embedding Model Engine": "Embedding Model Engine",
 	"Embedding model set to \"{{embedding_model}}\"": "Embedding model ingesteld op \"{{embedding_model}}\"",
 	"Embedding model set to \"{{embedding_model}}\"": "Embedding model ingesteld op \"{{embedding_model}}\"",
-	"Enable API Key Auth": "Schakel API-sleutel authenticatie in",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "Delen via de community inschakelen",
 	"Enable Community Sharing": "Delen via de community inschakelen",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "Interface",
 	"Interface": "Interface",
 	"Invalid file format.": "Ongeldig bestandsformaat",
 	"Invalid file format.": "Ongeldig bestandsformaat",
 	"Invalid Tag": "Ongeldige Tag",
 	"Invalid Tag": "Ongeldige Tag",
+	"is typing...": "",
 	"January": "Januari",
 	"January": "Januari",
 	"Jina API Key": "Jina API-sleutel",
 	"Jina API Key": "Jina API-sleutel",
 	"join our Discord for help.": "join onze Discord voor hulp.",
 	"join our Discord for help.": "join onze Discord voor hulp.",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "Om toegang te krijgen tot de GGUF-modellen die beschikbaar zijn voor downloaden,",
 	"To access the GGUF models available for downloading,": "Om toegang te krijgen tot de GGUF-modellen die beschikbaar zijn voor downloaden,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Om toegang te krijgen tot de WebUI, neem contact op met de administrator. Beheerders kunnen de gebruikersstatussen beheren vanuit het Beheerderspaneel.",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Om toegang te krijgen tot de WebUI, neem contact op met de administrator. Beheerders kunnen de gebruikersstatussen beheren vanuit het Beheerderspaneel.",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "Om hier een kennisbron bij te voegen, voeg ze eerst aan de \"Kennis\" werkplaats toe.",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "Om hier een kennisbron bij te voegen, voeg ze eerst aan de \"Kennis\" werkplaats toe.",
+	"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.": "Om je privacy te beschermen, worden alleen beoordelingen, model-ID's, tags en metadata van je feedback gedeeld - je chatlogs blijven privé en worden niet opgenomen.",
 	"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.": "Om je privacy te beschermen, worden alleen beoordelingen, model-ID's, tags en metadata van je feedback gedeeld - je chatlogs blijven privé en worden niet opgenomen.",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Om hier acties te selecteren, voeg ze eerst aan de \"Functies\" Werkplaats toe.",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Om hier acties te selecteren, voeg ze eerst aan de \"Functies\" Werkplaats toe.",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Om hier filters te selecteren, voeg ze eerst aan de \"Functies\" Werkplaats toe.",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Om hier filters te selecteren, voeg ze eerst aan de \"Functies\" Werkplaats toe.",

+ 5 - 1
src/lib/i18n/locales/pa-IN/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "",
 	"Allow Temporary Chat": "",
 	"Allow User Location": "",
 	"Allow User Location": "",
 	"Allow Voice Interruption in Call": "",
 	"Allow Voice Interruption in Call": "",
+	"Allowed Endpoints": "",
 	"Already have an account?": "ਪਹਿਲਾਂ ਹੀ ਖਾਤਾ ਹੈ?",
 	"Already have an account?": "ਪਹਿਲਾਂ ਹੀ ਖਾਤਾ ਹੈ?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "",
 	"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. (Default: 0.0)": "",
 	"Amazing": "",
 	"Amazing": "",
@@ -67,6 +68,7 @@
 	"API Base URL": "API ਬੇਸ URL",
 	"API Base URL": "API ਬੇਸ URL",
 	"API Key": "API ਕੁੰਜੀ",
 	"API Key": "API ਕੁੰਜੀ",
 	"API Key created.": "API ਕੁੰਜੀ ਬਣਾਈ ਗਈ।",
 	"API Key created.": "API ਕੁੰਜੀ ਬਣਾਈ ਗਈ।",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "API ਕੁੰਜੀਆਂ",
 	"API keys": "API ਕੁੰਜੀਆਂ",
 	"Application DN": "",
 	"Application DN": "",
 	"Application DN Password": "",
 	"Application DN Password": "",
@@ -310,7 +312,7 @@
 	"Embedding Model": "ਐਮਬੈੱਡਿੰਗ ਮਾਡਲ",
 	"Embedding Model": "ਐਮਬੈੱਡਿੰਗ ਮਾਡਲ",
 	"Embedding Model Engine": "ਐਮਬੈੱਡਿੰਗ ਮਾਡਲ ਇੰਜਣ",
 	"Embedding Model Engine": "ਐਮਬੈੱਡਿੰਗ ਮਾਡਲ ਇੰਜਣ",
 	"Embedding model set to \"{{embedding_model}}\"": "ਐਮਬੈੱਡਿੰਗ ਮਾਡਲ ਨੂੰ \"{{embedding_model}}\" 'ਤੇ ਸੈੱਟ ਕੀਤਾ ਗਿਆ",
 	"Embedding model set to \"{{embedding_model}}\"": "ਐਮਬੈੱਡਿੰਗ ਮਾਡਲ ਨੂੰ \"{{embedding_model}}\" 'ਤੇ ਸੈੱਟ ਕੀਤਾ ਗਿਆ",
-	"Enable API Key Auth": "",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "ਕਮਿਊਨਿਟੀ ਸ਼ੇਅਰਿੰਗ ਨੂੰ ਸਮਰੱਥ ਕਰੋ",
 	"Enable Community Sharing": "ਕਮਿਊਨਿਟੀ ਸ਼ੇਅਰਿੰਗ ਨੂੰ ਸਮਰੱਥ ਕਰੋ",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "ਇੰਟਰਫੇਸ",
 	"Interface": "ਇੰਟਰਫੇਸ",
 	"Invalid file format.": "",
 	"Invalid file format.": "",
 	"Invalid Tag": "ਗਲਤ ਟੈਗ",
 	"Invalid Tag": "ਗਲਤ ਟੈਗ",
+	"is typing...": "",
 	"January": "ਜਨਵਰੀ",
 	"January": "ਜਨਵਰੀ",
 	"Jina API Key": "",
 	"Jina API Key": "",
 	"join our Discord for help.": "ਮਦਦ ਲਈ ਸਾਡੇ ਡਿਸਕੋਰਡ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋਵੋ।",
 	"join our Discord for help.": "ਮਦਦ ਲਈ ਸਾਡੇ ਡਿਸਕੋਰਡ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋਵੋ।",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "ਡਾਊਨਲੋਡ ਕਰਨ ਲਈ ਉਪਲਬਧ GGUF ਮਾਡਲਾਂ ਤੱਕ ਪਹੁੰਚਣ ਲਈ,",
 	"To access the GGUF models available for downloading,": "ਡਾਊਨਲੋਡ ਕਰਨ ਲਈ ਉਪਲਬਧ GGUF ਮਾਡਲਾਂ ਤੱਕ ਪਹੁੰਚਣ ਲਈ,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "",
 	"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 protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",

+ 5 - 1
src/lib/i18n/locales/pl-PL/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "",
 	"Allow Temporary Chat": "",
 	"Allow User Location": "",
 	"Allow User Location": "",
 	"Allow Voice Interruption in Call": "",
 	"Allow Voice Interruption in Call": "",
+	"Allowed Endpoints": "",
 	"Already have an account?": "Masz już konto?",
 	"Already have an account?": "Masz już konto?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "",
 	"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. (Default: 0.0)": "",
 	"Amazing": "",
 	"Amazing": "",
@@ -67,6 +68,7 @@
 	"API Base URL": "Podstawowy adres URL interfejsu API",
 	"API Base URL": "Podstawowy adres URL interfejsu API",
 	"API Key": "Klucz API",
 	"API Key": "Klucz API",
 	"API Key created.": "Klucz API utworzony.",
 	"API Key created.": "Klucz API utworzony.",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "Klucze API",
 	"API keys": "Klucze API",
 	"Application DN": "",
 	"Application DN": "",
 	"Application DN Password": "",
 	"Application DN Password": "",
@@ -310,7 +312,7 @@
 	"Embedding Model": "Model osadzania",
 	"Embedding Model": "Model osadzania",
 	"Embedding Model Engine": "Silnik modelu osadzania",
 	"Embedding Model Engine": "Silnik modelu osadzania",
 	"Embedding model set to \"{{embedding_model}}\"": "Model osadzania ustawiono na \"{{embedding_model}}\"",
 	"Embedding model set to \"{{embedding_model}}\"": "Model osadzania ustawiono na \"{{embedding_model}}\"",
-	"Enable API Key Auth": "",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "Włączanie udostępniania społecznościowego",
 	"Enable Community Sharing": "Włączanie udostępniania społecznościowego",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "Interfejs",
 	"Interface": "Interfejs",
 	"Invalid file format.": "",
 	"Invalid file format.": "",
 	"Invalid Tag": "Nieprawidłowy tag",
 	"Invalid Tag": "Nieprawidłowy tag",
+	"is typing...": "",
 	"January": "Styczeń",
 	"January": "Styczeń",
 	"Jina API Key": "",
 	"Jina API Key": "",
 	"join our Discord for help.": "Dołącz do naszego Discorda po pomoc.",
 	"join our Discord for help.": "Dołącz do naszego Discorda po pomoc.",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "Aby uzyskać dostęp do dostępnych modeli GGUF do pobrania,",
 	"To access the GGUF models available for downloading,": "Aby uzyskać dostęp do dostępnych modeli GGUF do pobrania,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "",
 	"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 protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",

+ 5 - 1
src/lib/i18n/locales/pt-BR/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "Permitir Conversa Temporária",
 	"Allow Temporary Chat": "Permitir Conversa Temporária",
 	"Allow User Location": "Permitir Localização do Usuário",
 	"Allow User Location": "Permitir Localização do Usuário",
 	"Allow Voice Interruption in Call": "Permitir Interrupção de Voz na Chamada",
 	"Allow Voice Interruption in Call": "Permitir Interrupção de Voz na Chamada",
+	"Allowed Endpoints": "",
 	"Already have an account?": "Já tem uma conta?",
 	"Already have an account?": "Já tem uma conta?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "Alternativa ao 'top_p', e visa garantir um equilíbrio entre qualidade e variedade. O parâmetro 'p' representa a probabilidade mínima para que um token seja considerado, em relação à probabilidade do token mais provável. Por exemplo, com 'p=0.05' e o token mais provável com probabilidade de '0.9', as predições com valor inferior a '0.045' são filtrados. (Default: 0.0)",
 	"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. (Default: 0.0)": "Alternativa ao 'top_p', e visa garantir um equilíbrio entre qualidade e variedade. O parâmetro 'p' representa a probabilidade mínima para que um token seja considerado, em relação à probabilidade do token mais provável. Por exemplo, com 'p=0.05' e o token mais provável com probabilidade de '0.9', as predições com valor inferior a '0.045' são filtrados. (Default: 0.0)",
 	"Amazing": "Incrível",
 	"Amazing": "Incrível",
@@ -67,6 +68,7 @@
 	"API Base URL": "URL Base da API",
 	"API Base URL": "URL Base da API",
 	"API Key": "Chave API",
 	"API Key": "Chave API",
 	"API Key created.": "Chave API criada.",
 	"API Key created.": "Chave API criada.",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "Chaves API",
 	"API keys": "Chaves API",
 	"Application DN": "DN da Aplicação",
 	"Application DN": "DN da Aplicação",
 	"Application DN Password": "Senha da aplicação DN",
 	"Application DN Password": "Senha da aplicação DN",
@@ -310,7 +312,7 @@
 	"Embedding Model": "Modelo de Embedding",
 	"Embedding Model": "Modelo de Embedding",
 	"Embedding Model Engine": "Motor do Modelo de Embedding",
 	"Embedding Model Engine": "Motor do Modelo de Embedding",
 	"Embedding model set to \"{{embedding_model}}\"": "Modelo de embedding definido para \"{{embedding_model}}\"",
 	"Embedding model set to \"{{embedding_model}}\"": "Modelo de embedding definido para \"{{embedding_model}}\"",
-	"Enable API Key Auth": "Ativar Autenticação por API Key",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "Ativar Compartilhamento com a Comunidade",
 	"Enable Community Sharing": "Ativar Compartilhamento com a Comunidade",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "Interface",
 	"Interface": "Interface",
 	"Invalid file format.": "Formato de arquivo inválido.",
 	"Invalid file format.": "Formato de arquivo inválido.",
 	"Invalid Tag": "Tag Inválida",
 	"Invalid Tag": "Tag Inválida",
+	"is typing...": "",
 	"January": "Janeiro",
 	"January": "Janeiro",
 	"Jina API Key": "",
 	"Jina API Key": "",
 	"join our Discord for help.": "junte-se ao nosso Discord para ajudar.",
 	"join our Discord for help.": "junte-se ao nosso Discord para ajudar.",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "Para acessar os modelos GGUF disponíveis para download,",
 	"To access the GGUF models available for downloading,": "Para acessar os modelos GGUF disponíveis para download,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Para acessar a WebUI, entre em contato com o administrador. Os administradores podem gerenciar os status dos usuários no Painel de Administração.",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Para acessar a WebUI, entre em contato com o administrador. Os administradores podem gerenciar os status dos usuários no Painel de Administração.",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "Para anexar a base de conhecimento aqui, adicione-os ao espaço de trabalho \"Conhecimento\" primeiro.",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "Para anexar a base de conhecimento aqui, adicione-os ao espaço de trabalho \"Conhecimento\" primeiro.",
+	"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.": "Para proteger sua privacidade, apenas classificações, IDs de modelo, tags e metadados são compartilhados a partir de seus comentários – seus registros de bate-papo permanecem privados e não são incluídos.",
 	"To protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "Para proteger sua privacidade, apenas classificações, IDs de modelo, tags e metadados são compartilhados a partir de seus comentários – seus registros de bate-papo permanecem privados e não são incluídos.",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Para selecionar ações aqui, adicione-os ao espaço de trabalho \"Ações\" primeiro.",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Para selecionar ações aqui, adicione-os ao espaço de trabalho \"Ações\" primeiro.",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Para selecionar filtros aqui, adicione-os ao espaço de trabalho \"Funções\" primeiro.",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Para selecionar filtros aqui, adicione-os ao espaço de trabalho \"Funções\" primeiro.",

+ 5 - 1
src/lib/i18n/locales/pt-PT/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "",
 	"Allow Temporary Chat": "",
 	"Allow User Location": "",
 	"Allow User Location": "",
 	"Allow Voice Interruption in Call": "",
 	"Allow Voice Interruption in Call": "",
+	"Allowed Endpoints": "",
 	"Already have an account?": "Já tem uma conta?",
 	"Already have an account?": "Já tem uma conta?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "",
 	"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. (Default: 0.0)": "",
 	"Amazing": "",
 	"Amazing": "",
@@ -67,6 +68,7 @@
 	"API Base URL": "URL Base da API",
 	"API Base URL": "URL Base da API",
 	"API Key": "Chave da API",
 	"API Key": "Chave da API",
 	"API Key created.": "Chave da API criada.",
 	"API Key created.": "Chave da API criada.",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "Chaves da API",
 	"API keys": "Chaves da API",
 	"Application DN": "",
 	"Application DN": "",
 	"Application DN Password": "",
 	"Application DN Password": "",
@@ -310,7 +312,7 @@
 	"Embedding Model": "Modelo de Embedding",
 	"Embedding Model": "Modelo de Embedding",
 	"Embedding Model Engine": "Motor de Modelo de Embedding",
 	"Embedding Model Engine": "Motor de Modelo de Embedding",
 	"Embedding model set to \"{{embedding_model}}\"": "Modelo de Embedding definido como \"{{embedding_model}}\"",
 	"Embedding model set to \"{{embedding_model}}\"": "Modelo de Embedding definido como \"{{embedding_model}}\"",
-	"Enable API Key Auth": "",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "Active a Partilha da Comunidade",
 	"Enable Community Sharing": "Active a Partilha da Comunidade",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "Interface",
 	"Interface": "Interface",
 	"Invalid file format.": "",
 	"Invalid file format.": "",
 	"Invalid Tag": "Etiqueta Inválida",
 	"Invalid Tag": "Etiqueta Inválida",
+	"is typing...": "",
 	"January": "Janeiro",
 	"January": "Janeiro",
 	"Jina API Key": "",
 	"Jina API Key": "",
 	"join our Discord for help.": "junte-se ao nosso Discord para obter ajuda.",
 	"join our Discord for help.": "junte-se ao nosso Discord para obter ajuda.",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "Para aceder aos modelos GGUF disponíveis para descarregar,",
 	"To access the GGUF models available for downloading,": "Para aceder aos modelos GGUF disponíveis para descarregar,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Para aceder ao WebUI, entre em contato com o administrador. Os administradores podem gerir o status dos utilizadores no Painel de Administração.",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Para aceder ao WebUI, entre em contato com o administrador. Os administradores podem gerir o status dos utilizadores no Painel de Administração.",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "",
 	"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 protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",

+ 5 - 1
src/lib/i18n/locales/ro-RO/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "Permite Chat Temporar",
 	"Allow Temporary Chat": "Permite Chat Temporar",
 	"Allow User Location": "Permite Localizarea Utilizatorului",
 	"Allow User Location": "Permite Localizarea Utilizatorului",
 	"Allow Voice Interruption in Call": "Permite Întreruperea Vocii în Apel",
 	"Allow Voice Interruption in Call": "Permite Întreruperea Vocii în Apel",
+	"Allowed Endpoints": "",
 	"Already have an account?": "Deja ai un cont?",
 	"Already have an account?": "Deja ai un cont?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "",
 	"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. (Default: 0.0)": "",
 	"Amazing": "",
 	"Amazing": "",
@@ -67,6 +68,7 @@
 	"API Base URL": "URL Bază API",
 	"API Base URL": "URL Bază API",
 	"API Key": "Cheie API",
 	"API Key": "Cheie API",
 	"API Key created.": "Cheie API creată.",
 	"API Key created.": "Cheie API creată.",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "Chei API",
 	"API keys": "Chei API",
 	"Application DN": "",
 	"Application DN": "",
 	"Application DN Password": "",
 	"Application DN Password": "",
@@ -310,7 +312,7 @@
 	"Embedding Model": "Model de Încapsulare",
 	"Embedding Model": "Model de Încapsulare",
 	"Embedding Model Engine": "Motor de Model de Încapsulare",
 	"Embedding Model Engine": "Motor de Model de Încapsulare",
 	"Embedding model set to \"{{embedding_model}}\"": "Modelul de încapsulare setat la \"{{embedding_model}}\"",
 	"Embedding model set to \"{{embedding_model}}\"": "Modelul de încapsulare setat la \"{{embedding_model}}\"",
-	"Enable API Key Auth": "",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "Activează Partajarea Comunitară",
 	"Enable Community Sharing": "Activează Partajarea Comunitară",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "Interfață",
 	"Interface": "Interfață",
 	"Invalid file format.": "Format de fișier invalid.",
 	"Invalid file format.": "Format de fișier invalid.",
 	"Invalid Tag": "Etichetă Invalidă",
 	"Invalid Tag": "Etichetă Invalidă",
+	"is typing...": "",
 	"January": "Ianuarie",
 	"January": "Ianuarie",
 	"Jina API Key": "",
 	"Jina API Key": "",
 	"join our Discord for help.": "alătură-te Discord-ului nostru pentru ajutor.",
 	"join our Discord for help.": "alătură-te Discord-ului nostru pentru ajutor.",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "Pentru a accesa modelele GGUF disponibile pentru descărcare,",
 	"To access the GGUF models available for downloading,": "Pentru a accesa modelele GGUF disponibile pentru descărcare,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Pentru a accesa WebUI, vă rugăm să contactați administratorul. Administratorii pot gestiona statusurile utilizatorilor din Panoul de Administrare.",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Pentru a accesa WebUI, vă rugăm să contactați administratorul. Administratorii pot gestiona statusurile utilizatorilor din Panoul de Administrare.",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "Pentru a atașa baza de cunoștințe aici, adăugați-o mai întâi în spațiul de lucru \"Knowledge\".",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "Pentru a atașa baza de cunoștințe aici, adăugați-o mai întâi în spațiul de lucru \"Knowledge\".",
+	"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.": "Pentru a vă proteja confidențialitatea, doar evaluările, ID-urile modelelor, etichetele și metadatele sunt partajate din feedback-ul dumneavoastră—jurnalele de chat rămân private și nu sunt incluse.",
 	"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.": "Pentru a vă proteja confidențialitatea, doar evaluările, ID-urile modelelor, etichetele și metadatele sunt partajate din feedback-ul dumneavoastră—jurnalele de chat rămân private și nu sunt incluse.",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Pentru a selecta acțiuni aici, adăugați-le mai întâi în spațiul de lucru \"Funcții\".",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Pentru a selecta acțiuni aici, adăugați-le mai întâi în spațiul de lucru \"Funcții\".",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Pentru a selecta filtrele aici, adăugați-le mai întâi în spațiul de lucru \"Funcții\".",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Pentru a selecta filtrele aici, adăugați-le mai întâi în spațiul de lucru \"Funcții\".",

+ 5 - 1
src/lib/i18n/locales/ru-RU/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "Разрешить временные чаты",
 	"Allow Temporary Chat": "Разрешить временные чаты",
 	"Allow User Location": "Разрешить доступ к местоположению пользователя",
 	"Allow User Location": "Разрешить доступ к местоположению пользователя",
 	"Allow Voice Interruption in Call": "Разрешить прерывание голоса во время вызова",
 	"Allow Voice Interruption in Call": "Разрешить прерывание голоса во время вызова",
+	"Allowed Endpoints": "",
 	"Already have an account?": "У вас уже есть учетная запись?",
 	"Already have an account?": "У вас уже есть учетная запись?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "",
 	"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. (Default: 0.0)": "",
 	"Amazing": "Удивительный",
 	"Amazing": "Удивительный",
@@ -67,6 +68,7 @@
 	"API Base URL": "Базовый адрес API",
 	"API Base URL": "Базовый адрес API",
 	"API Key": "Ключ API",
 	"API Key": "Ключ API",
 	"API Key created.": "Ключ API создан.",
 	"API Key created.": "Ключ API создан.",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "Ключи API",
 	"API keys": "Ключи API",
 	"Application DN": "DN приложения",
 	"Application DN": "DN приложения",
 	"Application DN Password": "DN-пароль приложения",
 	"Application DN Password": "DN-пароль приложения",
@@ -310,7 +312,7 @@
 	"Embedding Model": "Модель встраивания",
 	"Embedding Model": "Модель встраивания",
 	"Embedding Model Engine": "Движок модели встраивания",
 	"Embedding Model Engine": "Движок модели встраивания",
 	"Embedding model set to \"{{embedding_model}}\"": "Модель встраивания установлена в \"{{embedding_model}}\"",
 	"Embedding model set to \"{{embedding_model}}\"": "Модель встраивания установлена в \"{{embedding_model}}\"",
-	"Enable API Key Auth": "Включить аутентификацию по API Ключу",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "Включить генерацию автозаполнения для сообщений чата",
 	"Enable autocomplete generation for chat messages": "Включить генерацию автозаполнения для сообщений чата",
 	"Enable Community Sharing": "Включить совместное использование",
 	"Enable Community Sharing": "Включить совместное использование",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "Интерфейс",
 	"Interface": "Интерфейс",
 	"Invalid file format.": "Неверный формат файла.",
 	"Invalid file format.": "Неверный формат файла.",
 	"Invalid Tag": "Недопустимый тег",
 	"Invalid Tag": "Недопустимый тег",
+	"is typing...": "",
 	"January": "Январь",
 	"January": "Январь",
 	"Jina API Key": "",
 	"Jina API Key": "",
 	"join our Discord for help.": "присоединяйтесь к нашему Discord для помощи.",
 	"join our Discord for help.": "присоединяйтесь к нашему Discord для помощи.",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "Чтобы получить доступ к моделям GGUF, доступным для загрузки,",
 	"To access the GGUF models available for downloading,": "Чтобы получить доступ к моделям GGUF, доступным для загрузки,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Чтобы получить доступ к WebUI, пожалуйста, обратитесь к администратору. Администраторы могут управлять статусами пользователей из панели администратора.",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Чтобы получить доступ к WebUI, пожалуйста, обратитесь к администратору. Администраторы могут управлять статусами пользователей из панели администратора.",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "Чтобы прикрепить сюда базу знаний, сначала добавьте её в \"Знания\" рабочего пространства.",
 	"To 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 protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Чтобы выбрать действия, сначала добавьте их в \"Функции\" рабочего пространства.",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Чтобы выбрать действия, сначала добавьте их в \"Функции\" рабочего пространства.",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Чтобы выбрать фильтры, сначала добавьте их в \"Функции\" рабочего пространства.",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Чтобы выбрать фильтры, сначала добавьте их в \"Функции\" рабочего пространства.",

+ 5 - 1
src/lib/i18n/locales/sk-SK/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "Povoliť dočasný chat",
 	"Allow Temporary Chat": "Povoliť dočasný chat",
 	"Allow User Location": "Povoliť užívateľskú polohu",
 	"Allow User Location": "Povoliť užívateľskú polohu",
 	"Allow Voice Interruption in Call": "Povoliť prerušenie hlasu počas hovoru",
 	"Allow Voice Interruption in Call": "Povoliť prerušenie hlasu počas hovoru",
+	"Allowed Endpoints": "",
 	"Already have an account?": "Už máte účet?",
 	"Already have an account?": "Už máte účet?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "",
 	"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. (Default: 0.0)": "",
 	"Amazing": "",
 	"Amazing": "",
@@ -67,6 +68,7 @@
 	"API Base URL": "Základná URL adresa API",
 	"API Base URL": "Základná URL adresa API",
 	"API Key": "API kľúč",
 	"API Key": "API kľúč",
 	"API Key created.": "API kľúč bol vytvorený.",
 	"API Key created.": "API kľúč bol vytvorený.",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "API kľúče",
 	"API keys": "API kľúče",
 	"Application DN": "",
 	"Application DN": "",
 	"Application DN Password": "",
 	"Application DN Password": "",
@@ -310,7 +312,7 @@
 	"Embedding Model": "Vkladací model (Embedding Model)",
 	"Embedding Model": "Vkladací model (Embedding Model)",
 	"Embedding Model Engine": "",
 	"Embedding Model Engine": "",
 	"Embedding model set to \"{{embedding_model}}\"": "Model vkladania nastavený na \"{{embedding_model}}\"",
 	"Embedding model set to \"{{embedding_model}}\"": "Model vkladania nastavený na \"{{embedding_model}}\"",
-	"Enable API Key Auth": "",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "Povoliť zdieľanie komunity",
 	"Enable Community Sharing": "Povoliť zdieľanie komunity",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "Rozhranie",
 	"Interface": "Rozhranie",
 	"Invalid file format.": "Neplatný formát súboru.",
 	"Invalid file format.": "Neplatný formát súboru.",
 	"Invalid Tag": "Neplatný tag",
 	"Invalid Tag": "Neplatný tag",
+	"is typing...": "",
 	"January": "Január",
 	"January": "Január",
 	"Jina API Key": "",
 	"Jina API Key": "",
 	"join our Discord for help.": "pripojte sa k nášmu Discordu pre pomoc.",
 	"join our Discord for help.": "pripojte sa k nášmu Discordu pre pomoc.",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "Pre prístup k modelom GGUF dostupným na stiahnutie,",
 	"To access the GGUF models available for downloading,": "Pre prístup k modelom GGUF dostupným na stiahnutie,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Pre prístup k WebUI sa prosím obráťte na administrátora. Administrátori môžu spravovať stavy používateľov z Admin Panelu.",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Pre prístup k WebUI sa prosím obráťte na administrátora. Administrátori môžu spravovať stavy používateľov z Admin Panelu.",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "Ak chcete tu pripojiť znalostnú databázu, najprv ju pridajte do pracovného priestoru \"Knowledge\".",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "Ak chcete tu pripojiť znalostnú databázu, najprv ju pridajte do pracovného priestoru \"Knowledge\".",
+	"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.": "Na ochranu vášho súkromia sú z vašej spätnej väzby zdieľané iba hodnotenia, ID modelov, značky a metadáta – vaše záznamy chatu zostávajú súkromné a nie sú zahrnuté.",
 	"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.": "Na ochranu vášho súkromia sú z vašej spätnej väzby zdieľané iba hodnotenia, ID modelov, značky a metadáta – vaše záznamy chatu zostávajú súkromné a nie sú zahrnuté.",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Ak chcete tu vybrať akcie, najprv ich pridajte do pracovného priestoru \"Functions\".",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Ak chcete tu vybrať akcie, najprv ich pridajte do pracovného priestoru \"Functions\".",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Ak chcete tu vybrať filtre, najprv ich pridajte do pracovného priestoru „Functions“.",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Ak chcete tu vybrať filtre, najprv ich pridajte do pracovného priestoru „Functions“.",

+ 5 - 1
src/lib/i18n/locales/sr-RS/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "Дозволи привремена ћаскања",
 	"Allow Temporary Chat": "Дозволи привремена ћаскања",
 	"Allow User Location": "Дозволи корисничку локацију",
 	"Allow User Location": "Дозволи корисничку локацију",
 	"Allow Voice Interruption in Call": "Дозволи прекид гласа у позиву",
 	"Allow Voice Interruption in Call": "Дозволи прекид гласа у позиву",
+	"Allowed Endpoints": "",
 	"Already have an account?": "Већ имате налог?",
 	"Already have an account?": "Већ имате налог?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "",
 	"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. (Default: 0.0)": "",
 	"Amazing": "Невероватно",
 	"Amazing": "Невероватно",
@@ -67,6 +68,7 @@
 	"API Base URL": "Основна адреса API-ја",
 	"API Base URL": "Основна адреса API-ја",
 	"API Key": "API кључ",
 	"API Key": "API кључ",
 	"API Key created.": "API кључ направљен.",
 	"API Key created.": "API кључ направљен.",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "API кључеви",
 	"API keys": "API кључеви",
 	"Application DN": "",
 	"Application DN": "",
 	"Application DN Password": "",
 	"Application DN Password": "",
@@ -310,7 +312,7 @@
 	"Embedding Model": "Модел уградње",
 	"Embedding Model": "Модел уградње",
 	"Embedding Model Engine": "Мотор модела уградње",
 	"Embedding Model Engine": "Мотор модела уградње",
 	"Embedding model set to \"{{embedding_model}}\"": "Модел уградње подешен на \"{{embedding_model}}\"",
 	"Embedding model set to \"{{embedding_model}}\"": "Модел уградње подешен на \"{{embedding_model}}\"",
-	"Enable API Key Auth": "",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "Омогући дељење заједнице",
 	"Enable Community Sharing": "Омогући дељење заједнице",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "Изглед",
 	"Interface": "Изглед",
 	"Invalid file format.": "",
 	"Invalid file format.": "",
 	"Invalid Tag": "Неисправна ознака",
 	"Invalid Tag": "Неисправна ознака",
+	"is typing...": "",
 	"January": "Јануар",
 	"January": "Јануар",
 	"Jina API Key": "",
 	"Jina API Key": "",
 	"join our Discord for help.": "придружите се нашем Дискорду за помоћ.",
 	"join our Discord for help.": "придружите се нашем Дискорду за помоћ.",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "Да бисте приступили GGUF моделима доступним за преузимање,",
 	"To access the GGUF models available for downloading,": "Да бисте приступили GGUF моделима доступним за преузимање,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "",
 	"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 protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",

+ 5 - 1
src/lib/i18n/locales/sv-SE/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "",
 	"Allow Temporary Chat": "",
 	"Allow User Location": "",
 	"Allow User Location": "",
 	"Allow Voice Interruption in Call": "",
 	"Allow Voice Interruption in Call": "",
+	"Allowed Endpoints": "",
 	"Already have an account?": "Har du redan ett konto?",
 	"Already have an account?": "Har du redan ett konto?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "",
 	"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. (Default: 0.0)": "",
 	"Amazing": "",
 	"Amazing": "",
@@ -67,6 +68,7 @@
 	"API Base URL": "API-bas-URL",
 	"API Base URL": "API-bas-URL",
 	"API Key": "API-nyckel",
 	"API Key": "API-nyckel",
 	"API Key created.": "API-nyckel skapad.",
 	"API Key created.": "API-nyckel skapad.",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "API-nycklar",
 	"API keys": "API-nycklar",
 	"Application DN": "",
 	"Application DN": "",
 	"Application DN Password": "",
 	"Application DN Password": "",
@@ -310,7 +312,7 @@
 	"Embedding Model": "Inbäddningsmodell",
 	"Embedding Model": "Inbäddningsmodell",
 	"Embedding Model Engine": "Motor för inbäddningsmodell",
 	"Embedding Model Engine": "Motor för inbäddningsmodell",
 	"Embedding model set to \"{{embedding_model}}\"": "Inbäddningsmodell inställd på \"{{embedding_model}}\"",
 	"Embedding model set to \"{{embedding_model}}\"": "Inbäddningsmodell inställd på \"{{embedding_model}}\"",
-	"Enable API Key Auth": "",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "Aktivera community-delning",
 	"Enable Community Sharing": "Aktivera community-delning",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "Gränssnitt",
 	"Interface": "Gränssnitt",
 	"Invalid file format.": "",
 	"Invalid file format.": "",
 	"Invalid Tag": "Ogiltig tagg",
 	"Invalid Tag": "Ogiltig tagg",
+	"is typing...": "",
 	"January": "januari",
 	"January": "januari",
 	"Jina API Key": "",
 	"Jina API Key": "",
 	"join our Discord for help.": "gå med i vår Discord för hjälp.",
 	"join our Discord for help.": "gå med i vår Discord för hjälp.",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "För att komma åt de GGUF-modellerna som finns tillgängliga för nedladdning,",
 	"To access the GGUF models available for downloading,": "För att komma åt de GGUF-modellerna som finns tillgängliga för nedladdning,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "För att få tillgång till WebUI, kontakta administratören. Administratörer kan hantera behörigheter från administrationspanelen.",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "För att få tillgång till WebUI, kontakta administratören. Administratörer kan hantera behörigheter från administrationspanelen.",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "",
 	"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 protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",

+ 5 - 1
src/lib/i18n/locales/th-TH/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "",
 	"Allow Temporary Chat": "",
 	"Allow User Location": "อนุญาตตำแหน่งผู้ใช้",
 	"Allow User Location": "อนุญาตตำแหน่งผู้ใช้",
 	"Allow Voice Interruption in Call": "อนุญาตการแทรกเสียงในสาย",
 	"Allow Voice Interruption in Call": "อนุญาตการแทรกเสียงในสาย",
+	"Allowed Endpoints": "",
 	"Already have an account?": "มีบัญชีอยู่แล้ว?",
 	"Already have an account?": "มีบัญชีอยู่แล้ว?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "",
 	"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. (Default: 0.0)": "",
 	"Amazing": "",
 	"Amazing": "",
@@ -67,6 +68,7 @@
 	"API Base URL": "URL ฐานของ API",
 	"API Base URL": "URL ฐานของ API",
 	"API Key": "คีย์ API",
 	"API Key": "คีย์ API",
 	"API Key created.": "สร้างคีย์ API แล้ว",
 	"API Key created.": "สร้างคีย์ API แล้ว",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "คีย์ API",
 	"API keys": "คีย์ API",
 	"Application DN": "",
 	"Application DN": "",
 	"Application DN Password": "",
 	"Application DN Password": "",
@@ -310,7 +312,7 @@
 	"Embedding Model": "โมเดลการฝัง",
 	"Embedding Model": "โมเดลการฝัง",
 	"Embedding Model Engine": "เครื่องยนต์โมเดลการฝัง",
 	"Embedding Model Engine": "เครื่องยนต์โมเดลการฝัง",
 	"Embedding model set to \"{{embedding_model}}\"": "ตั้งค่าโมเดลการฝังเป็น \"{{embedding_model}}\"",
 	"Embedding model set to \"{{embedding_model}}\"": "ตั้งค่าโมเดลการฝังเป็น \"{{embedding_model}}\"",
-	"Enable API Key Auth": "",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "เปิดใช้งานการแชร์ในชุมชน",
 	"Enable Community Sharing": "เปิดใช้งานการแชร์ในชุมชน",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "อินเทอร์เฟซ",
 	"Interface": "อินเทอร์เฟซ",
 	"Invalid file format.": "",
 	"Invalid file format.": "",
 	"Invalid Tag": "แท็กไม่ถูกต้อง",
 	"Invalid Tag": "แท็กไม่ถูกต้อง",
+	"is typing...": "",
 	"January": "มกราคม",
 	"January": "มกราคม",
 	"Jina API Key": "",
 	"Jina API Key": "",
 	"join our Discord for help.": "เข้าร่วม Discord ของเราเพื่อขอความช่วยเหลือ",
 	"join our Discord for help.": "เข้าร่วม Discord ของเราเพื่อขอความช่วยเหลือ",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "ในการเข้าถึงโมเดล GGUF ที่มีให้ดาวน์โหลด",
 	"To access the GGUF models available for downloading,": "ในการเข้าถึงโมเดล GGUF ที่มีให้ดาวน์โหลด",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "ในการเข้าถึง WebUI โปรดติดต่อผู้ดูแลระบบ ผู้ดูแลระบบสามารถจัดการสถานะผู้ใช้จากแผงควบคุมผู้ดูแลระบบ",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "ในการเข้าถึง WebUI โปรดติดต่อผู้ดูแลระบบ ผู้ดูแลระบบสามารถจัดการสถานะผู้ใช้จากแผงควบคุมผู้ดูแลระบบ",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "",
 	"To 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 protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "ในการเลือกฟิลเตอร์ที่นี่ ให้เพิ่มไปยังพื้นที่ทำงาน \"ฟังก์ชัน\" ก่อน",
 	"To select filters here, add them to the \"Functions\" workspace first.": "ในการเลือกฟิลเตอร์ที่นี่ ให้เพิ่มไปยังพื้นที่ทำงาน \"ฟังก์ชัน\" ก่อน",

+ 5 - 1
src/lib/i18n/locales/tk-TW/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "",
 	"Allow Temporary Chat": "",
 	"Allow User Location": "",
 	"Allow User Location": "",
 	"Allow Voice Interruption in Call": "",
 	"Allow Voice Interruption in Call": "",
+	"Allowed Endpoints": "",
 	"Already have an account?": "",
 	"Already have an account?": "",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "",
 	"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. (Default: 0.0)": "",
 	"Amazing": "",
 	"Amazing": "",
@@ -67,6 +68,7 @@
 	"API Base URL": "",
 	"API Base URL": "",
 	"API Key": "",
 	"API Key": "",
 	"API Key created.": "",
 	"API Key created.": "",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "",
 	"API keys": "",
 	"Application DN": "",
 	"Application DN": "",
 	"Application DN Password": "",
 	"Application DN Password": "",
@@ -310,7 +312,7 @@
 	"Embedding Model": "",
 	"Embedding Model": "",
 	"Embedding Model Engine": "",
 	"Embedding Model Engine": "",
 	"Embedding model set to \"{{embedding_model}}\"": "",
 	"Embedding model set to \"{{embedding_model}}\"": "",
-	"Enable API Key Auth": "",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "",
 	"Enable Community Sharing": "",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "",
 	"Interface": "",
 	"Invalid file format.": "",
 	"Invalid file format.": "",
 	"Invalid Tag": "",
 	"Invalid Tag": "",
+	"is typing...": "",
 	"January": "",
 	"January": "",
 	"Jina API Key": "",
 	"Jina API Key": "",
 	"join our Discord for help.": "",
 	"join our Discord for help.": "",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "",
 	"To access the GGUF models available for downloading,": "",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "",
 	"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 protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",
 	"To select filters here, add them to the \"Functions\" workspace first.": "",

+ 5 - 1
src/lib/i18n/locales/tr-TR/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "Geçici Sohbetlere İzin Ver",
 	"Allow Temporary Chat": "Geçici Sohbetlere İzin Ver",
 	"Allow User Location": "Kullanıcı Konumuna İzin Ver",
 	"Allow User Location": "Kullanıcı Konumuna İzin Ver",
 	"Allow Voice Interruption in Call": "Aramada Ses Kesintisine İzin Ver",
 	"Allow Voice Interruption in Call": "Aramada Ses Kesintisine İzin Ver",
+	"Allowed Endpoints": "",
 	"Already have an account?": "Zaten bir hesabınız mı var?",
 	"Already have an account?": "Zaten bir hesabınız mı var?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "",
 	"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. (Default: 0.0)": "",
 	"Amazing": "",
 	"Amazing": "",
@@ -67,6 +68,7 @@
 	"API Base URL": "API Temel URL",
 	"API Base URL": "API Temel URL",
 	"API Key": "API Anahtarı",
 	"API Key": "API Anahtarı",
 	"API Key created.": "API Anahtarı oluşturuldu.",
 	"API Key created.": "API Anahtarı oluşturuldu.",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "API anahtarları",
 	"API keys": "API anahtarları",
 	"Application DN": "Uygulama DN",
 	"Application DN": "Uygulama DN",
 	"Application DN Password": "Uygulama DN Parola",
 	"Application DN Password": "Uygulama DN Parola",
@@ -310,7 +312,7 @@
 	"Embedding Model": "Gömme Modeli",
 	"Embedding Model": "Gömme Modeli",
 	"Embedding Model Engine": "Gömme Modeli Motoru",
 	"Embedding Model Engine": "Gömme Modeli Motoru",
 	"Embedding model set to \"{{embedding_model}}\"": "Gömme modeli \"{{embedding_model}}\" olarak ayarlandı",
 	"Embedding model set to \"{{embedding_model}}\"": "Gömme modeli \"{{embedding_model}}\" olarak ayarlandı",
-	"Enable API Key Auth": "",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "Topluluk Paylaşımını Etkinleştir",
 	"Enable Community Sharing": "Topluluk Paylaşımını Etkinleştir",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "Arayüz",
 	"Interface": "Arayüz",
 	"Invalid file format.": "",
 	"Invalid file format.": "",
 	"Invalid Tag": "Geçersiz etiket",
 	"Invalid Tag": "Geçersiz etiket",
+	"is typing...": "",
 	"January": "Ocak",
 	"January": "Ocak",
 	"Jina API Key": "",
 	"Jina API Key": "",
 	"join our Discord for help.": "yardım için Discord'umuza katılın.",
 	"join our Discord for help.": "yardım için Discord'umuza katılın.",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "İndirilebilir mevcut GGUF modellerine erişmek için,",
 	"To access the GGUF models available for downloading,": "İndirilebilir mevcut GGUF modellerine erişmek için,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "WebUI'ye erişmek için lütfen yöneticiyle iletişime geçin. Yöneticiler kullanıcı durumlarını Yönetici Panelinden yönetebilir.",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "WebUI'ye erişmek için lütfen yöneticiyle iletişime geçin. Yöneticiler kullanıcı durumlarını Yönetici Panelinden yönetebilir.",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "",
 	"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 protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Burada eylemleri seçmek için öncelikle bunları \"İşlevler\" çalışma alanına ekleyin.",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Burada eylemleri seçmek için öncelikle bunları \"İşlevler\" çalışma alanına ekleyin.",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Filtreleri burada seçmek için öncelikle bunları \"İşlevler\" çalışma alanına ekleyin.",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Filtreleri burada seçmek için öncelikle bunları \"İşlevler\" çalışma alanına ekleyin.",

+ 5 - 1
src/lib/i18n/locales/uk-UA/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "Дозволити тимчасовий чат",
 	"Allow Temporary Chat": "Дозволити тимчасовий чат",
 	"Allow User Location": "Доступ до місцезнаходження",
 	"Allow User Location": "Доступ до місцезнаходження",
 	"Allow Voice Interruption in Call": "Дозволити переривання голосу під час виклику",
 	"Allow Voice Interruption in Call": "Дозволити переривання голосу під час виклику",
+	"Allowed Endpoints": "",
 	"Already have an account?": "Вже є обліковий запис?",
 	"Already have an account?": "Вже є обліковий запис?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "Альтернатива параметру top_p, яка має на меті забезпечити баланс якості та різноманітності. Параметр p представляє мінімальну ймовірність для того, щоб токен був врахований, відносно ймовірності найбільш ймовірного токена. Наприклад, при p=0.05 і найбільш імовірному токені з ймовірністю 0.9, логіти зі значенням менше 0.045 будуть відфільтровані. (За замовчуванням: 0.0)",
 	"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. (Default: 0.0)": "Альтернатива параметру top_p, яка має на меті забезпечити баланс якості та різноманітності. Параметр p представляє мінімальну ймовірність для того, щоб токен був врахований, відносно ймовірності найбільш ймовірного токена. Наприклад, при p=0.05 і найбільш імовірному токені з ймовірністю 0.9, логіти зі значенням менше 0.045 будуть відфільтровані. (За замовчуванням: 0.0)",
 	"Amazing": "Чудово",
 	"Amazing": "Чудово",
@@ -67,6 +68,7 @@
 	"API Base URL": "URL-адреса API",
 	"API Base URL": "URL-адреса API",
 	"API Key": "Ключ API",
 	"API Key": "Ключ API",
 	"API Key created.": "Ключ API створено.",
 	"API Key created.": "Ключ API створено.",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "Ключі API",
 	"API keys": "Ключі API",
 	"Application DN": "DN застосунку",
 	"Application DN": "DN застосунку",
 	"Application DN Password": "Пароль DN застосунку",
 	"Application DN Password": "Пароль DN застосунку",
@@ -310,7 +312,7 @@
 	"Embedding Model": "Модель вбудовування",
 	"Embedding Model": "Модель вбудовування",
 	"Embedding Model Engine": "Рушій моделі вбудовування ",
 	"Embedding Model Engine": "Рушій моделі вбудовування ",
 	"Embedding model set to \"{{embedding_model}}\"": "Встановлена модель вбудовування \"{{embedding_model}}\"",
 	"Embedding model set to \"{{embedding_model}}\"": "Встановлена модель вбудовування \"{{embedding_model}}\"",
-	"Enable API Key Auth": "Увімкнути автентифікацію за допомогою API ключа",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "Увімкнути генерацію автозаповнення для повідомлень чату",
 	"Enable autocomplete generation for chat messages": "Увімкнути генерацію автозаповнення для повідомлень чату",
 	"Enable Community Sharing": "Увімкнути спільний доступ",
 	"Enable Community Sharing": "Увімкнути спільний доступ",
 	"Enable Google Drive": "Увімкнути Google Drive",
 	"Enable Google Drive": "Увімкнути Google Drive",
@@ -507,6 +509,7 @@
 	"Interface": "Інтерфейс",
 	"Interface": "Інтерфейс",
 	"Invalid file format.": "Неправильний формат файлу.",
 	"Invalid file format.": "Неправильний формат файлу.",
 	"Invalid Tag": "Недійсний тег",
 	"Invalid Tag": "Недійсний тег",
+	"is typing...": "",
 	"January": "Січень",
 	"January": "Січень",
 	"Jina API Key": "Ключ API для Jina",
 	"Jina API Key": "Ключ API для Jina",
 	"join our Discord for help.": "приєднуйтеся до нашого Discord для допомоги.",
 	"join our Discord for help.": "приєднуйтеся до нашого Discord для допомоги.",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "Щоб отримати доступ до моделей GGUF, які можна завантажити,,",
 	"To access the GGUF models available for downloading,": "Щоб отримати доступ до моделей GGUF, які можна завантажити,,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Щоб отримати доступ до веб-інтерфейсу, зверніться до адміністратора. Адміністратори можуть керувати статусами користувачів з Панелі адміністратора.",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "Щоб отримати доступ до веб-інтерфейсу, зверніться до адміністратора. Адміністратори можуть керувати статусами користувачів з Панелі адміністратора.",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "Щоб прикріпити базу знань тут, спочатку додайте їх до робочого простору \"Знання\".",
 	"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.": "Для захисту вашої конфіденційності з вашими відгуками діляться лише оцінками, ID моделей, тегами та метаданими — ваші журнали чату залишаються приватними і не включаються.",
 	"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.": "Для захисту вашої конфіденційності з вашими відгуками діляться лише оцінками, ID моделей, тегами та метаданими — ваші журнали чату залишаються приватними і не включаються.",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Щоб вибрати дії тут, спочатку додайте їх до робочої області \"Функції\".",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Щоб вибрати дії тут, спочатку додайте їх до робочої області \"Функції\".",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Щоб обрати фільтри тут, спочатку додайте їх до робочої області \"Функції\".",
 	"To select filters here, add them to the \"Functions\" workspace first.": "Щоб обрати фільтри тут, спочатку додайте їх до робочої області \"Функції\".",

+ 5 - 1
src/lib/i18n/locales/ur-PK/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "عارضی چیٹ کی اجازت دیں",
 	"Allow Temporary Chat": "عارضی چیٹ کی اجازت دیں",
 	"Allow User Location": "صارف کی مقام کی اجازت دیں",
 	"Allow User Location": "صارف کی مقام کی اجازت دیں",
 	"Allow Voice Interruption in Call": "کال میں آواز کی مداخلت کی اجازت دیں",
 	"Allow Voice Interruption in Call": "کال میں آواز کی مداخلت کی اجازت دیں",
+	"Allowed Endpoints": "",
 	"Already have an account?": "کیا پہلے سے اکاؤنٹ موجود ہے؟",
 	"Already have an account?": "کیا پہلے سے اکاؤنٹ موجود ہے؟",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "",
 	"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. (Default: 0.0)": "",
 	"Amazing": "",
 	"Amazing": "",
@@ -67,6 +68,7 @@
 	"API Base URL": "API بنیادی URL",
 	"API Base URL": "API بنیادی URL",
 	"API Key": "اے پی آئی کلید",
 	"API Key": "اے پی آئی کلید",
 	"API Key created.": "اے پی آئی کلید بنائی گئی",
 	"API Key created.": "اے پی آئی کلید بنائی گئی",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "API کیز",
 	"API keys": "API کیز",
 	"Application DN": "",
 	"Application DN": "",
 	"Application DN Password": "",
 	"Application DN Password": "",
@@ -310,7 +312,7 @@
 	"Embedding Model": "ایمبیڈنگ ماڈل",
 	"Embedding Model": "ایمبیڈنگ ماڈل",
 	"Embedding Model Engine": "ایمبیڈنگ ماڈل انجن",
 	"Embedding Model Engine": "ایمبیڈنگ ماڈل انجن",
 	"Embedding model set to \"{{embedding_model}}\"": "ایمبیڈنگ ماڈل \"{{embedding_model}}\" پر سیٹ کیا گیا ہے",
 	"Embedding model set to \"{{embedding_model}}\"": "ایمبیڈنگ ماڈل \"{{embedding_model}}\" پر سیٹ کیا گیا ہے",
-	"Enable API Key Auth": "",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "کمیونٹی شیئرنگ فعال کریں",
 	"Enable Community Sharing": "کمیونٹی شیئرنگ فعال کریں",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "انٹرفیس",
 	"Interface": "انٹرفیس",
 	"Invalid file format.": "غلط فائل فارمیٹ",
 	"Invalid file format.": "غلط فائل فارمیٹ",
 	"Invalid Tag": "غلط ٹیگ",
 	"Invalid Tag": "غلط ٹیگ",
+	"is typing...": "",
 	"January": "جنوری",
 	"January": "جنوری",
 	"Jina API Key": "",
 	"Jina API Key": "",
 	"join our Discord for help.": "مدد کے لئے ہمارے ڈسکارڈ میں شامل ہوں",
 	"join our Discord for help.": "مدد کے لئے ہمارے ڈسکارڈ میں شامل ہوں",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "GGUF ماڈلز تک رسائی حاصل کرنے کے لئے جو ڈاؤنلوڈنگ کے لئے دستیاب ہیں،",
 	"To access the GGUF models available for downloading,": "GGUF ماڈلز تک رسائی حاصل کرنے کے لئے جو ڈاؤنلوڈنگ کے لئے دستیاب ہیں،",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "ویب یو آئی تک رسائی حاصل کرنے کے لیے براہ کرم منتظم سے رابطہ کریں ایڈمنز صارف کی حالت کو ایڈمن پینل سے منظم کر سکتے ہیں",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "ویب یو آئی تک رسائی حاصل کرنے کے لیے براہ کرم منتظم سے رابطہ کریں ایڈمنز صارف کی حالت کو ایڈمن پینل سے منظم کر سکتے ہیں",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "یہاں معلوماتی بنیاد منسلک کرنے کے لیے، پہلے انہیں \"معلومات\" ورک اسپیس میں شامل کریں",
 	"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.": "آپ کی رازداری کے تحفظ کے لئے، صرف درجہ بندی، ماڈل IDs، ٹیگز، اور میٹا ڈیٹا آپ کے فیڈ بیک سے شیئر کیے جاتے ہیں - آپ کی چیٹ کی تفصیلات نجی رہتی ہیں اور شامل نہیں کی جاتیں ",
 	"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.": "آپ کی رازداری کے تحفظ کے لئے، صرف درجہ بندی، ماڈل IDs، ٹیگز، اور میٹا ڈیٹا آپ کے فیڈ بیک سے شیئر کیے جاتے ہیں - آپ کی چیٹ کی تفصیلات نجی رہتی ہیں اور شامل نہیں کی جاتیں ",
 	"To select actions here, add them to the \"Functions\" workspace first.": "عمل کا انتخاب کرنے کے لیے، پہلے انہیں \"افعال\" ورک اسپیس میں شامل کریں",
 	"To select actions here, add them to the \"Functions\" workspace first.": "عمل کا انتخاب کرنے کے لیے، پہلے انہیں \"افعال\" ورک اسپیس میں شامل کریں",
 	"To select filters here, add them to the \"Functions\" workspace first.": "یہاں فلٹرز منتخب کرنے کے لئے، پہلے انہیں \"فیچرز\" ورک اسپیس میں شامل کریں",
 	"To select filters here, add them to the \"Functions\" workspace first.": "یہاں فلٹرز منتخب کرنے کے لئے، پہلے انہیں \"فیچرز\" ورک اسپیس میں شامل کریں",

+ 5 - 1
src/lib/i18n/locales/vi-VN/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "Cho phép Chat nháp",
 	"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 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",
 	"Allow Voice Interruption in Call": "Cho phép gián đoạn giọng nói trong cuộc gọi",
+	"Allowed Endpoints": "",
 	"Already have an account?": "Bạn đã có tài khoản?",
 	"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. (Default: 0.0)": "",
 	"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. (Default: 0.0)": "",
 	"Amazing": "",
 	"Amazing": "",
@@ -67,6 +68,7 @@
 	"API Base URL": "Đường dẫn tới API (API Base URL)",
 	"API Base URL": "Đường dẫn tới API (API Base URL)",
 	"API Key": "API Key",
 	"API Key": "API Key",
 	"API Key created.": "Khóa API đã tạo",
 	"API Key created.": "Khóa API đã tạo",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "API Keys",
 	"API keys": "API Keys",
 	"Application DN": "",
 	"Application DN": "",
 	"Application DN Password": "",
 	"Application DN Password": "",
@@ -310,7 +312,7 @@
 	"Embedding Model": "Mô hình embedding",
 	"Embedding Model": "Mô hình embedding",
 	"Embedding Model Engine": "Trình xử lý 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}}\"",
 	"Embedding model set to \"{{embedding_model}}\"": "Mô hình embedding đã được thiết lập thành \"{{embedding_model}}\"",
-	"Enable API Key Auth": "",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable autocomplete generation for chat messages": "",
 	"Enable Community Sharing": "Cho phép Chia sẻ Cộng đồng",
 	"Enable Community Sharing": "Cho phép Chia sẻ Cộng đồng",
 	"Enable Google Drive": "",
 	"Enable Google Drive": "",
@@ -507,6 +509,7 @@
 	"Interface": "Giao diện",
 	"Interface": "Giao diện",
 	"Invalid file format.": "",
 	"Invalid file format.": "",
 	"Invalid Tag": "Tag không hợp lệ",
 	"Invalid Tag": "Tag không hợp lệ",
+	"is typing...": "",
 	"January": "Tháng 1",
 	"January": "Tháng 1",
 	"Jina API Key": "",
 	"Jina API Key": "",
 	"join our Discord for help.": "tham gia Discord của chúng tôi để được trợ giúp.",
 	"join our Discord for help.": "tham gia Discord của chúng tôi để được trợ giúp.",
@@ -922,6 +925,7 @@
 	"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 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 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 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 protect your privacy, only ratings, model IDs, tags, and metadata are shared from your feedback—your chat logs remain private and are not included.": "",
 	"To select actions here, add them to the \"Functions\" workspace first.": "Để chọn các tác vụ, bạn phải thêm chúng vào workspace \"Functions\" trước.",
 	"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 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.",

+ 12 - 8
src/lib/i18n/locales/zh-CN/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "允许临时对话",
 	"Allow Temporary Chat": "允许临时对话",
 	"Allow User Location": "允许获取您的位置",
 	"Allow User Location": "允许获取您的位置",
 	"Allow Voice Interruption in Call": "允许通话中的打断语音",
 	"Allow Voice Interruption in Call": "允许通话中的打断语音",
+	"Allowed Endpoints": "",
 	"Already have an account?": "已经拥有账号了?",
 	"Already have an account?": "已经拥有账号了?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "top_p的替代方法,目标是在质量和多样性之间取得平衡。参数p表示一个token相对于最有可能的token所需的最低概率。比如,当p=0.05且最有可能的token概率为0.9时,概率低于0.045的logits会被排除。(默认值:0.0)",
 	"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. (Default: 0.0)": "top_p的替代方法,目标是在质量和多样性之间取得平衡。参数p表示一个token相对于最有可能的token所需的最低概率。比如,当p=0.05且最有可能的token概率为0.9时,概率低于0.045的logits会被排除。(默认值:0.0)",
 	"Amazing": "很棒",
 	"Amazing": "很棒",
@@ -67,6 +68,7 @@
 	"API Base URL": "API 基础地址",
 	"API Base URL": "API 基础地址",
 	"API Key": "API 密钥",
 	"API Key": "API 密钥",
 	"API Key created.": "API 密钥已创建。",
 	"API Key created.": "API 密钥已创建。",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "API 密钥",
 	"API keys": "API 密钥",
 	"Application DN": "Application DN",
 	"Application DN": "Application DN",
 	"Application DN Password": "Application DN 密码",
 	"Application DN Password": "Application DN 密码",
@@ -310,7 +312,7 @@
 	"Embedding Model": "语义向量模型",
 	"Embedding Model": "语义向量模型",
 	"Embedding Model Engine": "语义向量模型引擎",
 	"Embedding Model Engine": "语义向量模型引擎",
 	"Embedding model set to \"{{embedding_model}}\"": "语义向量模型设置为 \"{{embedding_model}}\"",
 	"Embedding model set to \"{{embedding_model}}\"": "语义向量模型设置为 \"{{embedding_model}}\"",
-	"Enable API Key Auth": "启用 API 密钥鉴权",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "启用聊天消息的自动完成生成",
 	"Enable autocomplete generation for chat messages": "启用聊天消息的自动完成生成",
 	"Enable Community Sharing": "启用分享至社区",
 	"Enable Community Sharing": "启用分享至社区",
 	"Enable Google Drive": "启用 Google 云端硬盘",
 	"Enable Google Drive": "启用 Google 云端硬盘",
@@ -364,7 +366,7 @@
 	"Enter stop sequence": "输入停止序列 (Stop Sequence)",
 	"Enter stop sequence": "输入停止序列 (Stop Sequence)",
 	"Enter system prompt": "输入系统提示词 (Prompt)",
 	"Enter system prompt": "输入系统提示词 (Prompt)",
 	"Enter Tavily API Key": "输入 Tavily API 密钥",
 	"Enter Tavily API Key": "输入 Tavily API 密钥",
-	"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.": "输入 WebUI 的公共 URL。此 URL 将用于在通知中生成链接。",
 	"Enter Tika Server URL": "输入 Tika 服务器地址",
 	"Enter Tika Server URL": "输入 Tika 服务器地址",
 	"Enter Top K": "输入 Top K",
 	"Enter Top K": "输入 Top K",
 	"Enter URL (e.g. http://127.0.0.1:7860/)": "输入地址 (例如:http://127.0.0.1:7860/)",
 	"Enter URL (e.g. http://127.0.0.1:7860/)": "输入地址 (例如:http://127.0.0.1:7860/)",
@@ -483,10 +485,10 @@
 	"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.": "我已阅读并理解我的行为所带来的影响,明白执行任意代码所涉及的风险。且我已验证代码来源可信度。",
 	"I acknowledge that I have read and I understand the implications of my action. I am aware of the risks associated with executing arbitrary code and I have verified the trustworthiness of the source.": "我已阅读并理解我的行为所带来的影响,明白执行任意代码所涉及的风险。且我已验证代码来源可信度。",
 	"ID": "ID",
 	"ID": "ID",
 	"Ignite curiosity": "点燃好奇心",
 	"Ignite curiosity": "点燃好奇心",
-	"Image Compression": "",
+	"Image Compression": "图像压缩",
 	"Image Generation (Experimental)": "图像生成(实验性)",
 	"Image Generation (Experimental)": "图像生成(实验性)",
 	"Image Generation Engine": "图像生成引擎",
 	"Image Generation Engine": "图像生成引擎",
-	"Image Max Compression Size": "",
+	"Image Max Compression Size": "图像最大压缩尺寸",
 	"Image Settings": "图像设置",
 	"Image Settings": "图像设置",
 	"Images": "图像",
 	"Images": "图像",
 	"Import Chats": "导入对话记录",
 	"Import Chats": "导入对话记录",
@@ -507,6 +509,7 @@
 	"Interface": "界面",
 	"Interface": "界面",
 	"Invalid file format.": "无效文件格式。",
 	"Invalid file format.": "无效文件格式。",
 	"Invalid Tag": "无效标签",
 	"Invalid Tag": "无效标签",
+	"is typing...": "",
 	"January": "一月",
 	"January": "一月",
 	"Jina API Key": "Jina API 密钥",
 	"Jina API Key": "Jina API 密钥",
 	"join our Discord for help.": "加入我们的 Discord 寻求帮助。",
 	"join our Discord for help.": "加入我们的 Discord 寻求帮助。",
@@ -605,7 +608,7 @@
 	"Name": "名称",
 	"Name": "名称",
 	"Name your knowledge base": "为您的知识库命名",
 	"Name your knowledge base": "为您的知识库命名",
 	"New Chat": "新对话",
 	"New Chat": "新对话",
-	"New folder": "",
+	"New folder": "新文件夹",
 	"New Password": "新密码",
 	"New Password": "新密码",
 	"new-channel": "新频道",
 	"new-channel": "新频道",
 	"No content found": "未发现内容",
 	"No content found": "未发现内容",
@@ -630,7 +633,7 @@
 	"Not helpful": "无帮助",
 	"Not helpful": "无帮助",
 	"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "注意:如果设置了最低分数,搜索只会返回分数大于或等于最低分数的文档。",
 	"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "注意:如果设置了最低分数,搜索只会返回分数大于或等于最低分数的文档。",
 	"Notes": "笔记",
 	"Notes": "笔记",
-	"Notification Sound": "",
+	"Notification Sound": "通知声音",
 	"Notification Webhook": "通知 Webhook",
 	"Notification Webhook": "通知 Webhook",
 	"Notifications": "桌面通知",
 	"Notifications": "桌面通知",
 	"November": "十一月",
 	"November": "十一月",
@@ -781,7 +784,7 @@
 	"Search Tools": "搜索工具",
 	"Search Tools": "搜索工具",
 	"SearchApi API Key": "SearchApi API 密钥",
 	"SearchApi API Key": "SearchApi API 密钥",
 	"SearchApi Engine": "SearchApi 引擎",
 	"SearchApi Engine": "SearchApi 引擎",
-	"Searched {{count}} sites": "",
+	"Searched {{count}} sites": "搜索过的 {{count}} 网站",
 	"Searching \"{{searchQuery}}\"": "搜索 \"{{searchQuery}}\" 中",
 	"Searching \"{{searchQuery}}\"": "搜索 \"{{searchQuery}}\" 中",
 	"Searching Knowledge for \"{{searchQuery}}\"": "检索有关 \"{{searchQuery}}\" 的知识中",
 	"Searching Knowledge for \"{{searchQuery}}\"": "检索有关 \"{{searchQuery}}\" 的知识中",
 	"Searxng Query URL": "Searxng 查询 URL",
 	"Searxng Query URL": "Searxng 查询 URL",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "要访问可下载的 GGUF 模型,",
 	"To access the GGUF models available for downloading,": "要访问可下载的 GGUF 模型,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "请联系管理员以访问。管理员可以在后台管理面板中管理用户状态。",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "请联系管理员以访问。管理员可以在后台管理面板中管理用户状态。",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "要在这里附加知识库,请先将其添加到工作空间中的“知识库”。",
 	"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.": "为了保护您的隐私,只有评分、模型ID、标签和元数据会从您的反馈中分享——您的聊天记录将保持私密,不会被包含在内。",
 	"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.": "为了保护您的隐私,只有评分、模型ID、标签和元数据会从您的反馈中分享——您的聊天记录将保持私密,不会被包含在内。",
 	"To select actions here, add them to the \"Functions\" workspace first.": "要在这里选择自动化,请先将其添加到工作空间中的“函数”。",
 	"To select actions here, add them to the \"Functions\" workspace first.": "要在这里选择自动化,请先将其添加到工作空间中的“函数”。",
 	"To select filters here, add them to the \"Functions\" workspace first.": "要在这里选择过滤器,请先将其添加到工作空间中的“函数”。",
 	"To select filters here, add them to the \"Functions\" workspace first.": "要在这里选择过滤器,请先将其添加到工作空间中的“函数”。",
@@ -1015,7 +1019,7 @@
 	"Web Search Query Generation": "网页搜索查询生成",
 	"Web Search Query Generation": "网页搜索查询生成",
 	"Webhook URL": "Webhook URL",
 	"Webhook URL": "Webhook URL",
 	"WebUI Settings": "WebUI 设置",
 	"WebUI Settings": "WebUI 设置",
-	"WebUI URL": "",
+	"WebUI URL": "WebUI URL",
 	"WebUI will make requests to \"{{url}}/api/chat\"": "WebUI 将向 \"{{url}}/api/chat\" 发出请求",
 	"WebUI will make requests to \"{{url}}/api/chat\"": "WebUI 将向 \"{{url}}/api/chat\" 发出请求",
 	"WebUI will make requests to \"{{url}}/chat/completions\"": "WebUI 将向 \"{{url}}/chat/completions\" 发出请求",
 	"WebUI will make requests to \"{{url}}/chat/completions\"": "WebUI 将向 \"{{url}}/chat/completions\" 发出请求",
 	"What are you trying to achieve?": "你想要达到什么目标?",
 	"What are you trying to achieve?": "你想要达到什么目标?",

+ 5 - 1
src/lib/i18n/locales/zh-TW/translation.json

@@ -57,6 +57,7 @@
 	"Allow Temporary Chat": "允許暫時對話",
 	"Allow Temporary Chat": "允許暫時對話",
 	"Allow User Location": "允許使用者位置",
 	"Allow User Location": "允許使用者位置",
 	"Allow Voice Interruption in Call": "允許在通話中打斷語音",
 	"Allow Voice Interruption in Call": "允許在通話中打斷語音",
+	"Allowed Endpoints": "",
 	"Already have an account?": "已經有帳號了嗎?",
 	"Already have an account?": "已經有帳號了嗎?",
 	"Alternative to the top_p, and aims to ensure a balance of quality and variety. The parameter p represents the minimum probability for a token to be considered, relative to the probability of the most likely token. For example, with p=0.05 and the most likely token having a probability of 0.9, logits with a value less than 0.045 are filtered out. (Default: 0.0)": "作為 top_p 的替代方案,旨在確保質量和多樣性的平衡。相對於最可能的 token 機率而言,參數 p 代表一個 token 被考慮在内的最低機率。例如,當 p=0.05 且最可能的 token 機率為 0.9 時,數值低於 0.045 的對數機率會被過濾掉。(預設值:0.0)",
 	"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. (Default: 0.0)": "作為 top_p 的替代方案,旨在確保質量和多樣性的平衡。相對於最可能的 token 機率而言,參數 p 代表一個 token 被考慮在内的最低機率。例如,當 p=0.05 且最可能的 token 機率為 0.9 時,數值低於 0.045 的對數機率會被過濾掉。(預設值:0.0)",
 	"Amazing": "很棒",
 	"Amazing": "很棒",
@@ -67,6 +68,7 @@
 	"API Base URL": "API 基礎 URL",
 	"API Base URL": "API 基礎 URL",
 	"API Key": "API 金鑰",
 	"API Key": "API 金鑰",
 	"API Key created.": "API 金鑰已建立。",
 	"API Key created.": "API 金鑰已建立。",
+	"API Key Endpoint Restrictions": "",
 	"API keys": "API 金鑰",
 	"API keys": "API 金鑰",
 	"Application DN": "應用程式 DN",
 	"Application DN": "應用程式 DN",
 	"Application DN Password": "應用程式 DN 密碼",
 	"Application DN Password": "應用程式 DN 密碼",
@@ -310,7 +312,7 @@
 	"Embedding Model": "嵌入模型",
 	"Embedding Model": "嵌入模型",
 	"Embedding Model Engine": "嵌入模型引擎",
 	"Embedding Model Engine": "嵌入模型引擎",
 	"Embedding model set to \"{{embedding_model}}\"": "嵌入模型已設定為 \"{{embedding_model}}\"",
 	"Embedding model set to \"{{embedding_model}}\"": "嵌入模型已設定為 \"{{embedding_model}}\"",
-	"Enable API Key Auth": "啟用 API 金鑰驗證",
+	"Enable API Key": "",
 	"Enable autocomplete generation for chat messages": "啟用聊天訊息的自動完成生成",
 	"Enable autocomplete generation for chat messages": "啟用聊天訊息的自動完成生成",
 	"Enable Community Sharing": "啟用社群分享",
 	"Enable Community Sharing": "啟用社群分享",
 	"Enable Google Drive": "啟用 Google Drive",
 	"Enable Google Drive": "啟用 Google Drive",
@@ -507,6 +509,7 @@
 	"Interface": "介面",
 	"Interface": "介面",
 	"Invalid file format.": "無效檔案格式。",
 	"Invalid file format.": "無效檔案格式。",
 	"Invalid Tag": "無效標籤",
 	"Invalid Tag": "無效標籤",
+	"is typing...": "",
 	"January": "1 月",
 	"January": "1 月",
 	"Jina API Key": "Jina API 金鑰",
 	"Jina API Key": "Jina API 金鑰",
 	"join our Discord for help.": "加入我們的 Discord 以尋求協助。",
 	"join our Discord for help.": "加入我們的 Discord 以尋求協助。",
@@ -922,6 +925,7 @@
 	"To access the GGUF models available for downloading,": "若要存取可供下載的 GGUF 模型,",
 	"To access the GGUF models available for downloading,": "若要存取可供下載的 GGUF 模型,",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "若要存取 WebUI,請聯絡管理員。管理員可以從管理面板管理使用者狀態。",
 	"To access the WebUI, please reach out to the administrator. Admins can manage user statuses from the Admin Panel.": "若要存取 WebUI,請聯絡管理員。管理員可以從管理面板管理使用者狀態。",
 	"To attach knowledge base here, add them to the \"Knowledge\" workspace first.": "要在此處附加知識庫,請先將它們新增到「知識」工作區。",
 	"To 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.": "為了保護您的隱私,只會分享您回饋中的評分、模型 ID、標籤和中繼資料 —— 您的對話紀錄仍然是私密的,不會被包含在內。",
 	"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.": "為了保護您的隱私,只會分享您回饋中的評分、模型 ID、標籤和中繼資料 —— 您的對話紀錄仍然是私密的,不會被包含在內。",
 	"To select actions here, add them to the \"Functions\" workspace first.": "若要在此選擇動作,請先將它們新增到「函式」工作區。",
 	"To select actions here, add them to the \"Functions\" workspace first.": "若要在此選擇動作,請先將它們新增到「函式」工作區。",
 	"To select filters here, add them to the \"Functions\" workspace first.": "若要在此選擇篩選器,請先將它們新增到「函式」工作區。",
 	"To select filters here, add them to the \"Functions\" workspace first.": "若要在此選擇篩選器,請先將它們新增到「函式」工作區。",

+ 1 - 1
src/lib/stores/index.ts

@@ -15,7 +15,7 @@ export const MODEL_DOWNLOAD_POOL = writable({});
 export const mobile = writable(false);
 export const mobile = writable(false);
 
 
 export const socket: Writable<null | Socket> = writable(null);
 export const socket: Writable<null | Socket> = writable(null);
-export const activeUserCount: Writable<null | number> = writable(null);
+export const activeUserIds: Writable<null | string[]> = writable(null);
 export const USAGE_POOL: Writable<null | string[]> = writable(null);
 export const USAGE_POOL: Writable<null | string[]> = writable(null);
 
 
 export const theme = writable('system');
 export const theme = writable('system');

+ 4 - 4
src/routes/+layout.svelte

@@ -14,7 +14,7 @@
 		WEBUI_NAME,
 		WEBUI_NAME,
 		mobile,
 		mobile,
 		socket,
 		socket,
-		activeUserCount,
+		activeUserIds,
 		USAGE_POOL,
 		USAGE_POOL,
 		chatId,
 		chatId,
 		chats,
 		chats,
@@ -81,9 +81,9 @@
 			}
 			}
 		});
 		});
 
 
-		_socket.on('user-count', (data) => {
-			console.log('user-count', data);
-			activeUserCount.set(data.count);
+		_socket.on('user-list', (data) => {
+			console.log('user-list', data);
+			activeUserIds.set(data.user_ids);
 		});
 		});
 
 
 		_socket.on('usage', (data) => {
 		_socket.on('usage', (data) => {