Forráskód Böngészése

Merge branch 'dev' into feat/openai-embeddings-batch

Timothy Jaeryang Baek 11 hónapja
szülő
commit
92d9b38110
65 módosított fájl, 4636 hozzáadás és 3227 törlés
  1. 6 0
      .github/workflows/docker-build.yaml
  2. 28 0
      CHANGELOG.md
  3. 119 379
      backend/apps/ollama/main.py
  4. 50 10
      backend/apps/openai/main.py
  5. 49 14
      backend/apps/rag/search/searxng.py
  6. 9 0
      backend/apps/webui/models/chats.py
  7. 13 0
      backend/apps/webui/routers/chats.py
  8. 11 0
      backend/config.py
  9. 10 4
      backend/main.py
  10. 1054 3
      package-lock.json
  11. 2 1
      package.json
  12. 31 0
      src/lib/apis/chats/index.ts
  13. 3 22
      src/lib/apis/ollama/index.ts
  14. 86 115
      src/lib/components/chat/Chat.svelte
  15. 9 14
      src/lib/components/chat/MessageInput.svelte
  16. 1 2
      src/lib/components/chat/Messages.svelte
  17. 25 5
      src/lib/components/chat/Messages/ResponseMessage.svelte
  18. 2 2
      src/lib/components/chat/Messages/UserMessage.svelte
  19. 21 21
      src/lib/components/chat/ModelSelector/Selector.svelte
  20. 91 0
      src/lib/components/chat/Settings/Advanced/AdvancedParams.svelte
  21. 35 11
      src/lib/components/chat/Settings/Audio.svelte
  22. 39 10
      src/lib/components/chat/Settings/Connections.svelte
  23. 443 418
      src/lib/components/chat/Settings/Models.svelte
  24. 19 0
      src/lib/components/icons/ArrowDownTray.svelte
  25. 15 0
      src/lib/components/layout/Navbar/Menu.svelte
  26. 13 1
      src/lib/components/layout/Sidebar.svelte
  27. 7 1
      src/lib/components/layout/Sidebar/ArchivedChatsModal.svelte
  28. 10 0
      src/lib/components/workspace/Models.svelte
  29. 14 0
      src/lib/components/workspace/Models/ModelMenu.svelte
  30. 1 13
      src/lib/components/workspace/Playground.svelte
  31. 82 75
      src/lib/i18n/locales/ar-BH/translation.json
  32. 77 70
      src/lib/i18n/locales/bg-BG/translation.json
  33. 77 70
      src/lib/i18n/locales/bn-BD/translation.json
  34. 78 71
      src/lib/i18n/locales/ca-ES/translation.json
  35. 7 0
      src/lib/i18n/locales/ceb-PH/translation.json
  36. 77 70
      src/lib/i18n/locales/de-DE/translation.json
  37. 7 0
      src/lib/i18n/locales/dg-DG/translation.json
  38. 7 0
      src/lib/i18n/locales/en-GB/translation.json
  39. 7 0
      src/lib/i18n/locales/en-US/translation.json
  40. 78 71
      src/lib/i18n/locales/es-ES/translation.json
  41. 78 71
      src/lib/i18n/locales/fa-IR/translation.json
  42. 77 70
      src/lib/i18n/locales/fi-FI/translation.json
  43. 78 71
      src/lib/i18n/locales/fr-CA/translation.json
  44. 55 48
      src/lib/i18n/locales/fr-FR/translation.json
  45. 78 71
      src/lib/i18n/locales/he-IL/translation.json
  46. 77 70
      src/lib/i18n/locales/hi-IN/translation.json
  47. 78 71
      src/lib/i18n/locales/hr-HR/translation.json
  48. 78 71
      src/lib/i18n/locales/it-IT/translation.json
  49. 76 69
      src/lib/i18n/locales/ja-JP/translation.json
  50. 78 71
      src/lib/i18n/locales/ka-GE/translation.json
  51. 76 69
      src/lib/i18n/locales/ko-KR/translation.json
  52. 77 70
      src/lib/i18n/locales/nl-NL/translation.json
  53. 77 70
      src/lib/i18n/locales/pa-IN/translation.json
  54. 79 72
      src/lib/i18n/locales/pl-PL/translation.json
  55. 78 71
      src/lib/i18n/locales/pt-BR/translation.json
  56. 78 71
      src/lib/i18n/locales/pt-PT/translation.json
  57. 81 74
      src/lib/i18n/locales/ru-RU/translation.json
  58. 78 71
      src/lib/i18n/locales/sr-RS/translation.json
  59. 77 70
      src/lib/i18n/locales/sv-SE/translation.json
  60. 30 23
      src/lib/i18n/locales/tr-TR/translation.json
  61. 80 73
      src/lib/i18n/locales/uk-UA/translation.json
  62. 57 50
      src/lib/i18n/locales/vi-VN/translation.json
  63. 225 218
      src/lib/i18n/locales/zh-CN/translation.json
  64. 76 69
      src/lib/i18n/locales/zh-TW/translation.json
  65. 1 0
      src/lib/stores/index.ts

+ 6 - 0
.github/workflows/docker-build.yaml

@@ -70,8 +70,10 @@ jobs:
           images: ${{ env.FULL_IMAGE_NAME }}
           tags: |
             type=ref,event=branch
+            ${{ github.ref_type == 'tag' && 'type=raw,value=main' || '' }}
           flavor: |
             prefix=cache-${{ matrix.platform }}-
+            latest=false
 
       - name: Build Docker image (latest)
         uses: docker/build-push-action@v5
@@ -158,8 +160,10 @@ jobs:
           images: ${{ env.FULL_IMAGE_NAME }}
           tags: |
             type=ref,event=branch
+            ${{ github.ref_type == 'tag' && 'type=raw,value=main' || '' }}
           flavor: |
             prefix=cache-cuda-${{ matrix.platform }}-
+            latest=false
 
       - name: Build Docker image (cuda)
         uses: docker/build-push-action@v5
@@ -247,8 +251,10 @@ jobs:
           images: ${{ env.FULL_IMAGE_NAME }}
           tags: |
             type=ref,event=branch
+            ${{ github.ref_type == 'tag' && 'type=raw,value=main' || '' }}
           flavor: |
             prefix=cache-ollama-${{ matrix.platform }}-
+            latest=false
 
       - name: Build Docker image (ollama)
         uses: docker/build-push-action@v5

+ 28 - 0
CHANGELOG.md

@@ -5,6 +5,34 @@ 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/),
 and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
 
+## [0.2.2] - 2024-06-02
+
+### Added
+
+- **🌊 Mermaid Rendering Support**: We've included support for Mermaid rendering. This allows you to create beautiful diagrams and flowcharts directly within Open WebUI.
+- **🔄 New Environment Variable 'RESET_CONFIG_ON_START'**: Introducing a new environment variable: 'RESET_CONFIG_ON_START'. Set this variable to reset your configuration settings upon starting the application, making it easier to revert to default settings.
+
+### Fixed
+
+- **🔧 Pipelines Filter Issue**: We've addressed an issue with the pipelines where filters were not functioning as expected.
+
+## [0.2.1] - 2024-06-02
+
+### Added
+
+- **🖱️ Single Model Export Button**: Easily export models with just one click using the new single model export button.
+- **🖥️ Advanced Parameters Support**: Added support for 'num_thread', 'use_mmap', and 'use_mlock' parameters for Ollama.
+- **🌐 Improved Vietnamese Translation**: Enhanced Vietnamese language support for a better user experience for our Vietnamese-speaking community.
+
+### Fixed
+
+- **🔧 OpenAI URL API Save Issue**: Corrected a problem preventing the saving of OpenAI URL API settings.
+- **🚫 Display Issue with Disabled Ollama API**: Fixed the display bug causing models to appear in settings when the Ollama API was disabled.
+
+### Changed
+
+- **💡 Versioning Update**: As a reminder from our previous update, version 0.2.y will focus primarily on bug fixes, while major updates will be designated as 0.x from now on for better version tracking.
+
 ## [0.2.0] - 2024-06-01
 
 ### Added

+ 119 - 379
backend/apps/ollama/main.py

@@ -29,6 +29,8 @@ import time
 from urllib.parse import urlparse
 from typing import Optional, List, Union
 
+from starlette.background import BackgroundTask
+
 from apps.webui.models.models import Models
 from apps.webui.models.users import Users
 from constants import ERROR_MESSAGES
@@ -75,9 +77,6 @@ app.state.config.OLLAMA_BASE_URLS = OLLAMA_BASE_URLS
 app.state.MODELS = {}
 
 
-REQUEST_POOL = []
-
-
 # TODO: Implement a more intelligent load balancing mechanism for distributing requests among multiple backend instances.
 # Current implementation uses a simple round-robin approach (random.choice). Consider incorporating algorithms like weighted round-robin,
 # least connections, or least response time for better resource utilization and performance optimization.
@@ -132,16 +131,6 @@ async def update_ollama_api_url(form_data: UrlUpdateForm, user=Depends(get_admin
     return {"OLLAMA_BASE_URLS": app.state.config.OLLAMA_BASE_URLS}
 
 
-@app.get("/cancel/{request_id}")
-async def cancel_ollama_request(request_id: str, user=Depends(get_current_user)):
-    if user:
-        if request_id in REQUEST_POOL:
-            REQUEST_POOL.remove(request_id)
-        return True
-    else:
-        raise HTTPException(status_code=401, detail=ERROR_MESSAGES.ACCESS_PROHIBITED)
-
-
 async def fetch_url(url):
     timeout = aiohttp.ClientTimeout(total=5)
     try:
@@ -154,6 +143,45 @@ async def fetch_url(url):
         return None
 
 
+async def cleanup_response(
+    response: Optional[aiohttp.ClientResponse],
+    session: Optional[aiohttp.ClientSession],
+):
+    if response:
+        response.close()
+    if session:
+        await session.close()
+
+
+async def post_streaming_url(url: str, payload: str):
+    r = None
+    try:
+        session = aiohttp.ClientSession()
+        r = await session.post(url, data=payload)
+        r.raise_for_status()
+
+        return StreamingResponse(
+            r.content,
+            status_code=r.status,
+            headers=dict(r.headers),
+            background=BackgroundTask(cleanup_response, response=r, session=session),
+        )
+    except Exception as e:
+        error_detail = "Open WebUI: Server Connection Error"
+        if r is not None:
+            try:
+                res = await r.json()
+                if "error" in res:
+                    error_detail = f"Ollama: {res['error']}"
+            except:
+                error_detail = f"Ollama: {e}"
+
+        raise HTTPException(
+            status_code=r.status if r else 500,
+            detail=error_detail,
+        )
+
+
 def merge_models_lists(model_lists):
     merged_models = {}
 
@@ -313,65 +341,7 @@ async def pull_model(
     # Admin should be able to pull models from any source
     payload = {**form_data.model_dump(exclude_none=True), "insecure": True}
 
-    def get_request():
-        nonlocal url
-        nonlocal r
-
-        request_id = str(uuid.uuid4())
-        try:
-            REQUEST_POOL.append(request_id)
-
-            def stream_content():
-                try:
-                    yield json.dumps({"id": request_id, "done": False}) + "\n"
-
-                    for chunk in r.iter_content(chunk_size=8192):
-                        if request_id in REQUEST_POOL:
-                            yield chunk
-                        else:
-                            log.warning("User: canceled request")
-                            break
-                finally:
-                    if hasattr(r, "close"):
-                        r.close()
-                        if request_id in REQUEST_POOL:
-                            REQUEST_POOL.remove(request_id)
-
-            r = requests.request(
-                method="POST",
-                url=f"{url}/api/pull",
-                data=json.dumps(payload),
-                stream=True,
-            )
-
-            r.raise_for_status()
-
-            return StreamingResponse(
-                stream_content(),
-                status_code=r.status_code,
-                headers=dict(r.headers),
-            )
-        except Exception as e:
-            raise e
-
-    try:
-        return await run_in_threadpool(get_request)
-
-    except Exception as e:
-        log.exception(e)
-        error_detail = "Open WebUI: Server Connection Error"
-        if r is not None:
-            try:
-                res = r.json()
-                if "error" in res:
-                    error_detail = f"Ollama: {res['error']}"
-            except:
-                error_detail = f"Ollama: {e}"
-
-        raise HTTPException(
-            status_code=r.status_code if r else 500,
-            detail=error_detail,
-        )
+    return await post_streaming_url(f"{url}/api/pull", json.dumps(payload))
 
 
 class PushModelForm(BaseModel):
@@ -399,50 +369,9 @@ async def push_model(
     url = app.state.config.OLLAMA_BASE_URLS[url_idx]
     log.debug(f"url: {url}")
 
-    r = None
-
-    def get_request():
-        nonlocal url
-        nonlocal r
-        try:
-
-            def stream_content():
-                for chunk in r.iter_content(chunk_size=8192):
-                    yield chunk
-
-            r = requests.request(
-                method="POST",
-                url=f"{url}/api/push",
-                data=form_data.model_dump_json(exclude_none=True).encode(),
-            )
-
-            r.raise_for_status()
-
-            return StreamingResponse(
-                stream_content(),
-                status_code=r.status_code,
-                headers=dict(r.headers),
-            )
-        except Exception as e:
-            raise e
-
-    try:
-        return await run_in_threadpool(get_request)
-    except Exception as e:
-        log.exception(e)
-        error_detail = "Open WebUI: Server Connection Error"
-        if r is not None:
-            try:
-                res = r.json()
-                if "error" in res:
-                    error_detail = f"Ollama: {res['error']}"
-            except:
-                error_detail = f"Ollama: {e}"
-
-        raise HTTPException(
-            status_code=r.status_code if r else 500,
-            detail=error_detail,
-        )
+    return await post_streaming_url(
+        f"{url}/api/push", form_data.model_dump_json(exclude_none=True).encode()
+    )
 
 
 class CreateModelForm(BaseModel):
@@ -461,53 +390,9 @@ async def create_model(
     url = app.state.config.OLLAMA_BASE_URLS[url_idx]
     log.info(f"url: {url}")
 
-    r = None
-
-    def get_request():
-        nonlocal url
-        nonlocal r
-        try:
-
-            def stream_content():
-                for chunk in r.iter_content(chunk_size=8192):
-                    yield chunk
-
-            r = requests.request(
-                method="POST",
-                url=f"{url}/api/create",
-                data=form_data.model_dump_json(exclude_none=True).encode(),
-                stream=True,
-            )
-
-            r.raise_for_status()
-
-            log.debug(f"r: {r}")
-
-            return StreamingResponse(
-                stream_content(),
-                status_code=r.status_code,
-                headers=dict(r.headers),
-            )
-        except Exception as e:
-            raise e
-
-    try:
-        return await run_in_threadpool(get_request)
-    except Exception as e:
-        log.exception(e)
-        error_detail = "Open WebUI: Server Connection Error"
-        if r is not None:
-            try:
-                res = r.json()
-                if "error" in res:
-                    error_detail = f"Ollama: {res['error']}"
-            except:
-                error_detail = f"Ollama: {e}"
-
-        raise HTTPException(
-            status_code=r.status_code if r else 500,
-            detail=error_detail,
-        )
+    return await post_streaming_url(
+        f"{url}/api/create", form_data.model_dump_json(exclude_none=True).encode()
+    )
 
 
 class CopyModelForm(BaseModel):
@@ -797,66 +682,9 @@ async def generate_completion(
     url = app.state.config.OLLAMA_BASE_URLS[url_idx]
     log.info(f"url: {url}")
 
-    r = None
-
-    def get_request():
-        nonlocal form_data
-        nonlocal r
-
-        request_id = str(uuid.uuid4())
-        try:
-            REQUEST_POOL.append(request_id)
-
-            def stream_content():
-                try:
-                    if form_data.stream:
-                        yield json.dumps({"id": request_id, "done": False}) + "\n"
-
-                    for chunk in r.iter_content(chunk_size=8192):
-                        if request_id in REQUEST_POOL:
-                            yield chunk
-                        else:
-                            log.warning("User: canceled request")
-                            break
-                finally:
-                    if hasattr(r, "close"):
-                        r.close()
-                        if request_id in REQUEST_POOL:
-                            REQUEST_POOL.remove(request_id)
-
-            r = requests.request(
-                method="POST",
-                url=f"{url}/api/generate",
-                data=form_data.model_dump_json(exclude_none=True).encode(),
-                stream=True,
-            )
-
-            r.raise_for_status()
-
-            return StreamingResponse(
-                stream_content(),
-                status_code=r.status_code,
-                headers=dict(r.headers),
-            )
-        except Exception as e:
-            raise e
-
-    try:
-        return await run_in_threadpool(get_request)
-    except Exception as e:
-        error_detail = "Open WebUI: Server Connection Error"
-        if r is not None:
-            try:
-                res = r.json()
-                if "error" in res:
-                    error_detail = f"Ollama: {res['error']}"
-            except:
-                error_detail = f"Ollama: {e}"
-
-        raise HTTPException(
-            status_code=r.status_code if r else 500,
-            detail=error_detail,
-        )
+    return await post_streaming_url(
+        f"{url}/api/generate", form_data.model_dump_json(exclude_none=True).encode()
+    )
 
 
 class ChatMessage(BaseModel):
@@ -906,44 +734,77 @@ async def generate_chat_completion(
         if model_info.params:
             payload["options"] = {}
 
-            payload["options"]["mirostat"] = model_info.params.get("mirostat", None)
-            payload["options"]["mirostat_eta"] = model_info.params.get(
-                "mirostat_eta", None
-            )
-            payload["options"]["mirostat_tau"] = model_info.params.get(
-                "mirostat_tau", None
-            )
-            payload["options"]["num_ctx"] = model_info.params.get("num_ctx", None)
+            if model_info.params.get("mirostat", None):
+                payload["options"]["mirostat"] = model_info.params.get("mirostat", None)
 
-            payload["options"]["repeat_last_n"] = model_info.params.get(
-                "repeat_last_n", None
-            )
-            payload["options"]["repeat_penalty"] = model_info.params.get(
-                "frequency_penalty", None
-            )
+            if model_info.params.get("mirostat_eta", None):
+                payload["options"]["mirostat_eta"] = model_info.params.get(
+                    "mirostat_eta", None
+                )
 
-            payload["options"]["temperature"] = model_info.params.get(
-                "temperature", None
-            )
-            payload["options"]["seed"] = model_info.params.get("seed", None)
+            if model_info.params.get("mirostat_tau", None):
 
-            payload["options"]["stop"] = (
-                [
-                    bytes(stop, "utf-8").decode("unicode_escape")
-                    for stop in model_info.params["stop"]
-                ]
-                if model_info.params.get("stop", None)
-                else None
-            )
+                payload["options"]["mirostat_tau"] = model_info.params.get(
+                    "mirostat_tau", None
+                )
 
-            payload["options"]["tfs_z"] = model_info.params.get("tfs_z", None)
+            if model_info.params.get("num_ctx", None):
+                payload["options"]["num_ctx"] = model_info.params.get("num_ctx", None)
 
-            payload["options"]["num_predict"] = model_info.params.get(
-                "max_tokens", None
-            )
-            payload["options"]["top_k"] = model_info.params.get("top_k", None)
+            if model_info.params.get("repeat_last_n", None):
+                payload["options"]["repeat_last_n"] = model_info.params.get(
+                    "repeat_last_n", None
+                )
+
+            if model_info.params.get("frequency_penalty", None):
+                payload["options"]["repeat_penalty"] = model_info.params.get(
+                    "frequency_penalty", None
+                )
 
-            payload["options"]["top_p"] = model_info.params.get("top_p", None)
+            if model_info.params.get("temperature", None):
+                payload["options"]["temperature"] = model_info.params.get(
+                    "temperature", None
+                )
+
+            if model_info.params.get("seed", None):
+                payload["options"]["seed"] = model_info.params.get("seed", None)
+
+            if model_info.params.get("stop", None):
+                payload["options"]["stop"] = (
+                    [
+                        bytes(stop, "utf-8").decode("unicode_escape")
+                        for stop in model_info.params["stop"]
+                    ]
+                    if model_info.params.get("stop", None)
+                    else None
+                )
+
+            if model_info.params.get("tfs_z", None):
+                payload["options"]["tfs_z"] = model_info.params.get("tfs_z", None)
+
+            if model_info.params.get("max_tokens", None):
+                payload["options"]["num_predict"] = model_info.params.get(
+                    "max_tokens", None
+                )
+
+            if model_info.params.get("top_k", None):
+                payload["options"]["top_k"] = model_info.params.get("top_k", None)
+
+            if model_info.params.get("top_p", None):
+                payload["options"]["top_p"] = model_info.params.get("top_p", None)
+
+            if model_info.params.get("use_mmap", None):
+                payload["options"]["use_mmap"] = model_info.params.get("use_mmap", None)
+
+            if model_info.params.get("use_mlock", None):
+                payload["options"]["use_mlock"] = model_info.params.get(
+                    "use_mlock", None
+                )
+
+            if model_info.params.get("num_thread", None):
+                payload["options"]["num_thread"] = model_info.params.get(
+                    "num_thread", None
+                )
 
         if model_info.params.get("system", None):
             # Check if the payload already has a system message
@@ -981,67 +842,7 @@ async def generate_chat_completion(
 
     print(payload)
 
-    r = None
-
-    def get_request():
-        nonlocal payload
-        nonlocal r
-
-        request_id = str(uuid.uuid4())
-        try:
-            REQUEST_POOL.append(request_id)
-
-            def stream_content():
-                try:
-                    if payload.get("stream", None):
-                        yield json.dumps({"id": request_id, "done": False}) + "\n"
-
-                    for chunk in r.iter_content(chunk_size=8192):
-                        if request_id in REQUEST_POOL:
-                            yield chunk
-                        else:
-                            log.warning("User: canceled request")
-                            break
-                finally:
-                    if hasattr(r, "close"):
-                        r.close()
-                        if request_id in REQUEST_POOL:
-                            REQUEST_POOL.remove(request_id)
-
-            r = requests.request(
-                method="POST",
-                url=f"{url}/api/chat",
-                data=json.dumps(payload),
-                stream=True,
-            )
-
-            r.raise_for_status()
-
-            return StreamingResponse(
-                stream_content(),
-                status_code=r.status_code,
-                headers=dict(r.headers),
-            )
-        except Exception as e:
-            log.exception(e)
-            raise e
-
-    try:
-        return await run_in_threadpool(get_request)
-    except Exception as e:
-        error_detail = "Open WebUI: Server Connection Error"
-        if r is not None:
-            try:
-                res = r.json()
-                if "error" in res:
-                    error_detail = f"Ollama: {res['error']}"
-            except:
-                error_detail = f"Ollama: {e}"
-
-        raise HTTPException(
-            status_code=r.status_code if r else 500,
-            detail=error_detail,
-        )
+    return await post_streaming_url(f"{url}/api/chat", json.dumps(payload))
 
 
 # TODO: we should update this part once Ollama supports other types
@@ -1132,68 +933,7 @@ async def generate_openai_chat_completion(
     url = app.state.config.OLLAMA_BASE_URLS[url_idx]
     log.info(f"url: {url}")
 
-    r = None
-
-    def get_request():
-        nonlocal payload
-        nonlocal r
-
-        request_id = str(uuid.uuid4())
-        try:
-            REQUEST_POOL.append(request_id)
-
-            def stream_content():
-                try:
-                    if payload.get("stream"):
-                        yield json.dumps(
-                            {"request_id": request_id, "done": False}
-                        ) + "\n"
-
-                    for chunk in r.iter_content(chunk_size=8192):
-                        if request_id in REQUEST_POOL:
-                            yield chunk
-                        else:
-                            log.warning("User: canceled request")
-                            break
-                finally:
-                    if hasattr(r, "close"):
-                        r.close()
-                        if request_id in REQUEST_POOL:
-                            REQUEST_POOL.remove(request_id)
-
-            r = requests.request(
-                method="POST",
-                url=f"{url}/v1/chat/completions",
-                data=json.dumps(payload),
-                stream=True,
-            )
-
-            r.raise_for_status()
-
-            return StreamingResponse(
-                stream_content(),
-                status_code=r.status_code,
-                headers=dict(r.headers),
-            )
-        except Exception as e:
-            raise e
-
-    try:
-        return await run_in_threadpool(get_request)
-    except Exception as e:
-        error_detail = "Open WebUI: Server Connection Error"
-        if r is not None:
-            try:
-                res = r.json()
-                if "error" in res:
-                    error_detail = f"Ollama: {res['error']}"
-            except:
-                error_detail = f"Ollama: {e}"
-
-        raise HTTPException(
-            status_code=r.status_code if r else 500,
-            detail=error_detail,
-        )
+    return await post_streaming_url(f"{url}/v1/chat/completions", json.dumps(payload))
 
 
 @app.get("/v1/models")
@@ -1522,7 +1262,7 @@ async def deprecated_proxy(
                     if path == "generate":
                         data = json.loads(body.decode("utf-8"))
 
-                        if not ("stream" in data and data["stream"] == False):
+                        if data.get("stream", True):
                             yield json.dumps({"id": request_id, "done": False}) + "\n"
 
                     elif path == "chat":

+ 50 - 10
backend/apps/openai/main.py

@@ -9,6 +9,7 @@ import json
 import logging
 
 from pydantic import BaseModel
+from starlette.background import BackgroundTask
 
 from apps.webui.models.models import Models
 from apps.webui.models.users import Users
@@ -194,6 +195,16 @@ async def fetch_url(url, key):
         return None
 
 
+async def cleanup_response(
+    response: Optional[aiohttp.ClientResponse],
+    session: Optional[aiohttp.ClientSession],
+):
+    if response:
+        response.close()
+    if session:
+        await session.close()
+
+
 def merge_models_lists(model_lists):
     log.debug(f"merge_models_lists {model_lists}")
     merged_list = []
@@ -228,6 +239,27 @@ async def get_all_models(raw: bool = False):
     ) or not app.state.config.ENABLE_OPENAI_API:
         models = {"data": []}
     else:
+        # Check if API KEYS length is same than API URLS length
+        if len(app.state.config.OPENAI_API_KEYS) != len(
+            app.state.config.OPENAI_API_BASE_URLS
+        ):
+            # if there are more keys than urls, remove the extra keys
+            if len(app.state.config.OPENAI_API_KEYS) > len(
+                app.state.config.OPENAI_API_BASE_URLS
+            ):
+                app.state.config.OPENAI_API_KEYS = app.state.config.OPENAI_API_KEYS[
+                    : len(app.state.config.OPENAI_API_BASE_URLS)
+                ]
+            # if there are more urls than keys, add empty keys
+            else:
+                app.state.config.OPENAI_API_KEYS += [
+                    ""
+                    for _ in range(
+                        len(app.state.config.OPENAI_API_BASE_URLS)
+                        - len(app.state.config.OPENAI_API_KEYS)
+                    )
+                ]
+
         tasks = [
             fetch_url(f"{url}/models", app.state.config.OPENAI_API_KEYS[idx])
             for idx, url in enumerate(app.state.config.OPENAI_API_BASE_URLS)
@@ -426,40 +458,48 @@ async def proxy(path: str, request: Request, user=Depends(get_verified_user)):
     headers["Content-Type"] = "application/json"
 
     r = None
+    session = None
+    streaming = False
 
     try:
-        r = requests.request(
+        session = aiohttp.ClientSession()
+        r = await session.request(
             method=request.method,
             url=target_url,
             data=payload if payload else body,
             headers=headers,
-            stream=True,
         )
 
         r.raise_for_status()
 
         # Check if response is SSE
         if "text/event-stream" in r.headers.get("Content-Type", ""):
+            streaming = True
             return StreamingResponse(
-                r.iter_content(chunk_size=8192),
-                status_code=r.status_code,
+                r.content,
+                status_code=r.status,
                 headers=dict(r.headers),
+                background=BackgroundTask(
+                    cleanup_response, response=r, session=session
+                ),
             )
         else:
-            response_data = r.json()
+            response_data = await r.json()
             return response_data
     except Exception as e:
         log.exception(e)
         error_detail = "Open WebUI: Server Connection Error"
         if r is not None:
             try:
-                res = r.json()
+                res = await r.json()
                 print(res)
                 if "error" in res:
                     error_detail = f"External: {res['error']['message'] if 'message' in res['error'] else res['error']}"
             except:
                 error_detail = f"External: {e}"
-
-        raise HTTPException(
-            status_code=r.status_code if r else 500, detail=error_detail
-        )
+        raise HTTPException(status_code=r.status if r else 500, detail=error_detail)
+    finally:
+        if not streaming and session:
+            if r:
+                r.close()
+            await session.close()

+ 49 - 14
backend/apps/rag/search/searxng.py

@@ -1,7 +1,8 @@
 import logging
-
 import requests
 
+from typing import List
+
 from apps.rag.search.main import SearchResult
 from config import SRC_LOG_LEVELS
 
@@ -9,20 +10,52 @@ log = logging.getLogger(__name__)
 log.setLevel(SRC_LOG_LEVELS["RAG"])
 
 
-def search_searxng(query_url: str, query: str, count: int) -> list[SearchResult]:
-    """Search a SearXNG instance for a query and return the results as a list of SearchResult objects.
+def search_searxng(query_url: str, query: str, count: int, **kwargs) -> List[SearchResult]:
+    """
+    Search a SearXNG instance for a given query and return the results as a list of SearchResult objects.
+    
+    The function allows passing additional parameters such as language or time_range to tailor the search result.
 
     Args:
-        query_url (str): The URL of the SearXNG instance to search. Must contain "<query>" as a placeholder
-        query (str): The query to search for
+        query_url (str): The base URL of the SearXNG server with a placeholder for the query "<query>".
+        query (str): The search term or question to find in the SearXNG database.
+        count (int): The maximum number of results to retrieve from the search.
+        
+    Keyword Args:
+        language (str): Language filter for the search results; e.g., "en-US". Defaults to an empty string.
+        time_range (str): Time range for filtering results by date; e.g., "2023-04-05..today" or "all-time". Defaults to ''.
+        categories: (Optional[List[str]]): Specific categories within which the search should be performed, defaulting to an empty string if not provided.
+    
+    Returns:
+        List[SearchResult]: A list of SearchResults sorted by relevance score in descending order.
+        
+    Raise:
+        requests.exceptions.RequestException: If a request error occurs during the search process.
     """
-    url = query_url.replace("<query>", query)
-    if "&format=json" not in url:
-        url += "&format=json"
-    log.debug(f"searching {url}")
+    
+    # Default values for optional parameters are provided as empty strings or None when not specified.
+    language = kwargs.get('language', 'en-US')
+    time_range = kwargs.get('time_range', '')
+    categories = ''.join(kwargs.get('categories', []))
+
+    params = {
+        "q": query,
+        "format": "json",
+        "pageno": 1,
+        "results_per_page": count,
+        'language': language,
+        'time_range': time_range,
+        'engines': '',
+        'categories': categories,
+        'theme': 'simple',
+        'image_proxy': 0
 
-    r = requests.get(
-        url,
+    }
+
+    log.debug(f"searching {query_url}")
+
+    response = requests.get(
+        query_url,
         headers={
             "User-Agent": "Open WebUI (https://github.com/open-webui/open-webui) RAG Bot",
             "Accept": "text/html",
@@ -30,15 +63,17 @@ def search_searxng(query_url: str, query: str, count: int) -> list[SearchResult]
             "Accept-Language": "en-US,en;q=0.5",
             "Connection": "keep-alive",
         },
+        params=params,
     )
-    r.raise_for_status()
 
-    json_response = r.json()
+    response.raise_for_status()  # Raise an exception for HTTP errors.
+
+    json_response = response.json()
     results = json_response.get("results", [])
     sorted_results = sorted(results, key=lambda x: x.get("score", 0), reverse=True)
     return [
         SearchResult(
             link=result["url"], title=result.get("title"), snippet=result.get("content")
         )
-        for result in sorted_results[:count]
+        for result in sorted_results
     ]

+ 9 - 0
backend/apps/webui/models/chats.py

@@ -298,6 +298,15 @@ class ChatTable:
             # .limit(limit).offset(skip)
         ]
 
+    def get_archived_chats_by_user_id(self, user_id: str) -> List[ChatModel]:
+        return [
+            ChatModel(**model_to_dict(chat))
+            for chat in Chat.select()
+            .where(Chat.archived == True)
+            .where(Chat.user_id == user_id)
+            .order_by(Chat.updated_at.desc())
+        ]
+
     def delete_chat_by_id(self, id: str) -> bool:
         try:
             query = Chat.delete().where((Chat.id == id))

+ 13 - 0
backend/apps/webui/routers/chats.py

@@ -113,6 +113,19 @@ async def get_user_chats(user=Depends(get_current_user)):
     ]
 
 
+############################
+# GetArchivedChats
+############################
+
+
+@router.get("/all/archived", response_model=List[ChatResponse])
+async def get_user_chats(user=Depends(get_current_user)):
+    return [
+        ChatResponse(**{**chat.model_dump(), "chat": json.loads(chat.chat)})
+        for chat in Chats.get_archived_chats_by_user_id(user.id)
+    ]
+
+
 ############################
 # GetAllChatsInDB
 ############################

+ 11 - 0
backend/config.py

@@ -180,6 +180,17 @@ WEBUI_BUILD_HASH = os.environ.get("WEBUI_BUILD_HASH", "dev-build")
 DATA_DIR = Path(os.getenv("DATA_DIR", BACKEND_DIR / "data")).resolve()
 FRONTEND_BUILD_DIR = Path(os.getenv("FRONTEND_BUILD_DIR", BASE_DIR / "build")).resolve()
 
+RESET_CONFIG_ON_START = (
+    os.environ.get("RESET_CONFIG_ON_START", "False").lower() == "true"
+)
+if RESET_CONFIG_ON_START:
+    try:
+        os.remove(f"{DATA_DIR}/config.json")
+        with open(f"{DATA_DIR}/config.json", "w") as f:
+            f.write("{}")
+    except:
+        pass
+
 try:
     CONFIG_DATA = json.loads((DATA_DIR / "config.json").read_text())
 except:

+ 10 - 4
backend/main.py

@@ -498,10 +498,12 @@ async def chat_completed(form_data: dict, user=Depends(get_verified_user)):
     ]
     sorted_filters = sorted(filters, key=lambda x: x["pipeline"]["priority"])
 
-    model = app.state.MODELS[model_id]
+    print(model_id)
 
-    if "pipeline" in model:
-        sorted_filters = [model] + sorted_filters
+    if model_id in app.state.MODELS:
+        model = app.state.MODELS[model_id]
+        if "pipeline" in model:
+            sorted_filters = [model] + sorted_filters
 
     for filter in sorted_filters:
         r = None
@@ -550,7 +552,11 @@ async def get_pipelines_list(user=Depends(get_admin_user)):
     responses = await get_openai_models(raw=True)
 
     print(responses)
-    urlIdxs = [idx for idx, response in enumerate(responses) if "pipelines" in response]
+    urlIdxs = [
+        idx
+        for idx, response in enumerate(responses)
+        if response != None and "pipelines" in response
+    ]
 
     return {
         "data": [

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 1054 - 3
package-lock.json


+ 2 - 1
package.json

@@ -1,6 +1,6 @@
 {
 	"name": "open-webui",
-	"version": "0.2.0",
+	"version": "0.2.2",
 	"private": true,
 	"scripts": {
 		"dev": "npm run pyodide:fetch && vite dev --host",
@@ -63,6 +63,7 @@
 		"js-sha256": "^0.10.1",
 		"katex": "^0.16.9",
 		"marked": "^9.1.0",
+		"mermaid": "^10.9.1",
 		"pyodide": "^0.26.0-alpha.4",
 		"sortablejs": "^1.15.2",
 		"svelte-sonner": "^0.3.19",

+ 31 - 0
src/lib/apis/chats/index.ts

@@ -162,6 +162,37 @@ export const getAllChats = async (token: string) => {
 	return res;
 };
 
+export const getAllArchivedChats = async (token: string) => {
+	let error = null;
+
+	const res = await fetch(`${WEBUI_API_BASE_URL}/chats/all/archived`, {
+		method: 'GET',
+		headers: {
+			Accept: 'application/json',
+			'Content-Type': 'application/json',
+			...(token && { authorization: `Bearer ${token}` })
+		}
+	})
+		.then(async (res) => {
+			if (!res.ok) throw await res.json();
+			return res.json();
+		})
+		.then((json) => {
+			return json;
+		})
+		.catch((err) => {
+			error = err;
+			console.log(err);
+			return null;
+		});
+
+	if (error) {
+		throw error;
+	}
+
+	return res;
+};
+
 export const getAllUserChats = async (token: string) => {
 	let error = null;
 

+ 3 - 22
src/lib/apis/ollama/index.ts

@@ -369,27 +369,6 @@ export const generateChatCompletion = async (token: string = '', body: object) =
 	return [res, controller];
 };
 
-export const cancelOllamaRequest = async (token: string = '', requestId: string) => {
-	let error = null;
-
-	const res = await fetch(`${OLLAMA_API_BASE_URL}/cancel/${requestId}`, {
-		method: 'GET',
-		headers: {
-			'Content-Type': 'text/event-stream',
-			Authorization: `Bearer ${token}`
-		}
-	}).catch((err) => {
-		error = err;
-		return null;
-	});
-
-	if (error) {
-		throw error;
-	}
-
-	return res;
-};
-
 export const createModel = async (token: string, tagName: string, content: string) => {
 	let error = null;
 
@@ -461,8 +440,10 @@ export const deleteModel = async (token: string, tagName: string, urlIdx: string
 
 export const pullModel = async (token: string, tagName: string, urlIdx: string | null = null) => {
 	let error = null;
+	const controller = new AbortController();
 
 	const res = await fetch(`${OLLAMA_API_BASE_URL}/api/pull${urlIdx !== null ? `/${urlIdx}` : ''}`, {
+		signal: controller.signal,
 		method: 'POST',
 		headers: {
 			Accept: 'application/json',
@@ -485,7 +466,7 @@ export const pullModel = async (token: string, tagName: string, urlIdx: string |
 	if (error) {
 		throw error;
 	}
-	return res;
+	return [res, controller];
 };
 
 export const downloadModel = async (

+ 86 - 115
src/lib/components/chat/Chat.svelte

@@ -1,6 +1,7 @@
 <script lang="ts">
 	import { v4 as uuidv4 } from 'uuid';
 	import { toast } from 'svelte-sonner';
+	import mermaid from 'mermaid';
 
 	import { getContext, onMount, tick } from 'svelte';
 	import { goto } from '$app/navigation';
@@ -26,7 +27,7 @@
 		splitStream
 	} from '$lib/utils';
 
-	import { cancelOllamaRequest, generateChatCompletion } from '$lib/apis/ollama';
+	import { generateChatCompletion } from '$lib/apis/ollama';
 	import {
 		addTagById,
 		createNewChat,
@@ -65,7 +66,6 @@
 	let autoScroll = true;
 	let processing = '';
 	let messagesContainerElement: HTMLDivElement;
-	let currentRequestId = null;
 
 	let showModelSelector = true;
 
@@ -130,10 +130,6 @@
 	//////////////////////////
 
 	const initNewChat = async () => {
-		if (currentRequestId !== null) {
-			await cancelOllamaRequest(localStorage.token, currentRequestId);
-			currentRequestId = null;
-		}
 		window.history.replaceState(history.state, '', `/`);
 		await chatId.set('');
 
@@ -251,6 +247,39 @@
 		}
 	};
 
+	const chatCompletedHandler = async (modelId, messages) => {
+		await mermaid.run({
+			querySelector: '.mermaid'
+		});
+
+		const res = await chatCompleted(localStorage.token, {
+			model: modelId,
+			messages: messages.map((m) => ({
+				id: m.id,
+				role: m.role,
+				content: m.content,
+				timestamp: m.timestamp
+			})),
+			chat_id: $chatId
+		}).catch((error) => {
+			console.error(error);
+			return null;
+		});
+
+		if (res !== null) {
+			// Update chat history with the new messages
+			for (const message of res.messages) {
+				history.messages[message.id] = {
+					...history.messages[message.id],
+					...(history.messages[message.id].content !== message.content
+						? { originalContent: history.messages[message.id].content }
+						: {}),
+					...message
+				};
+			}
+		}
+	};
+
 	//////////////////////////
 	// Ollama functions
 	//////////////////////////
@@ -616,39 +645,11 @@
 
 					if (stopResponseFlag) {
 						controller.abort('User: Stop Response');
-						await cancelOllamaRequest(localStorage.token, currentRequestId);
 					} else {
 						const messages = createMessagesList(responseMessageId);
-						const res = await chatCompleted(localStorage.token, {
-							model: model,
-							messages: messages.map((m) => ({
-								id: m.id,
-								role: m.role,
-								content: m.content,
-								timestamp: m.timestamp
-							})),
-							chat_id: $chatId
-						}).catch((error) => {
-							console.error(error);
-							return null;
-						});
-
-						if (res !== null) {
-							// Update chat history with the new messages
-							for (const message of res.messages) {
-								history.messages[message.id] = {
-									...history.messages[message.id],
-									...(history.messages[message.id].content !== message.content
-										? { originalContent: history.messages[message.id].content }
-										: {}),
-									...message
-								};
-							}
-						}
+						await chatCompletedHandler(model, messages);
 					}
 
-					currentRequestId = null;
-
 					break;
 				}
 
@@ -669,63 +670,58 @@
 								throw data;
 							}
 
-							if ('id' in data) {
-								console.log(data);
-								currentRequestId = data.id;
-							} else {
-								if (data.done == false) {
-									if (responseMessage.content == '' && data.message.content == '\n') {
-										continue;
-									} else {
-										responseMessage.content += data.message.content;
-										messages = messages;
-									}
+							if (data.done == false) {
+								if (responseMessage.content == '' && data.message.content == '\n') {
+									continue;
 								} else {
-									responseMessage.done = true;
-
-									if (responseMessage.content == '') {
-										responseMessage.error = {
-											code: 400,
-											content: `Oops! No text generated from Ollama, Please try again.`
-										};
-									}
-
-									responseMessage.context = data.context ?? null;
-									responseMessage.info = {
-										total_duration: data.total_duration,
-										load_duration: data.load_duration,
-										sample_count: data.sample_count,
-										sample_duration: data.sample_duration,
-										prompt_eval_count: data.prompt_eval_count,
-										prompt_eval_duration: data.prompt_eval_duration,
-										eval_count: data.eval_count,
-										eval_duration: data.eval_duration
-									};
+									responseMessage.content += data.message.content;
 									messages = messages;
+								}
+							} else {
+								responseMessage.done = true;
 
-									if ($settings.notificationEnabled && !document.hasFocus()) {
-										const notification = new Notification(
-											selectedModelfile
-												? `${
-														selectedModelfile.title.charAt(0).toUpperCase() +
-														selectedModelfile.title.slice(1)
-												  }`
-												: `${model}`,
-											{
-												body: responseMessage.content,
-												icon: selectedModelfile?.imageUrl ?? `${WEBUI_BASE_URL}/static/favicon.png`
-											}
-										);
-									}
-
-									if ($settings.responseAutoCopy) {
-										copyToClipboard(responseMessage.content);
-									}
-
-									if ($settings.responseAutoPlayback) {
-										await tick();
-										document.getElementById(`speak-button-${responseMessage.id}`)?.click();
-									}
+								if (responseMessage.content == '') {
+									responseMessage.error = {
+										code: 400,
+										content: `Oops! No text generated from Ollama, Please try again.`
+									};
+								}
+
+								responseMessage.context = data.context ?? null;
+								responseMessage.info = {
+									total_duration: data.total_duration,
+									load_duration: data.load_duration,
+									sample_count: data.sample_count,
+									sample_duration: data.sample_duration,
+									prompt_eval_count: data.prompt_eval_count,
+									prompt_eval_duration: data.prompt_eval_duration,
+									eval_count: data.eval_count,
+									eval_duration: data.eval_duration
+								};
+								messages = messages;
+
+								if ($settings.notificationEnabled && !document.hasFocus()) {
+									const notification = new Notification(
+										selectedModelfile
+											? `${
+													selectedModelfile.title.charAt(0).toUpperCase() +
+													selectedModelfile.title.slice(1)
+											  }`
+											: `${model}`,
+										{
+											body: responseMessage.content,
+											icon: selectedModelfile?.imageUrl ?? `${WEBUI_BASE_URL}/static/favicon.png`
+										}
+									);
+								}
+
+								if ($settings.responseAutoCopy) {
+									copyToClipboard(responseMessage.content);
+								}
+
+								if ($settings.responseAutoPlayback) {
+									await tick();
+									document.getElementById(`speak-button-${responseMessage.id}`)?.click();
 								}
 							}
 						}
@@ -906,32 +902,7 @@
 						} else {
 							const messages = createMessagesList(responseMessageId);
 
-							const res = await chatCompleted(localStorage.token, {
-								model: model.id,
-								messages: messages.map((m) => ({
-									id: m.id,
-									role: m.role,
-									content: m.content,
-									timestamp: m.timestamp
-								})),
-								chat_id: $chatId
-							}).catch((error) => {
-								console.error(error);
-								return null;
-							});
-
-							if (res !== null) {
-								// Update chat history with the new messages
-								for (const message of res.messages) {
-									history.messages[message.id] = {
-										...history.messages[message.id],
-										...(history.messages[message.id].content !== message.content
-											? { originalContent: history.messages[message.id].content }
-											: {}),
-										...message
-									};
-								}
-							}
+							await chatCompletedHandler(model.id, messages);
 						}
 
 						break;

+ 9 - 14
src/lib/components/chat/MessageInput.svelte

@@ -810,10 +810,7 @@
 								? $i18n.t('Listening...')
 								: $i18n.t('Send a Message')}
 							bind:value={prompt}
-							on:keypress={(e) => {}}
-							on:keydown={async (e) => {
-								// Check if the device is not a mobile device or if it is a mobile device, check if it is not a touch device
-								// This is to prevent the Enter key from submitting the prompt on mobile devices
+							on:keypress={(e) => {
 								if (
 									!$mobile ||
 									!(
@@ -822,22 +819,18 @@
 										navigator.msMaxTouchPoints > 0
 									)
 								) {
-									// Check if Enter is pressed
-									// Check if Shift key is not pressed
+									// Prevent Enter key from creating a new line
 									if (e.key === 'Enter' && !e.shiftKey) {
 										e.preventDefault();
 									}
 
-									if (e.key === 'Enter' && !e.shiftKey && prompt !== '') {
+									// Submit the prompt when Enter key is pressed
+									if (prompt !== '' && e.key === 'Enter' && !e.shiftKey) {
 										submitPrompt(prompt, user);
-										return;
-									}
-
-									if (e.key === 'Enter' && e.shiftKey && prompt !== '') {
-										return;
 									}
 								}
-
+							}}
+							on:keydown={async (e) => {
 								const isCtrlPressed = e.ctrlKey || e.metaKey; // metaKey is for Cmd key on Mac
 
 								// Check if Ctrl + R is pressed
@@ -898,7 +891,9 @@
 										...document.getElementsByClassName('selected-command-option-button')
 									]?.at(-1);
 
-									if (commandOptionButton) {
+									if (e.shiftKey) {
+										prompt = `${prompt}\n`;
+									} else if (commandOptionButton) {
 										commandOptionButton?.click();
 									} else {
 										document.getElementById('send-message-button')?.click();

+ 1 - 2
src/lib/components/chat/Messages.svelte

@@ -1,8 +1,7 @@
 <script lang="ts">
 	import { v4 as uuidv4 } from 'uuid';
-
 	import { chats, config, settings, user as _user, mobile } from '$lib/stores';
-	import { tick, getContext } from 'svelte';
+	import { tick, getContext, onMount } from 'svelte';
 
 	import { toast } from 'svelte-sonner';
 	import { getChatList, updateChatById } from '$lib/apis/chats';

+ 25 - 5
src/lib/components/chat/Messages/ResponseMessage.svelte

@@ -5,6 +5,7 @@
 	import tippy from 'tippy.js';
 	import auto_render from 'katex/dist/contrib/auto-render.mjs';
 	import 'katex/dist/katex.min.css';
+	import mermaid from 'mermaid';
 
 	import { fade } from 'svelte/transition';
 	import { createEventDispatcher } from 'svelte';
@@ -340,9 +341,24 @@
 		generatingImage = false;
 	};
 
+	$: if (!edit) {
+		(async () => {
+			await tick();
+			renderStyling();
+
+			await mermaid.run({
+				querySelector: '.mermaid'
+			});
+		})();
+	}
+
 	onMount(async () => {
 		await tick();
 		renderStyling();
+
+		await mermaid.run({
+			querySelector: '.mermaid'
+		});
 	});
 </script>
 
@@ -458,11 +474,15 @@
 								<!-- unless message.error === true which is legacy error handling, where the error message is stored in message.content -->
 								{#each tokens as token, tokenIdx}
 									{#if token.type === 'code'}
-										<CodeBlock
-											id={`${message.id}-${tokenIdx}`}
-											lang={token?.lang ?? ''}
-											code={revertSanitizedResponseContent(token?.text ?? '')}
-										/>
+										{#if token.lang === 'mermaid'}
+											<pre class="mermaid">{revertSanitizedResponseContent(token.text)}</pre>
+										{:else}
+											<CodeBlock
+												id={`${message.id}-${tokenIdx}`}
+												lang={token?.lang ?? ''}
+												code={revertSanitizedResponseContent(token?.text ?? '')}
+											/>
+										{/if}
 									{:else}
 										{@html marked.parse(token.raw, {
 											...defaults,

+ 2 - 2
src/lib/components/chat/Messages/UserMessage.svelte

@@ -196,7 +196,7 @@
 					<div class=" mt-2 mb-1 flex justify-end space-x-1.5 text-sm font-medium">
 						<button
 							id="close-edit-message-button"
-							class="px-4 py-2 bg-white hover:bg-gray-100 text-gray-800 transition rounded-3xl"
+							class="px-4 py-2 bg-white dark:bg-gray-900 hover:bg-gray-100 text-gray-800 dark:text-gray-100 transition rounded-3xl"
 							on:click={() => {
 								cancelEditMessage();
 							}}
@@ -206,7 +206,7 @@
 
 						<button
 							id="save-edit-message-button"
-							class=" px-4 py-2 bg-gray-900 hover:bg-gray-850 text-gray-100 transition rounded-3xl"
+							class=" px-4 py-2 bg-gray-900 dark:bg-white hover:bg-gray-850 text-gray-100 dark:text-gray-800 transition rounded-3xl"
 							on:click={() => {
 								editMessageConfirmHandler();
 							}}

+ 21 - 21
src/lib/components/chat/ModelSelector/Selector.svelte

@@ -8,7 +8,7 @@
 	import Check from '$lib/components/icons/Check.svelte';
 	import Search from '$lib/components/icons/Search.svelte';
 
-	import { cancelOllamaRequest, deleteModel, getOllamaVersion, pullModel } from '$lib/apis/ollama';
+	import { deleteModel, getOllamaVersion, pullModel } from '$lib/apis/ollama';
 
 	import { user, MODEL_DOWNLOAD_POOL, models, mobile } from '$lib/stores';
 	import { toast } from 'svelte-sonner';
@@ -72,10 +72,12 @@
 			return;
 		}
 
-		const res = await pullModel(localStorage.token, sanitizedModelTag, '0').catch((error) => {
-			toast.error(error);
-			return null;
-		});
+		const [res, controller] = await pullModel(localStorage.token, sanitizedModelTag, '0').catch(
+			(error) => {
+				toast.error(error);
+				return null;
+			}
+		);
 
 		if (res) {
 			const reader = res.body
@@ -83,6 +85,16 @@
 				.pipeThrough(splitStream('\n'))
 				.getReader();
 
+			MODEL_DOWNLOAD_POOL.set({
+				...$MODEL_DOWNLOAD_POOL,
+				[sanitizedModelTag]: {
+					...$MODEL_DOWNLOAD_POOL[sanitizedModelTag],
+					abortController: controller,
+					reader,
+					done: false
+				}
+			});
+
 			while (true) {
 				try {
 					const { value, done } = await reader.read();
@@ -101,19 +113,6 @@
 								throw data.detail;
 							}
 
-							if (data.id) {
-								MODEL_DOWNLOAD_POOL.set({
-									...$MODEL_DOWNLOAD_POOL,
-									[sanitizedModelTag]: {
-										...$MODEL_DOWNLOAD_POOL[sanitizedModelTag],
-										requestId: data.id,
-										reader,
-										done: false
-									}
-								});
-								console.log(data);
-							}
-
 							if (data.status) {
 								if (data.digest) {
 									let downloadProgress = 0;
@@ -181,11 +180,12 @@
 	});
 
 	const cancelModelPullHandler = async (model: string) => {
-		const { reader, requestId } = $MODEL_DOWNLOAD_POOL[model];
+		const { reader, abortController } = $MODEL_DOWNLOAD_POOL[model];
+		if (abortController) {
+			abortController.abort();
+		}
 		if (reader) {
 			await reader.cancel();
-
-			await cancelOllamaRequest(localStorage.token, requestId);
 			delete $MODEL_DOWNLOAD_POOL[model];
 			MODEL_DOWNLOAD_POOL.set({
 				...$MODEL_DOWNLOAD_POOL

+ 91 - 0
src/lib/components/chat/Settings/Advanced/AdvancedParams.svelte

@@ -20,6 +20,9 @@
 		tfs_z: '',
 		num_ctx: '',
 		max_tokens: '',
+		use_mmap: null,
+		use_mlock: null,
+		num_thread: null,
 		template: null
 	};
 
@@ -559,6 +562,7 @@
 			</div>
 		{/if}
 	</div>
+
 	<div class=" py-0.5 w-full justify-between">
 		<div class="flex w-full justify-between">
 			<div class=" self-center text-xs font-medium">{$i18n.t('Max Tokens (num_predict)')}</div>
@@ -604,6 +608,93 @@
 			</div>
 		{/if}
 	</div>
+
+	<div class=" py-0.5 w-full justify-between">
+		<div class="flex w-full justify-between">
+			<div class=" self-center text-xs font-medium">{$i18n.t('use_mmap (Ollama)')}</div>
+
+			<button
+				class="p-1 px-3 text-xs flex rounded transition"
+				type="button"
+				on:click={() => {
+					params.use_mmap = (params?.use_mmap ?? null) === null ? true : null;
+				}}
+			>
+				{#if (params?.use_mmap ?? null) === null}
+					<span class="ml-2 self-center">{$i18n.t('Default')}</span>
+				{:else}
+					<span class="ml-2 self-center">{$i18n.t('On')}</span>
+				{/if}
+			</button>
+		</div>
+	</div>
+
+	<div class=" py-0.5 w-full justify-between">
+		<div class="flex w-full justify-between">
+			<div class=" self-center text-xs font-medium">{$i18n.t('use_mlock (Ollama)')}</div>
+
+			<button
+				class="p-1 px-3 text-xs flex rounded transition"
+				type="button"
+				on:click={() => {
+					params.use_mlock = (params?.use_mlock ?? null) === null ? true : null;
+				}}
+			>
+				{#if (params?.use_mlock ?? null) === null}
+					<span class="ml-2 self-center">{$i18n.t('Default')}</span>
+				{:else}
+					<span class="ml-2 self-center">{$i18n.t('On')}</span>
+				{/if}
+			</button>
+		</div>
+	</div>
+
+	<div class=" py-0.5 w-full justify-between">
+		<div class="flex w-full justify-between">
+			<div class=" self-center text-xs font-medium">{$i18n.t('num_thread (Ollama)')}</div>
+
+			<button
+				class="p-1 px-3 text-xs flex rounded transition"
+				type="button"
+				on:click={() => {
+					params.num_thread = (params?.num_thread ?? null) === null ? 2 : null;
+				}}
+			>
+				{#if (params?.num_thread ?? null) === null}
+					<span class="ml-2 self-center">{$i18n.t('Default')}</span>
+				{:else}
+					<span class="ml-2 self-center">{$i18n.t('Custom')}</span>
+				{/if}
+			</button>
+		</div>
+
+		{#if (params?.num_thread ?? null) !== null}
+			<div class="flex mt-0.5 space-x-2">
+				<div class=" flex-1">
+					<input
+						id="steps-range"
+						type="range"
+						min="1"
+						max="256"
+						step="1"
+						bind:value={params.num_thread}
+						class="w-full h-2 rounded-lg appearance-none cursor-pointer dark:bg-gray-700"
+					/>
+				</div>
+				<div class="">
+					<input
+						bind:value={params.num_thread}
+						type="number"
+						class=" bg-transparent text-center w-14"
+						min="1"
+						max="256"
+						step="1"
+					/>
+				</div>
+			</div>
+		{/if}
+	</div>
+
 	<div class=" py-0.5 w-full justify-between">
 		<div class="flex w-full justify-between">
 			<div class=" self-center text-xs font-medium">{$i18n.t('Template')}</div>

+ 35 - 11
src/lib/components/chat/Settings/Audio.svelte

@@ -3,6 +3,7 @@
 	import { user, settings } from '$lib/stores';
 	import { createEventDispatcher, onMount, getContext } from 'svelte';
 	import { toast } from 'svelte-sonner';
+	import Switch from '$lib/components/common/Switch.svelte';
 	const dispatch = createEventDispatcher();
 
 	const i18n = getContext('i18n');
@@ -13,6 +14,7 @@
 
 	let OpenAIUrl = '';
 	let OpenAIKey = '';
+	let OpenAISpeaker = '';
 
 	let STTEngines = ['', 'openai'];
 	let STTEngine = '';
@@ -20,6 +22,7 @@
 	let conversationMode = false;
 	let speechAutoSend = false;
 	let responseAutoPlayback = false;
+	let nonLocalVoices = false;
 
 	let TTSEngines = ['', 'openai'];
 	let TTSEngine = '';
@@ -86,14 +89,14 @@
 				url: OpenAIUrl,
 				key: OpenAIKey,
 				model: model,
-				speaker: speaker
+				speaker: OpenAISpeaker
 			});
 
 			if (res) {
 				OpenAIUrl = res.OPENAI_API_BASE_URL;
 				OpenAIKey = res.OPENAI_API_KEY;
 				model = res.OPENAI_API_MODEL;
-				speaker = res.OPENAI_API_VOICE;
+				OpenAISpeaker = res.OPENAI_API_VOICE;
 			}
 		}
 	};
@@ -105,6 +108,7 @@
 
 		STTEngine = $settings?.audio?.STTEngine ?? '';
 		TTSEngine = $settings?.audio?.TTSEngine ?? '';
+		nonLocalVoices = $settings.audio?.nonLocalVoices ?? false;
 		speaker = $settings?.audio?.speaker ?? '';
 		model = $settings?.audio?.model ?? '';
 
@@ -122,7 +126,10 @@
 				OpenAIUrl = res.OPENAI_API_BASE_URL;
 				OpenAIKey = res.OPENAI_API_KEY;
 				model = res.OPENAI_API_MODEL;
-				speaker = res.OPENAI_API_VOICE;
+				OpenAISpeaker = res.OPENAI_API_VOICE;
+				if (TTSEngine === 'openai') {
+					speaker = OpenAISpeaker;
+				}
 			}
 		}
 	});
@@ -138,8 +145,14 @@
 			audio: {
 				STTEngine: STTEngine !== '' ? STTEngine : undefined,
 				TTSEngine: TTSEngine !== '' ? TTSEngine : undefined,
-				speaker: speaker !== '' ? speaker : undefined,
-				model: model !== '' ? model : undefined
+				speaker:
+					(TTSEngine === 'openai' ? OpenAISpeaker : speaker) !== ''
+						? TTSEngine === 'openai'
+							? OpenAISpeaker
+							: speaker
+						: undefined,
+				model: model !== '' ? model : undefined,
+				nonLocalVoices: nonLocalVoices
 			}
 		});
 		dispatch('save');
@@ -227,7 +240,7 @@
 						on:change={(e) => {
 							if (e.target.value === 'openai') {
 								getOpenAIVoices();
-								speaker = 'alloy';
+								OpenAISpeaker = 'alloy';
 								model = 'tts-1';
 							} else {
 								getWebAPIVoices();
@@ -290,16 +303,27 @@
 						<select
 							class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none"
 							bind:value={speaker}
-							placeholder="Select a voice"
 						>
-							<option value="" selected>{$i18n.t('Default')}</option>
-							{#each voices.filter((v) => v.localService === true) as voice}
-								<option value={voice.name} class="bg-gray-100 dark:bg-gray-700">{voice.name}</option
+							<option value="" selected={speaker !== ''}>{$i18n.t('Default')}</option>
+							{#each voices.filter((v) => nonLocalVoices || v.localService === true) as voice}
+								<option
+									value={voice.name}
+									class="bg-gray-100 dark:bg-gray-700"
+									selected={speaker === voice.name}>{voice.name}</option
 								>
 							{/each}
 						</select>
 					</div>
 				</div>
+				<div class="flex items-center justify-between mb-1">
+					<div class="text-sm">
+						{$i18n.t('Allow non-local voices')}
+					</div>
+
+					<div class="mt-1">
+						<Switch bind:state={nonLocalVoices} />
+					</div>
+				</div>
 			</div>
 		{:else if TTSEngine === 'openai'}
 			<div>
@@ -309,7 +333,7 @@
 						<input
 							list="voice-list"
 							class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none"
-							bind:value={speaker}
+							bind:value={OpenAISpeaker}
 							placeholder="Select a voice"
 						/>
 

+ 39 - 10
src/lib/components/chat/Settings/Connections.svelte

@@ -1,6 +1,6 @@
 <script lang="ts">
 	import { models, user } from '$lib/stores';
-	import { createEventDispatcher, onMount, getContext } from 'svelte';
+	import { createEventDispatcher, onMount, getContext, tick } from 'svelte';
 	const dispatch = createEventDispatcher();
 
 	import {
@@ -74,23 +74,48 @@
 	};
 
 	const updateOpenAIHandler = async () => {
+		// Check if API KEYS length is same than API URLS length
+		if (OPENAI_API_KEYS.length !== OPENAI_API_BASE_URLS.length) {
+			// if there are more keys than urls, remove the extra keys
+			if (OPENAI_API_KEYS.length > OPENAI_API_BASE_URLS.length) {
+				OPENAI_API_KEYS = OPENAI_API_KEYS.slice(0, OPENAI_API_BASE_URLS.length);
+			}
+
+			// if there are more urls than keys, add empty keys
+			if (OPENAI_API_KEYS.length < OPENAI_API_BASE_URLS.length) {
+				const diff = OPENAI_API_BASE_URLS.length - OPENAI_API_KEYS.length;
+				for (let i = 0; i < diff; i++) {
+					OPENAI_API_KEYS.push('');
+				}
+			}
+		}
+
 		OPENAI_API_BASE_URLS = await updateOpenAIUrls(localStorage.token, OPENAI_API_BASE_URLS);
 		OPENAI_API_KEYS = await updateOpenAIKeys(localStorage.token, OPENAI_API_KEYS);
-
 		await models.set(await getModels());
 	};
 
 	const updateOllamaUrlsHandler = async () => {
-		OLLAMA_BASE_URLS = await updateOllamaUrls(localStorage.token, OLLAMA_BASE_URLS);
+		OLLAMA_BASE_URLS = OLLAMA_BASE_URLS.filter((url) => url !== '');
+		console.log(OLLAMA_BASE_URLS);
 
-		const ollamaVersion = await getOllamaVersion(localStorage.token).catch((error) => {
-			toast.error(error);
-			return null;
-		});
+		if (OLLAMA_BASE_URLS.length === 0) {
+			ENABLE_OLLAMA_API = false;
+			await updateOllamaConfig(localStorage.token, ENABLE_OLLAMA_API);
 
-		if (ollamaVersion) {
-			toast.success($i18n.t('Server connection verified'));
-			await models.set(await getModels());
+			toast.info($i18n.t('Ollama API disabled'));
+		} else {
+			OLLAMA_BASE_URLS = await updateOllamaUrls(localStorage.token, OLLAMA_BASE_URLS);
+
+			const ollamaVersion = await getOllamaVersion(localStorage.token).catch((error) => {
+				toast.error(error);
+				return null;
+			});
+
+			if (ollamaVersion) {
+				toast.success($i18n.t('Server connection verified'));
+				await models.set(await getModels());
+			}
 		}
 	};
 
@@ -286,6 +311,10 @@
 							bind:state={ENABLE_OLLAMA_API}
 							on:change={async () => {
 								updateOllamaConfig(localStorage.token, ENABLE_OLLAMA_API);
+
+								if (OLLAMA_BASE_URLS.length === 0) {
+									OLLAMA_BASE_URLS = [''];
+								}
 							}}
 						/>
 					</div>

+ 443 - 418
src/lib/components/chat/Settings/Models.svelte

@@ -8,8 +8,8 @@
 		getOllamaUrls,
 		getOllamaVersion,
 		pullModel,
-		cancelOllamaRequest,
-		uploadModel
+		uploadModel,
+		getOllamaConfig
 	} from '$lib/apis/ollama';
 
 	import { WEBUI_API_BASE_URL, WEBUI_BASE_URL } from '$lib/constants';
@@ -28,6 +28,8 @@
 
 	// Models
 
+	let ollamaEnabled = null;
+
 	let OLLAMA_URLS = [];
 	let selectedOllamaUrlIdx: string | null = null;
 
@@ -67,12 +69,14 @@
 			console.log(model);
 
 			updateModelId = model.id;
-			const res = await pullModel(localStorage.token, model.id, selectedOllamaUrlIdx).catch(
-				(error) => {
-					toast.error(error);
-					return null;
-				}
-			);
+			const [res, controller] = await pullModel(
+				localStorage.token,
+				model.id,
+				selectedOllamaUrlIdx
+			).catch((error) => {
+				toast.error(error);
+				return null;
+			});
 
 			if (res) {
 				const reader = res.body
@@ -141,10 +145,12 @@
 			return;
 		}
 
-		const res = await pullModel(localStorage.token, sanitizedModelTag, '0').catch((error) => {
-			toast.error(error);
-			return null;
-		});
+		const [res, controller] = await pullModel(localStorage.token, sanitizedModelTag, '0').catch(
+			(error) => {
+				toast.error(error);
+				return null;
+			}
+		);
 
 		if (res) {
 			const reader = res.body
@@ -152,6 +158,16 @@
 				.pipeThrough(splitStream('\n'))
 				.getReader();
 
+			MODEL_DOWNLOAD_POOL.set({
+				...$MODEL_DOWNLOAD_POOL,
+				[sanitizedModelTag]: {
+					...$MODEL_DOWNLOAD_POOL[sanitizedModelTag],
+					abortController: controller,
+					reader,
+					done: false
+				}
+			});
+
 			while (true) {
 				try {
 					const { value, done } = await reader.read();
@@ -170,19 +186,6 @@
 								throw data.detail;
 							}
 
-							if (data.id) {
-								MODEL_DOWNLOAD_POOL.set({
-									...$MODEL_DOWNLOAD_POOL,
-									[sanitizedModelTag]: {
-										...$MODEL_DOWNLOAD_POOL[sanitizedModelTag],
-										requestId: data.id,
-										reader,
-										done: false
-									}
-								});
-								console.log(data);
-							}
-
 							if (data.status) {
 								if (data.digest) {
 									let downloadProgress = 0;
@@ -416,11 +419,12 @@
 	};
 
 	const cancelModelPullHandler = async (model: string) => {
-		const { reader, requestId } = $MODEL_DOWNLOAD_POOL[model];
+		const { reader, abortController } = $MODEL_DOWNLOAD_POOL[model];
+		if (abortController) {
+			abortController.abort();
+		}
 		if (reader) {
 			await reader.cancel();
-
-			await cancelOllamaRequest(localStorage.token, requestId);
 			delete $MODEL_DOWNLOAD_POOL[model];
 			MODEL_DOWNLOAD_POOL.set({
 				...$MODEL_DOWNLOAD_POOL
@@ -431,53 +435,138 @@
 	};
 
 	onMount(async () => {
-		await Promise.all([
-			(async () => {
-				OLLAMA_URLS = await getOllamaUrls(localStorage.token).catch((error) => {
-					toast.error(error);
-					return [];
-				});
+		const ollamaConfig = await getOllamaConfig(localStorage.token);
 
-				if (OLLAMA_URLS.length > 0) {
-					selectedOllamaUrlIdx = 0;
-				}
-			})(),
-			(async () => {
-				ollamaVersion = await getOllamaVersion(localStorage.token).catch((error) => false);
-			})()
-		]);
+		if (ollamaConfig.ENABLE_OLLAMA_API) {
+			ollamaEnabled = true;
+
+			await Promise.all([
+				(async () => {
+					OLLAMA_URLS = await getOllamaUrls(localStorage.token).catch((error) => {
+						toast.error(error);
+						return [];
+					});
+
+					if (OLLAMA_URLS.length > 0) {
+						selectedOllamaUrlIdx = 0;
+					}
+				})(),
+				(async () => {
+					ollamaVersion = await getOllamaVersion(localStorage.token).catch((error) => false);
+				})()
+			]);
+		} else {
+			ollamaEnabled = false;
+			toast.error('Ollama API is disabled');
+		}
 	});
 </script>
 
 <div class="flex flex-col h-full justify-between text-sm">
 	<div class=" space-y-3 pr-1.5 overflow-y-scroll h-[24rem]">
-		{#if ollamaVersion !== null}
-			<div class="space-y-2 pr-1.5">
-				<div class="text-sm font-medium">{$i18n.t('Manage Ollama Models')}</div>
-
-				{#if OLLAMA_URLS.length > 0}
-					<div class="flex gap-2">
-						<div class="flex-1 pb-1">
-							<select
-								class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none"
-								bind:value={selectedOllamaUrlIdx}
-								placeholder={$i18n.t('Select an Ollama instance')}
-							>
-								{#each OLLAMA_URLS as url, idx}
-									<option value={idx} class="bg-gray-100 dark:bg-gray-700">{url}</option>
-								{/each}
-							</select>
+		{#if ollamaEnabled}
+			{#if ollamaVersion !== null}
+				<div class="space-y-2 pr-1.5">
+					<div class="text-sm font-medium">{$i18n.t('Manage Ollama Models')}</div>
+
+					{#if OLLAMA_URLS.length > 0}
+						<div class="flex gap-2">
+							<div class="flex-1 pb-1">
+								<select
+									class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none"
+									bind:value={selectedOllamaUrlIdx}
+									placeholder={$i18n.t('Select an Ollama instance')}
+								>
+									{#each OLLAMA_URLS as url, idx}
+										<option value={idx} class="bg-gray-100 dark:bg-gray-700">{url}</option>
+									{/each}
+								</select>
+							</div>
+
+							<div>
+								<div class="flex w-full justify-end">
+									<Tooltip content="Update All Models" placement="top">
+										<button
+											class="p-2.5 flex gap-2 items-center bg-gray-100 hover:bg-gray-200 text-gray-800 dark:bg-gray-850 dark:hover:bg-gray-800 dark:text-gray-100 rounded-lg transition"
+											on:click={() => {
+												updateModelsHandler();
+											}}
+										>
+											<svg
+												xmlns="http://www.w3.org/2000/svg"
+												viewBox="0 0 16 16"
+												fill="currentColor"
+												class="w-4 h-4"
+											>
+												<path
+													d="M7 1a.75.75 0 0 1 .75.75V6h-1.5V1.75A.75.75 0 0 1 7 1ZM6.25 6v2.94L5.03 7.72a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l2.5-2.5a.75.75 0 1 0-1.06-1.06L7.75 8.94V6H10a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h2.25Z"
+												/>
+												<path
+													d="M4.268 14A2 2 0 0 0 6 15h6a2 2 0 0 0 2-2v-3a2 2 0 0 0-1-1.732V11a3 3 0 0 1-3 3H4.268Z"
+												/>
+											</svg>
+										</button>
+									</Tooltip>
+								</div>
+							</div>
 						</div>
 
+						{#if updateModelId}
+							Updating "{updateModelId}" {updateProgress ? `(${updateProgress}%)` : ''}
+						{/if}
+					{/if}
+
+					<div class="space-y-2">
 						<div>
-							<div class="flex w-full justify-end">
-								<Tooltip content="Update All Models" placement="top">
-									<button
-										class="p-2.5 flex gap-2 items-center bg-gray-100 hover:bg-gray-200 text-gray-800 dark:bg-gray-850 dark:hover:bg-gray-800 dark:text-gray-100 rounded-lg transition"
-										on:click={() => {
-											updateModelsHandler();
-										}}
-									>
+							<div class=" mb-2 text-sm font-medium">{$i18n.t('Pull a model from Ollama.com')}</div>
+							<div class="flex w-full">
+								<div class="flex-1 mr-2">
+									<input
+										class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none"
+										placeholder={$i18n.t('Enter model tag (e.g. {{modelTag}})', {
+											modelTag: 'mistral:7b'
+										})}
+										bind:value={modelTag}
+									/>
+								</div>
+								<button
+									class="px-2.5 bg-gray-100 hover:bg-gray-200 text-gray-800 dark:bg-gray-850 dark:hover:bg-gray-800 dark:text-gray-100 rounded-lg transition"
+									on:click={() => {
+										pullModelHandler();
+									}}
+									disabled={modelTransferring}
+								>
+									{#if modelTransferring}
+										<div class="self-center">
+											<svg
+												class=" w-4 h-4"
+												viewBox="0 0 24 24"
+												fill="currentColor"
+												xmlns="http://www.w3.org/2000/svg"
+											>
+												<style>
+													.spinner_ajPY {
+														transform-origin: center;
+														animation: spinner_AtaB 0.75s infinite linear;
+													}
+
+													@keyframes spinner_AtaB {
+														100% {
+															transform: rotate(360deg);
+														}
+													}
+												</style>
+												<path
+													d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z"
+													opacity=".25"
+												/>
+												<path
+													d="M10.14,1.16a11,11,0,0,0-9,8.92A1.59,1.59,0,0,0,2.46,12,1.52,1.52,0,0,0,4.11,10.7a8,8,0,0,1,6.66-6.61A1.42,1.42,0,0,0,12,2.69h0A1.57,1.57,0,0,0,10.14,1.16Z"
+													class="spinner_ajPY"
+												/>
+											</svg>
+										</div>
+									{:else}
 										<svg
 											xmlns="http://www.w3.org/2000/svg"
 											viewBox="0 0 16 16"
@@ -485,74 +574,111 @@
 											class="w-4 h-4"
 										>
 											<path
-												d="M7 1a.75.75 0 0 1 .75.75V6h-1.5V1.75A.75.75 0 0 1 7 1ZM6.25 6v2.94L5.03 7.72a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l2.5-2.5a.75.75 0 1 0-1.06-1.06L7.75 8.94V6H10a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h2.25Z"
+												d="M8.75 2.75a.75.75 0 0 0-1.5 0v5.69L5.03 6.22a.75.75 0 0 0-1.06 1.06l3.5 3.5a.75.75 0 0 0 1.06 0l3.5-3.5a.75.75 0 0 0-1.06-1.06L8.75 8.44V2.75Z"
 											/>
 											<path
-												d="M4.268 14A2 2 0 0 0 6 15h6a2 2 0 0 0 2-2v-3a2 2 0 0 0-1-1.732V11a3 3 0 0 1-3 3H4.268Z"
+												d="M3.5 9.75a.75.75 0 0 0-1.5 0v1.5A2.75 2.75 0 0 0 4.75 14h6.5A2.75 2.75 0 0 0 14 11.25v-1.5a.75.75 0 0 0-1.5 0v1.5c0 .69-.56 1.25-1.25 1.25h-6.5c-.69 0-1.25-.56-1.25-1.25v-1.5Z"
 											/>
 										</svg>
-									</button>
-								</Tooltip>
+									{/if}
+								</button>
 							</div>
-						</div>
-					</div>
 
-					{#if updateModelId}
-						Updating "{updateModelId}" {updateProgress ? `(${updateProgress}%)` : ''}
-					{/if}
-				{/if}
-
-				<div class="space-y-2">
-					<div>
-						<div class=" mb-2 text-sm font-medium">{$i18n.t('Pull a model from Ollama.com')}</div>
-						<div class="flex w-full">
-							<div class="flex-1 mr-2">
-								<input
-									class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none"
-									placeholder={$i18n.t('Enter model tag (e.g. {{modelTag}})', {
-										modelTag: 'mistral:7b'
-									})}
-									bind:value={modelTag}
-								/>
+							<div class="mt-2 mb-1 text-xs text-gray-400 dark:text-gray-500">
+								{$i18n.t('To access the available model names for downloading,')}
+								<a
+									class=" text-gray-500 dark:text-gray-300 font-medium underline"
+									href="https://ollama.com/library"
+									target="_blank">{$i18n.t('click here.')}</a
+								>
 							</div>
-							<button
-								class="px-2.5 bg-gray-100 hover:bg-gray-200 text-gray-800 dark:bg-gray-850 dark:hover:bg-gray-800 dark:text-gray-100 rounded-lg transition"
-								on:click={() => {
-									pullModelHandler();
-								}}
-								disabled={modelTransferring}
-							>
-								{#if modelTransferring}
-									<div class="self-center">
-										<svg
-											class=" w-4 h-4"
-											viewBox="0 0 24 24"
-											fill="currentColor"
-											xmlns="http://www.w3.org/2000/svg"
-										>
-											<style>
-												.spinner_ajPY {
-													transform-origin: center;
-													animation: spinner_AtaB 0.75s infinite linear;
-												}
-
-												@keyframes spinner_AtaB {
-													100% {
-														transform: rotate(360deg);
-													}
-												}
-											</style>
-											<path
-												d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z"
-												opacity=".25"
-											/>
-											<path
-												d="M10.14,1.16a11,11,0,0,0-9,8.92A1.59,1.59,0,0,0,2.46,12,1.52,1.52,0,0,0,4.11,10.7a8,8,0,0,1,6.66-6.61A1.42,1.42,0,0,0,12,2.69h0A1.57,1.57,0,0,0,10.14,1.16Z"
-												class="spinner_ajPY"
-											/>
-										</svg>
-									</div>
-								{:else}
+
+							{#if Object.keys($MODEL_DOWNLOAD_POOL).length > 0}
+								{#each Object.keys($MODEL_DOWNLOAD_POOL) as model}
+									{#if 'pullProgress' in $MODEL_DOWNLOAD_POOL[model]}
+										<div class="flex flex-col">
+											<div class="font-medium mb-1">{model}</div>
+											<div class="">
+												<div class="flex flex-row justify-between space-x-4 pr-2">
+													<div class=" flex-1">
+														<div
+															class="dark:bg-gray-600 bg-gray-500 text-xs font-medium text-gray-100 text-center p-0.5 leading-none rounded-full"
+															style="width: {Math.max(
+																15,
+																$MODEL_DOWNLOAD_POOL[model].pullProgress ?? 0
+															)}%"
+														>
+															{$MODEL_DOWNLOAD_POOL[model].pullProgress ?? 0}%
+														</div>
+													</div>
+
+													<Tooltip content={$i18n.t('Cancel')}>
+														<button
+															class="text-gray-800 dark:text-gray-100"
+															on:click={() => {
+																cancelModelPullHandler(model);
+															}}
+														>
+															<svg
+																class="w-4 h-4 text-gray-800 dark:text-white"
+																aria-hidden="true"
+																xmlns="http://www.w3.org/2000/svg"
+																width="24"
+																height="24"
+																fill="currentColor"
+																viewBox="0 0 24 24"
+															>
+																<path
+																	stroke="currentColor"
+																	stroke-linecap="round"
+																	stroke-linejoin="round"
+																	stroke-width="2"
+																	d="M6 18 17.94 6M18 18 6.06 6"
+																/>
+															</svg>
+														</button>
+													</Tooltip>
+												</div>
+												{#if 'digest' in $MODEL_DOWNLOAD_POOL[model]}
+													<div class="mt-1 text-xs dark:text-gray-500" style="font-size: 0.5rem;">
+														{$MODEL_DOWNLOAD_POOL[model].digest}
+													</div>
+												{/if}
+											</div>
+										</div>
+									{/if}
+								{/each}
+							{/if}
+						</div>
+
+						<div>
+							<div class=" mb-2 text-sm font-medium">{$i18n.t('Delete a model')}</div>
+							<div class="flex w-full">
+								<div class="flex-1 mr-2">
+									<select
+										class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none"
+										bind:value={deleteModelTag}
+										placeholder={$i18n.t('Select a model')}
+									>
+										{#if !deleteModelTag}
+											<option value="" disabled selected>{$i18n.t('Select a model')}</option>
+										{/if}
+										{#each $models.filter((m) => !(m?.preset ?? false) && m.owned_by === 'ollama' && (selectedOllamaUrlIdx === null ? true : (m?.ollama?.urls ?? []).includes(selectedOllamaUrlIdx))) as model}
+											<option value={model.name} class="bg-gray-100 dark:bg-gray-700"
+												>{model.name +
+													' (' +
+													(model.ollama.size / 1024 ** 3).toFixed(1) +
+													' GB)'}</option
+											>
+										{/each}
+									</select>
+								</div>
+								<button
+									class="px-2.5 bg-gray-100 hover:bg-gray-200 text-gray-800 dark:bg-gray-850 dark:hover:bg-gray-800 dark:text-gray-100 rounded-lg transition"
+									on:click={() => {
+										deleteModelHandler();
+									}}
+								>
 									<svg
 										xmlns="http://www.w3.org/2000/svg"
 										viewBox="0 0 16 16"
@@ -560,330 +686,229 @@
 										class="w-4 h-4"
 									>
 										<path
-											d="M8.75 2.75a.75.75 0 0 0-1.5 0v5.69L5.03 6.22a.75.75 0 0 0-1.06 1.06l3.5 3.5a.75.75 0 0 0 1.06 0l3.5-3.5a.75.75 0 0 0-1.06-1.06L8.75 8.44V2.75Z"
-										/>
-										<path
-											d="M3.5 9.75a.75.75 0 0 0-1.5 0v1.5A2.75 2.75 0 0 0 4.75 14h6.5A2.75 2.75 0 0 0 14 11.25v-1.5a.75.75 0 0 0-1.5 0v1.5c0 .69-.56 1.25-1.25 1.25h-6.5c-.69 0-1.25-.56-1.25-1.25v-1.5Z"
+											fill-rule="evenodd"
+											d="M5 3.25V4H2.75a.75.75 0 0 0 0 1.5h.3l.815 8.15A1.5 1.5 0 0 0 5.357 15h5.285a1.5 1.5 0 0 0 1.493-1.35l.815-8.15h.3a.75.75 0 0 0 0-1.5H11v-.75A2.25 2.25 0 0 0 8.75 1h-1.5A2.25 2.25 0 0 0 5 3.25Zm2.25-.75a.75.75 0 0 0-.75.75V4h3v-.75a.75.75 0 0 0-.75-.75h-1.5ZM6.05 6a.75.75 0 0 1 .787.713l.275 5.5a.75.75 0 0 1-1.498.075l-.275-5.5A.75.75 0 0 1 6.05 6Zm3.9 0a.75.75 0 0 1 .712.787l-.275 5.5a.75.75 0 0 1-1.498-.075l.275-5.5a.75.75 0 0 1 .786-.711Z"
+											clip-rule="evenodd"
 										/>
 									</svg>
-								{/if}
-							</button>
-						</div>
-
-						<div class="mt-2 mb-1 text-xs text-gray-400 dark:text-gray-500">
-							{$i18n.t('To access the available model names for downloading,')}
-							<a
-								class=" text-gray-500 dark:text-gray-300 font-medium underline"
-								href="https://ollama.com/library"
-								target="_blank">{$i18n.t('click here.')}</a
-							>
+								</button>
+							</div>
 						</div>
 
-						{#if Object.keys($MODEL_DOWNLOAD_POOL).length > 0}
-							{#each Object.keys($MODEL_DOWNLOAD_POOL) as model}
-								{#if 'pullProgress' in $MODEL_DOWNLOAD_POOL[model]}
-									<div class="flex flex-col">
-										<div class="font-medium mb-1">{model}</div>
-										<div class="">
-											<div class="flex flex-row justify-between space-x-4 pr-2">
-												<div class=" flex-1">
-													<div
-														class="dark:bg-gray-600 bg-gray-500 text-xs font-medium text-gray-100 text-center p-0.5 leading-none rounded-full"
-														style="width: {Math.max(
-															15,
-															$MODEL_DOWNLOAD_POOL[model].pullProgress ?? 0
-														)}%"
-													>
-														{$MODEL_DOWNLOAD_POOL[model].pullProgress ?? 0}%
-													</div>
-												</div>
-
-												<Tooltip content={$i18n.t('Cancel')}>
-													<button
-														class="text-gray-800 dark:text-gray-100"
-														on:click={() => {
-															cancelModelPullHandler(model);
-														}}
-													>
-														<svg
-															class="w-4 h-4 text-gray-800 dark:text-white"
-															aria-hidden="true"
-															xmlns="http://www.w3.org/2000/svg"
-															width="24"
-															height="24"
-															fill="currentColor"
-															viewBox="0 0 24 24"
-														>
-															<path
-																stroke="currentColor"
-																stroke-linecap="round"
-																stroke-linejoin="round"
-																stroke-width="2"
-																d="M6 18 17.94 6M18 18 6.06 6"
-															/>
-														</svg>
-													</button>
-												</Tooltip>
-											</div>
-											{#if 'digest' in $MODEL_DOWNLOAD_POOL[model]}
-												<div class="mt-1 text-xs dark:text-gray-500" style="font-size: 0.5rem;">
-													{$MODEL_DOWNLOAD_POOL[model].digest}
-												</div>
-											{/if}
-										</div>
-									</div>
-								{/if}
-							{/each}
-						{/if}
-					</div>
-
-					<div>
-						<div class=" mb-2 text-sm font-medium">{$i18n.t('Delete a model')}</div>
-						<div class="flex w-full">
-							<div class="flex-1 mr-2">
-								<select
-									class="w-full rounded-lg py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-850 outline-none"
-									bind:value={deleteModelTag}
-									placeholder={$i18n.t('Select a model')}
+						<div class="pt-1">
+							<div class="flex justify-between items-center text-xs">
+								<div class=" text-sm font-medium">{$i18n.t('Experimental')}</div>
+								<button
+									class=" text-xs font-medium text-gray-500"
+									type="button"
+									on:click={() => {
+										showExperimentalOllama = !showExperimentalOllama;
+									}}>{showExperimentalOllama ? $i18n.t('Hide') : $i18n.t('Show')}</button
 								>
-									{#if !deleteModelTag}
-										<option value="" disabled selected>{$i18n.t('Select a model')}</option>
-									{/if}
-									{#each $models.filter((m) => !(m?.preset ?? false) && m.owned_by === 'ollama' && (selectedOllamaUrlIdx === null ? true : (m?.ollama?.urls ?? []).includes(selectedOllamaUrlIdx))) as model}
-										<option value={model.name} class="bg-gray-100 dark:bg-gray-700"
-											>{model.name +
-												' (' +
-												(model.ollama.size / 1024 ** 3).toFixed(1) +
-												' GB)'}</option
-										>
-									{/each}
-								</select>
 							</div>
-							<button
-								class="px-2.5 bg-gray-100 hover:bg-gray-200 text-gray-800 dark:bg-gray-850 dark:hover:bg-gray-800 dark:text-gray-100 rounded-lg transition"
-								on:click={() => {
-									deleteModelHandler();
-								}}
-							>
-								<svg
-									xmlns="http://www.w3.org/2000/svg"
-									viewBox="0 0 16 16"
-									fill="currentColor"
-									class="w-4 h-4"
-								>
-									<path
-										fill-rule="evenodd"
-										d="M5 3.25V4H2.75a.75.75 0 0 0 0 1.5h.3l.815 8.15A1.5 1.5 0 0 0 5.357 15h5.285a1.5 1.5 0 0 0 1.493-1.35l.815-8.15h.3a.75.75 0 0 0 0-1.5H11v-.75A2.25 2.25 0 0 0 8.75 1h-1.5A2.25 2.25 0 0 0 5 3.25Zm2.25-.75a.75.75 0 0 0-.75.75V4h3v-.75a.75.75 0 0 0-.75-.75h-1.5ZM6.05 6a.75.75 0 0 1 .787.713l.275 5.5a.75.75 0 0 1-1.498.075l-.275-5.5A.75.75 0 0 1 6.05 6Zm3.9 0a.75.75 0 0 1 .712.787l-.275 5.5a.75.75 0 0 1-1.498-.075l.275-5.5a.75.75 0 0 1 .786-.711Z"
-										clip-rule="evenodd"
-									/>
-								</svg>
-							</button>
 						</div>
-					</div>
 
-					<div class="pt-1">
-						<div class="flex justify-between items-center text-xs">
-							<div class=" text-sm font-medium">{$i18n.t('Experimental')}</div>
-							<button
-								class=" text-xs font-medium text-gray-500"
-								type="button"
-								on:click={() => {
-									showExperimentalOllama = !showExperimentalOllama;
-								}}>{showExperimentalOllama ? $i18n.t('Hide') : $i18n.t('Show')}</button
+						{#if showExperimentalOllama}
+							<form
+								on:submit|preventDefault={() => {
+									uploadModelHandler();
+								}}
 							>
-						</div>
-					</div>
+								<div class=" mb-2 flex w-full justify-between">
+									<div class="  text-sm font-medium">{$i18n.t('Upload a GGUF model')}</div>
 
-					{#if showExperimentalOllama}
-						<form
-							on:submit|preventDefault={() => {
-								uploadModelHandler();
-							}}
-						>
-							<div class=" mb-2 flex w-full justify-between">
-								<div class="  text-sm font-medium">{$i18n.t('Upload a GGUF model')}</div>
+									<button
+										class="p-1 px-3 text-xs flex rounded transition"
+										on:click={() => {
+											if (modelUploadMode === 'file') {
+												modelUploadMode = 'url';
+											} else {
+												modelUploadMode = 'file';
+											}
+										}}
+										type="button"
+									>
+										{#if modelUploadMode === 'file'}
+											<span class="ml-2 self-center">{$i18n.t('File Mode')}</span>
+										{:else}
+											<span class="ml-2 self-center">{$i18n.t('URL Mode')}</span>
+										{/if}
+									</button>
+								</div>
 
-								<button
-									class="p-1 px-3 text-xs flex rounded transition"
-									on:click={() => {
-										if (modelUploadMode === 'file') {
-											modelUploadMode = 'url';
-										} else {
-											modelUploadMode = 'file';
-										}
-									}}
-									type="button"
-								>
-									{#if modelUploadMode === 'file'}
-										<span class="ml-2 self-center">{$i18n.t('File Mode')}</span>
-									{:else}
-										<span class="ml-2 self-center">{$i18n.t('URL Mode')}</span>
-									{/if}
-								</button>
-							</div>
+								<div class="flex w-full mb-1.5">
+									<div class="flex flex-col w-full">
+										{#if modelUploadMode === 'file'}
+											<div
+												class="flex-1 {modelInputFile && modelInputFile.length > 0 ? 'mr-2' : ''}"
+											>
+												<input
+													id="model-upload-input"
+													bind:this={modelUploadInputElement}
+													type="file"
+													bind:files={modelInputFile}
+													on:change={() => {
+														console.log(modelInputFile);
+													}}
+													accept=".gguf,.safetensors"
+													required
+													hidden
+												/>
 
-							<div class="flex w-full mb-1.5">
-								<div class="flex flex-col w-full">
-									{#if modelUploadMode === 'file'}
-										<div class="flex-1 {modelInputFile && modelInputFile.length > 0 ? 'mr-2' : ''}">
-											<input
-												id="model-upload-input"
-												bind:this={modelUploadInputElement}
-												type="file"
-												bind:files={modelInputFile}
-												on:change={() => {
-													console.log(modelInputFile);
-												}}
-												accept=".gguf,.safetensors"
-												required
-												hidden
-											/>
+												<button
+													type="button"
+													class="w-full rounded-lg text-left py-2 px-4 bg-white dark:text-gray-300 dark:bg-gray-850"
+													on:click={() => {
+														modelUploadInputElement.click();
+													}}
+												>
+													{#if modelInputFile && modelInputFile.length > 0}
+														{modelInputFile[0].name}
+													{:else}
+														{$i18n.t('Click here to select')}
+													{/if}
+												</button>
+											</div>
+										{:else}
+											<div class="flex-1 {modelFileUrl !== '' ? 'mr-2' : ''}">
+												<input
+													class="w-full rounded-lg text-left py-2 px-4 bg-white dark:text-gray-300 dark:bg-gray-850 outline-none {modelFileUrl !==
+													''
+														? 'mr-2'
+														: ''}"
+													type="url"
+													required
+													bind:value={modelFileUrl}
+													placeholder={$i18n.t('Type Hugging Face Resolve (Download) URL')}
+												/>
+											</div>
+										{/if}
+									</div>
 
-											<button
-												type="button"
-												class="w-full rounded-lg text-left py-2 px-4 bg-white dark:text-gray-300 dark:bg-gray-850"
-												on:click={() => {
-													modelUploadInputElement.click();
-												}}
-											>
-												{#if modelInputFile && modelInputFile.length > 0}
-													{modelInputFile[0].name}
-												{:else}
-													{$i18n.t('Click here to select')}
-												{/if}
-											</button>
-										</div>
-									{:else}
-										<div class="flex-1 {modelFileUrl !== '' ? 'mr-2' : ''}">
-											<input
-												class="w-full rounded-lg text-left py-2 px-4 bg-white dark:text-gray-300 dark:bg-gray-850 outline-none {modelFileUrl !==
-												''
-													? 'mr-2'
-													: ''}"
-												type="url"
-												required
-												bind:value={modelFileUrl}
-												placeholder={$i18n.t('Type Hugging Face Resolve (Download) URL')}
-											/>
-										</div>
-									{/if}
-								</div>
+									{#if (modelUploadMode === 'file' && modelInputFile && modelInputFile.length > 0) || (modelUploadMode === 'url' && modelFileUrl !== '')}
+										<button
+											class="px-2.5 bg-gray-100 hover:bg-gray-200 text-gray-800 dark:bg-gray-850 dark:hover:bg-gray-800 dark:text-gray-100 rounded-lg disabled:cursor-not-allowed transition"
+											type="submit"
+											disabled={modelTransferring}
+										>
+											{#if modelTransferring}
+												<div class="self-center">
+													<svg
+														class=" w-4 h-4"
+														viewBox="0 0 24 24"
+														fill="currentColor"
+														xmlns="http://www.w3.org/2000/svg"
+													>
+														<style>
+															.spinner_ajPY {
+																transform-origin: center;
+																animation: spinner_AtaB 0.75s infinite linear;
+															}
 
-								{#if (modelUploadMode === 'file' && modelInputFile && modelInputFile.length > 0) || (modelUploadMode === 'url' && modelFileUrl !== '')}
-									<button
-										class="px-2.5 bg-gray-100 hover:bg-gray-200 text-gray-800 dark:bg-gray-850 dark:hover:bg-gray-800 dark:text-gray-100 rounded-lg disabled:cursor-not-allowed transition"
-										type="submit"
-										disabled={modelTransferring}
-									>
-										{#if modelTransferring}
-											<div class="self-center">
+															@keyframes spinner_AtaB {
+																100% {
+																	transform: rotate(360deg);
+																}
+															}
+														</style>
+														<path
+															d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z"
+															opacity=".25"
+														/>
+														<path
+															d="M10.14,1.16a11,11,0,0,0-9,8.92A1.59,1.59,0,0,0,2.46,12,1.52,1.52,0,0,0,4.11,10.7a8,8,0,0,1,6.66-6.61A1.42,1.42,0,0,0,12,2.69h0A1.57,1.57,0,0,0,10.14,1.16Z"
+															class="spinner_ajPY"
+														/>
+													</svg>
+												</div>
+											{:else}
 												<svg
-													class=" w-4 h-4"
-													viewBox="0 0 24 24"
-													fill="currentColor"
 													xmlns="http://www.w3.org/2000/svg"
+													viewBox="0 0 16 16"
+													fill="currentColor"
+													class="w-4 h-4"
 												>
-													<style>
-														.spinner_ajPY {
-															transform-origin: center;
-															animation: spinner_AtaB 0.75s infinite linear;
-														}
-
-														@keyframes spinner_AtaB {
-															100% {
-																transform: rotate(360deg);
-															}
-														}
-													</style>
 													<path
-														d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z"
-														opacity=".25"
+														d="M7.25 10.25a.75.75 0 0 0 1.5 0V4.56l2.22 2.22a.75.75 0 1 0 1.06-1.06l-3.5-3.5a.75.75 0 0 0-1.06 0l-3.5 3.5a.75.75 0 0 0 1.06 1.06l2.22-2.22v5.69Z"
 													/>
 													<path
-														d="M10.14,1.16a11,11,0,0,0-9,8.92A1.59,1.59,0,0,0,2.46,12,1.52,1.52,0,0,0,4.11,10.7a8,8,0,0,1,6.66-6.61A1.42,1.42,0,0,0,12,2.69h0A1.57,1.57,0,0,0,10.14,1.16Z"
-														class="spinner_ajPY"
+														d="M3.5 9.75a.75.75 0 0 0-1.5 0v1.5A2.75 2.75 0 0 0 4.75 14h6.5A2.75 2.75 0 0 0 14 11.25v-1.5a.75.75 0 0 0-1.5 0v1.5c0 .69-.56 1.25-1.25 1.25h-6.5c-.69 0-1.25-.56-1.25-1.25v-1.5Z"
 													/>
 												</svg>
-											</div>
-										{:else}
-											<svg
-												xmlns="http://www.w3.org/2000/svg"
-												viewBox="0 0 16 16"
-												fill="currentColor"
-												class="w-4 h-4"
-											>
-												<path
-													d="M7.25 10.25a.75.75 0 0 0 1.5 0V4.56l2.22 2.22a.75.75 0 1 0 1.06-1.06l-3.5-3.5a.75.75 0 0 0-1.06 0l-3.5 3.5a.75.75 0 0 0 1.06 1.06l2.22-2.22v5.69Z"
-												/>
-												<path
-													d="M3.5 9.75a.75.75 0 0 0-1.5 0v1.5A2.75 2.75 0 0 0 4.75 14h6.5A2.75 2.75 0 0 0 14 11.25v-1.5a.75.75 0 0 0-1.5 0v1.5c0 .69-.56 1.25-1.25 1.25h-6.5c-.69 0-1.25-.56-1.25-1.25v-1.5Z"
-												/>
-											</svg>
-										{/if}
-									</button>
-								{/if}
-							</div>
+											{/if}
+										</button>
+									{/if}
+								</div>
 
-							{#if (modelUploadMode === 'file' && modelInputFile && modelInputFile.length > 0) || (modelUploadMode === 'url' && modelFileUrl !== '')}
-								<div>
+								{#if (modelUploadMode === 'file' && modelInputFile && modelInputFile.length > 0) || (modelUploadMode === 'url' && modelFileUrl !== '')}
 									<div>
-										<div class=" my-2.5 text-sm font-medium">{$i18n.t('Modelfile Content')}</div>
-										<textarea
-											bind:value={modelFileContent}
-											class="w-full rounded-lg py-2 px-4 text-sm bg-gray-100 dark:text-gray-100 dark:bg-gray-850 outline-none resize-none"
-											rows="6"
-										/>
+										<div>
+											<div class=" my-2.5 text-sm font-medium">{$i18n.t('Modelfile Content')}</div>
+											<textarea
+												bind:value={modelFileContent}
+												class="w-full rounded-lg py-2 px-4 text-sm bg-gray-100 dark:text-gray-100 dark:bg-gray-850 outline-none resize-none"
+												rows="6"
+											/>
+										</div>
 									</div>
+								{/if}
+								<div class=" mt-1 text-xs text-gray-400 dark:text-gray-500">
+									{$i18n.t('To access the GGUF models available for downloading,')}
+									<a
+										class=" text-gray-500 dark:text-gray-300 font-medium underline"
+										href="https://huggingface.co/models?search=gguf"
+										target="_blank">{$i18n.t('click here.')}</a
+									>
 								</div>
-							{/if}
-							<div class=" mt-1 text-xs text-gray-400 dark:text-gray-500">
-								{$i18n.t('To access the GGUF models available for downloading,')}
-								<a
-									class=" text-gray-500 dark:text-gray-300 font-medium underline"
-									href="https://huggingface.co/models?search=gguf"
-									target="_blank">{$i18n.t('click here.')}</a
-								>
-							</div>
 
-							{#if uploadMessage}
-								<div class="mt-2">
-									<div class=" mb-2 text-xs">{$i18n.t('Upload Progress')}</div>
+								{#if uploadMessage}
+									<div class="mt-2">
+										<div class=" mb-2 text-xs">{$i18n.t('Upload Progress')}</div>
 
-									<div class="w-full rounded-full dark:bg-gray-800">
-										<div
-											class="dark:bg-gray-600 bg-gray-500 text-xs font-medium text-gray-100 text-center p-0.5 leading-none rounded-full"
-											style="width: 100%"
-										>
-											{uploadMessage}
+										<div class="w-full rounded-full dark:bg-gray-800">
+											<div
+												class="dark:bg-gray-600 bg-gray-500 text-xs font-medium text-gray-100 text-center p-0.5 leading-none rounded-full"
+												style="width: 100%"
+											>
+												{uploadMessage}
+											</div>
 										</div>
-									</div>
-									<div class="mt-1 text-xs dark:text-gray-500" style="font-size: 0.5rem;">
-										{modelFileDigest}
-									</div>
-								</div>
-							{:else if uploadProgress !== null}
-								<div class="mt-2">
-									<div class=" mb-2 text-xs">{$i18n.t('Upload Progress')}</div>
-
-									<div class="w-full rounded-full dark:bg-gray-800">
-										<div
-											class="dark:bg-gray-600 bg-gray-500 text-xs font-medium text-gray-100 text-center p-0.5 leading-none rounded-full"
-											style="width: {Math.max(15, uploadProgress ?? 0)}%"
-										>
-											{uploadProgress ?? 0}%
+										<div class="mt-1 text-xs dark:text-gray-500" style="font-size: 0.5rem;">
+											{modelFileDigest}
 										</div>
 									</div>
-									<div class="mt-1 text-xs dark:text-gray-500" style="font-size: 0.5rem;">
-										{modelFileDigest}
+								{:else if uploadProgress !== null}
+									<div class="mt-2">
+										<div class=" mb-2 text-xs">{$i18n.t('Upload Progress')}</div>
+
+										<div class="w-full rounded-full dark:bg-gray-800">
+											<div
+												class="dark:bg-gray-600 bg-gray-500 text-xs font-medium text-gray-100 text-center p-0.5 leading-none rounded-full"
+												style="width: {Math.max(15, uploadProgress ?? 0)}%"
+											>
+												{uploadProgress ?? 0}%
+											</div>
+										</div>
+										<div class="mt-1 text-xs dark:text-gray-500" style="font-size: 0.5rem;">
+											{modelFileDigest}
+										</div>
 									</div>
-								</div>
-							{/if}
-						</form>
-					{/if}
+								{/if}
+							</form>
+						{/if}
+					</div>
 				</div>
-			</div>
-		{:else if ollamaVersion === false}
-			<div>Ollama Not Detected</div>
+			{:else if ollamaVersion === false}
+				<div>Ollama Not Detected</div>
+			{:else}
+				<div class="flex h-full justify-center">
+					<div class="my-auto">
+						<Spinner className="size-6" />
+					</div>
+				</div>
+			{/if}
+		{:else if ollamaEnabled === false}
+			<div>Ollama API is disabled</div>
 		{:else}
 			<div class="flex h-full justify-center">
 				<div class="my-auto">

+ 19 - 0
src/lib/components/icons/ArrowDownTray.svelte

@@ -0,0 +1,19 @@
+<script lang="ts">
+	export let className = 'size-4';
+	export let strokeWidth = '1.5';
+</script>
+
+<svg
+	xmlns="http://www.w3.org/2000/svg"
+	fill="none"
+	viewBox="0 0 24 24"
+	stroke-width={strokeWidth}
+	stroke="currentColor"
+	class={className}
+>
+	<path
+		stroke-linecap="round"
+		stroke-linejoin="round"
+		d="M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12 12 16.5m0 0L7.5 12m4.5 4.5V3"
+	/>
+</svg>

+ 15 - 0
src/lib/components/layout/Navbar/Menu.svelte

@@ -63,6 +63,13 @@
 		// Revoke the URL to release memory
 		window.URL.revokeObjectURL(url);
 	};
+
+	const downloadJSONExport = async () => {
+		let blob = new Blob([JSON.stringify([chat])], {
+			type: 'application/json'
+		});
+		saveAs(blob, `chat-export-${Date.now()}.json`);
+	};
 </script>
 
 <Dropdown
@@ -164,6 +171,14 @@
 					transition={flyAndScale}
 					sideOffset={8}
 				>
+					<DropdownMenu.Item
+						class="flex gap-2 items-center px-3 py-2 text-sm  cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-md"
+						on:click={() => {
+							downloadJSONExport();
+						}}
+					>
+						<div class="flex items-center line-clamp-1">{$i18n.t('Export chat (.json)')}</div>
+					</DropdownMenu.Item>
 					<DropdownMenu.Item
 						class="flex gap-2 items-center px-3 py-2 text-sm  cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-md"
 						on:click={() => {

+ 13 - 1
src/lib/components/layout/Sidebar.svelte

@@ -205,6 +205,10 @@
 		await archiveChatById(localStorage.token, id);
 		await chats.set(await getChatList(localStorage.token));
 	};
+
+	const focusEdit = async (node: HTMLInputElement) => {
+		node.focus();
+	};
 </script>
 
 <ShareChatModal bind:show={showShareChatModal} chatId={shareChatId} />
@@ -489,7 +493,11 @@
 									? 'bg-gray-100 dark:bg-gray-950'
 									: 'group-hover:bg-gray-100 dark:group-hover:bg-gray-950'}  whitespace-nowrap text-ellipsis"
 							>
-								<input bind:value={chatTitle} class=" bg-transparent w-full outline-none mr-10" />
+								<input
+									use:focusEdit
+									bind:value={chatTitle}
+									class=" bg-transparent w-full outline-none mr-10"
+								/>
 							</div>
 						{:else}
 							<a
@@ -507,6 +515,10 @@
 										showSidebar.set(false);
 									}
 								}}
+								on:dblclick={() => {
+									chatTitle = chat.title;
+									chatTitleEditId = chat.id;
+								}}
 								draggable="false"
 							>
 								<div class=" flex self-center flex-1 w-full">

+ 7 - 1
src/lib/components/layout/Sidebar/ArchivedChatsModal.svelte

@@ -8,7 +8,12 @@
 	const dispatch = createEventDispatcher();
 
 	import Modal from '$lib/components/common/Modal.svelte';
-	import { archiveChatById, deleteChatById, getArchivedChatList } from '$lib/apis/chats';
+	import {
+		archiveChatById,
+		deleteChatById,
+		getAllArchivedChats,
+		getArchivedChatList
+	} from '$lib/apis/chats';
 	import Tooltip from '$lib/components/common/Tooltip.svelte';
 
 	const i18n = getContext('i18n');
@@ -38,6 +43,7 @@
 	};
 
 	const exportChatsHandler = async () => {
+		const chats = await getAllArchivedChats(localStorage.token);
 		let blob = new Blob([JSON.stringify(chats)], {
 			type: 'application/json'
 		});

+ 10 - 0
src/lib/components/workspace/Models.svelte

@@ -126,6 +126,13 @@
 		saveAs(blob, `models-export-${Date.now()}.json`);
 	};
 
+	const exportModelHandler = async (model) => {
+		let blob = new Blob([JSON.stringify([model])], {
+			type: 'application/json'
+		});
+		saveAs(blob, `${model.id}-${Date.now()}.json`);
+	};
+
 	const positionChangeHanlder = async () => {
 		// Get the new order of the models
 		const modelIds = Array.from(document.getElementById('model-list').children).map((child) =>
@@ -322,6 +329,9 @@
 					cloneHandler={() => {
 						cloneModelHandler(model);
 					}}
+					exportHandler={() => {
+						exportModelHandler(model);
+					}}
 					hideHandler={() => {
 						hideModelHandler(model);
 					}}

+ 14 - 0
src/lib/components/workspace/Models/ModelMenu.svelte

@@ -11,6 +11,7 @@
 	import Share from '$lib/components/icons/Share.svelte';
 	import ArchiveBox from '$lib/components/icons/ArchiveBox.svelte';
 	import DocumentDuplicate from '$lib/components/icons/DocumentDuplicate.svelte';
+	import ArrowDownTray from '$lib/components/icons/ArrowDownTray.svelte';
 
 	const i18n = getContext('i18n');
 
@@ -18,6 +19,8 @@
 
 	export let shareHandler: Function;
 	export let cloneHandler: Function;
+	export let exportHandler: Function;
+
 	export let hideHandler: Function;
 	export let deleteHandler: Function;
 	export let onClose: Function;
@@ -66,6 +69,17 @@
 				<div class="flex items-center">{$i18n.t('Clone')}</div>
 			</DropdownMenu.Item>
 
+			<DropdownMenu.Item
+				class="flex gap-2 items-center px-3 py-2 text-sm  font-medium cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-md"
+				on:click={() => {
+					exportHandler();
+				}}
+			>
+				<ArrowDownTray />
+
+				<div class="flex items-center">{$i18n.t('Export')}</div>
+			</DropdownMenu.Item>
+
 			<DropdownMenu.Item
 				class="flex  gap-2  items-center px-3 py-2 text-sm  font-medium cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-md"
 				on:click={() => {

+ 1 - 13
src/lib/components/workspace/Playground.svelte

@@ -8,7 +8,7 @@
 	import { OLLAMA_API_BASE_URL, OPENAI_API_BASE_URL, WEBUI_API_BASE_URL } from '$lib/constants';
 	import { WEBUI_NAME, config, user, models, settings } from '$lib/stores';
 
-	import { cancelOllamaRequest, generateChatCompletion } from '$lib/apis/ollama';
+	import { generateChatCompletion } from '$lib/apis/ollama';
 	import { generateOpenAIChatCompletion } from '$lib/apis/openai';
 
 	import { splitStream } from '$lib/utils';
@@ -24,7 +24,6 @@
 	let selectedModelId = '';
 
 	let loading = false;
-	let currentRequestId = null;
 	let stopResponseFlag = false;
 
 	let messagesContainerElement: HTMLDivElement;
@@ -46,14 +45,6 @@
 		}
 	};
 
-	// const cancelHandler = async () => {
-	// 	if (currentRequestId) {
-	// 		const res = await cancelOllamaRequest(localStorage.token, currentRequestId);
-	// 		currentRequestId = null;
-	// 		loading = false;
-	// 	}
-	// };
-
 	const stopResponse = () => {
 		stopResponseFlag = true;
 		console.log('stopResponse');
@@ -171,8 +162,6 @@
 					if (stopResponseFlag) {
 						controller.abort('User: Stop Response');
 					}
-
-					currentRequestId = null;
 					break;
 				}
 
@@ -229,7 +218,6 @@
 
 			loading = false;
 			stopResponseFlag = false;
-			currentRequestId = null;
 		}
 	};
 

+ 82 - 75
src/lib/i18n/locales/ar-BH/translation.json

@@ -3,19 +3,19 @@
 	"(Beta)": "(تجريبي)",
 	"(e.g. `sh webui.sh --api`)": "( `sh webui.sh --api`مثال)",
 	"(latest)": "(الأخير)",
-	"{{ models }}": "",
-	"{{ owner }}: You cannot delete a base model": "",
+	"{{ models }}": "{{ نماذج }}",
+	"{{ owner }}: You cannot delete a base model": "{{ المالك }}: لا يمكنك حذف نموذج أساسي",
 	"{{modelName}} is thinking...": "{{modelName}} ...يفكر",
 	"{{user}}'s Chats": "دردشات {{user}}",
 	"{{webUIName}} Backend Required": "{{webUIName}} مطلوب",
-	"A task model is used when performing tasks such as generating titles for chats and web search queries": "",
+	"A task model is used when performing tasks such as generating titles for chats and web search queries": "يتم استخدام نموذج المهمة عند تنفيذ مهام مثل إنشاء عناوين للدردشات واستعلامات بحث الويب",
 	"a user": "مستخدم",
 	"About": "عن",
 	"Account": "الحساب",
 	"Accurate information": "معلومات دقيقة",
 	"Add": "أضف",
-	"Add a model id": "",
-	"Add a short description about what this model does": "",
+	"Add a model id": "إضافة معرف نموذج",
+	"Add a short description about what this model does": "أضف وصفا موجزا حول ما يفعله هذا النموذج",
 	"Add a short title for this prompt": "أضف عنوانًا قصيرًا لبداء المحادثة",
 	"Add a tag": "أضافة تاق",
 	"Add custom prompt": "أضافة مطالبة مخصصه",
@@ -31,12 +31,13 @@
 	"Admin Panel": "لوحة التحكم",
 	"Admin Settings": "اعدادات المشرف",
 	"Advanced Parameters": "التعليمات المتقدمة",
-	"Advanced Params": "",
+	"Advanced Params": "المعلمات المتقدمة",
 	"all": "الكل",
 	"All Documents": "جميع الملفات",
 	"All Users": "جميع المستخدمين",
 	"Allow": "يسمح",
 	"Allow Chat Deletion": "يستطيع حذف المحادثات",
+	"Allow non-local voices": "",
 	"alphanumeric characters and hyphens": "الأحرف الأبجدية الرقمية والواصلات",
 	"Already have an account?": "هل تملك حساب ؟",
 	"an assistant": "مساعد",
@@ -48,7 +49,7 @@
 	"API keys": "مفاتيح واجهة برمجة التطبيقات",
 	"April": "أبريل",
 	"Archive": "الأرشيف",
-	"Archive All Chats": "",
+	"Archive All Chats": "أرشفة جميع الدردشات",
 	"Archived Chats": "الأرشيف المحادثات",
 	"are allowed - Activate this command by typing": "مسموح - قم بتنشيط هذا الأمر عن طريق الكتابة",
 	"Are you sure?": "هل أنت متأكد ؟",
@@ -63,14 +64,14 @@
 	"available!": "متاح",
 	"Back": "خلف",
 	"Bad Response": "استجابة خطاء",
-	"Banners": "",
-	"Base Model (From)": "",
+	"Banners": "لافتات",
+	"Base Model (From)": "النموذج الأساسي (من)",
 	"before": "قبل",
 	"Being lazy": "كون كسول",
-	"Brave Search API Key": "",
+	"Brave Search API Key": "مفتاح واجهة برمجة تطبيقات البحث الشجاع",
 	"Bypass SSL verification for Websites": "تجاوز التحقق من SSL للموقع",
 	"Cancel": "اللغاء",
-	"Capabilities": "",
+	"Capabilities": "قدرات",
 	"Change Password": "تغير الباسورد",
 	"Chat": "المحادثة",
 	"Chat Bubble UI": "UI الدردشة",
@@ -93,14 +94,14 @@
 	"Click here to select documents.": "انقر هنا لاختيار المستندات",
 	"click here.": "أضغط هنا",
 	"Click on the user role button to change a user's role.": "أضغط على أسم الصلاحيات لتغيرها للمستخدم",
-	"Clone": "",
+	"Clone": "استنساخ",
 	"Close": "أغلق",
 	"Collection": "مجموعة",
 	"ComfyUI": "ComfyUI",
 	"ComfyUI Base URL": "ComfyUI الرابط الافتراضي",
 	"ComfyUI Base URL is required.": "ComfyUI الرابط مطلوب",
 	"Command": "الأوامر",
-	"Concurrent Requests": "",
+	"Concurrent Requests": "الطلبات المتزامنة",
 	"Confirm Password": "تأكيد كلمة المرور",
 	"Connections": "اتصالات",
 	"Content": "الاتصال",
@@ -114,7 +115,7 @@
 	"Copy Link": "أنسخ الرابط",
 	"Copying to clipboard was successful!": "تم النسخ إلى الحافظة بنجاح",
 	"Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "قم بإنشاء عبارة موجزة مكونة من 3-5 كلمات كرأس للاستعلام التالي، مع الالتزام الصارم بالحد الأقصى لعدد الكلمات الذي يتراوح بين 3-5 كلمات وتجنب استخدام الكلمة 'عنوان':",
-	"Create a model": "",
+	"Create a model": "إنشاء نموذج",
 	"Create Account": "إنشاء حساب",
 	"Create new key": "عمل مفتاح جديد",
 	"Create new secret key": "عمل سر جديد",
@@ -123,7 +124,7 @@
 	"Current Model": "الموديل المختار",
 	"Current Password": "كلمة السر الحالية",
 	"Custom": "مخصص",
-	"Customize models for a specific purpose": "",
+	"Customize models for a specific purpose": "تخصيص النماذج لغرض معين",
 	"Dark": "مظلم",
 	"Database": "قاعدة البيانات",
 	"December": "ديسمبر",
@@ -131,24 +132,24 @@
 	"Default (Automatic1111)": "(Automatic1111) الإفتراضي",
 	"Default (SentenceTransformers)": "(SentenceTransformers) الإفتراضي",
 	"Default (Web API)": "(Web API) الإفتراضي",
-	"Default Model": "",
+	"Default Model": "النموذج الافتراضي",
 	"Default model updated": "الإفتراضي تحديث الموديل",
 	"Default Prompt Suggestions": "الإفتراضي Prompt الاقتراحات",
 	"Default User Role": "الإفتراضي صلاحيات المستخدم",
 	"delete": "حذف",
 	"Delete": "حذف",
 	"Delete a model": "حذف الموديل",
-	"Delete All Chats": "",
+	"Delete All Chats": "حذف جميع الدردشات",
 	"Delete chat": "حذف المحادثه",
 	"Delete Chat": "حذف المحادثه.",
 	"delete this link": "أحذف هذا الرابط",
 	"Delete User": "حذف المستخدم",
 	"Deleted {{deleteModelTag}}": "{{deleteModelTag}} حذف",
-	"Deleted {{name}}": "",
+	"Deleted {{name}}": "حذف {{name}}",
 	"Description": "وصف",
 	"Didn't fully follow instructions": "لم أتبع التعليمات بشكل كامل",
 	"Disabled": "تعطيل",
-	"Discover a model": "",
+	"Discover a model": "اكتشف نموذجا",
 	"Discover a prompt": "اكتشاف موجه",
 	"Discover, download, and explore custom prompts": "اكتشاف وتنزيل واستكشاف المطالبات المخصصة",
 	"Discover, download, and explore model presets": "اكتشاف وتنزيل واستكشاف الإعدادات المسبقة للنموذج",
@@ -174,27 +175,27 @@
 	"Embedding Model Engine": "تضمين محرك النموذج",
 	"Embedding model set to \"{{embedding_model}}\"": "تم تعيين نموذج التضمين على \"{{embedding_model}}\"",
 	"Enable Chat History": "تمكين سجل الدردشة",
-	"Enable Community Sharing": "",
+	"Enable Community Sharing": "تمكين مشاركة المجتمع",
 	"Enable New Sign Ups": "تفعيل عمليات التسجيل الجديدة",
-	"Enable Web Search": "",
+	"Enable Web Search": "تمكين بحث الويب",
 	"Enabled": "تفعيل",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "تأكد من أن ملف CSV الخاص بك يتضمن 4 أعمدة بهذا الترتيب: Name, Email, Password, Role.",
 	"Enter {{role}} message here": "أدخل رسالة {{role}} هنا",
 	"Enter a detail about yourself for your LLMs to recall": "ادخل معلومات عنك تريد أن يتذكرها الموديل",
-	"Enter Brave Search API Key": "",
+	"Enter Brave Search API Key": "أدخل مفتاح واجهة برمجة تطبيقات البحث الشجاع",
 	"Enter Chunk Overlap": "أدخل الChunk Overlap",
 	"Enter Chunk Size": "أدخل Chunk الحجم",
-	"Enter Github Raw URL": "",
-	"Enter Google PSE API Key": "",
-	"Enter Google PSE Engine Id": "",
+	"Enter Github Raw URL": "أدخل عنوان URL ل Github Raw",
+	"Enter Google PSE API Key": "أدخل مفتاح واجهة برمجة تطبيقات PSE من Google",
+	"Enter Google PSE Engine Id": "أدخل معرف محرك PSE من Google",
 	"Enter Image Size (e.g. 512x512)": "(e.g. 512x512) أدخل حجم الصورة ",
 	"Enter language codes": "أدخل كود اللغة",
 	"Enter model tag (e.g. {{modelTag}})": "(e.g. {{modelTag}}) أدخل الموديل تاق",
 	"Enter Number of Steps (e.g. 50)": "(e.g. 50) أدخل عدد الخطوات",
 	"Enter Score": "أدخل النتيجة",
-	"Enter Searxng Query URL": "",
-	"Enter Serper API Key": "",
-	"Enter Serpstack API Key": "",
+	"Enter Searxng Query URL": "أدخل عنوان URL لاستعلام Searxng",
+	"Enter Serper API Key": "أدخل مفتاح واجهة برمجة تطبيقات Serper",
+	"Enter Serpstack API Key": "أدخل مفتاح واجهة برمجة تطبيقات Serpstack",
 	"Enter stop sequence": "أدخل تسلسل التوقف",
 	"Enter Top K": "أدخل Top K",
 	"Enter URL (e.g. http://127.0.0.1:7860/)": "الرابط (e.g. http://127.0.0.1:7860/)",
@@ -203,12 +204,14 @@
 	"Enter Your Full Name": "أدخل الاسم كامل",
 	"Enter Your Password": "ادخل كلمة المرور",
 	"Enter Your Role": "أدخل الصلاحيات",
-	"Error": "",
+	"Error": "خطأ",
 	"Experimental": "تجريبي",
+	"Export": "تصدير",
 	"Export All Chats (All Users)": "تصدير جميع الدردشات (جميع المستخدمين)",
+	"Export chat (.json)": "",
 	"Export Chats": "تصدير جميع الدردشات",
 	"Export Documents Mapping": "تصدير وثائق الخرائط",
-	"Export Models": "",
+	"Export Models": "نماذج التصدير",
 	"Export Prompts": "مطالبات التصدير",
 	"Failed to create API Key.": "فشل في إنشاء مفتاح API.",
 	"Failed to read clipboard contents": "فشل في قراءة محتويات الحافظة",
@@ -221,15 +224,15 @@
 	"Focus chat input": "التركيز على إدخال الدردشة",
 	"Followed instructions perfectly": "اتبعت التعليمات على أكمل وجه",
 	"Format your variables using square brackets like this:": "قم بتنسيق المتغيرات الخاصة بك باستخدام الأقواس المربعة مثل هذا:",
-	"Frequency Penalty": "",
+	"Frequency Penalty": "عقوبة التردد",
 	"Full Screen Mode": "وضع ملء الشاشة",
 	"General": "عام",
 	"General Settings": "الاعدادات العامة",
-	"Generating search query": "",
+	"Generating search query": "إنشاء استعلام بحث",
 	"Generation Info": "معلومات الجيل",
 	"Good Response": "استجابة جيدة",
-	"Google PSE API Key": "",
-	"Google PSE Engine Id": "",
+	"Google PSE API Key": "مفتاح واجهة برمجة تطبيقات PSE من Google",
+	"Google PSE Engine Id": "معرف محرك PSE من Google",
 	"h:mm a": "الساعة:الدقائق صباحا/مساء",
 	"has no conversations.": "ليس لديه محادثات.",
 	"Hello, {{name}}": " {{name}} مرحبا",
@@ -243,18 +246,18 @@
 	"Images": "الصور",
 	"Import Chats": "استيراد الدردشات",
 	"Import Documents Mapping": "استيراد خرائط المستندات",
-	"Import Models": "",
+	"Import Models": "استيراد النماذج",
 	"Import Prompts": "مطالبات الاستيراد",
 	"Include `--api` flag when running stable-diffusion-webui": "قم بتضمين علامة `-api` عند تشغيل Stable-diffusion-webui",
-	"Info": "",
+	"Info": "معلومات",
 	"Input commands": "إدخال الأوامر",
-	"Install from Github URL": "",
+	"Install from Github URL": "التثبيت من عنوان URL لجيثب",
 	"Interface": "واجهه المستخدم",
 	"Invalid Tag": "تاق غير صالحة",
 	"January": "يناير",
 	"join our Discord for help.": "انضم إلى Discord للحصول على المساعدة.",
 	"JSON": "JSON",
-	"JSON Preview": "",
+	"JSON Preview": "معاينة JSON",
 	"July": "يوليو",
 	"June": "يونيو",
 	"JWT Expiration": "JWT تجريبي",
@@ -271,12 +274,12 @@
 	"Make sure to enclose them with": "تأكد من إرفاقها",
 	"Manage Models": "إدارة النماذج",
 	"Manage Ollama Models": "Ollama إدارة موديلات ",
-	"Manage Pipelines": "",
+	"Manage Pipelines": "إدارة خطوط الأنابيب",
 	"March": "مارس",
-	"Max Tokens (num_predict)": "",
+	"Max Tokens (num_predict)": "ماكس توكنز (num_predict)",
 	"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "يمكن تنزيل 3 نماذج كحد أقصى في وقت واحد. الرجاء معاودة المحاولة في وقت لاحق.",
 	"May": "مايو",
-	"Memories accessible by LLMs will be shown here.": "",
+	"Memories accessible by LLMs will be shown here.": "سيتم عرض الذكريات التي يمكن الوصول إليها بواسطة LLMs هنا.",
 	"Memory": "الذاكرة",
 	"Messages you send after creating your link won't be shared. Users with the URL will be able to view the shared chat.": "لن تتم مشاركة الرسائل التي ترسلها بعد إنشاء الرابط الخاص بك. سيتمكن المستخدمون الذين لديهم عنوان URL من عرض الدردشة المشتركة",
 	"Minimum Score": "الحد الأدنى من النقاط",
@@ -288,12 +291,12 @@
 	"Model '{{modelName}}' has been successfully downloaded.": "تم تحميل النموذج '{{modelName}}' بنجاح",
 	"Model '{{modelTag}}' is already in queue for downloading.": "النموذج '{{modelTag}}' موجود بالفعل في قائمة الانتظار للتحميل",
 	"Model {{modelId}} not found": "لم يتم العثور على النموذج {{modelId}}.",
-	"Model {{modelName}} is not vision capable": "",
-	"Model {{name}} is now {{status}}": "",
+	"Model {{modelName}} is not vision capable": "نموذج {{modelName}} غير قادر على الرؤية",
+	"Model {{name}} is now {{status}}": "نموذج {{name}} هو الآن {{status}}",
 	"Model filesystem path detected. Model shortname is required for update, cannot continue.": "تم اكتشاف مسار نظام الملفات النموذجي. الاسم المختصر للنموذج مطلوب للتحديث، ولا يمكن الاستمرار.",
-	"Model ID": "",
+	"Model ID": "رقم الموديل",
 	"Model not selected": "لم تختار موديل",
-	"Model Params": "",
+	"Model Params": "معلمات النموذج",
 	"Model Whitelisting": "القائمة البيضاء للموديل",
 	"Model(s) Whitelisted": "القائمة البيضاء الموديل",
 	"Modelfile Content": "محتوى الملف النموذجي",
@@ -301,23 +304,25 @@
 	"More": "المزيد",
 	"Name": "الأسم",
 	"Name Tag": "أسم التاق",
-	"Name your model": "",
+	"Name your model": "قم بتسمية النموذج الخاص بك",
 	"New Chat": "دردشة جديدة",
 	"New Password": "كلمة المرور الجديدة",
 	"No results found": "لا توجد نتايج",
-	"No search query generated": "",
+	"No search query generated": "لم يتم إنشاء استعلام بحث",
 	"No source available": "لا يوجد مصدر متاح",
-	"None": "",
+	"None": "اي",
 	"Not factually correct": "ليس صحيحا من حيث الواقع",
 	"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "ملاحظة: إذا قمت بتعيين الحد الأدنى من النقاط، فلن يؤدي البحث إلا إلى إرجاع المستندات التي لها نقاط أكبر من أو تساوي الحد الأدنى من النقاط.",
 	"Notifications": "إشعارات",
 	"November": "نوفمبر",
+	"num_thread (Ollama)": "num_thread (أولاما)",
 	"October": "اكتوبر",
 	"Off": "أغلاق",
 	"Okay, Let's Go!": "حسنا دعنا نذهب!",
 	"OLED Dark": "OLED داكن",
 	"Ollama": "Ollama",
-	"Ollama API": "",
+	"Ollama API": "أولاما API",
+	"Ollama API disabled": "أولاما API معطلة",
 	"Ollama Version": "Ollama الاصدار",
 	"On": "تشغيل",
 	"Only": "فقط",
@@ -342,8 +347,8 @@
 	"pending": "قيد الانتظار",
 	"Permission denied when accessing microphone: {{error}}": "{{error}} تم رفض الإذن عند الوصول إلى الميكروفون ",
 	"Personalization": "التخصيص",
-	"Pipelines": "",
-	"Pipelines Valves": "",
+	"Pipelines": "خطوط الانابيب",
+	"Pipelines Valves": "صمامات خطوط الأنابيب",
 	"Plain text (.txt)": "نص عادي (.txt)",
 	"Playground": "مكان التجربة",
 	"Positive attitude": "موقف ايجابي",
@@ -388,36 +393,36 @@
 	"Scan for documents from {{path}}": "{{path}} مسح على الملفات من",
 	"Search": "البحث",
 	"Search a model": "البحث عن موديل",
-	"Search Chats": "",
+	"Search Chats": "البحث في الدردشات",
 	"Search Documents": "البحث المستندات",
-	"Search Models": "",
+	"Search Models": "نماذج البحث",
 	"Search Prompts": "أبحث حث",
-	"Search Result Count": "",
-	"Searched {{count}} sites_zero": "",
-	"Searched {{count}} sites_one": "",
-	"Searched {{count}} sites_two": "",
-	"Searched {{count}} sites_few": "",
-	"Searched {{count}} sites_many": "",
-	"Searched {{count}} sites_other": "",
-	"Searching the web for '{{searchQuery}}'": "",
-	"Searxng Query URL": "",
+	"Search Result Count": "عدد نتائج البحث",
+	"Searched {{count}} sites_zero": "تم البحث في {{count}} sites_zero",
+	"Searched {{count}} sites_one": "تم البحث في {{count}} sites_one",
+	"Searched {{count}} sites_two": "تم البحث في {{count}} sites_two",
+	"Searched {{count}} sites_few": "تم البحث في {{count}} sites_few",
+	"Searched {{count}} sites_many": "تم البحث في {{count}} sites_many",
+	"Searched {{count}} sites_other": "تم البحث في {{count}} sites_other",
+	"Searching the web for '{{searchQuery}}'": "البحث في الويب عن \"{{searchQuery}}\"",
+	"Searxng Query URL": "عنوان URL لاستعلام Searxng",
 	"See readme.md for instructions": "readme.md للحصول على التعليمات",
 	"See what's new": "ما الجديد",
 	"Seed": "Seed",
-	"Select a base model": "",
+	"Select a base model": "حدد نموذجا أساسيا",
 	"Select a mode": "أختار موديل",
 	"Select a model": "أختار الموديل",
-	"Select a pipeline": "",
-	"Select a pipeline url": "",
+	"Select a pipeline": "حدد مسارا",
+	"Select a pipeline url": "حدد عنوان URL لخط الأنابيب",
 	"Select an Ollama instance": "أختار سيرفر ",
 	"Select model": " أختار موديل",
-	"Selected model(s) do not support image inputs": "",
+	"Selected model(s) do not support image inputs": "النموذج (النماذج) المحددة لا تدعم مدخلات الصور",
 	"Send": "تم",
 	"Send a Message": "يُرجى إدخال طلبك هنا",
 	"Send message": "يُرجى إدخال طلبك هنا.",
 	"September": "سبتمبر",
-	"Serper API Key": "",
-	"Serpstack API Key": "",
+	"Serper API Key": "مفتاح واجهة برمجة تطبيقات سيربر",
+	"Serpstack API Key": "مفتاح واجهة برمجة تطبيقات Serpstack",
 	"Server connection verified": "تم التحقق من اتصال الخادم",
 	"Set as default": "الافتراضي",
 	"Set Default Model": "تفعيد الموديل الافتراضي",
@@ -426,7 +431,7 @@
 	"Set Model": "ضبط النموذج",
 	"Set reranking model (e.g. {{model}})": "ضبط نموذج إعادة الترتيب (على سبيل المثال: {{model}})",
 	"Set Steps": "ضبط الخطوات",
-	"Set Task Model": "",
+	"Set Task Model": "تعيين نموذج المهمة",
 	"Set Voice": "ضبط الصوت",
 	"Settings": "الاعدادات",
 	"Settings saved successfully!": "تم حفظ الاعدادات بنجاح",
@@ -485,19 +490,21 @@
 	"Top P": "Top P",
 	"Trouble accessing Ollama?": "هل تواجه مشكلة في الوصول",
 	"TTS Settings": "TTS اعدادات",
-	"Type": "",
+	"Type": "نوع",
 	"Type Hugging Face Resolve (Download) URL": "اكتب عنوان URL لحل مشكلة الوجه (تنزيل).",
 	"Uh-oh! There was an issue connecting to {{provider}}.": "{{provider}}خطاء أوه! حدثت مشكلة في الاتصال بـ ",
 	"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "نوع ملف غير معروف '{{file_type}}', ولكن القبول والتعامل كنص عادي ",
 	"Update and Copy Link": "تحديث ونسخ الرابط",
 	"Update password": "تحديث كلمة المرور",
 	"Upload a GGUF model": "GGUF رفع موديل نوع",
-	"Upload Files": "",
+	"Upload Files": "تحميل الملفات",
 	"Upload Progress": "جاري التحميل",
 	"URL Mode": "رابط الموديل",
 	"Use '#' in the prompt input to load and select your documents.": "أستخدم '#' في المحادثة لربطهامن المستندات",
 	"Use Gravatar": "Gravatar أستخدم",
 	"Use Initials": "Initials أستخدم",
+	"use_mlock (Ollama)": "use_mlock (أولاما)",
+	"use_mmap (Ollama)": "use_mmap (أولاما)",
 	"user": "مستخدم",
 	"User Permissions": "صلاحيات المستخدم",
 	"Users": "المستخدمين",
@@ -506,13 +513,13 @@
 	"variable": "المتغير",
 	"variable to have them replaced with clipboard content.": "متغير لاستبدالها بمحتوى الحافظة.",
 	"Version": "إصدار",
-	"Warning": "",
+	"Warning": "تحذير",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "تحذير: إذا قمت بتحديث أو تغيير نموذج التضمين الخاص بك، فستحتاج إلى إعادة استيراد كافة المستندات.",
 	"Web": "Web",
 	"Web Loader Settings": "Web تحميل اعدادات",
 	"Web Params": "Web تحميل اعدادات",
-	"Web Search": "",
-	"Web Search Engine": "",
+	"Web Search": "بحث الويب",
+	"Web Search Engine": "محرك بحث الويب",
 	"Webhook URL": "Webhook الرابط",
 	"WebUI Add-ons": "WebUI الأضافات",
 	"WebUI Settings": "WebUI اعدادات",
@@ -525,7 +532,7 @@
 	"Write a summary in 50 words that summarizes [topic or keyword].": "اكتب ملخصًا في 50 كلمة يلخص [الموضوع أو الكلمة الرئيسية]",
 	"Yesterday": "أمس",
 	"You": "انت",
-	"You cannot clone a base model": "",
+	"You cannot clone a base model": "لا يمكنك استنساخ نموذج أساسي",
 	"You have no archived conversations.": "لا تملك محادثات محفوظه",
 	"You have shared this chat": "تم مشاركة هذه المحادثة",
 	"You're a helpful assistant.": "مساعدك المفيد هنا",

+ 77 - 70
src/lib/i18n/locales/bg-BG/translation.json

@@ -3,19 +3,19 @@
 	"(Beta)": "(Бета)",
 	"(e.g. `sh webui.sh --api`)": "(например `sh webui.sh --api`)",
 	"(latest)": "(последна)",
-	"{{ models }}": "",
-	"{{ owner }}: You cannot delete a base model": "",
+	"{{ models }}": "{{ модели }}",
+	"{{ owner }}: You cannot delete a base model": "{{ owner }}: Не можете да изтриете базов модел",
 	"{{modelName}} is thinking...": "{{modelName}} мисли ...",
 	"{{user}}'s Chats": "{{user}}'s чатове",
 	"{{webUIName}} Backend Required": "{{webUIName}} Изисква се Бекенд",
-	"A task model is used when performing tasks such as generating titles for chats and web search queries": "",
+	"A task model is used when performing tasks such as generating titles for chats and web search queries": "Моделът на задачите се използва при изпълнение на задачи като генериране на заглавия за чатове и заявки за търсене в мрежата",
 	"a user": "потребител",
 	"About": "Относно",
 	"Account": "Акаунт",
 	"Accurate information": "Точни информация",
 	"Add": "Добавяне",
-	"Add a model id": "",
-	"Add a short description about what this model does": "",
+	"Add a model id": "Добавяне на ИД на модел",
+	"Add a short description about what this model does": "Добавете кратко описание за това какво прави този модел",
 	"Add a short title for this prompt": "Добавяне на кратко заглавие за този промпт",
 	"Add a tag": "Добавяне на таг",
 	"Add custom prompt": "Добавяне на собствен промпт",
@@ -31,12 +31,13 @@
 	"Admin Panel": "Панел на Администратор",
 	"Admin Settings": "Настройки на Администратор",
 	"Advanced Parameters": "Разширени Параметри",
-	"Advanced Params": "",
+	"Advanced Params": "Разширени параметри",
 	"all": "всички",
 	"All Documents": "Всички Документи",
 	"All Users": "Всички Потребители",
 	"Allow": "Позволи",
 	"Allow Chat Deletion": "Позволи Изтриване на Чат",
+	"Allow non-local voices": "",
 	"alphanumeric characters and hyphens": "алфанумерични знаци и тире",
 	"Already have an account?": "Вече имате акаунт? ",
 	"an assistant": "асистент",
@@ -48,7 +49,7 @@
 	"API keys": "API Ключове",
 	"April": "Април",
 	"Archive": "Архивирани Чатове",
-	"Archive All Chats": "",
+	"Archive All Chats": "Архив Всички чатове",
 	"Archived Chats": "Архивирани Чатове",
 	"are allowed - Activate this command by typing": "са разрешени - Активирайте тази команда чрез въвеждане",
 	"Are you sure?": "Сигурни ли сте?",
@@ -63,14 +64,14 @@
 	"available!": "наличен!",
 	"Back": "Назад",
 	"Bad Response": "Невалиден отговор от API",
-	"Banners": "",
-	"Base Model (From)": "",
+	"Banners": "Банери",
+	"Base Model (From)": "Базов модел (от)",
 	"before": "преди",
 	"Being lazy": "Да бъдеш мързелив",
-	"Brave Search API Key": "",
+	"Brave Search API Key": "Смел ключ за API за търсене",
 	"Bypass SSL verification for Websites": "Изключване на SSL проверката за сайтове",
 	"Cancel": "Отказ",
-	"Capabilities": "",
+	"Capabilities": "Възможности",
 	"Change Password": "Промяна на Парола",
 	"Chat": "Чат",
 	"Chat Bubble UI": "UI за чат бублон",
@@ -93,14 +94,14 @@
 	"Click here to select documents.": "Натиснете тук, за да изберете документи.",
 	"click here.": "натиснете тук.",
 	"Click on the user role button to change a user's role.": "Натиснете върху бутона за промяна на ролята на потребителя.",
-	"Clone": "",
+	"Clone": "Клонинг",
 	"Close": "Затвори",
 	"Collection": "Колекция",
 	"ComfyUI": "ComfyUI",
 	"ComfyUI Base URL": "ComfyUI Base URL",
 	"ComfyUI Base URL is required.": "ComfyUI Base URL е задължително.",
 	"Command": "Команда",
-	"Concurrent Requests": "",
+	"Concurrent Requests": "Едновременни искания",
 	"Confirm Password": "Потвърди Парола",
 	"Connections": "Връзки",
 	"Content": "Съдържание",
@@ -114,7 +115,7 @@
 	"Copy Link": "Копиране на връзка",
 	"Copying to clipboard was successful!": "Копирането в клипборда беше успешно!",
 	"Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "Създайте кратка фраза от 3-5 думи като заглавие за следващото запитване, като стриктно спазвате ограничението от 3-5 думи и избягвате използването на думата 'заглавие':",
-	"Create a model": "",
+	"Create a model": "Създаване на модел",
 	"Create Account": "Създаване на Акаунт",
 	"Create new key": "Създаване на нов ключ",
 	"Create new secret key": "Създаване на нов секретен ключ",
@@ -123,7 +124,7 @@
 	"Current Model": "Текущ модел",
 	"Current Password": "Текуща Парола",
 	"Custom": "Персонализиран",
-	"Customize models for a specific purpose": "",
+	"Customize models for a specific purpose": "Персонализиране на модели за конкретна цел",
 	"Dark": "Тъмен",
 	"Database": "База данни",
 	"December": "Декември",
@@ -131,24 +132,24 @@
 	"Default (Automatic1111)": "По подразбиране (Automatic1111)",
 	"Default (SentenceTransformers)": "По подразбиране (SentenceTransformers)",
 	"Default (Web API)": "По подразбиране (Web API)",
-	"Default Model": "",
+	"Default Model": "Модел по подразбиране",
 	"Default model updated": "Моделът по подразбиране е обновен",
 	"Default Prompt Suggestions": "Промпт Предложения по подразбиране",
 	"Default User Role": "Роля на потребителя по подразбиране",
 	"delete": "изтриване",
 	"Delete": "Изтриване",
 	"Delete a model": "Изтриване на модел",
-	"Delete All Chats": "",
+	"Delete All Chats": "Изтриване на всички чатове",
 	"Delete chat": "Изтриване на чат",
 	"Delete Chat": "Изтриване на Чат",
 	"delete this link": "Изтриване на този линк",
 	"Delete User": "Изтриване на потребител",
 	"Deleted {{deleteModelTag}}": "Изтрито {{deleteModelTag}}",
-	"Deleted {{name}}": "",
+	"Deleted {{name}}": "Изтрито {{име}}",
 	"Description": "Описание",
 	"Didn't fully follow instructions": "Не следва инструкциите",
 	"Disabled": "Деактивиран",
-	"Discover a model": "",
+	"Discover a model": "Открийте модел",
 	"Discover a prompt": "Откриване на промпт",
 	"Discover, download, and explore custom prompts": "Откриване, сваляне и преглед на персонализирани промптове",
 	"Discover, download, and explore model presets": "Откриване, сваляне и преглед на пресетове на модели",
@@ -174,27 +175,27 @@
 	"Embedding Model Engine": "Модел за вграждане",
 	"Embedding model set to \"{{embedding_model}}\"": "Модел за вграждане е настроен на \"{{embedding_model}}\"",
 	"Enable Chat History": "Вклюване на Чат История",
-	"Enable Community Sharing": "",
+	"Enable Community Sharing": "Разрешаване на споделяне в общност",
 	"Enable New Sign Ups": "Вклюване на Нови Потребители",
-	"Enable Web Search": "",
+	"Enable Web Search": "Разрешаване на търсене в уеб",
 	"Enabled": "Включено",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Уверете се, че вашият CSV файл включва 4 колони в следния ред: Име, Имейл, Парола, Роля.",
 	"Enter {{role}} message here": "Въведете съобщение за {{role}} тук",
 	"Enter a detail about yourself for your LLMs to recall": "Въведете подробности за себе си, за да се herinnerат вашите LLMs",
-	"Enter Brave Search API Key": "",
+	"Enter Brave Search API Key": "Въведете Brave Search API ключ",
 	"Enter Chunk Overlap": "Въведете Chunk Overlap",
 	"Enter Chunk Size": "Въведете Chunk Size",
-	"Enter Github Raw URL": "",
-	"Enter Google PSE API Key": "",
-	"Enter Google PSE Engine Id": "",
+	"Enter Github Raw URL": "Въведете URL адреса на Github Raw",
+	"Enter Google PSE API Key": "Въведете Google PSE API ключ",
+	"Enter Google PSE Engine Id": "Въведете идентификатор на двигателя на Google PSE",
 	"Enter Image Size (e.g. 512x512)": "Въведете размер на изображението (напр. 512x512)",
 	"Enter language codes": "Въведете кодове на езика",
 	"Enter model tag (e.g. {{modelTag}})": "Въведете таг на модел (напр. {{modelTag}})",
 	"Enter Number of Steps (e.g. 50)": "Въведете брой стъпки (напр. 50)",
 	"Enter Score": "Въведете оценка",
-	"Enter Searxng Query URL": "",
-	"Enter Serper API Key": "",
-	"Enter Serpstack API Key": "",
+	"Enter Searxng Query URL": "Въведете URL адреса на заявката на Searxng",
+	"Enter Serper API Key": "Въведете Serper API ключ",
+	"Enter Serpstack API Key": "Въведете Serpstack API ключ",
 	"Enter stop sequence": "Въведете стоп последователност",
 	"Enter Top K": "Въведете Top K",
 	"Enter URL (e.g. http://127.0.0.1:7860/)": "Въведете URL (напр. http://127.0.0.1:7860/)",
@@ -203,12 +204,14 @@
 	"Enter Your Full Name": "Въведете вашето пълно име",
 	"Enter Your Password": "Въведете вашата парола",
 	"Enter Your Role": "Въведете вашата роля",
-	"Error": "",
+	"Error": "Грешка",
 	"Experimental": "Експериментално",
+	"Export": "Износ",
 	"Export All Chats (All Users)": "Експортване на всички чатове (За всички потребители)",
+	"Export chat (.json)": "",
 	"Export Chats": "Експортване на чатове",
 	"Export Documents Mapping": "Експортване на документен мапинг",
-	"Export Models": "",
+	"Export Models": "Експортиране на модели",
 	"Export Prompts": "Експортване на промптове",
 	"Failed to create API Key.": "Неуспешно създаване на API ключ.",
 	"Failed to read clipboard contents": "Грешка при четене на съдържанието от клипборда",
@@ -221,15 +224,15 @@
 	"Focus chat input": "Фокусиране на чат вход",
 	"Followed instructions perfectly": "Следвайте инструкциите перфектно",
 	"Format your variables using square brackets like this:": "Форматирайте вашите променливи, като използвате квадратни скоби, както следва:",
-	"Frequency Penalty": "",
+	"Frequency Penalty": "Наказание за честота",
 	"Full Screen Mode": "На Цял екран",
 	"General": "Основни",
 	"General Settings": "Основни Настройки",
-	"Generating search query": "",
+	"Generating search query": "Генериране на заявка за търсене",
 	"Generation Info": "Информация за Генерация",
 	"Good Response": "Добра отговор",
-	"Google PSE API Key": "",
-	"Google PSE Engine Id": "",
+	"Google PSE API Key": "Google PSE API ключ",
+	"Google PSE Engine Id": "Идентификатор на двигателя на Google PSE",
 	"h:mm a": "h:mm a",
 	"has no conversations.": "няма разговори.",
 	"Hello, {{name}}": "Здравей, {{name}}",
@@ -243,18 +246,18 @@
 	"Images": "Изображения",
 	"Import Chats": "Импортване на чатове",
 	"Import Documents Mapping": "Импортване на документен мапинг",
-	"Import Models": "",
+	"Import Models": "Импортиране на модели",
 	"Import Prompts": "Импортване на промптове",
 	"Include `--api` flag when running stable-diffusion-webui": "Включете флага `--api`, когато стартирате stable-diffusion-webui",
-	"Info": "",
+	"Info": "Информация",
 	"Input commands": "Въведете команди",
-	"Install from Github URL": "",
+	"Install from Github URL": "Инсталиране от URL адреса на Github",
 	"Interface": "Интерфейс",
 	"Invalid Tag": "Невалиден тег",
 	"January": "Януари",
 	"join our Discord for help.": "свържете се с нашия Discord за помощ.",
 	"JSON": "JSON",
-	"JSON Preview": "",
+	"JSON Preview": "JSON Преглед",
 	"July": "Июл",
 	"June": "Июн",
 	"JWT Expiration": "JWT Expiration",
@@ -271,9 +274,9 @@
 	"Make sure to enclose them with": "Уверете се, че са заключени с",
 	"Manage Models": "Управление на Моделите",
 	"Manage Ollama Models": "Управление на Ollama Моделите",
-	"Manage Pipelines": "",
+	"Manage Pipelines": "Управление на тръбопроводи",
 	"March": "Март",
-	"Max Tokens (num_predict)": "",
+	"Max Tokens (num_predict)": "Макс токени (num_predict)",
 	"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Максимум 3 модели могат да бъдат сваляни едновременно. Моля, опитайте отново по-късно.",
 	"May": "Май",
 	"Memories accessible by LLMs will be shown here.": "Мемории достъпни от LLMs ще бъдат показани тук.",
@@ -288,12 +291,12 @@
 	"Model '{{modelName}}' has been successfully downloaded.": "Моделът '{{modelName}}' беше успешно свален.",
 	"Model '{{modelTag}}' is already in queue for downloading.": "Моделът '{{modelTag}}' е вече в очакване за сваляне.",
 	"Model {{modelId}} not found": "Моделът {{modelId}} не е намерен",
-	"Model {{modelName}} is not vision capable": "",
-	"Model {{name}} is now {{status}}": "",
+	"Model {{modelName}} is not vision capable": "Моделът {{modelName}} не може да се вижда",
+	"Model {{name}} is now {{status}}": "Моделът {{name}} сега е {{status}}",
 	"Model filesystem path detected. Model shortname is required for update, cannot continue.": "Открит е път до файловата система на модела. За актуализацията се изисква съкратено име на модела, не може да продължи.",
-	"Model ID": "",
+	"Model ID": "ИД на модел",
 	"Model not selected": "Не е избран модел",
-	"Model Params": "",
+	"Model Params": "Модел Params",
 	"Model Whitelisting": "Модел Whitelisting",
 	"Model(s) Whitelisted": "Модели Whitelisted",
 	"Modelfile Content": "Съдържание на модфайл",
@@ -301,23 +304,25 @@
 	"More": "Повече",
 	"Name": "Име",
 	"Name Tag": "Име Таг",
-	"Name your model": "",
+	"Name your model": "Дайте име на вашия модел",
 	"New Chat": "Нов чат",
 	"New Password": "Нова парола",
 	"No results found": "Няма намерени резултати",
-	"No search query generated": "",
+	"No search query generated": "Не е генерирана заявка за търсене",
 	"No source available": "Няма наличен източник",
-	"None": "",
+	"None": "Никой",
 	"Not factually correct": "Не е фактологически правилно",
 	"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Забележка: Ако зададете минимален резултат, търсенето ще върне само документи с резултат, по-голям или равен на минималния резултат.",
 	"Notifications": "Десктоп Известия",
 	"November": "Ноември",
+	"num_thread (Ollama)": "num_thread (Ollama)",
 	"October": "Октомври",
 	"Off": "Изкл.",
 	"Okay, Let's Go!": "ОК, Нека започваме!",
 	"OLED Dark": "OLED тъмно",
 	"Ollama": "Ollama",
-	"Ollama API": "",
+	"Ollama API": "Ollama API",
+	"Ollama API disabled": "Ollama API деактивиран",
 	"Ollama Version": "Ollama Версия",
 	"On": "Вкл.",
 	"Only": "Само",
@@ -342,8 +347,8 @@
 	"pending": "в очакване",
 	"Permission denied when accessing microphone: {{error}}": "Permission denied when accessing microphone: {{error}}",
 	"Personalization": "Персонализация",
-	"Pipelines": "",
-	"Pipelines Valves": "",
+	"Pipelines": "Тръбопроводи",
+	"Pipelines Valves": "Тръбопроводи Вентили",
 	"Plain text (.txt)": "Plain text (.txt)",
 	"Playground": "Плейграунд",
 	"Positive attitude": "Позитивна ативност",
@@ -388,32 +393,32 @@
 	"Scan for documents from {{path}}": "Сканиране за документи в {{path}}",
 	"Search": "Търси",
 	"Search a model": "Търси модел",
-	"Search Chats": "",
+	"Search Chats": "Търсене на чатове",
 	"Search Documents": "Търси Документи",
-	"Search Models": "",
+	"Search Models": "Търсене на модели",
 	"Search Prompts": "Търси Промптове",
-	"Search Result Count": "",
-	"Searched {{count}} sites_one": "",
-	"Searched {{count}} sites_other": "",
-	"Searching the web for '{{searchQuery}}'": "",
-	"Searxng Query URL": "",
+	"Search Result Count": "Брой резултати от търсенето",
+	"Searched {{count}} sites_one": "Търси се в {{count}} sites_one",
+	"Searched {{count}} sites_other": "Търси се в {{count}} sites_other",
+	"Searching the web for '{{searchQuery}}'": "Търсене в уеб за '{{searchQuery}}'",
+	"Searxng Query URL": "URL адрес на заявка на Searxng",
 	"See readme.md for instructions": "Виж readme.md за инструкции",
 	"See what's new": "Виж какво е новото",
 	"Seed": "Seed",
-	"Select a base model": "",
+	"Select a base model": "Изберете базов модел",
 	"Select a mode": "Изберете режим",
 	"Select a model": "Изберете модел",
-	"Select a pipeline": "",
-	"Select a pipeline url": "",
+	"Select a pipeline": "Изберете тръбопровод",
+	"Select a pipeline url": "Избор на URL адрес на канал",
 	"Select an Ollama instance": "Изберете Ollama инстанция",
 	"Select model": "Изберете модел",
-	"Selected model(s) do not support image inputs": "",
+	"Selected model(s) do not support image inputs": "Избраният(те) модел(и) не поддържа въвеждане на изображения",
 	"Send": "Изпрати",
 	"Send a Message": "Изпращане на Съобщение",
 	"Send message": "Изпращане на съобщение",
 	"September": "Септември",
-	"Serper API Key": "",
-	"Serpstack API Key": "",
+	"Serper API Key": "Serper API ключ",
+	"Serpstack API Key": "Serpstack API ключ",
 	"Server connection verified": "Server connection verified",
 	"Set as default": "Задай по подразбиране",
 	"Set Default Model": "Задай Модел По Подразбиране",
@@ -422,7 +427,7 @@
 	"Set Model": "Задай Модел",
 	"Set reranking model (e.g. {{model}})": "Задай reranking model (e.g. {{model}})",
 	"Set Steps": "Задай Стъпки",
-	"Set Task Model": "",
+	"Set Task Model": "Задаване на модел на задача",
 	"Set Voice": "Задай Глас",
 	"Settings": "Настройки",
 	"Settings saved successfully!": "Настройките са запазени успешно!",
@@ -481,19 +486,21 @@
 	"Top P": "Top P",
 	"Trouble accessing Ollama?": "Проблеми с достъпът до Ollama?",
 	"TTS Settings": "TTS Настройки",
-	"Type": "",
+	"Type": "Вид",
 	"Type Hugging Face Resolve (Download) URL": "Въведете Hugging Face Resolve (Download) URL",
 	"Uh-oh! There was an issue connecting to {{provider}}.": "О, не! Възникна проблем при свързването с {{provider}}.",
 	"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Непознат файлов тип '{{file_type}}', но се приема и обработва като текст",
 	"Update and Copy Link": "Обнови и копирай връзка",
 	"Update password": "Обновяване на парола",
 	"Upload a GGUF model": "Качване на GGUF модел",
-	"Upload Files": "",
+	"Upload Files": "Качване на файлове",
 	"Upload Progress": "Прогрес на качването",
 	"URL Mode": "URL Mode",
 	"Use '#' in the prompt input to load and select your documents.": "Използвайте '#' във промпта за да заредите и изберете вашите документи.",
 	"Use Gravatar": "Използвайте Gravatar",
 	"Use Initials": "Използвайте Инициали",
+	"use_mlock (Ollama)": "use_mlock (Ollama)",
+	"use_mmap (Ollama)": "use_mmap (Ollama)",
 	"user": "потребител",
 	"User Permissions": "Права на потребителя",
 	"Users": "Потребители",
@@ -502,13 +509,13 @@
 	"variable": "променлива",
 	"variable to have them replaced with clipboard content.": "променливи да се заменят съдържанието от клипборд.",
 	"Version": "Версия",
-	"Warning": "",
+	"Warning": "Предупреждение",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Предупреждение: Ако актуализирате или промените вашия модел за вграждане, трябва да повторите импортирането на всички документи.",
 	"Web": "Уеб",
 	"Web Loader Settings": "Настройки за зареждане на уеб",
 	"Web Params": "Параметри за уеб",
-	"Web Search": "",
-	"Web Search Engine": "",
+	"Web Search": "Търсене в уеб",
+	"Web Search Engine": "Уеб търсачка",
 	"Webhook URL": "Уебхук URL",
 	"WebUI Add-ons": "WebUI Добавки",
 	"WebUI Settings": "WebUI Настройки",
@@ -521,7 +528,7 @@
 	"Write a summary in 50 words that summarizes [topic or keyword].": "Напиши описание в 50 знака, което описва [тема или ключова дума].",
 	"Yesterday": "вчера",
 	"You": "вие",
-	"You cannot clone a base model": "",
+	"You cannot clone a base model": "Не можете да клонирате базов модел",
 	"You have no archived conversations.": "Нямате архивирани разговори.",
 	"You have shared this chat": "Вие сте споделели този чат",
 	"You're a helpful assistant.": "Вие сте полезен асистент.",

+ 77 - 70
src/lib/i18n/locales/bn-BD/translation.json

@@ -3,19 +3,19 @@
 	"(Beta)": "(পরিক্ষামূলক)",
 	"(e.g. `sh webui.sh --api`)": "(যেমন `sh webui.sh --api`)",
 	"(latest)": "(সর্বশেষ)",
-	"{{ models }}": "",
-	"{{ owner }}: You cannot delete a base model": "",
+	"{{ models }}": "{{ মডেল}}",
+	"{{ owner }}: You cannot delete a base model": "{{ owner}}: আপনি একটি বেস মডেল মুছতে পারবেন না",
 	"{{modelName}} is thinking...": "{{modelName}} চিন্তা করছে...",
 	"{{user}}'s Chats": "{{user}}র চ্যাটস",
 	"{{webUIName}} Backend Required": "{{webUIName}} ব্যাকএন্ড আবশ্যক",
-	"A task model is used when performing tasks such as generating titles for chats and web search queries": "",
+	"A task model is used when performing tasks such as generating titles for chats and web search queries": "চ্যাট এবং ওয়েব অনুসন্ধান প্রশ্নের জন্য শিরোনাম তৈরি করার মতো কাজগুলি সম্পাদন করার সময় একটি টাস্ক মডেল ব্যবহার করা হয়",
 	"a user": "একজন ব্যাবহারকারী",
 	"About": "সম্পর্কে",
 	"Account": "একাউন্ট",
 	"Accurate information": "সঠিক তথ্য",
 	"Add": "যোগ করুন",
-	"Add a model id": "",
-	"Add a short description about what this model does": "",
+	"Add a model id": "একটি মডেল ID যোগ করুন",
+	"Add a short description about what this model does": "এই মডেলটি কী করে সে সম্পর্কে একটি সংক্ষিপ্ত বিবরণ যুক্ত করুন",
 	"Add a short title for this prompt": "এই প্রম্পটের জন্য একটি সংক্ষিপ্ত টাইটেল যোগ করুন",
 	"Add a tag": "একটি ট্যাগ যোগ করুন",
 	"Add custom prompt": "একটি কাস্টম প্রম্পট যোগ করুন",
@@ -31,12 +31,13 @@
 	"Admin Panel": "এডমিন প্যানেল",
 	"Admin Settings": "এডমিন সেটিংস",
 	"Advanced Parameters": "এডভান্সড প্যারামিটার্স",
-	"Advanced Params": "",
+	"Advanced Params": "অ্যাডভান্সড প্যারাম",
 	"all": "সব",
 	"All Documents": "সব ডকুমেন্ট",
 	"All Users": "সব ইউজার",
 	"Allow": "অনুমোদন",
 	"Allow Chat Deletion": "চ্যাট ডিলিট করতে দিন",
+	"Allow non-local voices": "",
 	"alphanumeric characters and hyphens": "ইংরেজি অক্ষর, সংখ্যা এবং হাইফেন",
 	"Already have an account?": "আগে থেকেই একাউন্ট আছে?",
 	"an assistant": "একটা এসিস্ট্যান্ট",
@@ -48,7 +49,7 @@
 	"API keys": "এপিআই কোডস",
 	"April": "আপ্রিল",
 	"Archive": "আর্কাইভ",
-	"Archive All Chats": "",
+	"Archive All Chats": "আর্কাইভ করুন সকল চ্যাট",
 	"Archived Chats": "চ্যাট ইতিহাস সংরক্ষণাগার",
 	"are allowed - Activate this command by typing": "অনুমোদিত - কমান্ডটি চালু করার জন্য লিখুন",
 	"Are you sure?": "আপনি নিশ্চিত?",
@@ -63,14 +64,14 @@
 	"available!": "উপলব্ধ!",
 	"Back": "পেছনে",
 	"Bad Response": "খারাপ প্রতিক্রিয়া",
-	"Banners": "",
-	"Base Model (From)": "",
+	"Banners": "ব্যানার",
+	"Base Model (From)": "বেস মডেল (থেকে)",
 	"before": "পূর্ববর্তী",
 	"Being lazy": "অলস হওয়া",
-	"Brave Search API Key": "",
+	"Brave Search API Key": "সাহসী অনুসন্ধান API কী",
 	"Bypass SSL verification for Websites": "ওয়েবসাইটের জন্য SSL যাচাই বাতিল করুন",
 	"Cancel": "বাতিল",
-	"Capabilities": "",
+	"Capabilities": "সক্ষমতা",
 	"Change Password": "পাসওয়ার্ড পরিবর্তন করুন",
 	"Chat": "চ্যাট",
 	"Chat Bubble UI": "চ্যাট বাবল UI",
@@ -93,14 +94,14 @@
 	"Click here to select documents.": "ডকুমেন্টগুলো নির্বাচন করার জন্য এখানে ক্লিক করুন",
 	"click here.": "এখানে ক্লিক করুন",
 	"Click on the user role button to change a user's role.": "ইউজারের পদবি পরিবর্তন করার জন্য ইউজারের পদবি বাটনে ক্লিক করুন",
-	"Clone": "",
+	"Clone": "ক্লোন",
 	"Close": "বন্ধ",
 	"Collection": "সংগ্রহ",
 	"ComfyUI": "ComfyUI",
 	"ComfyUI Base URL": "ComfyUI Base URL",
 	"ComfyUI Base URL is required.": "ComfyUI Base URL আবশ্যক।",
 	"Command": "কমান্ড",
-	"Concurrent Requests": "",
+	"Concurrent Requests": "সমকালীন অনুরোধ",
 	"Confirm Password": "পাসওয়ার্ড নিশ্চিত করুন",
 	"Connections": "কানেকশনগুলো",
 	"Content": "বিষয়বস্তু",
@@ -114,7 +115,7 @@
 	"Copy Link": "লিংক কপি করুন",
 	"Copying to clipboard was successful!": "ক্লিপবোর্ডে কপি করা সফল হয়েছে",
 	"Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "'title' শব্দটি ব্যবহার না করে নিম্মোক্ত অনুসন্ধানের জন্য সংক্ষেপে সর্বোচ্চ ৩-৫ শব্দের একটি হেডার তৈরি করুন",
-	"Create a model": "",
+	"Create a model": "একটি মডেল তৈরি করুন",
 	"Create Account": "একাউন্ট তৈরি করুন",
 	"Create new key": "একটি নতুন কী তৈরি করুন",
 	"Create new secret key": "একটি নতুন সিক্রেট কী তৈরি করুন",
@@ -123,7 +124,7 @@
 	"Current Model": "বর্তমান মডেল",
 	"Current Password": "বর্তমান পাসওয়ার্ড",
 	"Custom": "কাস্টম",
-	"Customize models for a specific purpose": "",
+	"Customize models for a specific purpose": "একটি নির্দিষ্ট উদ্দেশ্যে মডেল কাস্টমাইজ করুন",
 	"Dark": "ডার্ক",
 	"Database": "ডেটাবেজ",
 	"December": "ডেসেম্বর",
@@ -131,24 +132,24 @@
 	"Default (Automatic1111)": "ডিফল্ট (Automatic1111)",
 	"Default (SentenceTransformers)": "ডিফল্ট (SentenceTransformers)",
 	"Default (Web API)": "ডিফল্ট (Web API)",
-	"Default Model": "",
+	"Default Model": "ডিফল্ট মডেল",
 	"Default model updated": "ডিফল্ট মডেল আপডেট হয়েছে",
 	"Default Prompt Suggestions": "ডিফল্ট প্রম্পট সাজেশন",
 	"Default User Role": "ইউজারের ডিফল্ট পদবি",
 	"delete": "মুছে ফেলুন",
 	"Delete": "মুছে ফেলুন",
 	"Delete a model": "একটি মডেল মুছে ফেলুন",
-	"Delete All Chats": "",
+	"Delete All Chats": "সব চ্যাট মুছে ফেলুন",
 	"Delete chat": "চ্যাট মুছে ফেলুন",
 	"Delete Chat": "চ্যাট মুছে ফেলুন",
 	"delete this link": "এই লিংক মুছে ফেলুন",
 	"Delete User": "ইউজার মুছে ফেলুন",
 	"Deleted {{deleteModelTag}}": "{{deleteModelTag}} মুছে ফেলা হয়েছে",
-	"Deleted {{name}}": "",
+	"Deleted {{name}}": "{{name}} মোছা হয়েছে",
 	"Description": "বিবরণ",
 	"Didn't fully follow instructions": "ইনস্ট্রাকশন সম্পূর্ণ অনুসরণ করা হয়নি",
 	"Disabled": "অক্ষম",
-	"Discover a model": "",
+	"Discover a model": "একটি মডেল আবিষ্কার করুন",
 	"Discover a prompt": "একটি প্রম্পট খুঁজে বের করুন",
 	"Discover, download, and explore custom prompts": "কাস্টম প্রম্পটগুলো আবিস্কার, ডাউনলোড এবং এক্সপ্লোর করুন",
 	"Discover, download, and explore model presets": "মডেল প্রিসেটগুলো আবিস্কার, ডাউনলোড এবং এক্সপ্লোর করুন",
@@ -174,27 +175,27 @@
 	"Embedding Model Engine": "ইমেজ ইমেবডিং মডেল ইঞ্জিন",
 	"Embedding model set to \"{{embedding_model}}\"": "ইমেজ ইমেবডিং মডেল সেট করা হয়েছে - \"{{embedding_model}}\"",
 	"Enable Chat History": "চ্যাট হিস্টোরি চালু করুন",
-	"Enable Community Sharing": "",
+	"Enable Community Sharing": "সম্প্রদায় শেয়ারকরণ সক্ষম করুন",
 	"Enable New Sign Ups": "নতুন সাইনআপ চালু করুন",
-	"Enable Web Search": "",
+	"Enable Web Search": "ওয়েব অনুসন্ধান সক্ষম করুন",
 	"Enabled": "চালু করা হয়েছে",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "আপনার সিএসভি ফাইলটিতে এই ক্রমে 4 টি কলাম অন্তর্ভুক্ত রয়েছে তা নিশ্চিত করুন: নাম, ইমেল, পাসওয়ার্ড, ভূমিকা।.",
 	"Enter {{role}} message here": "{{role}} মেসেজ এখানে লিখুন",
 	"Enter a detail about yourself for your LLMs to recall": "আপনার এলএলএমগুলি স্মরণ করার জন্য নিজের সম্পর্কে একটি বিশদ লিখুন",
-	"Enter Brave Search API Key": "",
+	"Enter Brave Search API Key": "সাহসী অনুসন্ধান API কী লিখুন",
 	"Enter Chunk Overlap": "চাঙ্ক ওভারল্যাপ লিখুন",
 	"Enter Chunk Size": "চাংক সাইজ লিখুন",
-	"Enter Github Raw URL": "",
-	"Enter Google PSE API Key": "",
-	"Enter Google PSE Engine Id": "",
+	"Enter Github Raw URL": "গিটহাব কাঁচা URL লিখুন",
+	"Enter Google PSE API Key": "গুগল পিএসই এপিআই কী লিখুন",
+	"Enter Google PSE Engine Id": "গুগল পিএসই ইঞ্জিন আইডি লিখুন",
 	"Enter Image Size (e.g. 512x512)": "ছবির মাপ লিখুন (যেমন 512x512)",
 	"Enter language codes": "ল্যাঙ্গুয়েজ কোড লিখুন",
 	"Enter model tag (e.g. {{modelTag}})": "মডেল ট্যাগ লিখুন (e.g. {{modelTag}})",
 	"Enter Number of Steps (e.g. 50)": "ধাপের সংখ্যা দিন (যেমন: 50)",
 	"Enter Score": "স্কোর দিন",
-	"Enter Searxng Query URL": "",
-	"Enter Serper API Key": "",
-	"Enter Serpstack API Key": "",
+	"Enter Searxng Query URL": "Searxng ক্যোয়ারী URL লিখুন",
+	"Enter Serper API Key": "Serper API কী লিখুন",
+	"Enter Serpstack API Key": "Serpstack API কী লিখুন",
 	"Enter stop sequence": "স্টপ সিকোয়েন্স লিখুন",
 	"Enter Top K": "Top K লিখুন",
 	"Enter URL (e.g. http://127.0.0.1:7860/)": "ইউআরএল দিন (যেমন http://127.0.0.1:7860/)",
@@ -203,12 +204,14 @@
 	"Enter Your Full Name": "আপনার পূর্ণ নাম লিখুন",
 	"Enter Your Password": "আপনার পাসওয়ার্ড লিখুন",
 	"Enter Your Role": "আপনার রোল লিখুন",
-	"Error": "",
+	"Error": "ত্রুটি",
 	"Experimental": "পরিক্ষামূলক",
+	"Export": "রপ্তানি",
 	"Export All Chats (All Users)": "সব চ্যাট এক্সপোর্ট করুন (সব ইউজারের)",
+	"Export chat (.json)": "",
 	"Export Chats": "চ্যাটগুলো এক্সপোর্ট করুন",
 	"Export Documents Mapping": "ডকুমেন্টসমূহ ম্যাপিং এক্সপোর্ট করুন",
-	"Export Models": "",
+	"Export Models": "রপ্তানি মডেল",
 	"Export Prompts": "প্রম্পটগুলো একপোর্ট করুন",
 	"Failed to create API Key.": "API Key তৈরি করা যায়নি।",
 	"Failed to read clipboard contents": "ক্লিপবোর্ডের বিষয়বস্তু পড়া সম্ভব হয়নি",
@@ -221,15 +224,15 @@
 	"Focus chat input": "চ্যাট ইনপুট ফোকাস করুন",
 	"Followed instructions perfectly": "নির্দেশাবলী নিখুঁতভাবে অনুসরণ করা হয়েছে",
 	"Format your variables using square brackets like this:": "আপনার ভেরিয়বলগুলো এভাবে স্কয়ার ব্রাকেটের মাধ্যমে সাজান",
-	"Frequency Penalty": "",
+	"Frequency Penalty": "ফ্রিকোয়েন্সি পেনাল্টি",
 	"Full Screen Mode": "ফুলস্ক্রিন মোড",
 	"General": "সাধারণ",
 	"General Settings": "সাধারণ সেটিংসমূহ",
-	"Generating search query": "",
+	"Generating search query": "অনুসন্ধান ক্যোয়ারী তৈরি করা হচ্ছে",
 	"Generation Info": "জেনারেশন ইনফো",
 	"Good Response": "ভালো সাড়া",
-	"Google PSE API Key": "",
-	"Google PSE Engine Id": "",
+	"Google PSE API Key": "গুগল পিএসই এপিআই কী",
+	"Google PSE Engine Id": "গুগল পিএসই ইঞ্জিন আইডি",
 	"h:mm a": "h:mm a",
 	"has no conversations.": "কোন কনভার্সেশন আছে না।",
 	"Hello, {{name}}": "হ্যালো, {{name}}",
@@ -243,18 +246,18 @@
 	"Images": "ছবিসমূহ",
 	"Import Chats": "চ্যাটগুলি ইমপোর্ট করুন",
 	"Import Documents Mapping": "ডকুমেন্টসমূহ ম্যাপিং ইমপোর্ট করুন",
-	"Import Models": "",
+	"Import Models": "মডেল আমদানি করুন",
 	"Import Prompts": "প্রম্পটগুলো ইমপোর্ট করুন",
 	"Include `--api` flag when running stable-diffusion-webui": "stable-diffusion-webui চালু করার সময় `--api` ফ্ল্যাগ সংযুক্ত করুন",
-	"Info": "",
+	"Info": "তথ্য",
 	"Input commands": "ইনপুট কমান্ডস",
-	"Install from Github URL": "",
+	"Install from Github URL": "Github URL থেকে ইনস্টল করুন",
 	"Interface": "ইন্টারফেস",
 	"Invalid Tag": "অবৈধ ট্যাগ",
 	"January": "জানুয়ারী",
 	"join our Discord for help.": "সাহায্যের জন্য আমাদের Discord-এ যুক্ত হোন",
 	"JSON": "JSON",
-	"JSON Preview": "",
+	"JSON Preview": "JSON প্রিভিউ",
 	"July": "জুলাই",
 	"June": "জুন",
 	"JWT Expiration": "JWT-র মেয়াদ",
@@ -271,9 +274,9 @@
 	"Make sure to enclose them with": "এটা দিয়ে বন্ধনী দিতে ভুলবেন না",
 	"Manage Models": "মডেলসমূহ ব্যবস্থাপনা করুন",
 	"Manage Ollama Models": "Ollama মডেলসূহ ব্যবস্থাপনা করুন",
-	"Manage Pipelines": "",
+	"Manage Pipelines": "পাইপলাইন পরিচালনা করুন",
 	"March": "মার্চ",
-	"Max Tokens (num_predict)": "",
+	"Max Tokens (num_predict)": "সর্বোচ্চ টোকেন (num_predict)",
 	"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "একসঙ্গে সর্বোচ্চ তিনটি মডেল ডাউনলোড করা যায়। দয়া করে পরে আবার চেষ্টা করুন।",
 	"May": "মে",
 	"Memories accessible by LLMs will be shown here.": "LLMs দ্বারা অ্যাক্সেসযোগ্য মেমোরিগুলি এখানে দেখানো হবে।",
@@ -288,12 +291,12 @@
 	"Model '{{modelName}}' has been successfully downloaded.": "'{{modelName}}' মডেল সফলভাবে ডাউনলোড হয়েছে।",
 	"Model '{{modelTag}}' is already in queue for downloading.": "{{modelTag}} ডাউনলোডের জন্য আগে থেকেই অপেক্ষমান আছে।",
 	"Model {{modelId}} not found": "{{modelId}} মডেল পাওয়া যায়নি",
-	"Model {{modelName}} is not vision capable": "",
-	"Model {{name}} is now {{status}}": "",
+	"Model {{modelName}} is not vision capable": "মডেল {{modelName}} দৃষ্টি সক্ষম নয়",
+	"Model {{name}} is now {{status}}": "মডেল {{name}} এখন {{status}}",
 	"Model filesystem path detected. Model shortname is required for update, cannot continue.": "মডেল ফাইলসিস্টেম পাথ পাওয়া গেছে। আপডেটের জন্য মডেলের শর্টনেম আবশ্যক, এগিয়ে যাওয়া যাচ্ছে না।",
-	"Model ID": "",
+	"Model ID": "মডেল ID",
 	"Model not selected": "মডেল নির্বাচন করা হয়নি",
-	"Model Params": "",
+	"Model Params": "মডেল প্যারাম",
 	"Model Whitelisting": "মডেল হোয়াইটলিস্টিং",
 	"Model(s) Whitelisted": "হোয়াইটলিস্টেড মডেল(সমূহ)",
 	"Modelfile Content": "মডেলফাইল কনটেন্ট",
@@ -301,23 +304,25 @@
 	"More": "আরো",
 	"Name": "নাম",
 	"Name Tag": "নামের ট্যাগ",
-	"Name your model": "",
+	"Name your model": "আপনার মডেলের নাম দিন",
 	"New Chat": "নতুন চ্যাট",
 	"New Password": "নতুন পাসওয়ার্ড",
 	"No results found": "কোন ফলাফল পাওয়া যায়নি",
-	"No search query generated": "",
+	"No search query generated": "কোনও অনুসন্ধান ক্যোয়ারী উত্পন্ন হয়নি",
 	"No source available": "কোন উৎস পাওয়া যায়নি",
-	"None": "",
+	"None": "কোনোটিই নয়",
 	"Not factually correct": "তথ্যগত দিক থেকে সঠিক নয়",
 	"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "দ্রষ্টব্য: আপনি যদি ন্যূনতম স্কোর সেট করেন তবে অনুসন্ধানটি কেবলমাত্র ন্যূনতম স্কোরের চেয়ে বেশি বা সমান স্কোর সহ নথিগুলি ফেরত দেবে।",
 	"Notifications": "নোটিফিকেশনসমূহ",
 	"November": "নভেম্বর",
+	"num_thread (Ollama)": "num_thread (ওলামা)",
 	"October": "অক্টোবর",
 	"Off": "বন্ধ",
 	"Okay, Let's Go!": "ঠিক আছে, চলুন যাই!",
 	"OLED Dark": "OLED ডার্ক",
 	"Ollama": "Ollama",
-	"Ollama API": "",
+	"Ollama API": "Ollama API",
+	"Ollama API disabled": "Ollama API নিষ্ক্রিয় করা হয়েছে",
 	"Ollama Version": "Ollama ভার্সন",
 	"On": "চালু",
 	"Only": "শুধুমাত্র",
@@ -342,8 +347,8 @@
 	"pending": "অপেক্ষমান",
 	"Permission denied when accessing microphone: {{error}}": "মাইক্রোফোন ব্যবহারের অনুমতি পাওয়া যায়নি: {{error}}",
 	"Personalization": "ডিজিটাল বাংলা",
-	"Pipelines": "",
-	"Pipelines Valves": "",
+	"Pipelines": "পাইপলাইন",
+	"Pipelines Valves": "পাইপলাইন ভালভ",
 	"Plain text (.txt)": "প্লায়েন টেক্সট (.txt)",
 	"Playground": "খেলাঘর",
 	"Positive attitude": "পজিটিভ আক্রমণ",
@@ -388,32 +393,32 @@
 	"Scan for documents from {{path}}": "ডকুমেন্টসমূহের জন্য {{path}} স্ক্যান করুন",
 	"Search": "অনুসন্ধান",
 	"Search a model": "মডেল অনুসন্ধান করুন",
-	"Search Chats": "",
+	"Search Chats": "চ্যাট অনুসন্ধান করুন",
 	"Search Documents": "ডকুমেন্টসমূহ অনুসন্ধান করুন",
-	"Search Models": "",
+	"Search Models": "অনুসন্ধান মডেল",
 	"Search Prompts": "প্রম্পটসমূহ অনুসন্ধান করুন",
-	"Search Result Count": "",
-	"Searched {{count}} sites_one": "",
-	"Searched {{count}} sites_other": "",
-	"Searching the web for '{{searchQuery}}'": "",
-	"Searxng Query URL": "",
+	"Search Result Count": "অনুসন্ধানের ফলাফল গণনা",
+	"Searched {{count}} sites_one": "{{কাউন্ট}} অনুসন্ধান করা হয়েছে sites_one",
+	"Searched {{count}} sites_other": "{{কাউন্ট}} অনুসন্ধান করা হয়েছে sites_other",
+	"Searching the web for '{{searchQuery}}'": "'{{searchQuery}}' এর জন্য ওয়েবে অনুসন্ধান করা হচ্ছে",
+	"Searxng Query URL": "Searxng ক্যোয়ারী URL",
 	"See readme.md for instructions": "নির্দেশিকার জন্য readme.md দেখুন",
 	"See what's new": "নতুন কী আছে দেখুন",
 	"Seed": "সীড",
-	"Select a base model": "",
+	"Select a base model": "একটি বেস মডেল নির্বাচন করুন",
 	"Select a mode": "একটি মডেল নির্বাচন করুন",
 	"Select a model": "একটি মডেল নির্বাচন করুন",
-	"Select a pipeline": "",
-	"Select a pipeline url": "",
+	"Select a pipeline": "একটি পাইপলাইন নির্বাচন করুন",
+	"Select a pipeline url": "একটি পাইপলাইন URL নির্বাচন করুন",
 	"Select an Ollama instance": "একটি Ollama ইন্সট্যান্স নির্বাচন করুন",
 	"Select model": "মডেল নির্বাচন করুন",
-	"Selected model(s) do not support image inputs": "",
+	"Selected model(s) do not support image inputs": "নির্বাচিত মডেল(গুলি) চিত্র ইনপুট সমর্থন করে না",
 	"Send": "পাঠান",
 	"Send a Message": "একটি মেসেজ পাঠান",
 	"Send message": "মেসেজ পাঠান",
 	"September": "সেপ্টেম্বর",
-	"Serper API Key": "",
-	"Serpstack API Key": "",
+	"Serper API Key": "Serper API Key",
+	"Serpstack API Key": "Serpstack API Key",
 	"Server connection verified": "সার্ভার কানেকশন যাচাই করা হয়েছে",
 	"Set as default": "ডিফল্ট হিসেবে নির্ধারণ করুন",
 	"Set Default Model": "ডিফল্ট মডেল নির্ধারণ করুন",
@@ -422,7 +427,7 @@
 	"Set Model": "মডেল নির্ধারণ করুন",
 	"Set reranking model (e.g. {{model}})": "রি-র্যাংকিং মডেল নির্ধারণ করুন (উদাহরণ {{model}})",
 	"Set Steps": "পরবর্তী ধাপসমূহ",
-	"Set Task Model": "",
+	"Set Task Model": "টাস্ক মডেল সেট করুন",
 	"Set Voice": "কন্ঠস্বর নির্ধারণ করুন",
 	"Settings": "সেটিংসমূহ",
 	"Settings saved successfully!": "সেটিংগুলো সফলভাবে সংরক্ষিত হয়েছে",
@@ -481,19 +486,21 @@
 	"Top P": "Top P",
 	"Trouble accessing Ollama?": "Ollama এক্সেস করতে সমস্যা হচ্ছে?",
 	"TTS Settings": "TTS সেটিংসমূহ",
-	"Type": "",
+	"Type": "টাইপ",
 	"Type Hugging Face Resolve (Download) URL": "Hugging Face থেকে ডাউনলোড করার ইউআরএল টাইপ করুন",
 	"Uh-oh! There was an issue connecting to {{provider}}.": "ওহ-হো! {{provider}} এর সাথে কানেকশনে সমস্যা হয়েছে।",
 	"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "অপরিচিত ফাইল ফরম্যাট '{{file_type}}', তবে প্লেইন টেক্সট হিসেবে গ্রহণ করা হলো",
 	"Update and Copy Link": "আপডেট এবং লিংক কপি করুন",
 	"Update password": "পাসওয়ার্ড আপডেট করুন",
 	"Upload a GGUF model": "একটি GGUF মডেল আপলোড করুন",
-	"Upload Files": "",
+	"Upload Files": "ফাইল আপলোড করুন",
 	"Upload Progress": "আপলোড হচ্ছে",
 	"URL Mode": "ইউআরএল মোড",
 	"Use '#' in the prompt input to load and select your documents.": "আপনার ডকুমেন্টসমূহ নির্বাচন করার জন্য আপনার প্রম্পট ইনপুটে '# ব্যবহার করুন।",
 	"Use Gravatar": "Gravatar ব্যবহার করুন",
 	"Use Initials": "নামের আদ্যক্ষর ব্যবহার করুন",
+	"use_mlock (Ollama)": "use_mlock (ওলামা)",
+	"use_mmap (Ollama)": "use_mmap (ওলামা)",
 	"user": "ব্যবহারকারী",
 	"User Permissions": "ইউজার পারমিশনসমূহ",
 	"Users": "ব্যাবহারকারীগণ",
@@ -502,13 +509,13 @@
 	"variable": "ভেরিয়েবল",
 	"variable to have them replaced with clipboard content.": "ক্লিপবোর্ডের কন্টেন্ট দিয়ে যেই ভেরিয়েবল রিপ্লেস করা যাবে।",
 	"Version": "ভার্সন",
-	"Warning": "",
+	"Warning": "সতর্কীকরণ",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "সতর্কীকরণ: আপনি যদি আপনার এম্বেডিং মডেল আপডেট বা পরিবর্তন করেন, তাহলে আপনাকে সমস্ত নথি পুনরায় আমদানি করতে হবে।.",
 	"Web": "ওয়েব",
 	"Web Loader Settings": "ওয়েব লোডার সেটিংস",
 	"Web Params": "ওয়েব প্যারামিটারসমূহ",
-	"Web Search": "",
-	"Web Search Engine": "",
+	"Web Search": "ওয়েব অনুসন্ধান",
+	"Web Search Engine": "ওয়েব সার্চ ইঞ্জিন",
 	"Webhook URL": "ওয়েবহুক URL",
 	"WebUI Add-ons": "WebUI এড-অনসমূহ",
 	"WebUI Settings": "WebUI সেটিংসমূহ",
@@ -521,7 +528,7 @@
 	"Write a summary in 50 words that summarizes [topic or keyword].": "৫০ শব্দের মধ্যে [topic or keyword] এর একটি সারসংক্ষেপ লিখুন।",
 	"Yesterday": "আগামী",
 	"You": "আপনি",
-	"You cannot clone a base model": "",
+	"You cannot clone a base model": "আপনি একটি বেস মডেল ক্লোন করতে পারবেন না",
 	"You have no archived conversations.": "আপনার কোনও আর্কাইভ করা কথোপকথন নেই।",
 	"You have shared this chat": "আপনি এই চ্যাটটি শেয়ার করেছেন",
 	"You're a helpful assistant.": "আপনি একজন উপকারী এসিস্ট্যান্ট",

+ 78 - 71
src/lib/i18n/locales/ca-ES/translation.json

@@ -3,19 +3,19 @@
 	"(Beta)": "(Beta)",
 	"(e.g. `sh webui.sh --api`)": "(p. ex. `sh webui.sh --api`)",
 	"(latest)": "(últim)",
-	"{{ models }}": "",
-	"{{ owner }}: You cannot delete a base model": "",
+	"{{ models }}": "{{ models }}",
+	"{{ owner }}: You cannot delete a base model": "{{ propietari }}: No es pot suprimir un model base",
 	"{{modelName}} is thinking...": "{{modelName}} està pensant...",
 	"{{user}}'s Chats": "{{user}}'s Chats",
 	"{{webUIName}} Backend Required": "Es requereix Backend de {{webUIName}}",
-	"A task model is used when performing tasks such as generating titles for chats and web search queries": "",
+	"A task model is used when performing tasks such as generating titles for chats and web search queries": "Un model de tasca s'utilitza quan es realitzen tasques com ara generar títols per a xats i consultes de cerca web",
 	"a user": "un usuari",
 	"About": "Sobre",
 	"Account": "Compte",
 	"Accurate information": "Informació precisa",
 	"Add": "Afegir",
-	"Add a model id": "",
-	"Add a short description about what this model does": "",
+	"Add a model id": "Afegir un identificador de model",
+	"Add a short description about what this model does": "Afegiu una breu descripció sobre què fa aquest model",
 	"Add a short title for this prompt": "Afegeix un títol curt per aquest prompt",
 	"Add a tag": "Afegeix una etiqueta",
 	"Add custom prompt": "Afegir un prompt personalitzat",
@@ -31,12 +31,13 @@
 	"Admin Panel": "Panell d'Administració",
 	"Admin Settings": "Configuració d'Administració",
 	"Advanced Parameters": "Paràmetres Avançats",
-	"Advanced Params": "",
+	"Advanced Params": "Paràmetres avançats",
 	"all": "tots",
 	"All Documents": "Tots els Documents",
 	"All Users": "Tots els Usuaris",
 	"Allow": "Permet",
 	"Allow Chat Deletion": "Permet la Supressió del Xat",
+	"Allow non-local voices": "",
 	"alphanumeric characters and hyphens": "caràcters alfanumèrics i guions",
 	"Already have an account?": "Ja tens un compte?",
 	"an assistant": "un assistent",
@@ -48,7 +49,7 @@
 	"API keys": "Claus de l'API",
 	"April": "Abril",
 	"Archive": "Arxiu",
-	"Archive All Chats": "",
+	"Archive All Chats": "Arxiva tots els xats",
 	"Archived Chats": "Arxiu d'historial de xat",
 	"are allowed - Activate this command by typing": "estan permesos - Activa aquesta comanda escrivint",
 	"Are you sure?": "Estàs segur?",
@@ -63,14 +64,14 @@
 	"available!": "disponible!",
 	"Back": "Enrere",
 	"Bad Response": "Resposta Erroni",
-	"Banners": "",
-	"Base Model (From)": "",
+	"Banners": "Banners",
+	"Base Model (From)": "Model base (des de)",
 	"before": "abans",
 	"Being lazy": "Ser l'estupidez",
-	"Brave Search API Key": "",
+	"Brave Search API Key": "Clau API Brave Search",
 	"Bypass SSL verification for Websites": "Desactivar la verificació SSL per a l'accés a l'Internet",
 	"Cancel": "Cancel·la",
-	"Capabilities": "",
+	"Capabilities": "Capacitats",
 	"Change Password": "Canvia la Contrasenya",
 	"Chat": "Xat",
 	"Chat Bubble UI": "Chat Bubble UI",
@@ -93,14 +94,14 @@
 	"Click here to select documents.": "Fes clic aquí per seleccionar documents.",
 	"click here.": "fes clic aquí.",
 	"Click on the user role button to change a user's role.": "Fes clic al botó de rol d'usuari per canviar el rol d'un usuari.",
-	"Clone": "",
+	"Clone": "Clon",
 	"Close": "Tanca",
 	"Collection": "Col·lecció",
 	"ComfyUI": "ComfyUI",
 	"ComfyUI Base URL": "URL base de ComfyUI",
 	"ComfyUI Base URL is required.": "URL base de ComfyUI és obligatòria.",
 	"Command": "Comanda",
-	"Concurrent Requests": "",
+	"Concurrent Requests": "Sol·licituds simultànies",
 	"Confirm Password": "Confirma la Contrasenya",
 	"Connections": "Connexions",
 	"Content": "Contingut",
@@ -114,7 +115,7 @@
 	"Copy Link": "Copiar l'enllaç",
 	"Copying to clipboard was successful!": "La còpia al porta-retalls ha estat exitosa!",
 	"Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "Crea una frase concisa de 3-5 paraules com a capçalera per a la següent consulta, seguint estrictament el límit de 3-5 paraules i evitant l'ús de la paraula 'títol':",
-	"Create a model": "",
+	"Create a model": "Crear un model",
 	"Create Account": "Crea un Compte",
 	"Create new key": "Crea una nova clau",
 	"Create new secret key": "Crea una nova clau secreta",
@@ -123,7 +124,7 @@
 	"Current Model": "Model Actual",
 	"Current Password": "Contrasenya Actual",
 	"Custom": "Personalitzat",
-	"Customize models for a specific purpose": "",
+	"Customize models for a specific purpose": "Personalitzar models per a un propòsit específic",
 	"Dark": "Fosc",
 	"Database": "Base de Dades",
 	"December": "Desembre",
@@ -131,24 +132,24 @@
 	"Default (Automatic1111)": "Per defecte (Automatic1111)",
 	"Default (SentenceTransformers)": "Per defecte (SentenceTransformers)",
 	"Default (Web API)": "Per defecte (Web API)",
-	"Default Model": "",
+	"Default Model": "Model per defecte",
 	"Default model updated": "Model per defecte actualitzat",
 	"Default Prompt Suggestions": "Suggeriments de Prompt Per Defecte",
 	"Default User Role": "Rol d'Usuari Per Defecte",
 	"delete": "esborra",
 	"Delete": "Esborra",
 	"Delete a model": "Esborra un model",
-	"Delete All Chats": "",
+	"Delete All Chats": "Suprimir tots els xats",
 	"Delete chat": "Esborra xat",
 	"Delete Chat": "Esborra Xat",
 	"delete this link": "Esborra aquest enllaç",
 	"Delete User": "Esborra Usuari",
 	"Deleted {{deleteModelTag}}": "Esborrat {{deleteModelTag}}",
-	"Deleted {{name}}": "",
+	"Deleted {{name}}": "Suprimit {{nom}}",
 	"Description": "Descripció",
 	"Didn't fully follow instructions": "No s'ha completat els instruccions",
 	"Disabled": "Desactivat",
-	"Discover a model": "",
+	"Discover a model": "Descobreix un model",
 	"Discover a prompt": "Descobreix un prompt",
 	"Discover, download, and explore custom prompts": "Descobreix, descarrega i explora prompts personalitzats",
 	"Discover, download, and explore model presets": "Descobreix, descarrega i explora presets de models",
@@ -174,27 +175,27 @@
 	"Embedding Model Engine": "Motor de model d'embutiment",
 	"Embedding model set to \"{{embedding_model}}\"": "Model d'embutiment configurat a \"{{embedding_model}}\"",
 	"Enable Chat History": "Activa Historial de Xat",
-	"Enable Community Sharing": "",
+	"Enable Community Sharing": "Activar l'ús compartit de la comunitat",
 	"Enable New Sign Ups": "Permet Noves Inscripcions",
-	"Enable Web Search": "",
+	"Enable Web Search": "Activa la cerca web",
 	"Enabled": "Activat",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Assegura't que el fitxer CSV inclou 4 columnes en aquest ordre: Nom, Correu Electrònic, Contrasenya, Rol.",
 	"Enter {{role}} message here": "Introdueix aquí el missatge de {{role}}",
 	"Enter a detail about yourself for your LLMs to recall": "Introdueix un detall sobre tu per que els LLMs puguin recordar-te",
-	"Enter Brave Search API Key": "",
+	"Enter Brave Search API Key": "Introduïu la clau de l'API Brave Search",
 	"Enter Chunk Overlap": "Introdueix el Solapament de Blocs",
 	"Enter Chunk Size": "Introdueix la Mida del Bloc",
-	"Enter Github Raw URL": "",
-	"Enter Google PSE API Key": "",
-	"Enter Google PSE Engine Id": "",
+	"Enter Github Raw URL": "Introduïu l'URL en brut de Github",
+	"Enter Google PSE API Key": "Introduïu la clau de l'API de Google PSE",
+	"Enter Google PSE Engine Id": "Introduïu l'identificador del motor PSE de Google",
 	"Enter Image Size (e.g. 512x512)": "Introdueix la Mida de la Imatge (p. ex. 512x512)",
 	"Enter language codes": "Introdueix els codis de llenguatge",
 	"Enter model tag (e.g. {{modelTag}})": "Introdueix l'etiqueta del model (p. ex. {{modelTag}})",
 	"Enter Number of Steps (e.g. 50)": "Introdueix el Nombre de Passos (p. ex. 50)",
 	"Enter Score": "Introdueix el Puntuació",
-	"Enter Searxng Query URL": "",
-	"Enter Serper API Key": "",
-	"Enter Serpstack API Key": "",
+	"Enter Searxng Query URL": "Introduïu l'URL de consulta de Searxng",
+	"Enter Serper API Key": "Introduïu la clau de l'API Serper",
+	"Enter Serpstack API Key": "Introduïu la clau de l'API Serpstack",
 	"Enter stop sequence": "Introdueix la seqüència de parada",
 	"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/)",
@@ -203,12 +204,14 @@
 	"Enter Your Full Name": "Introdueix el Teu Nom Complet",
 	"Enter Your Password": "Introdueix la Teva Contrasenya",
 	"Enter Your Role": "Introdueix el Teu Ròl",
-	"Error": "",
+	"Error": "Error",
 	"Experimental": "Experimental",
+	"Export": "Exportar",
 	"Export All Chats (All Users)": "Exporta Tots els Xats (Tots els Usuaris)",
+	"Export chat (.json)": "",
 	"Export Chats": "Exporta Xats",
 	"Export Documents Mapping": "Exporta el Mapatge de Documents",
-	"Export Models": "",
+	"Export Models": "Models d'exportació",
 	"Export Prompts": "Exporta Prompts",
 	"Failed to create API Key.": "No s'ha pogut crear la clau d'API.",
 	"Failed to read clipboard contents": "No s'ha pogut llegir el contingut del porta-retalls",
@@ -221,15 +224,15 @@
 	"Focus chat input": "Enfoca l'entrada del xat",
 	"Followed instructions perfectly": "Siguiu les instruccions perfeicte",
 	"Format your variables using square brackets like this:": "Formata les teves variables utilitzant claudàtors així:",
-	"Frequency Penalty": "",
+	"Frequency Penalty": "Pena de freqüència",
 	"Full Screen Mode": "Mode de Pantalla Completa",
 	"General": "General",
 	"General Settings": "Configuració General",
-	"Generating search query": "",
+	"Generating search query": "Generació de consultes de cerca",
 	"Generation Info": "Informació de Generació",
 	"Good Response": "Resposta bona",
-	"Google PSE API Key": "",
-	"Google PSE Engine Id": "",
+	"Google PSE API Key": "Clau de l'API PSE de Google",
+	"Google PSE Engine Id": "Identificador del motor PSE de Google",
 	"h:mm a": "h:mm a",
 	"has no conversations.": "no té converses.",
 	"Hello, {{name}}": "Hola, {{name}}",
@@ -243,18 +246,18 @@
 	"Images": "Imatges",
 	"Import Chats": "Importa Xats",
 	"Import Documents Mapping": "Importa el Mapa de Documents",
-	"Import Models": "",
+	"Import Models": "Models d'importació",
 	"Import Prompts": "Importa Prompts",
 	"Include `--api` flag when running stable-diffusion-webui": "Inclou la bandera `--api` quan executis stable-diffusion-webui",
-	"Info": "",
+	"Info": "Informació",
 	"Input commands": "Entra ordres",
-	"Install from Github URL": "",
+	"Install from Github URL": "Instal·leu des de l'URL de Github",
 	"Interface": "Interfície",
 	"Invalid Tag": "Etiqueta Inválida",
 	"January": "Gener",
 	"join our Discord for help.": "uneix-te al nostre Discord per ajuda.",
 	"JSON": "JSON",
-	"JSON Preview": "",
+	"JSON Preview": "Vista prèvia de JSON",
 	"July": "Juliol",
 	"June": "Juny",
 	"JWT Expiration": "Expiració de JWT",
@@ -271,9 +274,9 @@
 	"Make sure to enclose them with": "Assegura't d'envoltar-los amb",
 	"Manage Models": "Gestiona Models",
 	"Manage Ollama Models": "Gestiona Models Ollama",
-	"Manage Pipelines": "",
+	"Manage Pipelines": "Gestionar canonades",
 	"March": "Març",
-	"Max Tokens (num_predict)": "",
+	"Max Tokens (num_predict)": "Max Fitxes (num_predict)",
 	"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Es poden descarregar un màxim de 3 models simultàniament. Si us plau, prova-ho més tard.",
 	"May": "Maig",
 	"Memories accessible by LLMs will be shown here.": "Els memòries accessible per a LLMs es mostraran aquí.",
@@ -288,12 +291,12 @@
 	"Model '{{modelName}}' has been successfully downloaded.": "El model '{{modelName}}' s'ha descarregat amb èxit.",
 	"Model '{{modelTag}}' is already in queue for downloading.": "El model '{{modelTag}}' ja està en cua per ser descarregat.",
 	"Model {{modelId}} not found": "Model {{modelId}} no trobat",
-	"Model {{modelName}} is not vision capable": "",
-	"Model {{name}} is now {{status}}": "",
+	"Model {{modelName}} is not vision capable": "El model {{modelName}} no és capaç de visió",
+	"Model {{name}} is now {{status}}": "El model {{nom}} ara és {{estat}}",
 	"Model filesystem path detected. Model shortname is required for update, cannot continue.": "S'ha detectat el camí del sistema de fitxers del model. És necessari un nom curt del model per a actualitzar, no es pot continuar.",
-	"Model ID": "",
+	"Model ID": "Identificador del model",
 	"Model not selected": "Model no seleccionat",
-	"Model Params": "",
+	"Model Params": "Paràmetres del model",
 	"Model Whitelisting": "Llista Blanca de Models",
 	"Model(s) Whitelisted": "Model(s) a la Llista Blanca",
 	"Modelfile Content": "Contingut del Fitxer de Model",
@@ -301,23 +304,25 @@
 	"More": "Més",
 	"Name": "Nom",
 	"Name Tag": "Etiqueta de Nom",
-	"Name your model": "",
+	"Name your model": "Posa un nom al model",
 	"New Chat": "Xat Nou",
 	"New Password": "Nova Contrasenya",
 	"No results found": "No s'han trobat resultats",
-	"No search query generated": "",
+	"No search query generated": "No es genera cap consulta de cerca",
 	"No source available": "Sense font disponible",
-	"None": "",
+	"None": "Cap",
 	"Not factually correct": "No està clarament correcte",
 	"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 establiscs una puntuació mínima, la cerca només retornarà documents amb una puntuació major o igual a la puntuació mínima.",
 	"Notifications": "Notificacions d'Escriptori",
 	"November": "Novembre",
+	"num_thread (Ollama)": "num_thread (Ollama)",
 	"October": "Octubre",
 	"Off": "Desactivat",
 	"Okay, Let's Go!": "D'acord, Anem!",
 	"OLED Dark": "OLED Fosc",
 	"Ollama": "Ollama",
-	"Ollama API": "",
+	"Ollama API": "API d'Ollama",
+	"Ollama API disabled": "L'API d'Ollama desactivada",
 	"Ollama Version": "Versió d'Ollama",
 	"On": "Activat",
 	"Only": "Només",
@@ -342,8 +347,8 @@
 	"pending": "pendent",
 	"Permission denied when accessing microphone: {{error}}": "Permís denegat en accedir al micròfon: {{error}}",
 	"Personalization": "Personalització",
-	"Pipelines": "",
-	"Pipelines Valves": "",
+	"Pipelines": "Canonades",
+	"Pipelines Valves": "Vàlvules de canonades",
 	"Plain text (.txt)": "Text pla (.txt)",
 	"Playground": "Zona de Jocs",
 	"Positive attitude": "Attitudin positiva",
@@ -388,33 +393,33 @@
 	"Scan for documents from {{path}}": "Escaneja documents des de {{path}}",
 	"Search": "Cerca",
 	"Search a model": "Cerca un model",
-	"Search Chats": "",
+	"Search Chats": "Cercar xats",
 	"Search Documents": "Cerca Documents",
-	"Search Models": "",
+	"Search Models": "Models de cerca",
 	"Search Prompts": "Cerca Prompts",
-	"Search Result Count": "",
-	"Searched {{count}} sites_one": "",
-	"Searched {{count}} sites_many": "",
-	"Searched {{count}} sites_other": "",
-	"Searching the web for '{{searchQuery}}'": "",
-	"Searxng Query URL": "",
+	"Search Result Count": "Recompte de resultats de cerca",
+	"Searched {{count}} sites_one": "Cercat {{count}} sites_one",
+	"Searched {{count}} sites_many": "Cercat {{recompte}} sites_many",
+	"Searched {{count}} sites_other": "Cercat {{recompte}} sites_other",
+	"Searching the web for '{{searchQuery}}'": "Cerca a la web de '{{searchQuery}}'",
+	"Searxng Query URL": "Searxng URL de consulta",
 	"See readme.md for instructions": "Consulta el readme.md per a instruccions",
 	"See what's new": "Veure novetats",
 	"Seed": "Llavor",
-	"Select a base model": "",
+	"Select a base model": "Seleccionar un model base",
 	"Select a mode": "Selecciona un mode",
 	"Select a model": "Selecciona un model",
-	"Select a pipeline": "",
-	"Select a pipeline url": "",
+	"Select a pipeline": "Seleccioneu una canonada",
+	"Select a pipeline url": "Seleccionar un URL de canonada",
 	"Select an Ollama instance": "Selecciona una instància d'Ollama",
 	"Select model": "Selecciona un model",
-	"Selected model(s) do not support image inputs": "",
+	"Selected model(s) do not support image inputs": "Els models seleccionats no admeten l'entrada d'imatges",
 	"Send": "Envia",
 	"Send a Message": "Envia un Missatge",
 	"Send message": "Envia missatge",
 	"September": "Setembre",
-	"Serper API Key": "",
-	"Serpstack API Key": "",
+	"Serper API Key": "Clau API Serper",
+	"Serpstack API Key": "Serpstack API Key",
 	"Server connection verified": "Connexió al servidor verificada",
 	"Set as default": "Estableix com a predeterminat",
 	"Set Default Model": "Estableix Model Predeterminat",
@@ -423,7 +428,7 @@
 	"Set Model": "Estableix Model",
 	"Set reranking model (e.g. {{model}})": "Estableix el model de reranking (p.ex. {{model}})",
 	"Set Steps": "Estableix Passos",
-	"Set Task Model": "",
+	"Set Task Model": "Defineix el model de tasca",
 	"Set Voice": "Estableix Veu",
 	"Settings": "Configuracions",
 	"Settings saved successfully!": "Configuracions guardades amb èxit!",
@@ -482,19 +487,21 @@
 	"Top P": "Top P",
 	"Trouble accessing Ollama?": "Problemes accedint a Ollama?",
 	"TTS Settings": "Configuracions TTS",
-	"Type": "",
+	"Type": "Tipus",
 	"Type Hugging Face Resolve (Download) URL": "Escriu URL de Resolució (Descàrrega) de Hugging Face",
 	"Uh-oh! There was an issue connecting to {{provider}}.": "Uf! Hi va haver un problema connectant-se a {{provider}}.",
 	"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Tipus d'Arxiu Desconegut '{{file_type}}', però acceptant i tractant com a text pla",
 	"Update and Copy Link": "Actualitza i Copia enllaç",
 	"Update password": "Actualitza contrasenya",
 	"Upload a GGUF model": "Puja un model GGUF",
-	"Upload Files": "",
+	"Upload Files": "Pujar fitxers",
 	"Upload Progress": "Progrés de Càrrega",
 	"URL Mode": "Mode URL",
 	"Use '#' in the prompt input to load and select your documents.": "Utilitza '#' a l'entrada del prompt per carregar i seleccionar els teus documents.",
 	"Use Gravatar": "Utilitza Gravatar",
 	"Use Initials": "Utilitza Inicials",
+	"use_mlock (Ollama)": "use_mlock (Ollama)",
+	"use_mmap (Ollama)": "use_mmap (Ollama)",
 	"user": "usuari",
 	"User Permissions": "Permisos d'Usuari",
 	"Users": "Usuaris",
@@ -503,13 +510,13 @@
 	"variable": "variable",
 	"variable to have them replaced with clipboard content.": "variable per tenir-les reemplaçades amb el contingut del porta-retalls.",
 	"Version": "Versió",
-	"Warning": "",
+	"Warning": "Advertiment",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Avís: Si actualitzeu o canvieu el model d'incrustació, haureu de tornar a importar tots els documents.",
 	"Web": "Web",
 	"Web Loader Settings": "Configuració del carregador web",
 	"Web Params": "Paràmetres web",
-	"Web Search": "",
-	"Web Search Engine": "",
+	"Web Search": "Cercador web",
+	"Web Search Engine": "Cercador web",
 	"Webhook URL": "URL del webhook",
 	"WebUI Add-ons": "Complements de WebUI",
 	"WebUI Settings": "Configuració de WebUI",
@@ -522,7 +529,7 @@
 	"Write a summary in 50 words that summarizes [topic or keyword].": "Escriu un resum en 50 paraules que resumeixi [tema o paraula clau].",
 	"Yesterday": "Ayer",
 	"You": "Tu",
-	"You cannot clone a base model": "",
+	"You cannot clone a base model": "No es pot clonar un model base",
 	"You have no archived conversations.": "No tens converses arxivades.",
 	"You have shared this chat": "Has compartit aquest xat",
 	"You're a helpful assistant.": "Ets un assistent útil.",

+ 7 - 0
src/lib/i18n/locales/ceb-PH/translation.json

@@ -37,6 +37,7 @@
 	"All Users": "Ang tanan nga mga tiggamit",
 	"Allow": "Sa pagtugot",
 	"Allow Chat Deletion": "Tugoti nga mapapas ang mga chat",
+	"Allow non-local voices": "",
 	"alphanumeric characters and hyphens": "alphanumeric nga mga karakter ug hyphen",
 	"Already have an account?": "Naa na kay account ?",
 	"an assistant": "usa ka katabang",
@@ -205,7 +206,9 @@
 	"Enter Your Role": "",
 	"Error": "",
 	"Experimental": "Eksperimento",
+	"Export": "",
 	"Export All Chats (All Users)": "I-export ang tanan nga mga chat (Tanan nga tiggamit)",
+	"Export chat (.json)": "",
 	"Export Chats": "I-export ang mga chat",
 	"Export Documents Mapping": "I-export ang pagmapa sa dokumento",
 	"Export Models": "",
@@ -312,12 +315,14 @@
 	"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "",
 	"Notifications": "Mga pahibalo sa desktop",
 	"November": "",
+	"num_thread (Ollama)": "",
 	"October": "",
 	"Off": "Napuo",
 	"Okay, Let's Go!": "Okay, lakaw na!",
 	"OLED Dark": "",
 	"Ollama": "",
 	"Ollama API": "",
+	"Ollama API disabled": "",
 	"Ollama Version": "Ollama nga bersyon",
 	"On": "Gipaandar",
 	"Only": "Lamang",
@@ -494,6 +499,8 @@
 	"Use '#' in the prompt input to load and select your documents.": "Gamita ang '#' sa dali nga pagsulod aron makarga ug mapili ang imong mga dokumento.",
 	"Use Gravatar": "Paggamit sa Gravatar",
 	"Use Initials": "",
+	"use_mlock (Ollama)": "",
+	"use_mmap (Ollama)": "",
 	"user": "tiggamit",
 	"User Permissions": "Mga permiso sa tiggamit",
 	"Users": "Mga tiggamit",

+ 77 - 70
src/lib/i18n/locales/de-DE/translation.json

@@ -3,19 +3,19 @@
 	"(Beta)": "(Beta)",
 	"(e.g. `sh webui.sh --api`)": "(z.B. `sh webui.sh --api`)",
 	"(latest)": "(neueste)",
-	"{{ models }}": "",
-	"{{ owner }}: You cannot delete a base model": "",
+	"{{ models }}": "{{ Modelle }}",
+	"{{ owner }}: You cannot delete a base model": "{{ owner }}: Sie können ein Basismodell nicht löschen",
 	"{{modelName}} is thinking...": "{{modelName}} denkt nach...",
 	"{{user}}'s Chats": "{{user}}s Chats",
 	"{{webUIName}} Backend Required": "{{webUIName}}-Backend erforderlich",
-	"A task model is used when performing tasks such as generating titles for chats and web search queries": "",
+	"A task model is used when performing tasks such as generating titles for chats and web search queries": "Ein Aufgabenmodell wird verwendet, wenn Aufgaben wie das Generieren von Titeln für Chats und Websuchanfragen ausgeführt werden",
 	"a user": "ein Benutzer",
 	"About": "Über",
 	"Account": "Account",
 	"Accurate information": "Genaue Information",
 	"Add": "Hinzufügen",
-	"Add a model id": "",
-	"Add a short description about what this model does": "",
+	"Add a model id": "Hinzufügen einer Modell-ID",
+	"Add a short description about what this model does": "Fügen Sie eine kurze Beschreibung hinzu, was dieses Modell tut",
 	"Add a short title for this prompt": "Füge einen kurzen Titel für diesen Prompt hinzu",
 	"Add a tag": "benenne",
 	"Add custom prompt": "Eigenen Prompt hinzufügen",
@@ -31,12 +31,13 @@
 	"Admin Panel": "Admin Panel",
 	"Admin Settings": "Admin Einstellungen",
 	"Advanced Parameters": "Erweiterte Parameter",
-	"Advanced Params": "",
+	"Advanced Params": "Erweiterte Parameter",
 	"all": "Alle",
 	"All Documents": "Alle Dokumente",
 	"All Users": "Alle Benutzer",
 	"Allow": "Erlauben",
 	"Allow Chat Deletion": "Chat Löschung erlauben",
+	"Allow non-local voices": "",
 	"alphanumeric characters and hyphens": "alphanumerische Zeichen und Bindestriche",
 	"Already have an account?": "Hast du vielleicht schon ein Account?",
 	"an assistant": "ein Assistent",
@@ -48,7 +49,7 @@
 	"API keys": "API Schlüssel",
 	"April": "April",
 	"Archive": "Archivieren",
-	"Archive All Chats": "",
+	"Archive All Chats": "Alle Chats archivieren",
 	"Archived Chats": "Archivierte Chats",
 	"are allowed - Activate this command by typing": "sind erlaubt - Aktiviere diesen Befehl, indem du",
 	"Are you sure?": "Bist du sicher?",
@@ -63,14 +64,14 @@
 	"available!": "verfügbar!",
 	"Back": "Zurück",
 	"Bad Response": "Schlechte Antwort",
-	"Banners": "",
-	"Base Model (From)": "",
+	"Banners": "Banner",
+	"Base Model (From)": "Basismodell (von)",
 	"before": "bereits geteilt",
 	"Being lazy": "Faul sein",
-	"Brave Search API Key": "",
+	"Brave Search API Key": "API-Schlüssel für die Brave-Suche",
 	"Bypass SSL verification for Websites": "Bypass SSL-Verifizierung für Websites",
 	"Cancel": "Abbrechen",
-	"Capabilities": "",
+	"Capabilities": "Fähigkeiten",
 	"Change Password": "Passwort ändern",
 	"Chat": "Chat",
 	"Chat Bubble UI": "Chat Bubble UI",
@@ -93,14 +94,14 @@
 	"Click here to select documents.": "Klicke hier um Dokumente auszuwählen",
 	"click here.": "hier klicken.",
 	"Click on the user role button to change a user's role.": "Klicke auf die Benutzerrollenschaltfläche, um die Rolle eines Benutzers zu ändern.",
-	"Clone": "",
+	"Clone": "Klonen",
 	"Close": "Schließe",
 	"Collection": "Kollektion",
 	"ComfyUI": "ComfyUI",
 	"ComfyUI Base URL": "ComfyUI Base URL",
 	"ComfyUI Base URL is required.": "ComfyUI Base URL wird benötigt.",
 	"Command": "Befehl",
-	"Concurrent Requests": "",
+	"Concurrent Requests": "Gleichzeitige Anforderungen",
 	"Confirm Password": "Passwort bestätigen",
 	"Connections": "Verbindungen",
 	"Content": "Inhalt",
@@ -114,7 +115,7 @@
 	"Copy Link": "Link kopieren",
 	"Copying to clipboard was successful!": "Das Kopieren in die Zwischenablage war erfolgreich!",
 	"Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "Erstelle einen prägnanten Satz mit 3-5 Wörtern als Überschrift für die folgende Abfrage. Halte dich dabei strikt an die 3-5-Wort-Grenze und vermeide die Verwendung des Wortes Titel:",
-	"Create a model": "",
+	"Create a model": "Erstellen eines Modells",
 	"Create Account": "Konto erstellen",
 	"Create new key": "Neuen Schlüssel erstellen",
 	"Create new secret key": "Neuen API Schlüssel erstellen",
@@ -123,7 +124,7 @@
 	"Current Model": "Aktuelles Modell",
 	"Current Password": "Aktuelles Passwort",
 	"Custom": "Benutzerdefiniert",
-	"Customize models for a specific purpose": "",
+	"Customize models for a specific purpose": "Modelle für einen bestimmten Zweck anpassen",
 	"Dark": "Dunkel",
 	"Database": "Datenbank",
 	"December": "Dezember",
@@ -131,24 +132,24 @@
 	"Default (Automatic1111)": "Standard (Automatic1111)",
 	"Default (SentenceTransformers)": "Standard (SentenceTransformers)",
 	"Default (Web API)": "Standard (Web-API)",
-	"Default Model": "",
+	"Default Model": "Standardmodell",
 	"Default model updated": "Standardmodell aktualisiert",
 	"Default Prompt Suggestions": "Standard-Prompt-Vorschläge",
 	"Default User Role": "Standardbenutzerrolle",
 	"delete": "löschen",
 	"Delete": "Löschen",
 	"Delete a model": "Ein Modell löschen",
-	"Delete All Chats": "",
+	"Delete All Chats": "Alle Chats löschen",
 	"Delete chat": "Chat löschen",
 	"Delete Chat": "Chat löschen",
 	"delete this link": "diesen Link zu löschen",
 	"Delete User": "Benutzer löschen",
 	"Deleted {{deleteModelTag}}": "{{deleteModelTag}} gelöscht",
-	"Deleted {{name}}": "",
+	"Deleted {{name}}": "Gelöscht {{name}}",
 	"Description": "Beschreibung",
 	"Didn't fully follow instructions": "Nicht genau den Answeisungen gefolgt",
 	"Disabled": "Deaktiviert",
-	"Discover a model": "",
+	"Discover a model": "Entdecken Sie ein Modell",
 	"Discover a prompt": "Einen Prompt entdecken",
 	"Discover, download, and explore custom prompts": "Benutzerdefinierte Prompts entdecken, herunterladen und erkunden",
 	"Discover, download, and explore model presets": "Modellvorgaben entdecken, herunterladen und erkunden",
@@ -174,27 +175,27 @@
 	"Embedding Model Engine": "Embedding-Modell-Engine",
 	"Embedding model set to \"{{embedding_model}}\"": "Embedding-Modell auf \"{{embedding_model}}\" gesetzt",
 	"Enable Chat History": "Chat-Verlauf aktivieren",
-	"Enable Community Sharing": "",
+	"Enable Community Sharing": "Community-Freigabe aktivieren",
 	"Enable New Sign Ups": "Neue Anmeldungen aktivieren",
-	"Enable Web Search": "",
+	"Enable Web Search": "Websuche aktivieren",
 	"Enabled": "Aktiviert",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Stellen Sie sicher, dass Ihre CSV-Datei 4 Spalten in dieser Reihenfolge enthält: Name, E-Mail, Passwort, Rolle.",
 	"Enter {{role}} message here": "Gib die {{role}} Nachricht hier ein",
 	"Enter a detail about yourself for your LLMs to recall": "Geben Sie einen Detail über sich selbst ein, um für Ihre LLMs zu erinnern",
-	"Enter Brave Search API Key": "",
+	"Enter Brave Search API Key": "Geben Sie den API-Schlüssel für die Brave-Suche ein",
 	"Enter Chunk Overlap": "Gib den Chunk Overlap ein",
 	"Enter Chunk Size": "Gib die Chunk Size ein",
-	"Enter Github Raw URL": "",
-	"Enter Google PSE API Key": "",
-	"Enter Google PSE Engine Id": "",
+	"Enter Github Raw URL": "Geben Sie die Github Raw-URL ein",
+	"Enter Google PSE API Key": "Geben Sie den Google PSE-API-Schlüssel ein",
+	"Enter Google PSE Engine Id": "Geben Sie die Google PSE-Engine-ID ein",
 	"Enter Image Size (e.g. 512x512)": "Gib die Bildgröße ein (z.B. 512x512)",
 	"Enter language codes": "Geben Sie die Sprachcodes ein",
 	"Enter model tag (e.g. {{modelTag}})": "Gib den Model-Tag ein",
 	"Enter Number of Steps (e.g. 50)": "Gib die Anzahl an Schritten ein (z.B. 50)",
 	"Enter Score": "Score eingeben",
-	"Enter Searxng Query URL": "",
-	"Enter Serper API Key": "",
-	"Enter Serpstack API Key": "",
+	"Enter Searxng Query URL": "Geben Sie die Searxng-Abfrage-URL ein",
+	"Enter Serper API Key": "Serper-API-Schlüssel eingeben",
+	"Enter Serpstack API Key": "Geben Sie den Serpstack-API-Schlüssel ein",
 	"Enter stop sequence": "Stop-Sequenz eingeben",
 	"Enter Top K": "Gib Top K ein",
 	"Enter URL (e.g. http://127.0.0.1:7860/)": "Gib die URL ein (z.B. http://127.0.0.1:7860/)",
@@ -203,12 +204,14 @@
 	"Enter Your Full Name": "Gib deinen vollständigen Namen ein",
 	"Enter Your Password": "Gib dein Passwort ein",
 	"Enter Your Role": "Gebe deine Rolle ein",
-	"Error": "",
+	"Error": "Fehler",
 	"Experimental": "Experimentell",
+	"Export": "Exportieren",
 	"Export All Chats (All Users)": "Alle Chats exportieren (alle Benutzer)",
+	"Export chat (.json)": "",
 	"Export Chats": "Chats exportieren",
 	"Export Documents Mapping": "Dokumentenmapping exportieren",
-	"Export Models": "",
+	"Export Models": "Modelle exportieren",
 	"Export Prompts": "Prompts exportieren",
 	"Failed to create API Key.": "API Key erstellen fehlgeschlagen",
 	"Failed to read clipboard contents": "Fehler beim Lesen des Zwischenablageninhalts",
@@ -221,15 +224,15 @@
 	"Focus chat input": "Chat-Eingabe fokussieren",
 	"Followed instructions perfectly": "Anweisungen perfekt befolgt",
 	"Format your variables using square brackets like this:": "Formatiere deine Variablen mit eckigen Klammern wie folgt:",
-	"Frequency Penalty": "",
+	"Frequency Penalty": "Frequenz-Strafe",
 	"Full Screen Mode": "Vollbildmodus",
 	"General": "Allgemein",
 	"General Settings": "Allgemeine Einstellungen",
-	"Generating search query": "",
+	"Generating search query": "Suchanfrage generieren",
 	"Generation Info": "Generierungsinformationen",
 	"Good Response": "Gute Antwort",
-	"Google PSE API Key": "",
-	"Google PSE Engine Id": "",
+	"Google PSE API Key": "Google PSE-API-Schlüssel",
+	"Google PSE Engine Id": "Google PSE-Engine-ID",
 	"h:mm a": "h:mm a",
 	"has no conversations.": "hat keine Unterhaltungen.",
 	"Hello, {{name}}": "Hallo, {{name}}",
@@ -243,18 +246,18 @@
 	"Images": "Bilder",
 	"Import Chats": "Chats importieren",
 	"Import Documents Mapping": "Dokumentenmapping importieren",
-	"Import Models": "",
+	"Import Models": "Modelle importieren",
 	"Import Prompts": "Prompts importieren",
 	"Include `--api` flag when running stable-diffusion-webui": "Füge das `--api`-Flag hinzu, wenn du stable-diffusion-webui nutzt",
-	"Info": "",
+	"Info": "Info",
 	"Input commands": "Eingabebefehle",
-	"Install from Github URL": "",
+	"Install from Github URL": "Installieren Sie von der Github-URL",
 	"Interface": "Benutzeroberfläche",
 	"Invalid Tag": "Ungültiger Tag",
 	"January": "Januar",
 	"join our Discord for help.": "Trete unserem Discord bei, um Hilfe zu erhalten.",
 	"JSON": "JSON",
-	"JSON Preview": "",
+	"JSON Preview": "JSON-Vorschau",
 	"July": "Juli",
 	"June": "Juni",
 	"JWT Expiration": "JWT-Ablauf",
@@ -271,9 +274,9 @@
 	"Make sure to enclose them with": "Formatiere deine Variablen mit:",
 	"Manage Models": "Modelle verwalten",
 	"Manage Ollama Models": "Ollama-Modelle verwalten",
-	"Manage Pipelines": "",
+	"Manage Pipelines": "Verwalten von Pipelines",
 	"March": "März",
-	"Max Tokens (num_predict)": "",
+	"Max Tokens (num_predict)": "Max. Token (num_predict)",
 	"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Es können maximal 3 Modelle gleichzeitig heruntergeladen werden. Bitte versuche es später erneut.",
 	"May": "Mai",
 	"Memories accessible by LLMs will be shown here.": "Memories, die von LLMs zugänglich sind, werden hier angezeigt.",
@@ -288,12 +291,12 @@
 	"Model '{{modelName}}' has been successfully downloaded.": "Modell '{{modelName}}' wurde erfolgreich heruntergeladen.",
 	"Model '{{modelTag}}' is already in queue for downloading.": "Modell '{{modelTag}}' befindet sich bereits in der Warteschlange zum Herunterladen.",
 	"Model {{modelId}} not found": "Modell {{modelId}} nicht gefunden",
-	"Model {{modelName}} is not vision capable": "",
-	"Model {{name}} is now {{status}}": "",
+	"Model {{modelName}} is not vision capable": "Das Modell {{modelName}} ist nicht sehfähig",
+	"Model {{name}} is now {{status}}": "Modell {{name}} ist jetzt {{status}}",
 	"Model filesystem path detected. Model shortname is required for update, cannot continue.": "Modell-Dateisystempfad erkannt. Modellkurzname ist für das Update erforderlich, Fortsetzung nicht möglich.",
-	"Model ID": "",
+	"Model ID": "Modell-ID",
 	"Model not selected": "Modell nicht ausgewählt",
-	"Model Params": "",
+	"Model Params": "Modell-Params",
 	"Model Whitelisting": "Modell-Whitelisting",
 	"Model(s) Whitelisted": "Modell(e) auf der Whitelist",
 	"Modelfile Content": "Modelfile Content",
@@ -301,23 +304,25 @@
 	"More": "Mehr",
 	"Name": "Name",
 	"Name Tag": "Namens-Tag",
-	"Name your model": "",
+	"Name your model": "Benennen Sie Ihr Modell",
 	"New Chat": "Neuer Chat",
 	"New Password": "Neues Passwort",
 	"No results found": "Keine Ergebnisse gefunden",
-	"No search query generated": "",
+	"No search query generated": "Keine Suchanfrage generiert",
 	"No source available": "Keine Quelle verfügbar.",
-	"None": "",
+	"None": "Nichts",
 	"Not factually correct": "Nicht sachlich korrekt.",
 	"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Hinweis: Wenn du einen Mindestscore festlegst, wird die Suche nur Dokumente zurückgeben, deren Score größer oder gleich dem Mindestscore ist.",
 	"Notifications": "Desktop-Benachrichtigungen",
 	"November": "November",
+	"num_thread (Ollama)": "num_thread (Ollama)",
 	"October": "Oktober",
 	"Off": "Aus",
 	"Okay, Let's Go!": "Okay, los geht's!",
 	"OLED Dark": "OLED Dunkel",
 	"Ollama": "Ollama",
-	"Ollama API": "",
+	"Ollama API": "Ollama-API",
+	"Ollama API disabled": "Ollama-API deaktiviert",
 	"Ollama Version": "Ollama-Version",
 	"On": "Ein",
 	"Only": "Nur",
@@ -342,8 +347,8 @@
 	"pending": "ausstehend",
 	"Permission denied when accessing microphone: {{error}}": "Zugriff auf das Mikrofon verweigert: {{error}}",
 	"Personalization": "Personalisierung",
-	"Pipelines": "",
-	"Pipelines Valves": "",
+	"Pipelines": "Pipelines",
+	"Pipelines Valves": "Rohrleitungen Ventile",
 	"Plain text (.txt)": "Nur Text (.txt)",
 	"Playground": "Testumgebung",
 	"Positive attitude": "Positive Einstellung",
@@ -388,32 +393,32 @@
 	"Scan for documents from {{path}}": "Dokumente von {{path}} scannen",
 	"Search": "Suchen",
 	"Search a model": "Nach einem Modell suchen",
-	"Search Chats": "",
+	"Search Chats": "Chats durchsuchen",
 	"Search Documents": "Dokumente suchen",
-	"Search Models": "",
+	"Search Models": "Modelle suchen",
 	"Search Prompts": "Prompts suchen",
-	"Search Result Count": "",
-	"Searched {{count}} sites_one": "",
-	"Searched {{count}} sites_other": "",
-	"Searching the web for '{{searchQuery}}'": "",
-	"Searxng Query URL": "",
+	"Search Result Count": "Anzahl der Suchergebnisse",
+	"Searched {{count}} sites_one": "Gesucht {{count}} sites_one",
+	"Searched {{count}} sites_other": "Gesucht {{count}} sites_other",
+	"Searching the web for '{{searchQuery}}'": "Suche im Web nach '{{searchQuery}}'",
+	"Searxng Query URL": "Searxng-Abfrage-URL",
 	"See readme.md for instructions": "Anleitung in readme.md anzeigen",
 	"See what's new": "Was gibt's Neues",
 	"Seed": "Seed",
-	"Select a base model": "",
+	"Select a base model": "Wählen Sie ein Basismodell",
 	"Select a mode": "Einen Modus auswählen",
 	"Select a model": "Ein Modell auswählen",
-	"Select a pipeline": "",
-	"Select a pipeline url": "",
+	"Select a pipeline": "Wählen Sie eine Pipeline aus",
+	"Select a pipeline url": "Auswählen einer Pipeline-URL",
 	"Select an Ollama instance": "Eine Ollama Instanz auswählen",
 	"Select model": "Modell auswählen",
-	"Selected model(s) do not support image inputs": "",
+	"Selected model(s) do not support image inputs": "Ausgewählte Modelle unterstützen keine Bildeingaben",
 	"Send": "Senden",
 	"Send a Message": "Eine Nachricht senden",
 	"Send message": "Nachricht senden",
 	"September": "September",
-	"Serper API Key": "",
-	"Serpstack API Key": "",
+	"Serper API Key": "Serper-API-Schlüssel",
+	"Serpstack API Key": "Serpstack-API-Schlüssel",
 	"Server connection verified": "Serververbindung überprüft",
 	"Set as default": "Als Standard festlegen",
 	"Set Default Model": "Standardmodell festlegen",
@@ -422,7 +427,7 @@
 	"Set Model": "Modell festlegen",
 	"Set reranking model (e.g. {{model}})": "Rerankingmodell festlegen (z.B. {{model}})",
 	"Set Steps": "Schritte festlegen",
-	"Set Task Model": "",
+	"Set Task Model": "Aufgabenmodell festlegen",
 	"Set Voice": "Stimme festlegen",
 	"Settings": "Einstellungen",
 	"Settings saved successfully!": "Einstellungen erfolgreich gespeichert!",
@@ -481,19 +486,21 @@
 	"Top P": "Top P",
 	"Trouble accessing Ollama?": "Probleme beim Zugriff auf Ollama?",
 	"TTS Settings": "TTS-Einstellungen",
-	"Type": "",
+	"Type": "Art",
 	"Type Hugging Face Resolve (Download) URL": "Gib die Hugging Face Resolve (Download) URL ein",
 	"Uh-oh! There was an issue connecting to {{provider}}.": "Ups! Es gab ein Problem bei der Verbindung mit {{provider}}.",
 	"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Unbekannter Dateityp '{{file_type}}', wird jedoch akzeptiert und als einfacher Text behandelt.",
 	"Update and Copy Link": "Erneuern und kopieren",
 	"Update password": "Passwort aktualisieren",
 	"Upload a GGUF model": "GGUF Model hochladen",
-	"Upload Files": "",
+	"Upload Files": "Dateien hochladen",
 	"Upload Progress": "Upload Progress",
 	"URL Mode": "URL Modus",
 	"Use '#' in the prompt input to load and select your documents.": "Verwende '#' in der Prompt-Eingabe, um deine Dokumente zu laden und auszuwählen.",
 	"Use Gravatar": "Gravatar verwenden",
 	"Use Initials": "Initialen verwenden",
+	"use_mlock (Ollama)": "use_mlock (Ollama)",
+	"use_mmap (Ollama)": "use_mmap (Ollama)",
 	"user": "Benutzer",
 	"User Permissions": "Benutzerberechtigungen",
 	"Users": "Benutzer",
@@ -502,13 +509,13 @@
 	"variable": "Variable",
 	"variable to have them replaced with clipboard content.": "Variable, um den Inhalt der Zwischenablage beim Nutzen des Prompts zu ersetzen.",
 	"Version": "Version",
-	"Warning": "",
+	"Warning": "Warnung",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Warnung: Wenn du dein Einbettungsmodell aktualisierst oder änderst, musst du alle Dokumente erneut importieren.",
 	"Web": "Web",
 	"Web Loader Settings": "Web Loader Einstellungen",
 	"Web Params": "Web Parameter",
-	"Web Search": "",
-	"Web Search Engine": "",
+	"Web Search": "Websuche",
+	"Web Search Engine": "Web-Suchmaschine",
 	"Webhook URL": "Webhook URL",
 	"WebUI Add-ons": "WebUI-Add-Ons",
 	"WebUI Settings": "WebUI-Einstellungen",
@@ -521,7 +528,7 @@
 	"Write a summary in 50 words that summarizes [topic or keyword].": "Schreibe eine kurze Zusammenfassung in 50 Wörtern, die [Thema oder Schlüsselwort] zusammenfasst.",
 	"Yesterday": "Gestern",
 	"You": "Du",
-	"You cannot clone a base model": "",
+	"You cannot clone a base model": "Sie können ein Basismodell nicht klonen",
 	"You have no archived conversations.": "Du hast keine archivierten Unterhaltungen.",
 	"You have shared this chat": "Du hast diesen Chat",
 	"You're a helpful assistant.": "Du bist ein hilfreicher Assistent.",

+ 7 - 0
src/lib/i18n/locales/dg-DG/translation.json

@@ -37,6 +37,7 @@
 	"All Users": "All Users",
 	"Allow": "Allow",
 	"Allow Chat Deletion": "Allow Delete Chats",
+	"Allow non-local voices": "",
 	"alphanumeric characters and hyphens": "so alpha, many hyphen",
 	"Already have an account?": "Such account exists?",
 	"an assistant": "such assistant",
@@ -205,7 +206,9 @@
 	"Enter Your Role": "",
 	"Error": "",
 	"Experimental": "Much Experiment",
+	"Export": "",
 	"Export All Chats (All Users)": "Export All Chats (All Doggos)",
+	"Export chat (.json)": "",
 	"Export Chats": "Export Barks",
 	"Export Documents Mapping": "Export Mappings of Dogos",
 	"Export Models": "",
@@ -312,12 +315,14 @@
 	"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "",
 	"Notifications": "Notifications",
 	"November": "",
+	"num_thread (Ollama)": "",
 	"October": "",
 	"Off": "Off",
 	"Okay, Let's Go!": "Okay, Let's Go!",
 	"OLED Dark": "OLED Dark",
 	"Ollama": "",
 	"Ollama API": "",
+	"Ollama API disabled": "",
 	"Ollama Version": "Ollama Version",
 	"On": "On",
 	"Only": "Only",
@@ -494,6 +499,8 @@
 	"Use '#' in the prompt input to load and select your documents.": "Use '#' in the prompt input to load and select your documents. Much use.",
 	"Use Gravatar": "Use Gravatar much avatar",
 	"Use Initials": "Use Initials much initial",
+	"use_mlock (Ollama)": "",
+	"use_mmap (Ollama)": "",
 	"user": "user much user",
 	"User Permissions": "User Permissions much permissions",
 	"Users": "Users much users",

+ 7 - 0
src/lib/i18n/locales/en-GB/translation.json

@@ -37,6 +37,7 @@
 	"All Users": "",
 	"Allow": "",
 	"Allow Chat Deletion": "",
+	"Allow non-local voices": "",
 	"alphanumeric characters and hyphens": "",
 	"Already have an account?": "",
 	"an assistant": "",
@@ -205,7 +206,9 @@
 	"Enter Your Role": "",
 	"Error": "",
 	"Experimental": "",
+	"Export": "",
 	"Export All Chats (All Users)": "",
+	"Export chat (.json)": "",
 	"Export Chats": "",
 	"Export Documents Mapping": "",
 	"Export Models": "",
@@ -312,12 +315,14 @@
 	"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "",
 	"Notifications": "",
 	"November": "",
+	"num_thread (Ollama)": "",
 	"October": "",
 	"Off": "",
 	"Okay, Let's Go!": "",
 	"OLED Dark": "",
 	"Ollama": "",
 	"Ollama API": "",
+	"Ollama API disabled": "",
 	"Ollama Version": "",
 	"On": "",
 	"Only": "",
@@ -494,6 +499,8 @@
 	"Use '#' in the prompt input to load and select your documents.": "",
 	"Use Gravatar": "",
 	"Use Initials": "",
+	"use_mlock (Ollama)": "",
+	"use_mmap (Ollama)": "",
 	"user": "",
 	"User Permissions": "",
 	"Users": "",

+ 7 - 0
src/lib/i18n/locales/en-US/translation.json

@@ -37,6 +37,7 @@
 	"All Users": "",
 	"Allow": "",
 	"Allow Chat Deletion": "",
+	"Allow non-local voices": "",
 	"alphanumeric characters and hyphens": "",
 	"Already have an account?": "",
 	"an assistant": "",
@@ -205,7 +206,9 @@
 	"Enter Your Role": "",
 	"Error": "",
 	"Experimental": "",
+	"Export": "",
 	"Export All Chats (All Users)": "",
+	"Export chat (.json)": "",
 	"Export Chats": "",
 	"Export Documents Mapping": "",
 	"Export Models": "",
@@ -312,12 +315,14 @@
 	"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "",
 	"Notifications": "",
 	"November": "",
+	"num_thread (Ollama)": "",
 	"October": "",
 	"Off": "",
 	"Okay, Let's Go!": "",
 	"OLED Dark": "",
 	"Ollama": "",
 	"Ollama API": "",
+	"Ollama API disabled": "",
 	"Ollama Version": "",
 	"On": "",
 	"Only": "",
@@ -494,6 +499,8 @@
 	"Use '#' in the prompt input to load and select your documents.": "",
 	"Use Gravatar": "",
 	"Use Initials": "",
+	"use_mlock (Ollama)": "",
+	"use_mmap (Ollama)": "",
 	"user": "",
 	"User Permissions": "",
 	"Users": "",

+ 78 - 71
src/lib/i18n/locales/es-ES/translation.json

@@ -3,19 +3,19 @@
 	"(Beta)": "(Beta)",
 	"(e.g. `sh webui.sh --api`)": "(p.ej. `sh webui.sh --api`)",
 	"(latest)": "(latest)",
-	"{{ models }}": "",
-	"{{ owner }}: You cannot delete a base model": "",
+	"{{ models }}": "{{ modelos }}",
+	"{{ owner }}: You cannot delete a base model": "{{ owner }}: No se puede eliminar un modelo base",
 	"{{modelName}} is thinking...": "{{modelName}} está pensando...",
 	"{{user}}'s Chats": "{{user}}'s Chats",
 	"{{webUIName}} Backend Required": "{{webUIName}} Servidor Requerido",
-	"A task model is used when performing tasks such as generating titles for chats and web search queries": "",
+	"A task model is used when performing tasks such as generating titles for chats and web search queries": "Un modelo de tareas se utiliza cuando se realizan tareas como la generación de títulos para chats y consultas de búsqueda web",
 	"a user": "un usuario",
 	"About": "Sobre nosotros",
 	"Account": "Cuenta",
 	"Accurate information": "Información precisa",
 	"Add": "Agregar",
-	"Add a model id": "",
-	"Add a short description about what this model does": "",
+	"Add a model id": "Adición de un identificador de modelo",
+	"Add a short description about what this model does": "Agregue una breve descripción sobre lo que hace este modelo",
 	"Add a short title for this prompt": "Agregue un título corto para este Prompt",
 	"Add a tag": "Agregar una etiqueta",
 	"Add custom prompt": "Agregar un prompt personalizado",
@@ -31,12 +31,13 @@
 	"Admin Panel": "Panel de Administración",
 	"Admin Settings": "Configuración de Administrador",
 	"Advanced Parameters": "Parámetros Avanzados",
-	"Advanced Params": "",
+	"Advanced Params": "Parámetros avanzados",
 	"all": "todo",
 	"All Documents": "Todos los Documentos",
 	"All Users": "Todos los Usuarios",
 	"Allow": "Permitir",
 	"Allow Chat Deletion": "Permitir Borrar Chats",
+	"Allow non-local voices": "",
 	"alphanumeric characters and hyphens": "caracteres alfanuméricos y guiones",
 	"Already have an account?": "¿Ya tienes una cuenta?",
 	"an assistant": "un asistente",
@@ -48,7 +49,7 @@
 	"API keys": "Claves de la API",
 	"April": "Abril",
 	"Archive": "Archivar",
-	"Archive All Chats": "",
+	"Archive All Chats": "Archivar todos los chats",
 	"Archived Chats": "Chats archivados",
 	"are allowed - Activate this command by typing": "están permitidos - Active este comando escribiendo",
 	"Are you sure?": "¿Está seguro?",
@@ -63,14 +64,14 @@
 	"available!": "¡disponible!",
 	"Back": "Volver",
 	"Bad Response": "Respuesta incorrecta",
-	"Banners": "",
-	"Base Model (From)": "",
+	"Banners": "Banners",
+	"Base Model (From)": "Modelo base (desde)",
 	"before": "antes",
 	"Being lazy": "Ser perezoso",
-	"Brave Search API Key": "",
+	"Brave Search API Key": "Clave de API de Brave Search",
 	"Bypass SSL verification for Websites": "Desactivar la verificación SSL para sitios web",
 	"Cancel": "Cancelar",
-	"Capabilities": "",
+	"Capabilities": "Capacidades",
 	"Change Password": "Cambia la Contraseña",
 	"Chat": "Chat",
 	"Chat Bubble UI": "Burbuja de chat UI",
@@ -93,14 +94,14 @@
 	"Click here to select documents.": "Presiona aquí para seleccionar documentos",
 	"click here.": "Presiona aquí.",
 	"Click on the user role button to change a user's role.": "Presiona en el botón de roles del usuario para cambiar su rol.",
-	"Clone": "",
+	"Clone": "Clon",
 	"Close": "Cerrar",
 	"Collection": "Colección",
 	"ComfyUI": "ComfyUI",
 	"ComfyUI Base URL": "ComfyUI Base URL",
 	"ComfyUI Base URL is required.": "ComfyUI Base URL es requerido.",
 	"Command": "Comando",
-	"Concurrent Requests": "",
+	"Concurrent Requests": "Solicitudes simultáneas",
 	"Confirm Password": "Confirmar Contraseña",
 	"Connections": "Conexiones",
 	"Content": "Contenido",
@@ -114,7 +115,7 @@
 	"Copy Link": "Copiar enlace",
 	"Copying to clipboard was successful!": "¡La copia al portapapeles se ha realizado correctamente!",
 	"Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "Cree una frase concisa de 3 a 5 palabras como encabezado para la siguiente consulta, respetando estrictamente el límite de 3 a 5 palabras y evitando el uso de la palabra 'título':",
-	"Create a model": "",
+	"Create a model": "Crear un modelo",
 	"Create Account": "Crear una cuenta",
 	"Create new key": "Crear una nueva clave",
 	"Create new secret key": "Crear una nueva clave secreta",
@@ -123,7 +124,7 @@
 	"Current Model": "Modelo Actual",
 	"Current Password": "Contraseña Actual",
 	"Custom": "Personalizado",
-	"Customize models for a specific purpose": "",
+	"Customize models for a specific purpose": "Personalizar modelos para un propósito específico",
 	"Dark": "Oscuro",
 	"Database": "Base de datos",
 	"December": "Diciembre",
@@ -131,24 +132,24 @@
 	"Default (Automatic1111)": "Por defecto (Automatic1111)",
 	"Default (SentenceTransformers)": "Por defecto (SentenceTransformers)",
 	"Default (Web API)": "Por defecto (Web API)",
-	"Default Model": "",
+	"Default Model": "Modelo predeterminado",
 	"Default model updated": "El modelo por defecto ha sido actualizado",
 	"Default Prompt Suggestions": "Sugerencias de mensajes por defecto",
 	"Default User Role": "Rol por defecto para usuarios",
 	"delete": "borrar",
 	"Delete": "Borrar",
 	"Delete a model": "Borra un modelo",
-	"Delete All Chats": "",
+	"Delete All Chats": "Eliminar todos los chats",
 	"Delete chat": "Borrar chat",
 	"Delete Chat": "Borrar Chat",
 	"delete this link": "Borrar este enlace",
 	"Delete User": "Borrar Usuario",
 	"Deleted {{deleteModelTag}}": "Se borró {{deleteModelTag}}",
-	"Deleted {{name}}": "",
+	"Deleted {{name}}": "Eliminado {{nombre}}",
 	"Description": "Descripción",
 	"Didn't fully follow instructions": "No siguió las instrucciones",
 	"Disabled": "Desactivado",
-	"Discover a model": "",
+	"Discover a model": "Descubrir un modelo",
 	"Discover a prompt": "Descubre un Prompt",
 	"Discover, download, and explore custom prompts": "Descubre, descarga, y explora Prompts personalizados",
 	"Discover, download, and explore model presets": "Descubre, descarga y explora ajustes preestablecidos de modelos",
@@ -174,27 +175,27 @@
 	"Embedding Model Engine": "Motor de Modelo de Embedding",
 	"Embedding model set to \"{{embedding_model}}\"": "Modelo de Embedding configurado a \"{{embedding_model}}\"",
 	"Enable Chat History": "Activa el Historial de Chat",
-	"Enable Community Sharing": "",
+	"Enable Community Sharing": "Habilitar el uso compartido de la comunidad",
 	"Enable New Sign Ups": "Habilitar Nuevos Registros",
-	"Enable Web Search": "",
+	"Enable Web Search": "Habilitar la búsqueda web",
 	"Enabled": "Activado",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Asegúrese de que su archivo CSV incluya 4 columnas en este orden: Nombre, Correo Electrónico, Contraseña, Rol.",
 	"Enter {{role}} message here": "Ingrese el mensaje {{role}} aquí",
 	"Enter a detail about yourself for your LLMs to recall": "Ingrese un detalle sobre usted para que sus LLMs recuerden",
-	"Enter Brave Search API Key": "",
+	"Enter Brave Search API Key": "Ingresa la clave de API de Brave Search",
 	"Enter Chunk Overlap": "Ingresar superposición de fragmentos",
 	"Enter Chunk Size": "Ingrese el tamaño del fragmento",
-	"Enter Github Raw URL": "",
-	"Enter Google PSE API Key": "",
-	"Enter Google PSE Engine Id": "",
+	"Enter Github Raw URL": "Ingresa la URL sin procesar de Github",
+	"Enter Google PSE API Key": "Ingrese la clave API de Google PSE",
+	"Enter Google PSE Engine Id": "Introduzca el ID del motor PSE de Google",
 	"Enter Image Size (e.g. 512x512)": "Ingrese el tamaño de la imagen (p.ej. 512x512)",
 	"Enter language codes": "Ingrese códigos de idioma",
 	"Enter model tag (e.g. {{modelTag}})": "Ingrese la etiqueta del modelo (p.ej. {{modelTag}})",
 	"Enter Number of Steps (e.g. 50)": "Ingrese el número de pasos (p.ej., 50)",
 	"Enter Score": "Ingrese la puntuación",
-	"Enter Searxng Query URL": "",
-	"Enter Serper API Key": "",
-	"Enter Serpstack API Key": "",
+	"Enter Searxng Query URL": "Introduzca la URL de consulta de Searxng",
+	"Enter Serper API Key": "Ingrese la clave API de Serper",
+	"Enter Serpstack API Key": "Ingrese la clave API de Serpstack",
 	"Enter stop sequence": "Ingrese la secuencia de parada",
 	"Enter Top K": "Ingrese el Top K",
 	"Enter URL (e.g. http://127.0.0.1:7860/)": "Ingrese la URL (p.ej., http://127.0.0.1:7860/)",
@@ -203,12 +204,14 @@
 	"Enter Your Full Name": "Ingrese su nombre completo",
 	"Enter Your Password": "Ingrese su contraseña",
 	"Enter Your Role": "Ingrese su rol",
-	"Error": "",
+	"Error": "Error",
 	"Experimental": "Experimental",
+	"Export": "Exportar",
 	"Export All Chats (All Users)": "Exportar todos los chats (Todos los usuarios)",
+	"Export chat (.json)": "",
 	"Export Chats": "Exportar Chats",
 	"Export Documents Mapping": "Exportar el mapeo de documentos",
-	"Export Models": "",
+	"Export Models": "Modelos de exportación",
 	"Export Prompts": "Exportar Prompts",
 	"Failed to create API Key.": "No se pudo crear la clave API.",
 	"Failed to read clipboard contents": "No se pudo leer el contenido del portapapeles",
@@ -221,15 +224,15 @@
 	"Focus chat input": "Enfoca la entrada del chat",
 	"Followed instructions perfectly": "Siguió las instrucciones perfectamente",
 	"Format your variables using square brackets like this:": "Formatea tus variables usando corchetes de la siguiente manera:",
-	"Frequency Penalty": "",
+	"Frequency Penalty": "Penalización de frecuencia",
 	"Full Screen Mode": "Modo de Pantalla Completa",
 	"General": "General",
 	"General Settings": "Opciones Generales",
-	"Generating search query": "",
+	"Generating search query": "Generación de consultas de búsqueda",
 	"Generation Info": "Información de Generación",
 	"Good Response": "Buena Respuesta",
-	"Google PSE API Key": "",
-	"Google PSE Engine Id": "",
+	"Google PSE API Key": "Clave API de Google PSE",
+	"Google PSE Engine Id": "ID del motor PSE de Google",
 	"h:mm a": "h:mm a",
 	"has no conversations.": "no tiene conversaciones.",
 	"Hello, {{name}}": "Hola, {{name}}",
@@ -243,18 +246,18 @@
 	"Images": "Imágenes",
 	"Import Chats": "Importar chats",
 	"Import Documents Mapping": "Importar Mapeo de Documentos",
-	"Import Models": "",
+	"Import Models": "Importar modelos",
 	"Import Prompts": "Importar Prompts",
 	"Include `--api` flag when running stable-diffusion-webui": "Incluir el indicador `--api` al ejecutar stable-diffusion-webui",
-	"Info": "",
+	"Info": "Información",
 	"Input commands": "Ingresar comandos",
-	"Install from Github URL": "",
+	"Install from Github URL": "Instalar desde la URL de Github",
 	"Interface": "Interfaz",
 	"Invalid Tag": "Etiqueta Inválida",
 	"January": "Enero",
 	"join our Discord for help.": "Únase a nuestro Discord para obtener ayuda.",
 	"JSON": "JSON",
-	"JSON Preview": "",
+	"JSON Preview": "Vista previa de JSON",
 	"July": "Julio",
 	"June": "Junio",
 	"JWT Expiration": "Expiración del JWT",
@@ -271,9 +274,9 @@
 	"Make sure to enclose them with": "Asegúrese de adjuntarlos con",
 	"Manage Models": "Administrar Modelos",
 	"Manage Ollama Models": "Administrar Modelos Ollama",
-	"Manage Pipelines": "",
+	"Manage Pipelines": "Administrar canalizaciones",
 	"March": "Marzo",
-	"Max Tokens (num_predict)": "",
+	"Max Tokens (num_predict)": "Máximo de fichas (num_predict)",
 	"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Se pueden descargar un máximo de 3 modelos simultáneamente. Por favor, inténtelo de nuevo más tarde.",
 	"May": "Mayo",
 	"Memories accessible by LLMs will be shown here.": "Las memorias accesibles por los LLMs se mostrarán aquí.",
@@ -288,12 +291,12 @@
 	"Model '{{modelName}}' has been successfully downloaded.": "El modelo '{{modelName}}' se ha descargado correctamente.",
 	"Model '{{modelTag}}' is already in queue for downloading.": "El modelo '{{modelTag}}' ya está en cola para descargar.",
 	"Model {{modelId}} not found": "El modelo {{modelId}} no fue encontrado",
-	"Model {{modelName}} is not vision capable": "",
-	"Model {{name}} is now {{status}}": "",
+	"Model {{modelName}} is not vision capable": "El modelo {{modelName}} no es capaz de ver",
+	"Model {{name}} is now {{status}}": "El modelo {{name}} ahora es {{status}}",
 	"Model filesystem path detected. Model shortname is required for update, cannot continue.": "Se detectó la ruta del sistema de archivos del modelo. Se requiere el nombre corto del modelo para la actualización, no se puede continuar.",
-	"Model ID": "",
+	"Model ID": "ID del modelo",
 	"Model not selected": "Modelo no seleccionado",
-	"Model Params": "",
+	"Model Params": "Parámetros del modelo",
 	"Model Whitelisting": "Listado de Modelos habilitados",
 	"Model(s) Whitelisted": "Modelo(s) habilitados",
 	"Modelfile Content": "Contenido del Modelfile",
@@ -301,23 +304,25 @@
 	"More": "Más",
 	"Name": "Nombre",
 	"Name Tag": "Nombre de etiqueta",
-	"Name your model": "",
+	"Name your model": "Asigne un nombre a su modelo",
 	"New Chat": "Nuevo Chat",
 	"New Password": "Nueva Contraseña",
 	"No results found": "No se han encontrado resultados",
-	"No search query generated": "",
+	"No search query generated": "No se ha generado ninguna consulta de búsqueda",
 	"No source available": "No hay fuente disponible",
-	"None": "",
+	"None": "Ninguno",
 	"Not factually correct": "No es correcto en todos los aspectos",
 	"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 estableces una puntuación mínima, la búsqueda sólo devolverá documentos con una puntuación mayor o igual a la puntuación mínima.",
 	"Notifications": "Notificaciones",
 	"November": "Noviembre",
+	"num_thread (Ollama)": "num_thread (Ollama)",
 	"October": "Octubre",
 	"Off": "Desactivado",
 	"Okay, Let's Go!": "Bien, ¡Vamos!",
 	"OLED Dark": "OLED oscuro",
 	"Ollama": "Ollama",
-	"Ollama API": "",
+	"Ollama API": "Ollama API",
+	"Ollama API disabled": "API de Ollama deshabilitada",
 	"Ollama Version": "Versión de Ollama",
 	"On": "Activado",
 	"Only": "Solamente",
@@ -342,8 +347,8 @@
 	"pending": "pendiente",
 	"Permission denied when accessing microphone: {{error}}": "Permiso denegado al acceder al micrófono: {{error}}",
 	"Personalization": "Personalización",
-	"Pipelines": "",
-	"Pipelines Valves": "",
+	"Pipelines": "Tuberías",
+	"Pipelines Valves": "Tuberías Válvulas",
 	"Plain text (.txt)": "Texto plano (.txt)",
 	"Playground": "Patio de juegos",
 	"Positive attitude": "Actitud positiva",
@@ -388,33 +393,33 @@
 	"Scan for documents from {{path}}": "Escanear en busca de documentos desde {{path}}",
 	"Search": "Buscar",
 	"Search a model": "Buscar un modelo",
-	"Search Chats": "",
+	"Search Chats": "Chats de búsqueda",
 	"Search Documents": "Buscar Documentos",
-	"Search Models": "",
+	"Search Models": "Modelos de búsqueda",
 	"Search Prompts": "Buscar Prompts",
-	"Search Result Count": "",
-	"Searched {{count}} sites_one": "",
-	"Searched {{count}} sites_many": "",
-	"Searched {{count}} sites_other": "",
-	"Searching the web for '{{searchQuery}}'": "",
-	"Searxng Query URL": "",
+	"Search Result Count": "Recuento de resultados de búsqueda",
+	"Searched {{count}} sites_one": "Buscado {{count}} sites_one",
+	"Searched {{count}} sites_many": "Buscado {{count}} sites_many",
+	"Searched {{count}} sites_other": "Buscó {{count}} sites_other",
+	"Searching the web for '{{searchQuery}}'": "Buscando en la web '{{searchQuery}}'",
+	"Searxng Query URL": "Searxng URL de consulta",
 	"See readme.md for instructions": "Vea el readme.md para instrucciones",
 	"See what's new": "Ver las novedades",
 	"Seed": "Seed",
-	"Select a base model": "",
+	"Select a base model": "Seleccionar un modelo base",
 	"Select a mode": "Selecciona un modo",
 	"Select a model": "Selecciona un modelo",
-	"Select a pipeline": "",
-	"Select a pipeline url": "",
+	"Select a pipeline": "Selección de una canalización",
+	"Select a pipeline url": "Selección de una dirección URL de canalización",
 	"Select an Ollama instance": "Seleccione una instancia de Ollama",
 	"Select model": "Selecciona un modelo",
-	"Selected model(s) do not support image inputs": "",
+	"Selected model(s) do not support image inputs": "Los modelos seleccionados no admiten entradas de imagen",
 	"Send": "Enviar",
 	"Send a Message": "Enviar un Mensaje",
 	"Send message": "Enviar Mensaje",
 	"September": "Septiembre",
-	"Serper API Key": "",
-	"Serpstack API Key": "",
+	"Serper API Key": "Clave API de Serper",
+	"Serpstack API Key": "Clave API de Serpstack",
 	"Server connection verified": "Conexión del servidor verificada",
 	"Set as default": "Establecer por defecto",
 	"Set Default Model": "Establecer modelo predeterminado",
@@ -423,7 +428,7 @@
 	"Set Model": "Establecer el modelo",
 	"Set reranking model (e.g. {{model}})": "Establecer modelo de reranking (ej. {{model}})",
 	"Set Steps": "Establecer Pasos",
-	"Set Task Model": "",
+	"Set Task Model": "Establecer modelo de tarea",
 	"Set Voice": "Establecer la voz",
 	"Settings": "Configuración",
 	"Settings saved successfully!": "¡Configuración guardada exitosamente!",
@@ -482,19 +487,21 @@
 	"Top P": "Top P",
 	"Trouble accessing Ollama?": "¿Problemas para acceder a Ollama?",
 	"TTS Settings": "Configuración de TTS",
-	"Type": "",
+	"Type": "Tipo",
 	"Type Hugging Face Resolve (Download) URL": "Escriba la URL (Descarga) de Hugging Face Resolve",
 	"Uh-oh! There was an issue connecting to {{provider}}.": "¡Uh oh! Hubo un problema al conectarse a {{provider}}.",
 	"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Tipo de archivo desconocido '{{file_type}}', pero se acepta y se trata como texto sin formato",
 	"Update and Copy Link": "Actualizar y copiar enlace",
 	"Update password": "Actualizar contraseña",
 	"Upload a GGUF model": "Subir un modelo GGUF",
-	"Upload Files": "",
+	"Upload Files": "Subir archivos",
 	"Upload Progress": "Progreso de carga",
 	"URL Mode": "Modo de URL",
 	"Use '#' in the prompt input to load and select your documents.": "Utilice '#' en el prompt para cargar y seleccionar sus documentos.",
 	"Use Gravatar": "Usar Gravatar",
 	"Use Initials": "Usar Iniciales",
+	"use_mlock (Ollama)": "use_mlock (Ollama)",
+	"use_mmap (Ollama)": "use_mmap (Ollama)",
 	"user": "usuario",
 	"User Permissions": "Permisos de usuario",
 	"Users": "Usuarios",
@@ -503,13 +510,13 @@
 	"variable": "variable",
 	"variable to have them replaced with clipboard content.": "variable para reemplazarlos con el contenido del portapapeles.",
 	"Version": "Versión",
-	"Warning": "",
+	"Warning": "Advertencia",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Advertencia: Si actualiza o cambia su modelo de inserción, necesitará volver a importar todos los documentos.",
 	"Web": "Web",
 	"Web Loader Settings": "Web Loader Settings",
 	"Web Params": "Web Params",
-	"Web Search": "",
-	"Web Search Engine": "",
+	"Web Search": "Búsqueda en la Web",
+	"Web Search Engine": "Motor de búsqueda web",
 	"Webhook URL": "Webhook URL",
 	"WebUI Add-ons": "WebUI Add-ons",
 	"WebUI Settings": "Configuración del WebUI",
@@ -522,7 +529,7 @@
 	"Write a summary in 50 words that summarizes [topic or keyword].": "Escribe un resumen en 50 palabras que resuma [tema o palabra clave].",
 	"Yesterday": "Ayer",
 	"You": "Usted",
-	"You cannot clone a base model": "",
+	"You cannot clone a base model": "No se puede clonar un modelo base",
 	"You have no archived conversations.": "No tiene conversaciones archivadas.",
 	"You have shared this chat": "Usted ha compartido esta conversación",
 	"You're a helpful assistant.": "Usted es un asistente útil.",

+ 78 - 71
src/lib/i18n/locales/fa-IR/translation.json

@@ -3,19 +3,19 @@
 	"(Beta)": "(بتا)",
 	"(e.g. `sh webui.sh --api`)": "(e.g. `sh webui.sh --api`)",
 	"(latest)": "(آخرین)",
-	"{{ models }}": "",
-	"{{ owner }}: You cannot delete a base model": "",
+	"{{ models }}": "{{ مدل }}",
+	"{{ owner }}: You cannot delete a base model": "{{ مالک }}: شما نمیتوانید یک مدل پایه را حذف کنید",
 	"{{modelName}} is thinking...": "{{modelName}} در حال فکر کردن است...",
 	"{{user}}'s Chats": "{{user}} چت ها",
 	"{{webUIName}} Backend Required": "بکند {{webUIName}} نیاز است.",
-	"A task model is used when performing tasks such as generating titles for chats and web search queries": "",
+	"A task model is used when performing tasks such as generating titles for chats and web search queries": "یک مدل وظیفه هنگام انجام وظایف مانند تولید عناوین برای چت ها و نمایش های جستجوی وب استفاده می شود.",
 	"a user": "یک کاربر",
 	"About": "درباره",
 	"Account": "حساب کاربری",
 	"Accurate information": "اطلاعات دقیق",
 	"Add": "اضافه کردن",
-	"Add a model id": "",
-	"Add a short description about what this model does": "",
+	"Add a model id": "افزودن شناسه مدل",
+	"Add a short description about what this model does": "اضافه کردن توضیحات کوتاه در مورد انچه که این مدل انجام می دهد",
 	"Add a short title for this prompt": "یک عنوان کوتاه برای این درخواست اضافه کنید",
 	"Add a tag": "اضافه کردن یک تگ",
 	"Add custom prompt": "اضافه کردن یک درخواست سفارشی",
@@ -31,12 +31,13 @@
 	"Admin Panel": "پنل مدیریت",
 	"Admin Settings": "تنظیمات مدیریت",
 	"Advanced Parameters": "پارامترهای پیشرفته",
-	"Advanced Params": "",
+	"Advanced Params": "پارام های پیشرفته",
 	"all": "همه",
 	"All Documents": "تمام سند ها",
 	"All Users": "همه کاربران",
 	"Allow": "اجازه دادن",
 	"Allow Chat Deletion": "اجازه حذف گپ",
+	"Allow non-local voices": "",
 	"alphanumeric characters and hyphens": "حروف الفبایی و خط فاصله",
 	"Already have an account?": "از قبل حساب کاربری دارید؟",
 	"an assistant": "یک دستیار",
@@ -48,7 +49,7 @@
 	"API keys": "API keys",
 	"April": "ژوئن",
 	"Archive": "آرشیو",
-	"Archive All Chats": "",
+	"Archive All Chats": "بایگانی همه گفتگوها",
 	"Archived Chats": "آرشیو تاریخچه چت",
 	"are allowed - Activate this command by typing": "مجاز هستند - این دستور را با تایپ کردن این فعال کنید:",
 	"Are you sure?": "آیا مطمئن هستید؟",
@@ -63,14 +64,14 @@
 	"available!": "در دسترس!",
 	"Back": "بازگشت",
 	"Bad Response": "پاسخ خوب نیست",
-	"Banners": "",
-	"Base Model (From)": "",
+	"Banners": "بنر",
+	"Base Model (From)": "مدل پایه (از)",
 	"before": "قبل",
 	"Being lazy": "حالت سازنده",
-	"Brave Search API Key": "",
+	"Brave Search API Key": "کلید API جستجوی شجاع",
 	"Bypass SSL verification for Websites": "عبور از تأیید SSL برای وب سایت ها",
 	"Cancel": "لغو",
-	"Capabilities": "",
+	"Capabilities": "قابلیت",
 	"Change Password": "تغییر رمز عبور",
 	"Chat": "گپ",
 	"Chat Bubble UI": "UI\u200cی\u200c گفتگو\u200c",
@@ -93,14 +94,14 @@
 	"Click here to select documents.": "برای انتخاب اسناد اینجا را کلیک کنید.",
 	"click here.": "اینجا کلیک کنید.",
 	"Click on the user role button to change a user's role.": "برای تغییر نقش کاربر، روی دکمه نقش کاربر کلیک کنید.",
-	"Clone": "",
+	"Clone": "کلون",
 	"Close": "بسته",
 	"Collection": "مجموعه",
 	"ComfyUI": "کومیوآی",
 	"ComfyUI Base URL": "URL پایه کومیوآی",
 	"ComfyUI Base URL is required.": "URL پایه کومیوآی الزامی است.",
 	"Command": "دستور",
-	"Concurrent Requests": "",
+	"Concurrent Requests": "درخواست های همزمان",
 	"Confirm Password": "تایید رمز عبور",
 	"Connections": "ارتباطات",
 	"Content": "محتوا",
@@ -114,7 +115,7 @@
 	"Copy Link": "کپی لینک",
 	"Copying to clipboard was successful!": "کپی کردن در کلیپ بورد با موفقیت انجام شد!",
 	"Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "یک عبارت مختصر و ۳ تا ۵ کلمه ای را به عنوان سرفصل برای پرس و جو زیر ایجاد کنید، به شدت محدودیت ۳-۵ کلمه را رعایت کنید و از استفاده از کلمه 'عنوان' خودداری کنید:",
-	"Create a model": "",
+	"Create a model": "ایجاد یک مدل",
 	"Create Account": "ساخت حساب کاربری",
 	"Create new key": "ساخت کلید جدید",
 	"Create new secret key": "ساخت کلید gehez جدید",
@@ -123,7 +124,7 @@
 	"Current Model": "مدل فعلی",
 	"Current Password": "رمز عبور فعلی",
 	"Custom": "دلخواه",
-	"Customize models for a specific purpose": "",
+	"Customize models for a specific purpose": "سفارشی کردن مدل ها برای یک هدف خاص",
 	"Dark": "تیره",
 	"Database": "پایگاه داده",
 	"December": "دسامبر",
@@ -131,24 +132,24 @@
 	"Default (Automatic1111)": "پیشفرض (Automatic1111)",
 	"Default (SentenceTransformers)": "پیشفرض (SentenceTransformers)",
 	"Default (Web API)": "پیشفرض (Web API)",
-	"Default Model": "",
+	"Default Model": "مدل پیشفرض",
 	"Default model updated": "مدل پیشفرض به\u200cروزرسانی شد",
 	"Default Prompt Suggestions": "پیشنهادات پرامپت پیش فرض",
 	"Default User Role": "نقش کاربر پیش فرض",
 	"delete": "حذف",
 	"Delete": "حذف",
 	"Delete a model": "حذف یک مدل",
-	"Delete All Chats": "",
+	"Delete All Chats": "حذف همه گفتگوها",
 	"Delete chat": "حذف گپ",
 	"Delete Chat": "حذف گپ",
 	"delete this link": "حذف این لینک",
 	"Delete User": "حذف کاربر",
 	"Deleted {{deleteModelTag}}": "{{deleteModelTag}} پاک شد",
-	"Deleted {{name}}": "",
+	"Deleted {{name}}": "حذف شده {{name}}",
 	"Description": "توضیحات",
 	"Didn't fully follow instructions": "نمی تواند دستورالعمل را کامل پیگیری کند",
 	"Disabled": "غیرفعال",
-	"Discover a model": "",
+	"Discover a model": "کشف یک مدل",
 	"Discover a prompt": "یک اعلان را کشف کنید",
 	"Discover, download, and explore custom prompts": "پرامپت\u200cهای سفارشی را کشف، دانلود و کاوش کنید",
 	"Discover, download, and explore model presets": "پیش تنظیمات مدل را کشف، دانلود و کاوش کنید",
@@ -174,27 +175,27 @@
 	"Embedding Model Engine": "محرک مدل پیدائش",
 	"Embedding model set to \"{{embedding_model}}\"": "مدل پیدائش را به \"{{embedding_model}}\" تنظیم کنید",
 	"Enable Chat History": "تاریخچه چت را فعال کنید",
-	"Enable Community Sharing": "",
+	"Enable Community Sharing": "فعالسازی اشتراک انجمن",
 	"Enable New Sign Ups": "فعال کردن ثبت نام\u200cهای جدید",
-	"Enable Web Search": "",
+	"Enable Web Search": "فعالسازی جستجوی وب",
 	"Enabled": "فعال",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "اطمینان حاصل کنید که فایل CSV شما شامل چهار ستون در این ترتیب است: نام، ایمیل، رمز عبور، نقش.",
 	"Enter {{role}} message here": "پیام {{role}} را اینجا وارد کنید",
 	"Enter a detail about yourself for your LLMs to recall": "برای ذخیره سازی اطلاعات خود، یک توضیح کوتاه درباره خود را وارد کنید",
-	"Enter Brave Search API Key": "",
+	"Enter Brave Search API Key": "کلید API جستجوی شجاع را وارد کنید",
 	"Enter Chunk Overlap": "مقدار Chunk Overlap را وارد کنید",
 	"Enter Chunk Size": "مقدار Chunk Size را وارد کنید",
-	"Enter Github Raw URL": "",
-	"Enter Google PSE API Key": "",
-	"Enter Google PSE Engine Id": "",
+	"Enter Github Raw URL": "ادرس Github Raw را وارد کنید",
+	"Enter Google PSE API Key": "کلید API گوگل PSE را وارد کنید",
+	"Enter Google PSE Engine Id": "شناسه موتور PSE گوگل را وارد کنید",
 	"Enter Image Size (e.g. 512x512)": "اندازه تصویر را وارد کنید (مثال: 512x512)",
 	"Enter language codes": "کد زبان را وارد کنید",
 	"Enter model tag (e.g. {{modelTag}})": "تگ مدل را وارد کنید (مثلا {{modelTag}})",
 	"Enter Number of Steps (e.g. 50)": "تعداد گام ها را وارد کنید (مثال: 50)",
 	"Enter Score": "امتیاز را وارد کنید",
-	"Enter Searxng Query URL": "",
-	"Enter Serper API Key": "",
-	"Enter Serpstack API Key": "",
+	"Enter Searxng Query URL": "نشانی وب پرسوجوی Searxng را وارد کنید",
+	"Enter Serper API Key": "کلید API Serper را وارد کنید",
+	"Enter Serpstack API Key": "کلید API Serpstack را وارد کنید",
 	"Enter stop sequence": "توالی توقف را وارد کنید",
 	"Enter Top K": "مقدار Top K را وارد کنید",
 	"Enter URL (e.g. http://127.0.0.1:7860/)": "مقدار URL را وارد کنید (مثال http://127.0.0.1:7860/)",
@@ -203,12 +204,14 @@
 	"Enter Your Full Name": "نام کامل خود را وارد کنید",
 	"Enter Your Password": "رمز عبور خود را وارد کنید",
 	"Enter Your Role": "نقش خود را وارد کنید",
-	"Error": "",
+	"Error": "خطا",
 	"Experimental": "آزمایشی",
+	"Export": "صادرات",
 	"Export All Chats (All Users)": "اکسپورت از همه گپ\u200cها(همه کاربران)",
+	"Export chat (.json)": "",
 	"Export Chats": "اکسپورت از گپ\u200cها",
 	"Export Documents Mapping": "اکسپورت از نگاشت اسناد",
-	"Export Models": "",
+	"Export Models": "مدل های صادرات",
 	"Export Prompts": "اکسپورت از پرامپت\u200cها",
 	"Failed to create API Key.": "ایجاد کلید API با خطا مواجه شد.",
 	"Failed to read clipboard contents": "خواندن محتوای کلیپ بورد ناموفق بود",
@@ -221,15 +224,15 @@
 	"Focus chat input": "فوکوس کردن ورودی گپ",
 	"Followed instructions perfectly": "دستورالعمل ها را کاملا دنبال کرد",
 	"Format your variables using square brackets like this:": "متغیرهای خود را با استفاده از براکت مربع به شکل زیر قالب بندی کنید:",
-	"Frequency Penalty": "",
+	"Frequency Penalty": "مجازات فرکانس",
 	"Full Screen Mode": "حالت تمام صفحه",
 	"General": "عمومی",
 	"General Settings": "تنظیمات عمومی",
-	"Generating search query": "",
+	"Generating search query": "در حال تولید پرسوجوی جستجو",
 	"Generation Info": "اطلاعات تولید",
 	"Good Response": "پاسخ خوب",
-	"Google PSE API Key": "",
-	"Google PSE Engine Id": "",
+	"Google PSE API Key": "گوگل PSE API کلید",
+	"Google PSE Engine Id": "شناسه موتور PSE گوگل",
 	"h:mm a": "h:mm a",
 	"has no conversations.": "ندارد.",
 	"Hello, {{name}}": "سلام، {{name}}",
@@ -243,18 +246,18 @@
 	"Images": "تصاویر",
 	"Import Chats": "ایمپورت گپ\u200cها",
 	"Import Documents Mapping": "ایمپورت نگاشت اسناد",
-	"Import Models": "",
+	"Import Models": "واردات مدلها",
 	"Import Prompts": "ایمپورت پرامپت\u200cها",
 	"Include `--api` flag when running stable-diffusion-webui": "فلگ `--api` را هنکام اجرای stable-diffusion-webui استفاده کنید.",
-	"Info": "",
+	"Info": "اطلاعات",
 	"Input commands": "ورودی دستورات",
-	"Install from Github URL": "",
+	"Install from Github URL": "نصب از ادرس Github",
 	"Interface": "رابط",
 	"Invalid Tag": "تگ نامعتبر",
 	"January": "ژانویه",
 	"join our Discord for help.": "برای کمک به دیسکورد ما بپیوندید.",
 	"JSON": "JSON",
-	"JSON Preview": "",
+	"JSON Preview": "پیش نمایش JSON",
 	"July": "ژوئن",
 	"June": "جولای",
 	"JWT Expiration": "JWT انقضای",
@@ -271,9 +274,9 @@
 	"Make sure to enclose them with": "مطمئن شوید که آنها را با این محصور کنید:",
 	"Manage Models": "مدیریت مدل\u200cها",
 	"Manage Ollama Models": "مدیریت مدل\u200cهای اولاما",
-	"Manage Pipelines": "",
+	"Manage Pipelines": "مدیریت خطوط لوله",
 	"March": "مارچ",
-	"Max Tokens (num_predict)": "",
+	"Max Tokens (num_predict)": "توکنهای بیشینه (num_predict)",
 	"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "حداکثر 3 مدل را می توان به طور همزمان دانلود کرد. لطفاً بعداً دوباره امتحان کنید.",
 	"May": "ماهی",
 	"Memories accessible by LLMs will be shown here.": "حافظه های دسترسی به LLMs در اینجا نمایش داده می شوند.",
@@ -288,12 +291,12 @@
 	"Model '{{modelName}}' has been successfully downloaded.": "مدل '{{modelName}}' با موفقیت دانلود شد.",
 	"Model '{{modelTag}}' is already in queue for downloading.": "مدل '{{modelTag}}' در حال حاضر در صف برای دانلود است.",
 	"Model {{modelId}} not found": "مدل {{modelId}} یافت نشد",
-	"Model {{modelName}} is not vision capable": "",
-	"Model {{name}} is now {{status}}": "",
+	"Model {{modelName}} is not vision capable": "مدل {{modelName}} قادر به بینایی نیست",
+	"Model {{name}} is now {{status}}": "مدل {{name}} در حال حاضر {{status}}",
 	"Model filesystem path detected. Model shortname is required for update, cannot continue.": "مسیر فایل سیستم مدل یافت شد. برای بروزرسانی نیاز است نام کوتاه مدل وجود داشته باشد.",
-	"Model ID": "",
+	"Model ID": "شناسه مدل",
 	"Model not selected": "مدل انتخاب نشده",
-	"Model Params": "",
+	"Model Params": "مدل پارامز",
 	"Model Whitelisting": "لیست سفید مدل",
 	"Model(s) Whitelisted": "مدل در لیست سفید ثبت شد",
 	"Modelfile Content": "محتویات فایل مدل",
@@ -301,23 +304,25 @@
 	"More": "بیشتر",
 	"Name": "نام",
 	"Name Tag": "نام تگ",
-	"Name your model": "",
+	"Name your model": "نام مدل خود را",
 	"New Chat": "گپ جدید",
 	"New Password": "رمز عبور جدید",
 	"No results found": "نتیجه\u200cای یافت نشد",
-	"No search query generated": "",
+	"No search query generated": "پرسوجوی جستجویی ایجاد نشده است",
 	"No source available": "منبعی در دسترس نیست",
-	"None": "",
+	"None": "هیچ کدام",
 	"Not factually correct": "اشتباهی فکری نیست",
-	"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.": "توجه: اگر حداقل نمره را تعیین کنید، جستجو تنها اسنادی را با نمره بیشتر یا برابر با حداقل نمره باز می گرداند.",
 	"Notifications": "اعلان",
 	"November": "نوامبر",
+	"num_thread (Ollama)": "num_thread (اولاما)",
 	"October": "اکتبر",
 	"Off": "خاموش",
 	"Okay, Let's Go!": "باشه، بزن بریم!",
 	"OLED Dark": "OLED تیره",
 	"Ollama": "Ollama",
-	"Ollama API": "",
+	"Ollama API": "Ollama API",
+	"Ollama API disabled": "API Ollama غیرفعال شد",
 	"Ollama Version": "نسخه اولاما",
 	"On": "روشن",
 	"Only": "فقط",
@@ -342,8 +347,8 @@
 	"pending": "در انتظار",
 	"Permission denied when accessing microphone: {{error}}": "هنگام دسترسی به میکروفون، اجازه داده نشد: {{error}}",
 	"Personalization": "شخصی سازی",
-	"Pipelines": "",
-	"Pipelines Valves": "",
+	"Pipelines": "خط لوله",
+	"Pipelines Valves": "شیرالات خطوط لوله",
 	"Plain text (.txt)": "متن ساده (.txt)",
 	"Playground": "زمین بازی",
 	"Positive attitude": "نظرات مثبت",
@@ -388,32 +393,32 @@
 	"Scan for documents from {{path}}": "اسکن اسناد از {{path}}",
 	"Search": "جستجو",
 	"Search a model": "جستجوی مدل",
-	"Search Chats": "",
+	"Search Chats": "جستجو گپ ها",
 	"Search Documents": "جستجوی اسناد",
-	"Search Models": "",
+	"Search Models": "مدل های جستجو",
 	"Search Prompts": "جستجوی پرامپت\u200cها",
-	"Search Result Count": "",
-	"Searched {{count}} sites_one": "",
-	"Searched {{count}} sites_other": "",
-	"Searching the web for '{{searchQuery}}'": "",
-	"Searxng Query URL": "",
+	"Search Result Count": "تعداد نتایج جستجو",
+	"Searched {{count}} sites_one": "جستجو {{count}} sites_one",
+	"Searched {{count}} sites_other": "جستجو {{count}} sites_other",
+	"Searching the web for '{{searchQuery}}'": "جستجو در وب برای '{searchQuery}}'",
+	"Searxng Query URL": "نشانی وب جستجوی Searxng",
 	"See readme.md for instructions": "برای مشاهده دستورالعمل\u200cها به readme.md مراجعه کنید",
 	"See what's new": "ببینید موارد جدید چه بوده",
 	"Seed": "Seed",
-	"Select a base model": "",
+	"Select a base model": "انتخاب یک مدل پایه",
 	"Select a mode": "یک حالت انتخاب کنید",
 	"Select a model": "انتخاب یک مدل",
-	"Select a pipeline": "",
-	"Select a pipeline url": "",
+	"Select a pipeline": "انتخاب یک خط لوله",
+	"Select a pipeline url": "یک ادرس خط لوله را انتخاب کنید",
 	"Select an Ollama instance": "انتخاب یک نمونه از اولاما",
 	"Select model": "انتخاب یک مدل",
-	"Selected model(s) do not support image inputs": "",
+	"Selected model(s) do not support image inputs": "مدل) های (انتخاب شده ورودیهای تصویر را پشتیبانی نمیکند",
 	"Send": "ارسال",
 	"Send a Message": "ارسال یک پیام",
 	"Send message": "ارسال پیام",
 	"September": "سپتامبر",
-	"Serper API Key": "",
-	"Serpstack API Key": "",
+	"Serper API Key": "کلید API Serper",
+	"Serpstack API Key": "کلید API Serpstack",
 	"Server connection verified": "اتصال سرور تأیید شد",
 	"Set as default": "تنظیم به عنوان پیشفرض",
 	"Set Default Model": "تنظیم مدل پیش فرض",
@@ -422,7 +427,7 @@
 	"Set Model": "تنظیم مدل",
 	"Set reranking model (e.g. {{model}})": "تنظیم مدل ری\u200cراینگ (برای مثال {{model}})",
 	"Set Steps": "تنظیم گام\u200cها",
-	"Set Task Model": "",
+	"Set Task Model": "تنظیم مدل تکلیف",
 	"Set Voice": "تنظیم صدا",
 	"Settings": "تنظیمات",
 	"Settings saved successfully!": "تنظیمات با موفقیت ذخیره شد!",
@@ -481,19 +486,21 @@
 	"Top P": "Top P",
 	"Trouble accessing Ollama?": "در دسترسی به اولاما مشکل دارید؟",
 	"TTS Settings": "تنظیمات TTS",
-	"Type": "",
+	"Type": "نوع",
 	"Type Hugging Face Resolve (Download) URL": "مقدار URL دانلود (Resolve) Hugging Face را وارد کنید",
 	"Uh-oh! There was an issue connecting to {{provider}}.": "اوه اوه! مشکلی در اتصال به {{provider}} وجود داشت.",
 	"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "نوع فایل '{{file_type}}' ناشناخته است، به عنوان یک فایل متنی ساده با آن برخورد می شود.",
 	"Update and Copy Link": "به روزرسانی و کپی لینک",
 	"Update password": "به روزرسانی رمزعبور",
 	"Upload a GGUF model": "آپلود یک مدل GGUF",
-	"Upload Files": "",
+	"Upload Files": "بارگذاری پروندهها",
 	"Upload Progress": "پیشرفت آپلود",
 	"URL Mode": "حالت URL",
 	"Use '#' in the prompt input to load and select your documents.": "در پرامپت از '#' برای لود و انتخاب اسناد خود استفاده کنید.",
 	"Use Gravatar": "استفاده از گراواتار",
 	"Use Initials": "استفاده از آبزوده",
+	"use_mlock (Ollama)": "use_mlock (اولاما)",
+	"use_mmap (Ollama)": "use_mmap (اولاما)",
 	"user": "کاربر",
 	"User Permissions": "مجوزهای کاربر",
 	"Users": "کاربران",
@@ -502,13 +509,13 @@
 	"variable": "متغیر",
 	"variable to have them replaced with clipboard content.": "متغیر برای جایگزینی آنها با محتوای کلیپ بورد.",
 	"Version": "نسخه",
-	"Warning": "",
+	"Warning": "هشدار",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "هشدار: اگر شما به روز کنید یا تغییر دهید مدل شما، باید تمام سند ها را مجددا وارد کنید.",
 	"Web": "وب",
 	"Web Loader Settings": "تنظیمات لودر وب",
 	"Web Params": "پارامترهای وب",
-	"Web Search": "",
-	"Web Search Engine": "",
+	"Web Search": "جستجوی وب",
+	"Web Search Engine": "موتور جستجوی وب",
 	"Webhook URL": "URL وبهوک",
 	"WebUI Add-ons": "WebUI افزونه\u200cهای",
 	"WebUI Settings": "تنظیمات WebUI",
@@ -521,7 +528,7 @@
 	"Write a summary in 50 words that summarizes [topic or keyword].": "خلاصه ای در 50 کلمه بنویسید که [موضوع یا کلمه کلیدی] را خلاصه کند.",
 	"Yesterday": "دیروز",
 	"You": "شما",
-	"You cannot clone a base model": "",
+	"You cannot clone a base model": "شما نمیتوانید یک مدل پایه را کلون کنید",
 	"You have no archived conversations.": "شما هیچ گفتگوی ذخیره شده ندارید.",
 	"You have shared this chat": "شما این گفتگو را به اشتراک گذاشته اید",
 	"You're a helpful assistant.": "تو یک دستیار سودمند هستی.",

+ 77 - 70
src/lib/i18n/locales/fi-FI/translation.json

@@ -3,19 +3,19 @@
 	"(Beta)": "(Beta)",
 	"(e.g. `sh webui.sh --api`)": "(esim. `sh webui.sh --api`)",
 	"(latest)": "(uusin)",
-	"{{ models }}": "",
-	"{{ owner }}: You cannot delete a base model": "",
+	"{{ models }}": "{{ mallit }}",
+	"{{ owner }}: You cannot delete a base model": "{{ omistaja }}: Perusmallia ei voi poistaa",
 	"{{modelName}} is thinking...": "{{modelName}} miettii...",
 	"{{user}}'s Chats": "{{user}}:n keskustelut",
 	"{{webUIName}} Backend Required": "{{webUIName}} backend vaaditaan",
-	"A task model is used when performing tasks such as generating titles for chats and web search queries": "",
+	"A task model is used when performing tasks such as generating titles for chats and web search queries": "Tehtävämallia käytetään tehtävien suorittamiseen, kuten otsikoiden luomiseen keskusteluille ja verkkohakukyselyille",
 	"a user": "käyttäjä",
 	"About": "Tietoja",
 	"Account": "Tili",
 	"Accurate information": "Tarkkaa tietoa",
 	"Add": "Lisää",
-	"Add a model id": "",
-	"Add a short description about what this model does": "",
+	"Add a model id": "Mallitunnuksen lisääminen",
+	"Add a short description about what this model does": "Lisää lyhyt kuvaus siitä, mitä tämä malli tekee",
 	"Add a short title for this prompt": "Lisää lyhyt otsikko tälle kehotteelle",
 	"Add a tag": "Lisää tagi",
 	"Add custom prompt": "Lisää mukautettu kehote",
@@ -31,12 +31,13 @@
 	"Admin Panel": "Hallintapaneeli",
 	"Admin Settings": "Hallinta-asetukset",
 	"Advanced Parameters": "Edistyneet parametrit",
-	"Advanced Params": "",
+	"Advanced Params": "Edistyneet parametrit",
 	"all": "kaikki",
 	"All Documents": "Kaikki asiakirjat",
 	"All Users": "Kaikki käyttäjät",
 	"Allow": "Salli",
 	"Allow Chat Deletion": "Salli keskustelujen poisto",
+	"Allow non-local voices": "",
 	"alphanumeric characters and hyphens": "kirjaimia, numeroita ja väliviivoja",
 	"Already have an account?": "Onko sinulla jo tili?",
 	"an assistant": "avustaja",
@@ -48,7 +49,7 @@
 	"API keys": "API-avaimet",
 	"April": "huhtikuu",
 	"Archive": "Arkisto",
-	"Archive All Chats": "",
+	"Archive All Chats": "Arkistoi kaikki keskustelut",
 	"Archived Chats": "Arkistoidut keskustelut",
 	"are allowed - Activate this command by typing": "ovat sallittuja - Aktivoi tämä komento kirjoittamalla",
 	"Are you sure?": "Oletko varma?",
@@ -63,14 +64,14 @@
 	"available!": "saatavilla!",
 	"Back": "Takaisin",
 	"Bad Response": "Epäkelpo vastaus",
-	"Banners": "",
-	"Base Model (From)": "",
+	"Banners": "Bannerit",
+	"Base Model (From)": "Perusmalli (alkaen)",
 	"before": "ennen",
 	"Being lazy": "Oli laiska",
-	"Brave Search API Key": "",
+	"Brave Search API Key": "Brave Search API -avain",
 	"Bypass SSL verification for Websites": "Ohita SSL-varmennus verkkosivustoille",
 	"Cancel": "Peruuta",
-	"Capabilities": "",
+	"Capabilities": "Ominaisuuksia",
 	"Change Password": "Vaihda salasana",
 	"Chat": "Keskustelu",
 	"Chat Bubble UI": "Keskustelu-pallojen käyttöliittymä",
@@ -93,14 +94,14 @@
 	"Click here to select documents.": "Klikkaa tästä valitaksesi asiakirjoja.",
 	"click here.": "klikkaa tästä.",
 	"Click on the user role button to change a user's role.": "Klikkaa käyttäjän roolipainiketta vaihtaaksesi käyttäjän roolia.",
-	"Clone": "",
+	"Clone": "Klooni",
 	"Close": "Sulje",
 	"Collection": "Kokoelma",
 	"ComfyUI": "ComfyUI",
 	"ComfyUI Base URL": "ComfyUI-perus-URL",
 	"ComfyUI Base URL is required.": "ComfyUI-perus-URL vaaditaan.",
 	"Command": "Komento",
-	"Concurrent Requests": "",
+	"Concurrent Requests": "Samanaikaiset pyynnöt",
 	"Confirm Password": "Vahvista salasana",
 	"Connections": "Yhteydet",
 	"Content": "Sisältö",
@@ -114,7 +115,7 @@
 	"Copy Link": "Kopioi linkki",
 	"Copying to clipboard was successful!": "Kopioiminen leikepöydälle onnistui!",
 	"Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "Luo tiivis, 3-5 sanan lause otsikoksi seuraavalle kyselylle, noudattaen tiukasti 3-5 sanan rajoitusta ja välttäen sanan 'otsikko' käyttöä:",
-	"Create a model": "",
+	"Create a model": "Mallin luominen",
 	"Create Account": "Luo tili",
 	"Create new key": "Luo uusi avain",
 	"Create new secret key": "Luo uusi salainen avain",
@@ -123,7 +124,7 @@
 	"Current Model": "Nykyinen malli",
 	"Current Password": "Nykyinen salasana",
 	"Custom": "Mukautettu",
-	"Customize models for a specific purpose": "",
+	"Customize models for a specific purpose": "Mallien mukauttaminen tiettyyn tarkoitukseen",
 	"Dark": "Tumma",
 	"Database": "Tietokanta",
 	"December": "joulukuu",
@@ -131,24 +132,24 @@
 	"Default (Automatic1111)": "Oletus (AUTOMATIC1111)",
 	"Default (SentenceTransformers)": "Oletus (SentenceTransformers)",
 	"Default (Web API)": "Oletus (web-API)",
-	"Default Model": "",
+	"Default Model": "Oletusmalli",
 	"Default model updated": "Oletusmalli päivitetty",
 	"Default Prompt Suggestions": "Oletuskehotteiden ehdotukset",
 	"Default User Role": "Oletuskäyttäjärooli",
 	"delete": "poista",
 	"Delete": "Poista",
 	"Delete a model": "Poista malli",
-	"Delete All Chats": "",
+	"Delete All Chats": "Poista kaikki keskustelut",
 	"Delete chat": "Poista keskustelu",
 	"Delete Chat": "Poista keskustelu",
 	"delete this link": "poista tämä linkki",
 	"Delete User": "Poista käyttäjä",
 	"Deleted {{deleteModelTag}}": "Poistettu {{deleteModelTag}}",
-	"Deleted {{name}}": "",
+	"Deleted {{name}}": "Poistettu {{nimi}}",
 	"Description": "Kuvaus",
 	"Didn't fully follow instructions": "Ei noudattanut ohjeita täysin",
 	"Disabled": "Poistettu käytöstä",
-	"Discover a model": "",
+	"Discover a model": "Tutustu malliin",
 	"Discover a prompt": "Löydä kehote",
 	"Discover, download, and explore custom prompts": "Löydä ja lataa mukautettuja kehotteita",
 	"Discover, download, and explore model presets": "Löydä ja lataa mallien esiasetuksia",
@@ -174,27 +175,27 @@
 	"Embedding Model Engine": "Upotusmallin moottori",
 	"Embedding model set to \"{{embedding_model}}\"": "\"{{embedding_model}}\" valittu upotusmalliksi",
 	"Enable Chat History": "Ota keskusteluhistoria käyttöön",
-	"Enable Community Sharing": "",
+	"Enable Community Sharing": "Ota yhteisön jakaminen käyttöön",
 	"Enable New Sign Ups": "Salli uudet rekisteröitymiset",
-	"Enable Web Search": "",
+	"Enable Web Search": "Ota verkkohaku käyttöön",
 	"Enabled": "Käytössä",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Varmista, että CSV-tiedostossasi on 4 saraketta seuraavassa järjestyksessä: Nimi, Sähköposti, Salasana, Rooli.",
 	"Enter {{role}} message here": "Kirjoita {{role}} viesti tähän",
 	"Enter a detail about yourself for your LLMs to recall": "Kirjoita tieto itseestäsi LLM:ien muistamiseksi",
-	"Enter Brave Search API Key": "",
+	"Enter Brave Search API Key": "Anna Brave Search API -avain",
 	"Enter Chunk Overlap": "Syötä osien päällekkäisyys",
 	"Enter Chunk Size": "Syötä osien koko",
-	"Enter Github Raw URL": "",
-	"Enter Google PSE API Key": "",
-	"Enter Google PSE Engine Id": "",
+	"Enter Github Raw URL": "Kirjoita Github Raw URL-osoite",
+	"Enter Google PSE API Key": "Anna Google PSE API -avain",
+	"Enter Google PSE Engine Id": "Anna Google PSE -moottorin tunnus",
 	"Enter Image Size (e.g. 512x512)": "Syötä kuvan koko (esim. 512x512)",
 	"Enter language codes": "Syötä kielikoodit",
 	"Enter model tag (e.g. {{modelTag}})": "Syötä mallitagi (esim. {{modelTag}})",
 	"Enter Number of Steps (e.g. 50)": "Syötä askelien määrä (esim. 50)",
 	"Enter Score": "Syötä pisteet",
-	"Enter Searxng Query URL": "",
-	"Enter Serper API Key": "",
-	"Enter Serpstack API Key": "",
+	"Enter Searxng Query URL": "Kirjoita Searxng-kyselyn URL-osoite",
+	"Enter Serper API Key": "Anna Serper API -avain",
+	"Enter Serpstack API Key": "Anna Serpstack API -avain",
 	"Enter stop sequence": "Syötä lopetussekvenssi",
 	"Enter Top K": "Syötä Top K",
 	"Enter URL (e.g. http://127.0.0.1:7860/)": "Syötä URL (esim. http://127.0.0.1:7860/)",
@@ -203,12 +204,14 @@
 	"Enter Your Full Name": "Syötä koko nimesi",
 	"Enter Your Password": "Syötä salasanasi",
 	"Enter Your Role": "Syötä roolisi",
-	"Error": "",
+	"Error": "Virhe",
 	"Experimental": "Kokeellinen",
+	"Export": "Vienti",
 	"Export All Chats (All Users)": "Vie kaikki keskustelut (kaikki käyttäjät)",
+	"Export chat (.json)": "",
 	"Export Chats": "Vie keskustelut",
 	"Export Documents Mapping": "Vie asiakirjakartoitus",
-	"Export Models": "",
+	"Export Models": "Vie malleja",
 	"Export Prompts": "Vie kehotteet",
 	"Failed to create API Key.": "API-avaimen luonti epäonnistui.",
 	"Failed to read clipboard contents": "Leikepöydän sisällön lukeminen epäonnistui",
@@ -221,15 +224,15 @@
 	"Focus chat input": "Fokusoi syöttökenttään",
 	"Followed instructions perfectly": "Noudatti ohjeita täydellisesti",
 	"Format your variables using square brackets like this:": "Muotoile muuttujat hakasulkeilla näin:",
-	"Frequency Penalty": "",
+	"Frequency Penalty": "Taajuussakko",
 	"Full Screen Mode": "Koko näytön tila",
 	"General": "Yleinen",
 	"General Settings": "Yleisasetukset",
-	"Generating search query": "",
+	"Generating search query": "Hakukyselyn luominen",
 	"Generation Info": "Generointitiedot",
 	"Good Response": "Hyvä vastaus",
-	"Google PSE API Key": "",
-	"Google PSE Engine Id": "",
+	"Google PSE API Key": "Google PSE API -avain",
+	"Google PSE Engine Id": "Google PSE -moduulin tunnus",
 	"h:mm a": "h:mm a",
 	"has no conversations.": "ei ole keskusteluja.",
 	"Hello, {{name}}": "Terve, {{name}}",
@@ -243,18 +246,18 @@
 	"Images": "Kuvat",
 	"Import Chats": "Tuo keskustelut",
 	"Import Documents Mapping": "Tuo asiakirjakartoitus",
-	"Import Models": "",
+	"Import Models": "Mallien tuominen",
 	"Import Prompts": "Tuo kehotteita",
 	"Include `--api` flag when running stable-diffusion-webui": "Sisällytä `--api`-parametri suorittaessasi stable-diffusion-webui",
-	"Info": "",
+	"Info": "Info",
 	"Input commands": "Syötä komennot",
-	"Install from Github URL": "",
+	"Install from Github URL": "Asenna Githubin URL-osoitteesta",
 	"Interface": "Käyttöliittymä",
 	"Invalid Tag": "Virheellinen tagi",
 	"January": "tammikuu",
 	"join our Discord for help.": "liity Discordiimme saadaksesi apua.",
 	"JSON": "JSON",
-	"JSON Preview": "",
+	"JSON Preview": "JSON-esikatselu",
 	"July": "heinäkuu",
 	"June": "kesäkuu",
 	"JWT Expiration": "JWT:n vanheneminen",
@@ -271,9 +274,9 @@
 	"Make sure to enclose them with": "Varmista, että suljet ne",
 	"Manage Models": "Hallitse malleja",
 	"Manage Ollama Models": "Hallitse Ollama-malleja",
-	"Manage Pipelines": "",
+	"Manage Pipelines": "Hallitse putkia",
 	"March": "maaliskuu",
-	"Max Tokens (num_predict)": "",
+	"Max Tokens (num_predict)": "Tokenien enimmäismäärä (num_predict)",
 	"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Enintään 3 mallia voidaan ladata samanaikaisesti. Yritä myöhemmin uudelleen.",
 	"May": "toukokuu",
 	"Memories accessible by LLMs will be shown here.": "Muistitiedostot, joita LLM-ohjelmat käyttävät, näkyvät tässä.",
@@ -288,12 +291,12 @@
 	"Model '{{modelName}}' has been successfully downloaded.": "Malli '{{modelName}}' ladattiin onnistuneesti.",
 	"Model '{{modelTag}}' is already in queue for downloading.": "Malli '{{modelTag}}' on jo jonossa ladattavaksi.",
 	"Model {{modelId}} not found": "Mallia {{modelId}} ei löytynyt",
-	"Model {{modelName}} is not vision capable": "",
-	"Model {{name}} is now {{status}}": "",
+	"Model {{modelName}} is not vision capable": "Malli {{modelName}} ei kykene näkökykyyn",
+	"Model {{name}} is now {{status}}": "Malli {{name}} on nyt {{status}}",
 	"Model filesystem path detected. Model shortname is required for update, cannot continue.": "Mallin tiedostojärjestelmäpolku havaittu. Mallin lyhytnimi vaaditaan päivitykseen, ei voi jatkaa.",
-	"Model ID": "",
+	"Model ID": "Mallin tunnus",
 	"Model not selected": "Mallia ei valittu",
-	"Model Params": "",
+	"Model Params": "Mallin parametrit",
 	"Model Whitelisting": "Mallin sallimislista",
 	"Model(s) Whitelisted": "Malli(t) sallittu",
 	"Modelfile Content": "Mallitiedoston sisältö",
@@ -301,23 +304,25 @@
 	"More": "Lisää",
 	"Name": "Nimi",
 	"Name Tag": "Nimitagi",
-	"Name your model": "",
+	"Name your model": "Mallin nimeäminen",
 	"New Chat": "Uusi keskustelu",
 	"New Password": "Uusi salasana",
 	"No results found": "Ei tuloksia",
-	"No search query generated": "",
+	"No search query generated": "Hakukyselyä ei luotu",
 	"No source available": "Ei lähdettä saatavilla",
-	"None": "",
+	"None": "Ei lainkaan",
 	"Not factually correct": "Ei faktisesti oikein",
 	"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Huom: Jos asetat vähimmäispisteet, haku palauttaa vain asiakirjat, joiden pisteet ovat suurempia tai yhtä suuria kuin vähimmäispistemäärä.",
 	"Notifications": "Ilmoitukset",
 	"November": "marraskuu",
+	"num_thread (Ollama)": "num_thread (Ollama)",
 	"October": "lokakuu",
 	"Off": "Pois",
 	"Okay, Let's Go!": "Eikun menoksi!",
 	"OLED Dark": "OLED-tumma",
 	"Ollama": "Ollama",
-	"Ollama API": "",
+	"Ollama API": "Ollama API",
+	"Ollama API disabled": "Ollama API poistettu käytöstä",
 	"Ollama Version": "Ollama-versio",
 	"On": "Päällä",
 	"Only": "Vain",
@@ -342,8 +347,8 @@
 	"pending": "odottaa",
 	"Permission denied when accessing microphone: {{error}}": "Mikrofonin käyttöoikeus evätty: {{error}}",
 	"Personalization": "Henkilökohtaisuus",
-	"Pipelines": "",
-	"Pipelines Valves": "",
+	"Pipelines": "Putkistot",
+	"Pipelines Valves": "Putkistot Venttiilit",
 	"Plain text (.txt)": "Pelkkä teksti (.txt)",
 	"Playground": "Leikkipaikka",
 	"Positive attitude": "Positiivinen asenne",
@@ -388,32 +393,32 @@
 	"Scan for documents from {{path}}": "Skannaa asiakirjoja polusta {{path}}",
 	"Search": "Haku",
 	"Search a model": "Hae mallia",
-	"Search Chats": "",
+	"Search Chats": "Etsi chatteja",
 	"Search Documents": "Hae asiakirjoja",
-	"Search Models": "",
+	"Search Models": "Hae malleja",
 	"Search Prompts": "Hae kehotteita",
-	"Search Result Count": "",
-	"Searched {{count}} sites_one": "",
-	"Searched {{count}} sites_other": "",
-	"Searching the web for '{{searchQuery}}'": "",
-	"Searxng Query URL": "",
+	"Search Result Count": "Hakutulosten määrä",
+	"Searched {{count}} sites_one": "Haettu {{count}} sites_one",
+	"Searched {{count}} sites_other": "Haku {{count}} sites_other",
+	"Searching the web for '{{searchQuery}}'": "Haku verkosta hakusanalla {{searchQuery}}",
+	"Searxng Query URL": "Searxng-kyselyn URL-osoite",
 	"See readme.md for instructions": "Katso lisää ohjeita readme.md:stä",
 	"See what's new": "Katso, mitä uutta",
 	"Seed": "Siemen",
-	"Select a base model": "",
+	"Select a base model": "Valitse perusmalli",
 	"Select a mode": "Valitse tila",
 	"Select a model": "Valitse malli",
-	"Select a pipeline": "",
-	"Select a pipeline url": "",
+	"Select a pipeline": "Valitse putki",
+	"Select a pipeline url": "Valitse putken URL-osoite",
 	"Select an Ollama instance": "Valitse Ollama-instanssi",
 	"Select model": "Valitse malli",
-	"Selected model(s) do not support image inputs": "",
+	"Selected model(s) do not support image inputs": "Valitut mallit eivät tue kuvasyötteitä",
 	"Send": "Lähetä",
 	"Send a Message": "Lähetä viesti",
 	"Send message": "Lähetä viesti",
 	"September": "syyskuu",
-	"Serper API Key": "",
-	"Serpstack API Key": "",
+	"Serper API Key": "Serper API -avain",
+	"Serpstack API Key": "Serpstack API -avain",
 	"Server connection verified": "Palvelinyhteys varmennettu",
 	"Set as default": "Aseta oletukseksi",
 	"Set Default Model": "Aseta oletusmalli",
@@ -422,7 +427,7 @@
 	"Set Model": "Aseta malli",
 	"Set reranking model (e.g. {{model}})": "Aseta uudelleenpisteytysmalli (esim. {{model}})",
 	"Set Steps": "Aseta askelmäärä",
-	"Set Task Model": "",
+	"Set Task Model": "Aseta tehtävämalli",
 	"Set Voice": "Aseta puheääni",
 	"Settings": "Asetukset",
 	"Settings saved successfully!": "Asetukset tallennettu onnistuneesti!",
@@ -481,19 +486,21 @@
 	"Top P": "Top P",
 	"Trouble accessing Ollama?": "Ongelmia Ollama-yhteydessä?",
 	"TTS Settings": "Puheentuottamisasetukset",
-	"Type": "",
+	"Type": "Tyyppi",
 	"Type Hugging Face Resolve (Download) URL": "Kirjoita Hugging Face -resolve-osoite",
 	"Uh-oh! There was an issue connecting to {{provider}}.": "Voi ei! Yhteysongelma {{provider}}:n kanssa.",
 	"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Tuntematon tiedostotyyppi '{{file_type}}', mutta hyväksytään ja käsitellään pelkkänä tekstinä",
 	"Update and Copy Link": "Päivitä ja kopioi linkki",
 	"Update password": "Päivitä salasana",
 	"Upload a GGUF model": "Lataa GGUF-malli",
-	"Upload Files": "",
+	"Upload Files": "Lataa tiedostoja",
 	"Upload Progress": "Latauksen eteneminen",
 	"URL Mode": "URL-tila",
 	"Use '#' in the prompt input to load and select your documents.": "Käytä '#' syötteessä ladataksesi ja valitaksesi asiakirjoja.",
 	"Use Gravatar": "Käytä Gravataria",
 	"Use Initials": "Käytä alkukirjaimia",
+	"use_mlock (Ollama)": "use_mlock (Ollama)",
+	"use_mmap (Ollama)": "use_mmap (Ollama)",
 	"user": "käyttäjä",
 	"User Permissions": "Käyttäjäoikeudet",
 	"Users": "Käyttäjät",
@@ -502,13 +509,13 @@
 	"variable": "muuttuja",
 	"variable to have them replaced with clipboard content.": "muuttuja korvataan leikepöydän sisällöllä.",
 	"Version": "Versio",
-	"Warning": "",
+	"Warning": "Varoitus",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Varoitus: Jos päivität tai vaihdat upotusmallia, sinun on tuotava kaikki asiakirjat uudelleen.",
 	"Web": "Web",
 	"Web Loader Settings": "Web Loader asetukset",
 	"Web Params": "Web-parametrit",
-	"Web Search": "",
-	"Web Search Engine": "",
+	"Web Search": "Web-haku",
+	"Web Search Engine": "Web-hakukone",
 	"Webhook URL": "Webhook-URL",
 	"WebUI Add-ons": "WebUI-lisäosat",
 	"WebUI Settings": "WebUI-asetukset",
@@ -521,7 +528,7 @@
 	"Write a summary in 50 words that summarizes [topic or keyword].": "Kirjoita 50 sanan yhteenveto, joka tiivistää [aihe tai avainsana].",
 	"Yesterday": "Eilen",
 	"You": "Sinä",
-	"You cannot clone a base model": "",
+	"You cannot clone a base model": "Perusmallia ei voi kloonata",
 	"You have no archived conversations.": "Sinulla ei ole arkistoituja keskusteluja.",
 	"You have shared this chat": "Olet jakanut tämän keskustelun",
 	"You're a helpful assistant.": "Olet avulias apulainen.",

+ 78 - 71
src/lib/i18n/locales/fr-CA/translation.json

@@ -3,19 +3,19 @@
 	"(Beta)": "(Bêta)",
 	"(e.g. `sh webui.sh --api`)": "(par ex. `sh webui.sh --api`)",
 	"(latest)": "(dernière)",
-	"{{ models }}": "",
-	"{{ owner }}: You cannot delete a base model": "",
+	"{{ models }}": "{{ modèles }}",
+	"{{ owner }}: You cannot delete a base model": "{{ propriétaire }} : vous ne pouvez pas supprimer un modèle de base",
 	"{{modelName}} is thinking...": "{{modelName}} réfléchit...",
 	"{{user}}'s Chats": "{{user}}'s Chats",
 	"{{webUIName}} Backend Required": "Backend {{webUIName}} requis",
-	"A task model is used when performing tasks such as generating titles for chats and web search queries": "",
+	"A task model is used when performing tasks such as generating titles for chats and web search queries": "Un modèle de tâche est utilisé lors de l’exécution de tâches telles que la génération de titres pour les chats et les requêtes de recherche Web",
 	"a user": "un utilisateur",
 	"About": "À propos",
 	"Account": "Compte",
 	"Accurate information": "Information précise",
 	"Add": "Ajouter",
-	"Add a model id": "",
-	"Add a short description about what this model does": "",
+	"Add a model id": "Ajouter un id de modèle",
+	"Add a short description about what this model does": "Ajoutez une brève description de ce que fait ce modèle",
 	"Add a short title for this prompt": "Ajouter un court titre pour ce prompt",
 	"Add a tag": "Ajouter un tag",
 	"Add custom prompt": "Ajouter un prompt personnalisé",
@@ -31,12 +31,13 @@
 	"Admin Panel": "Panneau d'administration",
 	"Admin Settings": "Paramètres d'administration",
 	"Advanced Parameters": "Paramètres avancés",
-	"Advanced Params": "",
+	"Advanced Params": "Params avancés",
 	"all": "tous",
 	"All Documents": "Tous les documents",
 	"All Users": "Tous les utilisateurs",
 	"Allow": "Autoriser",
 	"Allow Chat Deletion": "Autoriser la suppression des discussions",
+	"Allow non-local voices": "",
 	"alphanumeric characters and hyphens": "caractères alphanumériques et tirets",
 	"Already have an account?": "Vous avez déjà un compte ?",
 	"an assistant": "un assistant",
@@ -48,7 +49,7 @@
 	"API keys": "Clés API",
 	"April": "Avril",
 	"Archive": "Archiver",
-	"Archive All Chats": "",
+	"Archive All Chats": "Archiver tous les chats",
 	"Archived Chats": "enregistrement du chat",
 	"are allowed - Activate this command by typing": "sont autorisés - Activez cette commande en tapant",
 	"Are you sure?": "Êtes-vous sûr ?",
@@ -63,14 +64,14 @@
 	"available!": "disponible !",
 	"Back": "Retour",
 	"Bad Response": "Mauvaise réponse",
-	"Banners": "",
-	"Base Model (From)": "",
+	"Banners": "Bannières",
+	"Base Model (From)": "Modèle de base (à partir de)",
 	"before": "avant",
 	"Being lazy": "En manque de temps",
-	"Brave Search API Key": "",
+	"Brave Search API Key": "Clé d’API de recherche brave",
 	"Bypass SSL verification for Websites": "Parcourir la vérification SSL pour les sites Web",
 	"Cancel": "Annuler",
-	"Capabilities": "",
+	"Capabilities": "Capacités",
 	"Change Password": "Changer le mot de passe",
 	"Chat": "Discussion",
 	"Chat Bubble UI": "Bubble UI de discussion",
@@ -93,14 +94,14 @@
 	"Click here to select documents.": "Cliquez ici pour sélectionner des documents.",
 	"click here.": "cliquez ici.",
 	"Click on the user role button to change a user's role.": "Cliquez sur le bouton de rôle d'utilisateur pour changer le rôle d'un utilisateur.",
-	"Clone": "",
+	"Clone": "Cloner",
 	"Close": "Fermer",
 	"Collection": "Collection",
 	"ComfyUI": "ComfyUI",
 	"ComfyUI Base URL": "ComfyUI Base URL",
 	"ComfyUI Base URL is required.": "ComfyUI Base URL est requis.",
 	"Command": "Commande",
-	"Concurrent Requests": "",
+	"Concurrent Requests": "Demandes simultanées",
 	"Confirm Password": "Confirmer le mot de passe",
 	"Connections": "Connexions",
 	"Content": "Contenu",
@@ -114,7 +115,7 @@
 	"Copy Link": "Copier le lien",
 	"Copying to clipboard was successful!": "La copie dans le presse-papiers a réussi !",
 	"Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "Créez une phrase concise de 3 à 5 mots comme en-tête pour la requête suivante, en respectant strictement la limite de 3 à 5 mots et en évitant l'utilisation du mot 'titre' :",
-	"Create a model": "",
+	"Create a model": "Créer un modèle",
 	"Create Account": "Créer un compte",
 	"Create new key": "Créer une nouvelle clé",
 	"Create new secret key": "Créer une nouvelle clé secrète",
@@ -123,7 +124,7 @@
 	"Current Model": "Modèle actuel",
 	"Current Password": "Mot de passe actuel",
 	"Custom": "Personnalisé",
-	"Customize models for a specific purpose": "",
+	"Customize models for a specific purpose": "Personnaliser les modèles dans un but spécifique",
 	"Dark": "Sombre",
 	"Database": "Base de données",
 	"December": "Décembre",
@@ -131,24 +132,24 @@
 	"Default (Automatic1111)": "Par défaut (Automatic1111)",
 	"Default (SentenceTransformers)": "Par défaut (SentenceTransformers)",
 	"Default (Web API)": "Par défaut (API Web)",
-	"Default Model": "",
+	"Default Model": "Modèle par défaut",
 	"Default model updated": "Modèle par défaut mis à jour",
 	"Default Prompt Suggestions": "Suggestions de prompt par défaut",
 	"Default User Role": "Rôle d'utilisateur par défaut",
 	"delete": "supprimer",
 	"Delete": "Supprimer",
 	"Delete a model": "Supprimer un modèle",
-	"Delete All Chats": "",
+	"Delete All Chats": "Supprimer tous les chats",
 	"Delete chat": "Supprimer la discussion",
 	"Delete Chat": "Supprimer la discussion",
 	"delete this link": "supprimer ce lien",
 	"Delete User": "Supprimer l'utilisateur",
 	"Deleted {{deleteModelTag}}": "{{deleteModelTag}} supprimé",
-	"Deleted {{name}}": "",
+	"Deleted {{name}}": "Supprimé {{nom}}",
 	"Description": "Description",
 	"Didn't fully follow instructions": "Ne suit pas les instructions",
 	"Disabled": "Désactivé",
-	"Discover a model": "",
+	"Discover a model": "Découvrez un modèle",
 	"Discover a prompt": "Découvrir un prompt",
 	"Discover, download, and explore custom prompts": "Découvrir, télécharger et explorer des prompts personnalisés",
 	"Discover, download, and explore model presets": "Découvrir, télécharger et explorer des préconfigurations de modèles",
@@ -174,27 +175,27 @@
 	"Embedding Model Engine": "Moteur du modèle d'embedding",
 	"Embedding model set to \"{{embedding_model}}\"": "Modèle d'embedding défini sur \"{{embedding_model}}\"",
 	"Enable Chat History": "Activer l'historique des discussions",
-	"Enable Community Sharing": "",
+	"Enable Community Sharing": "Permettre le partage communautaire",
 	"Enable New Sign Ups": "Activer les nouvelles inscriptions",
-	"Enable Web Search": "",
+	"Enable Web Search": "Activer la recherche sur le Web",
 	"Enabled": "Activé",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Assurez-vous que votre fichier CSV inclut 4 colonnes dans cet ordre : Nom, Email, Mot de passe, Rôle.",
 	"Enter {{role}} message here": "Entrez le message {{role}} ici",
 	"Enter a detail about yourself for your LLMs to recall": "Entrez un détail sur vous pour que vos LLMs puissent le rappeler",
-	"Enter Brave Search API Key": "",
+	"Enter Brave Search API Key": "Entrez la clé API de recherche brave",
 	"Enter Chunk Overlap": "Entrez le chevauchement de bloc",
 	"Enter Chunk Size": "Entrez la taille du bloc",
-	"Enter Github Raw URL": "",
-	"Enter Google PSE API Key": "",
-	"Enter Google PSE Engine Id": "",
+	"Enter Github Raw URL": "Entrez l’URL Github Raw",
+	"Enter Google PSE API Key": "Entrez la clé API Google PSE",
+	"Enter Google PSE Engine Id": "Entrez l’id du moteur Google PSE",
 	"Enter Image Size (e.g. 512x512)": "Entrez la taille de l'image (p. ex. 512x512)",
 	"Enter language codes": "Entrez les codes de langue",
 	"Enter model tag (e.g. {{modelTag}})": "Entrez le tag du modèle (p. ex. {{modelTag}})",
 	"Enter Number of Steps (e.g. 50)": "Entrez le nombre d'étapes (p. ex. 50)",
 	"Enter Score": "Entrez le score",
-	"Enter Searxng Query URL": "",
-	"Enter Serper API Key": "",
-	"Enter Serpstack API Key": "",
+	"Enter Searxng Query URL": "Entrez l’URL de requête Searxng",
+	"Enter Serper API Key": "Entrez la clé API Serper",
+	"Enter Serpstack API Key": "Entrez dans la clé API Serpstack",
 	"Enter stop sequence": "Entrez la séquence de fin",
 	"Enter Top K": "Entrez Top K",
 	"Enter URL (e.g. http://127.0.0.1:7860/)": "Entrez l'URL (p. ex. http://127.0.0.1:7860/)",
@@ -203,12 +204,14 @@
 	"Enter Your Full Name": "Entrez votre nom complet",
 	"Enter Your Password": "Entrez votre mot de passe",
 	"Enter Your Role": "Entrez votre rôle",
-	"Error": "",
+	"Error": "Erreur",
 	"Experimental": "Expérimental",
+	"Export": "Exportation",
 	"Export All Chats (All Users)": "Exporter toutes les discussions (Tous les utilisateurs)",
+	"Export chat (.json)": "",
 	"Export Chats": "Exporter les discussions",
 	"Export Documents Mapping": "Exporter le mappage des documents",
-	"Export Models": "",
+	"Export Models": "Modèles d’exportation",
 	"Export Prompts": "Exporter les prompts",
 	"Failed to create API Key.": "Impossible de créer la clé API.",
 	"Failed to read clipboard contents": "Échec de la lecture du contenu du presse-papiers",
@@ -221,15 +224,15 @@
 	"Focus chat input": "Se concentrer sur l'entrée de la discussion",
 	"Followed instructions perfectly": "Suivi des instructions parfaitement",
 	"Format your variables using square brackets like this:": "Formatez vos variables en utilisant des crochets comme ceci :",
-	"Frequency Penalty": "",
+	"Frequency Penalty": "Pénalité de fréquence",
 	"Full Screen Mode": "Mode plein écran",
 	"General": "Général",
 	"General Settings": "Paramètres généraux",
-	"Generating search query": "",
+	"Generating search query": "Génération d’une requête de recherche",
 	"Generation Info": "Informations de génération",
 	"Good Response": "Bonne réponse",
-	"Google PSE API Key": "",
-	"Google PSE Engine Id": "",
+	"Google PSE API Key": "Clé d’API Google PSE",
+	"Google PSE Engine Id": "Id du moteur Google PSE",
 	"h:mm a": "h:mm a",
 	"has no conversations.": "n'a pas de conversations.",
 	"Hello, {{name}}": "Bonjour, {{name}}",
@@ -243,18 +246,18 @@
 	"Images": "Images",
 	"Import Chats": "Importer les discussions",
 	"Import Documents Mapping": "Importer le mappage des documents",
-	"Import Models": "",
+	"Import Models": "Importer des modèles",
 	"Import Prompts": "Importer les prompts",
 	"Include `--api` flag when running stable-diffusion-webui": "Inclure l'indicateur `--api` lors de l'exécution de stable-diffusion-webui",
-	"Info": "",
+	"Info": "L’info",
 	"Input commands": "Entrez des commandes d'entrée",
-	"Install from Github URL": "",
+	"Install from Github URL": "Installer à partir de l’URL Github",
 	"Interface": "Interface",
 	"Invalid Tag": "Tag invalide",
 	"January": "Janvier",
 	"join our Discord for help.": "rejoignez notre Discord pour obtenir de l'aide.",
 	"JSON": "JSON",
-	"JSON Preview": "",
+	"JSON Preview": "Aperçu JSON",
 	"July": "Juillet",
 	"June": "Juin",
 	"JWT Expiration": "Expiration du JWT",
@@ -271,9 +274,9 @@
 	"Make sure to enclose them with": "Assurez-vous de les entourer avec",
 	"Manage Models": "Gérer les modèles",
 	"Manage Ollama Models": "Gérer les modèles Ollama",
-	"Manage Pipelines": "",
+	"Manage Pipelines": "Gérer les pipelines",
 	"March": "Mars",
-	"Max Tokens (num_predict)": "",
+	"Max Tokens (num_predict)": "Max Tokens (num_predict)",
 	"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Un maximum de 3 modèles peut être téléchargé simultanément. Veuillez réessayer plus tard.",
 	"May": "Mai",
 	"Memories accessible by LLMs will be shown here.": "Les mémoires accessibles par les LLM seront affichées ici.",
@@ -288,12 +291,12 @@
 	"Model '{{modelName}}' has been successfully downloaded.": "Le modèle '{{modelName}}' a été téléchargé avec succès.",
 	"Model '{{modelTag}}' is already in queue for downloading.": "Le modèle '{{modelTag}}' est déjà dans la file d'attente pour le téléchargement.",
 	"Model {{modelId}} not found": "Modèle {{modelId}} non trouvé",
-	"Model {{modelName}} is not vision capable": "",
-	"Model {{name}} is now {{status}}": "",
+	"Model {{modelName}} is not vision capable": "Le modèle {{modelName}} n’est pas capable de vision",
+	"Model {{name}} is now {{status}}": "Le modèle {{nom}} est maintenant {{statut}}",
 	"Model filesystem path detected. Model shortname is required for update, cannot continue.": "Le chemin du système de fichiers du modèle a été détecté. Le nom court du modèle est nécessaire pour la mise à jour, impossible de continuer.",
-	"Model ID": "",
+	"Model ID": "ID de modèle",
 	"Model not selected": "Modèle non sélectionné",
-	"Model Params": "",
+	"Model Params": "Paramètres modèles",
 	"Model Whitelisting": "Liste blanche de modèle",
 	"Model(s) Whitelisted": "Modèle(s) sur liste blanche",
 	"Modelfile Content": "Contenu du fichier de modèle",
@@ -301,23 +304,25 @@
 	"More": "Plus",
 	"Name": "Nom",
 	"Name Tag": "Tag de nom",
-	"Name your model": "",
+	"Name your model": "Nommez votre modèle",
 	"New Chat": "Nouvelle discussion",
 	"New Password": "Nouveau mot de passe",
 	"No results found": "Aucun résultat trouvé",
-	"No search query generated": "",
+	"No search query generated": "Aucune requête de recherche générée",
 	"No source available": "Aucune source disponible",
-	"None": "",
+	"None": "Aucune",
 	"Not factually correct": "Non, pas exactement correct",
 	"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: Si vous définissez un score minimum, la recherche ne retournera que les documents avec un score supérieur ou égal au score minimum.",
 	"Notifications": "Notifications de bureau",
 	"November": "Novembre",
+	"num_thread (Ollama)": "num_thread (Ollama)",
 	"October": "Octobre",
 	"Off": "Éteint",
 	"Okay, Let's Go!": "Okay, Allons-y !",
 	"OLED Dark": "OLED Sombre",
 	"Ollama": "Ollama",
-	"Ollama API": "",
+	"Ollama API": "Ollama API",
+	"Ollama API disabled": "API Ollama désactivée",
 	"Ollama Version": "Version Ollama",
 	"On": "Activé",
 	"Only": "Seulement",
@@ -342,8 +347,8 @@
 	"pending": "en attente",
 	"Permission denied when accessing microphone: {{error}}": "Permission refusée lors de l'accès au microphone : {{error}}",
 	"Personalization": "Personnalisation",
-	"Pipelines": "",
-	"Pipelines Valves": "",
+	"Pipelines": "Pipelines",
+	"Pipelines Valves": "Vannes de pipelines",
 	"Plain text (.txt)": "Texte brut (.txt)",
 	"Playground": "Aire de jeu",
 	"Positive attitude": "Attitude positive",
@@ -388,33 +393,33 @@
 	"Scan for documents from {{path}}": "Scanner des documents depuis {{path}}",
 	"Search": "Recherche",
 	"Search a model": "Rechercher un modèle",
-	"Search Chats": "",
+	"Search Chats": "Rechercher des chats",
 	"Search Documents": "Rechercher des documents",
-	"Search Models": "",
+	"Search Models": "Modèles de recherche",
 	"Search Prompts": "Rechercher des prompts",
-	"Search Result Count": "",
-	"Searched {{count}} sites_one": "",
-	"Searched {{count}} sites_many": "",
-	"Searched {{count}} sites_other": "",
-	"Searching the web for '{{searchQuery}}'": "",
-	"Searxng Query URL": "",
+	"Search Result Count": "Nombre de résultats de la recherche",
+	"Searched {{count}} sites_one": "Recherche dans {{count}} sites_one",
+	"Searched {{count}} sites_many": "Recherche dans {{count}} sites_many",
+	"Searched {{count}} sites_other": "Recherche dans {{count}} sites_other",
+	"Searching the web for '{{searchQuery}}'": "Recherche sur le Web pour '{{searchQuery}}'",
+	"Searxng Query URL": "URL de la requête Searxng",
 	"See readme.md for instructions": "Voir readme.md pour les instructions",
 	"See what's new": "Voir les nouveautés",
 	"Seed": "Graine",
-	"Select a base model": "",
+	"Select a base model": "Sélectionner un modèle de base",
 	"Select a mode": "Sélectionnez un mode",
 	"Select a model": "Sélectionnez un modèle",
-	"Select a pipeline": "",
-	"Select a pipeline url": "",
+	"Select a pipeline": "Sélectionner un pipeline",
+	"Select a pipeline url": "Sélectionnez une URL de pipeline",
 	"Select an Ollama instance": "Sélectionner une instance Ollama",
 	"Select model": "Sélectionnez un modèle",
-	"Selected model(s) do not support image inputs": "",
+	"Selected model(s) do not support image inputs": "Les modèles sélectionnés ne prennent pas en charge les entrées d’image",
 	"Send": "Envoyer",
 	"Send a Message": "Envoyer un message",
 	"Send message": "Envoyer un message",
 	"September": "Septembre",
-	"Serper API Key": "",
-	"Serpstack API Key": "",
+	"Serper API Key": "Clé API Serper",
+	"Serpstack API Key": "Clé API Serpstack",
 	"Server connection verified": "Connexion au serveur vérifiée",
 	"Set as default": "Définir par défaut",
 	"Set Default Model": "Définir le modèle par défaut",
@@ -423,7 +428,7 @@
 	"Set Model": "Configurer le modèle",
 	"Set reranking model (e.g. {{model}})": "Définir le modèle de reranking (par exemple {{model}})",
 	"Set Steps": "Définir les étapes",
-	"Set Task Model": "",
+	"Set Task Model": "Définir le modèle de tâche",
 	"Set Voice": "Définir la voix",
 	"Settings": "Paramètres",
 	"Settings saved successfully!": "Paramètres enregistrés avec succès !",
@@ -482,19 +487,21 @@
 	"Top P": "Top P",
 	"Trouble accessing Ollama?": "Des problèmes pour accéder à Ollama ?",
 	"TTS Settings": "Paramètres TTS",
-	"Type": "",
+	"Type": "Type",
 	"Type Hugging Face Resolve (Download) URL": "Entrez l'URL de résolution (téléchargement) Hugging Face",
 	"Uh-oh! There was an issue connecting to {{provider}}.": "Uh-oh ! Il y a eu un problème de connexion à {{provider}}.",
 	"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Type de fichier inconnu '{{file_type}}', mais accepté et traité comme du texte brut",
 	"Update and Copy Link": "Mettre à jour et copier le lien",
 	"Update password": "Mettre à jour le mot de passe",
 	"Upload a GGUF model": "Téléverser un modèle GGUF",
-	"Upload Files": "",
+	"Upload Files": "Télécharger des fichiers",
 	"Upload Progress": "Progression du Téléversement",
 	"URL Mode": "Mode URL",
 	"Use '#' in the prompt input to load and select your documents.": "Utilisez '#' dans l'entrée de prompt pour charger et sélectionner vos documents.",
 	"Use Gravatar": "Utiliser Gravatar",
 	"Use Initials": "Utiliser les Initiales",
+	"use_mlock (Ollama)": "use_mlock (Ollama)",
+	"use_mmap (Ollama)": "use_mmap (Ollama)",
 	"user": "utilisateur",
 	"User Permissions": "Permissions de l'utilisateur",
 	"Users": "Utilisateurs",
@@ -503,13 +510,13 @@
 	"variable": "variable",
 	"variable to have them replaced with clipboard content.": "variable pour les remplacer par le contenu du presse-papiers.",
 	"Version": "Version",
-	"Warning": "",
+	"Warning": "Avertissement",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Attention : Si vous mettez à jour ou changez votre modèle d'intégration, vous devrez réimporter tous les documents.",
 	"Web": "Web",
 	"Web Loader Settings": "Paramètres du chargeur Web",
 	"Web Params": "Paramètres Web",
-	"Web Search": "",
-	"Web Search Engine": "",
+	"Web Search": "Recherche sur le Web",
+	"Web Search Engine": "Moteur de recherche Web",
 	"Webhook URL": "URL Webhook",
 	"WebUI Add-ons": "Add-ons WebUI",
 	"WebUI Settings": "Paramètres WebUI",
@@ -522,7 +529,7 @@
 	"Write a summary in 50 words that summarizes [topic or keyword].": "Rédigez un résumé en 50 mots qui résume [sujet ou mot-clé].",
 	"Yesterday": "hier",
 	"You": "Vous",
-	"You cannot clone a base model": "",
+	"You cannot clone a base model": "Vous ne pouvez pas cloner un modèle de base",
 	"You have no archived conversations.": "Vous n'avez aucune conversation archivée.",
 	"You have shared this chat": "Vous avez partagé cette conversation",
 	"You're a helpful assistant.": "Vous êtes un assistant utile",

+ 55 - 48
src/lib/i18n/locales/fr-FR/translation.json

@@ -8,7 +8,7 @@
 	"{{modelName}} is thinking...": "{{modelName}} réfléchit...",
 	"{{user}}'s Chats": "Chats de {{user}}",
 	"{{webUIName}} Backend Required": "Backend {{webUIName}} requis",
-	"A task model is used when performing tasks such as generating titles for chats and web search queries": "",
+	"A task model is used when performing tasks such as generating titles for chats and web search queries": "Un modèle de tâche est utilisé lors de l’exécution de tâches telles que la génération de titres pour les chats et les requêtes de recherche sur le Web",
 	"a user": "un utilisateur",
 	"About": "À Propos",
 	"Account": "Compte",
@@ -37,6 +37,7 @@
 	"All Users": "Tous les Utilisateurs",
 	"Allow": "Autoriser",
 	"Allow Chat Deletion": "Autoriser la suppression du chat",
+	"Allow non-local voices": "",
 	"alphanumeric characters and hyphens": "caractères alphanumériques et tirets",
 	"Already have an account?": "Vous avez déjà un compte ?",
 	"an assistant": "un assistant",
@@ -48,7 +49,7 @@
 	"API keys": "Clés API",
 	"April": "Avril",
 	"Archive": "Archiver",
-	"Archive All Chats": "",
+	"Archive All Chats": "Archiver toutes les discussions",
 	"Archived Chats": "Chats Archivés",
 	"are allowed - Activate this command by typing": "sont autorisés - Activez cette commande en tapant",
 	"Are you sure?": "Êtes-vous sûr ?",
@@ -63,11 +64,11 @@
 	"available!": "disponible !",
 	"Back": "Retour",
 	"Bad Response": "Mauvaise Réponse",
-	"Banners": "",
+	"Banners": "Bannières",
 	"Base Model (From)": "Modèle de Base (De)",
 	"before": "avant",
 	"Being lazy": "Est paresseux",
-	"Brave Search API Key": "",
+	"Brave Search API Key": "Clé API Brave Search",
 	"Bypass SSL verification for Websites": "Contourner la vérification SSL pour les sites Web.",
 	"Cancel": "Annuler",
 	"Capabilities": "Capacités",
@@ -93,14 +94,14 @@
 	"Click here to select documents.": "Cliquez ici pour sélectionner des documents.",
 	"click here.": "cliquez ici.",
 	"Click on the user role button to change a user's role.": "Cliquez sur le bouton de rôle d'utilisateur pour changer le rôle d'un utilisateur.",
-	"Clone": "",
+	"Clone": "Clone",
 	"Close": "Fermer",
 	"Collection": "Collection",
 	"ComfyUI": "ComfyUI",
 	"ComfyUI Base URL": "URL de base ComfyUI",
 	"ComfyUI Base URL is required.": "L'URL de base ComfyUI est requise.",
 	"Command": "Commande",
-	"Concurrent Requests": "",
+	"Concurrent Requests": "Demandes simultanées",
 	"Confirm Password": "Confirmer le mot de passe",
 	"Connections": "Connexions",
 	"Content": "Contenu",
@@ -131,14 +132,14 @@
 	"Default (Automatic1111)": "Par défaut (Automatic1111)",
 	"Default (SentenceTransformers)": "Par défaut (SentenceTransformers)",
 	"Default (Web API)": "Par défaut (API Web)",
-	"Default Model": "",
+	"Default Model": "Modèle par défaut",
 	"Default model updated": "Modèle par défaut mis à jour",
 	"Default Prompt Suggestions": "Suggestions de prompt par défaut",
 	"Default User Role": "Rôle d'utilisateur par défaut",
 	"delete": "supprimer",
 	"Delete": "Supprimer",
 	"Delete a model": "Supprimer un modèle",
-	"Delete All Chats": "",
+	"Delete All Chats": "Supprimer toutes les discussions",
 	"Delete chat": "Supprimer le chat",
 	"Delete Chat": "Supprimer le Chat",
 	"delete this link": "supprimer ce lien",
@@ -174,27 +175,27 @@
 	"Embedding Model Engine": "Moteur du Modèle d'Embedding",
 	"Embedding model set to \"{{embedding_model}}\"": "Modèle d'embedding défini sur \"{{embedding_model}}\"",
 	"Enable Chat History": "Activer l'historique du chat",
-	"Enable Community Sharing": "",
+	"Enable Community Sharing": "Activer le partage de communauté",
 	"Enable New Sign Ups": "Activer les nouvelles inscriptions",
-	"Enable Web Search": "",
+	"Enable Web Search": "Activer la recherche sur le Web",
 	"Enabled": "Activé",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Vérifiez que le fichier CSV contienne 4 colonnes dans cet ordre : Name (Nom), Email, Password (Mot de passe), Role (Rôle).",
 	"Enter {{role}} message here": "Entrez le message {{role}} ici",
 	"Enter a detail about yourself for your LLMs to recall": "Saisissez une donnée vous concernant pour que vos LLMs s'en souviennent",
-	"Enter Brave Search API Key": "",
+	"Enter Brave Search API Key": "Entrez la clé API Brave Search",
 	"Enter Chunk Overlap": "Entrez le chevauchement de bloc",
 	"Enter Chunk Size": "Entrez la taille du bloc",
-	"Enter Github Raw URL": "",
-	"Enter Google PSE API Key": "",
-	"Enter Google PSE Engine Id": "",
+	"Enter Github Raw URL": "Entrez l’URL brute Github",
+	"Enter Google PSE API Key": "Entrez la clé API Google PSE",
+	"Enter Google PSE Engine Id": "Entrez l’ID du moteur Google PSE",
 	"Enter Image Size (e.g. 512x512)": "Entrez la taille de l'image (p. ex. 512x512)",
 	"Enter language codes": "Entrez les codes du language",
 	"Enter model tag (e.g. {{modelTag}})": "Entrez le tag du modèle (p. ex. {{modelTag}})",
 	"Enter Number of Steps (e.g. 50)": "Entrez le nombre d'étapes (p. ex. 50)",
 	"Enter Score": "Entrez le Score",
-	"Enter Searxng Query URL": "",
-	"Enter Serper API Key": "",
-	"Enter Serpstack API Key": "",
+	"Enter Searxng Query URL": "Entrez l’URL de la requête Searxng",
+	"Enter Serper API Key": "Entrez la clé API Serper",
+	"Enter Serpstack API Key": "Entrez la clé API Serpstack",
 	"Enter stop sequence": "Entrez la séquence de fin",
 	"Enter Top K": "Entrez Top K",
 	"Enter URL (e.g. http://127.0.0.1:7860/)": "Entrez l'URL (p. ex. http://127.0.0.1:7860/)",
@@ -203,9 +204,11 @@
 	"Enter Your Full Name": "Entrez Votre Nom Complet",
 	"Enter Your Password": "Entrez Votre Mot De Passe",
 	"Enter Your Role": "Entrez Votre Rôle",
-	"Error": "",
+	"Error": "Erreur",
 	"Experimental": "Expérimental",
+	"Export": "Exportation",
 	"Export All Chats (All Users)": "Exporter Tous les Chats (Tous les Utilisateurs)",
+	"Export chat (.json)": "",
 	"Export Chats": "Exporter les Chats",
 	"Export Documents Mapping": "Exporter la Correspondance des Documents",
 	"Export Models": "Exporter les Modèles",
@@ -221,15 +224,15 @@
 	"Focus chat input": "Concentrer sur l'entrée du chat",
 	"Followed instructions perfectly": "A suivi les instructions parfaitement",
 	"Format your variables using square brackets like this:": "Formatez vos variables en utilisant des crochets comme ceci :",
-	"Frequency Penalty": "",
+	"Frequency Penalty": "Pénalité de fréquence",
 	"Full Screen Mode": "Mode plein écran",
 	"General": "Général",
 	"General Settings": "Paramètres Généraux",
-	"Generating search query": "",
+	"Generating search query": "Génération d’une requête de recherche",
 	"Generation Info": "Informations de la Génération",
 	"Good Response": "Bonne Réponse",
-	"Google PSE API Key": "",
-	"Google PSE Engine Id": "",
+	"Google PSE API Key": "Clé API Google PSE",
+	"Google PSE Engine Id": "ID du moteur Google PSE",
 	"h:mm a": "h:mm a",
 	"has no conversations.": "n'a pas de conversations.",
 	"Hello, {{name}}": "Bonjour, {{name}}",
@@ -246,9 +249,9 @@
 	"Import Models": "Importer des Modèles",
 	"Import Prompts": "Importer des Prompts",
 	"Include `--api` flag when running stable-diffusion-webui": "Inclure le drapeau `--api` lors de l'exécution de stable-diffusion-webui",
-	"Info": "",
+	"Info": "Info",
 	"Input commands": "Entrez les commandes d'entrée",
-	"Install from Github URL": "",
+	"Install from Github URL": "Installer à partir de l’URL Github",
 	"Interface": "Interface",
 	"Invalid Tag": "Tag Invalide",
 	"January": "Janvier",
@@ -271,7 +274,7 @@
 	"Make sure to enclose them with": "Assurez-vous de les entourer avec",
 	"Manage Models": "Gérer les modèles",
 	"Manage Ollama Models": "Gérer les modèles Ollama",
-	"Manage Pipelines": "",
+	"Manage Pipelines": "Gérer les pipelines",
 	"March": "Mars",
 	"Max Tokens (num_predict)": "Tokens maximaux (num_predict)",
 	"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Un maximum de 3 modèles peut être téléchargé simultanément. Veuillez réessayer plus tard.",
@@ -289,7 +292,7 @@
 	"Model '{{modelTag}}' is already in queue for downloading.": "Le modèle '{{modelTag}}' est déjà dans la file d'attente pour le téléchargement.",
 	"Model {{modelId}} not found": "Modèle {{modelId}} non trouvé",
 	"Model {{modelName}} is not vision capable": "Modèle {{modelName}} n'est pas capable de voir",
-	"Model {{name}} is now {{status}}": "",
+	"Model {{name}} is now {{status}}": "Le modèle {{name}} est maintenant {{status}}",
 	"Model filesystem path detected. Model shortname is required for update, cannot continue.": "Chemin du système de fichier du modèle détecté. Le nom court du modèle est requis pour la mise à jour, ne peut pas continuer.",
 	"Model ID": "ID du Modèle",
 	"Model not selected": "Modèle non sélectionné",
@@ -305,19 +308,21 @@
 	"New Chat": "Nouveau chat",
 	"New Password": "Nouveau mot de passe",
 	"No results found": "Aucun résultat",
-	"No search query generated": "",
+	"No search query generated": "Aucune requête de recherche générée",
 	"No source available": "Aucune source disponible",
-	"None": "",
+	"None": "Aucun",
 	"Not factually correct": "Faits incorrects",
 	"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 : Si vous définissez un score minimum, la recherche ne renverra que les documents ayant un score supérieur ou égal au score minimum.",
 	"Notifications": "Notifications de bureau",
 	"November": "Novembre",
+	"num_thread (Ollama)": "num_thread (Ollama)",
 	"October": "Octobre",
 	"Off": "Désactivé",
 	"Okay, Let's Go!": "D'accord, allons-y !",
 	"OLED Dark": "Sombre OLED",
 	"Ollama": "Ollama",
 	"Ollama API": "API Ollama",
+	"Ollama API disabled": "API Ollama désactivée",
 	"Ollama Version": "Version Ollama",
 	"On": "Activé",
 	"Only": "Seulement",
@@ -342,8 +347,8 @@
 	"pending": "en attente",
 	"Permission denied when accessing microphone: {{error}}": "Permission refusée lors de l'accès au microphone : {{error}}",
 	"Personalization": "Personnalisation",
-	"Pipelines": "",
-	"Pipelines Valves": "",
+	"Pipelines": "Pipelines",
+	"Pipelines Valves": "Vannes de pipelines",
 	"Plain text (.txt)": "Texte Brute (.txt)",
 	"Playground": "Aire de jeu",
 	"Positive attitude": "Attitude Positive",
@@ -388,24 +393,24 @@
 	"Scan for documents from {{path}}": "Scanner des documents depuis {{path}}",
 	"Search": "Recherche",
 	"Search a model": "Rechercher un modèle",
-	"Search Chats": "",
+	"Search Chats": "Rechercher des chats",
 	"Search Documents": "Rechercher des Documents",
-	"Search Models": "",
+	"Search Models": "Rechercher des modèles",
 	"Search Prompts": "Rechercher des Prompts",
-	"Search Result Count": "",
-	"Searched {{count}} sites_one": "",
-	"Searched {{count}} sites_many": "",
-	"Searched {{count}} sites_other": "",
-	"Searching the web for '{{searchQuery}}'": "",
-	"Searxng Query URL": "",
+	"Search Result Count": "Nombre de résultats de recherche",
+	"Searched {{count}} sites_one": "Recherché {{count}} sites_one",
+	"Searched {{count}} sites_many": "Recherché {{count}} sites_many",
+	"Searched {{count}} sites_other": "Recherché {{count}} sites_other",
+	"Searching the web for '{{searchQuery}}'": "Recherche sur le web pour '{{searchQuery}}'",
+	"Searxng Query URL": "URL de requête Searxng",
 	"See readme.md for instructions": "Voir readme.md pour les instructions",
 	"See what's new": "Voir les nouveautés",
 	"Seed": "Graine",
 	"Select a base model": "Sélectionner un modèle de base",
 	"Select a mode": "Sélectionner un mode",
 	"Select a model": "Sélectionner un modèle",
-	"Select a pipeline": "",
-	"Select a pipeline url": "",
+	"Select a pipeline": "Sélectionner un pipeline",
+	"Select a pipeline url": "Sélectionnez une URL de pipeline",
 	"Select an Ollama instance": "Sélectionner une instance Ollama",
 	"Select model": "Sélectionner un modèle",
 	"Selected model(s) do not support image inputs": "Modèle(s) séléctionés ne supportent pas les entrées images",
@@ -413,8 +418,8 @@
 	"Send a Message": "Envoyer un message",
 	"Send message": "Envoyer un message",
 	"September": "Septembre",
-	"Serper API Key": "",
-	"Serpstack API Key": "",
+	"Serper API Key": "Clé API Serper",
+	"Serpstack API Key": "Clé API Serpstack",
 	"Server connection verified": "Connexion au serveur vérifiée",
 	"Set as default": "Définir par défaut",
 	"Set Default Model": "Définir le Modèle par Défaut",
@@ -423,7 +428,7 @@
 	"Set Model": "Définir le Modèle",
 	"Set reranking model (e.g. {{model}})": "Définir le modèle de reclassement (p. ex. {{model}})",
 	"Set Steps": "Définir les Étapes",
-	"Set Task Model": "",
+	"Set Task Model": "Définir le modèle de tâche",
 	"Set Voice": "Définir la Voix",
 	"Settings": "Paramètres",
 	"Settings saved successfully!": "Paramètres enregistrés avec succès !",
@@ -482,19 +487,21 @@
 	"Top P": "Top P",
 	"Trouble accessing Ollama?": "Problèmes d'accès à Ollama ?",
 	"TTS Settings": "Paramètres TTS",
-	"Type": "",
+	"Type": "Type",
 	"Type Hugging Face Resolve (Download) URL": "Entrez l'URL de Résolution (Téléchargement) Hugging Face",
 	"Uh-oh! There was an issue connecting to {{provider}}.": "Uh-oh ! Il y a eu un problème de connexion à {{provider}}.",
 	"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Type de Fichier Inconnu '{{file_type}}', mais accepté et traité comme du texte brut",
 	"Update and Copy Link": "Mettre à Jour et Copier le Lien",
 	"Update password": "Mettre à Jour le Mot de Passe",
 	"Upload a GGUF model": "Téléverser un modèle GGUF",
-	"Upload Files": "",
+	"Upload Files": "Télécharger des fichiers",
 	"Upload Progress": "Progression du Téléversement",
 	"URL Mode": "Mode URL",
 	"Use '#' in the prompt input to load and select your documents.": "Utilisez '#' dans l'entrée du prompt pour charger et sélectionner vos documents.",
 	"Use Gravatar": "Utiliser Gravatar",
 	"Use Initials": "Utiliser les Initiales",
+	"use_mlock (Ollama)": "use_mlock (Ollama)",
+	"use_mmap (Ollama)": "use_mmap (Ollama)",
 	"user": "utilisateur",
 	"User Permissions": "Permissions d'utilisateur",
 	"Users": "Utilisateurs",
@@ -503,13 +510,13 @@
 	"variable": "variable",
 	"variable to have them replaced with clipboard content.": "variable pour les remplacer par le contenu du presse-papiers.",
 	"Version": "Version",
-	"Warning": "",
+	"Warning": "Avertissement",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Avertissement : Si vous mettez à jour ou modifier votre modèle d'embedding, vous devrez réimporter tous les documents.",
 	"Web": "Web",
 	"Web Loader Settings": "Paramètres du Chargeur Web",
 	"Web Params": "Paramètres Web",
-	"Web Search": "",
-	"Web Search Engine": "",
+	"Web Search": "Recherche sur le Web",
+	"Web Search Engine": "Moteur de recherche Web",
 	"Webhook URL": "URL du Webhook",
 	"WebUI Add-ons": "Add-ons WebUI",
 	"WebUI Settings": "Paramètres WebUI",

+ 78 - 71
src/lib/i18n/locales/he-IL/translation.json

@@ -3,19 +3,19 @@
 	"(Beta)": "(בטא)",
 	"(e.g. `sh webui.sh --api`)": "(למשל `sh webui.sh --api`)",
 	"(latest)": "(האחרון)",
-	"{{ models }}": "",
-	"{{ owner }}: You cannot delete a base model": "",
+	"{{ models }}": "{{ דגמים }}",
+	"{{ owner }}: You cannot delete a base model": "{{ בעלים }}: לא ניתן למחוק מודל בסיס",
 	"{{modelName}} is thinking...": "{{modelName}} חושב...",
 	"{{user}}'s Chats": "צ'אטים של {{user}}",
 	"{{webUIName}} Backend Required": "נדרש Backend של {{webUIName}}",
-	"A task model is used when performing tasks such as generating titles for chats and web search queries": "",
+	"A task model is used when performing tasks such as generating titles for chats and web search queries": "מודל משימה משמש בעת ביצוע משימות כגון יצירת כותרות עבור צ'אטים ושאילתות חיפוש באינטרנט",
 	"a user": "משתמש",
 	"About": "אודות",
 	"Account": "חשבון",
 	"Accurate information": "מידע מדויק",
 	"Add": "הוסף",
-	"Add a model id": "",
-	"Add a short description about what this model does": "",
+	"Add a model id": "הוספת מזהה דגם",
+	"Add a short description about what this model does": "הוסף תיאור קצר אודות אופן הפעולה של מודל זה",
 	"Add a short title for this prompt": "הוסף כותרת קצרה לפקודה זו",
 	"Add a tag": "הוסף תג",
 	"Add custom prompt": "הוסף פקודה מותאמת אישית",
@@ -31,12 +31,13 @@
 	"Admin Panel": "לוח בקרה למנהל",
 	"Admin Settings": "הגדרות מנהל",
 	"Advanced Parameters": "פרמטרים מתקדמים",
-	"Advanced Params": "",
+	"Advanced Params": "פרמטרים מתקדמים",
 	"all": "הכל",
 	"All Documents": "כל המסמכים",
 	"All Users": "כל המשתמשים",
 	"Allow": "אפשר",
 	"Allow Chat Deletion": "אפשר מחיקת צ'אט",
+	"Allow non-local voices": "",
 	"alphanumeric characters and hyphens": "תווים אלפאנומריים ומקפים",
 	"Already have an account?": "כבר יש לך חשבון?",
 	"an assistant": "עוזר",
@@ -48,7 +49,7 @@
 	"API keys": "מפתחות API",
 	"April": "אפריל",
 	"Archive": "ארכיון",
-	"Archive All Chats": "",
+	"Archive All Chats": "אחסן בארכיון את כל הצ'אטים",
 	"Archived Chats": "צ'אטים מאורכבים",
 	"are allowed - Activate this command by typing": "מותרים - הפעל פקודה זו על ידי הקלדה",
 	"Are you sure?": "האם אתה בטוח?",
@@ -63,14 +64,14 @@
 	"available!": "זמין!",
 	"Back": "חזור",
 	"Bad Response": "תגובה שגויה",
-	"Banners": "",
-	"Base Model (From)": "",
+	"Banners": "באנרים",
+	"Base Model (From)": "דגם בסיס (מ)",
 	"before": "לפני",
 	"Being lazy": "להיות עצלן",
-	"Brave Search API Key": "",
+	"Brave Search API Key": "מפתח API של חיפוש אמיץ",
 	"Bypass SSL verification for Websites": "עקוף אימות SSL עבור אתרים",
 	"Cancel": "בטל",
-	"Capabilities": "",
+	"Capabilities": "יכולות",
 	"Change Password": "שנה סיסמה",
 	"Chat": "צ'אט",
 	"Chat Bubble UI": "UI של תיבת הדיבור",
@@ -93,14 +94,14 @@
 	"Click here to select documents.": "לחץ כאן לבחירת מסמכים.",
 	"click here.": "לחץ כאן.",
 	"Click on the user role button to change a user's role.": "לחץ על כפתור תפקיד המשתמש כדי לשנות את תפקיד המשתמש.",
-	"Clone": "",
+	"Clone": "שיבוט",
 	"Close": "סגור",
 	"Collection": "אוסף",
 	"ComfyUI": "ComfyUI",
 	"ComfyUI Base URL": "כתובת URL בסיסית של ComfyUI",
 	"ComfyUI Base URL is required.": "נדרשת כתובת URL בסיסית של ComfyUI",
 	"Command": "פקודה",
-	"Concurrent Requests": "",
+	"Concurrent Requests": "בקשות בו-זמניות",
 	"Confirm Password": "אשר סיסמה",
 	"Connections": "חיבורים",
 	"Content": "תוכן",
@@ -114,7 +115,7 @@
 	"Copy Link": "העתק קישור",
 	"Copying to clipboard was successful!": "ההעתקה ללוח הייתה מוצלחת!",
 	"Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "צור ביטוי תמציתי של 3-5 מילים ככותרת לשאילתה הבאה, תוך שמירה מדויקת על מגבלת 3-5 המילים והימנעות משימוש במילה 'כותרת':",
-	"Create a model": "",
+	"Create a model": "יצירת מודל",
 	"Create Account": "צור חשבון",
 	"Create new key": "צור מפתח חדש",
 	"Create new secret key": "צור מפתח סודי חדש",
@@ -123,7 +124,7 @@
 	"Current Model": "המודל הנוכחי",
 	"Current Password": "הסיסמה הנוכחית",
 	"Custom": "מותאם אישית",
-	"Customize models for a specific purpose": "",
+	"Customize models for a specific purpose": "התאמה אישית של מודלים למטרה ספציפית",
 	"Dark": "כהה",
 	"Database": "מסד נתונים",
 	"December": "דצמבר",
@@ -131,24 +132,24 @@
 	"Default (Automatic1111)": "ברירת מחדל (Automatic1111)",
 	"Default (SentenceTransformers)": "ברירת מחדל (SentenceTransformers)",
 	"Default (Web API)": "ברירת מחדל (Web API)",
-	"Default Model": "",
+	"Default Model": "מודל ברירת מחדל",
 	"Default model updated": "המודל המוגדר כברירת מחדל עודכן",
 	"Default Prompt Suggestions": "הצעות ברירת מחדל לפקודות",
 	"Default User Role": "תפקיד משתמש ברירת מחדל",
 	"delete": "מחק",
 	"Delete": "מחק",
 	"Delete a model": "מחק מודל",
-	"Delete All Chats": "",
+	"Delete All Chats": "מחק את כל הצ'אטים",
 	"Delete chat": "מחק צ'אט",
 	"Delete Chat": "מחק צ'אט",
 	"delete this link": "מחק את הקישור הזה",
 	"Delete User": "מחק משתמש",
 	"Deleted {{deleteModelTag}}": "נמחק {{deleteModelTag}}",
-	"Deleted {{name}}": "",
+	"Deleted {{name}}": "נמחק {{name}}",
 	"Description": "תיאור",
 	"Didn't fully follow instructions": "לא עקב אחרי ההוראות באופן מלא",
 	"Disabled": "מושבת",
-	"Discover a model": "",
+	"Discover a model": "גלה מודל",
 	"Discover a prompt": "גלה פקודה",
 	"Discover, download, and explore custom prompts": "גלה, הורד, וחקור פקודות מותאמות אישית",
 	"Discover, download, and explore model presets": "גלה, הורד, וחקור הגדרות מודל מוגדרות מראש",
@@ -174,27 +175,27 @@
 	"Embedding Model Engine": "מנוע מודל הטמעה",
 	"Embedding model set to \"{{embedding_model}}\"": "מודל ההטמעה הוגדר ל-\"{{embedding_model}}\"",
 	"Enable Chat History": "הפעל היסטוריית צ'אט",
-	"Enable Community Sharing": "",
+	"Enable Community Sharing": "הפיכת שיתוף קהילה לזמין",
 	"Enable New Sign Ups": "אפשר הרשמות חדשות",
-	"Enable Web Search": "",
+	"Enable Web Search": "הפיכת חיפוש באינטרנט לזמין",
 	"Enabled": "מופעל",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "ודא שקובץ ה-CSV שלך כולל 4 עמודות בסדר הבא: שם, דוא\"ל, סיסמה, תפקיד.",
 	"Enter {{role}} message here": "הזן הודעת {{role}} כאן",
 	"Enter a detail about yourself for your LLMs to recall": "הזן פרטים על עצמך כדי שLLMs יזכור",
-	"Enter Brave Search API Key": "",
+	"Enter Brave Search API Key": "הזן מפתח API של חיפוש אמיץ",
 	"Enter Chunk Overlap": "הזן חפיפת נתונים",
 	"Enter Chunk Size": "הזן גודל נתונים",
-	"Enter Github Raw URL": "",
-	"Enter Google PSE API Key": "",
-	"Enter Google PSE Engine Id": "",
+	"Enter Github Raw URL": "הזן כתובת URL של Github Raw",
+	"Enter Google PSE API Key": "הזן מפתח API של Google PSE",
+	"Enter Google PSE Engine Id": "הזן את מזהה מנוע PSE של Google",
 	"Enter Image Size (e.g. 512x512)": "הזן גודל תמונה (למשל 512x512)",
 	"Enter language codes": "הזן קודי שפה",
 	"Enter model tag (e.g. {{modelTag}})": "הזן תג מודל (למשל {{modelTag}})",
 	"Enter Number of Steps (e.g. 50)": "הזן מספר שלבים (למשל 50)",
 	"Enter Score": "הזן ציון",
-	"Enter Searxng Query URL": "",
-	"Enter Serper API Key": "",
-	"Enter Serpstack API Key": "",
+	"Enter Searxng Query URL": "הזן כתובת URL של שאילתת Searxng",
+	"Enter Serper API Key": "הזן מפתח API של Serper",
+	"Enter Serpstack API Key": "הזן מפתח API של Serpstack",
 	"Enter stop sequence": "הזן רצף עצירה",
 	"Enter Top K": "הזן Top K",
 	"Enter URL (e.g. http://127.0.0.1:7860/)": "הזן כתובת URL (למשל http://127.0.0.1:7860/)",
@@ -203,12 +204,14 @@
 	"Enter Your Full Name": "הזן את שמך המלא",
 	"Enter Your Password": "הזן את הסיסמה שלך",
 	"Enter Your Role": "הזן את התפקיד שלך",
-	"Error": "",
+	"Error": "שגיאה",
 	"Experimental": "ניסיוני",
+	"Export": "ייצא",
 	"Export All Chats (All Users)": "ייצוא כל הצ'אטים (כל המשתמשים)",
+	"Export chat (.json)": "",
 	"Export Chats": "ייצוא צ'אטים",
 	"Export Documents Mapping": "ייצוא מיפוי מסמכים",
-	"Export Models": "",
+	"Export Models": "ייצוא מודלים",
 	"Export Prompts": "ייצוא פקודות",
 	"Failed to create API Key.": "יצירת מפתח API נכשלה.",
 	"Failed to read clipboard contents": "קריאת תוכן הלוח נכשלה",
@@ -221,15 +224,15 @@
 	"Focus chat input": "מיקוד הקלט לצ'אט",
 	"Followed instructions perfectly": "עקב אחר ההוראות במושלמות",
 	"Format your variables using square brackets like this:": "עצב את המשתנים שלך באמצעות סוגריים מרובעים כך:",
-	"Frequency Penalty": "",
+	"Frequency Penalty": "עונש תדירות",
 	"Full Screen Mode": "מצב מסך מלא",
 	"General": "כללי",
 	"General Settings": "הגדרות כלליות",
-	"Generating search query": "",
+	"Generating search query": "יצירת שאילתת חיפוש",
 	"Generation Info": "מידע על היצירה",
 	"Good Response": "תגובה טובה",
-	"Google PSE API Key": "",
-	"Google PSE Engine Id": "",
+	"Google PSE API Key": "מפתח API של Google PSE",
+	"Google PSE Engine Id": "מזהה מנוע PSE של Google",
 	"h:mm a": "h:mm a",
 	"has no conversations.": "אין שיחות.",
 	"Hello, {{name}}": "שלום, {{name}}",
@@ -243,18 +246,18 @@
 	"Images": "תמונות",
 	"Import Chats": "יבוא צ'אטים",
 	"Import Documents Mapping": "יבוא מיפוי מסמכים",
-	"Import Models": "",
+	"Import Models": "ייבוא דגמים",
 	"Import Prompts": "יבוא פקודות",
 	"Include `--api` flag when running stable-diffusion-webui": "כלול את הדגל `--api` בעת הרצת stable-diffusion-webui",
-	"Info": "",
+	"Info": "מידע",
 	"Input commands": "פקודות קלט",
-	"Install from Github URL": "",
+	"Install from Github URL": "התקן מכתובת URL של Github",
 	"Interface": "ממשק",
 	"Invalid Tag": "תג לא חוקי",
 	"January": "ינואר",
 	"join our Discord for help.": "הצטרף ל-Discord שלנו לעזרה.",
 	"JSON": "JSON",
-	"JSON Preview": "",
+	"JSON Preview": "תצוגה מקדימה של JSON",
 	"July": "יולי",
 	"June": "יוני",
 	"JWT Expiration": "תפוגת JWT",
@@ -271,9 +274,9 @@
 	"Make sure to enclose them with": "ודא להקיף אותם עם",
 	"Manage Models": "נהל מודלים",
 	"Manage Ollama Models": "נהל מודלים של Ollama",
-	"Manage Pipelines": "",
+	"Manage Pipelines": "ניהול צינורות",
 	"March": "מרץ",
-	"Max Tokens (num_predict)": "",
+	"Max Tokens (num_predict)": "מקסימום אסימונים (num_predict)",
 	"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "ניתן להוריד מקסימום 3 מודלים בו זמנית. אנא נסה שוב מאוחר יותר.",
 	"May": "מאי",
 	"Memories accessible by LLMs will be shown here.": "מזכירים נגישים על ידי LLMs יוצגו כאן.",
@@ -288,12 +291,12 @@
 	"Model '{{modelName}}' has been successfully downloaded.": "המודל '{{modelName}}' הורד בהצלחה.",
 	"Model '{{modelTag}}' is already in queue for downloading.": "המודל '{{modelTag}}' כבר בתור להורדה.",
 	"Model {{modelId}} not found": "המודל {{modelId}} לא נמצא",
-	"Model {{modelName}} is not vision capable": "",
-	"Model {{name}} is now {{status}}": "",
+	"Model {{modelName}} is not vision capable": "דגם {{modelName}} אינו בעל יכולת ראייה",
+	"Model {{name}} is now {{status}}": "דגם {{name}} הוא כעת {{status}}",
 	"Model filesystem path detected. Model shortname is required for update, cannot continue.": "נתיב מערכת הקבצים של המודל זוהה. נדרש שם קצר של המודל לעדכון, לא ניתן להמשיך.",
-	"Model ID": "",
+	"Model ID": "מזהה דגם",
 	"Model not selected": "לא נבחר מודל",
-	"Model Params": "",
+	"Model Params": "פרמס מודל",
 	"Model Whitelisting": "רישום לבן של מודלים",
 	"Model(s) Whitelisted": "מודלים שנכללו ברשימה הלבנה",
 	"Modelfile Content": "תוכן קובץ מודל",
@@ -301,23 +304,25 @@
 	"More": "עוד",
 	"Name": "שם",
 	"Name Tag": "תג שם",
-	"Name your model": "",
+	"Name your model": "תן שם לדגם שלך",
 	"New Chat": "צ'אט חדש",
 	"New Password": "סיסמה חדשה",
 	"No results found": "לא נמצאו תוצאות",
-	"No search query generated": "",
+	"No search query generated": "לא נוצרה שאילתת חיפוש",
 	"No source available": "אין מקור זמין",
-	"None": "",
+	"None": "ללא",
 	"Not factually correct": "לא נכון מבחינה עובדתית",
 	"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "הערה: אם תקבע ציון מינימלי, החיפוש יחזיר רק מסמכים עם ציון שגבוה או שווה לציון המינימלי.",
 	"Notifications": "התראות",
 	"November": "נובמבר",
+	"num_thread (Ollama)": "num_thread (Ollama)",
 	"October": "אוקטובר",
 	"Off": "כבוי",
 	"Okay, Let's Go!": "בסדר, בואו נתחיל!",
 	"OLED Dark": "OLED כהה",
 	"Ollama": "Ollama",
-	"Ollama API": "",
+	"Ollama API": "Ollama API",
+	"Ollama API disabled": "Ollama API מושבת",
 	"Ollama Version": "גרסת Ollama",
 	"On": "פועל",
 	"Only": "רק",
@@ -342,8 +347,8 @@
 	"pending": "ממתין",
 	"Permission denied when accessing microphone: {{error}}": "ההרשאה נדחתה בעת גישה למיקרופון: {{error}}",
 	"Personalization": "תאור",
-	"Pipelines": "",
-	"Pipelines Valves": "",
+	"Pipelines": "צינורות",
+	"Pipelines Valves": "צינורות שסתומים",
 	"Plain text (.txt)": "טקסט פשוט (.txt)",
 	"Playground": "אזור משחקים",
 	"Positive attitude": "גישה חיובית",
@@ -388,33 +393,33 @@
 	"Scan for documents from {{path}}": "סרוק מסמכים מ-{{path}}",
 	"Search": "חפש",
 	"Search a model": "חפש מודל",
-	"Search Chats": "",
+	"Search Chats": "חיפוש צ'אטים",
 	"Search Documents": "חפש מסמכים",
-	"Search Models": "",
+	"Search Models": "חיפוש מודלים",
 	"Search Prompts": "חפש פקודות",
-	"Search Result Count": "",
-	"Searched {{count}} sites_one": "",
-	"Searched {{count}} sites_two": "",
-	"Searched {{count}} sites_other": "",
-	"Searching the web for '{{searchQuery}}'": "",
-	"Searxng Query URL": "",
+	"Search Result Count": "ספירת תוצאות חיפוש",
+	"Searched {{count}} sites_one": "חיפש {{count}} sites_one",
+	"Searched {{count}} sites_two": "חיפש {{count}} sites_two",
+	"Searched {{count}} sites_other": "חיפש {{count}} sites_other",
+	"Searching the web for '{{searchQuery}}'": "חיפוש באינטרנט אחר '{{searchQuery}}'",
+	"Searxng Query URL": "כתובת URL של שאילתת Searxng",
 	"See readme.md for instructions": "ראה את readme.md להוראות",
 	"See what's new": "ראה מה חדש",
 	"Seed": "זרע",
-	"Select a base model": "",
+	"Select a base model": "בחירת מודל בסיס",
 	"Select a mode": "בחר מצב",
 	"Select a model": "בחר מודל",
-	"Select a pipeline": "",
-	"Select a pipeline url": "",
+	"Select a pipeline": "בחר קו צינור",
+	"Select a pipeline url": "בחר כתובת URL של קו צינור",
 	"Select an Ollama instance": "בחר מופע של Ollama",
 	"Select model": "בחר מודל",
-	"Selected model(s) do not support image inputs": "",
+	"Selected model(s) do not support image inputs": "דגמים נבחרים אינם תומכים בקלט תמונה",
 	"Send": "שלח",
 	"Send a Message": "שלח הודעה",
 	"Send message": "שלח הודעה",
 	"September": "ספטמבר",
-	"Serper API Key": "",
-	"Serpstack API Key": "",
+	"Serper API Key": "מפתח Serper API",
+	"Serpstack API Key": "מפתח API של Serpstack",
 	"Server connection verified": "החיבור לשרת אומת",
 	"Set as default": "הגדר כברירת מחדל",
 	"Set Default Model": "הגדר מודל ברירת מחדל",
@@ -423,7 +428,7 @@
 	"Set Model": "הגדר מודל",
 	"Set reranking model (e.g. {{model}})": "הגדר מודל דירוג מחדש (למשל {{model}})",
 	"Set Steps": "הגדר שלבים",
-	"Set Task Model": "",
+	"Set Task Model": "הגדרת מודל משימה",
 	"Set Voice": "הגדר קול",
 	"Settings": "הגדרות",
 	"Settings saved successfully!": "ההגדרות נשמרו בהצלחה!",
@@ -482,19 +487,21 @@
 	"Top P": "Top P",
 	"Trouble accessing Ollama?": "קשה לגשת לOllama?",
 	"TTS Settings": "הגדרות TTS",
-	"Type": "",
+	"Type": "סוג",
 	"Type Hugging Face Resolve (Download) URL": "הקלד כתובת URL של פתרון פנים מחבק (הורד)",
 	"Uh-oh! There was an issue connecting to {{provider}}.": "או-הו! אירעה בעיה בהתחברות ל- {{provider}}.",
 	"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "סוג קובץ לא ידוע '{{file_type}}', אך מקבל ומתייחס אליו כטקסט רגיל",
 	"Update and Copy Link": "עדכן ושכפל קישור",
 	"Update password": "עדכן סיסמה",
 	"Upload a GGUF model": "העלה מודל GGUF",
-	"Upload Files": "",
+	"Upload Files": "העלאת קבצים",
 	"Upload Progress": "תקדמות העלאה",
 	"URL Mode": "מצב URL",
 	"Use '#' in the prompt input to load and select your documents.": "השתמש ב- '#' בקלט הבקשה כדי לטעון ולבחור את המסמכים שלך.",
 	"Use Gravatar": "שימוש ב Gravatar",
 	"Use Initials": "שימוש ב initials",
+	"use_mlock (Ollama)": "use_mlock (אולמה)",
+	"use_mmap (Ollama)": "use_mmap (Ollama)",
 	"user": "משתמש",
 	"User Permissions": "הרשאות משתמש",
 	"Users": "משתמשים",
@@ -503,13 +510,13 @@
 	"variable": "משתנה",
 	"variable to have them replaced with clipboard content.": "משתנה להחליפו ב- clipboard תוכן.",
 	"Version": "גרסה",
-	"Warning": "",
+	"Warning": "אזהרה",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "אזהרה: אם תעדכן או תשנה את מודל ההטבעה שלך, יהיה עליך לייבא מחדש את כל המסמכים.",
 	"Web": "רשת",
 	"Web Loader Settings": "הגדרות טעינת אתר",
 	"Web Params": "פרמטרים Web",
-	"Web Search": "",
-	"Web Search Engine": "",
+	"Web Search": "חיפוש באינטרנט",
+	"Web Search Engine": "מנוע חיפוש באינטרנט",
 	"Webhook URL": "URL Webhook",
 	"WebUI Add-ons": "נסיונות WebUI",
 	"WebUI Settings": "הגדרות WebUI",
@@ -522,7 +529,7 @@
 	"Write a summary in 50 words that summarizes [topic or keyword].": "כתוב סיכום ב-50 מילים שמסכם [נושא או מילת מפתח].",
 	"Yesterday": "אתמול",
 	"You": "אתה",
-	"You cannot clone a base model": "",
+	"You cannot clone a base model": "לא ניתן לשכפל מודל בסיס",
 	"You have no archived conversations.": "אין לך שיחות בארכיון.",
 	"You have shared this chat": "שיתפת את השיחה הזו",
 	"You're a helpful assistant.": "אתה עוזר מועיל.",

+ 77 - 70
src/lib/i18n/locales/hi-IN/translation.json

@@ -3,19 +3,19 @@
 	"(Beta)": "(Beta)",
 	"(e.g. `sh webui.sh --api`)": "(e.g. `sh webui.sh --api`)",
 	"(latest)": "(latest)",
-	"{{ models }}": "",
-	"{{ owner }}: You cannot delete a base model": "",
+	"{{ models }}": "{{ मॉडल }}",
+	"{{ owner }}: You cannot delete a base model": "{{ मालिक }}: आप बेस मॉडल को हटा नहीं सकते",
 	"{{modelName}} is thinking...": "{{modelName}} सोच रहा है...",
 	"{{user}}'s Chats": "{{user}} की चैट",
 	"{{webUIName}} Backend Required": "{{webUIName}} बैकएंड आवश्यक",
-	"A task model is used when performing tasks such as generating titles for chats and web search queries": "",
+	"A task model is used when performing tasks such as generating titles for chats and web search queries": "चैट और वेब खोज क्वेरी के लिए शीर्षक उत्पन्न करने जैसे कार्य करते समय कार्य मॉडल का उपयोग किया जाता है",
 	"a user": "एक उपयोगकर्ता",
 	"About": "हमारे बारे में",
 	"Account": "खाता",
 	"Accurate information": "सटीक जानकारी",
 	"Add": "जोड़ें",
-	"Add a model id": "",
-	"Add a short description about what this model does": "",
+	"Add a model id": "मॉडल आईडी जोड़ना",
+	"Add a short description about what this model does": "इस मॉडल के बारे में एक संक्षिप्त विवरण जोड़ें",
 	"Add a short title for this prompt": "इस संकेत के लिए एक संक्षिप्त शीर्षक जोड़ें",
 	"Add a tag": "एक टैग जोड़े",
 	"Add custom prompt": "अनुकूल संकेत जोड़ें",
@@ -31,12 +31,13 @@
 	"Admin Panel": "व्यवस्थापक पैनल",
 	"Admin Settings": "व्यवस्थापक सेटिंग्स",
 	"Advanced Parameters": "उन्नत पैरामीटर",
-	"Advanced Params": "",
+	"Advanced Params": "उन्नत परम",
 	"all": "सभी",
 	"All Documents": "सभी डॉक्यूमेंट्स",
 	"All Users": "सभी उपयोगकर्ता",
 	"Allow": "अनुमति दें",
 	"Allow Chat Deletion": "चैट हटाने की अनुमति दें",
+	"Allow non-local voices": "",
 	"alphanumeric characters and hyphens": "अल्फ़ान्यूमेरिक वर्ण और हाइफ़न",
 	"Already have an account?": "क्या आपके पास पहले से एक खाता मौजूद है?",
 	"an assistant": "एक सहायक",
@@ -48,7 +49,7 @@
 	"API keys": "एपीआई कुंजियाँ",
 	"April": "अप्रैल",
 	"Archive": "पुरालेख",
-	"Archive All Chats": "",
+	"Archive All Chats": "सभी चैट संग्रहीत करें",
 	"Archived Chats": "संग्रहीत चैट",
 	"are allowed - Activate this command by typing": "अनुमति है - टाइप करके इस कमांड को सक्रिय करें",
 	"Are you sure?": "क्या आपको यकीन है?",
@@ -63,14 +64,14 @@
 	"available!": "उपलब्ध!",
 	"Back": "पीछे",
 	"Bad Response": "ख़राब प्रतिक्रिया",
-	"Banners": "",
-	"Base Model (From)": "",
+	"Banners": "बैनर",
+	"Base Model (From)": "बेस मॉडल (से)",
 	"before": "पहले",
 	"Being lazy": "आलसी होना",
-	"Brave Search API Key": "",
+	"Brave Search API Key": "Brave सर्च एपीआई कुंजी",
 	"Bypass SSL verification for Websites": "वेबसाइटों के लिए SSL सुनिश्चिती को छोड़ें",
 	"Cancel": "रद्द करें",
-	"Capabilities": "",
+	"Capabilities": "क्षमताओं",
 	"Change Password": "पासवर्ड बदलें",
 	"Chat": "चैट करें",
 	"Chat Bubble UI": "चैट बॉली",
@@ -93,14 +94,14 @@
 	"Click here to select documents.": "दस्तावेज़ चुनने के लिए यहां क्लिक करें।",
 	"click here.": "यहाँ क्लिक करें।",
 	"Click on the user role button to change a user's role.": "उपयोगकर्ता की भूमिका बदलने के लिए उपयोगकर्ता भूमिका बटन पर क्लिक करें।",
-	"Clone": "",
+	"Clone": "क्लोन",
 	"Close": "बंद करना",
 	"Collection": "संग्रह",
 	"ComfyUI": "ComfyUI",
 	"ComfyUI Base URL": "ComfyUI बेस यूआरएल",
 	"ComfyUI Base URL is required.": "ComfyUI का बेस यूआरएल आवश्यक है",
 	"Command": "कमांड",
-	"Concurrent Requests": "",
+	"Concurrent Requests": "समवर्ती अनुरोध",
 	"Confirm Password": "पासवर्ड की पुष्टि कीजिये",
 	"Connections": "सम्बन्ध",
 	"Content": "सामग्री",
@@ -114,7 +115,7 @@
 	"Copy Link": "लिंक को कॉपी करें",
 	"Copying to clipboard was successful!": "क्लिपबोर्ड पर कॉपी बनाना सफल रहा!",
 	"Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "निम्नलिखित क्वेरी के लिए हेडर के रूप में एक संक्षिप्त, 3-5 शब्द वाक्यांश बनाएं, 3-5 शब्द सीमा का सख्ती से पालन करें और 'शीर्षक' शब्द के उपयोग से बचें:",
-	"Create a model": "",
+	"Create a model": "एक मॉडल बनाएं",
 	"Create Account": "खाता बनाएं",
 	"Create new key": "नया क्रिप्टोग्राफिक क्षेत्र बनाएं",
 	"Create new secret key": "नया क्रिप्टोग्राफिक क्षेत्र बनाएं",
@@ -123,7 +124,7 @@
 	"Current Model": "वर्तमान मॉडल",
 	"Current Password": "वर्तमान पासवर्ड",
 	"Custom": "कस्टम संस्करण",
-	"Customize models for a specific purpose": "",
+	"Customize models for a specific purpose": "एक विशिष्ट उद्देश्य के लिए मॉडल अनुकूलित करें",
 	"Dark": "डार्क",
 	"Database": "डेटाबेस",
 	"December": "डिसेंबर",
@@ -131,24 +132,24 @@
 	"Default (Automatic1111)": "डिफ़ॉल्ट (Automatic1111)",
 	"Default (SentenceTransformers)": "डिफ़ॉल्ट (SentenceTransformers)",
 	"Default (Web API)": "डिफ़ॉल्ट (Web API)",
-	"Default Model": "",
+	"Default Model": "डिफ़ॉल्ट मॉडल",
 	"Default model updated": "डिफ़ॉल्ट मॉडल अपडेट किया गया",
 	"Default Prompt Suggestions": "डिफ़ॉल्ट प्रॉम्प्ट सुझाव",
 	"Default User Role": "डिफ़ॉल्ट उपयोगकर्ता भूमिका",
 	"delete": "डिलीट",
 	"Delete": "डिलीट",
 	"Delete a model": "एक मॉडल हटाएँ",
-	"Delete All Chats": "",
+	"Delete All Chats": "सभी चैट हटाएं",
 	"Delete chat": "चैट हटाएं",
 	"Delete Chat": "चैट हटाएं",
 	"delete this link": "इस लिंक को हटाएं",
 	"Delete User": "उपभोक्ता मिटायें",
 	"Deleted {{deleteModelTag}}": "{{deleteModelTag}} हटा दिया गया",
-	"Deleted {{name}}": "",
+	"Deleted {{name}}": "{{name}} हटा दिया गया",
 	"Description": "विवरण",
 	"Didn't fully follow instructions": "निर्देशों का पूरी तरह से पालन नहीं किया",
 	"Disabled": "अक्षरण",
-	"Discover a model": "",
+	"Discover a model": "एक मॉडल की खोज करें",
 	"Discover a prompt": "प्रॉम्प्ट खोजें",
 	"Discover, download, and explore custom prompts": "कस्टम प्रॉम्प्ट को खोजें, डाउनलोड करें और एक्सप्लोर करें",
 	"Discover, download, and explore model presets": "मॉडल प्रीसेट खोजें, डाउनलोड करें और एक्सप्लोर करें",
@@ -174,27 +175,27 @@
 	"Embedding Model Engine": "एंबेडिंग मॉडल इंजन",
 	"Embedding model set to \"{{embedding_model}}\"": "एम्बेडिंग मॉडल को \"{{embedding_model}}\" पर सेट किया गया",
 	"Enable Chat History": "चैट इतिहास सक्रिय करें",
-	"Enable Community Sharing": "",
+	"Enable Community Sharing": "समुदाय साझाकरण सक्षम करें",
 	"Enable New Sign Ups": "नए साइन अप सक्रिय करें",
-	"Enable Web Search": "",
+	"Enable Web Search": "वेब खोज सक्षम करें",
 	"Enabled": "सक्रिय",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "सुनिश्चित करें कि आपकी CSV फ़ाइल में इस क्रम में 4 कॉलम शामिल हैं: नाम, ईमेल, पासवर्ड, भूमिका।",
 	"Enter {{role}} message here": "यहां {{role}} संदेश दर्ज करें",
 	"Enter a detail about yourself for your LLMs to recall": "अपने एलएलएम को याद करने के लिए अपने बारे में एक विवरण दर्ज करें",
-	"Enter Brave Search API Key": "",
+	"Enter Brave Search API Key": "Brave सर्च एपीआई कुंजी डालें",
 	"Enter Chunk Overlap": "चंक ओवरलैप दर्ज करें",
 	"Enter Chunk Size": "खंड आकार दर्ज करें",
-	"Enter Github Raw URL": "",
-	"Enter Google PSE API Key": "",
-	"Enter Google PSE Engine Id": "",
+	"Enter Github Raw URL": "Github Raw URL दर्ज करें",
+	"Enter Google PSE API Key": "Google PSE API कुंजी दर्ज करें",
+	"Enter Google PSE Engine Id": "Google PSE इंजन आईडी दर्ज करें",
 	"Enter Image Size (e.g. 512x512)": "छवि का आकार दर्ज करें (उदा. 512x512)",
 	"Enter language codes": "भाषा कोड दर्ज करें",
 	"Enter model tag (e.g. {{modelTag}})": "Model tag दर्ज करें (उदा. {{modelTag}})",
 	"Enter Number of Steps (e.g. 50)": "चरणों की संख्या दर्ज करें (उदा. 50)",
 	"Enter Score": "स्कोर दर्ज करें",
-	"Enter Searxng Query URL": "",
-	"Enter Serper API Key": "",
-	"Enter Serpstack API Key": "",
+	"Enter Searxng Query URL": "Searxng क्वेरी URL दर्ज करें",
+	"Enter Serper API Key": "Serper API कुंजी दर्ज करें",
+	"Enter Serpstack API Key": "सर्पस्टैक एपीआई कुंजी दर्ज करें",
 	"Enter stop sequence": "स्टॉप अनुक्रम दर्ज करें",
 	"Enter Top K": "शीर्ष K दर्ज करें",
 	"Enter URL (e.g. http://127.0.0.1:7860/)": "यूआरएल दर्ज करें (उदा. http://127.0.0.1:7860/)",
@@ -203,12 +204,14 @@
 	"Enter Your Full Name": "अपना पूरा नाम भरें",
 	"Enter Your Password": "अपना पासवर्ड भरें",
 	"Enter Your Role": "अपनी भूमिका दर्ज करें",
-	"Error": "",
+	"Error": "चूक",
 	"Experimental": "प्रयोगात्मक",
+	"Export": "निर्यातित माल",
 	"Export All Chats (All Users)": "सभी चैट निर्यात करें (सभी उपयोगकर्ताओं की)",
+	"Export chat (.json)": "",
 	"Export Chats": "चैट निर्यात करें",
 	"Export Documents Mapping": "निर्यात दस्तावेज़ मैपिंग",
-	"Export Models": "",
+	"Export Models": "निर्यात मॉडल",
 	"Export Prompts": "प्रॉम्प्ट निर्यात करें",
 	"Failed to create API Key.": "एपीआई कुंजी बनाने में विफल.",
 	"Failed to read clipboard contents": "क्लिपबोर्ड सामग्री पढ़ने में विफल",
@@ -221,15 +224,15 @@
 	"Focus chat input": "चैट इनपुट पर फ़ोकस करें",
 	"Followed instructions perfectly": "निर्देशों का पूर्णतः पालन किया",
 	"Format your variables using square brackets like this:": "वर्गाकार कोष्ठकों का उपयोग करके अपने चरों को इस प्रकार प्रारूपित करें :",
-	"Frequency Penalty": "",
+	"Frequency Penalty": "फ्रीक्वेंसी पेनल्टी",
 	"Full Screen Mode": "पूर्ण स्क्रीन मोड",
 	"General": "सामान्य",
 	"General Settings": "सामान्य सेटिंग्स",
-	"Generating search query": "",
+	"Generating search query": "खोज क्वेरी जनरेट करना",
 	"Generation Info": "जनरेशन की जानकारी",
 	"Good Response": "अच्छी प्रतिक्रिया",
-	"Google PSE API Key": "",
-	"Google PSE Engine Id": "",
+	"Google PSE API Key": "Google PSE API कुंजी",
+	"Google PSE Engine Id": "Google PSE इंजन आईडी",
 	"h:mm a": "h:mm a",
 	"has no conversations.": "कोई बातचीत नहीं है",
 	"Hello, {{name}}": "नमस्ते, {{name}}",
@@ -243,18 +246,18 @@
 	"Images": "इमेजिस",
 	"Import Chats": "चैट आयात करें",
 	"Import Documents Mapping": "दस्तावेज़ मैपिंग आयात करें",
-	"Import Models": "",
+	"Import Models": "आयात मॉडल",
 	"Import Prompts": "प्रॉम्प्ट आयात करें",
 	"Include `--api` flag when running stable-diffusion-webui": "stable-diffusion-webui चलाते समय `--api` ध्वज शामिल करें",
-	"Info": "",
+	"Info": "सूचना-विषयक",
 	"Input commands": "इनपुट क命",
-	"Install from Github URL": "",
+	"Install from Github URL": "Github URL से इंस्टॉल करें",
 	"Interface": "इंटरफेस",
 	"Invalid Tag": "अवैध टैग",
 	"January": "जनवरी",
 	"join our Discord for help.": "मदद के लिए हमारे डिस्कोर्ड में शामिल हों।",
 	"JSON": "ज्ञान प्रकार",
-	"JSON Preview": "",
+	"JSON Preview": "JSON पूर्वावलोकन",
 	"July": "जुलाई",
 	"June": "जुन",
 	"JWT Expiration": "JWT समाप्ति",
@@ -271,9 +274,9 @@
 	"Make sure to enclose them with": "उन्हें संलग्न करना सुनिश्चित करें",
 	"Manage Models": "मॉडल प्रबंधित करें",
 	"Manage Ollama Models": "Ollama मॉडल प्रबंधित करें",
-	"Manage Pipelines": "",
+	"Manage Pipelines": "पाइपलाइनों का प्रबंधन करें",
 	"March": "मार्च",
-	"Max Tokens (num_predict)": "",
+	"Max Tokens (num_predict)": "अधिकतम टोकन (num_predict)",
 	"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "अधिकतम 3 मॉडल एक साथ डाउनलोड किये जा सकते हैं। कृपया बाद में पुन: प्रयास करें।",
 	"May": "मेई",
 	"Memories accessible by LLMs will be shown here.": "एलएलएम द्वारा सुलभ यादें यहां दिखाई जाएंगी।",
@@ -288,12 +291,12 @@
 	"Model '{{modelName}}' has been successfully downloaded.": "मॉडल '{{modelName}}' सफलतापूर्वक डाउनलोड हो गया है।",
 	"Model '{{modelTag}}' is already in queue for downloading.": "मॉडल '{{modelTag}}' पहले से ही डाउनलोड करने के लिए कतार में है।",
 	"Model {{modelId}} not found": "मॉडल {{modelId}} नहीं मिला",
-	"Model {{modelName}} is not vision capable": "",
-	"Model {{name}} is now {{status}}": "",
+	"Model {{modelName}} is not vision capable": "मॉडल {{modelName}} दृष्टि सक्षम नहीं है",
+	"Model {{name}} is now {{status}}": "मॉडल {{name}} अब {{status}} है",
 	"Model filesystem path detected. Model shortname is required for update, cannot continue.": "मॉडल फ़ाइल सिस्टम पथ का पता चला. अद्यतन के लिए मॉडल संक्षिप्त नाम आवश्यक है, जारी नहीं रखा जा सकता।",
-	"Model ID": "",
+	"Model ID": "मॉडल आईडी",
 	"Model not selected": "मॉडल चयनित नहीं है",
-	"Model Params": "",
+	"Model Params": "मॉडल Params",
 	"Model Whitelisting": "मॉडल श्वेतसूचीकरण करें",
 	"Model(s) Whitelisted": "मॉडल श्वेतसूची में है",
 	"Modelfile Content": "मॉडल फ़ाइल सामग्री",
@@ -301,23 +304,25 @@
 	"More": "और..",
 	"Name": "नाम",
 	"Name Tag": "नाम टैग",
-	"Name your model": "",
+	"Name your model": "अपने मॉडल को नाम दें",
 	"New Chat": "नई चैट",
 	"New Password": "नया पासवर्ड",
 	"No results found": "कोई परिणाम नहीं मिला",
-	"No search query generated": "",
+	"No search query generated": "कोई खोज क्वेरी जनरेट नहीं हुई",
 	"No source available": "कोई स्रोत उपलब्ध नहीं है",
-	"None": "",
+	"None": "कोई नहीं",
 	"Not factually correct": "तथ्यात्मक रूप से सही नहीं है",
 	"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "ध्यान दें: यदि आप न्यूनतम स्कोर निर्धारित करते हैं, तो खोज केवल न्यूनतम स्कोर से अधिक या उसके बराबर स्कोर वाले दस्तावेज़ वापस लाएगी।",
 	"Notifications": "सूचनाएं",
 	"November": "नवंबर",
+	"num_thread (Ollama)": "num_thread (ओलामा)",
 	"October": "अक्टूबर",
 	"Off": "बंद",
 	"Okay, Let's Go!": "ठीक है, चलिए चलते हैं!",
 	"OLED Dark": "OLEDescuro",
 	"Ollama": "Ollama",
-	"Ollama API": "",
+	"Ollama API": "ओलामा एपीआई",
+	"Ollama API disabled": "ओलामा एपीआई अक्षम",
 	"Ollama Version": "Ollama Version",
 	"On": "चालू",
 	"Only": "केवल",
@@ -342,8 +347,8 @@
 	"pending": "लंबित",
 	"Permission denied when accessing microphone: {{error}}": "माइक्रोफ़ोन तक पहुँचने पर अनुमति अस्वीकृत: {{error}}",
 	"Personalization": "पेरसनलाइज़मेंट",
-	"Pipelines": "",
-	"Pipelines Valves": "",
+	"Pipelines": "पाइपलाइनों",
+	"Pipelines Valves": "पाइपलाइन वाल्व",
 	"Plain text (.txt)": "सादा पाठ (.txt)",
 	"Playground": "कार्यक्षेत्र",
 	"Positive attitude": "सकारात्मक रवैया",
@@ -388,32 +393,32 @@
 	"Scan for documents from {{path}}": "{{path}} से दस्तावेज़ों को स्कैन करें",
 	"Search": "खोजें",
 	"Search a model": "एक मॉडल खोजें",
-	"Search Chats": "",
+	"Search Chats": "चैट खोजें",
 	"Search Documents": "दस्तावेज़ खोजें",
-	"Search Models": "",
+	"Search Models": "मॉडल खोजें",
 	"Search Prompts": "प्रॉम्प्ट खोजें",
-	"Search Result Count": "",
-	"Searched {{count}} sites_one": "",
-	"Searched {{count}} sites_other": "",
-	"Searching the web for '{{searchQuery}}'": "",
-	"Searxng Query URL": "",
+	"Search Result Count": "खोज परिणामों की संख्या",
+	"Searched {{count}} sites_one": "{{count}} sites_one खोजा गया",
+	"Searched {{count}} sites_other": "{{count}} sites_other खोजा गया",
+	"Searching the web for '{{searchQuery}}'": "वेब पर '{{searchQuery}}' खोजना",
+	"Searxng Query URL": "Searxng क्वेरी URL",
 	"See readme.md for instructions": "निर्देशों के लिए readme.md देखें",
 	"See what's new": "देखें, क्या नया है",
 	"Seed": "सीड्\u200c",
-	"Select a base model": "",
+	"Select a base model": "एक आधार मॉडल का चयन करें",
 	"Select a mode": "एक मोड चुनें",
 	"Select a model": "एक मॉडल चुनें",
-	"Select a pipeline": "",
-	"Select a pipeline url": "",
+	"Select a pipeline": "एक पाइपलाइन का चयन करें",
+	"Select a pipeline url": "एक पाइपलाइन url चुनें",
 	"Select an Ollama instance": "एक Ollama Instance चुनें",
 	"Select model": "मॉडल चुनें",
-	"Selected model(s) do not support image inputs": "",
+	"Selected model(s) do not support image inputs": "चयनित मॉडल छवि इनपुट का समर्थन नहीं करते हैं",
 	"Send": "भेज",
 	"Send a Message": "एक संदेश भेजो",
 	"Send message": "मेसेज भेजें",
 	"September": "सितंबर",
-	"Serper API Key": "",
-	"Serpstack API Key": "",
+	"Serper API Key": "Serper API कुंजी",
+	"Serpstack API Key": "सर्पस्टैक एपीआई कुंजी",
 	"Server connection verified": "सर्वर कनेक्शन सत्यापित",
 	"Set as default": "डिफाल्ट के रूप में सेट",
 	"Set Default Model": "डिफ़ॉल्ट मॉडल सेट करें",
@@ -422,7 +427,7 @@
 	"Set Model": "मॉडल सेट करें",
 	"Set reranking model (e.g. {{model}})": "रीकरण मॉडल सेट करें (उदाहरण: {{model}})",
 	"Set Steps": "चरण निर्धारित करें",
-	"Set Task Model": "",
+	"Set Task Model": "कार्य मॉडल सेट करें",
 	"Set Voice": "आवाज सेट करें",
 	"Settings": "सेटिंग्स",
 	"Settings saved successfully!": "सेटिंग्स सफलतापूर्वक सहेजी गईं!",
@@ -481,19 +486,21 @@
 	"Top P": "शीर्ष  P",
 	"Trouble accessing Ollama?": "Ollama तक पहुँचने में परेशानी हो रही है?",
 	"TTS Settings": "TTS सेटिंग्स",
-	"Type": "",
+	"Type": "प्रकार",
 	"Type Hugging Face Resolve (Download) URL": "हगिंग फेस रिज़ॉल्व (डाउनलोड) यूआरएल टाइप करें",
 	"Uh-oh! There was an issue connecting to {{provider}}.": "उह ओह! {{provider}} से कनेक्ट करने में एक समस्या थी।",
 	"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "अज्ञात फ़ाइल प्रकार '{{file_type}}', लेकिन स्वीकार करना और सादे पाठ के रूप में व्यवहार करना",
 	"Update and Copy Link": "अपडेट करें और लिंक कॉपी करें",
 	"Update password": "पासवर्ड अपडेट करें",
 	"Upload a GGUF model": "GGUF मॉडल अपलोड करें",
-	"Upload Files": "",
+	"Upload Files": "फ़ाइलें अपलोड करें",
 	"Upload Progress": "प्रगति अपलोड करें",
 	"URL Mode": "URL मोड",
 	"Use '#' in the prompt input to load and select your documents.": "अपने दस्तावेज़ों को लोड करने और चुनने के लिए शीघ्र इनपुट में '#' का उपयोग करें।",
 	"Use Gravatar": "Gravatar का प्रयोग करें",
 	"Use Initials": "प्रथमाक्षर का प्रयोग करें",
+	"use_mlock (Ollama)": "use_mlock (ओलामा)",
+	"use_mmap (Ollama)": "use_mmap (ओलामा)",
 	"user": "उपयोगकर्ता",
 	"User Permissions": "उपयोगकर्ता अनुमतियाँ",
 	"Users": "उपयोगकर्ताओं",
@@ -502,13 +509,13 @@
 	"variable": "वेरिएबल",
 	"variable to have them replaced with clipboard content.": "उन्हें क्लिपबोर्ड सामग्री से बदलने के लिए वेरिएबल।",
 	"Version": "संस्करण",
-	"Warning": "",
+	"Warning": "चेतावनी",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "चेतावनी: यदि आप अपने एम्बेडिंग मॉडल को अपडेट या बदलते हैं, तो आपको सभी दस्तावेज़ों को फिर से आयात करने की आवश्यकता होगी।",
 	"Web": "वेब",
 	"Web Loader Settings": "वेब लोडर सेटिंग्स",
 	"Web Params": "वेब पैरामीटर",
-	"Web Search": "",
-	"Web Search Engine": "",
+	"Web Search": "वेब खोज",
+	"Web Search Engine": "वेब खोज इंजन",
 	"Webhook URL": "वेबहुक URL",
 	"WebUI Add-ons": "वेबयू ऐड-ons",
 	"WebUI Settings": "WebUI सेटिंग्स",
@@ -521,7 +528,7 @@
 	"Write a summary in 50 words that summarizes [topic or keyword].": "50 शब्दों में एक सारांश लिखें जो [विषय या कीवर्ड] का सारांश प्रस्तुत करता हो।",
 	"Yesterday": "कल",
 	"You": "आप",
-	"You cannot clone a base model": "",
+	"You cannot clone a base model": "आप बेस मॉडल का क्लोन नहीं बना सकते",
 	"You have no archived conversations.": "आपको कोई अंकित चैट नहीं है।",
 	"You have shared this chat": "आपने इस चैट को शेयर किया है",
 	"You're a helpful assistant.": "आप एक सहायक सहायक हैं",

+ 78 - 71
src/lib/i18n/locales/hr-HR/translation.json

@@ -3,19 +3,19 @@
 	"(Beta)": "(Beta)",
 	"(e.g. `sh webui.sh --api`)": "(npr. `sh webui.sh --api`)",
 	"(latest)": "(najnovije)",
-	"{{ models }}": "",
-	"{{ owner }}: You cannot delete a base model": "",
+	"{{ models }}": "{{ modeli }}",
+	"{{ owner }}: You cannot delete a base model": "{{ vlasnik }}: ne možete izbrisati osnovni model",
 	"{{modelName}} is thinking...": "{{modelName}} razmišlja...",
 	"{{user}}'s Chats": "Razgovori korisnika {{user}}",
 	"{{webUIName}} Backend Required": "{{webUIName}} Backend je potreban",
-	"A task model is used when performing tasks such as generating titles for chats and web search queries": "",
+	"A task model is used when performing tasks such as generating titles for chats and web search queries": "Model zadatka koristi se pri izvođenju zadataka kao što su generiranje naslova za razgovore i upite za pretraživanje weba",
 	"a user": "korisnik",
 	"About": "O aplikaciji",
 	"Account": "Račun",
 	"Accurate information": "Točne informacije",
 	"Add": "Dodaj",
-	"Add a model id": "",
-	"Add a short description about what this model does": "",
+	"Add a model id": "Dodavanje ID-a modela",
+	"Add a short description about what this model does": "Dodajte kratak opis funkcija ovog modela",
 	"Add a short title for this prompt": "Dodajte kratki naslov za ovaj prompt",
 	"Add a tag": "Dodaj oznaku",
 	"Add custom prompt": "Dodaj prilagođeni prompt",
@@ -31,12 +31,13 @@
 	"Admin Panel": "Administratorska ploča",
 	"Admin Settings": "Administratorske postavke",
 	"Advanced Parameters": "Napredni parametri",
-	"Advanced Params": "",
+	"Advanced Params": "Napredni parami",
 	"all": "sve",
 	"All Documents": "Svi dokumenti",
 	"All Users": "Svi korisnici",
 	"Allow": "Dopusti",
 	"Allow Chat Deletion": "Dopusti brisanje razgovora",
+	"Allow non-local voices": "",
 	"alphanumeric characters and hyphens": "alfanumerički znakovi i crtice",
 	"Already have an account?": "Već imate račun?",
 	"an assistant": "asistent",
@@ -48,7 +49,7 @@
 	"API keys": "API ključevi",
 	"April": "Travanj",
 	"Archive": "Arhiva",
-	"Archive All Chats": "",
+	"Archive All Chats": "Arhiviraj sve razgovore",
 	"Archived Chats": "Arhivirani razgovori",
 	"are allowed - Activate this command by typing": "su dopušteni - Aktivirajte ovu naredbu upisivanjem",
 	"Are you sure?": "Jeste li sigurni?",
@@ -63,14 +64,14 @@
 	"available!": "dostupno!",
 	"Back": "Natrag",
 	"Bad Response": "Loš odgovor",
-	"Banners": "",
-	"Base Model (From)": "",
+	"Banners": "Bannere",
+	"Base Model (From)": "Osnovni model (šalje)",
 	"before": "prije",
 	"Being lazy": "Biti lijen",
-	"Brave Search API Key": "",
+	"Brave Search API Key": "Ključ API-ja za hrabro pretraživanje",
 	"Bypass SSL verification for Websites": "Zaobiđi SSL provjeru za web stranice",
 	"Cancel": "Otkaži",
-	"Capabilities": "",
+	"Capabilities": "Mogućnosti",
 	"Change Password": "Promijeni lozinku",
 	"Chat": "Razgovor",
 	"Chat Bubble UI": "Razgovor - Bubble UI",
@@ -93,14 +94,14 @@
 	"Click here to select documents.": "Kliknite ovdje da odaberete dokumente.",
 	"click here.": "kliknite ovdje.",
 	"Click on the user role button to change a user's role.": "Kliknite na gumb uloge korisnika za promjenu uloge korisnika.",
-	"Clone": "",
+	"Clone": "Klon",
 	"Close": "Zatvori",
 	"Collection": "Kolekcija",
 	"ComfyUI": "ComfyUI",
 	"ComfyUI Base URL": "ComfyUI osnovni URL",
 	"ComfyUI Base URL is required.": "Potreban je ComfyUI osnovni URL.",
 	"Command": "Naredba",
-	"Concurrent Requests": "",
+	"Concurrent Requests": "Istodobni zahtjevi",
 	"Confirm Password": "Potvrdite lozinku",
 	"Connections": "Povezivanja",
 	"Content": "Sadržaj",
@@ -114,7 +115,7 @@
 	"Copy Link": "Kopiraj vezu",
 	"Copying to clipboard was successful!": "Kopiranje u međuspremnik je uspješno!",
 	"Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "Stvorite sažetu frazu od 3-5 riječi kao naslov za sljedeći upit, strogo se pridržavajući ograničenja od 3-5 riječi i izbjegavajući upotrebu riječi 'naslov':",
-	"Create a model": "",
+	"Create a model": "Stvaranje modela",
 	"Create Account": "Stvori račun",
 	"Create new key": "Stvori novi ključ",
 	"Create new secret key": "Stvori novi tajni ključ",
@@ -123,7 +124,7 @@
 	"Current Model": "Trenutni model",
 	"Current Password": "Trenutna lozinka",
 	"Custom": "Prilagođeno",
-	"Customize models for a specific purpose": "",
+	"Customize models for a specific purpose": "Prilagodba modela za određenu svrhu",
 	"Dark": "Tamno",
 	"Database": "Baza podataka",
 	"December": "Prosinac",
@@ -131,24 +132,24 @@
 	"Default (Automatic1111)": "Zadano (Automatic1111)",
 	"Default (SentenceTransformers)": "Zadano (SentenceTransformers)",
 	"Default (Web API)": "Zadano (Web API)",
-	"Default Model": "",
+	"Default Model": "Zadani model",
 	"Default model updated": "Zadani model ažuriran",
 	"Default Prompt Suggestions": "Zadani prijedlozi prompta",
 	"Default User Role": "Zadana korisnička uloga",
 	"delete": "izbriši",
 	"Delete": "Izbriši",
 	"Delete a model": "Izbriši model",
-	"Delete All Chats": "",
+	"Delete All Chats": "Izbriši sve razgovore",
 	"Delete chat": "Izbriši razgovor",
 	"Delete Chat": "Izbriši razgovor",
 	"delete this link": "izbriši ovu vezu",
 	"Delete User": "Izbriši korisnika",
 	"Deleted {{deleteModelTag}}": "Izbrisan {{deleteModelTag}}",
-	"Deleted {{name}}": "",
+	"Deleted {{name}}": "Izbrisano {{name}}",
 	"Description": "Opis",
 	"Didn't fully follow instructions": "Nije u potpunosti slijedio upute",
 	"Disabled": "Onemogućeno",
-	"Discover a model": "",
+	"Discover a model": "Otkrijte model",
 	"Discover a prompt": "Otkrijte prompt",
 	"Discover, download, and explore custom prompts": "Otkrijte, preuzmite i istražite prilagođene prompte",
 	"Discover, download, and explore model presets": "Otkrijte, preuzmite i istražite unaprijed postavljene modele",
@@ -174,27 +175,27 @@
 	"Embedding Model Engine": "Embedding model pogon",
 	"Embedding model set to \"{{embedding_model}}\"": "Embedding model postavljen na \"{{embedding_model}}\"",
 	"Enable Chat History": "Omogući povijest razgovora",
-	"Enable Community Sharing": "",
+	"Enable Community Sharing": "Omogući zajedničko korištenje zajednice",
 	"Enable New Sign Ups": "Omogući nove prijave",
-	"Enable Web Search": "",
+	"Enable Web Search": "Omogući pretraživanje weba",
 	"Enabled": "Omogućeno",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Provjerite da vaša CSV datoteka uključuje 4 stupca u ovom redoslijedu: Name, Email, Password, Role.",
 	"Enter {{role}} message here": "Unesite {{role}} poruku ovdje",
 	"Enter a detail about yourself for your LLMs to recall": "Unesite pojedinosti o sebi da bi učitali memoriju u LLM",
-	"Enter Brave Search API Key": "",
+	"Enter Brave Search API Key": "Unesite ključ API-ja za hrabro pretraživanje",
 	"Enter Chunk Overlap": "Unesite preklapanje dijelova",
 	"Enter Chunk Size": "Unesite veličinu dijela",
-	"Enter Github Raw URL": "",
-	"Enter Google PSE API Key": "",
-	"Enter Google PSE Engine Id": "",
+	"Enter Github Raw URL": "Unesite Github sirovi URL",
+	"Enter Google PSE API Key": "Unesite Google PSE API ključ",
+	"Enter Google PSE Engine Id": "Unesite ID Google PSE motora",
 	"Enter Image Size (e.g. 512x512)": "Unesite veličinu slike (npr. 512x512)",
 	"Enter language codes": "Unesite kodove jezika",
 	"Enter model tag (e.g. {{modelTag}})": "Unesite oznaku modela (npr. {{modelTag}})",
 	"Enter Number of Steps (e.g. 50)": "Unesite broj koraka (npr. 50)",
 	"Enter Score": "Unesite ocjenu",
-	"Enter Searxng Query URL": "",
-	"Enter Serper API Key": "",
-	"Enter Serpstack API Key": "",
+	"Enter Searxng Query URL": "Unos URL-a upita Searxng",
+	"Enter Serper API Key": "Unesite API ključ serpera",
+	"Enter Serpstack API Key": "Unesite API ključ Serpstack",
 	"Enter stop sequence": "Unesite sekvencu zaustavljanja",
 	"Enter Top K": "Unesite Top K",
 	"Enter URL (e.g. http://127.0.0.1:7860/)": "Unesite URL (npr. http://127.0.0.1:7860/)",
@@ -203,12 +204,14 @@
 	"Enter Your Full Name": "Unesite svoje puno ime",
 	"Enter Your Password": "Unesite svoju lozinku",
 	"Enter Your Role": "Unesite svoju ulogu",
-	"Error": "",
+	"Error": "Greška",
 	"Experimental": "Eksperimentalno",
+	"Export": "Izvoz",
 	"Export All Chats (All Users)": "Izvoz svih razgovora (svi korisnici)",
+	"Export chat (.json)": "",
 	"Export Chats": "Izvoz razgovora",
 	"Export Documents Mapping": "Izvoz mapiranja dokumenata",
-	"Export Models": "",
+	"Export Models": "Izvezi modele",
 	"Export Prompts": "Izvoz prompta",
 	"Failed to create API Key.": "Neuspješno stvaranje API ključa.",
 	"Failed to read clipboard contents": "Neuspješno čitanje sadržaja međuspremnika",
@@ -221,15 +224,15 @@
 	"Focus chat input": "Fokusiraj unos razgovora",
 	"Followed instructions perfectly": "Savršeno slijedio upute",
 	"Format your variables using square brackets like this:": "Formatirajte svoje varijable pomoću uglatih zagrada ovako:",
-	"Frequency Penalty": "",
+	"Frequency Penalty": "Kazna za učestalost",
 	"Full Screen Mode": "Način cijelog zaslona",
 	"General": "Općenito",
 	"General Settings": "Opće postavke",
-	"Generating search query": "",
+	"Generating search query": "Generiranje upita za pretraživanje",
 	"Generation Info": "Informacije o generaciji",
 	"Good Response": "Dobar odgovor",
-	"Google PSE API Key": "",
-	"Google PSE Engine Id": "",
+	"Google PSE API Key": "Google PSE API ključ",
+	"Google PSE Engine Id": "ID Google PSE modula",
 	"h:mm a": "h:mm a",
 	"has no conversations.": "nema razgovora.",
 	"Hello, {{name}}": "Bok, {{name}}",
@@ -243,18 +246,18 @@
 	"Images": "Slike",
 	"Import Chats": "Uvoz razgovora",
 	"Import Documents Mapping": "Uvoz mapiranja dokumenata",
-	"Import Models": "",
+	"Import Models": "Uvoz modela",
 	"Import Prompts": "Uvoz prompta",
 	"Include `--api` flag when running stable-diffusion-webui": "Uključite zastavicu `--api` prilikom pokretanja stable-diffusion-webui",
-	"Info": "",
+	"Info": "Informacije",
 	"Input commands": "Unos naredbi",
-	"Install from Github URL": "",
+	"Install from Github URL": "Instaliraj s Github URL-a",
 	"Interface": "Sučelje",
 	"Invalid Tag": "Nevažeća oznaka",
 	"January": "Siječanj",
 	"join our Discord for help.": "pridružite se našem Discordu za pomoć.",
 	"JSON": "JSON",
-	"JSON Preview": "",
+	"JSON Preview": "JSON pretpregled",
 	"July": "Srpanj",
 	"June": "Lipanj",
 	"JWT Expiration": "Isticanje JWT-a",
@@ -271,9 +274,9 @@
 	"Make sure to enclose them with": "Provjerite da ih zatvorite s",
 	"Manage Models": "Upravljanje modelima",
 	"Manage Ollama Models": "Upravljanje Ollama modelima",
-	"Manage Pipelines": "",
+	"Manage Pipelines": "Upravljanje cjevovodima",
 	"March": "Ožujak",
-	"Max Tokens (num_predict)": "",
+	"Max Tokens (num_predict)": "Maksimalan broj tokena (num_predict)",
 	"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Maksimalno 3 modela se mogu preuzeti istovremeno. Pokušajte ponovo kasnije.",
 	"May": "Svibanj",
 	"Memories accessible by LLMs will be shown here.": "Ovdje će biti prikazana memorija kojoj mogu pristupiti LLM-ovi.",
@@ -288,12 +291,12 @@
 	"Model '{{modelName}}' has been successfully downloaded.": "Model '{{modelName}}' je uspješno preuzet.",
 	"Model '{{modelTag}}' is already in queue for downloading.": "Model '{{modelTag}}' je već u redu za preuzimanje.",
 	"Model {{modelId}} not found": "Model {{modelId}} nije pronađen",
-	"Model {{modelName}} is not vision capable": "",
-	"Model {{name}} is now {{status}}": "",
+	"Model {{modelName}} is not vision capable": "Model {{modelName}} nije sposoban za vid",
+	"Model {{name}} is now {{status}}": "Model {{name}} sada je {{status}}",
 	"Model filesystem path detected. Model shortname is required for update, cannot continue.": "Otkriven put datotečnog sustava modela. Kratko ime modela je potrebno za ažuriranje, nije moguće nastaviti.",
-	"Model ID": "",
+	"Model ID": "ID modela",
 	"Model not selected": "Model nije odabran",
-	"Model Params": "",
+	"Model Params": "Model Params",
 	"Model Whitelisting": "Bijela lista modela",
 	"Model(s) Whitelisted": "Model(i) na bijeloj listi",
 	"Modelfile Content": "Sadržaj datoteke modela",
@@ -301,23 +304,25 @@
 	"More": "Više",
 	"Name": "Ime",
 	"Name Tag": "Naziv oznake",
-	"Name your model": "",
+	"Name your model": "Dodijelite naziv modelu",
 	"New Chat": "Novi razgovor",
 	"New Password": "Nova lozinka",
 	"No results found": "Nema rezultata",
-	"No search query generated": "",
+	"No search query generated": "Nije generiran upit za pretraživanje",
 	"No source available": "Nema dostupnog izvora",
-	"None": "",
+	"None": "Nijedan",
 	"Not factually correct": "Nije činjenično točno",
 	"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Napomena: Ako postavite minimalnu ocjenu, pretraga će vratiti samo dokumente s ocjenom većom ili jednakom minimalnoj ocjeni.",
 	"Notifications": "Obavijesti",
 	"November": "Studeni",
+	"num_thread (Ollama)": "num_thread (Ollama)",
 	"October": "Listopad",
 	"Off": "Isključeno",
 	"Okay, Let's Go!": "U redu, idemo!",
 	"OLED Dark": "OLED Tamno",
 	"Ollama": "Ollama",
-	"Ollama API": "",
+	"Ollama API": "Ollama API",
+	"Ollama API disabled": "Ollama API je onemogućen",
 	"Ollama Version": "Ollama verzija",
 	"On": "Uključeno",
 	"Only": "Samo",
@@ -342,8 +347,8 @@
 	"pending": "u tijeku",
 	"Permission denied when accessing microphone: {{error}}": "Pristup mikrofonu odbijen: {{error}}",
 	"Personalization": "Prilagodba",
-	"Pipelines": "",
-	"Pipelines Valves": "",
+	"Pipelines": "Cjevovodima",
+	"Pipelines Valves": "Cjevovodi, ventili",
 	"Plain text (.txt)": "Običan tekst (.txt)",
 	"Playground": "Igralište",
 	"Positive attitude": "Pozitivan stav",
@@ -388,33 +393,33 @@
 	"Scan for documents from {{path}}": "Skeniraj dokumente s {{path}}",
 	"Search": "Pretraga",
 	"Search a model": "Pretraži model",
-	"Search Chats": "",
+	"Search Chats": "Pretraži razgovore",
 	"Search Documents": "Pretraga dokumenata",
-	"Search Models": "",
+	"Search Models": "Modeli pretraživanja",
 	"Search Prompts": "Pretraga prompta",
-	"Search Result Count": "",
-	"Searched {{count}} sites_one": "",
-	"Searched {{count}} sites_few": "",
-	"Searched {{count}} sites_other": "",
-	"Searching the web for '{{searchQuery}}'": "",
-	"Searxng Query URL": "",
+	"Search Result Count": "Broj rezultata pretraživanja",
+	"Searched {{count}} sites_one": "Pretraženo {{count}} sites_one",
+	"Searched {{count}} sites_few": "Pretraženo {{count}} sites_few",
+	"Searched {{count}} sites_other": "Pretraženo {{count}} sites_other",
+	"Searching the web for '{{searchQuery}}'": "Traženje '{{searchQuery}}' na webu",
+	"Searxng Query URL": "URL upita Searxng",
 	"See readme.md for instructions": "Pogledajte readme.md za upute",
 	"See what's new": "Pogledajte što je novo",
 	"Seed": "Sjeme",
-	"Select a base model": "",
+	"Select a base model": "Odabir osnovnog modela",
 	"Select a mode": "Odaberite način",
 	"Select a model": "Odaberite model",
-	"Select a pipeline": "",
-	"Select a pipeline url": "",
+	"Select a pipeline": "Odabir kanala",
+	"Select a pipeline url": "Odabir URL-a kanala",
 	"Select an Ollama instance": "Odaberite Ollama instancu",
 	"Select model": "Odaberite model",
-	"Selected model(s) do not support image inputs": "",
+	"Selected model(s) do not support image inputs": "Odabrani modeli ne podržavaju unose slika",
 	"Send": "Pošalji",
 	"Send a Message": "Pošaljite poruku",
 	"Send message": "Pošalji poruku",
 	"September": "Rujan",
-	"Serper API Key": "",
-	"Serpstack API Key": "",
+	"Serper API Key": "Serper API ključ",
+	"Serpstack API Key": "Tipka API za serpstack",
 	"Server connection verified": "Veza s poslužiteljem potvrđena",
 	"Set as default": "Postavi kao zadano",
 	"Set Default Model": "Postavi zadani model",
@@ -423,7 +428,7 @@
 	"Set Model": "Postavi model",
 	"Set reranking model (e.g. {{model}})": "Postavi model za ponovno rangiranje (npr. {{model}})",
 	"Set Steps": "Postavi korake",
-	"Set Task Model": "",
+	"Set Task Model": "Postavi model zadatka",
 	"Set Voice": "Postavi glas",
 	"Settings": "Postavke",
 	"Settings saved successfully!": "Postavke su uspješno spremljene!",
@@ -482,19 +487,21 @@
 	"Top P": "Top P",
 	"Trouble accessing Ollama?": "Problemi s pristupom Ollama?",
 	"TTS Settings": "TTS postavke",
-	"Type": "",
+	"Type": "Tip",
 	"Type Hugging Face Resolve (Download) URL": "Upišite Hugging Face Resolve (Download) URL",
 	"Uh-oh! There was an issue connecting to {{provider}}.": "Uh-oh! Pojavio se problem s povezivanjem na {{provider}}.",
 	"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Nepoznata vrsta datoteke '{{file_type}}', ali prihvaćena i obrađuje se kao običan tekst",
 	"Update and Copy Link": "Ažuriraj i kopiraj vezu",
 	"Update password": "Ažuriraj lozinku",
 	"Upload a GGUF model": "Učitaj GGUF model",
-	"Upload Files": "",
+	"Upload Files": "Prenesi datoteke",
 	"Upload Progress": "Napredak učitavanja",
 	"URL Mode": "URL način",
 	"Use '#' in the prompt input to load and select your documents.": "Koristite '#' u unosu prompta za učitavanje i odabir vaših dokumenata.",
 	"Use Gravatar": "Koristi Gravatar",
 	"Use Initials": "Koristi inicijale",
+	"use_mlock (Ollama)": "use_mlock (Ollama)",
+	"use_mmap (Ollama)": "use_mmap (Ollama)",
 	"user": "korisnik",
 	"User Permissions": "Korisnička dopuštenja",
 	"Users": "Korisnici",
@@ -503,13 +510,13 @@
 	"variable": "varijabla",
 	"variable to have them replaced with clipboard content.": "varijabla za zamjenu sadržajem međuspremnika.",
 	"Version": "Verzija",
-	"Warning": "",
+	"Warning": "Upozorenje",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Upozorenje: Ako ažurirate ili promijenite svoj model za umetanje, morat ćete ponovno uvesti sve dokumente.",
 	"Web": "Web",
 	"Web Loader Settings": "Postavke web učitavanja",
 	"Web Params": "Web parametri",
-	"Web Search": "",
-	"Web Search Engine": "",
+	"Web Search": "Web-pretraživanje",
+	"Web Search Engine": "Web-tražilica",
 	"Webhook URL": "URL webkuke",
 	"WebUI Add-ons": "Dodaci za WebUI",
 	"WebUI Settings": "WebUI postavke",
@@ -522,7 +529,7 @@
 	"Write a summary in 50 words that summarizes [topic or keyword].": "Napišite sažetak u 50 riječi koji sažima [temu ili ključnu riječ].",
 	"Yesterday": "Jučer",
 	"You": "Vi",
-	"You cannot clone a base model": "",
+	"You cannot clone a base model": "Ne možete klonirati osnovni model",
 	"You have no archived conversations.": "Nemate arhiviranih razgovora.",
 	"You have shared this chat": "Podijelili ste ovaj razgovor",
 	"You're a helpful assistant.": "Vi ste korisni asistent.",

+ 78 - 71
src/lib/i18n/locales/it-IT/translation.json

@@ -3,19 +3,19 @@
 	"(Beta)": "(Beta)",
 	"(e.g. `sh webui.sh --api`)": "(p.e. `sh webui.sh --api`)",
 	"(latest)": "(ultima)",
-	"{{ models }}": "",
-	"{{ owner }}: You cannot delete a base model": "",
+	"{{ models }}": "{{ modelli }}",
+	"{{ owner }}: You cannot delete a base model": "{{ owner }}: non è possibile eliminare un modello di base",
 	"{{modelName}} is thinking...": "{{modelName}} sta pensando...",
 	"{{user}}'s Chats": "{{user}} Chat",
 	"{{webUIName}} Backend Required": "{{webUIName}} Backend richiesto",
-	"A task model is used when performing tasks such as generating titles for chats and web search queries": "",
+	"A task model is used when performing tasks such as generating titles for chats and web search queries": "Un modello di attività viene utilizzato durante l'esecuzione di attività come la generazione di titoli per chat e query di ricerca Web",
 	"a user": "un utente",
 	"About": "Informazioni",
 	"Account": "Account",
 	"Accurate information": "Informazioni accurate",
 	"Add": "Aggiungi",
-	"Add a model id": "",
-	"Add a short description about what this model does": "",
+	"Add a model id": "Aggiungere un ID modello",
+	"Add a short description about what this model does": "Aggiungi una breve descrizione di ciò che fa questo modello",
 	"Add a short title for this prompt": "Aggiungi un titolo breve per questo prompt",
 	"Add a tag": "Aggiungi un tag",
 	"Add custom prompt": "Aggiungi un prompt custom",
@@ -31,12 +31,13 @@
 	"Admin Panel": "Pannello di amministrazione",
 	"Admin Settings": "Impostazioni amministratore",
 	"Advanced Parameters": "Parametri avanzati",
-	"Advanced Params": "",
+	"Advanced Params": "Parametri avanzati",
 	"all": "tutti",
 	"All Documents": "Tutti i documenti",
 	"All Users": "Tutti gli utenti",
 	"Allow": "Consenti",
 	"Allow Chat Deletion": "Consenti l'eliminazione della chat",
+	"Allow non-local voices": "",
 	"alphanumeric characters and hyphens": "caratteri alfanumerici e trattini",
 	"Already have an account?": "Hai già un account?",
 	"an assistant": "un assistente",
@@ -48,7 +49,7 @@
 	"API keys": "Chiavi API",
 	"April": "Aprile",
 	"Archive": "Archivio",
-	"Archive All Chats": "",
+	"Archive All Chats": "Archivia tutte le chat",
 	"Archived Chats": "Chat archiviate",
 	"are allowed - Activate this command by typing": "sono consentiti - Attiva questo comando digitando",
 	"Are you sure?": "Sei sicuro?",
@@ -63,14 +64,14 @@
 	"available!": "disponibile!",
 	"Back": "Indietro",
 	"Bad Response": "Risposta non valida",
-	"Banners": "",
-	"Base Model (From)": "",
+	"Banners": "Banner",
+	"Base Model (From)": "Modello base (da)",
 	"before": "prima",
 	"Being lazy": "Essere pigri",
-	"Brave Search API Key": "",
+	"Brave Search API Key": "Chiave API di ricerca Brave",
 	"Bypass SSL verification for Websites": "Aggira la verifica SSL per i siti web",
 	"Cancel": "Annulla",
-	"Capabilities": "",
+	"Capabilities": "Funzionalità",
 	"Change Password": "Cambia password",
 	"Chat": "Chat",
 	"Chat Bubble UI": "UI bolle chat",
@@ -93,14 +94,14 @@
 	"Click here to select documents.": "Clicca qui per selezionare i documenti.",
 	"click here.": "clicca qui.",
 	"Click on the user role button to change a user's role.": "Clicca sul pulsante del ruolo utente per modificare il ruolo di un utente.",
-	"Clone": "",
+	"Clone": "Clone",
 	"Close": "Chiudi",
 	"Collection": "Collezione",
 	"ComfyUI": "ComfyUI",
 	"ComfyUI Base URL": "URL base ComfyUI",
 	"ComfyUI Base URL is required.": "L'URL base ComfyUI è obbligatorio.",
 	"Command": "Comando",
-	"Concurrent Requests": "",
+	"Concurrent Requests": "Richieste simultanee",
 	"Confirm Password": "Conferma password",
 	"Connections": "Connessioni",
 	"Content": "Contenuto",
@@ -114,7 +115,7 @@
 	"Copy Link": "Copia link",
 	"Copying to clipboard was successful!": "Copia negli appunti riuscita!",
 	"Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "Crea una frase concisa di 3-5 parole come intestazione per la seguente query, aderendo rigorosamente al limite di 3-5 parole ed evitando l'uso della parola 'titolo':",
-	"Create a model": "",
+	"Create a model": "Creare un modello",
 	"Create Account": "Crea account",
 	"Create new key": "Crea nuova chiave",
 	"Create new secret key": "Crea nuova chiave segreta",
@@ -123,7 +124,7 @@
 	"Current Model": "Modello corrente",
 	"Current Password": "Password corrente",
 	"Custom": "Personalizzato",
-	"Customize models for a specific purpose": "",
+	"Customize models for a specific purpose": "Personalizza i modelli per uno scopo specifico",
 	"Dark": "Scuro",
 	"Database": "Database",
 	"December": "Dicembre",
@@ -131,24 +132,24 @@
 	"Default (Automatic1111)": "Predefinito (Automatic1111)",
 	"Default (SentenceTransformers)": "Predefinito (SentenceTransformers)",
 	"Default (Web API)": "Predefinito (API Web)",
-	"Default Model": "",
+	"Default Model": "Modello di default",
 	"Default model updated": "Modello predefinito aggiornato",
 	"Default Prompt Suggestions": "Suggerimenti prompt predefiniti",
 	"Default User Role": "Ruolo utente predefinito",
 	"delete": "elimina",
 	"Delete": "Elimina",
 	"Delete a model": "Elimina un modello",
-	"Delete All Chats": "",
+	"Delete All Chats": "Elimina tutte le chat",
 	"Delete chat": "Elimina chat",
 	"Delete Chat": "Elimina chat",
 	"delete this link": "elimina questo link",
 	"Delete User": "Elimina utente",
 	"Deleted {{deleteModelTag}}": "Eliminato {{deleteModelTag}}",
-	"Deleted {{name}}": "",
+	"Deleted {{name}}": "Eliminato {{name}}",
 	"Description": "Descrizione",
 	"Didn't fully follow instructions": "Non ha seguito completamente le istruzioni",
 	"Disabled": "Disabilitato",
-	"Discover a model": "",
+	"Discover a model": "Scopri un modello",
 	"Discover a prompt": "Scopri un prompt",
 	"Discover, download, and explore custom prompts": "Scopri, scarica ed esplora prompt personalizzati",
 	"Discover, download, and explore model presets": "Scopri, scarica ed esplora i preset del modello",
@@ -174,27 +175,27 @@
 	"Embedding Model Engine": "Motore del modello di embedding",
 	"Embedding model set to \"{{embedding_model}}\"": "Modello di embedding impostato su \"{{embedding_model}}\"",
 	"Enable Chat History": "Abilita cronologia chat",
-	"Enable Community Sharing": "",
+	"Enable Community Sharing": "Abilita la condivisione della community",
 	"Enable New Sign Ups": "Abilita nuove iscrizioni",
-	"Enable Web Search": "",
+	"Enable Web Search": "Abilita ricerca Web",
 	"Enabled": "Abilitato",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Assicurati che il tuo file CSV includa 4 colonne in questo ordine: Nome, Email, Password, Ruolo.",
 	"Enter {{role}} message here": "Inserisci il messaggio per {{role}} qui",
 	"Enter a detail about yourself for your LLMs to recall": "Inserisci un dettaglio su di te per che i LLM possano ricordare",
-	"Enter Brave Search API Key": "",
+	"Enter Brave Search API Key": "Inserisci la chiave API di Brave Search",
 	"Enter Chunk Overlap": "Inserisci la sovrapposizione chunk",
 	"Enter Chunk Size": "Inserisci la dimensione chunk",
-	"Enter Github Raw URL": "",
-	"Enter Google PSE API Key": "",
-	"Enter Google PSE Engine Id": "",
+	"Enter Github Raw URL": "Immettere l'URL grezzo di Github",
+	"Enter Google PSE API Key": "Inserisci la chiave API PSE di Google",
+	"Enter Google PSE Engine Id": "Inserisci l'ID motore PSE di Google",
 	"Enter Image Size (e.g. 512x512)": "Inserisci la dimensione dell'immagine (ad esempio 512x512)",
 	"Enter language codes": "Inserisci i codici lingua",
 	"Enter model tag (e.g. {{modelTag}})": "Inserisci il tag del modello (ad esempio {{modelTag}})",
 	"Enter Number of Steps (e.g. 50)": "Inserisci il numero di passaggi (ad esempio 50)",
 	"Enter Score": "Inserisci il punteggio",
-	"Enter Searxng Query URL": "",
-	"Enter Serper API Key": "",
-	"Enter Serpstack API Key": "",
+	"Enter Searxng Query URL": "Immettere l'URL della query Searxng",
+	"Enter Serper API Key": "Inserisci la chiave API Serper",
+	"Enter Serpstack API Key": "Inserisci la chiave API Serpstack",
 	"Enter stop sequence": "Inserisci la sequenza di arresto",
 	"Enter Top K": "Inserisci Top K",
 	"Enter URL (e.g. http://127.0.0.1:7860/)": "Inserisci URL (ad esempio http://127.0.0.1:7860/)",
@@ -203,12 +204,14 @@
 	"Enter Your Full Name": "Inserisci il tuo nome completo",
 	"Enter Your Password": "Inserisci la tua password",
 	"Enter Your Role": "Inserisci il tuo ruolo",
-	"Error": "",
+	"Error": "Errore",
 	"Experimental": "Sperimentale",
+	"Export": "Esportazione",
 	"Export All Chats (All Users)": "Esporta tutte le chat (tutti gli utenti)",
+	"Export chat (.json)": "",
 	"Export Chats": "Esporta chat",
 	"Export Documents Mapping": "Esporta mappatura documenti",
-	"Export Models": "",
+	"Export Models": "Esporta modelli",
 	"Export Prompts": "Esporta prompt",
 	"Failed to create API Key.": "Impossibile creare la chiave API.",
 	"Failed to read clipboard contents": "Impossibile leggere il contenuto degli appunti",
@@ -221,15 +224,15 @@
 	"Focus chat input": "Metti a fuoco l'input della chat",
 	"Followed instructions perfectly": "Ha seguito le istruzioni alla perfezione",
 	"Format your variables using square brackets like this:": "Formatta le tue variabili usando parentesi quadre come questa:",
-	"Frequency Penalty": "",
+	"Frequency Penalty": "Penalità di frequenza",
 	"Full Screen Mode": "Modalità a schermo intero",
 	"General": "Generale",
 	"General Settings": "Impostazioni generali",
-	"Generating search query": "",
+	"Generating search query": "Generazione di query di ricerca",
 	"Generation Info": "Informazioni generazione",
 	"Good Response": "Buona risposta",
-	"Google PSE API Key": "",
-	"Google PSE Engine Id": "",
+	"Google PSE API Key": "Chiave API PSE di Google",
+	"Google PSE Engine Id": "ID motore PSE di Google",
 	"h:mm a": "h:mm a",
 	"has no conversations.": "non ha conversazioni.",
 	"Hello, {{name}}": "Ciao, {{name}}",
@@ -243,18 +246,18 @@
 	"Images": "Immagini",
 	"Import Chats": "Importa chat",
 	"Import Documents Mapping": "Importa mappatura documenti",
-	"Import Models": "",
+	"Import Models": "Importazione di modelli",
 	"Import Prompts": "Importa prompt",
 	"Include `--api` flag when running stable-diffusion-webui": "Includi il flag `--api` quando esegui stable-diffusion-webui",
-	"Info": "",
+	"Info": "Informazioni",
 	"Input commands": "Comandi di input",
-	"Install from Github URL": "",
+	"Install from Github URL": "Eseguire l'installazione dall'URL di Github",
 	"Interface": "Interfaccia",
 	"Invalid Tag": "Tag non valido",
 	"January": "Gennaio",
 	"join our Discord for help.": "unisciti al nostro Discord per ricevere aiuto.",
 	"JSON": "JSON",
-	"JSON Preview": "",
+	"JSON Preview": "Anteprima JSON",
 	"July": "Luglio",
 	"June": "Giugno",
 	"JWT Expiration": "Scadenza JWT",
@@ -271,9 +274,9 @@
 	"Make sure to enclose them with": "Assicurati di racchiuderli con",
 	"Manage Models": "Gestisci modelli",
 	"Manage Ollama Models": "Gestisci modelli Ollama",
-	"Manage Pipelines": "",
+	"Manage Pipelines": "Gestire le pipeline",
 	"March": "Marzo",
-	"Max Tokens (num_predict)": "",
+	"Max Tokens (num_predict)": "Numero massimo di gettoni (num_predict)",
 	"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "È possibile scaricare un massimo di 3 modelli contemporaneamente. Riprova più tardi.",
 	"May": "Maggio",
 	"Memories accessible by LLMs will be shown here.": "I memori accessibili ai LLM saranno mostrati qui.",
@@ -288,12 +291,12 @@
 	"Model '{{modelName}}' has been successfully downloaded.": "Il modello '{{modelName}}' è stato scaricato con successo.",
 	"Model '{{modelTag}}' is already in queue for downloading.": "Il modello '{{modelTag}}' è già in coda per il download.",
 	"Model {{modelId}} not found": "Modello {{modelId}} non trovato",
-	"Model {{modelName}} is not vision capable": "",
-	"Model {{name}} is now {{status}}": "",
+	"Model {{modelName}} is not vision capable": "Il modello {{modelName}} non è in grado di vedere",
+	"Model {{name}} is now {{status}}": "Il modello {{name}} è ora {{status}}",
 	"Model filesystem path detected. Model shortname is required for update, cannot continue.": "Percorso del filesystem del modello rilevato. Il nome breve del modello è richiesto per l'aggiornamento, impossibile continuare.",
-	"Model ID": "",
+	"Model ID": "ID modello",
 	"Model not selected": "Modello non selezionato",
-	"Model Params": "",
+	"Model Params": "Parametri del modello",
 	"Model Whitelisting": "Whitelisting del modello",
 	"Model(s) Whitelisted": "Modello/i in whitelist",
 	"Modelfile Content": "Contenuto del file modello",
@@ -301,23 +304,25 @@
 	"More": "Altro",
 	"Name": "Nome",
 	"Name Tag": "Nome tag",
-	"Name your model": "",
+	"Name your model": "Assegna un nome al tuo modello",
 	"New Chat": "Nuova chat",
 	"New Password": "Nuova password",
 	"No results found": "Nessun risultato trovato",
-	"No search query generated": "",
+	"No search query generated": "Nessuna query di ricerca generata",
 	"No source available": "Nessuna fonte disponibile",
-	"None": "",
+	"None": "Nessuno",
 	"Not factually correct": "Non corretto dal punto di vista fattuale",
 	"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Nota: se imposti un punteggio minimo, la ricerca restituirà solo i documenti con un punteggio maggiore o uguale al punteggio minimo.",
 	"Notifications": "Notifiche desktop",
 	"November": "Novembre",
+	"num_thread (Ollama)": "num_thread (Ollama)",
 	"October": "Ottobre",
 	"Off": "Disattivato",
 	"Okay, Let's Go!": "Ok, andiamo!",
 	"OLED Dark": "OLED scuro",
 	"Ollama": "Ollama",
-	"Ollama API": "",
+	"Ollama API": "Ollama API",
+	"Ollama API disabled": "API Ollama disabilitata",
 	"Ollama Version": "Versione Ollama",
 	"On": "Attivato",
 	"Only": "Solo",
@@ -342,8 +347,8 @@
 	"pending": "in sospeso",
 	"Permission denied when accessing microphone: {{error}}": "Autorizzazione negata durante l'accesso al microfono: {{error}}",
 	"Personalization": "Personalizzazione",
-	"Pipelines": "",
-	"Pipelines Valves": "",
+	"Pipelines": "Condutture",
+	"Pipelines Valves": "Valvole per tubazioni",
 	"Plain text (.txt)": "Testo normale (.txt)",
 	"Playground": "Terreno di gioco",
 	"Positive attitude": "Attitudine positiva",
@@ -388,33 +393,33 @@
 	"Scan for documents from {{path}}": "Cerca documenti da {{path}}",
 	"Search": "Cerca",
 	"Search a model": "Cerca un modello",
-	"Search Chats": "",
+	"Search Chats": "Cerca nelle chat",
 	"Search Documents": "Cerca documenti",
-	"Search Models": "",
+	"Search Models": "Cerca modelli",
 	"Search Prompts": "Cerca prompt",
-	"Search Result Count": "",
-	"Searched {{count}} sites_one": "",
-	"Searched {{count}} sites_many": "",
-	"Searched {{count}} sites_other": "",
-	"Searching the web for '{{searchQuery}}'": "",
-	"Searxng Query URL": "",
+	"Search Result Count": "Conteggio dei risultati della ricerca",
+	"Searched {{count}} sites_one": "Ricercato {{count}} sites_one",
+	"Searched {{count}} sites_many": "Ricercato {{count}} sites_many",
+	"Searched {{count}} sites_other": "Ricercato {{count}} sites_other",
+	"Searching the web for '{{searchQuery}}'": "Ricerca sul web di '{{searchQuery}}'",
+	"Searxng Query URL": "Searxng Query URL",
 	"See readme.md for instructions": "Vedi readme.md per le istruzioni",
 	"See what's new": "Guarda le novità",
 	"Seed": "Seme",
-	"Select a base model": "",
+	"Select a base model": "Selezionare un modello di base",
 	"Select a mode": "Seleziona una modalità",
 	"Select a model": "Seleziona un modello",
-	"Select a pipeline": "",
-	"Select a pipeline url": "",
+	"Select a pipeline": "Selezionare una tubazione",
+	"Select a pipeline url": "Selezionare l'URL di una pipeline",
 	"Select an Ollama instance": "Seleziona un'istanza Ollama",
 	"Select model": "Seleziona modello",
-	"Selected model(s) do not support image inputs": "",
+	"Selected model(s) do not support image inputs": "I modelli selezionati non supportano l'input di immagini",
 	"Send": "Invia",
 	"Send a Message": "Invia un messaggio",
 	"Send message": "Invia messaggio",
 	"September": "Settembre",
-	"Serper API Key": "",
-	"Serpstack API Key": "",
+	"Serper API Key": "Chiave API Serper",
+	"Serpstack API Key": "Chiave API Serpstack",
 	"Server connection verified": "Connessione al server verificata",
 	"Set as default": "Imposta come predefinito",
 	"Set Default Model": "Imposta modello predefinito",
@@ -423,7 +428,7 @@
 	"Set Model": "Imposta modello",
 	"Set reranking model (e.g. {{model}})": "Imposta modello di riclassificazione (ad esempio {{model}})",
 	"Set Steps": "Imposta passaggi",
-	"Set Task Model": "",
+	"Set Task Model": "Imposta modello di attività",
 	"Set Voice": "Imposta voce",
 	"Settings": "Impostazioni",
 	"Settings saved successfully!": "Impostazioni salvate con successo!",
@@ -482,19 +487,21 @@
 	"Top P": "Top P",
 	"Trouble accessing Ollama?": "Problemi di accesso a Ollama?",
 	"TTS Settings": "Impostazioni TTS",
-	"Type": "",
+	"Type": "Digitare",
 	"Type Hugging Face Resolve (Download) URL": "Digita l'URL di Hugging Face Resolve (Download)",
 	"Uh-oh! There was an issue connecting to {{provider}}.": "Uh-oh! Si è verificato un problema durante la connessione a {{provider}}.",
 	"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Tipo di file sconosciuto '{{file_type}}', ma accettato e trattato come testo normale",
 	"Update and Copy Link": "Aggiorna e copia link",
 	"Update password": "Aggiorna password",
 	"Upload a GGUF model": "Carica un modello GGUF",
-	"Upload Files": "",
+	"Upload Files": "Carica file",
 	"Upload Progress": "Avanzamento caricamento",
 	"URL Mode": "Modalità URL",
 	"Use '#' in the prompt input to load and select your documents.": "Usa '#' nell'input del prompt per caricare e selezionare i tuoi documenti.",
 	"Use Gravatar": "Usa Gravatar",
 	"Use Initials": "Usa iniziali",
+	"use_mlock (Ollama)": "use_mlock (Ollama)",
+	"use_mmap (Ollama)": "use_mmap (Ollama)",
 	"user": "utente",
 	"User Permissions": "Autorizzazioni utente",
 	"Users": "Utenti",
@@ -503,13 +510,13 @@
 	"variable": "variabile",
 	"variable to have them replaced with clipboard content.": "variabile per farli sostituire con il contenuto degli appunti.",
 	"Version": "Versione",
-	"Warning": "",
+	"Warning": "Avvertimento",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Attenzione: se aggiorni o cambi il tuo modello di embedding, dovrai reimportare tutti i documenti.",
 	"Web": "Web",
 	"Web Loader Settings": "Impostazioni del caricatore Web",
 	"Web Params": "Parametri Web",
-	"Web Search": "",
-	"Web Search Engine": "",
+	"Web Search": "Ricerca sul Web",
+	"Web Search Engine": "Motore di ricerca Web",
 	"Webhook URL": "URL webhook",
 	"WebUI Add-ons": "Componenti aggiuntivi WebUI",
 	"WebUI Settings": "Impostazioni WebUI",
@@ -522,7 +529,7 @@
 	"Write a summary in 50 words that summarizes [topic or keyword].": "Scrivi un riassunto in 50 parole che riassume [argomento o parola chiave].",
 	"Yesterday": "Ieri",
 	"You": "Tu",
-	"You cannot clone a base model": "",
+	"You cannot clone a base model": "Non è possibile clonare un modello di base",
 	"You have no archived conversations.": "Non hai conversazioni archiviate.",
 	"You have shared this chat": "Hai condiviso questa chat",
 	"You're a helpful assistant.": "Sei un assistente utile.",

+ 76 - 69
src/lib/i18n/locales/ja-JP/translation.json

@@ -3,19 +3,19 @@
 	"(Beta)": "(ベータ版)",
 	"(e.g. `sh webui.sh --api`)": "(例: `sh webui.sh --api`)",
 	"(latest)": "(最新)",
-	"{{ models }}": "",
-	"{{ owner }}: You cannot delete a base model": "",
+	"{{ models }}": "{{ モデル }}",
+	"{{ owner }}: You cannot delete a base model": "{{ owner }}: ベースモデルは削除できません",
 	"{{modelName}} is thinking...": "{{modelName}} は思考中です...",
 	"{{user}}'s Chats": "{{user}} のチャット",
 	"{{webUIName}} Backend Required": "{{webUIName}} バックエンドが必要です",
-	"A task model is used when performing tasks such as generating titles for chats and web search queries": "",
+	"A task model is used when performing tasks such as generating titles for chats and web search queries": "タスクモデルは、チャットやWeb検索クエリのタイトルの生成などのタスクを実行するときに使用されます",
 	"a user": "ユーザー",
 	"About": "概要",
 	"Account": "アカウント",
 	"Accurate information": "情報の正確性",
 	"Add": "追加",
-	"Add a model id": "",
-	"Add a short description about what this model does": "",
+	"Add a model id": "モデル ID を追加する",
+	"Add a short description about what this model does": "このモデルの機能に関する簡単な説明を追加します",
 	"Add a short title for this prompt": "このプロンプトの短いタイトルを追加",
 	"Add a tag": "タグを追加",
 	"Add custom prompt": "カスタムプロンプトを追加",
@@ -31,12 +31,13 @@
 	"Admin Panel": "管理者パネル",
 	"Admin Settings": "管理者設定",
 	"Advanced Parameters": "詳細パラメーター",
-	"Advanced Params": "",
+	"Advanced Params": "高度なパラメータ",
 	"all": "すべて",
 	"All Documents": "全てのドキュメント",
 	"All Users": "すべてのユーザー",
 	"Allow": "許可",
 	"Allow Chat Deletion": "チャットの削除を許可",
+	"Allow non-local voices": "",
 	"alphanumeric characters and hyphens": "英数字とハイフン",
 	"Already have an account?": "すでにアカウントをお持ちですか?",
 	"an assistant": "アシスタント",
@@ -48,7 +49,7 @@
 	"API keys": "API キー",
 	"April": "4月",
 	"Archive": "アーカイブ",
-	"Archive All Chats": "",
+	"Archive All Chats": "すべてのチャットをアーカイブする",
 	"Archived Chats": "チャット記録",
 	"are allowed - Activate this command by typing": "が許可されています - 次のように入力してこのコマンドをアクティブ化します",
 	"Are you sure?": "よろしいですか?",
@@ -63,14 +64,14 @@
 	"available!": "利用可能!",
 	"Back": "戻る",
 	"Bad Response": "応答が悪い",
-	"Banners": "",
-	"Base Model (From)": "",
+	"Banners": "バナー",
+	"Base Model (From)": "ベースモデル(From)",
 	"before": "より前",
 	"Being lazy": "怠惰な",
-	"Brave Search API Key": "",
+	"Brave Search API Key": "Brave Search APIキー",
 	"Bypass SSL verification for Websites": "SSL 検証をバイパスする",
 	"Cancel": "キャンセル",
-	"Capabilities": "",
+	"Capabilities": "資格",
 	"Change Password": "パスワードを変更",
 	"Chat": "チャット",
 	"Chat Bubble UI": "チャットバブルUI",
@@ -93,14 +94,14 @@
 	"Click here to select documents.": "ドキュメントを選択するにはここをクリックしてください。",
 	"click here.": "ここをクリックしてください。",
 	"Click on the user role button to change a user's role.": "ユーザーの役割を変更するには、ユーザー役割ボタンをクリックしてください。",
-	"Clone": "",
+	"Clone": "クローン",
 	"Close": "閉じる",
 	"Collection": "コレクション",
 	"ComfyUI": "ComfyUI",
 	"ComfyUI Base URL": "ComfyUIベースURL",
 	"ComfyUI Base URL is required.": "ComfyUIベースURLが必要です。",
 	"Command": "コマンド",
-	"Concurrent Requests": "",
+	"Concurrent Requests": "コンカレント要求",
 	"Confirm Password": "パスワードを確認",
 	"Connections": "接続",
 	"Content": "コンテンツ",
@@ -114,7 +115,7 @@
 	"Copy Link": "リンクをコピー",
 	"Copying to clipboard was successful!": "クリップボードへのコピーが成功しました!",
 	"Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "次のクエリの見出しとして、3〜5語の簡潔なフレーズを作成してください。3〜5語の制限を厳守し、「タイトル」という単語の使用を避けてください。",
-	"Create a model": "",
+	"Create a model": "モデルを作成する",
 	"Create Account": "アカウントを作成",
 	"Create new key": "新しいキーを作成",
 	"Create new secret key": "新しいシークレットキーを作成",
@@ -123,7 +124,7 @@
 	"Current Model": "現在のモデル",
 	"Current Password": "現在のパスワード",
 	"Custom": "カスタム",
-	"Customize models for a specific purpose": "",
+	"Customize models for a specific purpose": "特定の目的に合わせてモデルをカスタマイズする",
 	"Dark": "ダーク",
 	"Database": "データベース",
 	"December": "12月",
@@ -131,24 +132,24 @@
 	"Default (Automatic1111)": "デフォルト (Automatic1111)",
 	"Default (SentenceTransformers)": "デフォルト (SentenceTransformers)",
 	"Default (Web API)": "デフォルト (Web API)",
-	"Default Model": "",
+	"Default Model": "デフォルトモデル",
 	"Default model updated": "デフォルトモデルが更新されました",
 	"Default Prompt Suggestions": "デフォルトのプロンプトの提案",
 	"Default User Role": "デフォルトのユーザー役割",
 	"delete": "削除",
 	"Delete": "削除",
 	"Delete a model": "モデルを削除",
-	"Delete All Chats": "",
+	"Delete All Chats": "すべてのチャットを削除",
 	"Delete chat": "チャットを削除",
 	"Delete Chat": "チャットを削除",
 	"delete this link": "このリンクを削除します",
 	"Delete User": "ユーザーを削除",
 	"Deleted {{deleteModelTag}}": "{{deleteModelTag}} を削除しました",
-	"Deleted {{name}}": "",
+	"Deleted {{name}}": "{{name}}を削除しました",
 	"Description": "説明",
 	"Didn't fully follow instructions": "説明に沿って操作していませんでした",
 	"Disabled": "無効",
-	"Discover a model": "",
+	"Discover a model": "モデルを検出する",
 	"Discover a prompt": "プロンプトを見つける",
 	"Discover, download, and explore custom prompts": "カスタムプロンプトを見つけて、ダウンロードして、探索",
 	"Discover, download, and explore model presets": "モデルプリセットを見つけて、ダウンロードして、探索",
@@ -174,27 +175,27 @@
 	"Embedding Model Engine": "埋め込みモデルエンジン",
 	"Embedding model set to \"{{embedding_model}}\"": "埋め込みモデルを\"{{embedding_model}}\"に設定しました",
 	"Enable Chat History": "チャット履歴を有効化",
-	"Enable Community Sharing": "",
+	"Enable Community Sharing": "コミュニティ共有の有効化",
 	"Enable New Sign Ups": "新規登録を有効化",
-	"Enable Web Search": "",
+	"Enable Web Search": "Web 検索を有効にする",
 	"Enabled": "有効",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "CSVファイルに4つの列が含まれていることを確認してください: Name, Email, Password, Role.",
 	"Enter {{role}} message here": "{{role}} メッセージをここに入力してください",
 	"Enter a detail about yourself for your LLMs to recall": "LLM が記憶するために、自分についての詳細を入力してください",
-	"Enter Brave Search API Key": "",
+	"Enter Brave Search API Key": "Brave Search APIキーの入力",
 	"Enter Chunk Overlap": "チャンクオーバーラップを入力してください",
 	"Enter Chunk Size": "チャンクサイズを入力してください",
-	"Enter Github Raw URL": "",
-	"Enter Google PSE API Key": "",
-	"Enter Google PSE Engine Id": "",
+	"Enter Github Raw URL": "Github Raw URLを入力",
+	"Enter Google PSE API Key": "Google PSE APIキーの入力",
+	"Enter Google PSE Engine Id": "Google PSE エンジン ID を入力します。",
 	"Enter Image Size (e.g. 512x512)": "画像サイズを入力してください (例: 512x512)",
 	"Enter language codes": "言語コードを入力してください",
 	"Enter model tag (e.g. {{modelTag}})": "モデルタグを入力してください (例: {{modelTag}})",
 	"Enter Number of Steps (e.g. 50)": "ステップ数を入力してください (例: 50)",
 	"Enter Score": "スコアを入力してください",
-	"Enter Searxng Query URL": "",
-	"Enter Serper API Key": "",
-	"Enter Serpstack API Key": "",
+	"Enter Searxng Query URL": "SearxngクエリURLを入力",
+	"Enter Serper API Key": "Serper APIキーの入力",
+	"Enter Serpstack API Key": "Serpstack APIキーの入力",
 	"Enter stop sequence": "ストップシーケンスを入力してください",
 	"Enter Top K": "トップ K を入力してください",
 	"Enter URL (e.g. http://127.0.0.1:7860/)": "URL を入力してください (例: http://127.0.0.1:7860/)",
@@ -203,12 +204,14 @@
 	"Enter Your Full Name": "フルネームを入力してください",
 	"Enter Your Password": "パスワードを入力してください",
 	"Enter Your Role": "ロールを入力してください",
-	"Error": "",
+	"Error": "エラー",
 	"Experimental": "実験的",
+	"Export": "輸出",
 	"Export All Chats (All Users)": "すべてのチャットをエクスポート (すべてのユーザー)",
+	"Export chat (.json)": "",
 	"Export Chats": "チャットをエクスポート",
 	"Export Documents Mapping": "ドキュメントマッピングをエクスポート",
-	"Export Models": "",
+	"Export Models": "モデルのエクスポート",
 	"Export Prompts": "プロンプトをエクスポート",
 	"Failed to create API Key.": "APIキーの作成に失敗しました。",
 	"Failed to read clipboard contents": "クリップボードの内容を読み取れませんでした",
@@ -221,15 +224,15 @@
 	"Focus chat input": "チャット入力をフォーカス",
 	"Followed instructions perfectly": "完全に指示に従った",
 	"Format your variables using square brackets like this:": "次のように角括弧を使用して変数をフォーマットします。",
-	"Frequency Penalty": "",
+	"Frequency Penalty": "周波数ペナルティ",
 	"Full Screen Mode": "フルスクリーンモード",
 	"General": "一般",
 	"General Settings": "一般設定",
-	"Generating search query": "",
+	"Generating search query": "検索クエリの生成",
 	"Generation Info": "生成情報",
 	"Good Response": "良い応答",
-	"Google PSE API Key": "",
-	"Google PSE Engine Id": "",
+	"Google PSE API Key": "Google PSE APIキー",
+	"Google PSE Engine Id": "Google PSE エンジン ID",
 	"h:mm a": "h:mm a",
 	"has no conversations.": "対話はありません。",
 	"Hello, {{name}}": "こんにちは、{{name}} さん",
@@ -243,18 +246,18 @@
 	"Images": "画像",
 	"Import Chats": "チャットをインポート",
 	"Import Documents Mapping": "ドキュメントマッピングをインポート",
-	"Import Models": "",
+	"Import Models": "モデルのインポート",
 	"Import Prompts": "プロンプトをインポート",
 	"Include `--api` flag when running stable-diffusion-webui": "stable-diffusion-webuiを実行する際に`--api`フラグを含める",
-	"Info": "",
+	"Info": "情報",
 	"Input commands": "入力コマンド",
-	"Install from Github URL": "",
+	"Install from Github URL": "Github URLからインストール",
 	"Interface": "インターフェース",
 	"Invalid Tag": "無効なタグ",
 	"January": "1月",
 	"join our Discord for help.": "ヘルプについては、Discord に参加してください。",
 	"JSON": "JSON",
-	"JSON Preview": "",
+	"JSON Preview": "JSON プレビュー",
 	"July": "7月",
 	"June": "6月",
 	"JWT Expiration": "JWT 有効期限",
@@ -271,9 +274,9 @@
 	"Make sure to enclose them with": "必ず次で囲んでください",
 	"Manage Models": "モデルを管理",
 	"Manage Ollama Models": "Ollama モデルを管理",
-	"Manage Pipelines": "",
+	"Manage Pipelines": "パイプラインの管理",
 	"March": "3月",
-	"Max Tokens (num_predict)": "",
+	"Max Tokens (num_predict)": "最大トークン数 (num_predict)",
 	"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "同時にダウンロードできるモデルは最大 3 つです。後でもう一度お試しください。",
 	"May": "5月",
 	"Memories accessible by LLMs will be shown here.": "LLM がアクセスできるメモリはここに表示されます。",
@@ -288,12 +291,12 @@
 	"Model '{{modelName}}' has been successfully downloaded.": "モデル '{{modelName}}' が正常にダウンロードされました。",
 	"Model '{{modelTag}}' is already in queue for downloading.": "モデル '{{modelTag}}' はすでにダウンロード待ち行列に入っています。",
 	"Model {{modelId}} not found": "モデル {{modelId}} が見つかりません",
-	"Model {{modelName}} is not vision capable": "",
-	"Model {{name}} is now {{status}}": "",
+	"Model {{modelName}} is not vision capable": "モデル {{modelName}} は視覚に対応していません",
+	"Model {{name}} is now {{status}}": "モデル {{name}} は {{status}} になりました。",
 	"Model filesystem path detected. Model shortname is required for update, cannot continue.": "モデルファイルシステムパスが検出されました。モデルの短縮名が必要です。更新できません。",
-	"Model ID": "",
+	"Model ID": "モデルID",
 	"Model not selected": "モデルが選択されていません",
-	"Model Params": "",
+	"Model Params": "モデルパラメータ",
 	"Model Whitelisting": "モデルホワイトリスト",
 	"Model(s) Whitelisted": "ホワイトリストに登録されたモデル",
 	"Modelfile Content": "モデルファイルの内容",
@@ -301,23 +304,25 @@
 	"More": "もっと見る",
 	"Name": "名前",
 	"Name Tag": "名前タグ",
-	"Name your model": "",
+	"Name your model": "モデルに名前を付ける",
 	"New Chat": "新しいチャット",
 	"New Password": "新しいパスワード",
 	"No results found": "結果が見つかりません",
-	"No search query generated": "",
+	"No search query generated": "検索クエリは生成されません",
 	"No source available": "使用可能なソースがありません",
-	"None": "",
+	"None": "何一つ",
 	"Not factually correct": "実事上正しくない",
 	"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "注意:最小スコアを設定した場合、検索は最小スコア以上のスコアを持つドキュメントのみを返します。",
 	"Notifications": "デスクトップ通知",
 	"November": "11月",
+	"num_thread (Ollama)": "num_thread(オラマ)",
 	"October": "10月",
 	"Off": "オフ",
 	"Okay, Let's Go!": "OK、始めましょう!",
 	"OLED Dark": "OLED ダーク",
 	"Ollama": "Ollama",
-	"Ollama API": "",
+	"Ollama API": "Ollama API",
+	"Ollama API disabled": "Ollama API が無効になっています",
 	"Ollama Version": "Ollama バージョン",
 	"On": "オン",
 	"Only": "のみ",
@@ -342,8 +347,8 @@
 	"pending": "保留中",
 	"Permission denied when accessing microphone: {{error}}": "マイクへのアクセス時に権限が拒否されました: {{error}}",
 	"Personalization": "個人化",
-	"Pipelines": "",
-	"Pipelines Valves": "",
+	"Pipelines": "パイプライン",
+	"Pipelines Valves": "パイプラインバルブ",
 	"Plain text (.txt)": "プレーンテキスト (.txt)",
 	"Playground": "プレイグラウンド",
 	"Positive attitude": "陽気な態度",
@@ -388,31 +393,31 @@
 	"Scan for documents from {{path}}": "{{path}} からドキュメントをスキャン",
 	"Search": "検索",
 	"Search a model": "モデルを検索",
-	"Search Chats": "",
+	"Search Chats": "チャットの検索",
 	"Search Documents": "ドキュメントを検索",
-	"Search Models": "",
+	"Search Models": "モデル検索",
 	"Search Prompts": "プロンプトを検索",
-	"Search Result Count": "",
-	"Searched {{count}} sites_other": "",
-	"Searching the web for '{{searchQuery}}'": "",
-	"Searxng Query URL": "",
+	"Search Result Count": "検索結果数",
+	"Searched {{count}} sites_other": "{{count}} sites_other検索",
+	"Searching the web for '{{searchQuery}}'": "ウェブで '{{searchQuery}}' を検索する",
+	"Searxng Query URL": "Searxng クエリ URL",
 	"See readme.md for instructions": "手順については readme.md を参照してください",
 	"See what's new": "新機能を見る",
 	"Seed": "シード",
-	"Select a base model": "",
+	"Select a base model": "基本モデルの選択",
 	"Select a mode": "モードを選択",
 	"Select a model": "モデルを選択",
-	"Select a pipeline": "",
-	"Select a pipeline url": "",
+	"Select a pipeline": "パイプラインの選択",
+	"Select a pipeline url": "パイプラインの URL を選択する",
 	"Select an Ollama instance": "Ollama インスタンスを選択",
 	"Select model": "モデルを選択",
-	"Selected model(s) do not support image inputs": "",
+	"Selected model(s) do not support image inputs": "一部のモデルは画像入力をサポートしていません",
 	"Send": "送信",
 	"Send a Message": "メッセージを送信",
 	"Send message": "メッセージを送信",
 	"September": "9月",
-	"Serper API Key": "",
-	"Serpstack API Key": "",
+	"Serper API Key": "Serper APIキー",
+	"Serpstack API Key": "Serpstack APIキー",
 	"Server connection verified": "サーバー接続が確認されました",
 	"Set as default": "デフォルトに設定",
 	"Set Default Model": "デフォルトモデルを設定",
@@ -421,7 +426,7 @@
 	"Set Model": "モデルを設定",
 	"Set reranking model (e.g. {{model}})": "モデルを設定します(例:{{model}})",
 	"Set Steps": "ステップを設定",
-	"Set Task Model": "",
+	"Set Task Model": "タスクモデルの設定",
 	"Set Voice": "音声を設定",
 	"Settings": "設定",
 	"Settings saved successfully!": "設定が正常に保存されました!",
@@ -480,19 +485,21 @@
 	"Top P": "トップ P",
 	"Trouble accessing Ollama?": "Ollama へのアクセスに問題がありますか?",
 	"TTS Settings": "TTS 設定",
-	"Type": "",
+	"Type": "種類",
 	"Type Hugging Face Resolve (Download) URL": "Hugging Face Resolve (ダウンロード) URL を入力してください",
 	"Uh-oh! There was an issue connecting to {{provider}}.": "おっと! {{provider}} への接続に問題が発生しました。",
 	"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "不明なファイルタイプ '{{file_type}}' ですが、プレーンテキストとして受け入れて処理します",
 	"Update and Copy Link": "リンクの更新とコピー",
 	"Update password": "パスワードを更新",
 	"Upload a GGUF model": "GGUF モデルをアップロード",
-	"Upload Files": "",
+	"Upload Files": "ファイルのアップロード",
 	"Upload Progress": "アップロードの進行状況",
 	"URL Mode": "URL モード",
 	"Use '#' in the prompt input to load and select your documents.": "プロンプト入力で '#' を使用して、ドキュメントを読み込んで選択します。",
 	"Use Gravatar": "Gravatar を使用する",
 	"Use Initials": "初期値を使用する",
+	"use_mlock (Ollama)": "use_mlock(オラマ)",
+	"use_mmap (Ollama)": "use_mmap(オラマ)",
 	"user": "ユーザー",
 	"User Permissions": "ユーザー権限",
 	"Users": "ユーザー",
@@ -501,13 +508,13 @@
 	"variable": "変数",
 	"variable to have them replaced with clipboard content.": "クリップボードの内容に置き換える変数。",
 	"Version": "バージョン",
-	"Warning": "",
+	"Warning": "警告",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "警告: 埋め込みモデルを更新または変更した場合は、すべてのドキュメントを再インポートする必要があります。",
 	"Web": "ウェブ",
 	"Web Loader Settings": "Web 読み込み設定",
 	"Web Params": "Web パラメータ",
-	"Web Search": "",
-	"Web Search Engine": "",
+	"Web Search": "ウェブ検索",
+	"Web Search Engine": "ウェブ検索エンジン",
 	"Webhook URL": "Webhook URL",
 	"WebUI Add-ons": "WebUI アドオン",
 	"WebUI Settings": "WebUI 設定",
@@ -520,7 +527,7 @@
 	"Write a summary in 50 words that summarizes [topic or keyword].": "[トピックまたはキーワード] を要約する 50 語の概要を書いてください。",
 	"Yesterday": "昨日",
 	"You": "あなた",
-	"You cannot clone a base model": "",
+	"You cannot clone a base model": "基本モデルのクローンを作成できない",
 	"You have no archived conversations.": "これまでにアーカイブされた会話はありません。",
 	"You have shared this chat": "このチャットを共有しました",
 	"You're a helpful assistant.": "あなたは役に立つアシスタントです。",

+ 78 - 71
src/lib/i18n/locales/ka-GE/translation.json

@@ -3,19 +3,19 @@
 	"(Beta)": "(ბეტა)",
 	"(e.g. `sh webui.sh --api`)": "(მაგ. `sh webui.sh --api`)",
 	"(latest)": "(უახლესი)",
-	"{{ models }}": "",
-	"{{ owner }}: You cannot delete a base model": "",
+	"{{ models }}": "{{ models }}",
+	"{{ owner }}: You cannot delete a base model": "{{ owner }}: თქვენ არ შეგიძლიათ წაშალოთ ბაზის მოდელი",
 	"{{modelName}} is thinking...": "{{modelName}} ფიქრობს...",
 	"{{user}}'s Chats": "{{user}}-ის ჩათები",
 	"{{webUIName}} Backend Required": "{{webUIName}} საჭიროა ბექენდი",
-	"A task model is used when performing tasks such as generating titles for chats and web search queries": "",
+	"A task model is used when performing tasks such as generating titles for chats and web search queries": "დავალების მოდელი გამოიყენება ისეთი ამოცანების შესრულებისას, როგორიცაა ჩეთების სათაურების გენერირება და ვებ – ძიების მოთხოვნები",
 	"a user": "მომხმარებელი",
 	"About": "შესახებ",
 	"Account": "ანგარიში",
 	"Accurate information": "დიდი ინფორმაცია",
 	"Add": "დამატება",
-	"Add a model id": "",
-	"Add a short description about what this model does": "",
+	"Add a model id": "დაამატეთ მოდელის ID",
+	"Add a short description about what this model does": "დაამატეთ მოკლე აღწერა იმის შესახებ, თუ რას აკეთებს ეს მოდელი",
 	"Add a short title for this prompt": "დაამატე მოკლე სათაური ამ მოთხოვნისთვის",
 	"Add a tag": "დაამატე ტეგი",
 	"Add custom prompt": "პირველადი მოთხოვნის დამატება",
@@ -31,12 +31,13 @@
 	"Admin Panel": "ადმინ პანელი",
 	"Admin Settings": "ადმინისტრატორის ხელსაწყოები",
 	"Advanced Parameters": "დამატებითი პარამეტრები",
-	"Advanced Params": "",
+	"Advanced Params": "მოწინავე პარამები",
 	"all": "ყველა",
 	"All Documents": "ყველა დოკუმენტი",
 	"All Users": "ყველა მომხმარებელი",
 	"Allow": "ნების დართვა",
 	"Allow Chat Deletion": "მიმოწერის წაშლის დაშვება",
+	"Allow non-local voices": "",
 	"alphanumeric characters and hyphens": "ალფანუმერული სიმბოლოები და დეფისები",
 	"Already have an account?": "უკვე გაქვს ანგარიში?",
 	"an assistant": "ასისტენტი",
@@ -48,7 +49,7 @@
 	"API keys": "API გასაღები",
 	"April": "აპრილი",
 	"Archive": "არქივი",
-	"Archive All Chats": "",
+	"Archive All Chats": "არქივი ყველა ჩატი",
 	"Archived Chats": "ჩატის ისტორიის არქივი",
 	"are allowed - Activate this command by typing": "დაშვებულია - ბრძანების გასააქტიურებლად აკრიფეთ:",
 	"Are you sure?": "დარწმუნებული ხარ?",
@@ -63,14 +64,14 @@
 	"available!": "ხელმისაწვდომია!",
 	"Back": "უკან",
 	"Bad Response": "ხარვეზი",
-	"Banners": "",
-	"Base Model (From)": "",
+	"Banners": "რეკლამა",
+	"Base Model (From)": "საბაზო მოდელი (-დან)",
 	"before": "ადგილზე",
 	"Being lazy": "ჩაიტყვევა",
-	"Brave Search API Key": "",
+	"Brave Search API Key": "Brave Search API გასაღები",
 	"Bypass SSL verification for Websites": "SSL-ის ვერიფიკაციის გააუქმება ვებსაიტებზე",
 	"Cancel": "გაუქმება",
-	"Capabilities": "",
+	"Capabilities": "შესაძლებლობები",
 	"Change Password": "პაროლის შეცვლა",
 	"Chat": "მიმოწერა",
 	"Chat Bubble UI": "ჩატის ბულბი",
@@ -93,14 +94,14 @@
 	"Click here to select documents.": "დოკუმენტების ასარჩევად, დააკლიკე აქ",
 	"click here.": "დააკლიკე აქ",
 	"Click on the user role button to change a user's role.": "დააკლიკეთ მომხმარებლის როლის ღილაკს რომ შეცვალოთ მომხმარების როლი",
-	"Clone": "",
+	"Clone": "კლონი",
 	"Close": "დახურვა",
 	"Collection": "ნაკრები",
 	"ComfyUI": "ComfyUI",
 	"ComfyUI Base URL": "ComfyUI საბაზისო URL",
 	"ComfyUI Base URL is required.": "ComfyUI საბაზისო URL აუცილებელია.",
 	"Command": "ბრძანება",
-	"Concurrent Requests": "",
+	"Concurrent Requests": "თანმხლები მოთხოვნები",
 	"Confirm Password": "პაროლის დამოწმება",
 	"Connections": "კავშირები",
 	"Content": "კონტენტი",
@@ -114,7 +115,7 @@
 	"Copy Link": "კოპირება",
 	"Copying to clipboard was successful!": "კლავიატურაზე კოპირება წარმატებით დასრულდა",
 	"Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "შექმენით მოკლე, 3-5 სიტყვიანი ფრაზა, როგორც სათაური თქვენი შემდეგი შეკითხვისთვის, მკაცრად დაიცავით 3-5 სიტყვის ლიმიტი და მოერიდეთ გამოიყენოთ სიტყვა „სათაური“.",
-	"Create a model": "",
+	"Create a model": "შექმენით მოდელი",
 	"Create Account": "ანგარიშის შექმნა",
 	"Create new key": "პირადი ღირებულბრის შექმნა",
 	"Create new secret key": "პირადი ღირებულბრის შექმნა",
@@ -123,7 +124,7 @@
 	"Current Model": "მიმდინარე მოდელი",
 	"Current Password": "მიმდინარე პაროლი",
 	"Custom": "საკუთარი",
-	"Customize models for a specific purpose": "",
+	"Customize models for a specific purpose": "მოდელების მორგება კონკრეტული მიზნისთვის",
 	"Dark": "მუქი",
 	"Database": "მონაცემთა ბაზა",
 	"December": "დეკემბერი",
@@ -131,24 +132,24 @@
 	"Default (Automatic1111)": "დეფოლტ (Automatic1111)",
 	"Default (SentenceTransformers)": "დეფოლტ (SentenceTransformers)",
 	"Default (Web API)": "დეფოლტ (Web API)",
-	"Default Model": "",
+	"Default Model": "ნაგულისხმები მოდელი",
 	"Default model updated": "დეფოლტ მოდელი განახლებულია",
 	"Default Prompt Suggestions": "დეფოლტ პრომპტი პირველი პირველი",
 	"Default User Role": "მომხმარებლის დეფოლტ როლი",
 	"delete": "წაშლა",
 	"Delete": "წაშლა",
 	"Delete a model": "მოდელის წაშლა",
-	"Delete All Chats": "",
+	"Delete All Chats": "ყველა ჩატის წაშლა",
 	"Delete chat": "შეტყობინების წაშლა",
 	"Delete Chat": "შეტყობინების წაშლა",
 	"delete this link": "ბმულის წაშლა",
 	"Delete User": "მომხმარებლის წაშლა",
 	"Deleted {{deleteModelTag}}": "{{deleteModelTag}} წაშლილია",
-	"Deleted {{name}}": "",
+	"Deleted {{name}}": "Deleted {{name}}",
 	"Description": "აღწერა",
 	"Didn't fully follow instructions": "ვერ ყველა ინფორმაციისთვის ვერ ხელახლა ჩაწერე",
 	"Disabled": "გაუქმებულია",
-	"Discover a model": "",
+	"Discover a model": "გაიგეთ მოდელი",
 	"Discover a prompt": "აღმოაჩინეთ მოთხოვნა",
 	"Discover, download, and explore custom prompts": "აღმოაჩინეთ, ჩამოტვირთეთ და შეისწავლეთ მორგებული მოთხოვნები",
 	"Discover, download, and explore model presets": "აღმოაჩინეთ, ჩამოტვირთეთ და შეისწავლეთ მოდელის წინასწარ პარამეტრები",
@@ -174,27 +175,27 @@
 	"Embedding Model Engine": "ჩასმის ძირითადი პროგრამა",
 	"Embedding model set to \"{{embedding_model}}\"": "ჩასმის ძირითადი პროგრამა ჩართულია \"{{embedding_model}}\"",
 	"Enable Chat History": "მიმოწერის ისტორიის ჩართვა",
-	"Enable Community Sharing": "",
+	"Enable Community Sharing": "საზოგადოების გაზიარების ჩართვა",
 	"Enable New Sign Ups": "ახალი რეგისტრაციების ჩართვა",
-	"Enable Web Search": "",
+	"Enable Web Search": "ვებ ძიების ჩართვა",
 	"Enabled": "ჩართულია",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "გთხოვთ, უზრუნველყოთ, რომთქვევის CSV-ფაილი შეიცავს 4 ველი, ჩაწერილი ორივე ველი უდრის პირველი ველით.",
 	"Enter {{role}} message here": "შეიყვანე {{role}} შეტყობინება აქ",
 	"Enter a detail about yourself for your LLMs to recall": "შეიყვანე დეტალი ჩემთათვის, რომ ჩვენი LLMs-ს შეიძლოს აღაქვს",
-	"Enter Brave Search API Key": "",
+	"Enter Brave Search API Key": "შეიყვანეთ Brave Search API გასაღები",
 	"Enter Chunk Overlap": "შეიყვანეთ ნაწილის გადახურვა",
 	"Enter Chunk Size": "შეიყვანე ბლოკის ზომა",
-	"Enter Github Raw URL": "",
-	"Enter Google PSE API Key": "",
-	"Enter Google PSE Engine Id": "",
+	"Enter Github Raw URL": "შეიყვანეთ Github Raw URL",
+	"Enter Google PSE API Key": "შეიყვანეთ Google PSE API გასაღები",
+	"Enter Google PSE Engine Id": "შეიყვანეთ Google PSE ძრავის ID",
 	"Enter Image Size (e.g. 512x512)": "შეიყვანეთ სურათის ზომა (მაგ. 512x512)",
 	"Enter language codes": "შეიყვანეთ ენის კოდი",
 	"Enter model tag (e.g. {{modelTag}})": "შეიყვანეთ მოდელის ტეგი (მაგ. {{modelTag}})",
 	"Enter Number of Steps (e.g. 50)": "შეიყვანეთ ნაბიჯების რაოდენობა (მაგ. 50)",
 	"Enter Score": "შეიყვანეთ ქულა",
-	"Enter Searxng Query URL": "",
-	"Enter Serper API Key": "",
-	"Enter Serpstack API Key": "",
+	"Enter Searxng Query URL": "შეიყვანეთ Searxng Query URL",
+	"Enter Serper API Key": "შეიყვანეთ Serper API Key",
+	"Enter Serpstack API Key": "შეიყვანეთ Serpstack API Key",
 	"Enter stop sequence": "შეიყვანეთ ტოპ თანმიმდევრობა",
 	"Enter Top K": "შეიყვანეთ Top K",
 	"Enter URL (e.g. http://127.0.0.1:7860/)": "შეიყვანეთ მისამართი (მაგალითად http://127.0.0.1:7860/)",
@@ -203,12 +204,14 @@
 	"Enter Your Full Name": "შეიყვანეთ თქვენი სრული სახელი",
 	"Enter Your Password": "შეიყვანეთ თქვენი პაროლი",
 	"Enter Your Role": "შეიყვანეთ თქვენი როლი",
-	"Error": "",
+	"Error": "შეცდომა",
 	"Experimental": "ექსპერიმენტალური",
+	"Export": "ექსპორტი",
 	"Export All Chats (All Users)": "ექსპორტი ყველა ჩათი (ყველა მომხმარებელი)",
+	"Export chat (.json)": "",
 	"Export Chats": "მიმოწერის ექსპორტირება",
 	"Export Documents Mapping": "დოკუმენტების კავშირის ექსპორტი",
-	"Export Models": "",
+	"Export Models": "ექსპორტის მოდელები",
 	"Export Prompts": "მოთხოვნების ექსპორტი",
 	"Failed to create API Key.": "API ღილაკის შექმნა ვერ მოხერხდა.",
 	"Failed to read clipboard contents": "ბუფერში შიგთავსის წაკითხვა ვერ მოხერხდა",
@@ -221,15 +224,15 @@
 	"Focus chat input": "ჩეთის შეყვანის ფოკუსი",
 	"Followed instructions perfectly": "ყველა ინსტრუქცია უზრუნველყოფა",
 	"Format your variables using square brackets like this:": "დააფორმატეთ თქვენი ცვლადები კვადრატული ფრჩხილების გამოყენებით:",
-	"Frequency Penalty": "",
+	"Frequency Penalty": "სიხშირის ჯარიმა",
 	"Full Screen Mode": "Სრული ეკრანის რეჟიმი",
 	"General": "ზოგადი",
 	"General Settings": "ზოგადი პარამეტრები",
-	"Generating search query": "",
+	"Generating search query": "საძიებო მოთხოვნის გენერირება",
 	"Generation Info": "გენერაციის ინფორმაცია",
 	"Good Response": "დიდი პასუხი",
-	"Google PSE API Key": "",
-	"Google PSE Engine Id": "",
+	"Google PSE API Key": "Google PSE API გასაღები",
+	"Google PSE Engine Id": "Google PSE ძრავის Id",
 	"h:mm a": "h:mm a",
 	"has no conversations.": "არა უფლება ჩაწერა",
 	"Hello, {{name}}": "გამარჯობა, {{name}}",
@@ -243,18 +246,18 @@
 	"Images": "სურათები",
 	"Import Chats": "მიმოწერების იმპორტი",
 	"Import Documents Mapping": "დოკუმენტების კავშირის იმპორტი",
-	"Import Models": "",
+	"Import Models": "იმპორტის მოდელები",
 	"Import Prompts": "მოთხოვნების იმპორტი",
 	"Include `--api` flag when running stable-diffusion-webui": "ჩართეთ `--api` დროშა stable-diffusion-webui-ის გაშვებისას",
-	"Info": "",
+	"Info": "ინფორმაცია",
 	"Input commands": "შეყვანით ბრძანებებს",
-	"Install from Github URL": "",
+	"Install from Github URL": "დააინსტალირეთ Github URL- დან",
 	"Interface": "ინტერფეისი",
 	"Invalid Tag": "არასწორი ტეგი",
 	"January": "იანვარი",
 	"join our Discord for help.": "შეუერთდით ჩვენს Discord-ს დახმარებისთვის",
 	"JSON": "JSON",
-	"JSON Preview": "",
+	"JSON Preview": "JSON გადახედვა",
 	"July": "ივნისი",
 	"June": "ივლა",
 	"JWT Expiration": "JWT-ის ვადა",
@@ -271,14 +274,14 @@
 	"Make sure to enclose them with": "დარწმუნდით, რომ დაურთეთ ისინი",
 	"Manage Models": "მოდელების მართვა",
 	"Manage Ollama Models": "Ollama მოდელების მართვა",
-	"Manage Pipelines": "",
+	"Manage Pipelines": "მილსადენების მართვა",
 	"March": "მარტივი",
-	"Max Tokens (num_predict)": "",
+	"Max Tokens (num_predict)": "მაქს ტოკენსი (num_predict)",
 	"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "მაქსიმუმ 3 მოდელის ჩამოტვირთვა შესაძლებელია ერთდროულად. Გთხოვთ სცადოთ მოგვიანებით.",
 	"May": "მაი",
 	"Memories accessible by LLMs will be shown here.": "ლლმ-ს აქვს ხელმისაწვდომი მემორიები აქ იქნება.",
 	"Memory": "მემორია",
-	"Messages you send after creating your link won't be shared. Users with the URL will be able to view the shared chat.": "",
+	"Messages you send after creating your link won't be shared. Users with the URL will be able to view the shared chat.": "შეტყობინებები, რომელსაც თქვენ აგზავნით თქვენი ბმულის შექმნის შემდეგ, არ იქნება გაზიარებული. URL– ის მქონე მომხმარებლებს შეეძლებათ ნახონ საერთო ჩატი.",
 	"Minimum Score": "მინიმალური ქულა",
 	"Mirostat": "მიროსტატი",
 	"Mirostat Eta": "მიროსტატი ეტა",
@@ -288,12 +291,12 @@
 	"Model '{{modelName}}' has been successfully downloaded.": "მოდელი „{{modelName}}“ წარმატებით ჩამოიტვირთა.",
 	"Model '{{modelTag}}' is already in queue for downloading.": "მოდელი „{{modelTag}}“ უკვე ჩამოტვირთვის რიგშია.",
 	"Model {{modelId}} not found": "მოდელი {{modelId}} ვერ მოიძებნა",
-	"Model {{modelName}} is not vision capable": "",
-	"Model {{name}} is now {{status}}": "",
+	"Model {{modelName}} is not vision capable": "Model {{modelName}} is not vision capable",
+	"Model {{name}} is now {{status}}": "Model {{name}} is now {{status}}",
 	"Model filesystem path detected. Model shortname is required for update, cannot continue.": "აღმოჩენილია მოდელის ფაილური სისტემის გზა. განახლებისთვის საჭიროა მოდელის მოკლე სახელი, გაგრძელება შეუძლებელია.",
-	"Model ID": "",
+	"Model ID": "მოდელის ID",
 	"Model not selected": "მოდელი არ არის არჩეული",
-	"Model Params": "",
+	"Model Params": "მოდელის პარამები",
 	"Model Whitelisting": "მოდელის თეთრ სიაში შეყვანა",
 	"Model(s) Whitelisted": "მოდელ(ებ)ი თეთრ სიაშია",
 	"Modelfile Content": "მოდელური ფაილის კონტენტი",
@@ -301,23 +304,25 @@
 	"More": "ვრცლად",
 	"Name": "სახელი",
 	"Name Tag": "სახელის ტეგი",
-	"Name your model": "",
+	"Name your model": "დაასახელეთ თქვენი მოდელი",
 	"New Chat": "ახალი მიმოწერა",
 	"New Password": "ახალი პაროლი",
 	"No results found": "ჩვენ ვერ პოულობით ნაპოვნი ჩაწერები",
-	"No search query generated": "",
+	"No search query generated": "ძიების მოთხოვნა არ არის გენერირებული",
 	"No source available": "წყარო არ არის ხელმისაწვდომი",
-	"None": "",
+	"None": "არცერთი",
 	"Not factually correct": "არ ვეთანხმები პირდაპირ ვერც ვეთანხმები",
 	"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "შენიშვნა: თუ თქვენ დააყენებთ მინიმალურ ქულას, ძებნა დააბრუნებს მხოლოდ დოკუმენტებს მინიმალური ქულის მეტი ან ტოლი ქულით.",
 	"Notifications": "შეტყობინება",
 	"November": "ნოემბერი",
+	"num_thread (Ollama)": "num_thread (ოლამა)",
 	"October": "ოქტომბერი",
 	"Off": "გამორთვა",
 	"Okay, Let's Go!": "კარგი, წავედით!",
 	"OLED Dark": "OLED მუქი",
 	"Ollama": "Ollama",
-	"Ollama API": "",
+	"Ollama API": "Ollama API",
+	"Ollama API disabled": "Ollama API გამორთულია",
 	"Ollama Version": "Ollama ვერსია",
 	"On": "ჩართვა",
 	"Only": "მხოლოდ",
@@ -342,8 +347,8 @@
 	"pending": "ლოდინის რეჟიმშია",
 	"Permission denied when accessing microphone: {{error}}": "ნებართვა უარყოფილია მიკროფონზე წვდომისას: {{error}}",
 	"Personalization": "პერსონალიზაცია",
-	"Pipelines": "",
-	"Pipelines Valves": "",
+	"Pipelines": "მილსადენები",
+	"Pipelines Valves": "მილსადენების სარქველები",
 	"Plain text (.txt)": "ტექსტი (.txt)",
 	"Playground": "სათამაშო მოედანი",
 	"Positive attitude": "პოზიტიური ანგარიში",
@@ -388,32 +393,32 @@
 	"Scan for documents from {{path}}": "დოკუმენტების სკანირება {{ path}}-დან",
 	"Search": "ძიება",
 	"Search a model": "მოდელის ძიება",
-	"Search Chats": "",
+	"Search Chats": "ჩატების ძებნა",
 	"Search Documents": "დოკუმენტების ძიება",
-	"Search Models": "",
+	"Search Models": "საძიებო მოდელები",
 	"Search Prompts": "მოთხოვნების ძიება",
-	"Search Result Count": "",
-	"Searched {{count}} sites_one": "",
-	"Searched {{count}} sites_other": "",
-	"Searching the web for '{{searchQuery}}'": "",
-	"Searxng Query URL": "",
+	"Search Result Count": "ძიების შედეგების რაოდენობა",
+	"Searched {{count}} sites_one": "Searched {{count}} sites_one",
+	"Searched {{count}} sites_other": "Searched {{count}} sites_other",
+	"Searching the web for '{{searchQuery}}'": "ეძებს ვებ '{searchQuery}}'",
+	"Searxng Query URL": "Searxng Query URL",
 	"See readme.md for instructions": "იხილეთ readme.md ინსტრუქციებისთვის",
 	"See what's new": "სიახლეების ნახვა",
 	"Seed": "სიდი",
-	"Select a base model": "",
+	"Select a base model": "აირჩიეთ ბაზის მოდელი",
 	"Select a mode": "რეჟიმის არჩევა",
 	"Select a model": "მოდელის არჩევა",
-	"Select a pipeline": "",
-	"Select a pipeline url": "",
+	"Select a pipeline": "აირჩიეთ მილსადენი",
+	"Select a pipeline url": "აირჩიეთ მილსადენის url",
 	"Select an Ollama instance": "Ollama ინსტანსის არჩევა",
 	"Select model": "მოდელის არჩევა",
-	"Selected model(s) do not support image inputs": "",
+	"Selected model(s) do not support image inputs": "შერჩეული მოდელი (ებ) ი არ უჭერს მხარს გამოსახულების შეყვანას",
 	"Send": "გაგზავნა",
 	"Send a Message": "შეტყობინების გაგზავნა",
 	"Send message": "შეტყობინების გაგზავნა",
 	"September": "სექტემბერი",
-	"Serper API Key": "",
-	"Serpstack API Key": "",
+	"Serper API Key": "Serper API Key",
+	"Serpstack API Key": "Serpstack API Key",
 	"Server connection verified": "სერვერთან კავშირი დადასტურებულია",
 	"Set as default": "დეფოლტად დაყენება",
 	"Set Default Model": "დეფოლტ მოდელის დაყენება",
@@ -422,7 +427,7 @@
 	"Set Model": "მოდელის დაყენება",
 	"Set reranking model (e.g. {{model}})": "რეტარირება მოდელის დაყენება (მაგ. {{model}})",
 	"Set Steps": "ნაბიჯების დაყენება",
-	"Set Task Model": "",
+	"Set Task Model": "დააყენეთ სამუშაო მოდელი",
 	"Set Voice": "ხმის დაყენება",
 	"Settings": "ხელსაწყოები",
 	"Settings saved successfully!": "პარამეტრები წარმატებით განახლდა!",
@@ -481,19 +486,21 @@
 	"Top P": "ტოპ P",
 	"Trouble accessing Ollama?": "Ollama-ს ვერ უკავშირდები?",
 	"TTS Settings": "TTS პარამეტრები",
-	"Type": "",
+	"Type": "ტიპი",
 	"Type Hugging Face Resolve (Download) URL": "სცადე გადმოწერო Hugging Face Resolve URL",
 	"Uh-oh! There was an issue connecting to {{provider}}.": "{{provider}}-თან დაკავშირების პრობლემა წარმოიშვა.",
 	"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "უცნობი ფაილის ტიპი „{{file_type}}“, მაგრამ მიიღება და განიხილება როგორც მარტივი ტექსტი",
 	"Update and Copy Link": "განახლება და ბმულის კოპირება",
 	"Update password": "პაროლის განახლება",
 	"Upload a GGUF model": "GGUF მოდელის ატვირთვა",
-	"Upload Files": "",
+	"Upload Files": "ატვირთეთ ფაილები",
 	"Upload Progress": "პროგრესის ატვირთვა",
 	"URL Mode": "URL რეჟიმი",
 	"Use '#' in the prompt input to load and select your documents.": "პრომტში გამოიყენე '#' რომელიც გაიტანს დოკუმენტებს",
 	"Use Gravatar": "გამოიყენე Gravatar",
 	"Use Initials": "გამოიყენე ინიციალები",
+	"use_mlock (Ollama)": "use_mlock (ოლამა)",
+	"use_mmap (Ollama)": "use_mmap (ოლამა)",
 	"user": "მომხმარებელი",
 	"User Permissions": "მომხმარებლის უფლებები",
 	"Users": "მომხმარებლები",
@@ -502,13 +509,13 @@
 	"variable": "ცვლადი",
 	"variable to have them replaced with clipboard content.": "ცვლადი, რომ შეცვალოს ისინი ბუფერში შიგთავსით.",
 	"Version": "ვერსია",
-	"Warning": "",
+	"Warning": "გაფრთხილება",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "გაფრთხილება: თუ განაახლებთ ან შეცვლით ჩანერგვის მოდელს, მოგიწევთ ყველა დოკუმენტის ხელახლა იმპორტი.",
 	"Web": "ვები",
 	"Web Loader Settings": "ვების ჩატარების პარამეტრები",
 	"Web Params": "ვების პარამეტრები",
-	"Web Search": "",
-	"Web Search Engine": "",
+	"Web Search": "ვებ ძებნა",
+	"Web Search Engine": "ვებ საძიებო სისტემა",
 	"Webhook URL": "Webhook URL",
 	"WebUI Add-ons": "WebUI დანამატები",
 	"WebUI Settings": "WebUI პარამეტრები",
@@ -521,7 +528,7 @@
 	"Write a summary in 50 words that summarizes [topic or keyword].": "დაწერეთ რეზიუმე 50 სიტყვით, რომელიც აჯამებს [თემას ან საკვანძო სიტყვას].",
 	"Yesterday": "აღდგენა",
 	"You": "ჩემი",
-	"You cannot clone a base model": "",
+	"You cannot clone a base model": "თქვენ არ შეგიძლიათ ბაზის მოდელის კლონირება",
 	"You have no archived conversations.": "არ ხართ არქივირებული განხილვები.",
 	"You have shared this chat": "ამ ჩატის გააგზავნა",
 	"You're a helpful assistant.": "თქვენ სასარგებლო ასისტენტი ხართ.",

+ 76 - 69
src/lib/i18n/locales/ko-KR/translation.json

@@ -3,19 +3,19 @@
 	"(Beta)": "(Beta)",
 	"(e.g. `sh webui.sh --api`)": "(예: `sh webui.sh --api`)",
 	"(latest)": "(latest)",
-	"{{ models }}": "",
-	"{{ owner }}: You cannot delete a base model": "",
+	"{{ models }}": "{{ 모델 }}",
+	"{{ owner }}: You cannot delete a base model": "{{ owner }}: 기본 모델은 삭제할 수 없습니다.",
 	"{{modelName}} is thinking...": "{{modelName}} 이(가) 생각중입니다....",
 	"{{user}}'s Chats": "{{user}}의 채팅",
 	"{{webUIName}} Backend Required": "{{webUIName}} 백엔드가 필요합니다.",
-	"A task model is used when performing tasks such as generating titles for chats and web search queries": "",
+	"A task model is used when performing tasks such as generating titles for chats and web search queries": "작업 모델은 채팅 및 웹 검색 쿼리에 대한 제목 생성과 같은 작업을 수행할 때 사용됩니다",
 	"a user": "사용자",
 	"About": "소개",
 	"Account": "계정",
 	"Accurate information": "정확한 정보",
 	"Add": "추가",
-	"Add a model id": "",
-	"Add a short description about what this model does": "",
+	"Add a model id": "모델 ID 추가",
+	"Add a short description about what this model does": "이 모델의 기능에 대한 간단한 설명을 추가합니다",
 	"Add a short title for this prompt": "이 프롬프트에 대한 간단한 제목 추가",
 	"Add a tag": "태그 추가",
 	"Add custom prompt": "프롬프트 추가",
@@ -31,12 +31,13 @@
 	"Admin Panel": "관리자 패널",
 	"Admin Settings": "관리자 설정",
 	"Advanced Parameters": "고급 매개변수",
-	"Advanced Params": "",
+	"Advanced Params": "고급 매개 변수",
 	"all": "모두",
 	"All Documents": "모든 문서",
 	"All Users": "모든 사용자",
 	"Allow": "허용",
 	"Allow Chat Deletion": "채팅 삭제 허용",
+	"Allow non-local voices": "",
 	"alphanumeric characters and hyphens": "영문자,숫자 및 하이픈",
 	"Already have an account?": "이미 계정이 있으신가요?",
 	"an assistant": "어시스턴트",
@@ -48,7 +49,7 @@
 	"API keys": "API 키",
 	"April": "4월",
 	"Archive": "아카이브",
-	"Archive All Chats": "",
+	"Archive All Chats": "모든 채팅 보관",
 	"Archived Chats": "채팅 기록 아카이브",
 	"are allowed - Activate this command by typing": "허용됩니다 - 이 명령을 활성화하려면 입력하세요.",
 	"Are you sure?": "확실합니까?",
@@ -63,14 +64,14 @@
 	"available!": "사용 가능!",
 	"Back": "뒤로가기",
 	"Bad Response": "응답이 좋지 않습니다.",
-	"Banners": "",
-	"Base Model (From)": "",
+	"Banners": "배너",
+	"Base Model (From)": "기본 모델(시작)",
 	"before": "이전",
 	"Being lazy": "게으름 피우기",
-	"Brave Search API Key": "",
+	"Brave Search API Key": "Brave Search API 키",
 	"Bypass SSL verification for Websites": "SSL 검증을 무시하려면 웹 사이트를 선택하세요.",
 	"Cancel": "취소",
-	"Capabilities": "",
+	"Capabilities": "기능",
 	"Change Password": "비밀번호 변경",
 	"Chat": "채팅",
 	"Chat Bubble UI": "채팅 버블 UI",
@@ -93,14 +94,14 @@
 	"Click here to select documents.": "문서를 선택하려면 여기를 클릭하세요.",
 	"click here.": "여기를 클릭하세요.",
 	"Click on the user role button to change a user's role.": "사용자 역할 버튼을 클릭하여 사용자의 역할을 변경하세요.",
-	"Clone": "",
+	"Clone": "클론",
 	"Close": "닫기",
 	"Collection": "컬렉션",
 	"ComfyUI": "ComfyUI",
 	"ComfyUI Base URL": "ComfyUI 기본 URL",
 	"ComfyUI Base URL is required.": "ComfyUI 기본 URL이 필요합니다.",
 	"Command": "명령",
-	"Concurrent Requests": "",
+	"Concurrent Requests": "동시 요청",
 	"Confirm Password": "비밀번호 확인",
 	"Connections": "연결",
 	"Content": "내용",
@@ -114,7 +115,7 @@
 	"Copy Link": "링크 복사",
 	"Copying to clipboard was successful!": "클립보드에 복사되었습니다!",
 	"Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "다음 질문에 대한 제목으로 간결한 3-5 단어 문구를 만드되 3-5 단어 제한을 엄격히 준수하고 'title' 단어 사용을 피하세요:",
-	"Create a model": "",
+	"Create a model": "모델 만들기",
 	"Create Account": "계정 만들기",
 	"Create new key": "새 키 만들기",
 	"Create new secret key": "새 비밀 키 만들기",
@@ -123,7 +124,7 @@
 	"Current Model": "현재 모델",
 	"Current Password": "현재 비밀번호",
 	"Custom": "사용자 정의",
-	"Customize models for a specific purpose": "",
+	"Customize models for a specific purpose": "특정 목적을 위한 모델 사용자 지정",
 	"Dark": "어두운",
 	"Database": "데이터베이스",
 	"December": "12월",
@@ -131,24 +132,24 @@
 	"Default (Automatic1111)": "기본값 (Automatic1111)",
 	"Default (SentenceTransformers)": "기본값 (SentenceTransformers)",
 	"Default (Web API)": "기본값 (Web API)",
-	"Default Model": "",
+	"Default Model": "기본 모델",
 	"Default model updated": "기본 모델이 업데이트되었습니다.",
 	"Default Prompt Suggestions": "기본 프롬프트 제안",
 	"Default User Role": "기본 사용자 역할",
 	"delete": "삭제",
 	"Delete": "삭제",
 	"Delete a model": "모델 삭제",
-	"Delete All Chats": "",
+	"Delete All Chats": "모든 채팅 삭제",
 	"Delete chat": "채팅 삭제",
 	"Delete Chat": "채팅 삭제",
 	"delete this link": "이 링크를 삭제합니다.",
 	"Delete User": "사용자 삭제",
 	"Deleted {{deleteModelTag}}": "{{deleteModelTag}} 삭제됨",
-	"Deleted {{name}}": "",
+	"Deleted {{name}}": "{{name}}을(를) 삭제했습니다.",
 	"Description": "설명",
 	"Didn't fully follow instructions": "완전히 지침을 따르지 않음",
 	"Disabled": "비활성화",
-	"Discover a model": "",
+	"Discover a model": "모델 검색",
 	"Discover a prompt": "프롬프트 검색",
 	"Discover, download, and explore custom prompts": "사용자 정의 프롬프트 검색, 다운로드 및 탐색",
 	"Discover, download, and explore model presets": "모델 사전 설정 검색, 다운로드 및 탐색",
@@ -174,27 +175,27 @@
 	"Embedding Model Engine": "임베딩 모델 엔진",
 	"Embedding model set to \"{{embedding_model}}\"": "임베딩 모델을 \"{{embedding_model}}\"로 설정됨",
 	"Enable Chat History": "채팅 기록 활성화",
-	"Enable Community Sharing": "",
+	"Enable Community Sharing": "커뮤니티 공유 사용",
 	"Enable New Sign Ups": "새 회원가입 활성화",
-	"Enable Web Search": "",
+	"Enable Web Search": "Web Search 사용",
 	"Enabled": "활성화",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "CSV 파일에 이름, 이메일, 비밀번호, 역할 4개의 컬럼이 순서대로 포함되어 있는지 확인하세요.",
 	"Enter {{role}} message here": "여기에 {{role}} 메시지 입력",
 	"Enter a detail about yourself for your LLMs to recall": "자신에 대한 세부사항을 입력하여 LLMs가 기억할 수 있도록 하세요",
-	"Enter Brave Search API Key": "",
+	"Enter Brave Search API Key": "Brave Search API Key 입력",
 	"Enter Chunk Overlap": "청크 오버랩 입력",
 	"Enter Chunk Size": "청크 크기 입력",
-	"Enter Github Raw URL": "",
-	"Enter Google PSE API Key": "",
-	"Enter Google PSE Engine Id": "",
+	"Enter Github Raw URL": "Github Raw URL 입력",
+	"Enter Google PSE API Key": "Google PSE API 키 입력",
+	"Enter Google PSE Engine Id": "Google PSE 엔진 ID 입력",
 	"Enter Image Size (e.g. 512x512)": "이미지 크기 입력(예: 512x512)",
 	"Enter language codes": "언어 코드 입력",
 	"Enter model tag (e.g. {{modelTag}})": "모델 태그 입력(예: {{modelTag}})",
 	"Enter Number of Steps (e.g. 50)": "단계 수 입력(예: 50)",
 	"Enter Score": "점수 입력",
-	"Enter Searxng Query URL": "",
-	"Enter Serper API Key": "",
-	"Enter Serpstack API Key": "",
+	"Enter Searxng Query URL": "Searxng 쿼리 URL 입력",
+	"Enter Serper API Key": "Serper API Key 입력",
+	"Enter Serpstack API Key": "Serpstack API Key 입력",
 	"Enter stop sequence": "중지 시퀀스 입력",
 	"Enter Top K": "Top K 입력",
 	"Enter URL (e.g. http://127.0.0.1:7860/)": "URL 입력(예: http://127.0.0.1:7860/)",
@@ -203,12 +204,14 @@
 	"Enter Your Full Name": "전체 이름 입력",
 	"Enter Your Password": "비밀번호 입력",
 	"Enter Your Role": "역할 입력",
-	"Error": "",
+	"Error": "오류",
 	"Experimental": "실험적",
+	"Export": "수출",
 	"Export All Chats (All Users)": "모든 채팅 내보내기 (모든 사용자)",
+	"Export chat (.json)": "",
 	"Export Chats": "채팅 내보내기",
 	"Export Documents Mapping": "문서 매핑 내보내기",
-	"Export Models": "",
+	"Export Models": "모델 내보내기",
 	"Export Prompts": "프롬프트 내보내기",
 	"Failed to create API Key.": "API 키 생성에 실패했습니다.",
 	"Failed to read clipboard contents": "클립보드 내용을 읽는 데 실패했습니다.",
@@ -221,15 +224,15 @@
 	"Focus chat input": "채팅 입력 포커스",
 	"Followed instructions perfectly": "명령을 완벽히 따름",
 	"Format your variables using square brackets like this:": "이렇게 대괄호를 사용하여 변수를 형식화하세요:",
-	"Frequency Penalty": "",
+	"Frequency Penalty": "주파수 페널티",
 	"Full Screen Mode": "전체 화면 모드",
 	"General": "일반",
 	"General Settings": "일반 설정",
-	"Generating search query": "",
+	"Generating search query": "검색 쿼리 생성",
 	"Generation Info": "생성 정보",
 	"Good Response": "좋은 응답",
-	"Google PSE API Key": "",
-	"Google PSE Engine Id": "",
+	"Google PSE API Key": "Google PSE API 키",
+	"Google PSE Engine Id": "Google PSE 엔진 ID",
 	"h:mm a": "h:mm a",
 	"has no conversations.": "대화가 없습니다.",
 	"Hello, {{name}}": "안녕하세요, {{name}}",
@@ -243,18 +246,18 @@
 	"Images": "이미지",
 	"Import Chats": "채팅 가져오기",
 	"Import Documents Mapping": "문서 매핑 가져오기",
-	"Import Models": "",
+	"Import Models": "모델 가져오기",
 	"Import Prompts": "프롬프트 가져오기",
 	"Include `--api` flag when running stable-diffusion-webui": "stable-diffusion-webui를 실행할 때 '--api' 플래그 포함",
-	"Info": "",
+	"Info": "정보",
 	"Input commands": "입력 명령",
-	"Install from Github URL": "",
+	"Install from Github URL": "Github URL에서 설치",
 	"Interface": "인터페이스",
 	"Invalid Tag": "잘못된 태그",
 	"January": "1월",
 	"join our Discord for help.": "도움말을 보려면 Discord에 가입하세요.",
 	"JSON": "JSON",
-	"JSON Preview": "",
+	"JSON Preview": "JSON 미리 보기",
 	"July": "7월",
 	"June": "6월",
 	"JWT Expiration": "JWT 만료",
@@ -271,9 +274,9 @@
 	"Make sure to enclose them with": "다음으로 묶는 것을 잊지 마세요:",
 	"Manage Models": "모델 관리",
 	"Manage Ollama Models": "Ollama 모델 관리",
-	"Manage Pipelines": "",
+	"Manage Pipelines": "파이프라인 관리",
 	"March": "3월",
-	"Max Tokens (num_predict)": "",
+	"Max Tokens (num_predict)": "최대 토큰 (num_predict)",
 	"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "최대 3개의 모델을 동시에 다운로드할 수 있습니다. 나중에 다시 시도하세요.",
 	"May": "5월",
 	"Memories accessible by LLMs will be shown here.": "LLM에서 액세스할 수 있는 메모리는 여기에 표시됩니다.",
@@ -288,12 +291,12 @@
 	"Model '{{modelName}}' has been successfully downloaded.": "모델 '{{modelName}}'이(가) 성공적으로 다운로드되었습니다.",
 	"Model '{{modelTag}}' is already in queue for downloading.": "모델 '{{modelTag}}'이(가) 이미 다운로드 대기열에 있습니다.",
 	"Model {{modelId}} not found": "모델 {{modelId}}를 찾을 수 없습니다.",
-	"Model {{modelName}} is not vision capable": "",
-	"Model {{name}} is now {{status}}": "",
+	"Model {{modelName}} is not vision capable": "모델 {{modelName}}은(는) 비전을 사용할 수 없습니다.",
+	"Model {{name}} is now {{status}}": "{{name}} 모델이 {{status}}로 변경되었습니다.",
 	"Model filesystem path detected. Model shortname is required for update, cannot continue.": "모델 파일 시스템 경로가 감지되었습니다. 업데이트하려면 모델 단축 이름이 필요하며 계속할 수 없습니다.",
-	"Model ID": "",
+	"Model ID": "모델 ID",
 	"Model not selected": "모델이 선택되지 않았습니다.",
-	"Model Params": "",
+	"Model Params": "모델 매개 변수",
 	"Model Whitelisting": "모델 허용 목록",
 	"Model(s) Whitelisted": "허용된 모델",
 	"Modelfile Content": "모델파일 내용",
@@ -301,23 +304,25 @@
 	"More": "더보기",
 	"Name": "이름",
 	"Name Tag": "이름 태그",
-	"Name your model": "",
+	"Name your model": "모델 이름 지정",
 	"New Chat": "새 채팅",
 	"New Password": "새 비밀번호",
 	"No results found": "결과 없음",
-	"No search query generated": "",
+	"No search query generated": "검색어가 생성되지 않았습니다.",
 	"No source available": "사용 가능한 소스 없음",
-	"None": "",
+	"None": "없음",
 	"Not factually correct": "사실상 맞지 않음",
 	"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "참고: 최소 점수를 설정하면 검색 결과는 최소 점수 이상의 점수를 가진 문서만 반환됩니다.",
 	"Notifications": "알림",
 	"November": "11월",
+	"num_thread (Ollama)": "num_thread (올라마)",
 	"October": "10월",
 	"Off": "끄기",
 	"Okay, Let's Go!": "그렇습니다, 시작합시다!",
 	"OLED Dark": "OLED 어두운",
 	"Ollama": "Ollama",
-	"Ollama API": "",
+	"Ollama API": "올라마 API",
+	"Ollama API disabled": "Ollama API 사용 안 함",
 	"Ollama Version": "Ollama 버전",
 	"On": "켜기",
 	"Only": "오직",
@@ -342,8 +347,8 @@
 	"pending": "보류 중",
 	"Permission denied when accessing microphone: {{error}}": "마이크 액세스가 거부되었습니다: {{error}}",
 	"Personalization": "개인화",
-	"Pipelines": "",
-	"Pipelines Valves": "",
+	"Pipelines": "파이프라인",
+	"Pipelines Valves": "파이프라인 밸브",
 	"Plain text (.txt)": "일반 텍스트 (.txt)",
 	"Playground": "놀이터",
 	"Positive attitude": "긍정적인 자세",
@@ -388,31 +393,31 @@
 	"Scan for documents from {{path}}": "{{path}}에서 문서 스캔",
 	"Search": "검색",
 	"Search a model": "모델 검색",
-	"Search Chats": "",
+	"Search Chats": "채팅 검색",
 	"Search Documents": "문서 검색",
-	"Search Models": "",
+	"Search Models": "모델 검색",
 	"Search Prompts": "프롬프트 검색",
-	"Search Result Count": "",
-	"Searched {{count}} sites_other": "",
-	"Searching the web for '{{searchQuery}}'": "",
-	"Searxng Query URL": "",
+	"Search Result Count": "검색 결과 개수",
+	"Searched {{count}} sites_other": "{{count}} sites_other 검색됨",
+	"Searching the web for '{{searchQuery}}'": "웹에서 '{{searchQuery}}' 검색",
+	"Searxng Query URL": "Searxng 쿼리 URL",
 	"See readme.md for instructions": "설명은 readme.md를 참조하세요.",
 	"See what's new": "새로운 기능 보기",
 	"Seed": "시드",
-	"Select a base model": "",
+	"Select a base model": "기본 모델 선택",
 	"Select a mode": "모드 선택",
 	"Select a model": "모델 선택",
-	"Select a pipeline": "",
-	"Select a pipeline url": "",
+	"Select a pipeline": "파이프라인 선택",
+	"Select a pipeline url": "파이프라인 URL 선택",
 	"Select an Ollama instance": "Ollama 인스턴스 선택",
 	"Select model": "모델 선택",
-	"Selected model(s) do not support image inputs": "",
+	"Selected model(s) do not support image inputs": "선택한 모델은 이미지 입력을 지원하지 않습니다.",
 	"Send": "보내기",
 	"Send a Message": "메시지 보내기",
 	"Send message": "메시지 보내기",
 	"September": "9월",
-	"Serper API Key": "",
-	"Serpstack API Key": "",
+	"Serper API Key": "Serper API 키",
+	"Serpstack API Key": "Serpstack API 키",
 	"Server connection verified": "서버 연결 확인됨",
 	"Set as default": "기본값으로 설정",
 	"Set Default Model": "기본 모델 설정",
@@ -421,7 +426,7 @@
 	"Set Model": "모델 설정",
 	"Set reranking model (e.g. {{model}})": "랭킹 모델 설정 (예: {{model}})",
 	"Set Steps": "단계 설정",
-	"Set Task Model": "",
+	"Set Task Model": "작업 모델 설정",
 	"Set Voice": "음성 설정",
 	"Settings": "설정",
 	"Settings saved successfully!": "설정이 성공적으로 저장되었습니다!",
@@ -480,19 +485,21 @@
 	"Top P": "Top P",
 	"Trouble accessing Ollama?": "Ollama에 접근하는 데 문제가 있나요?",
 	"TTS Settings": "TTS 설정",
-	"Type": "",
+	"Type": "",
 	"Type Hugging Face Resolve (Download) URL": "Hugging Face Resolve (다운로드) URL 입력",
 	"Uh-oh! There was an issue connecting to {{provider}}.": "앗! {{provider}}에 연결하는 데 문제가 있었습니다.",
 	"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "알 수 없는 파일 유형 '{{file_type}}', 하지만 일반 텍스트로 허용하고 처리합니다.",
 	"Update and Copy Link": "링크 업데이트 및 복사",
 	"Update password": "비밀번호 업데이트",
 	"Upload a GGUF model": "GGUF 모델 업로드",
-	"Upload Files": "",
+	"Upload Files": "파일 업로드",
 	"Upload Progress": "업로드 진행 상황",
 	"URL Mode": "URL 모드",
 	"Use '#' in the prompt input to load and select your documents.": "프롬프트 입력에서 '#'를 사용하여 문서를 로드하고 선택하세요.",
 	"Use Gravatar": "Gravatar 사용",
 	"Use Initials": "초성 사용",
+	"use_mlock (Ollama)": "use_mlock (올라마)",
+	"use_mmap (Ollama)": "use_mmap (올라마)",
 	"user": "사용자",
 	"User Permissions": "사용자 권한",
 	"Users": "사용자",
@@ -501,13 +508,13 @@
 	"variable": "변수",
 	"variable to have them replaced with clipboard content.": "변수를 사용하여 클립보드 내용으로 바꾸세요.",
 	"Version": "버전",
-	"Warning": "",
+	"Warning": "경고",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "웹 로더를 업데이트하거나 변경할 경우 모든 문서를 다시 가져와야 합니다.",
 	"Web": "웹",
 	"Web Loader Settings": "웹 로더 설정",
 	"Web Params": "웹 파라미터",
-	"Web Search": "",
-	"Web Search Engine": "",
+	"Web Search": "웹 검색",
+	"Web Search Engine": "웹 검색 엔진",
 	"Webhook URL": "Webhook URL",
 	"WebUI Add-ons": "WebUI 애드온",
 	"WebUI Settings": "WebUI 설정",
@@ -520,7 +527,7 @@
 	"Write a summary in 50 words that summarizes [topic or keyword].": "[주제 또는 키워드]에 대한 50단어 요약문 작성.",
 	"Yesterday": "어제",
 	"You": "당신",
-	"You cannot clone a base model": "",
+	"You cannot clone a base model": "기본 모델은 복제할 수 없습니다",
 	"You have no archived conversations.": "채팅을 아카이브한 적이 없습니다.",
 	"You have shared this chat": "이 채팅을 공유했습니다.",
 	"You're a helpful assistant.": "당신은 유용한 어시스턴트입니다.",

+ 77 - 70
src/lib/i18n/locales/nl-NL/translation.json

@@ -3,19 +3,19 @@
 	"(Beta)": "(Beta)",
 	"(e.g. `sh webui.sh --api`)": "(e.g. `sh webui.sh --api`)",
 	"(latest)": "(nieuwste)",
-	"{{ models }}": "",
-	"{{ owner }}: You cannot delete a base model": "",
+	"{{ models }}": "{{ modellen }}",
+	"{{ owner }}: You cannot delete a base model": "{{ owner }}: U kunt een basismodel niet verwijderen",
 	"{{modelName}} is thinking...": "{{modelName}} is aan het denken...",
 	"{{user}}'s Chats": "{{user}}'s Chats",
 	"{{webUIName}} Backend Required": "{{webUIName}} Backend Verlpicht",
-	"A task model is used when performing tasks such as generating titles for chats and web search queries": "",
+	"A task model is used when performing tasks such as generating titles for chats and web search queries": "Een taakmodel wordt gebruikt bij het uitvoeren van taken zoals het genereren van titels voor chats en zoekopdrachten op internet",
 	"a user": "een gebruiker",
 	"About": "Over",
 	"Account": "Account",
 	"Accurate information": "Accurate informatie",
 	"Add": "Toevoegen",
-	"Add a model id": "",
-	"Add a short description about what this model does": "",
+	"Add a model id": "Een model-id toevoegen",
+	"Add a short description about what this model does": "Voeg een korte beschrijving toe over wat dit model doet",
 	"Add a short title for this prompt": "Voeg een korte titel toe voor deze prompt",
 	"Add a tag": "Voeg een tag toe",
 	"Add custom prompt": "Voeg een aangepaste prompt toe",
@@ -31,12 +31,13 @@
 	"Admin Panel": "Administratieve Paneel",
 	"Admin Settings": "Administratieve Settings",
 	"Advanced Parameters": "Geavanceerde Parameters",
-	"Advanced Params": "",
+	"Advanced Params": "Geavanceerde parameters",
 	"all": "alle",
 	"All Documents": "Alle Documenten",
 	"All Users": "Alle Gebruikers",
 	"Allow": "Toestaan",
 	"Allow Chat Deletion": "Sta Chat Verwijdering toe",
+	"Allow non-local voices": "",
 	"alphanumeric characters and hyphens": "alfanumerieke karakters en streepjes",
 	"Already have an account?": "Heb je al een account?",
 	"an assistant": "een assistent",
@@ -48,7 +49,7 @@
 	"API keys": "API keys",
 	"April": "April",
 	"Archive": "Archief",
-	"Archive All Chats": "",
+	"Archive All Chats": "Archiveer alle chats",
 	"Archived Chats": "chatrecord",
 	"are allowed - Activate this command by typing": "zijn toegestaan - Activeer deze commando door te typen",
 	"Are you sure?": "Zeker weten?",
@@ -63,14 +64,14 @@
 	"available!": "beschikbaar!",
 	"Back": "Terug",
 	"Bad Response": "Ongeldig antwoord",
-	"Banners": "",
-	"Base Model (From)": "",
+	"Banners": "Banners",
+	"Base Model (From)": "Basismodel (vanaf)",
 	"before": "voor",
 	"Being lazy": "Lustig zijn",
-	"Brave Search API Key": "",
+	"Brave Search API Key": "Brave Search API-sleutel",
 	"Bypass SSL verification for Websites": "SSL-verificatie omzeilen voor websites",
 	"Cancel": "Annuleren",
-	"Capabilities": "",
+	"Capabilities": "Mogelijkheden",
 	"Change Password": "Wijzig Wachtwoord",
 	"Chat": "Chat",
 	"Chat Bubble UI": "Chat Bubble UI",
@@ -93,14 +94,14 @@
 	"Click here to select documents.": "Klik hier om documenten te selecteren",
 	"click here.": "klik hier.",
 	"Click on the user role button to change a user's role.": "Klik op de gebruikersrol knop om de rol van een gebruiker te wijzigen.",
-	"Clone": "",
+	"Clone": "Kloon",
 	"Close": "Sluiten",
 	"Collection": "Verzameling",
 	"ComfyUI": "ComfyUI",
 	"ComfyUI Base URL": "ComfyUI Base URL",
 	"ComfyUI Base URL is required.": "ComfyUI Base URL is required.",
 	"Command": "Commando",
-	"Concurrent Requests": "",
+	"Concurrent Requests": "Gelijktijdige verzoeken",
 	"Confirm Password": "Bevestig Wachtwoord",
 	"Connections": "Verbindingen",
 	"Content": "Inhoud",
@@ -114,7 +115,7 @@
 	"Copy Link": "Kopieer Link",
 	"Copying to clipboard was successful!": "Kopiëren naar klembord was succesvol!",
 	"Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "Maak een beknopte, 3-5 woorden tellende zin als kop voor de volgende query, strikt aanhoudend aan de 3-5 woorden limiet en het vermijden van het gebruik van het woord 'titel':",
-	"Create a model": "",
+	"Create a model": "Een model maken",
 	"Create Account": "Maak Account",
 	"Create new key": "Maak nieuwe sleutel",
 	"Create new secret key": "Maak nieuwe geheim sleutel",
@@ -123,7 +124,7 @@
 	"Current Model": "Huidig Model",
 	"Current Password": "Huidig Wachtwoord",
 	"Custom": "Aangepast",
-	"Customize models for a specific purpose": "",
+	"Customize models for a specific purpose": "Modellen aanpassen voor een specifiek doel",
 	"Dark": "Donker",
 	"Database": "Database",
 	"December": "December",
@@ -131,24 +132,24 @@
 	"Default (Automatic1111)": "Standaard (Automatic1111)",
 	"Default (SentenceTransformers)": "Standaard (SentenceTransformers)",
 	"Default (Web API)": "Standaard (Web API)",
-	"Default Model": "",
+	"Default Model": "Standaard model",
 	"Default model updated": "Standaard model bijgewerkt",
 	"Default Prompt Suggestions": "Standaard Prompt Suggesties",
 	"Default User Role": "Standaard Gebruikersrol",
 	"delete": "verwijderen",
 	"Delete": "Verwijderen",
 	"Delete a model": "Verwijder een model",
-	"Delete All Chats": "",
+	"Delete All Chats": "Verwijder alle chats",
 	"Delete chat": "Verwijder chat",
 	"Delete Chat": "Verwijder Chat",
 	"delete this link": "verwijder deze link",
 	"Delete User": "Verwijder Gebruiker",
 	"Deleted {{deleteModelTag}}": "{{deleteModelTag}} is verwijderd",
-	"Deleted {{name}}": "",
+	"Deleted {{name}}": "{{name}} verwijderd",
 	"Description": "Beschrijving",
 	"Didn't fully follow instructions": "Ik heb niet alle instructies volgt",
 	"Disabled": "Uitgeschakeld",
-	"Discover a model": "",
+	"Discover a model": "Ontdek een model",
 	"Discover a prompt": "Ontdek een prompt",
 	"Discover, download, and explore custom prompts": "Ontdek, download en verken aangepaste prompts",
 	"Discover, download, and explore model presets": "Ontdek, download en verken model presets",
@@ -174,27 +175,27 @@
 	"Embedding Model Engine": "Embedding Model Engine",
 	"Embedding model set to \"{{embedding_model}}\"": "Embedding model ingesteld op \"{{embedding_model}}\"",
 	"Enable Chat History": "Schakel Chat Geschiedenis in",
-	"Enable Community Sharing": "",
+	"Enable Community Sharing": "Delen via de community inschakelen",
 	"Enable New Sign Ups": "Schakel Nieuwe Registraties in",
-	"Enable Web Search": "",
+	"Enable Web Search": "Zoeken op het web inschakelen",
 	"Enabled": "Ingeschakeld",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Zorg ervoor dat uw CSV-bestand de volgende vier kolommen in deze volgorde bevat: Naam, E-mail, Wachtwoord, Rol.",
 	"Enter {{role}} message here": "Voeg {{role}} bericht hier toe",
 	"Enter a detail about yourself for your LLMs to recall": "Voer een detail over jezelf in voor je LLMs om het her te onthouden",
-	"Enter Brave Search API Key": "",
+	"Enter Brave Search API Key": "Voer de Brave Search API-sleutel in",
 	"Enter Chunk Overlap": "Voeg Chunk Overlap toe",
 	"Enter Chunk Size": "Voeg Chunk Size toe",
-	"Enter Github Raw URL": "",
-	"Enter Google PSE API Key": "",
-	"Enter Google PSE Engine Id": "",
+	"Enter Github Raw URL": "Voer de Github Raw-URL in",
+	"Enter Google PSE API Key": "Voer de Google PSE API-sleutel in",
+	"Enter Google PSE Engine Id": "Voer Google PSE Engine-ID in",
 	"Enter Image Size (e.g. 512x512)": "Voeg afbeelding formaat toe (Bijv. 512x512)",
 	"Enter language codes": "Voeg taal codes toe",
 	"Enter model tag (e.g. {{modelTag}})": "Voeg model tag toe (Bijv. {{modelTag}})",
 	"Enter Number of Steps (e.g. 50)": "Voeg aantal stappen toe (Bijv. 50)",
 	"Enter Score": "Voeg score toe",
-	"Enter Searxng Query URL": "",
-	"Enter Serper API Key": "",
-	"Enter Serpstack API Key": "",
+	"Enter Searxng Query URL": "Voer de URL van de Searxng-query in",
+	"Enter Serper API Key": "Voer de Serper API-sleutel in",
+	"Enter Serpstack API Key": "Voer de Serpstack API-sleutel in",
 	"Enter stop sequence": "Zet stop sequentie",
 	"Enter Top K": "Voeg Top K toe",
 	"Enter URL (e.g. http://127.0.0.1:7860/)": "Zet URL (Bijv. http://127.0.0.1:7860/)",
@@ -203,12 +204,14 @@
 	"Enter Your Full Name": "Voer je Volledige Naam in",
 	"Enter Your Password": "Voer je Wachtwoord in",
 	"Enter Your Role": "Voer je Rol in",
-	"Error": "",
+	"Error": "Fout",
 	"Experimental": "Experimenteel",
+	"Export": "Exporteren",
 	"Export All Chats (All Users)": "Exporteer Alle Chats (Alle Gebruikers)",
+	"Export chat (.json)": "",
 	"Export Chats": "Exporteer Chats",
 	"Export Documents Mapping": "Exporteer Documenten Mapping",
-	"Export Models": "",
+	"Export Models": "Modellen exporteren",
 	"Export Prompts": "Exporteer Prompts",
 	"Failed to create API Key.": "Kan API Key niet aanmaken.",
 	"Failed to read clipboard contents": "Kan klembord inhoud niet lezen",
@@ -221,15 +224,15 @@
 	"Focus chat input": "Focus chat input",
 	"Followed instructions perfectly": "Volgde instructies perfect",
 	"Format your variables using square brackets like this:": "Formatteer je variabelen met vierkante haken zoals dit:",
-	"Frequency Penalty": "",
+	"Frequency Penalty": "Frequentie Straf",
 	"Full Screen Mode": "Volledig Scherm Modus",
 	"General": "Algemeen",
 	"General Settings": "Algemene Instellingen",
-	"Generating search query": "",
+	"Generating search query": "Zoekopdracht genereren",
 	"Generation Info": "Generatie Info",
 	"Good Response": "Goede Antwoord",
-	"Google PSE API Key": "",
-	"Google PSE Engine Id": "",
+	"Google PSE API Key": "Google PSE API-sleutel",
+	"Google PSE Engine Id": "Google PSE-engine-ID",
 	"h:mm a": "h:mm a",
 	"has no conversations.": "heeft geen gesprekken.",
 	"Hello, {{name}}": "Hallo, {{name}}",
@@ -243,18 +246,18 @@
 	"Images": "Afbeeldingen",
 	"Import Chats": "Importeer Chats",
 	"Import Documents Mapping": "Importeer Documenten Mapping",
-	"Import Models": "",
+	"Import Models": "Modellen importeren",
 	"Import Prompts": "Importeer Prompts",
 	"Include `--api` flag when running stable-diffusion-webui": "Voeg `--api` vlag toe bij het uitvoeren van stable-diffusion-webui",
-	"Info": "",
+	"Info": "Info",
 	"Input commands": "Voer commando's in",
-	"Install from Github URL": "",
+	"Install from Github URL": "Installeren vanaf Github-URL",
 	"Interface": "Interface",
 	"Invalid Tag": "Ongeldige Tag",
 	"January": "Januari",
 	"join our Discord for help.": "join onze Discord voor hulp.",
 	"JSON": "JSON",
-	"JSON Preview": "",
+	"JSON Preview": "JSON-voorbeeld",
 	"July": "Juli",
 	"June": "Juni",
 	"JWT Expiration": "JWT Expiration",
@@ -271,9 +274,9 @@
 	"Make sure to enclose them with": "Zorg ervoor dat je ze omringt met",
 	"Manage Models": "Beheer Modellen",
 	"Manage Ollama Models": "Beheer Ollama Modellen",
-	"Manage Pipelines": "",
+	"Manage Pipelines": "Pijplijnen beheren",
 	"March": "Maart",
-	"Max Tokens (num_predict)": "",
+	"Max Tokens (num_predict)": "Max Tokens (num_predict)",
 	"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Maximaal 3 modellen kunnen tegelijkertijd worden gedownload. Probeer het later opnieuw.",
 	"May": "Mei",
 	"Memories accessible by LLMs will be shown here.": "Geheugen toegankelijk voor LLMs wordt hier getoond.",
@@ -288,12 +291,12 @@
 	"Model '{{modelName}}' has been successfully downloaded.": "Model '{{modelName}}' is succesvol gedownload.",
 	"Model '{{modelTag}}' is already in queue for downloading.": "Model '{{modelTag}}' staat al in de wachtrij voor downloaden.",
 	"Model {{modelId}} not found": "Model {{modelId}} niet gevonden",
-	"Model {{modelName}} is not vision capable": "",
-	"Model {{name}} is now {{status}}": "",
+	"Model {{modelName}} is not vision capable": "Model {{modelName}} is niet geschikt voor visie",
+	"Model {{name}} is now {{status}}": "Model {{name}} is nu {{status}}",
 	"Model filesystem path detected. Model shortname is required for update, cannot continue.": "Model filesystem path gedetecteerd. Model shortname is vereist voor update, kan niet doorgaan.",
-	"Model ID": "",
+	"Model ID": "Model-ID",
 	"Model not selected": "Model niet geselecteerd",
-	"Model Params": "",
+	"Model Params": "Model Params",
 	"Model Whitelisting": "Model Whitelisting",
 	"Model(s) Whitelisted": "Model(len) zijn ge-whitelist",
 	"Modelfile Content": "Modelfile Inhoud",
@@ -301,23 +304,25 @@
 	"More": "Meer",
 	"Name": "Naam",
 	"Name Tag": "Naam Tag",
-	"Name your model": "",
+	"Name your model": "Geef uw model een naam",
 	"New Chat": "Nieuwe Chat",
 	"New Password": "Nieuw Wachtwoord",
 	"No results found": "Geen resultaten gevonden",
-	"No search query generated": "",
+	"No search query generated": "Geen zoekopdracht gegenereerd",
 	"No source available": "Geen bron beschikbaar",
-	"None": "",
+	"None": "Geen",
 	"Not factually correct": "Feitelijk niet juist",
 	"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Opmerking: Als u een minimumscore instelt, levert de zoekopdracht alleen documenten op met een score groter dan of gelijk aan de minimumscore.",
 	"Notifications": "Desktop Notificaties",
 	"November": "November",
+	"num_thread (Ollama)": "num_thread (Ollama)",
 	"October": "Oktober",
 	"Off": "Uit",
 	"Okay, Let's Go!": "Okay, Laten we gaan!",
 	"OLED Dark": "OLED Donker",
 	"Ollama": "Ollama",
-	"Ollama API": "",
+	"Ollama API": "Ollama API",
+	"Ollama API disabled": "Ollama API uitgeschakeld",
 	"Ollama Version": "Ollama Versie",
 	"On": "Aan",
 	"Only": "Alleen",
@@ -342,8 +347,8 @@
 	"pending": "wachtend",
 	"Permission denied when accessing microphone: {{error}}": "Toestemming geweigerd bij toegang tot microfoon: {{error}}",
 	"Personalization": "Personalisatie",
-	"Pipelines": "",
-	"Pipelines Valves": "",
+	"Pipelines": "Pijpleidingen",
+	"Pipelines Valves": "Pijpleidingen Kleppen",
 	"Plain text (.txt)": "Platte tekst (.txt)",
 	"Playground": "Speeltuin",
 	"Positive attitude": "Positieve positie",
@@ -388,32 +393,32 @@
 	"Scan for documents from {{path}}": "Scan voor documenten van {{path}}",
 	"Search": "Zoeken",
 	"Search a model": "Zoek een model",
-	"Search Chats": "",
+	"Search Chats": "Chats zoeken",
 	"Search Documents": "Zoek Documenten",
-	"Search Models": "",
+	"Search Models": "Modellen zoeken",
 	"Search Prompts": "Zoek Prompts",
-	"Search Result Count": "",
-	"Searched {{count}} sites_one": "",
-	"Searched {{count}} sites_other": "",
-	"Searching the web for '{{searchQuery}}'": "",
-	"Searxng Query URL": "",
+	"Search Result Count": "Aantal zoekresultaten",
+	"Searched {{count}} sites_one": "Gezocht op {{count}} sites_one",
+	"Searched {{count}} sites_other": "Gezocht op {{count}} sites_other",
+	"Searching the web for '{{searchQuery}}'": "Zoeken op internet naar '{{searchQuery}}'",
+	"Searxng Query URL": "Searxng Query URL",
 	"See readme.md for instructions": "Zie readme.md voor instructies",
 	"See what's new": "Zie wat er nieuw is",
 	"Seed": "Seed",
-	"Select a base model": "",
+	"Select a base model": "Selecteer een basismodel",
 	"Select a mode": "Selecteer een modus",
 	"Select a model": "Selecteer een model",
-	"Select a pipeline": "",
-	"Select a pipeline url": "",
+	"Select a pipeline": "Selecteer een pijplijn",
+	"Select a pipeline url": "Selecteer een pijplijn-URL",
 	"Select an Ollama instance": "Selecteer een Ollama instantie",
 	"Select model": "Selecteer een model",
-	"Selected model(s) do not support image inputs": "",
+	"Selected model(s) do not support image inputs": "Geselecteerde modellen ondersteunen geen beeldinvoer",
 	"Send": "Verzenden",
 	"Send a Message": "Stuur een Bericht",
 	"Send message": "Stuur bericht",
 	"September": "September",
-	"Serper API Key": "",
-	"Serpstack API Key": "",
+	"Serper API Key": "Serper API-sleutel",
+	"Serpstack API Key": "Serpstack API-sleutel",
 	"Server connection verified": "Server verbinding geverifieerd",
 	"Set as default": "Stel in als standaard",
 	"Set Default Model": "Stel Standaard Model in",
@@ -422,7 +427,7 @@
 	"Set Model": "Stel die model op",
 	"Set reranking model (e.g. {{model}})": "Stel reranking model in (bv. {{model}})",
 	"Set Steps": "Stel Stappen in",
-	"Set Task Model": "",
+	"Set Task Model": "Taakmodel instellen",
 	"Set Voice": "Stel Stem in",
 	"Settings": "Instellingen",
 	"Settings saved successfully!": "Instellingen succesvol opgeslagen!",
@@ -481,19 +486,21 @@
 	"Top P": "Top P",
 	"Trouble accessing Ollama?": "Problemen met toegang tot Ollama?",
 	"TTS Settings": "TTS instellingen",
-	"Type": "",
+	"Type": "Type",
 	"Type Hugging Face Resolve (Download) URL": "Type Hugging Face Resolve (Download) URL",
 	"Uh-oh! There was an issue connecting to {{provider}}.": "Uh-oh! Er was een probleem met verbinden met {{provider}}.",
 	"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Onbekend Bestandstype '{{file_type}}', maar accepteren en behandelen als platte tekst",
 	"Update and Copy Link": "Update en Kopieer Link",
 	"Update password": "Wijzig wachtwoord",
 	"Upload a GGUF model": "Upload een GGUF model",
-	"Upload Files": "",
+	"Upload Files": "Bestanden uploaden",
 	"Upload Progress": "Upload Voortgang",
 	"URL Mode": "URL Modus",
 	"Use '#' in the prompt input to load and select your documents.": "Gebruik '#' in de prompt input om je documenten te laden en te selecteren.",
 	"Use Gravatar": "Gebruik Gravatar",
 	"Use Initials": "Gebruik Initials",
+	"use_mlock (Ollama)": "use_mlock (Ollama)",
+	"use_mmap (Ollama)": "use_mmap (Ollama)",
 	"user": "user",
 	"User Permissions": "Gebruikers Rechten",
 	"Users": "Gebruikers",
@@ -502,13 +509,13 @@
 	"variable": "variabele",
 	"variable to have them replaced with clipboard content.": "variabele om ze te laten vervangen door klembord inhoud.",
 	"Version": "Versie",
-	"Warning": "",
+	"Warning": "Waarschuwing",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Warning: Als je de embedding model bijwerkt of wijzigt, moet je alle documenten opnieuw importeren.",
 	"Web": "Web",
 	"Web Loader Settings": "Web Loader instellingen",
 	"Web Params": "Web Params",
-	"Web Search": "",
-	"Web Search Engine": "",
+	"Web Search": "Zoeken op het web",
+	"Web Search Engine": "Zoekmachine op het web",
 	"Webhook URL": "Webhook URL",
 	"WebUI Add-ons": "WebUI Add-ons",
 	"WebUI Settings": "WebUI Instellingen",
@@ -521,7 +528,7 @@
 	"Write a summary in 50 words that summarizes [topic or keyword].": "Schrijf een samenvatting in 50 woorden die [onderwerp of trefwoord] samenvat.",
 	"Yesterday": "gisteren",
 	"You": "U",
-	"You cannot clone a base model": "",
+	"You cannot clone a base model": "U kunt een basismodel niet klonen",
 	"You have no archived conversations.": "U heeft geen gearchiveerde gesprekken.",
 	"You have shared this chat": "U heeft dit gesprek gedeeld",
 	"You're a helpful assistant.": "Jij bent een behulpzame assistent.",

+ 77 - 70
src/lib/i18n/locales/pa-IN/translation.json

@@ -3,19 +3,19 @@
 	"(Beta)": "(ਬੀਟਾ)",
 	"(e.g. `sh webui.sh --api`)": "(ਉਦਾਹਰਣ ਦੇ ਤੌਰ ਤੇ `sh webui.sh --api`)",
 	"(latest)": "(ਤਾਜ਼ਾ)",
-	"{{ models }}": "",
-	"{{ owner }}: You cannot delete a base model": "",
+	"{{ models }}": "{{ ਮਾਡਲ }}",
+	"{{ owner }}: You cannot delete a base model": "{{ ਮਾਲਕ }}: ਤੁਸੀਂ ਬੇਸ ਮਾਡਲ ਨੂੰ ਮਿਟਾ ਨਹੀਂ ਸਕਦੇ",
 	"{{modelName}} is thinking...": "{{modelName}} ਸੋਚ ਰਿਹਾ ਹੈ...",
 	"{{user}}'s Chats": "{{user}} ਦੀਆਂ ਗੱਲਾਂ",
 	"{{webUIName}} Backend Required": "{{webUIName}} ਬੈਕਐਂਡ ਲੋੜੀਂਦਾ ਹੈ",
-	"A task model is used when performing tasks such as generating titles for chats and web search queries": "",
+	"A task model is used when performing tasks such as generating titles for chats and web search queries": "ਚੈਟਾਂ ਅਤੇ ਵੈੱਬ ਖੋਜ ਪੁੱਛਗਿੱਛਾਂ ਵਾਸਤੇ ਸਿਰਲੇਖ ਤਿਆਰ ਕਰਨ ਵਰਗੇ ਕਾਰਜ ਾਂ ਨੂੰ ਕਰਦੇ ਸਮੇਂ ਇੱਕ ਕਾਰਜ ਮਾਡਲ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ",
 	"a user": "ਇੱਕ ਉਪਭੋਗਤਾ",
 	"About": "ਬਾਰੇ",
 	"Account": "ਖਾਤਾ",
 	"Accurate information": "ਸਹੀ ਜਾਣਕਾਰੀ",
 	"Add": "ਸ਼ਾਮਲ ਕਰੋ",
-	"Add a model id": "",
-	"Add a short description about what this model does": "",
+	"Add a model id": "ਇੱਕ ਮਾਡਲ ID ਸ਼ਾਮਲ ਕਰੋ",
+	"Add a short description about what this model does": "ਇਸ ਬਾਰੇ ਇੱਕ ਸੰਖੇਪ ਵੇਰਵਾ ਸ਼ਾਮਲ ਕਰੋ ਕਿ ਇਹ ਮਾਡਲ ਕੀ ਕਰਦਾ ਹੈ",
 	"Add a short title for this prompt": "ਇਸ ਪ੍ਰੰਪਟ ਲਈ ਇੱਕ ਛੋਟਾ ਸਿਰਲੇਖ ਸ਼ਾਮਲ ਕਰੋ",
 	"Add a tag": "ਇੱਕ ਟੈਗ ਸ਼ਾਮਲ ਕਰੋ",
 	"Add custom prompt": "ਕਸਟਮ ਪ੍ਰੰਪਟ ਸ਼ਾਮਲ ਕਰੋ",
@@ -31,12 +31,13 @@
 	"Admin Panel": "ਪ੍ਰਬੰਧਕ ਪੈਨਲ",
 	"Admin Settings": "ਪ੍ਰਬੰਧਕ ਸੈਟਿੰਗਾਂ",
 	"Advanced Parameters": "ਉੱਚ ਸਤਰ ਦੇ ਪੈਰਾਮੀਟਰ",
-	"Advanced Params": "",
+	"Advanced Params": "ਐਡਵਾਂਸਡ ਪਰਮਜ਼",
 	"all": "ਸਾਰੇ",
 	"All Documents": "ਸਾਰੇ ਡਾਕੂਮੈਂਟ",
 	"All Users": "ਸਾਰੇ ਉਪਭੋਗਤਾ",
 	"Allow": "ਅਨੁਮਤੀ",
 	"Allow Chat Deletion": "ਗੱਲਬਾਤ ਮਿਟਾਉਣ ਦੀ ਆਗਿਆ ਦਿਓ",
+	"Allow non-local voices": "",
 	"alphanumeric characters and hyphens": "ਅਲਫ਼ਾਨਯੂਮੈਰਿਕ ਅੱਖਰ ਅਤੇ ਹਾਈਫਨ",
 	"Already have an account?": "ਪਹਿਲਾਂ ਹੀ ਖਾਤਾ ਹੈ?",
 	"an assistant": "ਇੱਕ ਸਹਾਇਕ",
@@ -48,7 +49,7 @@
 	"API keys": "API ਕੁੰਜੀਆਂ",
 	"April": "ਅਪ੍ਰੈਲ",
 	"Archive": "ਆਰਕਾਈਵ",
-	"Archive All Chats": "",
+	"Archive All Chats": "ਸਾਰੀਆਂ ਚੈਟਾਂ ਨੂੰ ਆਰਕਾਈਵ ਕਰੋ",
 	"Archived Chats": "ਆਰਕਾਈਵ ਕੀਤੀਆਂ ਗੱਲਾਂ",
 	"are allowed - Activate this command by typing": "ਅਨੁਮਤ ਹਨ - ਇਸ ਕਮਾਂਡ ਨੂੰ ਟਾਈਪ ਕਰਕੇ ਸਰਗਰਮ ਕਰੋ",
 	"Are you sure?": "ਕੀ ਤੁਸੀਂ ਯਕੀਨਨ ਹੋ?",
@@ -63,14 +64,14 @@
 	"available!": "ਉਪਲਬਧ ਹੈ!",
 	"Back": "ਵਾਪਸ",
 	"Bad Response": "ਖਰਾਬ ਜਵਾਬ",
-	"Banners": "",
-	"Base Model (From)": "",
+	"Banners": "ਬੈਨਰ",
+	"Base Model (From)": "ਬੇਸ ਮਾਡਲ (ਤੋਂ)",
 	"before": "ਪਹਿਲਾਂ",
 	"Being lazy": "ਆਲਸੀ ਹੋਣਾ",
-	"Brave Search API Key": "",
+	"Brave Search API Key": "ਬਹਾਦਰ ਖੋਜ API ਕੁੰਜੀ",
 	"Bypass SSL verification for Websites": "ਵੈਬਸਾਈਟਾਂ ਲਈ SSL ਪ੍ਰਮਾਣਿਕਤਾ ਨੂੰ ਬਾਈਪਾਸ ਕਰੋ",
 	"Cancel": "ਰੱਦ ਕਰੋ",
-	"Capabilities": "",
+	"Capabilities": "ਸਮਰੱਥਾਵਾਂ",
 	"Change Password": "ਪਾਸਵਰਡ ਬਦਲੋ",
 	"Chat": "ਗੱਲਬਾਤ",
 	"Chat Bubble UI": "ਗੱਲਬਾਤ ਬਬਲ UI",
@@ -93,14 +94,14 @@
 	"Click here to select documents.": "ਡਾਕੂਮੈਂਟ ਚੁਣਨ ਲਈ ਇੱਥੇ ਕਲਿੱਕ ਕਰੋ।",
 	"click here.": "ਇੱਥੇ ਕਲਿੱਕ ਕਰੋ।",
 	"Click on the user role button to change a user's role.": "ਉਪਭੋਗਤਾ ਦੀ ਭੂਮਿਕਾ ਬਦਲਣ ਲਈ ਉਪਭੋਗਤਾ ਭੂਮਿਕਾ ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕਰੋ।",
-	"Clone": "",
+	"Clone": "ਕਲੋਨ",
 	"Close": "ਬੰਦ ਕਰੋ",
 	"Collection": "ਸੰਗ੍ਰਹਿ",
 	"ComfyUI": "ਕੰਫੀਯੂਆਈ",
 	"ComfyUI Base URL": "ਕੰਫੀਯੂਆਈ ਬੇਸ URL",
 	"ComfyUI Base URL is required.": "ਕੰਫੀਯੂਆਈ ਬੇਸ URL ਦੀ ਲੋੜ ਹੈ।",
 	"Command": "ਕਮਾਂਡ",
-	"Concurrent Requests": "",
+	"Concurrent Requests": "ਸਮਕਾਲੀ ਬੇਨਤੀਆਂ",
 	"Confirm Password": "ਪਾਸਵਰਡ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ",
 	"Connections": "ਕਨੈਕਸ਼ਨ",
 	"Content": "ਸਮੱਗਰੀ",
@@ -114,7 +115,7 @@
 	"Copy Link": "ਲਿੰਕ ਕਾਪੀ ਕਰੋ",
 	"Copying to clipboard was successful!": "ਕਲਿੱਪਬੋਰਡ 'ਤੇ ਕਾਪੀ ਕਰਨਾ ਸਫਲ ਰਿਹਾ!",
 	"Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "ਹੇਠਾਂ ਦਿੱਤੀ ਪੁੱਛਗਿੱਛ ਲਈ ਇੱਕ ਛੋਟਾ, 3-5 ਸ਼ਬਦਾਂ ਦਾ ਵਾਕ ਬਣਾਓ, 3-5 ਸ਼ਬਦਾਂ ਦੀ ਸੀਮਾ ਦਾ ਪਾਲਣ ਕਰਦੇ ਹੋਏ ਅਤੇ 'ਸਿਰਲੇਖ' ਸ਼ਬਦ ਦੇ ਇਸਤੇਮਾਲ ਤੋਂ ਬਚਦੇ ਹੋਏ:",
-	"Create a model": "",
+	"Create a model": "ਇੱਕ ਮਾਡਲ ਬਣਾਓ",
 	"Create Account": "ਖਾਤਾ ਬਣਾਓ",
 	"Create new key": "ਨਵੀਂ ਕੁੰਜੀ ਬਣਾਓ",
 	"Create new secret key": "ਨਵੀਂ ਗੁਪਤ ਕੁੰਜੀ ਬਣਾਓ",
@@ -123,7 +124,7 @@
 	"Current Model": "ਮੌਜੂਦਾ ਮਾਡਲ",
 	"Current Password": "ਮੌਜੂਦਾ ਪਾਸਵਰਡ",
 	"Custom": "ਕਸਟਮ",
-	"Customize models for a specific purpose": "",
+	"Customize models for a specific purpose": "ਕਿਸੇ ਖਾਸ ਉਦੇਸ਼ ਲਈ ਮਾਡਲਾਂ ਨੂੰ ਅਨੁਕੂਲਿਤ ਕਰੋ",
 	"Dark": "ਗੂੜ੍ਹਾ",
 	"Database": "ਡਾਟਾਬੇਸ",
 	"December": "ਦਸੰਬਰ",
@@ -131,24 +132,24 @@
 	"Default (Automatic1111)": "ਮੂਲ (Automatic1111)",
 	"Default (SentenceTransformers)": "ਮੂਲ (ਸੈਂਟੈਂਸਟ੍ਰਾਂਸਫਾਰਮਰਸ)",
 	"Default (Web API)": "ਮੂਲ (ਵੈਬ API)",
-	"Default Model": "",
+	"Default Model": "ਡਿਫਾਲਟ ਮਾਡਲ",
 	"Default model updated": "ਮੂਲ ਮਾਡਲ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ",
 	"Default Prompt Suggestions": "ਮੂਲ ਪ੍ਰੰਪਟ ਸੁਝਾਅ",
 	"Default User Role": "ਮੂਲ ਉਪਭੋਗਤਾ ਭੂਮਿਕਾ",
 	"delete": "ਮਿਟਾਓ",
 	"Delete": "ਮਿਟਾਓ",
 	"Delete a model": "ਇੱਕ ਮਾਡਲ ਮਿਟਾਓ",
-	"Delete All Chats": "",
+	"Delete All Chats": "ਸਾਰੀਆਂ ਚੈਟਾਂ ਨੂੰ ਮਿਟਾਓ",
 	"Delete chat": "ਗੱਲਬਾਤ ਮਿਟਾਓ",
 	"Delete Chat": "ਗੱਲਬਾਤ ਮਿਟਾਓ",
 	"delete this link": "ਇਸ ਲਿੰਕ ਨੂੰ ਮਿਟਾਓ",
 	"Delete User": "ਉਪਭੋਗਤਾ ਮਿਟਾਓ",
 	"Deleted {{deleteModelTag}}": "{{deleteModelTag}} ਮਿਟਾਇਆ ਗਿਆ",
-	"Deleted {{name}}": "",
+	"Deleted {{name}}": "ਮਿਟਾ ਦਿੱਤਾ ਗਿਆ {{name}}",
 	"Description": "ਵਰਣਨਾ",
 	"Didn't fully follow instructions": "ਹਦਾਇਤਾਂ ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਫਾਲੋ ਨਹੀਂ ਕੀਤਾ",
 	"Disabled": "ਅਯੋਗ",
-	"Discover a model": "",
+	"Discover a model": "ਇੱਕ ਮਾਡਲ ਲੱਭੋ",
 	"Discover a prompt": "ਇੱਕ ਪ੍ਰੰਪਟ ਖੋਜੋ",
 	"Discover, download, and explore custom prompts": "ਕਸਟਮ ਪ੍ਰੰਪਟਾਂ ਨੂੰ ਖੋਜੋ, ਡਾਊਨਲੋਡ ਕਰੋ ਅਤੇ ਪੜਚੋਲ ਕਰੋ",
 	"Discover, download, and explore model presets": "ਮਾਡਲ ਪ੍ਰੀਸੈਟਾਂ ਨੂੰ ਖੋਜੋ, ਡਾਊਨਲੋਡ ਕਰੋ ਅਤੇ ਪੜਚੋਲ ਕਰੋ",
@@ -174,27 +175,27 @@
 	"Embedding Model Engine": "ਐਮਬੈੱਡਿੰਗ ਮਾਡਲ ਇੰਜਣ",
 	"Embedding model set to \"{{embedding_model}}\"": "ਐਮਬੈੱਡਿੰਗ ਮਾਡਲ ਨੂੰ \"{{embedding_model}}\" 'ਤੇ ਸੈੱਟ ਕੀਤਾ ਗਿਆ",
 	"Enable Chat History": "ਗੱਲਬਾਤ ਦਾ ਇਤਿਹਾਸ ਯੋਗ ਕਰੋ",
-	"Enable Community Sharing": "",
+	"Enable Community Sharing": "ਕਮਿਊਨਿਟੀ ਸ਼ੇਅਰਿੰਗ ਨੂੰ ਸਮਰੱਥ ਕਰੋ",
 	"Enable New Sign Ups": "ਨਵੇਂ ਸਾਈਨ ਅਪ ਯੋਗ ਕਰੋ",
-	"Enable Web Search": "",
+	"Enable Web Search": "ਵੈੱਬ ਖੋਜ ਨੂੰ ਸਮਰੱਥ ਕਰੋ",
 	"Enabled": "ਯੋਗ ਕੀਤਾ ਗਿਆ",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "ਸੁਨਿਸ਼ਚਿਤ ਕਰੋ ਕਿ ਤੁਹਾਡੀ CSV ਫਾਈਲ ਵਿੱਚ ਇਸ ਕ੍ਰਮ ਵਿੱਚ 4 ਕਾਲਮ ਹਨ: ਨਾਮ, ਈਮੇਲ, ਪਾਸਵਰਡ, ਭੂਮਿਕਾ।",
 	"Enter {{role}} message here": "{{role}} ਸੁਨੇਹਾ ਇੱਥੇ ਦਰਜ ਕਰੋ",
 	"Enter a detail about yourself for your LLMs to recall": "ਤੁਹਾਡੇ LLMs ਨੂੰ ਸੁਨੇਹਾ ਕਰਨ ਲਈ ਸੁਨੇਹਾ ਇੱਥੇ ਦਰਜ ਕਰੋ",
-	"Enter Brave Search API Key": "",
+	"Enter Brave Search API Key": "ਬਹਾਦਰ ਖੋਜ API ਕੁੰਜੀ ਦਾਖਲ ਕਰੋ",
 	"Enter Chunk Overlap": "ਚੰਕ ਓਵਰਲੈਪ ਦਰਜ ਕਰੋ",
 	"Enter Chunk Size": "ਚੰਕ ਆਕਾਰ ਦਰਜ ਕਰੋ",
-	"Enter Github Raw URL": "",
-	"Enter Google PSE API Key": "",
-	"Enter Google PSE Engine Id": "",
+	"Enter Github Raw URL": "Github ਕੱਚਾ URL ਦਾਖਲ ਕਰੋ",
+	"Enter Google PSE API Key": "Google PSE API ਕੁੰਜੀ ਦਾਖਲ ਕਰੋ",
+	"Enter Google PSE Engine Id": "Google PSE ਇੰਜਣ ID ਦਾਖਲ ਕਰੋ",
 	"Enter Image Size (e.g. 512x512)": "ਚਿੱਤਰ ਆਕਾਰ ਦਰਜ ਕਰੋ (ਉਦਾਹਰਣ ਲਈ 512x512)",
 	"Enter language codes": "ਭਾਸ਼ਾ ਕੋਡ ਦਰਜ ਕਰੋ",
 	"Enter model tag (e.g. {{modelTag}})": "ਮਾਡਲ ਟੈਗ ਦਰਜ ਕਰੋ (ਉਦਾਹਰਣ ਲਈ {{modelTag}})",
 	"Enter Number of Steps (e.g. 50)": "ਕਦਮਾਂ ਦੀ ਗਿਣਤੀ ਦਰਜ ਕਰੋ (ਉਦਾਹਰਣ ਲਈ 50)",
 	"Enter Score": "ਸਕੋਰ ਦਰਜ ਕਰੋ",
-	"Enter Searxng Query URL": "",
-	"Enter Serper API Key": "",
-	"Enter Serpstack API Key": "",
+	"Enter Searxng Query URL": "Searxng Query URL ਦਾਖਲ ਕਰੋ",
+	"Enter Serper API Key": "Serper API ਕੁੰਜੀ ਦਾਖਲ ਕਰੋ",
+	"Enter Serpstack API Key": "Serpstack API ਕੁੰਜੀ ਦਾਖਲ ਕਰੋ",
 	"Enter stop sequence": "ਰੋਕਣ ਦਾ ਕ੍ਰਮ ਦਰਜ ਕਰੋ",
 	"Enter Top K": "ਸਿਖਰ K ਦਰਜ ਕਰੋ",
 	"Enter URL (e.g. http://127.0.0.1:7860/)": "URL ਦਰਜ ਕਰੋ (ਉਦਾਹਰਣ ਲਈ http://127.0.0.1:7860/)",
@@ -203,12 +204,14 @@
 	"Enter Your Full Name": "ਆਪਣਾ ਪੂਰਾ ਨਾਮ ਦਰਜ ਕਰੋ",
 	"Enter Your Password": "ਆਪਣਾ ਪਾਸਵਰਡ ਦਰਜ ਕਰੋ",
 	"Enter Your Role": "ਆਪਣੀ ਭੂਮਿਕਾ ਦਰਜ ਕਰੋ",
-	"Error": "",
+	"Error": "ਗਲਤੀ",
 	"Experimental": "ਪਰਮਾਣੂਕ੍ਰਿਤ",
+	"Export": "ਨਿਰਯਾਤ",
 	"Export All Chats (All Users)": "ਸਾਰੀਆਂ ਗੱਲਾਂ ਨਿਰਯਾਤ ਕਰੋ (ਸਾਰੇ ਉਪਭੋਗਤਾ)",
+	"Export chat (.json)": "",
 	"Export Chats": "ਗੱਲਾਂ ਨਿਰਯਾਤ ਕਰੋ",
 	"Export Documents Mapping": "ਡਾਕੂਮੈਂਟ ਮੈਪਿੰਗ ਨਿਰਯਾਤ ਕਰੋ",
-	"Export Models": "",
+	"Export Models": "ਨਿਰਯਾਤ ਮਾਡਲ",
 	"Export Prompts": "ਪ੍ਰੰਪਟ ਨਿਰਯਾਤ ਕਰੋ",
 	"Failed to create API Key.": "API ਕੁੰਜੀ ਬਣਾਉਣ ਵਿੱਚ ਅਸਫਲ।",
 	"Failed to read clipboard contents": "ਕਲਿੱਪਬੋਰਡ ਸਮੱਗਰੀ ਪੜ੍ਹਣ ਵਿੱਚ ਅਸਫਲ",
@@ -221,15 +224,15 @@
 	"Focus chat input": "ਗੱਲਬਾਤ ਇਨਪੁਟ 'ਤੇ ਧਿਆਨ ਦਿਓ",
 	"Followed instructions perfectly": "ਹਦਾਇਤਾਂ ਨੂੰ ਬਿਲਕੁਲ ਫਾਲੋ ਕੀਤਾ",
 	"Format your variables using square brackets like this:": "ਤੁਹਾਡੀਆਂ ਵੈਰੀਏਬਲਾਂ ਨੂੰ ਇਸ ਤਰ੍ਹਾਂ ਵਰਤੋਂ: [ ]",
-	"Frequency Penalty": "",
+	"Frequency Penalty": "ਬਾਰੰਬਾਰਤਾ ਜੁਰਮਾਨਾ",
 	"Full Screen Mode": "ਪੂਰੀ ਸਕਰੀਨ ਮੋਡ",
 	"General": "ਆਮ",
 	"General Settings": "ਆਮ ਸੈਟਿੰਗਾਂ",
-	"Generating search query": "",
+	"Generating search query": "ਖੋਜ ਪੁੱਛਗਿੱਛ ਤਿਆਰ ਕਰਨਾ",
 	"Generation Info": "ਜਨਰੇਸ਼ਨ ਜਾਣਕਾਰੀ",
 	"Good Response": "ਵਧੀਆ ਜਵਾਬ",
-	"Google PSE API Key": "",
-	"Google PSE Engine Id": "",
+	"Google PSE API Key": "Google PSE API ਕੁੰਜੀ",
+	"Google PSE Engine Id": "ਗੂਗਲ PSE ਇੰਜਣ ID",
 	"h:mm a": "ਹ:ਮਿੰਟ ਪੂਃ",
 	"has no conversations.": "ਕੋਈ ਗੱਲਬਾਤ ਨਹੀਂ ਹੈ।",
 	"Hello, {{name}}": "ਸਤ ਸ੍ਰੀ ਅਕਾਲ, {{name}}",
@@ -243,18 +246,18 @@
 	"Images": "ਚਿੱਤਰ",
 	"Import Chats": "ਗੱਲਾਂ ਆਯਾਤ ਕਰੋ",
 	"Import Documents Mapping": "ਡਾਕੂਮੈਂਟ ਮੈਪਿੰਗ ਆਯਾਤ ਕਰੋ",
-	"Import Models": "",
+	"Import Models": "ਮਾਡਲ ਆਯਾਤ ਕਰੋ",
 	"Import Prompts": "ਪ੍ਰੰਪਟ ਆਯਾਤ ਕਰੋ",
 	"Include `--api` flag when running stable-diffusion-webui": "ਸਟੇਬਲ-ਡਿਫਿਊਸ਼ਨ-ਵੈਬਯੂਆਈ ਚਲਾਉਣ ਸਮੇਂ `--api` ਝੰਡਾ ਸ਼ਾਮਲ ਕਰੋ",
-	"Info": "",
+	"Info": "ਜਾਣਕਾਰੀ",
 	"Input commands": "ਇਨਪੁਟ ਕਮਾਂਡਾਂ",
-	"Install from Github URL": "",
+	"Install from Github URL": "Github URL ਤੋਂ ਇੰਸਟਾਲ ਕਰੋ",
 	"Interface": "ਇੰਟਰਫੇਸ",
 	"Invalid Tag": "ਗਲਤ ਟੈਗ",
 	"January": "ਜਨਵਰੀ",
 	"join our Discord for help.": "ਮਦਦ ਲਈ ਸਾਡੇ ਡਿਸਕੋਰਡ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋਵੋ।",
 	"JSON": "JSON",
-	"JSON Preview": "",
+	"JSON Preview": "JSON ਪੂਰਵ-ਦਰਸ਼ਨ",
 	"July": "ਜੁਲਾਈ",
 	"June": "ਜੂਨ",
 	"JWT Expiration": "JWT ਮਿਆਦ ਖਤਮ",
@@ -271,9 +274,9 @@
 	"Make sure to enclose them with": "ਸੁਨਿਸ਼ਚਿਤ ਕਰੋ ਕਿ ਉਨ੍ਹਾਂ ਨੂੰ ਘੇਰੋ",
 	"Manage Models": "ਮਾਡਲਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ",
 	"Manage Ollama Models": "ਓਲਾਮਾ ਮਾਡਲਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ",
-	"Manage Pipelines": "",
+	"Manage Pipelines": "ਪਾਈਪਲਾਈਨਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ",
 	"March": "ਮਾਰਚ",
-	"Max Tokens (num_predict)": "",
+	"Max Tokens (num_predict)": "ਮੈਕਸ ਟੋਕਨ (num_predict)",
 	"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "ਇੱਕ ਸਮੇਂ ਵਿੱਚ ਵੱਧ ਤੋਂ ਵੱਧ 3 ਮਾਡਲ ਡਾਊਨਲੋਡ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ। ਕਿਰਪਾ ਕਰਕੇ ਬਾਅਦ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।",
 	"May": "ਮਈ",
 	"Memories accessible by LLMs will be shown here.": "LLMs ਲਈ ਸਮਰੱਥ ਕਾਰਨ ਇੱਕ ਸੂਚਨਾ ਨੂੰ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ।",
@@ -288,12 +291,12 @@
 	"Model '{{modelName}}' has been successfully downloaded.": "ਮਾਡਲ '{{modelName}}' ਸਫਲਤਾਪੂਰਵਕ ਡਾਊਨਲੋਡ ਕੀਤਾ ਗਿਆ ਹੈ।",
 	"Model '{{modelTag}}' is already in queue for downloading.": "ਮਾਡਲ '{{modelTag}}' ਪਹਿਲਾਂ ਹੀ ਡਾਊਨਲੋਡ ਲਈ ਕਤਾਰ ਵਿੱਚ ਹੈ।",
 	"Model {{modelId}} not found": "ਮਾਡਲ {{modelId}} ਨਹੀਂ ਮਿਲਿਆ",
-	"Model {{modelName}} is not vision capable": "",
-	"Model {{name}} is now {{status}}": "",
+	"Model {{modelName}} is not vision capable": "ਮਾਡਲ {{modelName}} ਦ੍ਰਿਸ਼ਟੀ ਸਮਰੱਥ ਨਹੀਂ ਹੈ",
+	"Model {{name}} is now {{status}}": "ਮਾਡਲ {{name}} ਹੁਣ {{status}} ਹੈ",
 	"Model filesystem path detected. Model shortname is required for update, cannot continue.": "ਮਾਡਲ ਫਾਈਲਸਿਸਟਮ ਪੱਥ ਪਾਇਆ ਗਿਆ। ਅੱਪਡੇਟ ਲਈ ਮਾਡਲ ਸ਼ੌਰਟਨੇਮ ਦੀ ਲੋੜ ਹੈ, ਜਾਰੀ ਨਹੀਂ ਰੱਖ ਸਕਦੇ।",
-	"Model ID": "",
+	"Model ID": "ਮਾਡਲ ID",
 	"Model not selected": "ਮਾਡਲ ਚੁਣਿਆ ਨਹੀਂ ਗਿਆ",
-	"Model Params": "",
+	"Model Params": "ਮਾਡਲ ਪਰਮਜ਼",
 	"Model Whitelisting": "ਮਾਡਲ ਵ੍ਹਾਈਟਲਿਸਟਿੰਗ",
 	"Model(s) Whitelisted": "ਮਾਡਲ(ਜ਼) ਵ੍ਹਾਈਟਲਿਸਟ ਕੀਤਾ ਗਿਆ",
 	"Modelfile Content": "ਮਾਡਲਫਾਈਲ ਸਮੱਗਰੀ",
@@ -301,23 +304,25 @@
 	"More": "ਹੋਰ",
 	"Name": "ਨਾਮ",
 	"Name Tag": "ਨਾਮ ਟੈਗ",
-	"Name your model": "",
+	"Name your model": "ਆਪਣੇ ਮਾਡਲ ਦਾ ਨਾਮ ਦੱਸੋ",
 	"New Chat": "ਨਵੀਂ ਗੱਲਬਾਤ",
 	"New Password": "ਨਵਾਂ ਪਾਸਵਰਡ",
 	"No results found": "ਕੋਈ ਨਤੀਜੇ ਨਹੀਂ ਮਿਲੇ",
-	"No search query generated": "",
+	"No search query generated": "ਕੋਈ ਖੋਜ ਪੁੱਛਗਿੱਛ ਤਿਆਰ ਨਹੀਂ ਕੀਤੀ ਗਈ",
 	"No source available": "ਕੋਈ ਸਰੋਤ ਉਪਲਬਧ ਨਹੀਂ",
-	"None": "",
+	"None": "ਕੋਈ ਨਹੀਂ",
 	"Not factually correct": "ਤੱਥਕ ਰੂਪ ਵਿੱਚ ਸਹੀ ਨਹੀਂ",
 	"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "ਨੋਟ: ਜੇ ਤੁਸੀਂ ਘੱਟੋ-ਘੱਟ ਸਕੋਰ ਸੈੱਟ ਕਰਦੇ ਹੋ, ਤਾਂ ਖੋਜ ਸਿਰਫ਼ ਉਹੀ ਡਾਕੂਮੈਂਟ ਵਾਪਸ ਕਰੇਗੀ ਜਿਨ੍ਹਾਂ ਦਾ ਸਕੋਰ ਘੱਟੋ-ਘੱਟ ਸਕੋਰ ਦੇ ਬਰਾਬਰ ਜਾਂ ਵੱਧ ਹੋਵੇ।",
 	"Notifications": "ਸੂਚਨਾਵਾਂ",
 	"November": "ਨਵੰਬਰ",
+	"num_thread (Ollama)": "num_thread (ਓਲਾਮਾ)",
 	"October": "ਅਕਤੂਬਰ",
 	"Off": "ਬੰਦ",
 	"Okay, Let's Go!": "ਠੀਕ ਹੈ, ਚੱਲੋ ਚੱਲੀਏ!",
 	"OLED Dark": "OLED ਗੂੜ੍ਹਾ",
 	"Ollama": "ਓਲਾਮਾ",
-	"Ollama API": "",
+	"Ollama API": "Ollama API",
+	"Ollama API disabled": "Ollama API ਅਸਮਰੱਥ",
 	"Ollama Version": "ਓਲਾਮਾ ਵਰਜਨ",
 	"On": "ਚਾਲੂ",
 	"Only": "ਸਿਰਫ਼",
@@ -342,8 +347,8 @@
 	"pending": "ਬਕਾਇਆ",
 	"Permission denied when accessing microphone: {{error}}": "ਮਾਈਕ੍ਰੋਫ਼ੋਨ ਤੱਕ ਪਹੁੰਚਣ ਸਮੇਂ ਆਗਿਆ ਰੱਦ ਕੀਤੀ ਗਈ: {{error}}",
 	"Personalization": "ਪਰਸੋਨਲਿਸ਼ਮ",
-	"Pipelines": "",
-	"Pipelines Valves": "",
+	"Pipelines": "ਪਾਈਪਲਾਈਨਾਂ",
+	"Pipelines Valves": "ਪਾਈਪਲਾਈਨਾਂ ਵਾਲਵ",
 	"Plain text (.txt)": "ਸਧਾਰਨ ਪਾਠ (.txt)",
 	"Playground": "ਖੇਡ ਦਾ ਮੈਦਾਨ",
 	"Positive attitude": "ਸਕਾਰਾਤਮਕ ਰਵੱਈਆ",
@@ -388,32 +393,32 @@
 	"Scan for documents from {{path}}": "{{path}} ਤੋਂ ਡਾਕੂਮੈਂਟਾਂ ਲਈ ਸਕੈਨ ਕਰੋ",
 	"Search": "ਖੋਜ",
 	"Search a model": "ਇੱਕ ਮਾਡਲ ਖੋਜੋ",
-	"Search Chats": "",
+	"Search Chats": "ਖੋਜ ਚੈਟਾਂ",
 	"Search Documents": "ਡਾਕੂਮੈਂਟ ਖੋਜੋ",
-	"Search Models": "",
+	"Search Models": "ਖੋਜ ਮਾਡਲ",
 	"Search Prompts": "ਪ੍ਰੰਪਟ ਖੋਜੋ",
-	"Search Result Count": "",
-	"Searched {{count}} sites_one": "",
-	"Searched {{count}} sites_other": "",
-	"Searching the web for '{{searchQuery}}'": "",
-	"Searxng Query URL": "",
+	"Search Result Count": "ਖੋਜ ਨਤੀਜੇ ਦੀ ਗਿਣਤੀ",
+	"Searched {{count}} sites_one": "ਖੋਜਿਆ {{count}} sites_one",
+	"Searched {{count}} sites_other": "ਖੋਜਿਆ {{count}} sites_other",
+	"Searching the web for '{{searchQuery}}'": "'{{searchQuery}}' ਲਈ ਵੈੱਬ 'ਤੇ ਖੋਜ ਕਰਨਾ",
+	"Searxng Query URL": "Searxng Query URL",
 	"See readme.md for instructions": "ਹਦਾਇਤਾਂ ਲਈ readme.md ਵੇਖੋ",
 	"See what's new": "ਨਵਾਂ ਕੀ ਹੈ ਵੇਖੋ",
 	"Seed": "ਬੀਜ",
-	"Select a base model": "",
+	"Select a base model": "ਆਧਾਰ ਮਾਡਲ ਚੁਣੋ",
 	"Select a mode": "ਇੱਕ ਮੋਡ ਚੁਣੋ",
 	"Select a model": "ਇੱਕ ਮਾਡਲ ਚੁਣੋ",
-	"Select a pipeline": "",
-	"Select a pipeline url": "",
+	"Select a pipeline": "ਪਾਈਪਲਾਈਨ ਚੁਣੋ",
+	"Select a pipeline url": "ਪਾਈਪਲਾਈਨ URL ਚੁਣੋ",
 	"Select an Ollama instance": "ਇੱਕ ਓਲਾਮਾ ਇੰਸਟੈਂਸ ਚੁਣੋ",
 	"Select model": "ਮਾਡਲ ਚੁਣੋ",
-	"Selected model(s) do not support image inputs": "",
+	"Selected model(s) do not support image inputs": "ਚੁਣੇ ਗਏ ਮਾਡਲ(ਆਂ) ਚਿੱਤਰ ਇਨਪੁੱਟਾਂ ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦੇ",
 	"Send": "ਭੇਜੋ",
 	"Send a Message": "ਇੱਕ ਸੁਨੇਹਾ ਭੇਜੋ",
 	"Send message": "ਸੁਨੇਹਾ ਭੇਜੋ",
 	"September": "ਸਤੰਬਰ",
-	"Serper API Key": "",
-	"Serpstack API Key": "",
+	"Serper API Key": "Serper API ਕੁੰਜੀ",
+	"Serpstack API Key": "Serpstack API ਕੁੰਜੀ",
 	"Server connection verified": "ਸਰਵਰ ਕਨੈਕਸ਼ਨ ਦੀ ਪੁਸ਼ਟੀ ਕੀਤੀ ਗਈ",
 	"Set as default": "ਮੂਲ ਵਜੋਂ ਸੈੱਟ ਕਰੋ",
 	"Set Default Model": "ਮੂਲ ਮਾਡਲ ਸੈੱਟ ਕਰੋ",
@@ -422,7 +427,7 @@
 	"Set Model": "ਮਾਡਲ ਸੈੱਟ ਕਰੋ",
 	"Set reranking model (e.g. {{model}})": "ਮੁੜ ਰੈਂਕਿੰਗ ਮਾਡਲ ਸੈੱਟ ਕਰੋ (ਉਦਾਹਰਣ ਲਈ {{model}})",
 	"Set Steps": "ਕਦਮ ਸੈੱਟ ਕਰੋ",
-	"Set Task Model": "",
+	"Set Task Model": "ਟਾਸਕ ਮਾਡਲ ਸੈੱਟ ਕਰੋ",
 	"Set Voice": "ਆਵਾਜ਼ ਸੈੱਟ ਕਰੋ",
 	"Settings": "ਸੈਟਿੰਗਾਂ",
 	"Settings saved successfully!": "ਸੈਟਿੰਗਾਂ ਸਫਲਤਾਪੂਰਵਕ ਸੰਭਾਲੀਆਂ ਗਈਆਂ!",
@@ -481,19 +486,21 @@
 	"Top P": "ਸਿਖਰ P",
 	"Trouble accessing Ollama?": "ਓਲਾਮਾ ਤੱਕ ਪਹੁੰਚਣ ਵਿੱਚ ਮੁਸ਼ਕਲ?",
 	"TTS Settings": "TTS ਸੈਟਿੰਗਾਂ",
-	"Type": "",
+	"Type": "ਕਿਸਮ",
 	"Type Hugging Face Resolve (Download) URL": "Hugging Face Resolve (ਡਾਊਨਲੋਡ) URL ਟਾਈਪ ਕਰੋ",
 	"Uh-oh! There was an issue connecting to {{provider}}.": "ਓਹੋ! {{provider}} ਨਾਲ ਕਨੈਕਟ ਕਰਨ ਵਿੱਚ ਸਮੱਸਿਆ ਆਈ।",
 	"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "ਅਣਜਾਣ ਫਾਈਲ ਕਿਸਮ '{{file_type}}', ਪਰ ਸਧਾਰਨ ਪਾਠ ਵਜੋਂ ਸਵੀਕਾਰ ਕਰਦੇ ਹੋਏ",
 	"Update and Copy Link": "ਅੱਪਡੇਟ ਕਰੋ ਅਤੇ ਲਿੰਕ ਕਾਪੀ ਕਰੋ",
 	"Update password": "ਪਾਸਵਰਡ ਅੱਪਡੇਟ ਕਰੋ",
 	"Upload a GGUF model": "ਇੱਕ GGUF ਮਾਡਲ ਅਪਲੋਡ ਕਰੋ",
-	"Upload Files": "",
+	"Upload Files": "ਫਾਇਲਾਂ ਅੱਪਲੋਡ ਕਰੋ",
 	"Upload Progress": "ਅਪਲੋਡ ਪ੍ਰਗਤੀ",
 	"URL Mode": "URL ਮੋਡ",
 	"Use '#' in the prompt input to load and select your documents.": "ਆਪਣੇ ਡਾਕੂਮੈਂਟ ਲੋਡ ਅਤੇ ਚੁਣਨ ਲਈ ਪ੍ਰੰਪਟ ਇਨਪੁਟ ਵਿੱਚ '#' ਵਰਤੋ।",
 	"Use Gravatar": "ਗ੍ਰਾਵਾਟਾਰ ਵਰਤੋ",
 	"Use Initials": "ਸ਼ੁਰੂਆਤੀ ਅੱਖਰ ਵਰਤੋ",
+	"use_mlock (Ollama)": "use_mlock (ਓਲਾਮਾ)",
+	"use_mmap (Ollama)": "use_mmap (ਓਲਾਮਾ)",
 	"user": "ਉਪਭੋਗਤਾ",
 	"User Permissions": "ਉਪਭੋਗਤਾ ਅਧਿਕਾਰ",
 	"Users": "ਉਪਭੋਗਤਾ",
@@ -502,13 +509,13 @@
 	"variable": "ਵੈਰੀਏਬਲ",
 	"variable to have them replaced with clipboard content.": "ਕਲਿੱਪਬੋਰਡ ਸਮੱਗਰੀ ਨਾਲ ਬਦਲਣ ਲਈ ਵੈਰੀਏਬਲ।",
 	"Version": "ਵਰਜਨ",
-	"Warning": "",
+	"Warning": "ਚੇਤਾਵਨੀ",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "ਚੇਤਾਵਨੀ: ਜੇ ਤੁਸੀਂ ਆਪਣਾ ਐਮਬੈੱਡਿੰਗ ਮਾਡਲ ਅੱਪਡੇਟ ਜਾਂ ਬਦਲਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਸਾਰੇ ਡਾਕੂਮੈਂਟ ਮੁੜ ਆਯਾਤ ਕਰਨ ਦੀ ਲੋੜ ਹੋਵੇਗੀ।",
 	"Web": "ਵੈਬ",
 	"Web Loader Settings": "ਵੈਬ ਲੋਡਰ ਸੈਟਿੰਗਾਂ",
 	"Web Params": "ਵੈਬ ਪੈਰਾਮੀਟਰ",
-	"Web Search": "",
-	"Web Search Engine": "",
+	"Web Search": "ਵੈੱਬ ਖੋਜ",
+	"Web Search Engine": "ਵੈੱਬ ਖੋਜ ਇੰਜਣ",
 	"Webhook URL": "ਵੈਬਹੁੱਕ URL",
 	"WebUI Add-ons": "ਵੈਬਯੂਆਈ ਐਡ-ਆਨ",
 	"WebUI Settings": "ਵੈਬਯੂਆਈ ਸੈਟਿੰਗਾਂ",
@@ -521,7 +528,7 @@
 	"Write a summary in 50 words that summarizes [topic or keyword].": "50 ਸ਼ਬਦਾਂ ਵਿੱਚ ਇੱਕ ਸੰਖੇਪ ਲਿਖੋ ਜੋ [ਵਿਸ਼ਾ ਜਾਂ ਕੁੰਜੀ ਸ਼ਬਦ] ਨੂੰ ਸੰਖੇਪ ਕਰਦਾ ਹੈ।",
 	"Yesterday": "ਕੱਲ੍ਹ",
 	"You": "ਤੁਸੀਂ",
-	"You cannot clone a base model": "",
+	"You cannot clone a base model": "ਤੁਸੀਂ ਆਧਾਰ ਮਾਡਲ ਨੂੰ ਕਲੋਨ ਨਹੀਂ ਕਰ ਸਕਦੇ",
 	"You have no archived conversations.": "ਤੁਹਾਡੇ ਕੋਲ ਕੋਈ ਆਰਕਾਈਵ ਕੀਤੀਆਂ ਗੱਲਾਂ ਨਹੀਂ ਹਨ।",
 	"You have shared this chat": "ਤੁਸੀਂ ਇਹ ਗੱਲਬਾਤ ਸਾਂਝੀ ਕੀਤੀ ਹੈ",
 	"You're a helpful assistant.": "ਤੁਸੀਂ ਇੱਕ ਮਦਦਗਾਰ ਸਹਾਇਕ ਹੋ।",

+ 79 - 72
src/lib/i18n/locales/pl-PL/translation.json

@@ -3,19 +3,19 @@
 	"(Beta)": "(Beta)",
 	"(e.g. `sh webui.sh --api`)": "(np. `sh webui.sh --api`)",
 	"(latest)": "(najnowszy)",
-	"{{ models }}": "",
-	"{{ owner }}: You cannot delete a base model": "",
+	"{{ models }}": "{{ modele }}",
+	"{{ owner }}: You cannot delete a base model": "{{ owner }}: Nie można usunąć modelu podstawowego",
 	"{{modelName}} is thinking...": "{{modelName}} myśli...",
 	"{{user}}'s Chats": "{{user}} - czaty",
 	"{{webUIName}} Backend Required": "Backend {{webUIName}} wymagane",
-	"A task model is used when performing tasks such as generating titles for chats and web search queries": "",
+	"A task model is used when performing tasks such as generating titles for chats and web search queries": "Model zadań jest używany podczas wykonywania zadań, takich jak generowanie tytułów czatów i zapytań wyszukiwania w Internecie",
 	"a user": "użytkownik",
 	"About": "O nas",
 	"Account": "Konto",
 	"Accurate information": "Dokładna informacja",
 	"Add": "Dodaj",
-	"Add a model id": "",
-	"Add a short description about what this model does": "",
+	"Add a model id": "Dodawanie identyfikatora modelu",
+	"Add a short description about what this model does": "Dodaj krótki opis działania tego modelu",
 	"Add a short title for this prompt": "Dodaj krótki tytuł tego polecenia",
 	"Add a tag": "Dodaj tag",
 	"Add custom prompt": "Dodaj własne polecenie",
@@ -31,12 +31,13 @@
 	"Admin Panel": "Panel administracyjny",
 	"Admin Settings": "Ustawienia administratora",
 	"Advanced Parameters": "Zaawansowane parametry",
-	"Advanced Params": "",
+	"Advanced Params": "Zaawansowane parametry",
 	"all": "wszyscy",
 	"All Documents": "Wszystkie dokumenty",
 	"All Users": "Wszyscy użytkownicy",
 	"Allow": "Pozwól",
 	"Allow Chat Deletion": "Pozwól na usuwanie czatu",
+	"Allow non-local voices": "",
 	"alphanumeric characters and hyphens": "znaki alfanumeryczne i myślniki",
 	"Already have an account?": "Masz już konto?",
 	"an assistant": "asystent",
@@ -48,7 +49,7 @@
 	"API keys": "Klucze API",
 	"April": "Kwiecień",
 	"Archive": "Archiwum",
-	"Archive All Chats": "",
+	"Archive All Chats": "Archiwizuj wszystkie czaty",
 	"Archived Chats": "Zarchiwizowane czaty",
 	"are allowed - Activate this command by typing": "są dozwolone - Aktywuj to polecenie, wpisując",
 	"Are you sure?": "Jesteś pewien?",
@@ -63,14 +64,14 @@
 	"available!": "dostępny!",
 	"Back": "Wstecz",
 	"Bad Response": "Zła odpowiedź",
-	"Banners": "",
-	"Base Model (From)": "",
+	"Banners": "Banery",
+	"Base Model (From)": "Model podstawowy (od)",
 	"before": "przed",
 	"Being lazy": "Jest leniwy",
-	"Brave Search API Key": "",
+	"Brave Search API Key": "Klucz API wyszukiwania Brave",
 	"Bypass SSL verification for Websites": "Pomiń weryfikację SSL dla stron webowych",
 	"Cancel": "Anuluj",
-	"Capabilities": "",
+	"Capabilities": "Możliwości",
 	"Change Password": "Zmień hasło",
 	"Chat": "Czat",
 	"Chat Bubble UI": "Bąbelki czatu",
@@ -93,14 +94,14 @@
 	"Click here to select documents.": "Kliknij tutaj, aby wybrać dokumenty.",
 	"click here.": "kliknij tutaj.",
 	"Click on the user role button to change a user's role.": "Kliknij przycisk roli użytkownika, aby zmienić rolę użytkownika.",
-	"Clone": "",
+	"Clone": "Klon",
 	"Close": "Zamknij",
 	"Collection": "Kolekcja",
 	"ComfyUI": "ComfyUI",
 	"ComfyUI Base URL": "Bazowy URL ComfyUI",
 	"ComfyUI Base URL is required.": "Bazowy URL ComfyUI jest wymagany.",
 	"Command": "Polecenie",
-	"Concurrent Requests": "",
+	"Concurrent Requests": "Równoczesne żądania",
 	"Confirm Password": "Potwierdź hasło",
 	"Connections": "Połączenia",
 	"Content": "Zawartość",
@@ -114,7 +115,7 @@
 	"Copy Link": "Kopiuj link",
 	"Copying to clipboard was successful!": "Kopiowanie do schowka zakończone powodzeniem!",
 	"Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "Utwórz zwięzłą frazę składającą się z 3-5 słów jako nagłówek dla następującego zapytania, ściśle przestrzegając limitu od 3 do 5 słów i unikając użycia słowa 'tytuł':",
-	"Create a model": "",
+	"Create a model": "Tworzenie modelu",
 	"Create Account": "Utwórz konto",
 	"Create new key": "Utwórz nowy klucz",
 	"Create new secret key": "Utwórz nowy klucz bezpieczeństwa",
@@ -123,7 +124,7 @@
 	"Current Model": "Bieżący model",
 	"Current Password": "Bieżące hasło",
 	"Custom": "Niestandardowy",
-	"Customize models for a specific purpose": "",
+	"Customize models for a specific purpose": "Dostosowywanie modeli do określonego celu",
 	"Dark": "Ciemny",
 	"Database": "Baza danych",
 	"December": "Grudzień",
@@ -131,24 +132,24 @@
 	"Default (Automatic1111)": "Domyślny (Automatic1111)",
 	"Default (SentenceTransformers)": "Domyślny (SentenceTransformers)",
 	"Default (Web API)": "Domyślny (Web API)",
-	"Default Model": "",
+	"Default Model": "Model domyślny",
 	"Default model updated": "Domyślny model zaktualizowany",
 	"Default Prompt Suggestions": "Domyślne sugestie promptów",
 	"Default User Role": "Domyślna rola użytkownika",
 	"delete": "usuń",
 	"Delete": "Usuń",
 	"Delete a model": "Usuń model",
-	"Delete All Chats": "",
+	"Delete All Chats": "Usuń wszystkie czaty",
 	"Delete chat": "Usuń czat",
 	"Delete Chat": "Usuń czat",
 	"delete this link": "usuń ten link",
 	"Delete User": "Usuń użytkownika",
 	"Deleted {{deleteModelTag}}": "Usunięto {{deleteModelTag}}",
-	"Deleted {{name}}": "",
+	"Deleted {{name}}": "Usunięto {{name}}",
 	"Description": "Opis",
 	"Didn't fully follow instructions": "Nie postępował zgodnie z instrukcjami",
 	"Disabled": "Wyłączone",
-	"Discover a model": "",
+	"Discover a model": "Odkryj model",
 	"Discover a prompt": "Odkryj prompt",
 	"Discover, download, and explore custom prompts": "Odkryj, pobierz i eksploruj niestandardowe prompty",
 	"Discover, download, and explore model presets": "Odkryj, pobierz i eksploruj ustawienia modeli",
@@ -174,27 +175,27 @@
 	"Embedding Model Engine": "Silnik modelu osadzania",
 	"Embedding model set to \"{{embedding_model}}\"": "Model osadzania ustawiono na \"{{embedding_model}}\"",
 	"Enable Chat History": "Włącz historię czatu",
-	"Enable Community Sharing": "",
+	"Enable Community Sharing": "Włączanie udostępniania społecznościowego",
 	"Enable New Sign Ups": "Włącz nowe rejestracje",
-	"Enable Web Search": "",
+	"Enable Web Search": "Włączanie wyszukiwania w Internecie",
 	"Enabled": "Włączone",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Upewnij się, że twój plik CSV zawiera 4 kolumny w następującym porządku: Nazwa, Email, Hasło, Rola.",
 	"Enter {{role}} message here": "Wprowadź wiadomość {{role}} tutaj",
 	"Enter a detail about yourself for your LLMs to recall": "Wprowadź szczegóły o sobie, aby LLMs mogli pamiętać",
-	"Enter Brave Search API Key": "",
+	"Enter Brave Search API Key": "Wprowadź klucz API Brave Search",
 	"Enter Chunk Overlap": "Wprowadź zakchodzenie bloku",
 	"Enter Chunk Size": "Wprowadź rozmiar bloku",
-	"Enter Github Raw URL": "",
-	"Enter Google PSE API Key": "",
-	"Enter Google PSE Engine Id": "",
+	"Enter Github Raw URL": "Wprowadź nieprzetworzony adres URL usługi Github",
+	"Enter Google PSE API Key": "Wprowadź klucz API Google PSE",
+	"Enter Google PSE Engine Id": "Wprowadź identyfikator aparatu Google PSE",
 	"Enter Image Size (e.g. 512x512)": "Wprowadź rozmiar obrazu (np. 512x512)",
 	"Enter language codes": "Wprowadź kody języków",
 	"Enter model tag (e.g. {{modelTag}})": "Wprowadź tag modelu (np. {{modelTag}})",
 	"Enter Number of Steps (e.g. 50)": "Wprowadź liczbę kroków (np. 50)",
 	"Enter Score": "Wprowadź wynik",
-	"Enter Searxng Query URL": "",
-	"Enter Serper API Key": "",
-	"Enter Serpstack API Key": "",
+	"Enter Searxng Query URL": "Wprowadź adres URL zapytania Searxng",
+	"Enter Serper API Key": "Wprowadź klucz API Serper",
+	"Enter Serpstack API Key": "Wprowadź klucz API Serpstack",
 	"Enter stop sequence": "Wprowadź sekwencję zatrzymania",
 	"Enter Top K": "Wprowadź Top K",
 	"Enter URL (e.g. http://127.0.0.1:7860/)": "Wprowadź adres URL (np. http://127.0.0.1:7860/)",
@@ -203,12 +204,14 @@
 	"Enter Your Full Name": "Wprowadź swoje imię i nazwisko",
 	"Enter Your Password": "Wprowadź swoje hasło",
 	"Enter Your Role": "Wprowadź swoją rolę",
-	"Error": "",
+	"Error": "Błąd",
 	"Experimental": "Eksperymentalne",
+	"Export": "Eksport",
 	"Export All Chats (All Users)": "Eksportuj wszystkie czaty (wszyscy użytkownicy)",
+	"Export chat (.json)": "",
 	"Export Chats": "Eksportuj czaty",
 	"Export Documents Mapping": "Eksportuj mapowanie dokumentów",
-	"Export Models": "",
+	"Export Models": "Eksportuj modele",
 	"Export Prompts": "Eksportuj prompty",
 	"Failed to create API Key.": "Nie udało się utworzyć klucza API.",
 	"Failed to read clipboard contents": "Nie udało się odczytać zawartości schowka",
@@ -221,15 +224,15 @@
 	"Focus chat input": "Skoncentruj na czacie",
 	"Followed instructions perfectly": "Postępował z idealnie według instrukcji",
 	"Format your variables using square brackets like this:": "Formatuj swoje zmienne, używając nawiasów kwadratowych, np.",
-	"Frequency Penalty": "",
+	"Frequency Penalty": "Kara za częstotliwość",
 	"Full Screen Mode": "Tryb pełnoekranowy",
 	"General": "Ogólne",
 	"General Settings": "Ogólne ustawienia",
-	"Generating search query": "",
+	"Generating search query": "Generowanie zapytania",
 	"Generation Info": "Informacja o generacji",
 	"Good Response": "Dobra odpowiedź",
-	"Google PSE API Key": "",
-	"Google PSE Engine Id": "",
+	"Google PSE API Key": "Klucz API Google PSE",
+	"Google PSE Engine Id": "Identyfikator silnika Google PSE",
 	"h:mm a": "h:mm a",
 	"has no conversations.": "nie ma rozmów.",
 	"Hello, {{name}}": "Witaj, {{name}}",
@@ -243,18 +246,18 @@
 	"Images": "Obrazy",
 	"Import Chats": "Importuj czaty",
 	"Import Documents Mapping": "Importuj mapowanie dokumentów",
-	"Import Models": "",
+	"Import Models": "Importowanie modeli",
 	"Import Prompts": "Importuj prompty",
 	"Include `--api` flag when running stable-diffusion-webui": "Dołącz flagę `--api` podczas uruchamiania stable-diffusion-webui",
-	"Info": "",
+	"Info": "Informacji",
 	"Input commands": "Wprowadź komendy",
-	"Install from Github URL": "",
+	"Install from Github URL": "Instalowanie z adresu URL usługi Github",
 	"Interface": "Interfejs",
 	"Invalid Tag": "Nieprawidłowy tag",
 	"January": "Styczeń",
 	"join our Discord for help.": "Dołącz do naszego Discorda po pomoc.",
 	"JSON": "JSON",
-	"JSON Preview": "",
+	"JSON Preview": "JSON (wersja zapoznawcza)",
 	"July": "Lipiec",
 	"June": "Czerwiec",
 	"JWT Expiration": "Wygaśnięcie JWT",
@@ -271,9 +274,9 @@
 	"Make sure to enclose them with": "Upewnij się, że są one zamknięte w",
 	"Manage Models": "Zarządzaj modelami",
 	"Manage Ollama Models": "Zarządzaj modelami Ollama",
-	"Manage Pipelines": "",
+	"Manage Pipelines": "Zarządzanie potokami",
 	"March": "Marzec",
-	"Max Tokens (num_predict)": "",
+	"Max Tokens (num_predict)": "Maksymalna liczba żetonów (num_predict)",
 	"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Maksymalnie 3 modele można pobierać jednocześnie. Spróbuj ponownie później.",
 	"May": "Maj",
 	"Memories accessible by LLMs will be shown here.": "Pamięci używane przez LLM będą tutaj widoczne.",
@@ -288,12 +291,12 @@
 	"Model '{{modelName}}' has been successfully downloaded.": "Model '{{modelName}}' został pomyślnie pobrany.",
 	"Model '{{modelTag}}' is already in queue for downloading.": "Model '{{modelTag}}' jest już w kolejce do pobrania.",
 	"Model {{modelId}} not found": "Model {{modelId}} nie został znaleziony",
-	"Model {{modelName}} is not vision capable": "",
-	"Model {{name}} is now {{status}}": "",
+	"Model {{modelName}} is not vision capable": "Model {{modelName}} nie jest w stanie zobaczyć",
+	"Model {{name}} is now {{status}}": "Model {{name}} to teraz {{status}}",
 	"Model filesystem path detected. Model shortname is required for update, cannot continue.": "Wykryto ścieżkę systemu plików modelu. Wymagana jest krótka nazwa modelu do aktualizacji, nie można kontynuować.",
-	"Model ID": "",
+	"Model ID": "Identyfikator modelu",
 	"Model not selected": "Model nie został wybrany",
-	"Model Params": "",
+	"Model Params": "Parametry modelu",
 	"Model Whitelisting": "Whitelisting modelu",
 	"Model(s) Whitelisted": "Model(e) dodane do listy białej",
 	"Modelfile Content": "Zawartość pliku modelu",
@@ -301,23 +304,25 @@
 	"More": "Więcej",
 	"Name": "Nazwa",
 	"Name Tag": "Etykieta nazwy",
-	"Name your model": "",
+	"Name your model": "Nazwij swój model",
 	"New Chat": "Nowy czat",
 	"New Password": "Nowe hasło",
 	"No results found": "Nie znaleziono rezultatów",
-	"No search query generated": "",
+	"No search query generated": "Nie wygenerowano zapytania wyszukiwania",
 	"No source available": "Źródło nie dostępne",
-	"None": "",
+	"None": "Żaden",
 	"Not factually correct": "Nie zgodne z faktami",
 	"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Uwaga: Jeśli ustawisz minimalny wynik, szukanie zwróci jedynie dokumenty z wynikiem większym lub równym minimalnemu.",
 	"Notifications": "Powiadomienia",
 	"November": "Listopad",
+	"num_thread (Ollama)": "num_thread (Ollama)",
 	"October": "Październik",
 	"Off": "Wyłączony",
 	"Okay, Let's Go!": "Okej, zaczynamy!",
 	"OLED Dark": "Ciemny OLED",
 	"Ollama": "Ollama",
-	"Ollama API": "",
+	"Ollama API": "Ollama API",
+	"Ollama API disabled": "Interfejs API Ollama wyłączony",
 	"Ollama Version": "Wersja Ollama",
 	"On": "Włączony",
 	"Only": "Tylko",
@@ -342,8 +347,8 @@
 	"pending": "oczekujące",
 	"Permission denied when accessing microphone: {{error}}": "Odmowa dostępu do mikrofonu: {{error}}",
 	"Personalization": "Personalizacja",
-	"Pipelines": "",
-	"Pipelines Valves": "",
+	"Pipelines": "Rurociągów",
+	"Pipelines Valves": "Rurociągi Zawory",
 	"Plain text (.txt)": "Zwykły tekst (.txt)",
 	"Playground": "Plac zabaw",
 	"Positive attitude": "Pozytywne podejście",
@@ -388,34 +393,34 @@
 	"Scan for documents from {{path}}": "Skanuj dokumenty z {{path}}",
 	"Search": "Szukaj",
 	"Search a model": "Szukaj modelu",
-	"Search Chats": "",
+	"Search Chats": "Szukaj w czatach",
 	"Search Documents": "Szukaj dokumentów",
-	"Search Models": "",
+	"Search Models": "Szukaj modeli",
 	"Search Prompts": "Szukaj promptów",
-	"Search Result Count": "",
-	"Searched {{count}} sites_one": "",
-	"Searched {{count}} sites_few": "",
-	"Searched {{count}} sites_many": "",
-	"Searched {{count}} sites_other": "",
-	"Searching the web for '{{searchQuery}}'": "",
-	"Searxng Query URL": "",
+	"Search Result Count": "Liczba wyników wyszukiwania",
+	"Searched {{count}} sites_one": "Wyszukiwano {{count}} sites_one",
+	"Searched {{count}} sites_few": "Wyszukiwano {{count}} sites_few",
+	"Searched {{count}} sites_many": "Wyszukiwano {{count}} sites_many",
+	"Searched {{count}} sites_other": "Wyszukiwano {{count}} sites_other",
+	"Searching the web for '{{searchQuery}}'": "Wyszukiwanie w Internecie \"{{searchQuery}}\"",
+	"Searxng Query URL": "Adres URL zapytania Searxng",
 	"See readme.md for instructions": "Zajrzyj do readme.md po instrukcje",
 	"See what's new": "Zobacz co nowego",
 	"Seed": "Seed",
-	"Select a base model": "",
+	"Select a base model": "Wybieranie modelu bazowego",
 	"Select a mode": "Wybierz tryb",
 	"Select a model": "Wybierz model",
-	"Select a pipeline": "",
-	"Select a pipeline url": "",
+	"Select a pipeline": "Wybieranie potoku",
+	"Select a pipeline url": "Wybieranie adresu URL potoku",
 	"Select an Ollama instance": "Wybierz instancję Ollama",
 	"Select model": "Wybierz model",
-	"Selected model(s) do not support image inputs": "",
+	"Selected model(s) do not support image inputs": "Wybrane modele nie obsługują danych wejściowych obrazu",
 	"Send": "Wyślij",
 	"Send a Message": "Wyślij Wiadomość",
 	"Send message": "Wyślij wiadomość",
 	"September": "Wrzesień",
-	"Serper API Key": "",
-	"Serpstack API Key": "",
+	"Serper API Key": "Klucz API Serper",
+	"Serpstack API Key": "Klucz API Serpstack",
 	"Server connection verified": "Połączenie z serwerem zweryfikowane",
 	"Set as default": "Ustaw jako domyślne",
 	"Set Default Model": "Ustaw domyślny model",
@@ -424,7 +429,7 @@
 	"Set Model": "Ustaw model",
 	"Set reranking model (e.g. {{model}})": "Ustaw zmianę rankingu modelu (e.g. {{model}})",
 	"Set Steps": "Ustaw kroki",
-	"Set Task Model": "",
+	"Set Task Model": "Ustawianie modelu zadań",
 	"Set Voice": "Ustaw głos",
 	"Settings": "Ustawienia",
 	"Settings saved successfully!": "Ustawienia zapisane pomyślnie!",
@@ -483,19 +488,21 @@
 	"Top P": "Najlepsze P",
 	"Trouble accessing Ollama?": "Problemy z dostępem do Ollama?",
 	"TTS Settings": "Ustawienia TTS",
-	"Type": "",
+	"Type": "Typ",
 	"Type Hugging Face Resolve (Download) URL": "Wprowadź adres URL do pobrania z Hugging Face",
 	"Uh-oh! There was an issue connecting to {{provider}}.": "O nie! Wystąpił problem z połączeniem z {{provider}}.",
 	"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Nieznany typ pliku '{{file_type}}', ale akceptowany i traktowany jako zwykły tekst",
 	"Update and Copy Link": "Uaktualnij i skopiuj link",
 	"Update password": "Aktualizacja hasła",
 	"Upload a GGUF model": "Prześlij model GGUF",
-	"Upload Files": "",
+	"Upload Files": "Prześlij pliki",
 	"Upload Progress": "Postęp przesyłania",
 	"URL Mode": "Tryb adresu URL",
 	"Use '#' in the prompt input to load and select your documents.": "Użyj '#' w polu wprowadzania polecenia, aby załadować i wybrać swoje dokumenty.",
 	"Use Gravatar": "Użyj Gravatara",
 	"Use Initials": "Użyj inicjałów",
+	"use_mlock (Ollama)": "use_mlock (Ollama)",
+	"use_mmap (Ollama)": "use_mmap (Ollama)",
 	"user": "użytkownik",
 	"User Permissions": "Uprawnienia użytkownika",
 	"Users": "Użytkownicy",
@@ -504,13 +511,13 @@
 	"variable": "zmienna",
 	"variable to have them replaced with clipboard content.": "zmienna która zostanie zastąpiona zawartością schowka.",
 	"Version": "Wersja",
-	"Warning": "",
+	"Warning": "Ostrzeżenie",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Uwaga: Jeśli uaktualnisz lub zmienisz model osadzania, będziesz musiał ponownie zaimportować wszystkie dokumenty.",
 	"Web": "Sieć",
 	"Web Loader Settings": "Ustawienia pobierania z sieci",
 	"Web Params": "Parametry sieci",
-	"Web Search": "",
-	"Web Search Engine": "",
+	"Web Search": "Wyszukiwarka w Internecie",
+	"Web Search Engine": "Wyszukiwarka internetowa",
 	"Webhook URL": "URL webhook",
 	"WebUI Add-ons": "Dodatki do interfejsu WebUI",
 	"WebUI Settings": "Ustawienia interfejsu WebUI",
@@ -523,7 +530,7 @@
 	"Write a summary in 50 words that summarizes [topic or keyword].": "Napisz podsumowanie w 50 słowach, które podsumowuje [temat lub słowo kluczowe].",
 	"Yesterday": "Wczoraj",
 	"You": "Ty",
-	"You cannot clone a base model": "",
+	"You cannot clone a base model": "Nie można sklonować modelu podstawowego",
 	"You have no archived conversations.": "Nie masz zarchiwizowanych rozmów.",
 	"You have shared this chat": "Udostępniłeś ten czat",
 	"You're a helpful assistant.": "Jesteś pomocnym asystentem.",

+ 78 - 71
src/lib/i18n/locales/pt-BR/translation.json

@@ -3,19 +3,19 @@
 	"(Beta)": "(Beta)",
 	"(e.g. `sh webui.sh --api`)": "(por exemplo, `sh webui.sh --api`)",
 	"(latest)": "(mais recente)",
-	"{{ models }}": "",
-	"{{ owner }}: You cannot delete a base model": "",
+	"{{ models }}": "{{ modelos }}",
+	"{{ owner }}: You cannot delete a base model": "{{ owner }}: Não é possível excluir um modelo base",
 	"{{modelName}} is thinking...": "{{modelName}} está pensando...",
 	"{{user}}'s Chats": "{{user}}'s Chats",
 	"{{webUIName}} Backend Required": "{{webUIName}} Backend Necessário",
-	"A task model is used when performing tasks such as generating titles for chats and web search queries": "",
+	"A task model is used when performing tasks such as generating titles for chats and web search queries": "Um modelo de tarefa é usado ao executar tarefas como a geração de títulos para bate-papos e consultas de pesquisa na Web",
 	"a user": "um usuário",
 	"About": "Sobre",
 	"Account": "Conta",
 	"Accurate information": "Informações precisas",
 	"Add": "Adicionar",
-	"Add a model id": "",
-	"Add a short description about what this model does": "",
+	"Add a model id": "Adicionar uma ID de modelo",
+	"Add a short description about what this model does": "Adicione uma breve descrição sobre o que este modelo faz",
 	"Add a short title for this prompt": "Adicione um título curto para este prompt",
 	"Add a tag": "Adicionar uma tag",
 	"Add custom prompt": "Adicionar prompt personalizado",
@@ -31,12 +31,13 @@
 	"Admin Panel": "Painel do Administrador",
 	"Admin Settings": "Configurações do Administrador",
 	"Advanced Parameters": "Parâmetros Avançados",
-	"Advanced Params": "",
+	"Advanced Params": "Params Avançados",
 	"all": "todos",
 	"All Documents": "Todos os Documentos",
 	"All Users": "Todos os Usuários",
 	"Allow": "Permitir",
 	"Allow Chat Deletion": "Permitir Exclusão de Bate-papo",
+	"Allow non-local voices": "",
 	"alphanumeric characters and hyphens": "caracteres alfanuméricos e hífens",
 	"Already have an account?": "Já tem uma conta?",
 	"an assistant": "um assistente",
@@ -48,7 +49,7 @@
 	"API keys": "Chaves da API",
 	"April": "Abril",
 	"Archive": "Arquivo",
-	"Archive All Chats": "",
+	"Archive All Chats": "Arquivar todos os bate-papos",
 	"Archived Chats": "Bate-papos arquivados",
 	"are allowed - Activate this command by typing": "são permitidos - Ative este comando digitando",
 	"Are you sure?": "Tem certeza?",
@@ -63,14 +64,14 @@
 	"available!": "disponível!",
 	"Back": "Voltar",
 	"Bad Response": "Resposta ruim",
-	"Banners": "",
-	"Base Model (From)": "",
+	"Banners": "Banners",
+	"Base Model (From)": "Modelo Base (De)",
 	"before": "antes",
 	"Being lazy": "Ser preguiçoso",
-	"Brave Search API Key": "",
+	"Brave Search API Key": "Chave da API de pesquisa do Brave",
 	"Bypass SSL verification for Websites": "Ignorar verificação SSL para sites",
 	"Cancel": "Cancelar",
-	"Capabilities": "",
+	"Capabilities": "Capacidades",
 	"Change Password": "Alterar Senha",
 	"Chat": "Bate-papo",
 	"Chat Bubble UI": "UI de Bala de Bate-papo",
@@ -93,14 +94,14 @@
 	"Click here to select documents.": "Clique aqui para selecionar documentos.",
 	"click here.": "clique aqui.",
 	"Click on the user role button to change a user's role.": "Clique no botão de função do usuário para alterar a função de um usuário.",
-	"Clone": "",
+	"Clone": "Clone",
 	"Close": "Fechar",
 	"Collection": "Coleção",
 	"ComfyUI": "ComfyUI",
 	"ComfyUI Base URL": "URL Base do ComfyUI",
 	"ComfyUI Base URL is required.": "A URL Base do ComfyUI é obrigatória.",
 	"Command": "Comando",
-	"Concurrent Requests": "",
+	"Concurrent Requests": "Solicitações simultâneas",
 	"Confirm Password": "Confirmar Senha",
 	"Connections": "Conexões",
 	"Content": "Conteúdo",
@@ -114,7 +115,7 @@
 	"Copy Link": "Copiar link",
 	"Copying to clipboard was successful!": "Cópia para a área de transferência bem-sucedida!",
 	"Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "Crie uma frase concisa de 3 a 5 palavras como cabeçalho para a seguinte consulta, aderindo estritamente ao limite de 3 a 5 palavras e evitando o uso da palavra 'título':",
-	"Create a model": "",
+	"Create a model": "Criar um modelo",
 	"Create Account": "Criar Conta",
 	"Create new key": "Criar nova chave",
 	"Create new secret key": "Criar nova chave secreta",
@@ -123,7 +124,7 @@
 	"Current Model": "Modelo Atual",
 	"Current Password": "Senha Atual",
 	"Custom": "Personalizado",
-	"Customize models for a specific purpose": "",
+	"Customize models for a specific purpose": "Personalizar modelos para uma finalidade específica",
 	"Dark": "Escuro",
 	"Database": "Banco de dados",
 	"December": "Dezembro",
@@ -131,24 +132,24 @@
 	"Default (Automatic1111)": "Padrão (Automatic1111)",
 	"Default (SentenceTransformers)": "Padrão (SentenceTransformers)",
 	"Default (Web API)": "Padrão (API Web)",
-	"Default Model": "",
+	"Default Model": "Modelo padrão",
 	"Default model updated": "Modelo padrão atualizado",
 	"Default Prompt Suggestions": "Sugestões de Prompt Padrão",
 	"Default User Role": "Função de Usuário Padrão",
 	"delete": "excluir",
 	"Delete": "Excluir",
 	"Delete a model": "Excluir um modelo",
-	"Delete All Chats": "",
+	"Delete All Chats": "Excluir todos os bate-papos",
 	"Delete chat": "Excluir bate-papo",
 	"Delete Chat": "Excluir Bate-papo",
 	"delete this link": "excluir este link",
 	"Delete User": "Excluir Usuário",
 	"Deleted {{deleteModelTag}}": "{{deleteModelTag}} excluído",
-	"Deleted {{name}}": "",
+	"Deleted {{name}}": "Excluído {{nome}}",
 	"Description": "Descrição",
 	"Didn't fully follow instructions": "Não seguiu instruções com precisão",
 	"Disabled": "Desativado",
-	"Discover a model": "",
+	"Discover a model": "Descubra um modelo",
 	"Discover a prompt": "Descobrir um prompt",
 	"Discover, download, and explore custom prompts": "Descubra, baixe e explore prompts personalizados",
 	"Discover, download, and explore model presets": "Descubra, baixe e explore predefinições de modelo",
@@ -174,27 +175,27 @@
 	"Embedding Model Engine": "Motor de Modelo de Embedding",
 	"Embedding model set to \"{{embedding_model}}\"": "Modelo de Embedding definido como \"{{embedding_model}}\"",
 	"Enable Chat History": "Ativar Histórico de Bate-papo",
-	"Enable Community Sharing": "",
+	"Enable Community Sharing": "Habilitar o compartilhamento da comunidade",
 	"Enable New Sign Ups": "Ativar Novas Inscrições",
-	"Enable Web Search": "",
+	"Enable Web Search": "Habilitar a Pesquisa na Web",
 	"Enabled": "Ativado",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Garanta que seu arquivo CSV inclua 4 colunas nesta ordem: Nome, E-mail, Senha, Função.",
 	"Enter {{role}} message here": "Digite a mensagem de {{role}} aqui",
 	"Enter a detail about yourself for your LLMs to recall": "Digite um detalhe sobre você para que seus LLMs possam lembrar",
-	"Enter Brave Search API Key": "",
+	"Enter Brave Search API Key": "Insira a chave da API do Brave Search",
 	"Enter Chunk Overlap": "Digite a Sobreposição de Fragmento",
 	"Enter Chunk Size": "Digite o Tamanho do Fragmento",
-	"Enter Github Raw URL": "",
-	"Enter Google PSE API Key": "",
-	"Enter Google PSE Engine Id": "",
+	"Enter Github Raw URL": "Insira a URL bruta do Github",
+	"Enter Google PSE API Key": "Insira a chave da API PSE do Google",
+	"Enter Google PSE Engine Id": "Digite o ID do mecanismo PSE do Google",
 	"Enter Image Size (e.g. 512x512)": "Digite o Tamanho da Imagem (por exemplo, 512x512)",
 	"Enter language codes": "Digite os códigos de idioma",
 	"Enter model tag (e.g. {{modelTag}})": "Digite a tag do modelo (por exemplo, {{modelTag}})",
 	"Enter Number of Steps (e.g. 50)": "Digite o Número de Etapas (por exemplo, 50)",
 	"Enter Score": "Digite a Pontuação",
-	"Enter Searxng Query URL": "",
-	"Enter Serper API Key": "",
-	"Enter Serpstack API Key": "",
+	"Enter Searxng Query URL": "Insira a URL de consulta do Searxng",
+	"Enter Serper API Key": "Digite a chave da API do Serper",
+	"Enter Serpstack API Key": "Digite a chave da API Serpstack",
 	"Enter stop sequence": "Digite a sequência de parada",
 	"Enter Top K": "Digite o Top K",
 	"Enter URL (e.g. http://127.0.0.1:7860/)": "Digite a URL (por exemplo, http://127.0.0.1:7860/)",
@@ -203,12 +204,14 @@
 	"Enter Your Full Name": "Digite seu Nome Completo",
 	"Enter Your Password": "Digite sua Senha",
 	"Enter Your Role": "Digite sua Função",
-	"Error": "",
+	"Error": "Erro",
 	"Experimental": "Experimental",
+	"Export": "Exportação",
 	"Export All Chats (All Users)": "Exportar Todos os Bate-papos (Todos os Usuários)",
+	"Export chat (.json)": "",
 	"Export Chats": "Exportar Bate-papos",
 	"Export Documents Mapping": "Exportar Mapeamento de Documentos",
-	"Export Models": "",
+	"Export Models": "Modelos de Exportação",
 	"Export Prompts": "Exportar Prompts",
 	"Failed to create API Key.": "Falha ao criar a Chave da API.",
 	"Failed to read clipboard contents": "Falha ao ler o conteúdo da área de transferência",
@@ -221,15 +224,15 @@
 	"Focus chat input": "Focar entrada de bate-papo",
 	"Followed instructions perfectly": "Seguiu instruções perfeitamente",
 	"Format your variables using square brackets like this:": "Formate suas variáveis usando colchetes como este:",
-	"Frequency Penalty": "",
+	"Frequency Penalty": "Penalidade de Frequência",
 	"Full Screen Mode": "Modo de Tela Cheia",
 	"General": "Geral",
 	"General Settings": "Configurações Gerais",
-	"Generating search query": "",
+	"Generating search query": "Gerando consulta de pesquisa",
 	"Generation Info": "Informações de Geração",
 	"Good Response": "Boa Resposta",
-	"Google PSE API Key": "",
-	"Google PSE Engine Id": "",
+	"Google PSE API Key": "Chave de API PSE do Google",
+	"Google PSE Engine Id": "ID do mecanismo PSE do Google",
 	"h:mm a": "h:mm a",
 	"has no conversations.": "não possui bate-papos.",
 	"Hello, {{name}}": "Olá, {{name}}",
@@ -243,18 +246,18 @@
 	"Images": "Imagens",
 	"Import Chats": "Importar Bate-papos",
 	"Import Documents Mapping": "Importar Mapeamento de Documentos",
-	"Import Models": "",
+	"Import Models": "Modelos de Importação",
 	"Import Prompts": "Importar Prompts",
 	"Include `--api` flag when running stable-diffusion-webui": "Inclua a flag `--api` ao executar stable-diffusion-webui",
-	"Info": "",
+	"Info": "Informação",
 	"Input commands": "Comandos de entrada",
-	"Install from Github URL": "",
+	"Install from Github URL": "Instalar a partir do URL do Github",
 	"Interface": "Interface",
 	"Invalid Tag": "Etiqueta Inválida",
 	"January": "Janeiro",
 	"join our Discord for help.": "junte-se ao nosso Discord para obter ajuda.",
 	"JSON": "JSON",
-	"JSON Preview": "",
+	"JSON Preview": "Visualização JSON",
 	"July": "Julho",
 	"June": "Junho",
 	"JWT Expiration": "Expiração JWT",
@@ -271,9 +274,9 @@
 	"Make sure to enclose them with": "Certifique-se de colocá-los entre",
 	"Manage Models": "Gerenciar Modelos",
 	"Manage Ollama Models": "Gerenciar Modelos Ollama",
-	"Manage Pipelines": "",
+	"Manage Pipelines": "Gerenciar pipelines",
 	"March": "Março",
-	"Max Tokens (num_predict)": "",
+	"Max Tokens (num_predict)": "Fichas máximas (num_predict)",
 	"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Máximo de 3 modelos podem ser baixados simultaneamente. Tente novamente mais tarde.",
 	"May": "Maio",
 	"Memories accessible by LLMs will be shown here.": "Memórias acessíveis por LLMs serão mostradas aqui.",
@@ -288,12 +291,12 @@
 	"Model '{{modelName}}' has been successfully downloaded.": "O modelo '{{modelName}}' foi baixado com sucesso.",
 	"Model '{{modelTag}}' is already in queue for downloading.": "O modelo '{{modelTag}}' já está na fila para download.",
 	"Model {{modelId}} not found": "Modelo {{modelId}} não encontrado",
-	"Model {{modelName}} is not vision capable": "",
-	"Model {{name}} is now {{status}}": "",
+	"Model {{modelName}} is not vision capable": "O modelo {{modelName}} não é capaz de visão",
+	"Model {{name}} is now {{status}}": "O modelo {{name}} agora é {{status}}",
 	"Model filesystem path detected. Model shortname is required for update, cannot continue.": "Otkrivena putanja datoteke modela. Skraćeno ime modela je potrebno za ažuriranje, ne može se nastaviti.",
-	"Model ID": "",
+	"Model ID": "ID do modelo",
 	"Model not selected": "Modelo não selecionado",
-	"Model Params": "",
+	"Model Params": "Params Modelo",
 	"Model Whitelisting": "Lista de Permissões de Modelo",
 	"Model(s) Whitelisted": "Modelo(s) na Lista de Permissões",
 	"Modelfile Content": "Conteúdo do Arquivo de Modelo",
@@ -301,23 +304,25 @@
 	"More": "Mais",
 	"Name": "Nome",
 	"Name Tag": "Nome da Tag",
-	"Name your model": "",
+	"Name your model": "Nomeie seu modelo",
 	"New Chat": "Novo Bate-papo",
 	"New Password": "Nova Senha",
 	"No results found": "Nenhum resultado encontrado",
-	"No search query generated": "",
+	"No search query generated": "Nenhuma consulta de pesquisa gerada",
 	"No source available": "Nenhuma fonte disponível",
-	"None": "",
+	"None": "Nenhum",
 	"Not factually correct": "Não é correto em termos factuais",
 	"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Nota: Se você definir uma pontuação mínima, a pesquisa só retornará documentos com uma pontuação maior ou igual à pontuação mínima.",
 	"Notifications": "Notificações da Área de Trabalho",
 	"November": "Novembro",
+	"num_thread (Ollama)": "num_thread (Ollama)",
 	"October": "Outubro",
 	"Off": "Desligado",
 	"Okay, Let's Go!": "Ok, Vamos Lá!",
 	"OLED Dark": "OLED Escuro",
 	"Ollama": "Ollama",
-	"Ollama API": "",
+	"Ollama API": "Ollama API",
+	"Ollama API disabled": "API Ollama desativada",
 	"Ollama Version": "Versão do Ollama",
 	"On": "Ligado",
 	"Only": "Somente",
@@ -342,8 +347,8 @@
 	"pending": "pendente",
 	"Permission denied when accessing microphone: {{error}}": "Permissão negada ao acessar o microfone: {{error}}",
 	"Personalization": "Personalização",
-	"Pipelines": "",
-	"Pipelines Valves": "",
+	"Pipelines": "Pipelines",
+	"Pipelines Valves": "Válvulas de Dutos",
 	"Plain text (.txt)": "Texto sem formatação (.txt)",
 	"Playground": "Parque infantil",
 	"Positive attitude": "Atitude Positiva",
@@ -388,33 +393,33 @@
 	"Scan for documents from {{path}}": "Digitalizar documentos de {{path}}",
 	"Search": "Pesquisar",
 	"Search a model": "Pesquisar um modelo",
-	"Search Chats": "",
+	"Search Chats": "Pesquisar bate-papos",
 	"Search Documents": "Pesquisar Documentos",
-	"Search Models": "",
+	"Search Models": "Modelos de Pesquisa",
 	"Search Prompts": "Pesquisar Prompts",
-	"Search Result Count": "",
-	"Searched {{count}} sites_one": "",
-	"Searched {{count}} sites_many": "",
-	"Searched {{count}} sites_other": "",
-	"Searching the web for '{{searchQuery}}'": "",
-	"Searxng Query URL": "",
+	"Search Result Count": "Contagem de resultados de pesquisa",
+	"Searched {{count}} sites_one": "Pesquisado {{count}} sites_one",
+	"Searched {{count}} sites_many": "Pesquisado {{count}} sites_many",
+	"Searched {{count}} sites_other": "Pesquisado {{count}} sites_other",
+	"Searching the web for '{{searchQuery}}'": "Pesquisando na Web por '{{searchQuery}}'",
+	"Searxng Query URL": "URL de consulta Searxng",
 	"See readme.md for instructions": "Consulte readme.md para obter instruções",
 	"See what's new": "Veja o que há de novo",
 	"Seed": "Semente",
-	"Select a base model": "",
+	"Select a base model": "Selecione um modelo base",
 	"Select a mode": "Selecione um modo",
 	"Select a model": "Selecione um modelo",
-	"Select a pipeline": "",
-	"Select a pipeline url": "",
+	"Select a pipeline": "Selecione um pipeline",
+	"Select a pipeline url": "Selecione uma URL de pipeline",
 	"Select an Ollama instance": "Selecione uma instância Ollama",
 	"Select model": "Selecione um modelo",
-	"Selected model(s) do not support image inputs": "",
+	"Selected model(s) do not support image inputs": "O(s) modelo(s) selecionado(s) não suporta(m) entrada(s) de imagem",
 	"Send": "Enviar",
 	"Send a Message": "Enviar uma Mensagem",
 	"Send message": "Enviar mensagem",
 	"September": "Setembro",
-	"Serper API Key": "",
-	"Serpstack API Key": "",
+	"Serper API Key": "Chave de API Serper",
+	"Serpstack API Key": "Chave de API Serpstack",
 	"Server connection verified": "Conexão com o servidor verificada",
 	"Set as default": "Definir como padrão",
 	"Set Default Model": "Definir Modelo Padrão",
@@ -423,7 +428,7 @@
 	"Set Model": "Definir Modelo",
 	"Set reranking model (e.g. {{model}})": "Definir modelo de reranking (ex.: {{model}})",
 	"Set Steps": "Definir Etapas",
-	"Set Task Model": "",
+	"Set Task Model": "Definir modelo de tarefa",
 	"Set Voice": "Definir Voz",
 	"Settings": "Configurações",
 	"Settings saved successfully!": "Configurações salvas com sucesso!",
@@ -482,19 +487,21 @@
 	"Top P": "Top P",
 	"Trouble accessing Ollama?": "Problemas para acessar o Ollama?",
 	"TTS Settings": "Configurações TTS",
-	"Type": "",
+	"Type": "Tipo",
 	"Type Hugging Face Resolve (Download) URL": "Digite a URL do Hugging Face Resolve (Download)",
 	"Uh-oh! There was an issue connecting to {{provider}}.": "Opa! Houve um problema ao conectar-se a {{provider}}.",
 	"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Tipo de arquivo desconhecido '{{file_type}}', mas aceitando e tratando como texto simples",
 	"Update and Copy Link": "Atualizar e Copiar Link",
 	"Update password": "Atualizar senha",
 	"Upload a GGUF model": "Carregar um modelo GGUF",
-	"Upload Files": "",
+	"Upload Files": "Carregar arquivos",
 	"Upload Progress": "Progresso do Carregamento",
 	"URL Mode": "Modo de URL",
 	"Use '#' in the prompt input to load and select your documents.": "Use '#' na entrada do prompt para carregar e selecionar seus documentos.",
 	"Use Gravatar": "Usar Gravatar",
 	"Use Initials": "Usar Iniciais",
+	"use_mlock (Ollama)": "use_mlock (Ollama)",
+	"use_mmap (Ollama)": "use_mmap (Ollama)",
 	"user": "usuário",
 	"User Permissions": "Permissões do Usuário",
 	"Users": "Usuários",
@@ -503,13 +510,13 @@
 	"variable": "variável",
 	"variable to have them replaced with clipboard content.": "variável para que sejam substituídos pelo conteúdo da área de transferência.",
 	"Version": "Versão",
-	"Warning": "",
+	"Warning": "Aviso",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Aviso: Se você atualizar ou alterar seu modelo de incorporação, você precisará reimportar todos os documentos.",
 	"Web": "Web",
 	"Web Loader Settings": "Configurações do Carregador da Web",
 	"Web Params": "Parâmetros da Web",
-	"Web Search": "",
-	"Web Search Engine": "",
+	"Web Search": "Pesquisa na Web",
+	"Web Search Engine": "Mecanismo de Busca na Web",
 	"Webhook URL": "URL do Webhook",
 	"WebUI Add-ons": "Complementos WebUI",
 	"WebUI Settings": "Configurações WebUI",
@@ -522,7 +529,7 @@
 	"Write a summary in 50 words that summarizes [topic or keyword].": "Escreva um resumo em 50 palavras que resuma [tópico ou palavra-chave].",
 	"Yesterday": "Ontem",
 	"You": "Você",
-	"You cannot clone a base model": "",
+	"You cannot clone a base model": "Não é possível clonar um modelo base",
 	"You have no archived conversations.": "Você não tem conversas arquivadas.",
 	"You have shared this chat": "Você compartilhou esta conversa",
 	"You're a helpful assistant.": "Você é um assistente útil.",

+ 78 - 71
src/lib/i18n/locales/pt-PT/translation.json

@@ -3,19 +3,19 @@
 	"(Beta)": "(Beta)",
 	"(e.g. `sh webui.sh --api`)": "(por exemplo, `sh webui.sh --api`)",
 	"(latest)": "(mais recente)",
-	"{{ models }}": "",
-	"{{ owner }}: You cannot delete a base model": "",
+	"{{ models }}": "{{ modelos }}",
+	"{{ owner }}: You cannot delete a base model": "{{ owner }}: Não é possível excluir um modelo base",
 	"{{modelName}} is thinking...": "{{modelName}} está pensando...",
 	"{{user}}'s Chats": "{{user}}'s Chats",
 	"{{webUIName}} Backend Required": "{{webUIName}} Backend Necessário",
-	"A task model is used when performing tasks such as generating titles for chats and web search queries": "",
+	"A task model is used when performing tasks such as generating titles for chats and web search queries": "Um modelo de tarefa é usado ao executar tarefas como gerar títulos para bate-papos e consultas de pesquisa na Web",
 	"a user": "um usuário",
 	"About": "Sobre",
 	"Account": "Conta",
 	"Accurate information": "Informações precisas",
 	"Add": "Adicionar",
-	"Add a model id": "",
-	"Add a short description about what this model does": "",
+	"Add a model id": "Adicionar um ID de modelo",
+	"Add a short description about what this model does": "Adicione uma breve descrição sobre o que este modelo faz",
 	"Add a short title for this prompt": "Adicione um título curto para este prompt",
 	"Add a tag": "Adicionar uma tag",
 	"Add custom prompt": "Adicionar um prompt curto",
@@ -31,12 +31,13 @@
 	"Admin Panel": "Painel do Administrador",
 	"Admin Settings": "Configurações do Administrador",
 	"Advanced Parameters": "Parâmetros Avançados",
-	"Advanced Params": "",
+	"Advanced Params": "Params Avançados",
 	"all": "todos",
 	"All Documents": "Todos os Documentos",
 	"All Users": "Todos os Usuários",
 	"Allow": "Permitir",
 	"Allow Chat Deletion": "Permitir Exclusão de Bate-papo",
+	"Allow non-local voices": "",
 	"alphanumeric characters and hyphens": "caracteres alfanuméricos e hífens",
 	"Already have an account?": "Já tem uma conta?",
 	"an assistant": "um assistente",
@@ -48,7 +49,7 @@
 	"API keys": "Chaves da API",
 	"April": "Abril",
 	"Archive": "Arquivo",
-	"Archive All Chats": "",
+	"Archive All Chats": "Arquivar todos os chats",
 	"Archived Chats": "Bate-papos arquivados",
 	"are allowed - Activate this command by typing": "são permitidos - Ative este comando digitando",
 	"Are you sure?": "Tem certeza?",
@@ -63,14 +64,14 @@
 	"available!": "disponível!",
 	"Back": "Voltar",
 	"Bad Response": "Resposta ruim",
-	"Banners": "",
-	"Base Model (From)": "",
+	"Banners": "Estandartes",
+	"Base Model (From)": "Modelo Base (De)",
 	"before": "antes",
 	"Being lazy": "Ser preguiçoso",
-	"Brave Search API Key": "",
+	"Brave Search API Key": "Chave da API de Pesquisa Admirável",
 	"Bypass SSL verification for Websites": "Ignorar verificação SSL para sites",
 	"Cancel": "Cancelar",
-	"Capabilities": "",
+	"Capabilities": "Capacidades",
 	"Change Password": "Alterar Senha",
 	"Chat": "Bate-papo",
 	"Chat Bubble UI": "UI de Bala de Bate-papo",
@@ -93,14 +94,14 @@
 	"Click here to select documents.": "Clique aqui para selecionar documentos.",
 	"click here.": "clique aqui.",
 	"Click on the user role button to change a user's role.": "Clique no botão de função do usuário para alterar a função de um usuário.",
-	"Clone": "",
+	"Clone": "Clone",
 	"Close": "Fechar",
 	"Collection": "Coleção",
 	"ComfyUI": "ComfyUI",
 	"ComfyUI Base URL": "URL Base do ComfyUI",
 	"ComfyUI Base URL is required.": "A URL Base do ComfyUI é obrigatória.",
 	"Command": "Comando",
-	"Concurrent Requests": "",
+	"Concurrent Requests": "Solicitações simultâneas",
 	"Confirm Password": "Confirmar Senha",
 	"Connections": "Conexões",
 	"Content": "Conteúdo",
@@ -114,7 +115,7 @@
 	"Copy Link": "Copiar link",
 	"Copying to clipboard was successful!": "Cópia para a área de transferência bem-sucedida!",
 	"Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "Crie uma frase concisa de 3 a 5 palavras como cabeçalho para a seguinte consulta, aderindo estritamente ao limite de 3 a 5 palavras e evitando o uso da palavra 'título':",
-	"Create a model": "",
+	"Create a model": "Criar um modelo",
 	"Create Account": "Criar Conta",
 	"Create new key": "Criar nova chave",
 	"Create new secret key": "Criar nova chave secreta",
@@ -123,7 +124,7 @@
 	"Current Model": "Modelo Atual",
 	"Current Password": "Senha Atual",
 	"Custom": "Personalizado",
-	"Customize models for a specific purpose": "",
+	"Customize models for a specific purpose": "Personalizar modelos para uma finalidade específica",
 	"Dark": "Escuro",
 	"Database": "Banco de dados",
 	"December": "Dezembro",
@@ -131,24 +132,24 @@
 	"Default (Automatic1111)": "Padrão (Automatic1111)",
 	"Default (SentenceTransformers)": "Padrão (SentenceTransformers)",
 	"Default (Web API)": "Padrão (API Web)",
-	"Default Model": "",
+	"Default Model": "Modelo padrão",
 	"Default model updated": "Modelo padrão atualizado",
 	"Default Prompt Suggestions": "Sugestões de Prompt Padrão",
 	"Default User Role": "Função de Usuário Padrão",
 	"delete": "excluir",
 	"Delete": "Excluir",
 	"Delete a model": "Excluir um modelo",
-	"Delete All Chats": "",
+	"Delete All Chats": "Excluir todos os chats",
 	"Delete chat": "Excluir bate-papo",
 	"Delete Chat": "Excluir Bate-papo",
 	"delete this link": "excluir este link",
 	"Delete User": "Excluir Usuário",
 	"Deleted {{deleteModelTag}}": "{{deleteModelTag}} excluído",
-	"Deleted {{name}}": "",
+	"Deleted {{name}}": "Suprimido {{name}}",
 	"Description": "Descrição",
 	"Didn't fully follow instructions": "Não seguiu instruções com precisão",
 	"Disabled": "Desativado",
-	"Discover a model": "",
+	"Discover a model": "Descubra um modelo",
 	"Discover a prompt": "Descobrir um prompt",
 	"Discover, download, and explore custom prompts": "Descubra, baixe e explore prompts personalizados",
 	"Discover, download, and explore model presets": "Descubra, baixe e explore predefinições de modelo",
@@ -174,27 +175,27 @@
 	"Embedding Model Engine": "Motor de Modelo de Embedding",
 	"Embedding model set to \"{{embedding_model}}\"": "Modelo de Embedding definido como \"{{embedding_model}}\"",
 	"Enable Chat History": "Ativar Histórico de Bate-papo",
-	"Enable Community Sharing": "",
+	"Enable Community Sharing": "Habilite o compartilhamento da comunidade",
 	"Enable New Sign Ups": "Ativar Novas Inscrições",
-	"Enable Web Search": "",
+	"Enable Web Search": "Ativar pesquisa na Web",
 	"Enabled": "Ativado",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Garanta que seu arquivo CSV inclua 4 colunas nesta ordem: Nome, E-mail, Senha, Função.",
 	"Enter {{role}} message here": "Digite a mensagem de {{role}} aqui",
 	"Enter a detail about yourself for your LLMs to recall": "Digite um detalhe sobre você para que seus LLMs possam lembrá-lo",
-	"Enter Brave Search API Key": "",
+	"Enter Brave Search API Key": "Insira a chave da API do Brave Search",
 	"Enter Chunk Overlap": "Digite a Sobreposição de Fragmento",
 	"Enter Chunk Size": "Digite o Tamanho do Fragmento",
-	"Enter Github Raw URL": "",
-	"Enter Google PSE API Key": "",
-	"Enter Google PSE Engine Id": "",
+	"Enter Github Raw URL": "Insira o URL bruto do Github",
+	"Enter Google PSE API Key": "Insira a chave da API PSE do Google",
+	"Enter Google PSE Engine Id": "Insira o ID do mecanismo PSE do Google",
 	"Enter Image Size (e.g. 512x512)": "Digite o Tamanho da Imagem (por exemplo, 512x512)",
 	"Enter language codes": "Digite os códigos de idioma",
 	"Enter model tag (e.g. {{modelTag}})": "Digite a tag do modelo (por exemplo, {{modelTag}})",
 	"Enter Number of Steps (e.g. 50)": "Digite o Número de Etapas (por exemplo, 50)",
 	"Enter Score": "Digite a Pontuação",
-	"Enter Searxng Query URL": "",
-	"Enter Serper API Key": "",
-	"Enter Serpstack API Key": "",
+	"Enter Searxng Query URL": "Insira o URL da Consulta Searxng",
+	"Enter Serper API Key": "Insira a chave da API Serper",
+	"Enter Serpstack API Key": "Insira a chave da API Serpstack",
 	"Enter stop sequence": "Digite a sequência de parada",
 	"Enter Top K": "Digite o Top K",
 	"Enter URL (e.g. http://127.0.0.1:7860/)": "Digite a URL (por exemplo, http://127.0.0.1:7860/)",
@@ -203,12 +204,14 @@
 	"Enter Your Full Name": "Digite seu Nome Completo",
 	"Enter Your Password": "Digite sua Senha",
 	"Enter Your Role": "Digite sua Função",
-	"Error": "",
+	"Error": "Erro",
 	"Experimental": "Experimental",
+	"Export": "Exportação",
 	"Export All Chats (All Users)": "Exportar Todos os Bate-papos (Todos os Usuários)",
+	"Export chat (.json)": "",
 	"Export Chats": "Exportar Bate-papos",
 	"Export Documents Mapping": "Exportar Mapeamento de Documentos",
-	"Export Models": "",
+	"Export Models": "Modelos de Exportação",
 	"Export Prompts": "Exportar Prompts",
 	"Failed to create API Key.": "Falha ao criar a Chave da API.",
 	"Failed to read clipboard contents": "Falha ao ler o conteúdo da área de transferência",
@@ -221,15 +224,15 @@
 	"Focus chat input": "Focar entrada de bate-papo",
 	"Followed instructions perfectly": "Seguiu instruções perfeitamente",
 	"Format your variables using square brackets like this:": "Formate suas variáveis usando colchetes como este:",
-	"Frequency Penalty": "",
+	"Frequency Penalty": "Penalidade de Frequência",
 	"Full Screen Mode": "Modo de Tela Cheia",
 	"General": "Geral",
 	"General Settings": "Configurações Gerais",
-	"Generating search query": "",
+	"Generating search query": "Gerar consulta de pesquisa",
 	"Generation Info": "Informações de Geração",
 	"Good Response": "Boa Resposta",
-	"Google PSE API Key": "",
-	"Google PSE Engine Id": "",
+	"Google PSE API Key": "Chave da API PSE do Google",
+	"Google PSE Engine Id": "ID do mecanismo PSE do Google",
 	"h:mm a": "h:mm a",
 	"has no conversations.": "não possui bate-papos.",
 	"Hello, {{name}}": "Olá, {{name}}",
@@ -243,18 +246,18 @@
 	"Images": "Imagens",
 	"Import Chats": "Importar Bate-papos",
 	"Import Documents Mapping": "Importar Mapeamento de Documentos",
-	"Import Models": "",
+	"Import Models": "Importar Modelos",
 	"Import Prompts": "Importar Prompts",
 	"Include `--api` flag when running stable-diffusion-webui": "Inclua a flag `--api` ao executar stable-diffusion-webui",
-	"Info": "",
+	"Info": "Informação",
 	"Input commands": "Comandos de entrada",
-	"Install from Github URL": "",
+	"Install from Github URL": "Instalar a partir do URL do Github",
 	"Interface": "Interface",
 	"Invalid Tag": "Etiqueta Inválida",
 	"January": "Janeiro",
 	"join our Discord for help.": "junte-se ao nosso Discord para obter ajuda.",
 	"JSON": "JSON",
-	"JSON Preview": "",
+	"JSON Preview": "Pré-visualização JSON",
 	"July": "Julho",
 	"June": "Junho",
 	"JWT Expiration": "Expiração JWT",
@@ -271,9 +274,9 @@
 	"Make sure to enclose them with": "Certifique-se de colocá-los entre",
 	"Manage Models": "Gerenciar Modelos",
 	"Manage Ollama Models": "Gerenciar Modelos Ollama",
-	"Manage Pipelines": "",
+	"Manage Pipelines": "Gerenciar pipelines",
 	"March": "Março",
-	"Max Tokens (num_predict)": "",
+	"Max Tokens (num_predict)": "Max Tokens (num_predict)",
 	"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Máximo de 3 modelos podem ser baixados simultaneamente. Tente novamente mais tarde.",
 	"May": "Maio",
 	"Memories accessible by LLMs will be shown here.": "Memórias acessíveis por LLMs serão mostradas aqui.",
@@ -288,12 +291,12 @@
 	"Model '{{modelName}}' has been successfully downloaded.": "O modelo '{{modelName}}' foi baixado com sucesso.",
 	"Model '{{modelTag}}' is already in queue for downloading.": "O modelo '{{modelTag}}' já está na fila para download.",
 	"Model {{modelId}} not found": "Modelo {{modelId}} não encontrado",
-	"Model {{modelName}} is not vision capable": "",
-	"Model {{name}} is now {{status}}": "",
+	"Model {{modelName}} is not vision capable": "O modelo {{modelName}} não é capaz de visão",
+	"Model {{name}} is now {{status}}": "Modelo {{name}} agora é {{status}}",
 	"Model filesystem path detected. Model shortname is required for update, cannot continue.": "Caminho do sistema de arquivos do modelo detectado. É necessário o nome curto do modelo para atualização, não é possível continuar.",
-	"Model ID": "",
+	"Model ID": "ID do modelo",
 	"Model not selected": "Modelo não selecionado",
-	"Model Params": "",
+	"Model Params": "Params Modelo",
 	"Model Whitelisting": "Lista de Permissões de Modelo",
 	"Model(s) Whitelisted": "Modelo(s) na Lista de Permissões",
 	"Modelfile Content": "Conteúdo do Arquivo de Modelo",
@@ -301,23 +304,25 @@
 	"More": "Mais",
 	"Name": "Nome",
 	"Name Tag": "Tag de Nome",
-	"Name your model": "",
+	"Name your model": "Atribua um nome ao seu modelo",
 	"New Chat": "Novo Bate-papo",
 	"New Password": "Nova Senha",
 	"No results found": "Nenhum resultado encontrado",
-	"No search query generated": "",
+	"No search query generated": "Nenhuma consulta de pesquisa gerada",
 	"No source available": "Nenhuma fonte disponível",
-	"None": "",
+	"None": "Nenhum",
 	"Not factually correct": "Não é correto em termos factuais",
 	"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Nota: Se você definir uma pontuação mínima, a pesquisa só retornará documentos com uma pontuação maior ou igual à pontuação mínima.",
 	"Notifications": "Notificações da Área de Trabalho",
 	"November": "Novembro",
+	"num_thread (Ollama)": "num_thread (Ollama)",
 	"October": "Outubro",
 	"Off": "Desligado",
 	"Okay, Let's Go!": "Ok, Vamos Lá!",
 	"OLED Dark": "OLED Escuro",
 	"Ollama": "Ollama",
-	"Ollama API": "",
+	"Ollama API": "Ollama API",
+	"Ollama API disabled": "API do Ollama desativada",
 	"Ollama Version": "Versão do Ollama",
 	"On": "Ligado",
 	"Only": "Somente",
@@ -342,8 +347,8 @@
 	"pending": "pendente",
 	"Permission denied when accessing microphone: {{error}}": "Permissão negada ao acessar o microfone: {{error}}",
 	"Personalization": "Personalização",
-	"Pipelines": "",
-	"Pipelines Valves": "",
+	"Pipelines": "Condutas",
+	"Pipelines Valves": "Válvulas de Condutas",
 	"Plain text (.txt)": "Texto sem formatação (.txt)",
 	"Playground": "Parque infantil",
 	"Positive attitude": "Atitude Positiva",
@@ -388,33 +393,33 @@
 	"Scan for documents from {{path}}": "Digitalizar documentos de {{path}}",
 	"Search": "Pesquisar",
 	"Search a model": "Pesquisar um modelo",
-	"Search Chats": "",
+	"Search Chats": "Pesquisar Chats",
 	"Search Documents": "Pesquisar Documentos",
-	"Search Models": "",
+	"Search Models": "Modelos de pesquisa",
 	"Search Prompts": "Pesquisar Prompts",
-	"Search Result Count": "",
-	"Searched {{count}} sites_one": "",
-	"Searched {{count}} sites_many": "",
-	"Searched {{count}} sites_other": "",
-	"Searching the web for '{{searchQuery}}'": "",
-	"Searxng Query URL": "",
+	"Search Result Count": "Contagem de resultados da pesquisa",
+	"Searched {{count}} sites_one": "Pesquisado {{count}} sites_one",
+	"Searched {{count}} sites_many": "Pesquisado {{count}} sites_many",
+	"Searched {{count}} sites_other": "Pesquisado {{count}} sites_other",
+	"Searching the web for '{{searchQuery}}'": "Pesquisando na Web por '{{searchQuery}}'",
+	"Searxng Query URL": "URL de consulta Searxng",
 	"See readme.md for instructions": "Consulte readme.md para obter instruções",
 	"See what's new": "Veja o que há de novo",
 	"Seed": "Semente",
-	"Select a base model": "",
+	"Select a base model": "Selecione um modelo base",
 	"Select a mode": "Selecione um modo",
 	"Select a model": "Selecione um modelo",
-	"Select a pipeline": "",
-	"Select a pipeline url": "",
+	"Select a pipeline": "Selecione um pipeline",
+	"Select a pipeline url": "Selecione um URL de pipeline",
 	"Select an Ollama instance": "Selecione uma instância Ollama",
 	"Select model": "Selecione um modelo",
-	"Selected model(s) do not support image inputs": "",
+	"Selected model(s) do not support image inputs": "O(s) modelo(s) selecionado(s) não suporta(m) entradas de imagem",
 	"Send": "Enviar",
 	"Send a Message": "Enviar uma Mensagem",
 	"Send message": "Enviar mensagem",
 	"September": "Setembro",
-	"Serper API Key": "",
-	"Serpstack API Key": "",
+	"Serper API Key": "Chave API Serper",
+	"Serpstack API Key": "Chave da API Serpstack",
 	"Server connection verified": "Conexão com o servidor verificada",
 	"Set as default": "Definir como padrão",
 	"Set Default Model": "Definir Modelo Padrão",
@@ -423,7 +428,7 @@
 	"Set Model": "Definir Modelo",
 	"Set reranking model (e.g. {{model}})": "Definir modelo de reranking (ex.: {{model}})",
 	"Set Steps": "Definir Etapas",
-	"Set Task Model": "",
+	"Set Task Model": "Definir modelo de tarefa",
 	"Set Voice": "Definir Voz",
 	"Settings": "Configurações",
 	"Settings saved successfully!": "Configurações salvas com sucesso!",
@@ -482,19 +487,21 @@
 	"Top P": "Top P",
 	"Trouble accessing Ollama?": "Problemas para acessar o Ollama?",
 	"TTS Settings": "Configurações TTS",
-	"Type": "",
+	"Type": "Tipo",
 	"Type Hugging Face Resolve (Download) URL": "Digite a URL do Hugging Face Resolve (Download)",
 	"Uh-oh! There was an issue connecting to {{provider}}.": "Opa! Houve um problema ao conectar-se a {{provider}}.",
 	"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Tipo de arquivo desconhecido '{{file_type}}', mas aceitando e tratando como texto simples",
 	"Update and Copy Link": "Atualizar e Copiar Link",
 	"Update password": "Atualizar senha",
 	"Upload a GGUF model": "Carregar um modelo GGUF",
-	"Upload Files": "",
+	"Upload Files": "Carregar ficheiros",
 	"Upload Progress": "Progresso do Carregamento",
 	"URL Mode": "Modo de URL",
 	"Use '#' in the prompt input to load and select your documents.": "Use '#' na entrada do prompt para carregar e selecionar seus documentos.",
 	"Use Gravatar": "Usar Gravatar",
 	"Use Initials": "Usar Iniciais",
+	"use_mlock (Ollama)": "use_mlock (Ollama)",
+	"use_mmap (Ollama)": "use_mmap (Ollama)",
 	"user": "usuário",
 	"User Permissions": "Permissões do Usuário",
 	"Users": "Usuários",
@@ -503,13 +510,13 @@
 	"variable": "variável",
 	"variable to have them replaced with clipboard content.": "variável para que sejam substituídos pelo conteúdo da área de transferência.",
 	"Version": "Versão",
-	"Warning": "",
+	"Warning": "Advertência",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Aviso: Se você atualizar ou alterar seu modelo de vetorização, você precisará reimportar todos os documentos.",
 	"Web": "Web",
 	"Web Loader Settings": "Configurações do Carregador da Web",
 	"Web Params": "Parâmetros da Web",
-	"Web Search": "",
-	"Web Search Engine": "",
+	"Web Search": "Pesquisa na Web",
+	"Web Search Engine": "Motor de Pesquisa Web",
 	"Webhook URL": "URL do Webhook",
 	"WebUI Add-ons": "Complementos WebUI",
 	"WebUI Settings": "Configurações WebUI",
@@ -522,7 +529,7 @@
 	"Write a summary in 50 words that summarizes [topic or keyword].": "Escreva um resumo em 50 palavras que resuma [tópico ou palavra-chave].",
 	"Yesterday": "Ontem",
 	"You": "Você",
-	"You cannot clone a base model": "",
+	"You cannot clone a base model": "Não é possível clonar um modelo base",
 	"You have no archived conversations.": "Você não tem bate-papos arquivados.",
 	"You have shared this chat": "Você compartilhou este bate-papo",
 	"You're a helpful assistant.": "Você é um assistente útil.",

+ 81 - 74
src/lib/i18n/locales/ru-RU/translation.json

@@ -3,19 +3,19 @@
 	"(Beta)": "(бета)",
 	"(e.g. `sh webui.sh --api`)": "(например: `sh webui.sh --api`)",
 	"(latest)": "(последний)",
-	"{{ models }}": "",
-	"{{ owner }}: You cannot delete a base model": "",
+	"{{ models }}": "{{ модели }}",
+	"{{ owner }}: You cannot delete a base model": "{{ owner }}: Вы не можете удалить базовую модель",
 	"{{modelName}} is thinking...": "{{modelName}} думает...",
 	"{{user}}'s Chats": "{{user}} чаты",
 	"{{webUIName}} Backend Required": "{{webUIName}} бэкенд требуемый",
-	"A task model is used when performing tasks such as generating titles for chats and web search queries": "",
+	"A task model is used when performing tasks such as generating titles for chats and web search queries": "Модель задач используется при выполнении таких задач, как генерация заголовков для чатов и поисковых запросов в Интернете",
 	"a user": "пользователь",
 	"About": "Об",
 	"Account": "Аккаунт",
 	"Accurate information": "Точная информация",
 	"Add": "Добавить",
-	"Add a model id": "",
-	"Add a short description about what this model does": "",
+	"Add a model id": "Добавление идентификатора модели",
+	"Add a short description about what this model does": "Добавьте краткое описание того, что делает эта модель",
 	"Add a short title for this prompt": "Добавьте краткий заголовок для этого ввода",
 	"Add a tag": "Добавьте тэг",
 	"Add custom prompt": "Добавьте пользовательский ввод",
@@ -31,12 +31,13 @@
 	"Admin Panel": "Панель админ",
 	"Admin Settings": "Настройки админ",
 	"Advanced Parameters": "Расширенные Параметры",
-	"Advanced Params": "",
+	"Advanced Params": "Расширенные параметры",
 	"all": "всё",
 	"All Documents": "Все документы",
 	"All Users": "Все пользователи",
 	"Allow": "Разрешить",
 	"Allow Chat Deletion": "Дозволять удаление чат",
+	"Allow non-local voices": "",
 	"alphanumeric characters and hyphens": "буквенно цифровые символы и дефисы",
 	"Already have an account?": "у вас уже есть аккаунт?",
 	"an assistant": "ассистент",
@@ -48,7 +49,7 @@
 	"API keys": "Ключи API",
 	"April": "Апрель",
 	"Archive": "Архив",
-	"Archive All Chats": "",
+	"Archive All Chats": "Архивировать все чаты",
 	"Archived Chats": "запис на чат",
 	"are allowed - Activate this command by typing": "разрешено - активируйте эту команду вводом",
 	"Are you sure?": "Вы уверены?",
@@ -63,14 +64,14 @@
 	"available!": "доступный!",
 	"Back": "Назад",
 	"Bad Response": "Недопустимый ответ",
-	"Banners": "",
-	"Base Model (From)": "",
+	"Banners": "Баннеры",
+	"Base Model (From)": "Базовая модель (от)",
 	"before": "до",
 	"Being lazy": "ленивый",
-	"Brave Search API Key": "",
-	"Bypass SSL verification for Websites": "",
+	"Brave Search API Key": "Ключ API поиска Brave",
+	"Bypass SSL verification for Websites": "Обход SSL-проверки для веб-сайтов",
 	"Cancel": "Аннулировать",
-	"Capabilities": "",
+	"Capabilities": "Возможности",
 	"Change Password": "Изменить пароль",
 	"Chat": "Чат",
 	"Chat Bubble UI": "Bubble UI чат",
@@ -93,14 +94,14 @@
 	"Click here to select documents.": "Нажмите здесь чтобы выберите документы.",
 	"click here.": "нажмите здесь.",
 	"Click on the user role button to change a user's role.": "Нажмите кнопку роли пользователя чтобы изменить роль пользователя.",
-	"Clone": "",
+	"Clone": "Клон",
 	"Close": "Закрывать",
 	"Collection": "Коллекция",
 	"ComfyUI": "ComfyUI",
 	"ComfyUI Base URL": "Базовый адрес URL ComfyUI",
 	"ComfyUI Base URL is required.": "ComfyUI Необходима базовый адрес URL.",
 	"Command": "Команда",
-	"Concurrent Requests": "",
+	"Concurrent Requests": "Одновременные запросы",
 	"Confirm Password": "Подтвердите пароль",
 	"Connections": "Соединение",
 	"Content": "Содержание",
@@ -113,8 +114,8 @@
 	"Copy last response": "Копировать последний ответ",
 	"Copy Link": "Копировать ссылку",
 	"Copying to clipboard was successful!": "Копирование в буфер обмена прошло успешно!",
-	"Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "",
-	"Create a model": "",
+	"Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "Создайте краткую фразу из 3-5 слов в качестве заголовка для следующего запроса, строго придерживаясь ограничения в 3-5 слов и избегая использования слова 'title':",
+	"Create a model": "Создание модели",
 	"Create Account": "Создать аккаунт",
 	"Create new key": "Создать новый ключ",
 	"Create new secret key": "Создать новый секретный ключ",
@@ -123,7 +124,7 @@
 	"Current Model": "Текущая модель",
 	"Current Password": "Текущий пароль",
 	"Custom": "Пользовательский",
-	"Customize models for a specific purpose": "",
+	"Customize models for a specific purpose": "Настройка моделей для конкретных целей",
 	"Dark": "Тёмный",
 	"Database": "База данных",
 	"December": "Декабрь",
@@ -131,24 +132,24 @@
 	"Default (Automatic1111)": "По умолчанию (Automatic1111)",
 	"Default (SentenceTransformers)": "По умолчанию (SentenceTransformers)",
 	"Default (Web API)": "По умолчанию (Web API)",
-	"Default Model": "",
+	"Default Model": "Модель по умолчанию",
 	"Default model updated": "Модель по умолчанию обновлена",
 	"Default Prompt Suggestions": "Предложения промтов по умолчанию",
 	"Default User Role": "Роль пользователя по умолчанию",
 	"delete": "удалить",
 	"Delete": "Удалить",
 	"Delete a model": "Удалить модель",
-	"Delete All Chats": "",
+	"Delete All Chats": "Удалить все чаты",
 	"Delete chat": "Удалить чат",
 	"Delete Chat": "Удалить чат",
 	"delete this link": "удалить эту ссылку",
 	"Delete User": "Удалить пользователя",
 	"Deleted {{deleteModelTag}}": "Удалено {{deleteModelTag}}",
-	"Deleted {{name}}": "",
+	"Deleted {{name}}": "Удалено {{name}}",
 	"Description": "Описание",
 	"Didn't fully follow instructions": "Не полностью следул инструкциям",
 	"Disabled": "Отключено",
-	"Discover a model": "",
+	"Discover a model": "Откройте для себя модель",
 	"Discover a prompt": "Найти промт",
 	"Discover, download, and explore custom prompts": "Находите, загружайте и исследуйте настраиваемые промты",
 	"Discover, download, and explore model presets": "Находите, загружайте и исследуйте предустановки модели",
@@ -174,27 +175,27 @@
 	"Embedding Model Engine": "Модель эмбеддинга",
 	"Embedding model set to \"{{embedding_model}}\"": "Эмбеддинг-модель установлена в \"{{embedding_model}}\"",
 	"Enable Chat History": "Включить историю чата",
-	"Enable Community Sharing": "",
+	"Enable Community Sharing": "Включить общий доступ к сообществу",
 	"Enable New Sign Ups": "Разрешить новые регистрации",
-	"Enable Web Search": "",
+	"Enable Web Search": "Включить поиск в Интернете",
 	"Enabled": "Включено",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Убедитесь, что ваш CSV-файл включает в себя 4 столбца в следующем порядке: Имя, Электронная почта, Пароль, Роль.",
 	"Enter {{role}} message here": "Введите сообщение {{role}} здесь",
 	"Enter a detail about yourself for your LLMs to recall": "Введите детали о себе, чтобы LLMs могли запомнить",
-	"Enter Brave Search API Key": "",
+	"Enter Brave Search API Key": "Введите ключ API поиска Brave",
 	"Enter Chunk Overlap": "Введите перекрытие фрагмента",
 	"Enter Chunk Size": "Введите размер фрагмента",
-	"Enter Github Raw URL": "",
-	"Enter Google PSE API Key": "",
-	"Enter Google PSE Engine Id": "",
+	"Enter Github Raw URL": "Введите необработанный URL-адрес Github",
+	"Enter Google PSE API Key": "Введите ключ API Google PSE",
+	"Enter Google PSE Engine Id": "Введите идентификатор движка Google PSE",
 	"Enter Image Size (e.g. 512x512)": "Введите размер изображения (например, 512x512)",
 	"Enter language codes": "Введите коды языков",
 	"Enter model tag (e.g. {{modelTag}})": "Введите тег модели (например, {{modelTag}})",
 	"Enter Number of Steps (e.g. 50)": "Введите количество шагов (например, 50)",
 	"Enter Score": "Введите оценку",
-	"Enter Searxng Query URL": "",
-	"Enter Serper API Key": "",
-	"Enter Serpstack API Key": "",
+	"Enter Searxng Query URL": "Введите URL-адрес запроса Searxng",
+	"Enter Serper API Key": "Введите ключ API Serper",
+	"Enter Serpstack API Key": "Введите ключ API Serpstack",
 	"Enter stop sequence": "Введите последовательность остановки",
 	"Enter Top K": "Введите Top K",
 	"Enter URL (e.g. http://127.0.0.1:7860/)": "Введите URL-адрес (например, http://127.0.0.1:7860/)",
@@ -203,12 +204,14 @@
 	"Enter Your Full Name": "Введите ваше полное имя",
 	"Enter Your Password": "Введите ваш пароль",
 	"Enter Your Role": "Введите вашу роль",
-	"Error": "",
+	"Error": "Ошибка",
 	"Experimental": "Экспериментальное",
+	"Export": "Экспорт",
 	"Export All Chats (All Users)": "Экспортировать все чаты (все пользователи)",
+	"Export chat (.json)": "",
 	"Export Chats": "Экспортировать чаты",
 	"Export Documents Mapping": "Экспортировать отображение документов",
-	"Export Models": "",
+	"Export Models": "Экспорт моделей",
 	"Export Prompts": "Экспортировать промты",
 	"Failed to create API Key.": "Не удалось создать ключ API.",
 	"Failed to read clipboard contents": "Не удалось прочитать содержимое буфера обмена",
@@ -221,15 +224,15 @@
 	"Focus chat input": "Фокус ввода чата",
 	"Followed instructions perfectly": "Учитывая инструкции идеально",
 	"Format your variables using square brackets like this:": "Форматируйте ваши переменные, используя квадратные скобки, как здесь:",
-	"Frequency Penalty": "",
+	"Frequency Penalty": "Штраф за частоту",
 	"Full Screen Mode": "Полноэкранный режим",
 	"General": "Общее",
 	"General Settings": "Общие настройки",
-	"Generating search query": "",
+	"Generating search query": "Генерация поискового запроса",
 	"Generation Info": "Информация о генерации",
 	"Good Response": "Хороший ответ",
-	"Google PSE API Key": "",
-	"Google PSE Engine Id": "",
+	"Google PSE API Key": "Ключ API Google PSE",
+	"Google PSE Engine Id": "Идентификатор движка Google PSE",
 	"h:mm a": "h:mm a",
 	"has no conversations.": "не имеет разговоров.",
 	"Hello, {{name}}": "Привет, {{name}}",
@@ -243,18 +246,18 @@
 	"Images": "Изображения",
 	"Import Chats": "Импорт чатов",
 	"Import Documents Mapping": "Импорт сопоставления документов",
-	"Import Models": "",
+	"Import Models": "Импорт моделей",
 	"Import Prompts": "Импорт подсказок",
 	"Include `--api` flag when running stable-diffusion-webui": "Добавьте флаг `--api` при запуске stable-diffusion-webui",
-	"Info": "",
+	"Info": "Информация",
 	"Input commands": "Введите команды",
-	"Install from Github URL": "",
+	"Install from Github URL": "Установка с URL-адреса Github",
 	"Interface": "Интерфейс",
 	"Invalid Tag": "Недопустимый тег",
 	"January": "Январь",
 	"join our Discord for help.": "присоединяйтесь к нашему Discord для помощи.",
 	"JSON": "JSON",
-	"JSON Preview": "",
+	"JSON Preview": "Предварительный просмотр JSON",
 	"July": "Июль",
 	"June": "Июнь",
 	"JWT Expiration": "Истечение срока JWT",
@@ -271,9 +274,9 @@
 	"Make sure to enclose them with": "Убедитесь, что они заключены в",
 	"Manage Models": "Управление моделями",
 	"Manage Ollama Models": "Управление моделями Ollama",
-	"Manage Pipelines": "",
+	"Manage Pipelines": "Управление конвейерами",
 	"March": "Март",
-	"Max Tokens (num_predict)": "",
+	"Max Tokens (num_predict)": "Максимальное количество жетонов (num_predict)",
 	"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Максимальное количество моделей для загрузки одновременно - 3. Пожалуйста, попробуйте позже.",
 	"May": "Май",
 	"Memories accessible by LLMs will be shown here.": "Мемории, доступные LLMs, будут отображаться здесь.",
@@ -288,12 +291,12 @@
 	"Model '{{modelName}}' has been successfully downloaded.": "Модель '{{modelName}}' успешно загружена.",
 	"Model '{{modelTag}}' is already in queue for downloading.": "Модель '{{modelTag}}' уже находится в очереди на загрузку.",
 	"Model {{modelId}} not found": "Модель {{modelId}} не найдена",
-	"Model {{modelName}} is not vision capable": "",
-	"Model {{name}} is now {{status}}": "",
+	"Model {{modelName}} is not vision capable": "Модель {{modelName}} не поддерживает зрение",
+	"Model {{name}} is now {{status}}": "Модель {{name}} теперь {{status}}",
 	"Model filesystem path detected. Model shortname is required for update, cannot continue.": "Модель файловой системы обнаружена. Требуется имя тега модели для обновления, не удается продолжить.",
-	"Model ID": "",
+	"Model ID": "Идентификатор модели",
 	"Model not selected": "Модель не выбрана",
-	"Model Params": "",
+	"Model Params": "Параметры модели",
 	"Model Whitelisting": "Включение модели в белый список",
 	"Model(s) Whitelisted": "Модель(и) включены в белый список",
 	"Modelfile Content": "Содержимое файла модели",
@@ -301,23 +304,25 @@
 	"More": "Более",
 	"Name": "Имя",
 	"Name Tag": "Имя тега",
-	"Name your model": "",
+	"Name your model": "Присвойте модели имя",
 	"New Chat": "Новый чат",
 	"New Password": "Новый пароль",
 	"No results found": "Результатов не найдено",
-	"No search query generated": "",
+	"No search query generated": "Поисковый запрос не сгенерирован",
 	"No source available": "Нет доступных источников",
-	"None": "",
+	"None": "Никакой",
 	"Not factually correct": "Не фактически правильно",
 	"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Обратите внимание: Если вы установите минимальный балл, поиск будет возвращать только документы с баллом больше или равным минимальному баллу.",
 	"Notifications": "Уведомления на рабочем столе",
 	"November": "Ноябрь",
+	"num_thread (Ollama)": "num_thread (Оллама)",
 	"October": "Октябрь",
 	"Off": "Выключено.",
 	"Okay, Let's Go!": "Давайте начнём!",
 	"OLED Dark": "OLED темная",
 	"Ollama": "Ollama",
-	"Ollama API": "",
+	"Ollama API": "Ollama API",
+	"Ollama API disabled": "Ollama API отключен",
 	"Ollama Version": "Версия Ollama",
 	"On": "Включено.",
 	"Only": "Только",
@@ -342,8 +347,8 @@
 	"pending": "ожидание",
 	"Permission denied when accessing microphone: {{error}}": "Отказано в доступе к микрофону: {{error}}",
 	"Personalization": "Персонализация",
-	"Pipelines": "",
-	"Pipelines Valves": "",
+	"Pipelines": "Трубопроводов",
+	"Pipelines Valves": "Трубопроводы Клапаны",
 	"Plain text (.txt)": "Текст в формате .txt",
 	"Playground": "Площадка",
 	"Positive attitude": "Позитивная атмосфера",
@@ -388,34 +393,34 @@
 	"Scan for documents from {{path}}": "Сканирование документов из {{path}}",
 	"Search": "Поиск",
 	"Search a model": "Поиск модели",
-	"Search Chats": "",
+	"Search Chats": "Поиск в чатах",
 	"Search Documents": "Поиск документов",
-	"Search Models": "",
+	"Search Models": "Поиск моделей",
 	"Search Prompts": "Поиск промтов",
-	"Search Result Count": "",
-	"Searched {{count}} sites_one": "",
-	"Searched {{count}} sites_few": "",
-	"Searched {{count}} sites_many": "",
-	"Searched {{count}} sites_other": "",
-	"Searching the web for '{{searchQuery}}'": "",
-	"Searxng Query URL": "",
+	"Search Result Count": "Количество результатов поиска",
+	"Searched {{count}} sites_one": "Поиск {{count}} sites_one",
+	"Searched {{count}} sites_few": "Поиск {{count}} sites_few",
+	"Searched {{count}} sites_many": "Поиск {{count}} sites_many",
+	"Searched {{count}} sites_other": "Поиск {{count}} sites_other",
+	"Searching the web for '{{searchQuery}}'": "Поиск в Интернете по запросу '{{searchQuery}}'",
+	"Searxng Query URL": "URL-адрес запроса Searxng",
 	"See readme.md for instructions": "Смотрите readme.md для инструкций",
 	"See what's new": "Посмотреть, что нового",
 	"Seed": "Сид",
-	"Select a base model": "",
+	"Select a base model": "Выбор базовой модели",
 	"Select a mode": "Выберите режим",
 	"Select a model": "Выберите модель",
-	"Select a pipeline": "",
-	"Select a pipeline url": "",
+	"Select a pipeline": "Выбор конвейера",
+	"Select a pipeline url": "Выберите URL-адрес конвейера",
 	"Select an Ollama instance": "Выберите экземпляр Ollama",
 	"Select model": "Выберите модель",
-	"Selected model(s) do not support image inputs": "",
+	"Selected model(s) do not support image inputs": "Выбранные модели не поддерживают ввод изображений",
 	"Send": "Отправить",
 	"Send a Message": "Отправить сообщение",
 	"Send message": "Отправить сообщение",
 	"September": "Сентябрь",
-	"Serper API Key": "",
-	"Serpstack API Key": "",
+	"Serper API Key": "Ключ API Serper",
+	"Serpstack API Key": "Ключ API Serpstack",
 	"Server connection verified": "Соединение с сервером проверено",
 	"Set as default": "Установить по умолчанию",
 	"Set Default Model": "Установить модель по умолчанию",
@@ -424,7 +429,7 @@
 	"Set Model": "Установить модель",
 	"Set reranking model (e.g. {{model}})": "Установить модель реранжирования (например. {{model}})",
 	"Set Steps": "Установить шаги",
-	"Set Task Model": "",
+	"Set Task Model": "Задать модель задачи",
 	"Set Voice": "Установить голос",
 	"Settings": "Настройки",
 	"Settings saved successfully!": "Настройки успешно сохранены!",
@@ -483,19 +488,21 @@
 	"Top P": "Top P",
 	"Trouble accessing Ollama?": "Проблемы с доступом к Ollama?",
 	"TTS Settings": "Настройки TTS",
-	"Type": "",
+	"Type": "Тип",
 	"Type Hugging Face Resolve (Download) URL": "Введите URL-адрес Hugging Face Resolve (загрузки)",
 	"Uh-oh! There was an issue connecting to {{provider}}.": "Упс! Возникла проблема подключения к {{provider}}.",
 	"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Неизвестный тип файла '{{file_type}}', но принимается и обрабатывается как обычный текст",
 	"Update and Copy Link": "Обновить и скопировать ссылку",
 	"Update password": "Обновить пароль",
 	"Upload a GGUF model": "Загрузить модель GGUF",
-	"Upload Files": "",
+	"Upload Files": "Загрузка файлов",
 	"Upload Progress": "Прогресс загрузки",
 	"URL Mode": "Режим URL",
 	"Use '#' in the prompt input to load and select your documents.": "Используйте '#' в поле ввода промпта для загрузки и выбора ваших документов.",
 	"Use Gravatar": "Использовать Gravatar",
 	"Use Initials": "Использовать инициалы",
+	"use_mlock (Ollama)": "use_mlock (Оллама)",
+	"use_mmap (Ollama)": "use_mmap (Оллама)",
 	"user": "пользователь",
 	"User Permissions": "Права пользователя",
 	"Users": "Пользователи",
@@ -504,13 +511,13 @@
 	"variable": "переменная",
 	"variable to have them replaced with clipboard content.": "переменная, чтобы их заменить содержимым буфера обмена.",
 	"Version": "Версия",
-	"Warning": "",
+	"Warning": "Предупреждение",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Предупреждение: Если вы обновите или измените модель эмбеддинга, вам нужно будет повторно импортировать все документы.",
 	"Web": "Веб",
 	"Web Loader Settings": "Настройки загрузчика Web",
 	"Web Params": "Параметры Web",
-	"Web Search": "",
-	"Web Search Engine": "",
+	"Web Search": "Веб-поиск",
+	"Web Search Engine": "Поисковая система",
 	"Webhook URL": "URL-адрес веб-хука",
 	"WebUI Add-ons": "Дополнения для WebUI",
 	"WebUI Settings": "Настройки WebUI",
@@ -523,7 +530,7 @@
 	"Write a summary in 50 words that summarizes [topic or keyword].": "Напишите резюме в 50 словах, которое кратко описывает [тему или ключевое слово].",
 	"Yesterday": "Вчера",
 	"You": "Вы",
-	"You cannot clone a base model": "",
+	"You cannot clone a base model": "Клонировать базовую модель невозможно",
 	"You have no archived conversations.": "У вас нет архивированных бесед.",
 	"You have shared this chat": "Вы поделились этим чатом",
 	"You're a helpful assistant.": "Вы полезный ассистент.",

+ 78 - 71
src/lib/i18n/locales/sr-RS/translation.json

@@ -3,19 +3,19 @@
 	"(Beta)": "(бета)",
 	"(e.g. `sh webui.sh --api`)": "(нпр. `sh webui.sh --api`)",
 	"(latest)": "(најновије)",
-	"{{ models }}": "",
-	"{{ owner }}: You cannot delete a base model": "",
+	"{{ models }}": "{{ модели }}",
+	"{{ owner }}: You cannot delete a base model": "{{ оwнер }}: Не можете избрисати основни модел",
 	"{{modelName}} is thinking...": "{{modelName}} размишља...",
 	"{{user}}'s Chats": "Ћаскања корисника {{user}}",
 	"{{webUIName}} Backend Required": "Захтева се {{webUIName}} позадинац",
-	"A task model is used when performing tasks such as generating titles for chats and web search queries": "",
+	"A task model is used when performing tasks such as generating titles for chats and web search queries": "Модел задатка се користи приликом извршавања задатака као што су генерисање наслова за ћаскања и упите за Веб претрагу",
 	"a user": "корисник",
 	"About": "О нама",
 	"Account": "Налог",
 	"Accurate information": "Прецизне информације",
 	"Add": "Додај",
-	"Add a model id": "",
-	"Add a short description about what this model does": "",
+	"Add a model id": "Додавање ИД-а модела",
+	"Add a short description about what this model does": "Додавање кратког описа о томе шта овај модел ради",
 	"Add a short title for this prompt": "Додај кратак наслов за овај упит",
 	"Add a tag": "Додај ознаку",
 	"Add custom prompt": "Додај прилагођен упит",
@@ -31,12 +31,13 @@
 	"Admin Panel": "Админ табла",
 	"Admin Settings": "Админ подешавања",
 	"Advanced Parameters": "Напредни параметри",
-	"Advanced Params": "",
+	"Advanced Params": "Напредни парамови",
 	"all": "сви",
 	"All Documents": "Сви документи",
 	"All Users": "Сви корисници",
 	"Allow": "Дозволи",
 	"Allow Chat Deletion": "Дозволи брисање ћаскања",
+	"Allow non-local voices": "",
 	"alphanumeric characters and hyphens": "алфанумерички знакови и цртице",
 	"Already have an account?": "Већ имате налог?",
 	"an assistant": "помоћник",
@@ -48,7 +49,7 @@
 	"API keys": "API кључеви",
 	"April": "Април",
 	"Archive": "Архива",
-	"Archive All Chats": "",
+	"Archive All Chats": "Архивирај све ћаскања",
 	"Archived Chats": "Архивирана ћаскања",
 	"are allowed - Activate this command by typing": "су дозвољени - Покрените ову наредбу уношењем",
 	"Are you sure?": "Да ли сте сигурни?",
@@ -63,14 +64,14 @@
 	"available!": "доступно!",
 	"Back": "Назад",
 	"Bad Response": "Лош одговор",
-	"Banners": "",
-	"Base Model (From)": "",
+	"Banners": "Барјаке",
+	"Base Model (From)": "Основни модел (од)",
 	"before": "пре",
 	"Being lazy": "Бити лењ",
-	"Brave Search API Key": "",
+	"Brave Search API Key": "Апи кључ за храбру претрагу",
 	"Bypass SSL verification for Websites": "Заобиђи SSL потврђивање за веб странице",
 	"Cancel": "Откажи",
-	"Capabilities": "",
+	"Capabilities": "Могућности",
 	"Change Password": "Промени лозинку",
 	"Chat": "Ћаскање",
 	"Chat Bubble UI": "Интерфејс балона ћаскања",
@@ -93,14 +94,14 @@
 	"Click here to select documents.": "Кликните овде да изаберете документе.",
 	"click here.": "кликните овде.",
 	"Click on the user role button to change a user's role.": "Кликните на дугме за улогу корисника да промените улогу корисника.",
-	"Clone": "",
+	"Clone": "Клон",
 	"Close": "Затвори",
 	"Collection": "Колекција",
 	"ComfyUI": "ComfyUI",
 	"ComfyUI Base URL": "Основна адреса за ComfyUI",
 	"ComfyUI Base URL is required.": "Потребна је основна адреса за ComfyUI.",
 	"Command": "Наредба",
-	"Concurrent Requests": "",
+	"Concurrent Requests": "Упоредни захтеви",
 	"Confirm Password": "Потврди лозинку",
 	"Connections": "Везе",
 	"Content": "Садржај",
@@ -114,7 +115,7 @@
 	"Copy Link": "Копирај везу",
 	"Copying to clipboard was successful!": "Успешно копирање у оставу!",
 	"Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "Направи сажету фразу од 3 до 5 речи као наслов за следећи упит, строго се придржавајући ограничења од 3-5 речи и избегавајући коришћење речи „наслов“:",
-	"Create a model": "",
+	"Create a model": "Креирање модела",
 	"Create Account": "Направи налог",
 	"Create new key": "Направи нови кључ",
 	"Create new secret key": "Направи нови тајни кључ",
@@ -123,7 +124,7 @@
 	"Current Model": "Тренутни модел",
 	"Current Password": "Тренутна лозинка",
 	"Custom": "Прилагођено",
-	"Customize models for a specific purpose": "",
+	"Customize models for a specific purpose": "Прилагођавање модела у одређене сврхе",
 	"Dark": "Тамна",
 	"Database": "База података",
 	"December": "Децембар",
@@ -131,24 +132,24 @@
 	"Default (Automatic1111)": "Подразумевано (Automatic1111)",
 	"Default (SentenceTransformers)": "Подразумевано (SentenceTransformers)",
 	"Default (Web API)": "Подразумевано (Web API)",
-	"Default Model": "",
+	"Default Model": "Подразумевани модел",
 	"Default model updated": "Подразумевани модел ажуриран",
 	"Default Prompt Suggestions": "Подразумевани предлози упита",
 	"Default User Role": "Подразумевана улога корисника",
 	"delete": "обриши",
 	"Delete": "Обриши",
 	"Delete a model": "Обриши модел",
-	"Delete All Chats": "",
+	"Delete All Chats": "Избриши сва ћаскања",
 	"Delete chat": "Обриши ћаскање",
 	"Delete Chat": "Обриши ћаскање",
 	"delete this link": "обриши ову везу",
 	"Delete User": "Обриши корисника",
 	"Deleted {{deleteModelTag}}": "Обрисано {{deleteModelTag}}",
-	"Deleted {{name}}": "",
+	"Deleted {{name}}": "Избрисано {{наме}}",
 	"Description": "Опис",
 	"Didn't fully follow instructions": "Упутства нису праћена у потпуности",
 	"Disabled": "Онемогућено",
-	"Discover a model": "",
+	"Discover a model": "Откријте модел",
 	"Discover a prompt": "Откриј упит",
 	"Discover, download, and explore custom prompts": "Откријте, преузмите и истражите прилагођене упите",
 	"Discover, download, and explore model presets": "Откријте, преузмите и истражите образце модела",
@@ -174,27 +175,27 @@
 	"Embedding Model Engine": "Мотор модела уградње",
 	"Embedding model set to \"{{embedding_model}}\"": "Модел уградње подешен на \"{{embedding_model}}\"",
 	"Enable Chat History": "Омогући историју ћаскања",
-	"Enable Community Sharing": "",
+	"Enable Community Sharing": "Омогући дељење заједнице",
 	"Enable New Sign Ups": "Омогући нове пријаве",
-	"Enable Web Search": "",
+	"Enable Web Search": "Омогући Wеб претрагу",
 	"Enabled": "Омогућено",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Уверите се да ваша CSV датотека укључује 4 колоне у овом редоследу: Име, Е-пошта, Лозинка, Улога.",
 	"Enter {{role}} message here": "Унесите {{role}} поруку овде",
 	"Enter a detail about yourself for your LLMs to recall": "Унесите детаље за себе да ће LLMs преузимати",
-	"Enter Brave Search API Key": "",
+	"Enter Brave Search API Key": "Унесите БРАВЕ Сеарцх АПИ кључ",
 	"Enter Chunk Overlap": "Унесите преклапање делова",
 	"Enter Chunk Size": "Унесите величину дела",
-	"Enter Github Raw URL": "",
-	"Enter Google PSE API Key": "",
-	"Enter Google PSE Engine Id": "",
+	"Enter Github Raw URL": "Унесите Гитхуб Раw УРЛ адресу",
+	"Enter Google PSE API Key": "Унесите Гоогле ПСЕ АПИ кључ",
+	"Enter Google PSE Engine Id": "Унесите Гоогле ПСЕ ИД машине",
 	"Enter Image Size (e.g. 512x512)": "Унесите величину слике (нпр. 512x512)",
 	"Enter language codes": "Унесите кодове језика",
 	"Enter model tag (e.g. {{modelTag}})": "Унесите ознаку модела (нпр. {{modelTag}})",
 	"Enter Number of Steps (e.g. 50)": "Унесите број корака (нпр. 50)",
 	"Enter Score": "Унесите резултат",
-	"Enter Searxng Query URL": "",
-	"Enter Serper API Key": "",
-	"Enter Serpstack API Key": "",
+	"Enter Searxng Query URL": "Унесите УРЛ адресу Сеарxнг упита",
+	"Enter Serper API Key": "Унесите Серпер АПИ кључ",
+	"Enter Serpstack API Key": "Унесите Серпстацк АПИ кључ",
 	"Enter stop sequence": "Унесите секвенцу заустављања",
 	"Enter Top K": "Унесите Топ К",
 	"Enter URL (e.g. http://127.0.0.1:7860/)": "Унесите адресу (нпр. http://127.0.0.1:7860/)",
@@ -203,12 +204,14 @@
 	"Enter Your Full Name": "Унесите ваше име и презиме",
 	"Enter Your Password": "Унесите вашу лозинку",
 	"Enter Your Role": "Унесите вашу улогу",
-	"Error": "",
+	"Error": "Грешка",
 	"Experimental": "Експериментално",
+	"Export": "Извоз",
 	"Export All Chats (All Users)": "Извези сва ћаскања (сви корисници)",
+	"Export chat (.json)": "",
 	"Export Chats": "Извези ћаскања",
 	"Export Documents Mapping": "Извези мапирање докумената",
-	"Export Models": "",
+	"Export Models": "Извези моделе",
 	"Export Prompts": "Извези упите",
 	"Failed to create API Key.": "Неуспешно стварање API кључа.",
 	"Failed to read clipboard contents": "Неуспешно читање садржаја оставе",
@@ -221,15 +224,15 @@
 	"Focus chat input": "Усредсредите унос ћаскања",
 	"Followed instructions perfectly": "Упутства су савршено праћена",
 	"Format your variables using square brackets like this:": "Форматирајте ваше променљиве користећи угластe заграде овако:",
-	"Frequency Penalty": "",
+	"Frequency Penalty": "Фреквентна казна",
 	"Full Screen Mode": "Режим целог екрана",
 	"General": "Опште",
 	"General Settings": "Општа подешавања",
-	"Generating search query": "",
+	"Generating search query": "Генерисање упита претраге",
 	"Generation Info": "Информације о стварању",
 	"Good Response": "Добар одговор",
-	"Google PSE API Key": "",
-	"Google PSE Engine Id": "",
+	"Google PSE API Key": "Гоогле ПСЕ АПИ кључ",
+	"Google PSE Engine Id": "Гоогле ПСЕ ИД мотора",
 	"h:mm a": "h:mm a",
 	"has no conversations.": "нема разговора.",
 	"Hello, {{name}}": "Здраво, {{name}}",
@@ -243,18 +246,18 @@
 	"Images": "Слике",
 	"Import Chats": "Увези ћаскања",
 	"Import Documents Mapping": "Увези мапирање докумената",
-	"Import Models": "",
+	"Import Models": "Увези моделе",
 	"Import Prompts": "Увези упите",
 	"Include `--api` flag when running stable-diffusion-webui": "Укључи `--api` заставицу при покретању stable-diffusion-webui",
-	"Info": "",
+	"Info": "Инфо",
 	"Input commands": "Унеси наредбе",
-	"Install from Github URL": "",
+	"Install from Github URL": "Инсталирај из Гитхуб УРЛ адресе",
 	"Interface": "Изглед",
 	"Invalid Tag": "Неисправна ознака",
 	"January": "Јануар",
 	"join our Discord for help.": "придружите се нашем Дискорду за помоћ.",
 	"JSON": "JSON",
-	"JSON Preview": "",
+	"JSON Preview": "ЈСОН Преглед",
 	"July": "Јул",
 	"June": "Јун",
 	"JWT Expiration": "Истек JWT-а",
@@ -271,9 +274,9 @@
 	"Make sure to enclose them with": "Уверите се да их затворите са",
 	"Manage Models": "Управљај моделима",
 	"Manage Ollama Models": "Управљај Ollama моделима",
-	"Manage Pipelines": "",
+	"Manage Pipelines": "Управљање цевоводима",
 	"March": "Март",
-	"Max Tokens (num_predict)": "",
+	"Max Tokens (num_predict)": "Маx Токенс (нум_предицт)",
 	"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Највише 3 модела могу бити преузета истовремено. Покушајте поново касније.",
 	"May": "Мај",
 	"Memories accessible by LLMs will be shown here.": "Памћења које ће бити појављена од овог LLM-а ће бити приказана овде.",
@@ -288,12 +291,12 @@
 	"Model '{{modelName}}' has been successfully downloaded.": "Модел „{{modelName}}“ је успешно преузет.",
 	"Model '{{modelTag}}' is already in queue for downloading.": "Модел „{{modelTag}}“ је већ у реду за преузимање.",
 	"Model {{modelId}} not found": "Модел {{modelId}} није пронађен",
-	"Model {{modelName}} is not vision capable": "",
-	"Model {{name}} is now {{status}}": "",
+	"Model {{modelName}} is not vision capable": "Модел {{моделНаме}} није способан за вид",
+	"Model {{name}} is now {{status}}": "Модел {{наме}} је сада {{статус}}",
 	"Model filesystem path detected. Model shortname is required for update, cannot continue.": "Откривена путања система датотека модела. За ажурирање је потребан кратак назив модела, не може се наставити.",
-	"Model ID": "",
+	"Model ID": "ИД модела",
 	"Model not selected": "Модел није изабран",
-	"Model Params": "",
+	"Model Params": "Модел Парамс",
 	"Model Whitelisting": "Бели списак модела",
 	"Model(s) Whitelisted": "Модел(и) на белом списку",
 	"Modelfile Content": "Садржај модел-датотеке",
@@ -301,23 +304,25 @@
 	"More": "Више",
 	"Name": "Име",
 	"Name Tag": "Назив ознаке",
-	"Name your model": "",
+	"Name your model": "Наведи свој модел",
 	"New Chat": "Ново ћаскање",
 	"New Password": "Нова лозинка",
 	"No results found": "Нема резултата",
-	"No search query generated": "",
+	"No search query generated": "Није генерисан упит за претрагу",
 	"No source available": "Нема доступног извора",
-	"None": "",
+	"None": "Нико",
 	"Not factually correct": "Није чињенично тачно",
 	"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Напомена: ако подесите најмањи резултат, претрага ће вратити само документе са резултатом већим или једнаким најмањем резултату.",
 	"Notifications": "Обавештења",
 	"November": "Новембар",
+	"num_thread (Ollama)": "нум _тхреад (Оллама)",
 	"October": "Октобар",
 	"Off": "Искључено",
 	"Okay, Let's Go!": "У реду, хајде да кренемо!",
 	"OLED Dark": "OLED тамна",
 	"Ollama": "Ollama",
-	"Ollama API": "",
+	"Ollama API": "Оллама АПИ",
+	"Ollama API disabled": "Оллама АПИ онемогућен",
 	"Ollama Version": "Издање Ollama-е",
 	"On": "Укључено",
 	"Only": "Само",
@@ -342,8 +347,8 @@
 	"pending": "на чекању",
 	"Permission denied when accessing microphone: {{error}}": "Приступ микрофону је одбијен: {{error}}",
 	"Personalization": "Прилагођавање",
-	"Pipelines": "",
-	"Pipelines Valves": "",
+	"Pipelines": "Цевоводи",
+	"Pipelines Valves": "Вентили за цевоводе",
 	"Plain text (.txt)": "Обичан текст (.txt)",
 	"Playground": "Игралиште",
 	"Positive attitude": "Позитиван став",
@@ -388,33 +393,33 @@
 	"Scan for documents from {{path}}": "Скенирај документе из {{path}}",
 	"Search": "Претражи",
 	"Search a model": "Претражи модел",
-	"Search Chats": "",
+	"Search Chats": "Претражи ћаскања",
 	"Search Documents": "Претражи документе",
-	"Search Models": "",
+	"Search Models": "Модели претраге",
 	"Search Prompts": "Претражи упите",
-	"Search Result Count": "",
-	"Searched {{count}} sites_one": "",
-	"Searched {{count}} sites_few": "",
-	"Searched {{count}} sites_other": "",
-	"Searching the web for '{{searchQuery}}'": "",
-	"Searxng Query URL": "",
+	"Search Result Count": "Број резултата претраге",
+	"Searched {{count}} sites_one": "Претражио {{цоунт}} ситес_оне",
+	"Searched {{count}} sites_few": "Претражио {{цоунт}} ситес_феw",
+	"Searched {{count}} sites_other": "Претражио {{цоунт}} ситес_отхер",
+	"Searching the web for '{{searchQuery}}'": "Претраживање Веба у потрази за \"{{сеарцхQуерy}}\"",
+	"Searxng Query URL": "УРЛ адреса Сеарxнг упита",
 	"See readme.md for instructions": "Погледај readme.md за упутства",
 	"See what's new": "Погледај шта је ново",
 	"Seed": "Семе",
-	"Select a base model": "",
+	"Select a base model": "Избор основног модела",
 	"Select a mode": "Изабери режим",
 	"Select a model": "Изабери модел",
-	"Select a pipeline": "",
-	"Select a pipeline url": "",
+	"Select a pipeline": "Избор цевовода",
+	"Select a pipeline url": "Избор урл адресе цевовода",
 	"Select an Ollama instance": "Изабери Ollama инстанцу",
 	"Select model": "Изабери модел",
-	"Selected model(s) do not support image inputs": "",
+	"Selected model(s) do not support image inputs": "Изабрани модели не подржавају уносе слика",
 	"Send": "Пошаљи",
 	"Send a Message": "Пошаљи поруку",
 	"Send message": "Пошаљи поруку",
 	"September": "Септембар",
-	"Serper API Key": "",
-	"Serpstack API Key": "",
+	"Serper API Key": "Серпер АПИ кључ",
+	"Serpstack API Key": "Серпстацк АПИ кључ",
 	"Server connection verified": "Веза са сервером потврђена",
 	"Set as default": "Подеси као подразумевано",
 	"Set Default Model": "Подеси као подразумевани модел",
@@ -423,7 +428,7 @@
 	"Set Model": "Подеси модел",
 	"Set reranking model (e.g. {{model}})": "Подеси модел поновног рангирања (нпр. {{model}})",
 	"Set Steps": "Подеси кораке",
-	"Set Task Model": "",
+	"Set Task Model": "Постављање модела задатка",
 	"Set Voice": "Подеси глас",
 	"Settings": "Подешавања",
 	"Settings saved successfully!": "Подешавања успешно сачувана!",
@@ -482,19 +487,21 @@
 	"Top P": "Топ П",
 	"Trouble accessing Ollama?": "Проблеми са приступом Ollama-и?",
 	"TTS Settings": "TTS подешавања",
-	"Type": "",
+	"Type": "Тип",
 	"Type Hugging Face Resolve (Download) URL": "Унесите Hugging Face Resolve (Download) адресу",
 	"Uh-oh! There was an issue connecting to {{provider}}.": "Упс! Дошло је до проблема при повезивању са {{provider}}.",
 	"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Непознат тип датотеке '{{file_type}}', али прихваћен и третиран као обичан текст",
 	"Update and Copy Link": "Ажурирај и копирај везу",
 	"Update password": "Ажурирај лозинку",
 	"Upload a GGUF model": "Отпреми GGUF модел",
-	"Upload Files": "",
+	"Upload Files": "Отпремање датотека",
 	"Upload Progress": "Напредак отпремања",
 	"URL Mode": "Режим адресе",
 	"Use '#' in the prompt input to load and select your documents.": "Користи '#' у уносу упита да учитате и изаберете ваше документе.",
 	"Use Gravatar": "Користи Граватар",
 	"Use Initials": "Користи иницијале",
+	"use_mlock (Ollama)": "усе _млоцк (Оллама)",
+	"use_mmap (Ollama)": "усе _ммап (Оллама)",
 	"user": "корисник",
 	"User Permissions": "Овлашћења корисника",
 	"Users": "Корисници",
@@ -503,13 +510,13 @@
 	"variable": "променљива",
 	"variable to have them replaced with clipboard content.": "променљива за замену са садржајем оставе.",
 	"Version": "Издање",
-	"Warning": "",
+	"Warning": "Упозорење",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Упозорење: ако ажурирате или промените ваш модел уградње, мораћете поново да увезете све документе.",
 	"Web": "Веб",
 	"Web Loader Settings": "Подешавања веб учитавача",
 	"Web Params": "Веб параметри",
-	"Web Search": "",
-	"Web Search Engine": "",
+	"Web Search": "Wеб претрага",
+	"Web Search Engine": "Wеб претраживач",
 	"Webhook URL": "Адреса веб-куке",
 	"WebUI Add-ons": "Додаци веб интерфејса",
 	"WebUI Settings": "Подешавања веб интерфејса",
@@ -522,7 +529,7 @@
 	"Write a summary in 50 words that summarizes [topic or keyword].": "Напишите сажетак у 50 речи који резимира [тему или кључну реч].",
 	"Yesterday": "Јуче",
 	"You": "Ти",
-	"You cannot clone a base model": "",
+	"You cannot clone a base model": "Не можеш клонирати основни модел",
 	"You have no archived conversations.": "Немате архивиране разговоре.",
 	"You have shared this chat": "Поделили сте ово ћаскање",
 	"You're a helpful assistant.": "Ти си користан помоћник.",

+ 77 - 70
src/lib/i18n/locales/sv-SE/translation.json

@@ -3,19 +3,19 @@
 	"(Beta)": "(Beta)",
 	"(e.g. `sh webui.sh --api`)": "(t.ex. `sh webui.sh --api`)",
 	"(latest)": "(senaste)",
-	"{{ models }}": "",
-	"{{ owner }}: You cannot delete a base model": "",
+	"{{ models }}": "{{ modeller }}",
+	"{{ owner }}: You cannot delete a base model": "{{ owner }}: Du kan inte ta bort en basmodell",
 	"{{modelName}} is thinking...": "{{modelName}} tänker...",
 	"{{user}}'s Chats": "{{user}}s Chats",
 	"{{webUIName}} Backend Required": "{{webUIName}} Backend krävs",
-	"A task model is used when performing tasks such as generating titles for chats and web search queries": "",
+	"A task model is used when performing tasks such as generating titles for chats and web search queries": "En uppgiftsmodell används när du utför uppgifter som att generera titlar för chattar och webbsökningsfrågor",
 	"a user": "en användare",
 	"About": "Om",
 	"Account": "Konto",
 	"Accurate information": "Exakt information",
 	"Add": "Lägg till",
-	"Add a model id": "",
-	"Add a short description about what this model does": "",
+	"Add a model id": "Lägga till ett modell-ID",
+	"Add a short description about what this model does": "Lägg till en kort beskrivning av vad den här modellen gör",
 	"Add a short title for this prompt": "Lägg till en kort titel för denna prompt",
 	"Add a tag": "Lägg till en tagg",
 	"Add custom prompt": "Lägg till en anpassad prompt",
@@ -31,12 +31,13 @@
 	"Admin Panel": "Administrationspanel",
 	"Admin Settings": "Administratörsinställningar",
 	"Advanced Parameters": "Avancerade parametrar",
-	"Advanced Params": "",
+	"Advanced Params": "Avancerade parametrar",
 	"all": "alla",
 	"All Documents": "Alla dokument",
 	"All Users": "Alla användare",
 	"Allow": "Tillåt",
 	"Allow Chat Deletion": "Tillåt chattborttagning",
+	"Allow non-local voices": "",
 	"alphanumeric characters and hyphens": "alfanumeriska tecken och bindestreck",
 	"Already have an account?": "Har du redan ett konto?",
 	"an assistant": "en assistent",
@@ -48,7 +49,7 @@
 	"API keys": "API-nycklar",
 	"April": "April",
 	"Archive": "Arkiv",
-	"Archive All Chats": "",
+	"Archive All Chats": "Arkivera alla chattar",
 	"Archived Chats": "Arkiverade chattar",
 	"are allowed - Activate this command by typing": "är tillåtna - Aktivera detta kommando genom att skriva",
 	"Are you sure?": "Är du säker?",
@@ -63,14 +64,14 @@
 	"available!": "tillgänglig!",
 	"Back": "Tillbaka",
 	"Bad Response": "Felaktig respons",
-	"Banners": "",
-	"Base Model (From)": "",
+	"Banners": "Banners",
+	"Base Model (From)": "Basmodell (från)",
 	"before": "før",
 	"Being lazy": "Lägg till",
-	"Brave Search API Key": "",
+	"Brave Search API Key": "API-nyckel för modig sökning",
 	"Bypass SSL verification for Websites": "Kringgå SSL-verifiering för webbplatser",
 	"Cancel": "Avbryt",
-	"Capabilities": "",
+	"Capabilities": "Kapacitet",
 	"Change Password": "Ändra lösenord",
 	"Chat": "Chatt",
 	"Chat Bubble UI": "Chatbubblar UI",
@@ -93,14 +94,14 @@
 	"Click here to select documents.": "Klicka här för att välja dokument.",
 	"click here.": "klicka här.",
 	"Click on the user role button to change a user's role.": "Klicka på knappen för användarroll för att ändra en användares roll.",
-	"Clone": "",
+	"Clone": "Klon",
 	"Close": "Stäng",
 	"Collection": "Samling",
 	"ComfyUI": "ComfyUI",
 	"ComfyUI Base URL": "ComfyUI Base URL",
 	"ComfyUI Base URL is required.": "ComfyUI Base URL krävs.",
 	"Command": "Kommando",
-	"Concurrent Requests": "",
+	"Concurrent Requests": "Samtidiga begäranden",
 	"Confirm Password": "Bekräfta lösenord",
 	"Connections": "Anslutningar",
 	"Content": "Innehåll",
@@ -114,7 +115,7 @@
 	"Copy Link": "Kopiera länk",
 	"Copying to clipboard was successful!": "Kopiering till urklipp lyckades!",
 	"Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "Skapa en kort, 3-5 ords fras som rubrik för följande fråga, strikt följa 3-5 ordsgränsen och undvika användning av ordet 'titel':",
-	"Create a model": "",
+	"Create a model": "Skapa en modell",
 	"Create Account": "Skapa konto",
 	"Create new key": "Skapa ny nyckel",
 	"Create new secret key": "Skapa ny hemlig nyckel",
@@ -123,7 +124,7 @@
 	"Current Model": "Aktuell modell",
 	"Current Password": "Nuvarande lösenord",
 	"Custom": "Anpassad",
-	"Customize models for a specific purpose": "",
+	"Customize models for a specific purpose": "Anpassa modeller för ett specifikt syfte",
 	"Dark": "Mörk",
 	"Database": "Databas",
 	"December": "December",
@@ -131,24 +132,24 @@
 	"Default (Automatic1111)": "Standard (Automatic1111)",
 	"Default (SentenceTransformers)": "Standard (SentenceTransformers)",
 	"Default (Web API)": "Standard (Web API)",
-	"Default Model": "",
+	"Default Model": "Standardmodell",
 	"Default model updated": "Standardmodell uppdaterad",
 	"Default Prompt Suggestions": "Standardpromptförslag",
 	"Default User Role": "Standardanvändarroll",
 	"delete": "radera",
 	"Delete": "Radera",
 	"Delete a model": "Ta bort en modell",
-	"Delete All Chats": "",
+	"Delete All Chats": "Ta bort alla chattar",
 	"Delete chat": "Radera chatt",
 	"Delete Chat": "Radera chatt",
 	"delete this link": "radera denna länk",
 	"Delete User": "Radera användare",
 	"Deleted {{deleteModelTag}}": "Raderad {{deleteModelTag}}",
-	"Deleted {{name}}": "",
+	"Deleted {{name}}": "Borttagen {{name}}",
 	"Description": "Beskrivning",
 	"Didn't fully follow instructions": "Följde inte instruktionerna",
 	"Disabled": "Inaktiverad",
-	"Discover a model": "",
+	"Discover a model": "Upptäck en modell",
 	"Discover a prompt": "Upptäck en prompt",
 	"Discover, download, and explore custom prompts": "Upptäck, ladda ner och utforska anpassade prompts",
 	"Discover, download, and explore model presets": "Upptäck, ladda ner och utforska modellförinställningar",
@@ -174,27 +175,27 @@
 	"Embedding Model Engine": "Embeddingsmodellmotor",
 	"Embedding model set to \"{{embedding_model}}\"": "Embeddingsmodell inställd på \"{{embedding_model}}\"",
 	"Enable Chat History": "Aktivera chatthistorik",
-	"Enable Community Sharing": "",
+	"Enable Community Sharing": "Aktivera community-delning",
 	"Enable New Sign Ups": "Aktivera nya registreringar",
-	"Enable Web Search": "",
+	"Enable Web Search": "Aktivera webbsökning",
 	"Enabled": "Aktiverad",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Se till att din CSV-fil innehåller fyra kolumner i denna ordning: Namn, E-post, Lösenord, Roll.",
 	"Enter {{role}} message here": "Skriv {{role}} meddelande här",
 	"Enter a detail about yourself for your LLMs to recall": "Skriv en detalj om dig själv för att dina LLMs ska komma ihåg",
-	"Enter Brave Search API Key": "",
+	"Enter Brave Search API Key": "Ange API-nyckel för modig sökning",
 	"Enter Chunk Overlap": "Ange Chunk-överlappning",
 	"Enter Chunk Size": "Ange Chunk-storlek",
-	"Enter Github Raw URL": "",
-	"Enter Google PSE API Key": "",
-	"Enter Google PSE Engine Id": "",
+	"Enter Github Raw URL": "Ange Github Raw URL",
+	"Enter Google PSE API Key": "Ange Google PSE API-nyckel",
+	"Enter Google PSE Engine Id": "Ange Google PSE Engine Id",
 	"Enter Image Size (e.g. 512x512)": "Ange bildstorlek (t.ex. 512x512)",
 	"Enter language codes": "Skriv språkkoder",
 	"Enter model tag (e.g. {{modelTag}})": "Ange modelltagg (t.ex. {{modelTag}})",
 	"Enter Number of Steps (e.g. 50)": "Ange antal steg (t.ex. 50)",
 	"Enter Score": "Ange poäng",
-	"Enter Searxng Query URL": "",
-	"Enter Serper API Key": "",
-	"Enter Serpstack API Key": "",
+	"Enter Searxng Query URL": "Ange Searxng Query URL",
+	"Enter Serper API Key": "Ange Serper API-nyckel",
+	"Enter Serpstack API Key": "Ange Serpstack API-nyckel",
 	"Enter stop sequence": "Ange stoppsekvens",
 	"Enter Top K": "Ange Top K",
 	"Enter URL (e.g. http://127.0.0.1:7860/)": "Ange URL (t.ex. http://127.0.0.1:7860/)",
@@ -203,12 +204,14 @@
 	"Enter Your Full Name": "Ange ditt fullständiga namn",
 	"Enter Your Password": "Ange ditt lösenord",
 	"Enter Your Role": "Ange din roll",
-	"Error": "",
+	"Error": "Fel",
 	"Experimental": "Experimentell",
+	"Export": "Export",
 	"Export All Chats (All Users)": "Exportera alla chattar (alla användare)",
+	"Export chat (.json)": "",
 	"Export Chats": "Exportera chattar",
 	"Export Documents Mapping": "Exportera dokumentmappning",
-	"Export Models": "",
+	"Export Models": "Exportera modeller",
 	"Export Prompts": "Exportera prompts",
 	"Failed to create API Key.": "Misslyckades med att skapa API-nyckel.",
 	"Failed to read clipboard contents": "Misslyckades med att läsa urklippsinnehåll",
@@ -221,15 +224,15 @@
 	"Focus chat input": "Fokusera chattindata",
 	"Followed instructions perfectly": "Följde instruktionerna perfekt",
 	"Format your variables using square brackets like this:": "Formatera dina variabler med hakparenteser så här:",
-	"Frequency Penalty": "",
+	"Frequency Penalty": "Straff för frekvens",
 	"Full Screen Mode": "Helskärmsläge",
 	"General": "Allmän",
 	"General Settings": "Allmänna inställningar",
-	"Generating search query": "",
+	"Generating search query": "Generera sökfråga",
 	"Generation Info": "Generasjon Info",
 	"Good Response": "Bra svar",
-	"Google PSE API Key": "",
-	"Google PSE Engine Id": "",
+	"Google PSE API Key": "Google PSE API-nyckel",
+	"Google PSE Engine Id": "Google PSE Engine Id",
 	"h:mm a": "h:mm a",
 	"has no conversations.": "har ingen samtaler.",
 	"Hello, {{name}}": "Hej, {{name}}",
@@ -243,18 +246,18 @@
 	"Images": "Bilder",
 	"Import Chats": "Importera chattar",
 	"Import Documents Mapping": "Importera dokumentmappning",
-	"Import Models": "",
+	"Import Models": "Importera modeller",
 	"Import Prompts": "Importera prompts",
 	"Include `--api` flag when running stable-diffusion-webui": "Inkludera `--api`-flagga när du kör stabil-diffusion-webui",
-	"Info": "",
+	"Info": "Information",
 	"Input commands": "Indatakommandon",
-	"Install from Github URL": "",
+	"Install from Github URL": "Installera från Github-URL",
 	"Interface": "Gränssnitt",
 	"Invalid Tag": "Ogiltig tagg",
 	"January": "januar",
 	"join our Discord for help.": "gå med i vår Discord för hjälp.",
 	"JSON": "JSON",
-	"JSON Preview": "",
+	"JSON Preview": "Förhandsversion av JSON",
 	"July": "juli",
 	"June": "juni",
 	"JWT Expiration": "JWT-utgång",
@@ -271,9 +274,9 @@
 	"Make sure to enclose them with": "Se till att bifoga dem med",
 	"Manage Models": "Hantera modeller",
 	"Manage Ollama Models": "Hantera Ollama-modeller",
-	"Manage Pipelines": "",
+	"Manage Pipelines": "Hantera pipelines",
 	"March": "mars",
-	"Max Tokens (num_predict)": "",
+	"Max Tokens (num_predict)": "Maximalt antal polletter (num_predict)",
 	"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Högst 3 modeller kan laddas ner samtidigt. Vänligen försök igen senare.",
 	"May": "mai",
 	"Memories accessible by LLMs will be shown here.": "Minnen som kan komma ihåg av LLM:er kommer att visas här.",
@@ -288,12 +291,12 @@
 	"Model '{{modelName}}' has been successfully downloaded.": "Modellen '{{modelName}}' har laddats ner framgångsrikt.",
 	"Model '{{modelTag}}' is already in queue for downloading.": "Modellen '{{modelTag}}' är redan i kö för nedladdning.",
 	"Model {{modelId}} not found": "Modell {{modelId}} hittades inte",
-	"Model {{modelName}} is not vision capable": "",
-	"Model {{name}} is now {{status}}": "",
+	"Model {{modelName}} is not vision capable": "Modellen {{modelName}} är inte synkapabel",
+	"Model {{name}} is now {{status}}": "Modellen {{name}} är nu {{status}}",
 	"Model filesystem path detected. Model shortname is required for update, cannot continue.": "Modellens filsystemväg upptäckt. Modellens kortnamn krävs för uppdatering, kan inte fortsätta.",
-	"Model ID": "",
+	"Model ID": "Modell-ID",
 	"Model not selected": "Modell inte vald",
-	"Model Params": "",
+	"Model Params": "Modell Params",
 	"Model Whitelisting": "Modellens vitlista",
 	"Model(s) Whitelisted": "Modell(er) vitlistade",
 	"Modelfile Content": "Modelfilens innehåll",
@@ -301,23 +304,25 @@
 	"More": "Mer",
 	"Name": "Namn",
 	"Name Tag": "Namntag",
-	"Name your model": "",
+	"Name your model": "Namnge din modell",
 	"New Chat": "Ny chatt",
 	"New Password": "Nytt lösenord",
 	"No results found": "Inga resultat hittades",
-	"No search query generated": "",
+	"No search query generated": "Ingen sökfråga genererad",
 	"No source available": "Ingen tilgjengelig kilde",
-	"None": "",
+	"None": "Ingen",
 	"Not factually correct": "Inte faktiskt korrekt",
 	"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Merk: Hvis du angir en minimumspoengsum, returnerer søket bare dokumenter med en poengsum som er større enn eller lik minimumspoengsummen.",
 	"Notifications": "Notifikationer",
 	"November": "november",
+	"num_thread (Ollama)": "num_thread (Ollama)",
 	"October": "oktober",
 	"Off": "Av",
 	"Okay, Let's Go!": "Okej, nu kör vi!",
 	"OLED Dark": "OLED mörkt",
 	"Ollama": "Ollama",
-	"Ollama API": "",
+	"Ollama API": "Ollama API",
+	"Ollama API disabled": "Ollama API inaktiverat",
 	"Ollama Version": "Ollama-version",
 	"On": "På",
 	"Only": "Endast",
@@ -342,8 +347,8 @@
 	"pending": "väntande",
 	"Permission denied when accessing microphone: {{error}}": "Tillstånd nekades vid åtkomst till mikrofon: {{error}}",
 	"Personalization": "Personalisering",
-	"Pipelines": "",
-	"Pipelines Valves": "",
+	"Pipelines": "Rörledningar",
+	"Pipelines Valves": "Rörledningar Ventiler",
 	"Plain text (.txt)": "Rå text (.txt)",
 	"Playground": "Lekplats",
 	"Positive attitude": "Positivt humör",
@@ -388,32 +393,32 @@
 	"Scan for documents from {{path}}": "Skanna efter dokument från {{path}}",
 	"Search": "Sök",
 	"Search a model": "Sök efter en modell",
-	"Search Chats": "",
+	"Search Chats": "Sök i chattar",
 	"Search Documents": "Sök dokument",
-	"Search Models": "",
+	"Search Models": "Sök modeller",
 	"Search Prompts": "Sök promptar",
-	"Search Result Count": "",
-	"Searched {{count}} sites_one": "",
-	"Searched {{count}} sites_other": "",
-	"Searching the web for '{{searchQuery}}'": "",
-	"Searxng Query URL": "",
+	"Search Result Count": "Antal sökresultat",
+	"Searched {{count}} sites_one": "Sökte på {{count}} sites_one",
+	"Searched {{count}} sites_other": "Sökte på {{count}} sites_other",
+	"Searching the web for '{{searchQuery}}'": "Söka på webben efter '{{searchQuery}}'",
+	"Searxng Query URL": "Searxng Query URL",
 	"See readme.md for instructions": "Se readme.md för instruktioner",
 	"See what's new": "Se vad som är nytt",
 	"Seed": "Seed",
-	"Select a base model": "",
+	"Select a base model": "Välj en basmodell",
 	"Select a mode": "Välj ett läge",
 	"Select a model": "Välj en modell",
-	"Select a pipeline": "",
-	"Select a pipeline url": "",
+	"Select a pipeline": "Välj en pipeline",
+	"Select a pipeline url": "Välj en pipeline-URL",
 	"Select an Ollama instance": "Välj en Ollama-instans",
 	"Select model": "Välj en modell",
-	"Selected model(s) do not support image inputs": "",
+	"Selected model(s) do not support image inputs": "Valda modeller stöder inte bildinmatningar",
 	"Send": "Skicka",
 	"Send a Message": "Skicka ett meddelande",
 	"Send message": "Skicka meddelande",
 	"September": "september",
-	"Serper API Key": "",
-	"Serpstack API Key": "",
+	"Serper API Key": "Serper API-nyckel",
+	"Serpstack API Key": "Serpstack API-nyckel",
 	"Server connection verified": "Serveranslutning verifierad",
 	"Set as default": "Ange som standard",
 	"Set Default Model": "Ange standardmodell",
@@ -422,7 +427,7 @@
 	"Set Model": "Ställ in modell",
 	"Set reranking model (e.g. {{model}})": "Ställ in reranking modell (t.ex. {{model}})",
 	"Set Steps": "Ange steg",
-	"Set Task Model": "",
+	"Set Task Model": "Ange uppgiftsmodell",
 	"Set Voice": "Ange röst",
 	"Settings": "Inställningar",
 	"Settings saved successfully!": "Inställningar sparades framgångsrikt!",
@@ -481,19 +486,21 @@
 	"Top P": "Topp P",
 	"Trouble accessing Ollama?": "Problem med att komma åt Ollama?",
 	"TTS Settings": "TTS-inställningar",
-	"Type": "",
+	"Type": "Typ",
 	"Type Hugging Face Resolve (Download) URL": "Skriv Hugging Face Resolve (nedladdning) URL",
 	"Uh-oh! There was an issue connecting to {{provider}}.": "Oj då! Det uppstod ett problem med att ansluta till {{provider}}.",
 	"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Okänd filtyp '{{file_type}}', men accepterar och behandlar som vanlig text",
 	"Update and Copy Link": "Uppdatera och kopiera länk",
 	"Update password": "Uppdatera lösenord",
 	"Upload a GGUF model": "Ladda upp en GGUF-modell",
-	"Upload Files": "",
+	"Upload Files": "Ladda upp filer",
 	"Upload Progress": "Uppladdningsförlopp",
 	"URL Mode": "URL-läge",
 	"Use '#' in the prompt input to load and select your documents.": "Använd '#' i promptinmatningen för att ladda och välja dina dokument.",
 	"Use Gravatar": "Använd Gravatar",
 	"Use Initials": "Använd initialer",
+	"use_mlock (Ollama)": "use_mlock (Ollama)",
+	"use_mmap (Ollama)": "use_mmap (Ollama)",
 	"user": "användare",
 	"User Permissions": "Användarbehörigheter",
 	"Users": "Användare",
@@ -502,13 +509,13 @@
 	"variable": "variabel",
 	"variable to have them replaced with clipboard content.": "variabel för att få dem ersatta med urklippsinnehåll.",
 	"Version": "Version",
-	"Warning": "",
+	"Warning": "Varning",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Varning: Om du uppdaterar eller ändrar din embedding modell måste du importera alla dokument igen.",
 	"Web": "Webb",
 	"Web Loader Settings": "Web Loader-inställningar",
 	"Web Params": "Web-parametrar",
-	"Web Search": "",
-	"Web Search Engine": "",
+	"Web Search": "Webbsökning",
+	"Web Search Engine": "Sökmotor på webben",
 	"Webhook URL": "Webhook-URL",
 	"WebUI Add-ons": "WebUI-tillägg",
 	"WebUI Settings": "WebUI-inställningar",
@@ -521,7 +528,7 @@
 	"Write a summary in 50 words that summarizes [topic or keyword].": "Skriv en sammanfattning på 50 ord som sammanfattar [ämne eller nyckelord].",
 	"Yesterday": "Igenom",
 	"You": "du",
-	"You cannot clone a base model": "",
+	"You cannot clone a base model": "Du kan inte klona en basmodell",
 	"You have no archived conversations.": "Du har inga arkiverade konversationer.",
 	"You have shared this chat": "Du har delat denna chatt",
 	"You're a helpful assistant.": "Du är en hjälpsam assistent.",

+ 30 - 23
src/lib/i18n/locales/tr-TR/translation.json

@@ -3,7 +3,7 @@
 	"(Beta)": "(Beta)",
 	"(e.g. `sh webui.sh --api`)": "(örn. `sh webui.sh --api`)",
 	"(latest)": "(en son)",
-	"{{ models }}": "",
+	"{{ models }}": "{{ modeller }}",
 	"{{ owner }}: You cannot delete a base model": "{{ owner }}: Temel modeli silemezsiniz",
 	"{{modelName}} is thinking...": "{{modelName}} düşünüyor...",
 	"{{user}}'s Chats": "{{user}} Sohbetleri",
@@ -37,6 +37,7 @@
 	"All Users": "Tüm Kullanıcılar",
 	"Allow": "İzin ver",
 	"Allow Chat Deletion": "Sohbet Silmeye İzin Ver",
+	"Allow non-local voices": "",
 	"alphanumeric characters and hyphens": "alfanumerik karakterler ve tireler",
 	"Already have an account?": "Zaten bir hesabınız mı var?",
 	"an assistant": "bir asistan",
@@ -67,7 +68,7 @@
 	"Base Model (From)": "Temel Model ('den)",
 	"before": "önce",
 	"Being lazy": "Tembelleşiyor",
-	"Brave Search API Key": "",
+	"Brave Search API Key": "Cesur Arama API Anahtarı",
 	"Bypass SSL verification for Websites": "Web Siteleri için SSL doğrulamasını atlayın",
 	"Cancel": "İptal",
 	"Capabilities": "Yetenekler",
@@ -93,14 +94,14 @@
 	"Click here to select documents.": "Belgeleri seçmek için buraya tıklayın.",
 	"click here.": "buraya tıklayın.",
 	"Click on the user role button to change a user's role.": "Bir kullanıcının rolünü değiştirmek için kullanıcı rolü düğmesine tıklayın.",
-	"Clone": "",
+	"Clone": "Klon",
 	"Close": "Kapat",
 	"Collection": "Koleksiyon",
 	"ComfyUI": "ComfyUI",
 	"ComfyUI Base URL": "ComfyUI Temel URL",
 	"ComfyUI Base URL is required.": "ComfyUI Temel URL gerekli.",
 	"Command": "Komut",
-	"Concurrent Requests": "",
+	"Concurrent Requests": "Eşzamanlı İstekler",
 	"Confirm Password": "Parolayı Onayla",
 	"Connections": "Bağlantılar",
 	"Content": "İçerik",
@@ -176,25 +177,25 @@
 	"Enable Chat History": "Sohbet Geçmişini Etkinleştir",
 	"Enable Community Sharing": "Topluluk Paylaşımını Etkinleştir",
 	"Enable New Sign Ups": "Yeni Kayıtları Etkinleştir",
-	"Enable Web Search": "",
+	"Enable Web Search": "Web Aramasını Etkinleştir",
 	"Enabled": "Etkin",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "CSV dosyanızın şu sırayla 4 sütun içerdiğinden emin olun: İsim, E-posta, Şifre, Rol.",
 	"Enter {{role}} message here": "Buraya {{role}} mesajını girin",
 	"Enter a detail about yourself for your LLMs to recall": "LLM'lerinizin hatırlaması için kendiniz hakkında bir bilgi girin",
-	"Enter Brave Search API Key": "",
+	"Enter Brave Search API Key": "Brave Search API Anahtarını Girin",
 	"Enter Chunk Overlap": "Chunk Örtüşmesini Girin",
 	"Enter Chunk Size": "Chunk Boyutunu Girin",
 	"Enter Github Raw URL": "Github Raw URL'sini girin",
-	"Enter Google PSE API Key": "",
-	"Enter Google PSE Engine Id": "",
+	"Enter Google PSE API Key": "Google PSE API Anahtarını Girin",
+	"Enter Google PSE Engine Id": "Google PSE Motor Kimliğini Girin",
 	"Enter Image Size (e.g. 512x512)": "Görüntü Boyutunu Girin (örn. 512x512)",
 	"Enter language codes": "Dil kodlarını girin",
 	"Enter model tag (e.g. {{modelTag}})": "Model etiketini girin (örn. {{modelTag}})",
 	"Enter Number of Steps (e.g. 50)": "Adım Sayısını Girin (örn. 50)",
 	"Enter Score": "Skoru Girin",
-	"Enter Searxng Query URL": "",
-	"Enter Serper API Key": "",
-	"Enter Serpstack API Key": "",
+	"Enter Searxng Query URL": "Searxng Sorgu URL'sini girin",
+	"Enter Serper API Key": "Serper API Anahtarını Girin",
+	"Enter Serpstack API Key": "Serpstack API Anahtarını Girin",
 	"Enter stop sequence": "Durdurma dizisini girin",
 	"Enter Top K": "Top K'yı girin",
 	"Enter URL (e.g. http://127.0.0.1:7860/)": "URL'yi Girin (örn. http://127.0.0.1:7860/)",
@@ -205,7 +206,9 @@
 	"Enter Your Role": "Rolünüzü Girin",
 	"Error": "Hata",
 	"Experimental": "Deneysel",
+	"Export": "Ihracat",
 	"Export All Chats (All Users)": "Tüm Sohbetleri Dışa Aktar (Tüm Kullanıcılar)",
+	"Export chat (.json)": "",
 	"Export Chats": "Sohbetleri Dışa Aktar",
 	"Export Documents Mapping": "Belge Eşlemesini Dışa Aktar",
 	"Export Models": "Modelleri Dışa Aktar",
@@ -221,15 +224,15 @@
 	"Focus chat input": "Sohbet girişine odaklan",
 	"Followed instructions perfectly": "Talimatları mükemmel şekilde takip etti",
 	"Format your variables using square brackets like this:": "Değişkenlerinizi şu şekilde kare parantezlerle biçimlendirin:",
-	"Frequency Penalty": "",
+	"Frequency Penalty": "Frekans Cezası",
 	"Full Screen Mode": "Tam Ekran Modu",
 	"General": "Genel",
 	"General Settings": "Genel Ayarlar",
 	"Generating search query": "Arama sorgusu oluşturma",
 	"Generation Info": "Üretim Bilgisi",
 	"Good Response": "İyi Yanıt",
-	"Google PSE API Key": "",
-	"Google PSE Engine Id": "",
+	"Google PSE API Key": "Google PSE API Anahtarı",
+	"Google PSE Engine Id": "Google PSE Motor Kimliği",
 	"h:mm a": "h:mm a",
 	"has no conversations.": "hiç konuşması yok.",
 	"Hello, {{name}}": "Merhaba, {{name}}",
@@ -289,7 +292,7 @@
 	"Model '{{modelTag}}' is already in queue for downloading.": "'{{modelTag}}' zaten indirme sırasında.",
 	"Model {{modelId}} not found": "{{modelId}} bulunamadı",
 	"Model {{modelName}} is not vision capable": "Model {{modelName}} görüntü yeteneğine sahip değil",
-	"Model {{name}} is now {{status}}": "",
+	"Model {{name}} is now {{status}}": "{{name}} modeli artık {{status}} oldu",
 	"Model filesystem path detected. Model shortname is required for update, cannot continue.": "Model dosya sistemi yolu algılandı. Güncelleme için model kısa adı gerekli, devam edilemiyor.",
 	"Model ID": "Model ID",
 	"Model not selected": "Model seçilmedi",
@@ -312,12 +315,14 @@
 	"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Not: Minimum bir skor belirlerseniz, arama yalnızca minimum skora eşit veya daha yüksek bir skora sahip belgeleri getirecektir.",
 	"Notifications": "Bildirimler",
 	"November": "Kasım",
+	"num_thread (Ollama)": "num_thread (Ollama)",
 	"October": "Ekim",
 	"Off": "Kapalı",
 	"Okay, Let's Go!": "Tamam, Hadi Başlayalım!",
 	"OLED Dark": "OLED Koyu",
 	"Ollama": "Ollama",
 	"Ollama API": "Ollama API",
+	"Ollama API disabled": "Ollama API'si devre dışı",
 	"Ollama Version": "Ollama Sürümü",
 	"On": "Açık",
 	"Only": "Yalnızca",
@@ -342,8 +347,8 @@
 	"pending": "beklemede",
 	"Permission denied when accessing microphone: {{error}}": "Mikrofona erişim izni reddedildi: {{error}}",
 	"Personalization": "Kişiselleştirme",
-	"Pipelines": "",
-	"Pipelines Valves": "",
+	"Pipelines": "Boru hattı",
+	"Pipelines Valves": "Boru Hatları Vanaları",
 	"Plain text (.txt)": "Düz metin (.txt)",
 	"Playground": "Oyun Alanı",
 	"Positive attitude": "Olumlu yaklaşım",
@@ -392,11 +397,11 @@
 	"Search Documents": "Belgeleri Ara",
 	"Search Models": "Modelleri Ara",
 	"Search Prompts": "Prompt Ara",
-	"Search Result Count": "",
+	"Search Result Count": "Arama Sonucu Sayısı",
 	"Searched {{count}} sites_one": "Arandı {{count}} sites_one",
 	"Searched {{count}} sites_other": "Arandı {{count}} sites_other",
 	"Searching the web for '{{searchQuery}}'": "Web'de '{{searchQuery}}' aranıyor",
-	"Searxng Query URL": "",
+	"Searxng Query URL": "Searxng Sorgu URL'si",
 	"See readme.md for instructions": "Yönergeler için readme.md dosyasına bakın",
 	"See what's new": "Yeniliklere göz atın",
 	"Seed": "Seed",
@@ -412,8 +417,8 @@
 	"Send a Message": "Bir Mesaj Gönder",
 	"Send message": "Mesaj gönder",
 	"September": "Eylül",
-	"Serper API Key": "",
-	"Serpstack API Key": "",
+	"Serper API Key": "Serper API Anahtarı",
+	"Serpstack API Key": "Serpstack API Anahtarı",
 	"Server connection verified": "Sunucu bağlantısı doğrulandı",
 	"Set as default": "Varsayılan olarak ayarla",
 	"Set Default Model": "Varsayılan Modeli Ayarla",
@@ -481,7 +486,7 @@
 	"Top P": "Top P",
 	"Trouble accessing Ollama?": "Ollama'ya erişmede sorun mu yaşıyorsunuz?",
 	"TTS Settings": "TTS Ayarları",
-	"Type": "",
+	"Type": "Tür",
 	"Type Hugging Face Resolve (Download) URL": "Hugging Face Resolve (Download) URL'sini Yazın",
 	"Uh-oh! There was an issue connecting to {{provider}}.": "Ah! {{provider}}'a bağlanırken bir sorun oluştu.",
 	"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Bilinmeyen Dosya Türü '{{file_type}}', ancak düz metin olarak kabul ediliyor ve işleniyor",
@@ -494,6 +499,8 @@
 	"Use '#' in the prompt input to load and select your documents.": "Belgelerinizi yüklemek ve seçmek için promptda '#' kullanın.",
 	"Use Gravatar": "Gravatar Kullan",
 	"Use Initials": "Baş Harfleri Kullan",
+	"use_mlock (Ollama)": "use_mlock (Ollama)",
+	"use_mmap (Ollama)": "use_mmap (Ollama)",
 	"user": "kullanıcı",
 	"User Permissions": "Kullanıcı İzinleri",
 	"Users": "Kullanıcılar",
@@ -508,7 +515,7 @@
 	"Web Loader Settings": "Web Yükleyici Ayarları",
 	"Web Params": "Web Parametreleri",
 	"Web Search": "Web Araması",
-	"Web Search Engine": "",
+	"Web Search Engine": "Web Arama Motoru",
 	"Webhook URL": "Webhook URL",
 	"WebUI Add-ons": "WebUI Eklentileri",
 	"WebUI Settings": "WebUI Ayarları",

+ 80 - 73
src/lib/i18n/locales/uk-UA/translation.json

@@ -3,19 +3,19 @@
 	"(Beta)": "(Beta)",
 	"(e.g. `sh webui.sh --api`)": "(e.g. `sh webui.sh --api`)",
 	"(latest)": "(остання)",
-	"{{ models }}": "",
-	"{{ owner }}: You cannot delete a base model": "",
+	"{{ models }}": "{{ models }}",
+	"{{ owner }}: You cannot delete a base model": "{{ owner }}: Ви не можете видалити базову модель.",
 	"{{modelName}} is thinking...": "{{modelName}} думає...",
 	"{{user}}'s Chats": "Чати {{user}}а",
 	"{{webUIName}} Backend Required": "Необхідно підключення бекенду {{webUIName}}",
-	"A task model is used when performing tasks such as generating titles for chats and web search queries": "",
+	"A task model is used when performing tasks such as generating titles for chats and web search queries": "Модель задач використовується при виконанні таких завдань, як генерація заголовків для чатів та пошукових запитів в Інтернеті",
 	"a user": "користувача",
 	"About": "Про програму",
 	"Account": "Обліковий запис",
 	"Accurate information": "Точна інформація",
 	"Add": "Додати",
-	"Add a model id": "",
-	"Add a short description about what this model does": "",
+	"Add a model id": "Додайте id моделі",
+	"Add a short description about what this model does": "Додайте короткий опис того, що робить ця модель",
 	"Add a short title for this prompt": "Додати коротку назву для цього промту",
 	"Add a tag": "Додайте тег",
 	"Add custom prompt": "Додати користувацьку підказку",
@@ -28,15 +28,16 @@
 	"Add User": "Додати користувача",
 	"Adjusting these settings will apply changes universally to all users.": "Зміни в цих налаштуваннях будуть застосовані для всіх користувачів.",
 	"admin": "адмін",
-	"Admin Panel": "Панель адміністратора",
+	"Admin Panel": "Адмін-панель",
 	"Admin Settings": "Налаштування адміністратора",
 	"Advanced Parameters": "Розширені параметри",
-	"Advanced Params": "",
+	"Advanced Params": "Розширені параметри",
 	"all": "всі",
 	"All Documents": "Усі документи",
 	"All Users": "Всі користувачі",
 	"Allow": "Дозволити",
 	"Allow Chat Deletion": "Дозволити видалення чату",
+	"Allow non-local voices": "",
 	"alphanumeric characters and hyphens": "алфавітно-цифрові символи та дефіси",
 	"Already have an account?": "Вже є обліковий запис?",
 	"an assistant": "асистента",
@@ -48,7 +49,7 @@
 	"API keys": "Ключі API",
 	"April": "Квітень",
 	"Archive": "Архів",
-	"Archive All Chats": "",
+	"Archive All Chats": "Архівувати всі чати",
 	"Archived Chats": "Архівовані чати",
 	"are allowed - Activate this command by typing": "дозволено - активізуйте цю команду набором",
 	"Are you sure?": "Ви впевнені?",
@@ -63,14 +64,14 @@
 	"available!": "доступно!",
 	"Back": "Назад",
 	"Bad Response": "Неправильна відповідь",
-	"Banners": "",
-	"Base Model (From)": "",
+	"Banners": "Прапори",
+	"Base Model (From)": "Базова модель (від)",
 	"before": "до того, як",
 	"Being lazy": "Не поспішати",
-	"Brave Search API Key": "",
+	"Brave Search API Key": "Ключ API пошуку Brave",
 	"Bypass SSL verification for Websites": "Обхід SSL-перевірки для веб-сайтів",
 	"Cancel": "Скасувати",
-	"Capabilities": "",
+	"Capabilities": "Можливості",
 	"Change Password": "Змінити пароль",
 	"Chat": "Чат",
 	"Chat Bubble UI": "Бульбашковий UI чату",
@@ -93,14 +94,14 @@
 	"Click here to select documents.": "Натисніть тут, щоб вибрати документи.",
 	"click here.": "клацніть тут.",
 	"Click on the user role button to change a user's role.": "Натисніть кнопку ролі користувача, щоб змінити роль користувача.",
-	"Clone": "",
+	"Clone": "Клонувати",
 	"Close": "Закрити",
 	"Collection": "Колекція",
 	"ComfyUI": "ComfyUI",
 	"ComfyUI Base URL": "URL-адреса ComfyUI",
 	"ComfyUI Base URL is required.": "Необхідно вказати URL-адресу ComfyUI.",
 	"Command": "Команда",
-	"Concurrent Requests": "",
+	"Concurrent Requests": "Одночасні запити",
 	"Confirm Password": "Підтвердіть пароль",
 	"Connections": "З'єднання",
 	"Content": "Зміст",
@@ -114,7 +115,7 @@
 	"Copy Link": "Копіювати посилання",
 	"Copying to clipboard was successful!": "Копіювання в буфер обміну виконано успішно!",
 	"Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':",
-	"Create a model": "",
+	"Create a model": "Створити модель",
 	"Create Account": "Створити обліковий запис",
 	"Create new key": "Створити новий ключ",
 	"Create new secret key": "Створити новий секретний ключ",
@@ -123,7 +124,7 @@
 	"Current Model": "Поточна модель",
 	"Current Password": "Поточний пароль",
 	"Custom": "Налаштувати",
-	"Customize models for a specific purpose": "",
+	"Customize models for a specific purpose": "Налаштуйте моделі для конкретних цілей",
 	"Dark": "Темна",
 	"Database": "База даних",
 	"December": "Грудень",
@@ -131,24 +132,24 @@
 	"Default (Automatic1111)": "За замовчуванням (Automatic1111)",
 	"Default (SentenceTransformers)": "За замовчуванням (SentenceTransformers)",
 	"Default (Web API)": "За замовчуванням (Web API)",
-	"Default Model": "",
+	"Default Model": "Модель за замовчуванням",
 	"Default model updated": "Модель за замовчуванням оновлено",
 	"Default Prompt Suggestions": "Пропозиції промтів замовчуванням",
 	"Default User Role": "Роль користувача за замовчуванням",
 	"delete": "видалити",
 	"Delete": "Видалити",
 	"Delete a model": "Видалити модель",
-	"Delete All Chats": "",
+	"Delete All Chats": "Видалити усі чати",
 	"Delete chat": "Видалити чат",
 	"Delete Chat": "Видалити чат",
 	"delete this link": "видалити це посилання",
 	"Delete User": "Видалити користувача",
 	"Deleted {{deleteModelTag}}": "Видалено {{deleteModelTag}}",
-	"Deleted {{name}}": "",
+	"Deleted {{name}}": "Видалено {{name}}",
 	"Description": "Опис",
 	"Didn't fully follow instructions": "Не повністю дотримувалися інструкцій",
 	"Disabled": "Вимкнено",
-	"Discover a model": "",
+	"Discover a model": "Знайдіть модель",
 	"Discover a prompt": "Знайти промт",
 	"Discover, download, and explore custom prompts": "Знайдіть, завантажте та досліджуйте налаштовані промти",
 	"Discover, download, and explore model presets": "Знайдіть, завантажте та досліджуйте налаштовані налаштування моделі",
@@ -174,27 +175,27 @@
 	"Embedding Model Engine": "Двигун модели встраивания ",
 	"Embedding model set to \"{{embedding_model}}\"": "Встановлена модель вбудовування \"{{embedding_model}}\"",
 	"Enable Chat History": "Увімкнути історію чату",
-	"Enable Community Sharing": "",
+	"Enable Community Sharing": "Ввімкніть спільний доступ до спільноти",
 	"Enable New Sign Ups": "Дозволити нові реєстрації",
-	"Enable Web Search": "",
+	"Enable Web Search": "Увімкнути веб-пошук",
 	"Enabled": "Увімкнено",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Переконайтеся, що ваш CSV-файл містить 4 колонки в такому порядку: Ім'я, Email, Пароль, Роль.",
 	"Enter {{role}} message here": "Введіть повідомлення {{role}} тут",
 	"Enter a detail about yourself for your LLMs to recall": "Введіть відомості про себе для запам'ятовування вашими LLM.",
-	"Enter Brave Search API Key": "",
+	"Enter Brave Search API Key": "Введіть ключ API для пошуку Brave",
 	"Enter Chunk Overlap": "Введіть перекриття фрагменту",
 	"Enter Chunk Size": "Введіть розмір фрагменту",
-	"Enter Github Raw URL": "",
-	"Enter Google PSE API Key": "",
-	"Enter Google PSE Engine Id": "",
+	"Enter Github Raw URL": "Введіть Raw URL-адресу Github",
+	"Enter Google PSE API Key": "Введіть ключ API Google PSE",
+	"Enter Google PSE Engine Id": "Введіть Google PSE Engine Id",
 	"Enter Image Size (e.g. 512x512)": "Введіть розмір зображення (напр., 512x512)",
 	"Enter language codes": "Введіть мовні коди",
 	"Enter model tag (e.g. {{modelTag}})": "Введіть тег моделі (напр., {{modelTag}})",
 	"Enter Number of Steps (e.g. 50)": "Введіть кількість кроків (напр., 50)",
 	"Enter Score": "Введіть бал",
-	"Enter Searxng Query URL": "",
-	"Enter Serper API Key": "",
-	"Enter Serpstack API Key": "",
+	"Enter Searxng Query URL": "Введіть URL-адресу запиту Searxng",
+	"Enter Serper API Key": "Введіть ключ API Serper",
+	"Enter Serpstack API Key": "Введіть ключ API Serpstack",
 	"Enter stop sequence": "Введіть символ зупинки",
 	"Enter Top K": "Введіть Top K",
 	"Enter URL (e.g. http://127.0.0.1:7860/)": "Введіть URL-адресу (напр., http://127.0.0.1:7860/)",
@@ -203,12 +204,14 @@
 	"Enter Your Full Name": "Введіть ваше ім'я",
 	"Enter Your Password": "Введіть ваш пароль",
 	"Enter Your Role": "Введіть вашу роль",
-	"Error": "",
+	"Error": "Помилка",
 	"Experimental": "Експериментальне",
+	"Export": "Експорт",
 	"Export All Chats (All Users)": "Експортувати всі чати (всі користувачі)",
+	"Export chat (.json)": "",
 	"Export Chats": "Експортувати чати",
 	"Export Documents Mapping": "Експортувати відображення документів",
-	"Export Models": "",
+	"Export Models": "Експорт моделей",
 	"Export Prompts": "Експортувати промти",
 	"Failed to create API Key.": "Не вдалося створити API ключ.",
 	"Failed to read clipboard contents": "Не вдалося прочитати вміст буфера обміну",
@@ -221,15 +224,15 @@
 	"Focus chat input": "Фокус вводу чату",
 	"Followed instructions perfectly": "Бездоганно дотримувався інструкцій",
 	"Format your variables using square brackets like this:": "Форматуйте свої змінні квадратними дужками так:",
-	"Frequency Penalty": "",
+	"Frequency Penalty": "Штраф за частоту",
 	"Full Screen Mode": "Режим повного екрану",
 	"General": "Загальні",
 	"General Settings": "Загальні налаштування",
-	"Generating search query": "",
+	"Generating search query": "Сформувати пошуковий запит",
 	"Generation Info": "Інформація про генерацію",
 	"Good Response": "Гарна відповідь",
-	"Google PSE API Key": "",
-	"Google PSE Engine Id": "",
+	"Google PSE API Key": "Ключ API Google PSE",
+	"Google PSE Engine Id": "Id двигуна Google PSE",
 	"h:mm a": "h:mm a",
 	"has no conversations.": "не має розмов.",
 	"Hello, {{name}}": "Привіт, {{name}}",
@@ -243,18 +246,18 @@
 	"Images": "Зображення",
 	"Import Chats": "Імпортувати чати",
 	"Import Documents Mapping": "Імпортувати відображення документів",
-	"Import Models": "",
+	"Import Models": "Імпорт моделей",
 	"Import Prompts": "Імпортувати промти",
 	"Include `--api` flag when running stable-diffusion-webui": "Включіть прапор `--api` при запуску stable-diffusion-webui",
-	"Info": "",
+	"Info": "Інфо",
 	"Input commands": "Команди вводу",
-	"Install from Github URL": "",
+	"Install from Github URL": "Встановіть з URL-адреси Github",
 	"Interface": "Інтерфейс",
 	"Invalid Tag": "Недійсний тег",
 	"January": "Січень",
 	"join our Discord for help.": "приєднуйтеся до нашого Discord для допомоги.",
 	"JSON": "JSON",
-	"JSON Preview": "",
+	"JSON Preview": "Перегляд JSON",
 	"July": "Липень",
 	"June": "Червень",
 	"JWT Expiration": "Термін дії JWT",
@@ -271,9 +274,9 @@
 	"Make sure to enclose them with": "Переконайтеся, що вони закриті",
 	"Manage Models": "Керування моделями",
 	"Manage Ollama Models": "Керування моделями Ollama",
-	"Manage Pipelines": "",
+	"Manage Pipelines": "Управління Pipelines",
 	"March": "Березень",
-	"Max Tokens (num_predict)": "",
+	"Max Tokens (num_predict)": "Макс токенів (num_predict)",
 	"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Максимум 3 моделі можна завантажити одночасно. Будь ласка, спробуйте пізніше.",
 	"May": "Травень",
 	"Memories accessible by LLMs will be shown here.": "Пам'ять, яка доступна LLM, буде показана тут.",
@@ -288,12 +291,12 @@
 	"Model '{{modelName}}' has been successfully downloaded.": "Модель '{{modelName}}' успішно завантажено.",
 	"Model '{{modelTag}}' is already in queue for downloading.": "Модель '{{modelTag}}' вже знаходиться в черзі на завантаження.",
 	"Model {{modelId}} not found": "Модель {{modelId}} не знайдено",
-	"Model {{modelName}} is not vision capable": "",
-	"Model {{name}} is now {{status}}": "",
+	"Model {{modelName}} is not vision capable": "Модель {{modelName}} не здатна бачити",
+	"Model {{name}} is now {{status}}": "Модель {{name}} тепер має {{status}}",
 	"Model filesystem path detected. Model shortname is required for update, cannot continue.": "Виявлено шлях до файлової системи моделі. Для оновлення потрібно вказати коротке ім'я моделі, не вдасться продовжити.",
-	"Model ID": "",
+	"Model ID": "ID моделі",
 	"Model not selected": "Модель не вибрана",
-	"Model Params": "",
+	"Model Params": "Параметри моделі",
 	"Model Whitelisting": "Модель білого списку",
 	"Model(s) Whitelisted": "Модель(і) білого списку",
 	"Modelfile Content": "Вміст файлу моделі",
@@ -301,23 +304,25 @@
 	"More": "Більше",
 	"Name": "Ім'я",
 	"Name Tag": "Назва тегу",
-	"Name your model": "",
+	"Name your model": "Назвіть свою модель",
 	"New Chat": "Новий чат",
 	"New Password": "Новий пароль",
 	"No results found": "Не знайдено жодного результату",
-	"No search query generated": "",
+	"No search query generated": "Пошуковий запит не сформовано",
 	"No source available": "Джерело не доступне",
-	"None": "",
+	"None": "Нема",
 	"Not factually correct": "Не відповідає дійсності",
 	"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Примітка: Якщо ви встановите мінімальну кількість балів, пошук поверне лише документи з кількістю балів, більшою або рівною мінімальній кількості балів.",
 	"Notifications": "Сповіщення",
 	"November": "Листопад",
+	"num_thread (Ollama)": "num_thread (Оллама)",
 	"October": "Жовтень",
 	"Off": "Вимк",
 	"Okay, Let's Go!": "Гаразд, давайте почнемо!",
 	"OLED Dark": "Темний OLED",
 	"Ollama": "Ollama",
-	"Ollama API": "",
+	"Ollama API": "Ollama API",
+	"Ollama API disabled": "Ollama API вимкнено",
 	"Ollama Version": "Версія Ollama",
 	"On": "Увімк",
 	"Only": "Тільки",
@@ -342,8 +347,8 @@
 	"pending": "на розгляді",
 	"Permission denied when accessing microphone: {{error}}": "Доступ до мікрофона заборонено: {{error}}",
 	"Personalization": "Персоналізація",
-	"Pipelines": "",
-	"Pipelines Valves": "",
+	"Pipelines": "Pipelines",
+	"Pipelines Valves": "Pipelines Valves",
 	"Plain text (.txt)": "Простий текст (.txt)",
 	"Playground": "Майданчик",
 	"Positive attitude": "Позитивне ставлення",
@@ -388,34 +393,34 @@
 	"Scan for documents from {{path}}": "Сканування документів з {{path}}",
 	"Search": "Пошук",
 	"Search a model": "Шукати модель",
-	"Search Chats": "",
+	"Search Chats": "Пошук в чатах",
 	"Search Documents": "Пошук документів",
-	"Search Models": "",
+	"Search Models": "Пошук моделей",
 	"Search Prompts": "Пошук промтів",
-	"Search Result Count": "",
-	"Searched {{count}} sites_one": "",
-	"Searched {{count}} sites_few": "",
-	"Searched {{count}} sites_many": "",
-	"Searched {{count}} sites_other": "",
-	"Searching the web for '{{searchQuery}}'": "",
-	"Searxng Query URL": "",
+	"Search Result Count": "Кількість результатів пошуку",
+	"Searched {{count}} sites_one": "Переглянуто {{count}} сайт",
+	"Searched {{count}} sites_few": "Переглянуто {{count}} сайти",
+	"Searched {{count}} sites_many": "Переглянуто {{count}} сайтів",
+	"Searched {{count}} sites_other": "Переглянуто {{count}} сайтів",
+	"Searching the web for '{{searchQuery}}'": "Пошук в Інтернеті за запитом '{{searchQuery}}'",
+	"Searxng Query URL": "URL-адреса запиту Searxng",
 	"See readme.md for instructions": "Див. readme.md для інструкцій",
 	"See what's new": "Подивіться, що нового",
 	"Seed": "Сід",
-	"Select a base model": "",
+	"Select a base model": "Вибрати базову модель",
 	"Select a mode": "Оберіть режим",
 	"Select a model": "Виберіть модель",
-	"Select a pipeline": "",
-	"Select a pipeline url": "",
+	"Select a pipeline": "Виберіть pipeline",
+	"Select a pipeline url": "Виберіть адресу pipeline",
 	"Select an Ollama instance": "Виберіть екземпляр Ollama",
 	"Select model": "Вибрати модель",
-	"Selected model(s) do not support image inputs": "",
+	"Selected model(s) do not support image inputs": "Вибрані модель(і) не підтримують вхідні зображення",
 	"Send": "Надіслати",
 	"Send a Message": "Надіслати повідомлення",
 	"Send message": "Надіслати повідомлення",
 	"September": "Вересень",
-	"Serper API Key": "",
-	"Serpstack API Key": "",
+	"Serper API Key": "Ключ API Serper",
+	"Serpstack API Key": "Ключ API Serpstack",
 	"Server connection verified": "З'єднання з сервером підтверджено",
 	"Set as default": "Встановити за замовчуванням",
 	"Set Default Model": "Встановити модель за замовчуванням",
@@ -424,7 +429,7 @@
 	"Set Model": "Встановити модель",
 	"Set reranking model (e.g. {{model}})": "Встановити модель переранжування (напр., {{model}})",
 	"Set Steps": "Встановити кроки",
-	"Set Task Model": "",
+	"Set Task Model": "Встановити модель задач",
 	"Set Voice": "Встановити голос",
 	"Settings": "Налаштування",
 	"Settings saved successfully!": "Налаштування успішно збережено!",
@@ -483,19 +488,21 @@
 	"Top P": "Top P",
 	"Trouble accessing Ollama?": "Проблеми з доступом до Ollama?",
 	"TTS Settings": "Налаштування TTS",
-	"Type": "",
+	"Type": "Тип",
 	"Type Hugging Face Resolve (Download) URL": "Введіть URL ресурсу Hugging Face Resolve (завантаження)",
 	"Uh-oh! There was an issue connecting to {{provider}}.": "Ой! Виникла проблема при підключенні до {{provider}}.",
 	"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Невідомий тип файлу '{{file_type}}', але приймається та обробляється як звичайний текст",
 	"Update and Copy Link": "Оновлення та копіювання посилання",
 	"Update password": "Оновити пароль",
 	"Upload a GGUF model": "Завантажити GGUF модель",
-	"Upload Files": "",
+	"Upload Files": "Завантажити файли",
 	"Upload Progress": "Прогрес завантаження",
 	"URL Mode": "Режим URL-адреси",
 	"Use '#' in the prompt input to load and select your documents.": "Для введення промтів до веб-сторінок (URL) або вибору документів, будь ласка, використовуйте символ '#'.",
 	"Use Gravatar": "Змінити аватар",
 	"Use Initials": "Використовувати ініціали",
+	"use_mlock (Ollama)": "use_mlock (Оллама)",
+	"use_mmap (Ollama)": "use_mmap (Оллама)",
 	"user": "користувач",
 	"User Permissions": "Права користувача",
 	"Users": "Користувачі",
@@ -504,13 +511,13 @@
 	"variable": "змінна",
 	"variable to have them replaced with clipboard content.": "змінна, щоб замінити їх вмістом буфера обміну.",
 	"Version": "Версія",
-	"Warning": "",
+	"Warning": "Увага!",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Попередження: Якщо ви оновлюєте або змінюєте модель вбудовування, вам потрібно буде повторно імпортувати всі документи.",
 	"Web": "Веб",
 	"Web Loader Settings": "Налаштування веб-завантажувача",
 	"Web Params": "Налаштування веб-завантажувача",
-	"Web Search": "",
-	"Web Search Engine": "",
+	"Web Search": "Веб-пошук",
+	"Web Search Engine": "Веб-пошукова система",
 	"Webhook URL": "URL веб-запиту",
 	"WebUI Add-ons": "Додатки WebUI",
 	"WebUI Settings": "Налаштування WebUI",
@@ -523,7 +530,7 @@
 	"Write a summary in 50 words that summarizes [topic or keyword].": "Напишіть стислий зміст у 50 слів, який узагальнює [тема або ключове слово].",
 	"Yesterday": "Вчора",
 	"You": "Ви",
-	"You cannot clone a base model": "",
+	"You cannot clone a base model": "Базову модель не можна клонувати",
 	"You have no archived conversations.": "У вас немає архівованих розмов.",
 	"You have shared this chat": "Ви поділилися цим чатом",
 	"You're a helpful assistant.": "Ви корисний асистент.",

+ 57 - 50
src/lib/i18n/locales/vi-VN/translation.json

@@ -3,18 +3,18 @@
 	"(Beta)": "(Beta)",
 	"(e.g. `sh webui.sh --api`)": "(vd: `sh webui.sh --api`)",
 	"(latest)": "(mới nhất)",
-	"{{ models }}": "",
+	"{{ models }}": "{{ mô hình }}",
 	"{{ owner }}: You cannot delete a base model": "{{ owner }}: Bạn không thể xóa base model",
 	"{{modelName}} is thinking...": "{{modelName}} đang suy nghĩ...",
 	"{{user}}'s Chats": "{{user}}'s Chats",
 	"{{webUIName}} Backend Required": "{{webUIName}} Yêu cầu Backend",
-	"A task model is used when performing tasks such as generating titles for chats and web search queries": "",
+	"A task model is used when performing tasks such as generating titles for chats and web search queries": "Mô hình tác vụ được sử dụng khi thực hiện các tác vụ như tạo tiêu đề cho cuộc trò chuyện và truy vấn tìm kiếm trên web",
 	"a user": "người sử dụng",
 	"About": "Giới thiệu",
 	"Account": "Tài khoản",
 	"Accurate information": "Thông tin chính xác",
 	"Add": "Thêm",
-	"Add a model id": "",
+	"Add a model id": "Thêm model id",
 	"Add a short description about what this model does": "Thêm mô tả ngắn về những khả năng của model",
 	"Add a short title for this prompt": "Thêm tiêu đề ngắn cho prompt này",
 	"Add a tag": "Thêm thẻ (tag)",
@@ -31,12 +31,13 @@
 	"Admin Panel": "Trang Quản trị",
 	"Admin Settings": "Cài đặt hệ thống",
 	"Advanced Parameters": "Các tham số Nâng cao",
-	"Advanced Params": "",
+	"Advanced Params": "Các tham số Nâng cao",
 	"all": "tất cả",
 	"All Documents": "Tất cả tài liệu",
 	"All Users": "Danh sách người sử dụng",
 	"Allow": "Cho phép",
 	"Allow Chat Deletion": "Cho phép Xóa nội dung chat",
+	"Allow non-local voices": "",
 	"alphanumeric characters and hyphens": "ký tự số và gạch nối",
 	"Already have an account?": "Bạn đã có tài khoản?",
 	"an assistant": "trợ lý",
@@ -63,11 +64,11 @@
 	"available!": "có sẵn!",
 	"Back": "Quay lại",
 	"Bad Response": "Trả lời KHÔNG tốt",
-	"Banners": "",
-	"Base Model (From)": "",
+	"Banners": "Biểu ngữ",
+	"Base Model (From)": "Mô hình cơ sở (từ)",
 	"before": "trước",
 	"Being lazy": "Lười biếng",
-	"Brave Search API Key": "",
+	"Brave Search API Key": "Khóa API tìm kiếm dũng cảm",
 	"Bypass SSL verification for Websites": "Bỏ qua xác thực SSL cho các trang web",
 	"Cancel": "Hủy bỏ",
 	"Capabilities": "Năng lực",
@@ -93,14 +94,14 @@
 	"Click here to select documents.": "Bấm vào đây để chọn tài liệu.",
 	"click here.": "bấm vào đây.",
 	"Click on the user role button to change a user's role.": "Bấm vào nút trong cột VAI TRÒ để thay đổi quyền của người sử dụng.",
-	"Clone": "",
+	"Clone": "Nhân bản",
 	"Close": "Đóng",
 	"Collection": "Tổng hợp mọi tài liệu",
 	"ComfyUI": "ComfyUI",
 	"ComfyUI Base URL": "ComfyUI Base URL",
 	"ComfyUI Base URL is required.": "Base URL của ComfyUI là bắt buộc.",
 	"Command": "Lệnh",
-	"Concurrent Requests": "",
+	"Concurrent Requests": "Các truy vấn đồng thời",
 	"Confirm Password": "Xác nhận Mật khẩu",
 	"Connections": "Kết nối",
 	"Content": "Nội dung",
@@ -131,7 +132,7 @@
 	"Default (Automatic1111)": "Mặc định (Automatic1111)",
 	"Default (SentenceTransformers)": "Mặc định (SentenceTransformers)",
 	"Default (Web API)": "Mặc định (Web API)",
-	"Default Model": "",
+	"Default Model": "Model mặc định",
 	"Default model updated": "Mô hình mặc định đã được cập nhật",
 	"Default Prompt Suggestions": "Đề xuất prompt mặc định",
 	"Default User Role": "Vai trò mặc định",
@@ -174,27 +175,27 @@
 	"Embedding Model Engine": "Trình xử lý embedding",
 	"Embedding model set to \"{{embedding_model}}\"": "Mô hình embedding đã được thiết lập thành \"{{embedding_model}}\"",
 	"Enable Chat History": "Bật Lịch sử chat",
-	"Enable Community Sharing": "",
+	"Enable Community Sharing": "Kích hoạt Chia sẻ Cộng đồng",
 	"Enable New Sign Ups": "Cho phép đăng ký mới",
-	"Enable Web Search": "",
+	"Enable Web Search": "Kích hoạt tìm kiếm Web",
 	"Enabled": "Đã bật",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Đảm bảo tệp CSV của bạn bao gồm 4 cột theo thứ tự sau: Name, Email, Password, Role.",
 	"Enter {{role}} message here": "Nhập yêu cầu của {{role}} ở đây",
 	"Enter a detail about yourself for your LLMs to recall": "Nhập chi tiết về bản thân của bạn để LLMs có thể nhớ",
-	"Enter Brave Search API Key": "",
+	"Enter Brave Search API Key": "Nhập API key cho Brave Search",
 	"Enter Chunk Overlap": "Nhập Chunk chồng lấn (overlap)",
 	"Enter Chunk Size": "Nhập Kích thước Chunk",
-	"Enter Github Raw URL": "",
-	"Enter Google PSE API Key": "",
-	"Enter Google PSE Engine Id": "",
+	"Enter Github Raw URL": "Nhập URL cho Github Raw",
+	"Enter Google PSE API Key": "Nhập Google PSE API Key",
+	"Enter Google PSE Engine Id": "Nhập Google PSE Engine Id",
 	"Enter Image Size (e.g. 512x512)": "Nhập Kích thước ảnh (vd: 512x512)",
 	"Enter language codes": "Nhập mã ngôn ngữ",
 	"Enter model tag (e.g. {{modelTag}})": "Nhập thẻ mô hình (vd: {{modelTag}})",
 	"Enter Number of Steps (e.g. 50)": "Nhập số Steps (vd: 50)",
 	"Enter Score": "Nhập Score",
-	"Enter Searxng Query URL": "",
-	"Enter Serper API Key": "",
-	"Enter Serpstack API Key": "",
+	"Enter Searxng Query URL": "Nhập Query URL cho Searxng",
+	"Enter Serper API Key": "Nhập Serper API Key",
+	"Enter Serpstack API Key": "Nhập Serpstack API Key",
 	"Enter stop sequence": "Nhập stop sequence",
 	"Enter Top K": "Nhập Top K",
 	"Enter URL (e.g. http://127.0.0.1:7860/)": "Nhập URL (vd: http://127.0.0.1:7860/)",
@@ -205,10 +206,12 @@
 	"Enter Your Role": "Nhập vai trò của bạn",
 	"Error": "Lỗi",
 	"Experimental": "Thử nghiệm",
+	"Export": "Xuất khẩu",
 	"Export All Chats (All Users)": "Tải về tất cả nội dung chat (tất cả mọi người)",
+	"Export chat (.json)": "",
 	"Export Chats": "Tải nội dung chat về máy",
 	"Export Documents Mapping": "Tải cấu trúc tài liệu về máy",
-	"Export Models": "",
+	"Export Models": "Tải Models về máy",
 	"Export Prompts": "Tải các prompt về máy",
 	"Failed to create API Key.": "Lỗi khởi tạo API Key",
 	"Failed to read clipboard contents": "Không thể đọc nội dung clipboard",
@@ -221,15 +224,15 @@
 	"Focus chat input": "Tập trung vào nội dung chat",
 	"Followed instructions perfectly": "Tuân theo chỉ dẫn một cách hoàn hảo",
 	"Format your variables using square brackets like this:": "Định dạng các biến của bạn bằng cách sử dụng dấu ngoặc vuông như thế này:",
-	"Frequency Penalty": "",
+	"Frequency Penalty": "Hình phạt tần số",
 	"Full Screen Mode": "Chế độ Toàn màn hình",
 	"General": "Cài đặt chung",
 	"General Settings": "Cấu hình chung",
-	"Generating search query": "",
+	"Generating search query": "Tạo truy vấn tìm kiếm",
 	"Generation Info": "Thông tin chung",
 	"Good Response": "Trả lời tốt",
-	"Google PSE API Key": "",
-	"Google PSE Engine Id": "",
+	"Google PSE API Key": "Khóa API Google PSE",
+	"Google PSE Engine Id": "ID công cụ Google PSE",
 	"h:mm a": "h:mm a",
 	"has no conversations.": "không có hội thoại",
 	"Hello, {{name}}": "Xin chào {{name}}",
@@ -248,13 +251,13 @@
 	"Include `--api` flag when running stable-diffusion-webui": "Bao gồm flag `--api` khi chạy stable-diffusion-webui",
 	"Info": "Thông tin",
 	"Input commands": "Nhập các câu lệnh",
-	"Install from Github URL": "",
+	"Install from Github URL": "Cài đặt từ Github URL",
 	"Interface": "Giao diện",
 	"Invalid Tag": "Tag không hợp lệ",
 	"January": "Tháng 1",
 	"join our Discord for help.": "tham gia Discord của chúng tôi để được trợ giúp.",
 	"JSON": "JSON",
-	"JSON Preview": "",
+	"JSON Preview": "Xem trước JSON",
 	"July": "Tháng 7",
 	"June": "Tháng 6",
 	"JWT Expiration": "JWT Hết hạn",
@@ -271,9 +274,9 @@
 	"Make sure to enclose them with": "Hãy chắc chắn bao quanh chúng bằng",
 	"Manage Models": "Quản lý mô hình",
 	"Manage Ollama Models": "Quản lý mô hình với Ollama",
-	"Manage Pipelines": "",
+	"Manage Pipelines": "Quản lý Pipelines",
 	"March": "Tháng 3",
-	"Max Tokens (num_predict)": "",
+	"Max Tokens (num_predict)": "Tokens tối đa (num_predict)",
 	"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Tối đa 3 mô hình có thể được tải xuống cùng lúc. Vui lòng thử lại sau.",
 	"May": "Tháng 5",
 	"Memories accessible by LLMs will be shown here.": "Memory có thể truy cập bởi LLMs sẽ hiển thị ở đây.",
@@ -288,12 +291,12 @@
 	"Model '{{modelName}}' has been successfully downloaded.": "Mô hình '{{modelName}}' đã được tải xuống thành công.",
 	"Model '{{modelTag}}' is already in queue for downloading.": "Mô hình '{{modelTag}}' đã có trong hàng đợi để tải xuống.",
 	"Model {{modelId}} not found": "Không tìm thấy Mô hình {{modelId}}",
-	"Model {{modelName}} is not vision capable": "",
-	"Model {{name}} is now {{status}}": "",
+	"Model {{modelName}} is not vision capable": "Model {{modelName}} không có khả năng nhìn",
+	"Model {{name}} is now {{status}}": "Model {{name}} bây giờ là {{status}}",
 	"Model filesystem path detected. Model shortname is required for update, cannot continue.": "Đường dẫn hệ thống tệp mô hình được phát hiện. Tên viết tắt mô hình là bắt buộc để cập nhật, không thể tiếp tục.",
-	"Model ID": "",
+	"Model ID": "ID mẫu",
 	"Model not selected": "Chưa chọn Mô hình",
-	"Model Params": "",
+	"Model Params": "Mô hình Params",
 	"Model Whitelisting": "Whitelist mô hình",
 	"Model(s) Whitelisted": "các mô hình được cho vào danh sách Whitelist",
 	"Modelfile Content": "Nội dung Tệp Mô hình",
@@ -305,19 +308,21 @@
 	"New Chat": "Tạo chat mới",
 	"New Password": "Mật khẩu mới",
 	"No results found": "Không tìm thấy kết quả",
-	"No search query generated": "",
+	"No search query generated": "Không có truy vấn tìm kiếm nào được tạo ra",
 	"No source available": "Không có nguồn",
-	"None": "",
+	"None": "Không ai",
 	"Not factually correct": "Không chính xác so với thực tế",
 	"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Lưu ý: Nếu bạn đặt điểm (Score) tối thiểu thì tìm kiếm sẽ chỉ trả về những tài liệu có điểm lớn hơn hoặc bằng điểm tối thiểu.",
 	"Notifications": "Thông báo trên máy tính (Notification)",
 	"November": "Tháng 11",
+	"num_thread (Ollama)": "num_thread (Ollama)",
 	"October": "Tháng 10",
 	"Off": "Tắt",
 	"Okay, Let's Go!": "Được rồi, Bắt đầu thôi!",
 	"OLED Dark": "OLED Dark",
 	"Ollama": "Ollama",
-	"Ollama API": "",
+	"Ollama API": "Ollama API",
+	"Ollama API disabled": "API Ollama bị vô hiệu hóa",
 	"Ollama Version": "Phiên bản Ollama",
 	"On": "Bật",
 	"Only": "Only",
@@ -342,8 +347,8 @@
 	"pending": "đang chờ phê duyệt",
 	"Permission denied when accessing microphone: {{error}}": "Quyền truy cập micrô bị từ chối: {{error}}",
 	"Personalization": "Cá nhân hóa",
-	"Pipelines": "",
-	"Pipelines Valves": "",
+	"Pipelines": "Đường ống",
+	"Pipelines Valves": "Van đường ống",
 	"Plain text (.txt)": "Văn bản thô (.txt)",
 	"Playground": "Thử nghiệm (Playground)",
 	"Positive attitude": "Thái độ tích cực",
@@ -392,27 +397,27 @@
 	"Search Documents": "Tìm tài liệu",
 	"Search Models": "Tìm model",
 	"Search Prompts": "Tìm prompt",
-	"Search Result Count": "",
-	"Searched {{count}} sites_other": "",
-	"Searching the web for '{{searchQuery}}'": "",
-	"Searxng Query URL": "",
+	"Search Result Count": "Số kết quả tìm kiếm",
+	"Searched {{count}} sites_other": "Đã tìm {{count}} sites_other",
+	"Searching the web for '{{searchQuery}}'": "Tìm kiếm web cho '{{searchQuery}}'",
+	"Searxng Query URL": "URL truy vấn Searxng",
 	"See readme.md for instructions": "Xem readme.md để biết hướng dẫn",
 	"See what's new": "Xem những cập nhật mới",
 	"Seed": "Seed",
 	"Select a base model": "Chọn một base model",
 	"Select a mode": "Chọn một chế độ",
 	"Select a model": "Chọn mô hình",
-	"Select a pipeline": "",
-	"Select a pipeline url": "",
+	"Select a pipeline": "Chọn một quy trình",
+	"Select a pipeline url": "Chọn url quy trình",
 	"Select an Ollama instance": "Chọn một thực thể Ollama",
 	"Select model": "Chọn model",
-	"Selected model(s) do not support image inputs": "",
+	"Selected model(s) do not support image inputs": "Model được lựa chọn không hỗ trợ đầu vào là hình ảnh",
 	"Send": "Gửi",
 	"Send a Message": "Gửi yêu cầu",
 	"Send message": "Gửi yêu cầu",
 	"September": "Tháng 9",
-	"Serper API Key": "",
-	"Serpstack API Key": "",
+	"Serper API Key": "Khóa API Serper",
+	"Serpstack API Key": "Khóa API Serpstack",
 	"Server connection verified": "Kết nối máy chủ đã được xác minh",
 	"Set as default": "Đặt làm mặc định",
 	"Set Default Model": "Đặt Mô hình Mặc định",
@@ -421,7 +426,7 @@
 	"Set Model": "Thiết lập mô hình",
 	"Set reranking model (e.g. {{model}})": "Thiết lập mô hình reranking (ví dụ: {{model}})",
 	"Set Steps": "Đặt Số Bước",
-	"Set Task Model": "",
+	"Set Task Model": "Đặt Mô hình Tác vụ",
 	"Set Voice": "Đặt Giọng nói",
 	"Settings": "Cài đặt",
 	"Settings saved successfully!": "Cài đặt đã được lưu thành công!",
@@ -487,12 +492,14 @@
 	"Update and Copy Link": "Cập nhật và sao chép link",
 	"Update password": "Cập nhật mật khẩu",
 	"Upload a GGUF model": "Tải lên mô hình GGUF",
-	"Upload Files": "",
+	"Upload Files": "Tải tệp lên máy chủ",
 	"Upload Progress": "Tiến trình tải tệp lên hệ thống",
 	"URL Mode": "Chế độ URL",
 	"Use '#' in the prompt input to load and select your documents.": "Sử dụng '#' trong đầu vào của prompt để tải về và lựa chọn tài liệu của bạn cần truy vấn.",
 	"Use Gravatar": "Sử dụng Gravatar",
 	"Use Initials": "Sử dụng tên viết tắt",
+	"use_mlock (Ollama)": "use_mlock (Ollama)",
+	"use_mmap (Ollama)": "use_mmap (Ollama)",
 	"user": "Người sử dụng",
 	"User Permissions": "Phân quyền sử dụng",
 	"Users": "người sử dụng",
@@ -506,8 +513,8 @@
 	"Web": "Web",
 	"Web Loader Settings": "Cài đặt Web Loader",
 	"Web Params": "Web Params",
-	"Web Search": "",
-	"Web Search Engine": "",
+	"Web Search": "Tìm kiếm Web",
+	"Web Search Engine": "Chức năng Tìm kiếm Web",
 	"Webhook URL": "Webhook URL",
 	"WebUI Add-ons": "Tiện ích WebUI",
 	"WebUI Settings": "Cài đặt WebUI",

+ 225 - 218
src/lib/i18n/locales/zh-CN/translation.json

@@ -2,21 +2,21 @@
 	"'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' 或 '-1' 表示无过期时间。",
 	"(Beta)": "(测试版)",
 	"(e.g. `sh webui.sh --api`)": "(例如 `sh webui.sh --api`)",
-	"(latest)": "(最新版)",
-	"{{ models }}": "",
-	"{{ owner }}: You cannot delete a base model": "",
+	"(latest)": "(正式版)",
+	"{{ models }}": "{{ models }}",
+	"{{ owner }}: You cannot delete a base model": "{{ owner }}:您不能删除基础模型",
 	"{{modelName}} is thinking...": "{{modelName}} 正在思考...",
-	"{{user}}'s Chats": "{{user}} 的聊天记录",
+	"{{user}}'s Chats": "{{user}} 的对话记录",
 	"{{webUIName}} Backend Required": "需要 {{webUIName}} 后端",
-	"A task model is used when performing tasks such as generating titles for chats and web search queries": "",
+	"A task model is used when performing tasks such as generating titles for chats and web search queries": "任务模型用于执行生成对话标题和网络搜索查询等任务",
 	"a user": "用户",
 	"About": "关于",
-	"Account": "账",
-	"Accurate information": "准确信息",
+	"Account": "账",
+	"Accurate information": "准确信息",
 	"Add": "添加",
-	"Add a model id": "",
-	"Add a short description about what this model does": "",
-	"Add a short title for this prompt": "为这个提示词添加一个简短的标题",
+	"Add a model id": "添加一个模型 ID",
+	"Add a short description about what this model does": "添加有关该模型功能的简短描述",
+	"Add a short title for this prompt": "为提示词添加一个简短的标题",
 	"Add a tag": "添加标签",
 	"Add custom prompt": "添加自定义提示词",
 	"Add Docs": "添加文档",
@@ -31,53 +31,54 @@
 	"Admin Panel": "管理员面板",
 	"Admin Settings": "管理员设置",
 	"Advanced Parameters": "高级参数",
-	"Advanced Params": "",
+	"Advanced Params": "高级参数",
 	"all": "所有",
 	"All Documents": "所有文档",
 	"All Users": "所有用户",
 	"Allow": "允许",
 	"Allow Chat Deletion": "允许删除聊天记录",
+	"Allow non-local voices": "",
 	"alphanumeric characters and hyphens": "字母数字字符和连字符",
-	"Already have an account?": "已经有账户了吗?",
+	"Already have an account?": "已经拥有账号了?",
 	"an assistant": "助手",
 	"and": "和",
-	"and create a new shared link.": "创建一个新的共享链接。",
-	"API Base URL": "API 基础 URL",
+	"and create a new shared link.": "并创建一个新的分享链接。",
+	"API Base URL": "API 基础地址",
 	"API Key": "API 密钥",
 	"API Key created.": "API 密钥已创建。",
 	"API keys": "API 密钥",
 	"April": "四月",
-	"Archive": "档",
-	"Archive All Chats": "",
-	"Archived Chats": "聊天记录存档",
+	"Archive": "档",
+	"Archive All Chats": "归档所有对话记录",
+	"Archived Chats": "已归档对话",
 	"are allowed - Activate this command by typing": "允许 - 通过输入来激活这个命令",
-	"Are you sure?": "你确定吗?",
+	"Are you sure?": "是否确定?",
 	"Attach file": "添加文件",
 	"Attention to detail": "注重细节",
-	"Audio": "音",
+	"Audio": "音",
 	"August": "八月",
-	"Auto-playback response": "自动播放回应",
-	"Auto-send input after 3 sec.": "3 秒后自动发送输入",
-	"AUTOMATIC1111 Base URL": "AUTOMATIC1111 基础 URL",
-	"AUTOMATIC1111 Base URL is required.": "需要 AUTOMATIC1111 基础 URL。",
+	"Auto-playback response": "自动念出回复内容",
+	"Auto-send input after 3 sec.": "3 秒后自动发送输入框内容",
+	"AUTOMATIC1111 Base URL": "AUTOMATIC1111 基础地址",
+	"AUTOMATIC1111 Base URL is required.": "需要 AUTOMATIC1111 基础地址。",
 	"available!": "可用!",
 	"Back": "返回",
-	"Bad Response": "不良响应",
-	"Banners": "",
-	"Base Model (From)": "",
-	"before": "之前",
+	"Bad Response": "较差回复",
+	"Banners": "公告横幅",
+	"Base Model (From)": "基础模型 (来自)",
+	"before": "对话",
 	"Being lazy": "懒惰",
-	"Brave Search API Key": "",
+	"Brave Search API Key": "Brave Search API 密钥",
 	"Bypass SSL verification for Websites": "绕过网站的 SSL 验证",
 	"Cancel": "取消",
-	"Capabilities": "",
+	"Capabilities": "能力",
 	"Change Password": "更改密码",
-	"Chat": "聊天",
-	"Chat Bubble UI": "聊天气泡 UI",
-	"Chat direction": "聊天方向",
-	"Chat History": "聊天历史",
-	"Chat History is off for this browser.": "此浏览器已关闭聊天历史功能。",
-	"Chats": "聊天",
+	"Chat": "对话",
+	"Chat Bubble UI": "气泡样式对话",
+	"Chat direction": "对话文字方向",
+	"Chat History": "对话历史记录",
+	"Chat History is off for this browser.": "此浏览器已关闭对话历史记录功能。",
+	"Chats": "对话",
 	"Check Again": "再次检查",
 	"Check for updates": "检查更新",
 	"Checking for updates...": "正在检查更新...",
@@ -87,35 +88,35 @@
 	"Chunk Size": "块大小 (Chunk Size)",
 	"Citation": "引文",
 	"Click here for help.": "点击这里获取帮助。",
-	"Click here to": "单击此处",
+	"Click here to": "单击",
 	"Click here to select": "点击这里选择",
 	"Click here to select a csv file.": "单击此处选择 csv 文件。",
-	"Click here to select documents.": "点击这里选择文档。",
+	"Click here to select documents.": "单击选择文档",
 	"click here.": "点击这里。",
-	"Click on the user role button to change a user's role.": "点击用户角色按钮以更改用户的角色。",
-	"Clone": "",
+	"Click on the user role button to change a user's role.": "点击角色前方的组别按钮以更改用户所属权限组。",
+	"Clone": "复制",
 	"Close": "关闭",
-	"Collection": "收藏",
+	"Collection": "集合",
 	"ComfyUI": "ComfyUI",
-	"ComfyUI Base URL": "ComfyUI Base URL",
-	"ComfyUI Base URL is required.": "ComfyUI Base URL 是必需的。",
+	"ComfyUI Base URL": "ComfyUI 基础地址",
+	"ComfyUI Base URL is required.": "ComfyUI 基础地址为必需填写。",
 	"Command": "命令",
-	"Concurrent Requests": "",
+	"Concurrent Requests": "并发请求",
 	"Confirm Password": "确认密码",
-	"Connections": "连接",
+	"Connections": "外部连接",
 	"Content": "内容",
 	"Context Length": "上下文长度",
-	"Continue Response": "继续回复",
-	"Conversation Mode": "对话模式",
-	"Copied shared chat URL to clipboard!": "已复制共享聊天 URL 到剪贴板!",
+	"Continue Response": "继续生成",
+	"Conversation Mode": "连续对话模式",
+	"Copied shared chat URL to clipboard!": "已复制此对话分享链接至剪贴板!",
 	"Copy": "复制",
-	"Copy last code block": "复制最后一个代码块",
-	"Copy last response": "复制最后一次回复",
+	"Copy last code block": "复制最后一个代码块中的代码",
+	"Copy last response": "复制最后一次回复内容",
 	"Copy Link": "复制链接",
-	"Copying to clipboard was successful!": "复制到剪贴板成功!",
-	"Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "为以下查询创建一个简洁的、3-5 个词的短语作为标题,严格遵守 3-5 个词的限制并避免使用“标题”一词:",
-	"Create a model": "",
-	"Create Account": "创建账",
+	"Copying to clipboard was successful!": "成功复制到剪贴板!",
+	"Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "创建一个简洁的、3 至 5 个字的短语作为以下查询的标题,严格遵守 3 至 5 个 字的限制,并避免使用“标题”一词:",
+	"Create a model": "创建一个模型",
+	"Create Account": "创建账",
 	"Create new key": "创建新密钥",
 	"Create new secret key": "创建新安全密钥",
 	"Created at": "创建于",
@@ -123,7 +124,7 @@
 	"Current Model": "当前模型",
 	"Current Password": "当前密码",
 	"Custom": "自定义",
-	"Customize models for a specific purpose": "",
+	"Customize models for a specific purpose": "定制专用目的模型",
 	"Dark": "暗色",
 	"Database": "数据库",
 	"December": "十二月",
@@ -131,130 +132,132 @@
 	"Default (Automatic1111)": "默认(Automatic1111)",
 	"Default (SentenceTransformers)": "默认(SentenceTransformers)",
 	"Default (Web API)": "默认(Web API)",
-	"Default Model": "",
+	"Default Model": "默认模型",
 	"Default model updated": "默认模型已更新",
 	"Default Prompt Suggestions": "默认提示词建议",
 	"Default User Role": "默认用户角色",
 	"delete": "删除",
 	"Delete": "删除",
 	"Delete a model": "删除一个模型",
-	"Delete All Chats": "",
-	"Delete chat": "删除聊天",
-	"Delete Chat": "删除聊天",
-	"delete this link": "删除这个链接",
+	"Delete All Chats": "删除所有对话记录",
+	"Delete chat": "删除对话记录",
+	"Delete Chat": "删除对话记录",
+	"delete this link": "此处删除这个链接",
 	"Delete User": "删除用户",
-	"Deleted {{deleteModelTag}}": "已删除{{deleteModelTag}}",
-	"Deleted {{name}}": "",
+	"Deleted {{deleteModelTag}}": "已删除 {{deleteModelTag}}",
+	"Deleted {{name}}": "已删除 {{name}}",
 	"Description": "描述",
-	"Didn't fully follow instructions": "没有完全遵循指",
+	"Didn't fully follow instructions": "没有完全遵循指",
 	"Disabled": "禁用",
-	"Discover a model": "",
-	"Discover a prompt": "探索提示词",
-	"Discover, download, and explore custom prompts": "发现、下载并探索自定义提示词",
-	"Discover, download, and explore model presets": "发现、下载并探索模型预设",
-	"Display the username instead of You in the Chat": "在聊天中显示用户名而不是“你”",
+	"Discover a model": "发现更多模型",
+	"Discover a prompt": "发现更多提示词",
+	"Discover, download, and explore custom prompts": "发现、下载并探索更多自定义提示词",
+	"Discover, download, and explore model presets": "发现、下载并探索更多模型预设",
+	"Display the username instead of You in the Chat": "在对话中显示用户名而不是“你”",
 	"Document": "文档",
 	"Document Settings": "文档设置",
 	"Documents": "文档",
-	"does not make any external connections, and your data stays securely on your locally hosted server.": "不进行任何外部连接,您的数据安全地存储在您的本地服务器上。",
+	"does not make any external connections, and your data stays securely on your locally hosted server.": "不会与外部建立任何连接,您的数据会安全地存储在本地托管的服务器上。",
 	"Don't Allow": "不允许",
-	"Don't have an account?": "没有账?",
-	"Don't like the style": "不喜欢这个风",
+	"Don't have an account?": "没有账?",
+	"Don't like the style": "不喜欢这个风",
 	"Download": "下载",
 	"Download canceled": "下载已取消",
 	"Download Database": "下载数据库",
 	"Drop any files here to add to the conversation": "拖动文件到此处以添加到对话中",
-	"e.g. '30s','10m'. Valid time units are 's', 'm', 'h'.": "例如 '30s','10m'。有效的时间单位是's', 'm', 'h'。",
+	"e.g. '30s','10m'. Valid time units are 's', 'm', 'h'.": "例如 '30s','10m'。有效的时间单位是秒:'s',分:'m',时:'h'。",
 	"Edit": "编辑",
 	"Edit Doc": "编辑文档",
 	"Edit User": "编辑用户",
-	"Email": "电子邮件",
-	"Embedding Batch Size": "",
-	"Embedding Model": "嵌入模型",
-	"Embedding Model Engine": "嵌入模型引擎",
-	"Embedding model set to \"{{embedding_model}}\"": "嵌入模型设置为 \"{{embedding_model}}\"",
-	"Enable Chat History": "启用聊天历史",
-	"Enable Community Sharing": "",
-	"Enable New Sign Ups": "启用新注册",
-	"Enable Web Search": "",
+	"Email": "邮箱地址",
+  "Embedding Batch Size": "",
+	"Embedding Model": "语义向量模型",
+	"Embedding Model Engine": "语义向量模型引擎",
+	"Embedding model set to \"{{embedding_model}}\"": "语义向量模型设置为 \"{{embedding_model}}\"",
+	"Enable Chat History": "启用对话历史记录",
+	"Enable Community Sharing": "启用分享至社区",
+	"Enable New Sign Ups": "允许新用户注册",
+	"Enable Web Search": "启用网络搜索",
 	"Enabled": "启用",
-	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "确保您的 CSV 文件按以下顺序包含 4 列: 姓名、电子邮件、密码、角色。",
+	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "确保您的 CSV 文件按以下顺序包含 4 列: 姓名、邮箱地址、密码、角色。",
 	"Enter {{role}} message here": "在此处输入 {{role}} 信息",
 	"Enter a detail about yourself for your LLMs to recall": "输入 LLM 可以记住的信息",
-	"Enter Brave Search API Key": "",
+	"Enter Brave Search API Key": "输入 Brave Search API 密钥",
 	"Enter Chunk Overlap": "输入块重叠 (Chunk Overlap)",
 	"Enter Chunk Size": "输入块大小 (Chunk Size)",
-	"Enter Github Raw URL": "",
-	"Enter Google PSE API Key": "",
-	"Enter Google PSE Engine Id": "",
-	"Enter Image Size (e.g. 512x512)": "输入图片大小 (例如 512x512)",
+	"Enter Github Raw URL": "输入 Github Raw 地址",
+	"Enter Google PSE API Key": "输入 Google PSE API 密钥",
+	"Enter Google PSE Engine Id": "输入 Google PSE 引擎 ID",
+	"Enter Image Size (e.g. 512x512)": "输入图像分辨率 (例如:512x512)",
 	"Enter language codes": "输入语言代码",
-	"Enter model tag (e.g. {{modelTag}})": "输入模型标签 (例如{{modelTag}})",
-	"Enter Number of Steps (e.g. 50)": "输入步数 (例如 50)",
-	"Enter Score": "输入分",
-	"Enter Searxng Query URL": "",
-	"Enter Serper API Key": "",
-	"Enter Serpstack API Key": "",
-	"Enter stop sequence": "输入停止序列",
+	"Enter model tag (e.g. {{modelTag}})": "输入模型标签 (例如{{modelTag}})",
+	"Enter Number of Steps (e.g. 50)": "输入步骤数 (Steps) (例如:50)",
+	"Enter Score": "输入分",
+	"Enter Searxng Query URL": "输入 Searxng 查询地址",
+	"Enter Serper API Key": "输入 Serper API 密钥",
+	"Enter Serpstack API Key": "输入 Serpstack API 密钥",
+	"Enter stop sequence": "输入停止序列 (Stop Sequence)",
 	"Enter Top K": "输入 Top K",
-	"Enter URL (e.g. http://127.0.0.1:7860/)": "输入 URL (例如 http://127.0.0.1:7860/)",
-	"Enter URL (e.g. http://localhost:11434)": "输入 URL (例如 http://localhost:11434)",
-	"Enter Your Email": "输入您的电子邮件",
-	"Enter Your Full Name": "输入您的名",
+	"Enter URL (e.g. http://127.0.0.1:7860/)": "输入地址 (例如:http://127.0.0.1:7860/)",
+	"Enter URL (e.g. http://localhost:11434)": "输入地址 (例如:http://localhost:11434)",
+	"Enter Your Email": "输入您的邮箱地址",
+	"Enter Your Full Name": "输入您的名",
 	"Enter Your Password": "输入您的密码",
-	"Enter Your Role": "输入您的角色",
-	"Error": "",
+	"Enter Your Role": "输入您的权限组",
+	"Error": "错误",
 	"Experimental": "实验性",
-	"Export All Chats (All Users)": "导出所有聊天(所有用户)",
-	"Export Chats": "导出聊天",
+	"Export": "导出",
+	"Export All Chats (All Users)": "导出所有用户对话",
+  "Export chat (.json)": "",
+	"Export Chats": "导出对话",
 	"Export Documents Mapping": "导出文档映射",
-	"Export Models": "",
+	"Export Models": "导出模型",
 	"Export Prompts": "导出提示词",
 	"Failed to create API Key.": "无法创建 API 密钥。",
 	"Failed to read clipboard contents": "无法读取剪贴板内容",
 	"February": "二月",
-	"Feel free to add specific details": "请随意添加具体细节",
+	"Feel free to add specific details": "欢迎补充具体细节",
 	"File Mode": "文件模式",
 	"File not found.": "文件未找到。",
-	"Fingerprint spoofing detected: Unable to use initials as avatar. Defaulting to default profile image.": "检测到指纹欺骗: 无法使用姓名缩写作为头像。默认使用默认个人形象。",
-	"Fluidly stream large external response chunks": "流畅地传输大型外部响应块",
-	"Focus chat input": "聚焦聊天输入",
-	"Followed instructions perfectly": "完全遵循说明",
+	"Fingerprint spoofing detected: Unable to use initials as avatar. Defaulting to default profile image.": "检测到指纹伪造:无法使用姓名缩写作为头像。默认使用默认个人形象。",
+	"Fluidly stream large external response chunks": "流畅地传输外部大型响应块数据",
+	"Focus chat input": "聚焦对话输入",
+	"Followed instructions perfectly": "完全遵循指令",
 	"Format your variables using square brackets like this:": "使用这样的方括号格式化你的变量:",
-	"Frequency Penalty": "",
-	"Full Screen Mode": "屏模式",
+	"Frequency Penalty": "频率惩罚",
+	"Full Screen Mode": "屏模式",
 	"General": "通用",
 	"General Settings": "通用设置",
-	"Generating search query": "",
+	"Generating search query": "生成搜索查询",
 	"Generation Info": "生成信息",
-	"Good Response": "反应良好",
-	"Google PSE API Key": "",
-	"Google PSE Engine Id": "",
+	"Good Response": "优秀回复",
+	"Google PSE API Key": "Google PSE API 密钥",
+	"Google PSE Engine Id": "Google PSE 引擎 ID",
 	"h:mm a": "h:mm a",
 	"has no conversations.": "没有对话。",
 	"Hello, {{name}}": "你好,{{name}}",
 	"Help": "帮助",
 	"Hide": "隐藏",
-	"How can I help you today?": "今天能帮你做什么?",
+	"How can I help you today?": "今天能帮你做什么?",
 	"Hybrid Search": "混合搜索",
 	"Image Generation (Experimental)": "图像生成(实验性)",
 	"Image Generation Engine": "图像生成引擎",
 	"Image Settings": "图像设置",
 	"Images": "图像",
-	"Import Chats": "导入聊天",
+	"Import Chats": "导入对话记录",
 	"Import Documents Mapping": "导入文档映射",
-	"Import Models": "",
-	"Import Prompts": "导入提示",
+	"Import Models": "导入模型",
+	"Import Prompts": "导入提示",
 	"Include `--api` flag when running stable-diffusion-webui": "运行 stable-diffusion-webui 时包含 `--api` 标志",
-	"Info": "",
+	"Info": "信息",
 	"Input commands": "输入命令",
-	"Install from Github URL": "",
+	"Install from Github URL": "从 Github URL 安装",
 	"Interface": "界面",
 	"Invalid Tag": "无效标签",
 	"January": "一月",
 	"join our Discord for help.": "加入我们的 Discord 寻求帮助。",
 	"JSON": "JSON",
-	"JSON Preview": "",
+	"JSON Preview": "JSON 预览",
 	"July": "七月",
 	"June": "六月",
 	"JWT Expiration": "JWT 过期",
@@ -262,73 +265,75 @@
 	"Keep Alive": "保持活动",
 	"Keyboard shortcuts": "键盘快捷键",
 	"Language": "语言",
-	"Last Active": "最后活跃",
+	"Last Active": "最后在线时间",
 	"Light": "浅色",
-	"Listening...": "监听中...",
-	"LLMs can make mistakes. Verify important information.": "LLM 可能会生成错误信息,请验证重要信息。",
-	"LTR": "LTR",
+	"Listening...": "正在倾听...",
+	"LLMs can make mistakes. Verify important information.": "大语言模型可能会生成误导性错误信息,请对关键信息加以验证。",
+	"LTR": "从左至右",
 	"Made by OpenWebUI Community": "由 OpenWebUI 社区制作",
 	"Make sure to enclose them with": "确保将它们包含在内",
 	"Manage Models": "管理模型",
 	"Manage Ollama Models": "管理 Ollama 模型",
-	"Manage Pipelines": "",
+	"Manage Pipelines": "管理 Pipeline",
 	"March": "三月",
-	"Max Tokens (num_predict)": "",
+	"Max Tokens (num_predict)": "最多 Token (num_predict)",
 	"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "最多可以同时下载 3 个模型,请稍后重试。",
 	"May": "五月",
-	"Memories accessible by LLMs will be shown here.": "LLMs 可以访问的记忆将显示在这里。",
+	"Memories accessible by LLMs will be shown here.": "大语言模型可访问的记忆将在此显示。",
 	"Memory": "记忆",
-	"Messages you send after creating your link won't be shared. Users with the URL will be able to view the shared chat.": "创建链接后发送的消息不会被共享。具有 URL 的用户将能够查看共享聊天。",
+	"Messages you send after creating your link won't be shared. Users with the URL will be able to view the shared chat.": "创建链接后发送的消息不会被共享。具有 URL 的用户将能够查看共享对话。",
 	"Minimum Score": "最低分",
 	"Mirostat": "Mirostat",
 	"Mirostat Eta": "Mirostat Eta",
 	"Mirostat Tau": "Mirostat Tau",
-	"MMMM DD, YYYY": "MMMM DD, YYYY",
-	"MMMM DD, YYYY HH:mm": "MMMM DD, YYYY HH:mm",
+	"MMMM DD, YYYY": "YYYY年 M月 D日",
+	"MMMM DD, YYYY HH:mm": "YYYY年 M月 D日 HH:mm",
 	"Model '{{modelName}}' has been successfully downloaded.": "模型'{{modelName}}'已成功下载。",
 	"Model '{{modelTag}}' is already in queue for downloading.": "模型'{{modelTag}}'已在下载队列中。",
-	"Model {{modelId}} not found": "未找到模型{{modelId}}",
-	"Model {{modelName}} is not vision capable": "",
-	"Model {{name}} is now {{status}}": "",
-	"Model filesystem path detected. Model shortname is required for update, cannot continue.": "检测到模型文件系统路径。模型简名是更新所必需的,无法继续。",
-	"Model ID": "",
+	"Model {{modelId}} not found": "未找到模型 {{modelId}}",
+	"Model {{modelName}} is not vision capable": "模型 {{modelName}} 不支持视觉功能",
+	"Model {{name}} is now {{status}}": "模型 {{name}} 现在是 {{status}}",
+	"Model filesystem path detected. Model shortname is required for update, cannot continue.": "检测到模型文件系统路径,无法继续进行。更新操作需要提供模型简称。",
+	"Model ID": "模型 ID",
 	"Model not selected": "未选择模型",
-	"Model Params": "",
+	"Model Params": "模型参数",
 	"Model Whitelisting": "白名单模型",
 	"Model(s) Whitelisted": "模型已加入白名单",
 	"Modelfile Content": "模型文件内容",
 	"Models": "模型",
 	"More": "更多",
 	"Name": "名称",
-	"Name Tag": "名称标签",
-	"Name your model": "",
-	"New Chat": "新聊天",
+	"Name Tag": "标签",
+	"Name your model": "为您的模型命名",
+	"New Chat": "新对话",
 	"New Password": "新密码",
 	"No results found": "未找到结果",
-	"No search query generated": "",
+	"No search query generated": "未生成搜索查询",
 	"No source available": "没有可用来源",
-	"None": "",
+	"None": "",
 	"Not factually correct": "与事实不符",
 	"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "注意:如果设置了最低分数,搜索只会返回分数大于或等于最低分数的文档。",
 	"Notifications": "桌面通知",
 	"November": "十一月",
+	"num_thread (Ollama)": "num_thread(Ollama)",
 	"October": "十月",
 	"Off": "关闭",
-	"Okay, Let's Go!": "好的,我们开始吧!",
-	"OLED Dark": "黑色",
+	"Okay, Let's Go!": "确认,开始使用!",
+	"OLED Dark": "黑色",
 	"Ollama": "Ollama",
-	"Ollama API": "",
+	"Ollama API": "Ollama API",
+	"Ollama API disabled": "Ollama API 已禁用",
 	"Ollama Version": "Ollama 版本",
-	"On": "开",
+	"On": "开",
 	"Only": "仅",
 	"Only alphanumeric characters and hyphens are allowed in the command string.": "命令字符串中只允许使用英文字母,数字 (0-9) 以及连字符 (-)。",
-	"Oops! Hold tight! Your files are still in the processing oven. We're cooking them up to perfection. Please be patient and we'll let you know once they're ready.": "哎呀!请稍等!您的文件仍在处理中。我们正在将它们做得尽善尽美,请耐心等待,一旦准备好我们会通知您。",
-	"Oops! Looks like the URL is invalid. Please double-check and try again.": "哎呀!看起来 URL 无效。请仔细检查后再试一次。",
-	"Oops! You're using an unsupported method (frontend only). Please serve the WebUI from the backend.": "哎呀!您正在使用不支持的方法(仅限前端)。请从后端提供 WebUI。",
+	"Oops! Hold tight! Your files are still in the processing oven. We're cooking them up to perfection. Please be patient and we'll let you know once they're ready.": "糟糕!请稍等!您的文件还在处理中。我们正在努力让它们达到最佳效果。请耐心等待,准备好后我们会通知您。",
+	"Oops! Looks like the URL is invalid. Please double-check and try again.": "糟糕!此链接似乎为无效链接。请检查后重试。",
+	"Oops! You're using an unsupported method (frontend only). Please serve the WebUI from the backend.": "糟糕!你正在使用不被支持的方法(仅前端)。请从后端提供 WebUI 服务。",
 	"Open": "打开",
 	"Open AI": "Open AI",
 	"Open AI (Dall-E)": "Open AI (Dall-E)",
-	"Open new chat": "打开新聊天",
+	"Open new chat": "打开新对话",
 	"OpenAI": "OpenAI",
 	"OpenAI API": "OpenAI API",
 	"OpenAI API Config": "OpenAI API 配置",
@@ -340,31 +345,31 @@
 	"PDF document (.pdf)": "PDF 文档 (.pdf)",
 	"PDF Extract Images (OCR)": "PDF 图像处理 (使用 OCR)",
 	"pending": "待定",
-	"Permission denied when accessing microphone: {{error}}": "访问麦克风时权限被拒绝:{{error}}",
+	"Permission denied when accessing microphone: {{error}}": "申请麦克风权限被拒绝:{{error}}",
 	"Personalization": "个性化",
-	"Pipelines": "",
-	"Pipelines Valves": "",
+	"Pipelines": "Pipeline",
+	"Pipelines Valves": "Pipeline 值",
 	"Plain text (.txt)": "TXT 文档 (.txt)",
 	"Playground": "AI 对话游乐场",
-	"Positive attitude": "积极态度",
+	"Positive attitude": "较为积极态度",
 	"Previous 30 days": "过去 30 天",
 	"Previous 7 days": "过去 7 天",
 	"Profile Image": "用户头像",
 	"Prompt": "提示词",
-	"Prompt (e.g. Tell me a fun fact about the Roman Empire)": "提示(例如:告诉我一个关于罗马帝国的有趣事实)",
+	"Prompt (e.g. Tell me a fun fact about the Roman Empire)": "提示(例如:给我讲一个关于罗马帝国的趣事。)",
 	"Prompt Content": "提示词内容",
 	"Prompt suggestions": "提示词建议",
 	"Prompts": "提示词",
 	"Pull \"{{searchValue}}\" from Ollama.com": "从 Ollama.com 拉取 \"{{searchValue}}\"",
 	"Pull a model from Ollama.com": "从 Ollama.com 拉取一个模型",
 	"Query Params": "查询参数",
-	"RAG Template": "RAG 模板",
+	"RAG Template": "RAG 提示词模板",
 	"Read Aloud": "朗读",
 	"Record voice": "录音",
 	"Redirecting you to OpenWebUI Community": "正在将您重定向到 OpenWebUI 社区",
-	"Refused when it shouldn't have": "在不拒绝时拒绝",
+	"Refused when it shouldn't have": "在不拒绝时拒绝",
 	"Regenerate": "重新生成",
-	"Release Notes": "发布说明",
+	"Release Notes": "更新日志",
 	"Remove": "移除",
 	"Remove Model": "移除模型",
 	"Rename": "重命名",
@@ -374,64 +379,64 @@
 	"Reranking model disabled": "重排模型已禁用",
 	"Reranking model set to \"{{reranking_model}}\"": "重排模型设置为 \"{{reranking_model}}\"",
 	"Reset Vector Storage": "重置向量存储",
-	"Response AutoCopy to Clipboard": "自动复制回到剪贴板",
-	"Role": "角色",
+	"Response AutoCopy to Clipboard": "自动复制回到剪贴板",
+	"Role": "权限组",
 	"Rosé Pine": "Rosé Pine",
 	"Rosé Pine Dawn": "Rosé Pine Dawn",
-	"RTL": "RTL",
+	"RTL": "从右至左",
 	"Save": "保存",
 	"Save & Create": "保存并创建",
 	"Save & Update": "保存并更新",
-	"Saving chat logs directly to your browser's storage is no longer supported. Please take a moment to download and delete your chat logs by clicking the button below. Don't worry, you can easily re-import your chat logs to the backend through": "不再支持直接将聊天记录保存到浏览器存储中。请点击下面的按钮下载并删除您的聊天记录。别担心,您可以通过轻松地将聊天记录重新导入到后端",
-	"Scan": "扫描",
+	"Saving chat logs directly to your browser's storage is no longer supported. Please take a moment to download and delete your chat logs by clicking the button below. Don't worry, you can easily re-import your chat logs to the backend through": "我们不再支持将聊天记录直接保存到浏览器的存储空间。请点击下面的按钮下载并删除您的聊天记录。别担心,您可以轻松地将聊天记录重新导入到后台。",
+	"Scan": "立即扫描",
 	"Scan complete!": "扫描完成!",
 	"Scan for documents from {{path}}": "从 {{path}} 扫描文档",
 	"Search": "搜索",
 	"Search a model": "搜索模型",
-	"Search Chats": "",
+	"Search Chats": "搜索对话",
 	"Search Documents": "搜索文档",
-	"Search Models": "",
+	"Search Models": "搜索模型",
 	"Search Prompts": "搜索提示词",
-	"Search Result Count": "",
-	"Searched {{count}} sites_other": "",
-	"Searching the web for '{{searchQuery}}'": "",
-	"Searxng Query URL": "",
+	"Search Result Count": "搜索结果数量",
+	"Searched {{count}} sites_other": "搜索 {{count}} 个网站",
+	"Searching the web for '{{searchQuery}}'": "在网络中搜索 '{{searchQuery}}' ",
+	"Searxng Query URL": "Searxng 查询 URL",
 	"See readme.md for instructions": "查看 readme.md 以获取说明",
-	"See what's new": "查看最新内容",
-	"Seed": "种子",
-	"Select a base model": "",
+	"See what's new": "查阅最新更新内容",
+	"Seed": "种子 (Seed)",
+	"Select a base model": "选择一个基础模型",
 	"Select a mode": "选择一个模式",
 	"Select a model": "选择一个模型",
-	"Select a pipeline": "",
-	"Select a pipeline url": "",
+	"Select a pipeline": "选择一个管道",
+	"Select a pipeline url": "选择一个管道 URL",
 	"Select an Ollama instance": "选择一个 Ollama 实例",
 	"Select model": "选择模型",
-	"Selected model(s) do not support image inputs": "",
+	"Selected model(s) do not support image inputs": "已选择的模型不支持发送图像",
 	"Send": "发送",
 	"Send a Message": "发送消息",
 	"Send message": "发送消息",
 	"September": "九月",
-	"Serper API Key": "",
-	"Serpstack API Key": "",
+	"Serper API Key": "Serper API 密钥",
+	"Serpstack API Key": "Serpstack API 密钥",
 	"Server connection verified": "已验证服务器连接",
 	"Set as default": "设为默认",
 	"Set Default Model": "设置默认模型",
-	"Set embedding model (e.g. {{model}})": "设置嵌入模型(例如 {{model}})",
-	"Set Image Size": "设置图片大小",
+	"Set embedding model (e.g. {{model}})": "设置语义向量模型 (例如:{{model}})",
+	"Set Image Size": "设置图片分辨率",
 	"Set Model": "设置模型",
-	"Set reranking model (e.g. {{model}})": "设置重排模型(例如 {{model}})",
+	"Set reranking model (e.g. {{model}})": "设置重排模型 (例如:{{model}})",
 	"Set Steps": "设置步骤",
-	"Set Task Model": "",
-	"Set Voice": "设置音",
+	"Set Task Model": "设置任务模型",
+	"Set Voice": "设置音",
 	"Settings": "设置",
 	"Settings saved successfully!": "设置已保存",
 	"Share": "分享",
-	"Share Chat": "分享聊天",
+	"Share Chat": "分享对话",
 	"Share to OpenWebUI Community": "分享到 OpenWebUI 社区",
 	"short-summary": "简短总结",
 	"Show": "显示",
 	"Show shortcuts": "显示快捷方式",
-	"Showcased creativity": "展示创意",
+	"Showcased creativity": "显示出较强的创造力",
 	"sidebar": "侧边栏",
 	"Sign in": "登录",
 	"Sign Out": "登出",
@@ -439,40 +444,40 @@
 	"Signing in": "正在登录",
 	"Source": "来源",
 	"Speech recognition error: {{error}}": "语音识别错误:{{error}}",
-	"Speech-to-Text Engine": "语音转文引擎",
+	"Speech-to-Text Engine": "语音转文引擎",
 	"SpeechRecognition API is not supported in this browser.": "此浏览器不支持 SpeechRecognition API。",
-	"Stop Sequence": "停止序列",
-	"STT Settings": "语音转文设置",
+	"Stop Sequence": "停止序列 (Stop Sequence)",
+	"STT Settings": "语音转文设置",
 	"Submit": "提交",
-	"Subtitle (e.g. about the Roman Empire)": "副标题(如关于罗马帝国的副标题)",
+	"Subtitle (e.g. about the Roman Empire)": "副标题(关于罗马帝国的副标题)",
 	"Success": "成功",
 	"Successfully updated.": "成功更新。",
 	"Suggested": "建议",
 	"System": "系统",
-	"System Prompt": "系统提示",
+	"System Prompt": "系统提示",
 	"Tags": "标签",
-	"Tell us more:": "告诉我们更多信息",
-	"Temperature": "温度",
+	"Tell us more:": "请告诉我们更多细节",
+	"Temperature": "温度 (Temperature)",
 	"Template": "模板",
 	"Text Completion": "文本完成",
 	"Text-to-Speech Engine": "文本转语音引擎",
 	"Tfs Z": "Tfs Z",
-	"Thanks for your feedback!": "感谢的反馈!",
+	"Thanks for your feedback!": "感谢的反馈!",
 	"The score should be a value between 0.0 (0%) and 1.0 (100%).": "分值应介于 0.0(0%)和 1.0(100%)之间。",
 	"Theme": "主题",
-	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "这确保了您宝贵的对话被安全保存到后端数据库中。谢谢!",
+	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "这将确保您的宝贵对话被安全地保存到后台数据库中。感谢!",
 	"This setting does not sync across browsers or devices.": "此设置不会在浏览器或设备之间同步。",
 	"Thorough explanation": "详尽的解释",
-	"Tip: Update multiple variable slots consecutively by pressing the tab key in the chat input after each replacement.": "提示:在每次替换后,在聊天输入中按 Tab 键可以连续更新多个变量。",
+	"Tip: Update multiple variable slots consecutively by pressing the tab key in the chat input after each replacement.": "提示:在每次替换后,在对话输入中按 Tab 键可以连续更新多个变量。",
 	"Title": "标题",
-	"Title (e.g. Tell me a fun fact)": "标题(例如 告诉我一个有趣的事实)",
-	"Title Auto-Generation": "标题自动生成",
+	"Title (e.g. Tell me a fun fact)": "标题(例如 给我讲一个有趣的事实)",
+	"Title Auto-Generation": "自动生成标题",
 	"Title cannot be an empty string.": "标题不能为空字符串。",
-	"Title Generation Prompt": "自动生成标题的提示词",
+	"Title Generation Prompt": "用于自动生成标题的提示词",
 	"to": "到",
 	"To access the available model names for downloading,": "要访问可下载的模型名称,",
 	"To access the GGUF models available for downloading,": "要访问可下载的 GGUF 模型,",
-	"to chat input.": "到聊天输入。",
+	"to chat input.": "到对话输入。",
 	"Today": "今天",
 	"Toggle settings": "切换设置",
 	"Toggle sidebar": "切换侧边栏",
@@ -480,19 +485,21 @@
 	"Top P": "Top P",
 	"Trouble accessing Ollama?": "访问 Ollama 时遇到问题?",
 	"TTS Settings": "文本转语音设置",
-	"Type": "",
+	"Type": "类型",
 	"Type Hugging Face Resolve (Download) URL": "输入 Hugging Face 解析(下载)URL",
-	"Uh-oh! There was an issue connecting to {{provider}}.": "哎呀!连接到{{provider}}时出现问题。",
+	"Uh-oh! There was an issue connecting to {{provider}}.": "糟糕!连接到 {{provider}} 时出现问题。",
 	"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "未知文件类型'{{file_type}}',将视为纯文本进行处理",
 	"Update and Copy Link": "更新和复制链接",
 	"Update password": "更新密码",
 	"Upload a GGUF model": "上传一个 GGUF 模型",
-	"Upload Files": "",
+	"Upload Files": "上传文件",
 	"Upload Progress": "上传进度",
 	"URL Mode": "URL 模式",
-	"Use '#' in the prompt input to load and select your documents.": "在提示输入中使用'#'来加载和选择你的文档。",
-	"Use Gravatar": "使用 Gravatar",
-	"Use Initials": "使用首字母缩写",
+	"Use '#' in the prompt input to load and select your documents.": "在输入框中输入'#'号来选择并附带你的文档。",
+	"Use Gravatar": "使用来自 Gravatar 的头像",
+	"Use Initials": "使用首个字符作为头像",
+	"use_mlock (Ollama)": "use_mlock(Ollama)",
+	"use_mmap (Ollama)": "use_mmap (Ollama)",
 	"user": "用户",
 	"User Permissions": "用户权限",
 	"Users": "用户",
@@ -501,30 +508,30 @@
 	"variable": "变量",
 	"variable to have them replaced with clipboard content.": "变量将被剪贴板内容替换。",
 	"Version": "版本",
-	"Warning": "",
-	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "警告: 如果更新或更改 embedding 模型,则需要重新导入所有文档。",
+	"Warning": "警告",
+	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "警告:如果您修改了语义向量模型,则需要重新导入所有文档。",
 	"Web": "网页",
-	"Web Loader Settings": "Web 加载器设置",
-	"Web Params": "Web 参数",
-	"Web Search": "",
-	"Web Search Engine": "",
+	"Web Loader Settings": "网页爬取设置",
+	"Web Params": "网络爬取设置",
+	"Web Search": "网络搜索",
+	"Web Search Engine": "Web 搜索引擎",
 	"Webhook URL": "Webhook URL",
-	"WebUI Add-ons": "WebUI 件",
+	"WebUI Add-ons": "WebUI 附加组件",
 	"WebUI Settings": "WebUI 设置",
 	"WebUI will make requests to": "WebUI 将请求",
-	"What’s New in": "最新变化",
-	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "当历史记录被关闭时,这个浏览器上的新聊天不会出现在你任何设备的历史记录中。",
+	"What’s New in": "最近更新内容于",
+	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "当关闭历史记录功能时,在此浏览器上新的对话记录将不会同步到您其他设备的历史记录中。",
 	"Whisper (Local)": "Whisper(本地)",
 	"Workspace": "工作空间",
-	"Write a prompt suggestion (e.g. Who are you?)": "写一个提示建议(例如:你是谁?)",
+	"Write a prompt suggestion (e.g. Who are you?)": "写一个提示建议(例如:你是谁?)",
 	"Write a summary in 50 words that summarizes [topic or keyword].": "用 50 个字写一个总结 [主题或关键词]。",
 	"Yesterday": "昨天",
 	"You": "你",
-	"You cannot clone a base model": "",
-	"You have no archived conversations.": "你没有档的对话。",
-	"You have shared this chat": "你分享了这次聊天",
+	"You cannot clone a base model": "你不能复制基础模型",
+	"You have no archived conversations.": "你没有已归档的对话。",
+	"You have shared this chat": "你之前已经分享过此",
 	"You're a helpful assistant.": "你是一个有帮助的助手。",
 	"You're now logged in.": "已登录。",
-	"Youtube": "Youtube",
-	"Youtube Loader Settings": "Youtube 加载器设置"
+	"Youtube": "YouTube",
+	"Youtube Loader Settings": "YouTube 爬取设置"
 }

+ 76 - 69
src/lib/i18n/locales/zh-TW/translation.json

@@ -3,19 +3,19 @@
 	"(Beta)": "(測試版)",
 	"(e.g. `sh webui.sh --api`)": "(例如 `sh webui.sh --api`)",
 	"(latest)": "(最新版)",
-	"{{ models }}": "",
-	"{{ owner }}: You cannot delete a base model": "",
+	"{{ models }}": "{{ models }}",
+	"{{ owner }}: You cannot delete a base model": "{{ owner }}:你無法刪除基本模型",
 	"{{modelName}} is thinking...": "{{modelName}} 正在思考...",
 	"{{user}}'s Chats": "{{user}} 的聊天",
 	"{{webUIName}} Backend Required": "需要 {{webUIName}} 後台",
-	"A task model is used when performing tasks such as generating titles for chats and web search queries": "",
+	"A task model is used when performing tasks such as generating titles for chats and web search queries": "在執行任務時使用任務模型,例如為聊天和網絡搜索查詢生成標題",
 	"a user": "使用者",
 	"About": "關於",
 	"Account": "帳號",
 	"Accurate information": "準確信息",
 	"Add": "新增",
-	"Add a model id": "",
-	"Add a short description about what this model does": "",
+	"Add a model id": "新增模型 ID",
+	"Add a short description about what this model does": "為這個模型添加一個簡短描述",
 	"Add a short title for this prompt": "為這個提示詞添加一個簡短的標題",
 	"Add a tag": "新增標籤",
 	"Add custom prompt": "新增自定義提示詞",
@@ -31,12 +31,13 @@
 	"Admin Panel": "管理員控制台",
 	"Admin Settings": "管理設定",
 	"Advanced Parameters": "進階參數",
-	"Advanced Params": "",
+	"Advanced Params": "進階參數",
 	"all": "所有",
 	"All Documents": "所有文件",
 	"All Users": "所有使用者",
 	"Allow": "允許",
 	"Allow Chat Deletion": "允許刪除聊天紀錄",
+	"Allow non-local voices": "",
 	"alphanumeric characters and hyphens": "英文字母、數字(0~9)和連字符(-)",
 	"Already have an account?": "已經有帳號了嗎?",
 	"an assistant": "助手",
@@ -48,7 +49,7 @@
 	"API keys": "API Keys",
 	"April": "4月",
 	"Archive": "存檔",
-	"Archive All Chats": "",
+	"Archive All Chats": "存檔所有聊天紀錄",
 	"Archived Chats": "聊天記錄存檔",
 	"are allowed - Activate this command by typing": "是允許的 - 透過輸入",
 	"Are you sure?": "你確定嗎?",
@@ -63,14 +64,14 @@
 	"available!": "可以使用!",
 	"Back": "返回",
 	"Bad Response": "錯誤回應",
-	"Banners": "",
-	"Base Model (From)": "",
+	"Banners": "橫幅",
+	"Base Model (From)": "基本模型(來自)",
 	"before": "前",
 	"Being lazy": "懶人模式",
-	"Brave Search API Key": "",
+	"Brave Search API Key": "搜尋 API Key",
 	"Bypass SSL verification for Websites": "跳過 SSL 驗證",
 	"Cancel": "取消",
-	"Capabilities": "",
+	"Capabilities": "功能",
 	"Change Password": "修改密碼",
 	"Chat": "聊天",
 	"Chat Bubble UI": "聊天氣泡介面",
@@ -93,14 +94,14 @@
 	"Click here to select documents.": "點擊這裡選擇文件。",
 	"click here.": "點擊這裡。",
 	"Click on the user role button to change a user's role.": "點擊使用者 Role 按鈕以更改使用者的 Role。",
-	"Clone": "",
+	"Clone": "複製",
 	"Close": "關閉",
 	"Collection": "收藏",
 	"ComfyUI": "ComfyUI",
 	"ComfyUI Base URL": "ComfyUI 基本 URL",
 	"ComfyUI Base URL is required.": "需要 ComfyUI 基本 URL",
 	"Command": "命令",
-	"Concurrent Requests": "",
+	"Concurrent Requests": "同時請求",
 	"Confirm Password": "確認密碼",
 	"Connections": "連線",
 	"Content": "內容",
@@ -114,7 +115,7 @@
 	"Copy Link": "複製連結",
 	"Copying to clipboard was successful!": "成功複製到剪貼簿!",
 	"Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "為以下的查詢建立一個簡潔、3-5 個詞的短語作為標題,嚴格遵守 3-5 個詞的限制,避免使用「標題」這個詞:",
-	"Create a model": "",
+	"Create a model": "建立模型",
 	"Create Account": "建立帳號",
 	"Create new key": "建立新密鑰",
 	"Create new secret key": "建立新密鑰",
@@ -123,7 +124,7 @@
 	"Current Model": "目前模型",
 	"Current Password": "目前密碼",
 	"Custom": "自訂",
-	"Customize models for a specific purpose": "",
+	"Customize models for a specific purpose": "為特定目的自定義模型",
 	"Dark": "暗色",
 	"Database": "資料庫",
 	"December": "12月",
@@ -131,24 +132,24 @@
 	"Default (Automatic1111)": "預設(Automatic1111)",
 	"Default (SentenceTransformers)": "預設(SentenceTransformers)",
 	"Default (Web API)": "預設(Web API)",
-	"Default Model": "",
+	"Default Model": "預設模型",
 	"Default model updated": "預設模型已更新",
 	"Default Prompt Suggestions": "預設提示詞建議",
 	"Default User Role": "預設用戶 Role",
 	"delete": "刪除",
 	"Delete": "刪除",
 	"Delete a model": "刪除一個模型",
-	"Delete All Chats": "",
+	"Delete All Chats": "刪除所有聊天紀錄",
 	"Delete chat": "刪除聊天紀錄",
 	"Delete Chat": "刪除聊天紀錄",
 	"delete this link": "刪除此連結",
 	"Delete User": "刪除用戶",
 	"Deleted {{deleteModelTag}}": "已刪除 {{deleteModelTag}}",
-	"Deleted {{name}}": "",
+	"Deleted {{name}}": "已刪除 {{name}}",
 	"Description": "描述",
 	"Didn't fully follow instructions": "無法完全遵循指示",
 	"Disabled": "已停用",
-	"Discover a model": "",
+	"Discover a model": "發現新模型",
 	"Discover a prompt": "發現新提示詞",
 	"Discover, download, and explore custom prompts": "發現、下載並探索他人設置的提示詞",
 	"Discover, download, and explore model presets": "發現、下載並探索他人設置的模型",
@@ -174,27 +175,27 @@
 	"Embedding Model Engine": "嵌入模型引擎",
 	"Embedding model set to \"{{embedding_model}}\"": "嵌入模型已設定為 \"{{embedding_model}}\"",
 	"Enable Chat History": "啟用聊天歷史",
-	"Enable Community Sharing": "",
+	"Enable Community Sharing": "啟用社區分享",
 	"Enable New Sign Ups": "允許註冊新帳號",
-	"Enable Web Search": "",
+	"Enable Web Search": "啟用網絡搜索",
 	"Enabled": "已啟用",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "請確保你的 CSV 檔案包含這四個欄位,並按照此順序:名稱、電子郵件、密碼、角色。",
 	"Enter {{role}} message here": "在這裡輸入 {{role}} 訊息",
 	"Enter a detail about yourself for your LLMs to recall": "輸入 LLM 記憶的詳細內容",
-	"Enter Brave Search API Key": "",
+	"Enter Brave Search API Key": "輸入 Brave Search API Key",
 	"Enter Chunk Overlap": "輸入 Chunk Overlap",
 	"Enter Chunk Size": "輸入 Chunk 大小",
-	"Enter Github Raw URL": "",
-	"Enter Google PSE API Key": "",
-	"Enter Google PSE Engine Id": "",
+	"Enter Github Raw URL": "輸入 Github Raw URL",
+	"Enter Google PSE API Key": "輸入 Google PSE API Key",
+	"Enter Google PSE Engine Id": "輸入 Google PSE Engine Id",
 	"Enter Image Size (e.g. 512x512)": "輸入圖片大小(例如 512x512)",
 	"Enter language codes": "輸入語言代碼",
 	"Enter model tag (e.g. {{modelTag}})": "輸入模型標籤(例如 {{modelTag}})",
 	"Enter Number of Steps (e.g. 50)": "輸入步數(例如 50)",
 	"Enter Score": "輸入分數",
-	"Enter Searxng Query URL": "",
-	"Enter Serper API Key": "",
-	"Enter Serpstack API Key": "",
+	"Enter Searxng Query URL": "輸入 Searxng 查詢 URL",
+	"Enter Serper API Key": "輸入 Serper API Key",
+	"Enter Serpstack API Key": "輸入 Serpstack API Key",
 	"Enter stop sequence": "輸入停止序列",
 	"Enter Top K": "輸入 Top K",
 	"Enter URL (e.g. http://127.0.0.1:7860/)": "輸入 URL(例如 http://127.0.0.1:7860/)",
@@ -203,12 +204,14 @@
 	"Enter Your Full Name": "輸入你的全名",
 	"Enter Your Password": "輸入你的密碼",
 	"Enter Your Role": "輸入你的角色",
-	"Error": "",
+	"Error": "錯誤",
 	"Experimental": "實驗功能",
+	"Export": "出口",
 	"Export All Chats (All Users)": "匯出所有聊天紀錄(所有使用者)",
+	"Export chat (.json)": "",
 	"Export Chats": "匯出聊天紀錄",
 	"Export Documents Mapping": "匯出文件映射",
-	"Export Models": "",
+	"Export Models": "匯出模型",
 	"Export Prompts": "匯出提示詞",
 	"Failed to create API Key.": "無法創建 API 金鑰。",
 	"Failed to read clipboard contents": "無法讀取剪貼簿內容",
@@ -221,15 +224,15 @@
 	"Focus chat input": "聚焦聊天輸入框",
 	"Followed instructions perfectly": "完全遵循指示",
 	"Format your variables using square brackets like this:": "像這樣使用方括號來格式化你的變數:",
-	"Frequency Penalty": "",
+	"Frequency Penalty": "頻率懲罰",
 	"Full Screen Mode": "全螢幕模式",
 	"General": "常用",
 	"General Settings": "常用設定",
-	"Generating search query": "",
+	"Generating search query": "生成搜索查詢",
 	"Generation Info": "生成信息",
 	"Good Response": "優秀的回應",
-	"Google PSE API Key": "",
-	"Google PSE Engine Id": "",
+	"Google PSE API Key": "Google PSE API Key",
+	"Google PSE Engine Id": "Google PSE Engine Id",
 	"h:mm a": "h:mm a",
 	"has no conversations.": "沒有對話",
 	"Hello, {{name}}": "你好,{{name}}",
@@ -243,18 +246,18 @@
 	"Images": "圖片",
 	"Import Chats": "匯入聊天紀錄",
 	"Import Documents Mapping": "匯入文件映射",
-	"Import Models": "",
+	"Import Models": "匯入模型",
 	"Import Prompts": "匯入提示詞",
 	"Include `--api` flag when running stable-diffusion-webui": "在運行 stable-diffusion-webui 時加上 `--api` 標誌",
-	"Info": "",
+	"Info": "資訊",
 	"Input commands": "輸入命令",
-	"Install from Github URL": "",
+	"Install from Github URL": "從 Github URL 安裝",
 	"Interface": "介面",
 	"Invalid Tag": "無效標籤",
 	"January": "1月",
 	"join our Discord for help.": "加入我們的 Discord 尋找幫助。",
 	"JSON": "JSON",
-	"JSON Preview": "",
+	"JSON Preview": "JSON 預覽",
 	"July": "7月",
 	"June": "6月",
 	"JWT Expiration": "JWT 過期時間",
@@ -271,9 +274,9 @@
 	"Make sure to enclose them with": "請確保變數有被以下符號框住:",
 	"Manage Models": "管理模組",
 	"Manage Ollama Models": "管理 Ollama 模型",
-	"Manage Pipelines": "",
+	"Manage Pipelines": "管理管道",
 	"March": "3月",
-	"Max Tokens (num_predict)": "",
+	"Max Tokens (num_predict)": "最大 Token(num_predict)",
 	"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "最多可以同時下載 3 個模型。請稍後再試。",
 	"May": "5月",
 	"Memories accessible by LLMs will be shown here.": "LLM 記憶將會顯示在此處。",
@@ -288,12 +291,12 @@
 	"Model '{{modelName}}' has been successfully downloaded.": "'{{modelName}}' 模型已成功下載。",
 	"Model '{{modelTag}}' is already in queue for downloading.": "'{{modelTag}}' 模型已經在下載佇列中。",
 	"Model {{modelId}} not found": "找不到 {{modelId}} 模型",
-	"Model {{modelName}} is not vision capable": "",
-	"Model {{name}} is now {{status}}": "",
+	"Model {{modelName}} is not vision capable": "{{modelName}} 模型不適用於視覺",
+	"Model {{name}} is now {{status}}": "{{name}} 模型現在是 {{status}}",
 	"Model filesystem path detected. Model shortname is required for update, cannot continue.": "模型文件系統路徑已檢測。需要更新模型短名,無法繼續。",
-	"Model ID": "",
+	"Model ID": "模型 ID",
 	"Model not selected": "未選擇模型",
-	"Model Params": "",
+	"Model Params": "模型參數",
 	"Model Whitelisting": "白名單模型",
 	"Model(s) Whitelisted": "模型已加入白名單",
 	"Modelfile Content": "Modelfile 內容",
@@ -301,23 +304,25 @@
 	"More": "更多",
 	"Name": "名稱",
 	"Name Tag": "名稱標籤",
-	"Name your model": "",
+	"Name your model": "請輸入模型名稱",
 	"New Chat": "新增聊天",
 	"New Password": "新密碼",
 	"No results found": "沒有找到結果",
-	"No search query generated": "",
+	"No search query generated": "沒有生成搜索查詢",
 	"No source available": "沒有可用的來源",
-	"None": "",
+	"None": "",
 	"Not factually correct": "與真實資訊不相符",
 	"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "註:如果設置最低分數,則搜索將只返回分數大於或等於最低分數的文檔。",
 	"Notifications": "桌面通知",
 	"November": "11月",
+	"num_thread (Ollama)": "num_thread(奧拉馬)",
 	"October": "10 月",
 	"Off": "關閉",
 	"Okay, Let's Go!": "好的,啟動吧!",
 	"OLED Dark": "`",
 	"Ollama": "Ollama",
-	"Ollama API": "",
+	"Ollama API": "Ollama API",
+	"Ollama API disabled": "Ollama API 已禁用",
 	"Ollama Version": "Ollama 版本",
 	"On": "開啟",
 	"Only": "僅有",
@@ -342,8 +347,8 @@
 	"pending": "待審查",
 	"Permission denied when accessing microphone: {{error}}": "存取麥克風時被拒絕權限:{{error}}",
 	"Personalization": "個人化",
-	"Pipelines": "",
-	"Pipelines Valves": "",
+	"Pipelines": "管線",
+	"Pipelines Valves": "管線阀门",
 	"Plain text (.txt)": "純文字 (.txt)",
 	"Playground": "AI 對話遊樂場",
 	"Positive attitude": "積極態度",
@@ -388,31 +393,31 @@
 	"Scan for documents from {{path}}": "從 {{path}} 掃描文件",
 	"Search": "搜尋",
 	"Search a model": "搜尋模型",
-	"Search Chats": "",
+	"Search Chats": "搜尋聊天",
 	"Search Documents": "搜尋文件",
-	"Search Models": "",
+	"Search Models": "搜尋模型",
 	"Search Prompts": "搜尋提示詞",
-	"Search Result Count": "",
-	"Searched {{count}} sites_other": "",
-	"Searching the web for '{{searchQuery}}'": "",
-	"Searxng Query URL": "",
+	"Search Result Count": "搜尋結果數量",
+	"Searched {{count}} sites_other": "掃描 {{count}} 個網站_其他",
+	"Searching the web for '{{searchQuery}}'": "搜尋網站 '{{searchQuery}}'",
+	"Searxng Query URL": "Searxng 查詢 URL",
 	"See readme.md for instructions": "查看 readme.md 獲取指南",
 	"See what's new": "查看最新內容",
 	"Seed": "種子",
-	"Select a base model": "",
+	"Select a base model": "選擇基礎模型",
 	"Select a mode": "選擇模式",
 	"Select a model": "選擇一個模型",
-	"Select a pipeline": "",
-	"Select a pipeline url": "",
+	"Select a pipeline": "選擇管道",
+	"Select a pipeline url": "選擇管道 URL",
 	"Select an Ollama instance": "選擇 Ollama 實例",
 	"Select model": "選擇模型",
-	"Selected model(s) do not support image inputs": "",
+	"Selected model(s) do not support image inputs": "已選擇模型不支持圖像輸入",
 	"Send": "傳送",
 	"Send a Message": "傳送訊息",
 	"Send message": "傳送訊息",
 	"September": "九月",
-	"Serper API Key": "",
-	"Serpstack API Key": "",
+	"Serper API Key": "Serper API Key",
+	"Serpstack API Key": "Serpstack API Key",
 	"Server connection verified": "已驗證伺服器連線",
 	"Set as default": "設為預設",
 	"Set Default Model": "設定預設模型",
@@ -421,7 +426,7 @@
 	"Set Model": "設定模型",
 	"Set reranking model (e.g. {{model}})": "設定重新排序模型(例如:{{model}})",
 	"Set Steps": "設定步數",
-	"Set Task Model": "",
+	"Set Task Model": "設定任務模型",
 	"Set Voice": "設定語音",
 	"Settings": "設定",
 	"Settings saved successfully!": "成功儲存設定",
@@ -480,19 +485,21 @@
 	"Top P": "Top P",
 	"Trouble accessing Ollama?": "存取 Ollama 時遇到問題?",
 	"TTS Settings": "文字轉語音設定",
-	"Type": "",
+	"Type": "類型",
 	"Type Hugging Face Resolve (Download) URL": "輸入 Hugging Face 解析後的(下載)URL",
 	"Uh-oh! There was an issue connecting to {{provider}}.": "哎呀!連線到 {{provider}} 時出現問題。",
 	"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "未知的文件類型 '{{file_type}}',但接受並視為純文字",
 	"Update and Copy Link": "更新並複製連結",
 	"Update password": "更新密碼",
 	"Upload a GGUF model": "上傳一個 GGUF 模型",
-	"Upload Files": "",
+	"Upload Files": "上傳文件",
 	"Upload Progress": "上傳進度",
 	"URL Mode": "URL 模式",
 	"Use '#' in the prompt input to load and select your documents.": "在輸入框中輸入 '#' 以載入並選擇你的文件。",
 	"Use Gravatar": "使用 Gravatar",
 	"Use Initials": "使用初始头像",
+	"use_mlock (Ollama)": "use_mlock(奧拉馬)",
+	"use_mmap (Ollama)": "use_mmap (Ollama)",
 	"user": "使用者",
 	"User Permissions": "使用者權限",
 	"Users": "使用者",
@@ -501,13 +508,13 @@
 	"variable": "變數",
 	"variable to have them replaced with clipboard content.": "變數將替換為剪貼簿內容",
 	"Version": "版本",
-	"Warning": "",
+	"Warning": "警告",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "警告:如果更新或更改你的嵌入模型,則需要重新導入所有文件",
 	"Web": "網頁",
 	"Web Loader Settings": "Web 載入器設定",
 	"Web Params": "Web 參數",
-	"Web Search": "",
-	"Web Search Engine": "",
+	"Web Search": "Web 搜尋",
+	"Web Search Engine": "Web 搜尋引擎",
 	"Webhook URL": "Webhook URL",
 	"WebUI Add-ons": "WebUI 擴充套件",
 	"WebUI Settings": "WebUI 設定",
@@ -520,7 +527,7 @@
 	"Write a summary in 50 words that summarizes [topic or keyword].": "寫一個 50 字的摘要來概括 [主題或關鍵詞]。",
 	"Yesterday": "昨天",
 	"You": "你",
-	"You cannot clone a base model": "",
+	"You cannot clone a base model": "你不能複製基礎模型",
 	"You have no archived conversations.": "你沒有任何已封存的對話",
 	"You have shared this chat": "你已分享此聊天",
 	"You're a helpful assistant.": "你是一位善於協助他人的助手。",

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

@@ -111,6 +111,7 @@ type AudioSettings = {
 	TTSEngine?: string;
 	speaker?: string;
 	model?: string;
+	nonLocalVoices?: boolean;
 };
 
 type TitleSettings = {

Nem az összes módosított fájl került megjelenítésre, mert túl sok fájl változott