mirror of
https://github.com/open-webui/open-webui.git
synced 2025-04-11 21:39:07 +02:00
commit
dbb83f9824
2
.github/pull_request_template.md
vendored
2
.github/pull_request_template.md
vendored
@ -11,7 +11,7 @@
|
||||
- [ ] **Dependencies:** Are there any new dependencies? Have you updated the dependency versions in the documentation?
|
||||
- [ ] **Testing:** Have you written and run sufficient tests for validating the changes?
|
||||
- [ ] **Code review:** Have you performed a self-review of your code, addressing any coding standard issues and ensuring adherence to the project's coding standards?
|
||||
- [ ] **Label:** To cleary categorize this pull request, assign a relevant label to the pull request title, using one of the following:
|
||||
- [ ] **Prefix:** To cleary categorize this pull request, prefix the pull request title, using one of the following:
|
||||
- **BREAKING CHANGE**: Significant changes that may affect compatibility
|
||||
- **build**: Changes that affect the build system or external dependencies
|
||||
- **ci**: Changes to our continuous integration processes or workflows
|
||||
|
13
CHANGELOG.md
13
CHANGELOG.md
@ -5,6 +5,19 @@ 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.5] - 2024-06-05
|
||||
|
||||
### Added
|
||||
|
||||
- **👥 Active Users Indicator**: Now you can see how many people are currently active and what they are running. This helps you gauge when performance might slow down due to a high number of users.
|
||||
- **🗂️ Create Ollama Modelfile**: The option to create a modelfile for Ollama has been reintroduced in the Settings > Models section, making it easier to manage your models.
|
||||
- **⚙️ Default Model Setting**: Added an option to set the default model from Settings > Interface. This feature is now easily accessible, especially convenient for mobile users as it was previously hidden.
|
||||
- **🌐 Enhanced Translations**: We've improved the Chinese translations and added support for Turkmen and Norwegian languages to make the interface more accessible globally.
|
||||
|
||||
### Fixed
|
||||
|
||||
- **📱 Mobile View Improvements**: The UI now uses dvh (dynamic viewport height) instead of vh (viewport height), providing a better and more responsive experience for mobile users.
|
||||
|
||||
## [0.2.4] - 2024-06-03
|
||||
|
||||
### Added
|
||||
|
@ -11,7 +11,7 @@
|
||||
[](https://discord.gg/5rJgQTnV4s)
|
||||
[](https://github.com/sponsors/tjbck)
|
||||
|
||||
Open WebUI is an extensible, feature-rich, and user-friendly self-hosted WebUI designed to operate entirely offline. It supports various LLM runners, including Ollama and OpenAI-compatible APIs. For more information, be sure to check out our [Open WebUI Documentation](https://docs.openwebui.com/).
|
||||
Open WebUI is an [extensible](https://github.com/open-webui/pipelines), feature-rich, and user-friendly self-hosted WebUI designed to operate entirely offline. It supports various LLM runners, including Ollama and OpenAI-compatible APIs. For more information, be sure to check out our [Open WebUI Documentation](https://docs.openwebui.com/).
|
||||
|
||||

|
||||
|
||||
|
@ -274,54 +274,57 @@ async def get_ollama_tags(
|
||||
@app.get("/api/version")
|
||||
@app.get("/api/version/{url_idx}")
|
||||
async def get_ollama_versions(url_idx: Optional[int] = None):
|
||||
if app.state.config.ENABLE_OLLAMA_API:
|
||||
if url_idx == None:
|
||||
|
||||
if url_idx == None:
|
||||
# returns lowest version
|
||||
tasks = [
|
||||
fetch_url(f"{url}/api/version")
|
||||
for url in app.state.config.OLLAMA_BASE_URLS
|
||||
]
|
||||
responses = await asyncio.gather(*tasks)
|
||||
responses = list(filter(lambda x: x is not None, responses))
|
||||
|
||||
# returns lowest version
|
||||
tasks = [
|
||||
fetch_url(f"{url}/api/version") for url in app.state.config.OLLAMA_BASE_URLS
|
||||
]
|
||||
responses = await asyncio.gather(*tasks)
|
||||
responses = list(filter(lambda x: x is not None, responses))
|
||||
if len(responses) > 0:
|
||||
lowest_version = min(
|
||||
responses,
|
||||
key=lambda x: tuple(
|
||||
map(int, re.sub(r"^v|-.*", "", x["version"]).split("."))
|
||||
),
|
||||
)
|
||||
|
||||
if len(responses) > 0:
|
||||
lowest_version = min(
|
||||
responses,
|
||||
key=lambda x: tuple(
|
||||
map(int, re.sub(r"^v|-.*", "", x["version"]).split("."))
|
||||
),
|
||||
)
|
||||
|
||||
return {"version": lowest_version["version"]}
|
||||
return {"version": lowest_version["version"]}
|
||||
else:
|
||||
raise HTTPException(
|
||||
status_code=500,
|
||||
detail=ERROR_MESSAGES.OLLAMA_NOT_FOUND,
|
||||
)
|
||||
else:
|
||||
raise HTTPException(
|
||||
status_code=500,
|
||||
detail=ERROR_MESSAGES.OLLAMA_NOT_FOUND,
|
||||
)
|
||||
url = app.state.config.OLLAMA_BASE_URLS[url_idx]
|
||||
|
||||
r = None
|
||||
try:
|
||||
r = requests.request(method="GET", url=f"{url}/api/version")
|
||||
r.raise_for_status()
|
||||
|
||||
return r.json()
|
||||
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,
|
||||
)
|
||||
else:
|
||||
url = app.state.config.OLLAMA_BASE_URLS[url_idx]
|
||||
|
||||
r = None
|
||||
try:
|
||||
r = requests.request(method="GET", url=f"{url}/api/version")
|
||||
r.raise_for_status()
|
||||
|
||||
return r.json()
|
||||
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 {"version": False}
|
||||
|
||||
|
||||
class ModelNameForm(BaseModel):
|
||||
|
@ -1164,6 +1164,30 @@ def reset_vector_db(user=Depends(get_admin_user)):
|
||||
CHROMA_CLIENT.reset()
|
||||
|
||||
|
||||
@app.get("/reset/uploads")
|
||||
def reset_upload_dir(user=Depends(get_admin_user)) -> bool:
|
||||
folder = f"{UPLOAD_DIR}"
|
||||
try:
|
||||
# Check if the directory exists
|
||||
if os.path.exists(folder):
|
||||
# Iterate over all the files and directories in the specified directory
|
||||
for filename in os.listdir(folder):
|
||||
file_path = os.path.join(folder, filename)
|
||||
try:
|
||||
if os.path.isfile(file_path) or os.path.islink(file_path):
|
||||
os.unlink(file_path) # Remove the file or link
|
||||
elif os.path.isdir(file_path):
|
||||
shutil.rmtree(file_path) # Remove the directory
|
||||
except Exception as e:
|
||||
print(f"Failed to delete {file_path}. Reason: {e}")
|
||||
else:
|
||||
print(f"The directory {folder} does not exist")
|
||||
except Exception as e:
|
||||
print(f"Failed to process the directory {folder}. Reason: {e}")
|
||||
|
||||
return True
|
||||
|
||||
|
||||
@app.get("/reset")
|
||||
def reset(user=Depends(get_admin_user)) -> bool:
|
||||
folder = f"{UPLOAD_DIR}"
|
||||
|
132
backend/apps/socket/main.py
Normal file
132
backend/apps/socket/main.py
Normal file
@ -0,0 +1,132 @@
|
||||
import socketio
|
||||
import asyncio
|
||||
|
||||
|
||||
from apps.webui.models.users import Users
|
||||
from utils.utils import decode_token
|
||||
|
||||
sio = socketio.AsyncServer(cors_allowed_origins=[], async_mode="asgi")
|
||||
app = socketio.ASGIApp(sio, socketio_path="/ws/socket.io")
|
||||
|
||||
# Dictionary to maintain the user pool
|
||||
|
||||
|
||||
USER_POOL = {}
|
||||
USAGE_POOL = {}
|
||||
# Timeout duration in seconds
|
||||
TIMEOUT_DURATION = 3
|
||||
|
||||
|
||||
@sio.event
|
||||
async def connect(sid, environ, auth):
|
||||
print("connect ", sid)
|
||||
|
||||
user = None
|
||||
if auth and "token" in auth:
|
||||
data = decode_token(auth["token"])
|
||||
|
||||
if data is not None and "id" in data:
|
||||
user = Users.get_user_by_id(data["id"])
|
||||
|
||||
if user:
|
||||
USER_POOL[sid] = user.id
|
||||
print(f"user {user.name}({user.id}) connected with session ID {sid}")
|
||||
|
||||
print(len(set(USER_POOL)))
|
||||
await sio.emit("user-count", {"count": len(set(USER_POOL))})
|
||||
await sio.emit("usage", {"models": get_models_in_use()})
|
||||
|
||||
|
||||
@sio.on("user-join")
|
||||
async def user_join(sid, data):
|
||||
print("user-join", sid, data)
|
||||
|
||||
auth = data["auth"] if "auth" in data else None
|
||||
|
||||
if auth and "token" in auth:
|
||||
data = decode_token(auth["token"])
|
||||
|
||||
if data is not None and "id" in data:
|
||||
user = Users.get_user_by_id(data["id"])
|
||||
|
||||
if user:
|
||||
USER_POOL[sid] = user.id
|
||||
print(f"user {user.name}({user.id}) connected with session ID {sid}")
|
||||
|
||||
print(len(set(USER_POOL)))
|
||||
await sio.emit("user-count", {"count": len(set(USER_POOL))})
|
||||
|
||||
|
||||
@sio.on("user-count")
|
||||
async def user_count(sid):
|
||||
print("user-count", sid)
|
||||
await sio.emit("user-count", {"count": len(set(USER_POOL))})
|
||||
|
||||
|
||||
def get_models_in_use():
|
||||
# Aggregate all models in use
|
||||
models_in_use = []
|
||||
for model_id, data in USAGE_POOL.items():
|
||||
models_in_use.append(model_id)
|
||||
print(f"Models in use: {models_in_use}")
|
||||
|
||||
return models_in_use
|
||||
|
||||
|
||||
@sio.on("usage")
|
||||
async def usage(sid, data):
|
||||
print(f'Received "usage" event from {sid}: {data}')
|
||||
|
||||
model_id = data["model"]
|
||||
|
||||
# Cancel previous callback if there is one
|
||||
if model_id in USAGE_POOL:
|
||||
USAGE_POOL[model_id]["callback"].cancel()
|
||||
|
||||
# Store the new usage data and task
|
||||
|
||||
if model_id in USAGE_POOL:
|
||||
USAGE_POOL[model_id]["sids"].append(sid)
|
||||
USAGE_POOL[model_id]["sids"] = list(set(USAGE_POOL[model_id]["sids"]))
|
||||
|
||||
else:
|
||||
USAGE_POOL[model_id] = {"sids": [sid]}
|
||||
|
||||
# Schedule a task to remove the usage data after TIMEOUT_DURATION
|
||||
USAGE_POOL[model_id]["callback"] = asyncio.create_task(
|
||||
remove_after_timeout(sid, model_id)
|
||||
)
|
||||
|
||||
# Broadcast the usage data to all clients
|
||||
await sio.emit("usage", {"models": get_models_in_use()})
|
||||
|
||||
|
||||
async def remove_after_timeout(sid, model_id):
|
||||
try:
|
||||
print("remove_after_timeout", sid, model_id)
|
||||
await asyncio.sleep(TIMEOUT_DURATION)
|
||||
if model_id in USAGE_POOL:
|
||||
print(USAGE_POOL[model_id]["sids"])
|
||||
USAGE_POOL[model_id]["sids"].remove(sid)
|
||||
USAGE_POOL[model_id]["sids"] = list(set(USAGE_POOL[model_id]["sids"]))
|
||||
|
||||
if len(USAGE_POOL[model_id]["sids"]) == 0:
|
||||
del USAGE_POOL[model_id]
|
||||
|
||||
print(f"Removed usage data for {model_id} due to timeout")
|
||||
# Broadcast the usage data to all clients
|
||||
await sio.emit("usage", {"models": get_models_in_use()})
|
||||
except asyncio.CancelledError:
|
||||
# Task was cancelled due to new 'usage' event
|
||||
pass
|
||||
|
||||
|
||||
@sio.event
|
||||
async def disconnect(sid):
|
||||
if sid in USER_POOL:
|
||||
disconnected_user = USER_POOL.pop(sid)
|
||||
print(f"user {disconnected_user} disconnected with session ID {sid}")
|
||||
|
||||
await sio.emit("user-count", {"count": len(USER_POOL)})
|
||||
else:
|
||||
print(f"Unknown session ID {sid} disconnected")
|
@ -84,3 +84,7 @@ class ERROR_MESSAGES(str, Enum):
|
||||
WEB_SEARCH_ERROR = (
|
||||
lambda err="": f"{err if err else 'Oops! Something went wrong while searching the web.'}"
|
||||
)
|
||||
|
||||
OLLAMA_API_DISABLED = (
|
||||
"The Ollama API is disabled. Please enable it to use this feature."
|
||||
)
|
||||
|
@ -20,6 +20,8 @@ from starlette.exceptions import HTTPException as StarletteHTTPException
|
||||
from starlette.middleware.base import BaseHTTPMiddleware
|
||||
from starlette.responses import StreamingResponse, Response
|
||||
|
||||
|
||||
from apps.socket.main import app as socket_app
|
||||
from apps.ollama.main import app as ollama_app, get_all_models as get_ollama_models
|
||||
from apps.openai.main import app as openai_app, get_all_models as get_openai_models
|
||||
|
||||
@ -376,6 +378,9 @@ async def update_embedding_function(request: Request, call_next):
|
||||
return response
|
||||
|
||||
|
||||
app.mount("/ws", socket_app)
|
||||
|
||||
|
||||
app.mount("/ollama", ollama_app)
|
||||
app.mount("/openai", openai_app)
|
||||
|
||||
|
84
package-lock.json
generated
84
package-lock.json
generated
@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "open-webui",
|
||||
"version": "0.2.4",
|
||||
"version": "0.2.5",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "open-webui",
|
||||
"version": "0.2.4",
|
||||
"version": "0.2.5",
|
||||
"dependencies": {
|
||||
"@pyscript/core": "^0.4.32",
|
||||
"@sveltejs/adapter-node": "^1.3.1",
|
||||
@ -25,6 +25,7 @@
|
||||
"marked": "^9.1.0",
|
||||
"mermaid": "^10.9.1",
|
||||
"pyodide": "^0.26.0-alpha.4",
|
||||
"socket.io-client": "^4.7.5",
|
||||
"sortablejs": "^1.15.2",
|
||||
"svelte-sonner": "^0.3.19",
|
||||
"tippy.js": "^6.3.7",
|
||||
@ -1214,6 +1215,11 @@
|
||||
"integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@socket.io/component-emitter": {
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz",
|
||||
"integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA=="
|
||||
},
|
||||
"node_modules/@sveltejs/adapter-auto": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@sveltejs/adapter-auto/-/adapter-auto-2.1.1.tgz",
|
||||
@ -3800,6 +3806,46 @@
|
||||
"once": "^1.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/engine.io-client": {
|
||||
"version": "6.5.3",
|
||||
"resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.5.3.tgz",
|
||||
"integrity": "sha512-9Z0qLB0NIisTRt1DZ/8U2k12RJn8yls/nXMZLn+/N8hANT3TcYjKFKcwbw5zFQiN4NTde3TSY9zb79e1ij6j9Q==",
|
||||
"dependencies": {
|
||||
"@socket.io/component-emitter": "~3.1.0",
|
||||
"debug": "~4.3.1",
|
||||
"engine.io-parser": "~5.2.1",
|
||||
"ws": "~8.11.0",
|
||||
"xmlhttprequest-ssl": "~2.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/engine.io-client/node_modules/ws": {
|
||||
"version": "8.11.0",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz",
|
||||
"integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==",
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"bufferutil": "^4.0.1",
|
||||
"utf-8-validate": "^5.0.2"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"bufferutil": {
|
||||
"optional": true
|
||||
},
|
||||
"utf-8-validate": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/engine.io-parser": {
|
||||
"version": "5.2.2",
|
||||
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.2.tgz",
|
||||
"integrity": "sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw==",
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/enquirer": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz",
|
||||
@ -7949,6 +7995,32 @@
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/socket.io-client": {
|
||||
"version": "4.7.5",
|
||||
"resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.5.tgz",
|
||||
"integrity": "sha512-sJ/tqHOCe7Z50JCBCXrsY3I2k03iOiUe+tj1OmKeD2lXPiGH/RUCdTZFoqVyN7l1MnpIzPrGtLcijffmeouNlQ==",
|
||||
"dependencies": {
|
||||
"@socket.io/component-emitter": "~3.1.0",
|
||||
"debug": "~4.3.2",
|
||||
"engine.io-client": "~6.5.2",
|
||||
"socket.io-parser": "~4.2.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/socket.io-parser": {
|
||||
"version": "4.2.4",
|
||||
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz",
|
||||
"integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==",
|
||||
"dependencies": {
|
||||
"@socket.io/component-emitter": "~3.1.0",
|
||||
"debug": "~4.3.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/sorcery": {
|
||||
"version": "0.11.0",
|
||||
"resolved": "https://registry.npmjs.org/sorcery/-/sorcery-0.11.0.tgz",
|
||||
@ -10142,6 +10214,14 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/xmlhttprequest-ssl": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz",
|
||||
"integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==",
|
||||
"engines": {
|
||||
"node": ">=0.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/xtend": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "open-webui",
|
||||
"version": "0.2.4",
|
||||
"version": "0.2.5",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "npm run pyodide:fetch && vite dev --host",
|
||||
@ -65,6 +65,7 @@
|
||||
"marked": "^9.1.0",
|
||||
"mermaid": "^10.9.1",
|
||||
"pyodide": "^0.26.0-alpha.4",
|
||||
"socket.io-client": "^4.7.5",
|
||||
"sortablejs": "^1.15.2",
|
||||
"svelte-sonner": "^0.3.19",
|
||||
"tippy.js": "^6.3.7",
|
||||
|
@ -369,21 +369,29 @@ export const generateChatCompletion = async (token: string = '', body: object) =
|
||||
return [res, controller];
|
||||
};
|
||||
|
||||
export const createModel = async (token: string, tagName: string, content: string) => {
|
||||
export const createModel = async (
|
||||
token: string,
|
||||
tagName: string,
|
||||
content: string,
|
||||
urlIdx: string | null = null
|
||||
) => {
|
||||
let error = null;
|
||||
|
||||
const res = await fetch(`${OLLAMA_API_BASE_URL}/api/create`, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
Accept: 'application/json',
|
||||
'Content-Type': 'application/json',
|
||||
Authorization: `Bearer ${token}`
|
||||
},
|
||||
body: JSON.stringify({
|
||||
name: tagName,
|
||||
modelfile: content
|
||||
})
|
||||
}).catch((err) => {
|
||||
const res = await fetch(
|
||||
`${OLLAMA_API_BASE_URL}/api/create${urlIdx !== null ? `/${urlIdx}` : ''}`,
|
||||
{
|
||||
method: 'POST',
|
||||
headers: {
|
||||
Accept: 'application/json',
|
||||
'Content-Type': 'application/json',
|
||||
Authorization: `Bearer ${token}`
|
||||
},
|
||||
body: JSON.stringify({
|
||||
name: tagName,
|
||||
modelfile: content
|
||||
})
|
||||
}
|
||||
).catch((err) => {
|
||||
error = err;
|
||||
return null;
|
||||
});
|
||||
|
@ -359,6 +359,32 @@ export const scanDocs = async (token: string) => {
|
||||
return res;
|
||||
};
|
||||
|
||||
export const resetUploadDir = async (token: string) => {
|
||||
let error = null;
|
||||
|
||||
const res = await fetch(`${RAG_API_BASE_URL}/reset/uploads`, {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
Accept: 'application/json',
|
||||
authorization: `Bearer ${token}`
|
||||
}
|
||||
})
|
||||
.then(async (res) => {
|
||||
if (!res.ok) throw await res.json();
|
||||
return res.json();
|
||||
})
|
||||
.catch((err) => {
|
||||
error = err.detail;
|
||||
return null;
|
||||
});
|
||||
|
||||
if (error) {
|
||||
throw error;
|
||||
}
|
||||
|
||||
return res;
|
||||
};
|
||||
|
||||
export const resetVectorDB = async (token: string) => {
|
||||
let error = null;
|
||||
|
||||
|
@ -18,7 +18,8 @@
|
||||
tags as _tags,
|
||||
WEBUI_NAME,
|
||||
banners,
|
||||
user
|
||||
user,
|
||||
socket
|
||||
} from '$lib/stores';
|
||||
import {
|
||||
convertMessagesToHistory,
|
||||
@ -280,6 +281,16 @@
|
||||
}
|
||||
};
|
||||
|
||||
const getChatEventEmitter = async (modelId: string, chatId: string = '') => {
|
||||
return setInterval(() => {
|
||||
$socket?.emit('usage', {
|
||||
action: 'chat',
|
||||
model: modelId,
|
||||
chat_id: chatId
|
||||
});
|
||||
}, 1000);
|
||||
};
|
||||
|
||||
//////////////////////////
|
||||
// Ollama functions
|
||||
//////////////////////////
|
||||
@ -451,6 +462,8 @@
|
||||
}
|
||||
responseMessage.userContext = userContext;
|
||||
|
||||
const chatEventEmitter = await getChatEventEmitter(model.id, _chatId);
|
||||
|
||||
if (webSearchEnabled) {
|
||||
await getWebSearchResults(model.id, parentId, responseMessageId);
|
||||
}
|
||||
@ -460,6 +473,10 @@
|
||||
} else if (model) {
|
||||
await sendPromptOllama(model, prompt, responseMessageId, _chatId);
|
||||
}
|
||||
|
||||
console.log('chatEventEmitter', chatEventEmitter);
|
||||
|
||||
if (chatEventEmitter) clearInterval(chatEventEmitter);
|
||||
} else {
|
||||
toast.error($i18n.t(`Model {{modelId}} not found`, { modelId }));
|
||||
}
|
||||
@ -542,6 +559,7 @@
|
||||
|
||||
const sendPromptOllama = async (model, userPrompt, responseMessageId, _chatId) => {
|
||||
model = model.id;
|
||||
|
||||
const responseMessage = history.messages[responseMessageId];
|
||||
|
||||
// Wait until history/message have been updated
|
||||
@ -1177,7 +1195,7 @@
|
||||
|
||||
{#if !chatIdProp || (loaded && chatIdProp)}
|
||||
<div
|
||||
class="min-h-screen max-h-screen {$showSidebar
|
||||
class="h-screen max-h-[100dvh] {$showSidebar
|
||||
? 'md:max-w-[calc(100%-260px)]'
|
||||
: ''} w-full max-w-full flex flex-col"
|
||||
>
|
||||
|
@ -286,7 +286,7 @@
|
||||
{#each messages as message, messageIdx}
|
||||
<div class=" w-full {messageIdx === messages.length - 1 ? ' pb-12' : ''}">
|
||||
<div
|
||||
class="flex flex-col justify-between px-5 mb-3 {$settings?.fullScreenMode ?? null
|
||||
class="flex flex-col justify-between px-5 mb-3 {$settings?.widescreenMode ?? null
|
||||
? 'max-w-full'
|
||||
: 'max-w-5xl'} mx-auto rounded-lg group"
|
||||
>
|
||||
|
@ -315,8 +315,8 @@
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-center justify-between mb-1">
|
||||
<div class="text-sm">
|
||||
<div class="flex items-center justify-between my-1.5">
|
||||
<div class="text-xs">
|
||||
{$i18n.t('Allow non-local voices')}
|
||||
</div>
|
||||
|
||||
|
@ -16,11 +16,12 @@
|
||||
let responseAutoCopy = false;
|
||||
let titleAutoGenerateModel = '';
|
||||
let titleAutoGenerateModelExternal = '';
|
||||
let fullScreenMode = false;
|
||||
let widescreenMode = false;
|
||||
let titleGenerationPrompt = '';
|
||||
let splitLargeChunks = false;
|
||||
|
||||
// Interface
|
||||
let defaultModelId = '';
|
||||
let promptSuggestions = [];
|
||||
let showUsername = false;
|
||||
let chatBubble = true;
|
||||
@ -31,9 +32,9 @@
|
||||
saveSettings({ splitLargeChunks: splitLargeChunks });
|
||||
};
|
||||
|
||||
const toggleFullScreenMode = async () => {
|
||||
fullScreenMode = !fullScreenMode;
|
||||
saveSettings({ fullScreenMode: fullScreenMode });
|
||||
const togglewidescreenMode = async () => {
|
||||
widescreenMode = !widescreenMode;
|
||||
saveSettings({ widescreenMode: widescreenMode });
|
||||
};
|
||||
|
||||
const toggleChatBubble = async () => {
|
||||
@ -96,7 +97,8 @@
|
||||
modelExternal:
|
||||
titleAutoGenerateModelExternal !== '' ? titleAutoGenerateModelExternal : undefined,
|
||||
prompt: titleGenerationPrompt ? titleGenerationPrompt : undefined
|
||||
}
|
||||
},
|
||||
models: [defaultModelId]
|
||||
});
|
||||
};
|
||||
|
||||
@ -114,9 +116,11 @@
|
||||
responseAutoCopy = $settings.responseAutoCopy ?? false;
|
||||
showUsername = $settings.showUsername ?? false;
|
||||
chatBubble = $settings.chatBubble ?? true;
|
||||
fullScreenMode = $settings.fullScreenMode ?? false;
|
||||
widescreenMode = $settings.widescreenMode ?? false;
|
||||
splitLargeChunks = $settings.splitLargeChunks ?? false;
|
||||
chatDirection = $settings.chatDirection ?? 'LTR';
|
||||
|
||||
defaultModelId = ($settings?.models ?? ['']).at(0);
|
||||
});
|
||||
</script>
|
||||
|
||||
@ -195,16 +199,16 @@
|
||||
|
||||
<div>
|
||||
<div class=" py-0.5 flex w-full justify-between">
|
||||
<div class=" self-center text-xs font-medium">{$i18n.t('Full Screen Mode')}</div>
|
||||
<div class=" self-center text-xs font-medium">{$i18n.t('Widescreen Mode')}</div>
|
||||
|
||||
<button
|
||||
class="p-1 px-3 text-xs flex rounded transition"
|
||||
on:click={() => {
|
||||
toggleFullScreenMode();
|
||||
togglewidescreenMode();
|
||||
}}
|
||||
type="button"
|
||||
>
|
||||
{#if fullScreenMode === true}
|
||||
{#if widescreenMode === true}
|
||||
<span class="ml-2 self-center">{$i18n.t('On')}</span>
|
||||
{:else}
|
||||
<span class="ml-2 self-center">{$i18n.t('Off')}</span>
|
||||
@ -278,7 +282,30 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr class=" dark:border-gray-700" />
|
||||
<hr class=" dark:border-gray-850" />
|
||||
|
||||
<div class=" space-y-1 mb-3">
|
||||
<div class="mb-2">
|
||||
<div class="flex justify-between items-center text-xs">
|
||||
<div class=" text-xs font-medium">{$i18n.t('Default Model')}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<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={defaultModelId}
|
||||
placeholder="Select a model"
|
||||
>
|
||||
<option value="" disabled selected>{$i18n.t('Select a model')}</option>
|
||||
{#each $models.filter((model) => model.id) as model}
|
||||
<option value={model.id} class="bg-gray-100 dark:bg-gray-700">{model.name}</option>
|
||||
{/each}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr class=" dark:border-gray-850" />
|
||||
|
||||
<div>
|
||||
<div class=" mb-2.5 text-sm font-medium flex">
|
||||
|
@ -43,6 +43,13 @@
|
||||
|
||||
let modelTransferring = false;
|
||||
let modelTag = '';
|
||||
|
||||
let createModelLoading = false;
|
||||
let createModelTag = '';
|
||||
let createModelContent = '';
|
||||
let createModelDigest = '';
|
||||
let createModelPullProgress = null;
|
||||
|
||||
let digest = '';
|
||||
let pullProgress = null;
|
||||
|
||||
@ -434,6 +441,83 @@
|
||||
}
|
||||
};
|
||||
|
||||
const createModelHandler = async () => {
|
||||
createModelLoading = true;
|
||||
const res = await createModel(
|
||||
localStorage.token,
|
||||
createModelTag,
|
||||
createModelContent,
|
||||
selectedOllamaUrlIdx
|
||||
).catch((error) => {
|
||||
toast.error(error);
|
||||
return null;
|
||||
});
|
||||
|
||||
if (res && res.ok) {
|
||||
const reader = res.body
|
||||
.pipeThrough(new TextDecoderStream())
|
||||
.pipeThrough(splitStream('\n'))
|
||||
.getReader();
|
||||
|
||||
while (true) {
|
||||
const { value, done } = await reader.read();
|
||||
if (done) break;
|
||||
|
||||
try {
|
||||
let lines = value.split('\n');
|
||||
|
||||
for (const line of lines) {
|
||||
if (line !== '') {
|
||||
console.log(line);
|
||||
let data = JSON.parse(line);
|
||||
console.log(data);
|
||||
|
||||
if (data.error) {
|
||||
throw data.error;
|
||||
}
|
||||
if (data.detail) {
|
||||
throw data.detail;
|
||||
}
|
||||
|
||||
if (data.status) {
|
||||
if (
|
||||
!data.digest &&
|
||||
!data.status.includes('writing') &&
|
||||
!data.status.includes('sha256')
|
||||
) {
|
||||
toast.success(data.status);
|
||||
} else {
|
||||
if (data.digest) {
|
||||
createModelDigest = data.digest;
|
||||
|
||||
if (data.completed) {
|
||||
createModelPullProgress =
|
||||
Math.round((data.completed / data.total) * 1000) / 10;
|
||||
} else {
|
||||
createModelPullProgress = 100;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
toast.error(error);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
models.set(await getModels());
|
||||
|
||||
createModelLoading = false;
|
||||
|
||||
createModelTag = '';
|
||||
createModelContent = '';
|
||||
createModelDigest = '';
|
||||
createModelPullProgress = null;
|
||||
};
|
||||
|
||||
onMount(async () => {
|
||||
const ollamaConfig = await getOllamaConfig(localStorage.token);
|
||||
|
||||
@ -695,6 +779,77 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<div class=" mb-2 text-sm font-medium">{$i18n.t('Create a model')}</div>
|
||||
<div class="flex w-full">
|
||||
<div class="flex-1 mr-2 flex flex-col gap-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: 'my-modelfile'
|
||||
})}
|
||||
bind:value={createModelTag}
|
||||
disabled={createModelLoading}
|
||||
/>
|
||||
|
||||
<textarea
|
||||
bind:value={createModelContent}
|
||||
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 scrollbar-hidden"
|
||||
rows="6"
|
||||
placeholder={`TEMPLATE """{{ .System }}\nUSER: {{ .Prompt }}\nASSISTANT: """\nPARAMETER num_ctx 4096\nPARAMETER stop "</s>"\nPARAMETER stop "USER:"\nPARAMETER stop "ASSISTANT:"`}
|
||||
disabled={createModelLoading}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div class="flex self-start">
|
||||
<button
|
||||
class="px-2.5 py-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 disabled:cursor-not-allowed"
|
||||
on:click={() => {
|
||||
createModelHandler();
|
||||
}}
|
||||
disabled={createModelLoading}
|
||||
>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 16 16"
|
||||
fill="currentColor"
|
||||
class="size-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>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{#if createModelDigest !== ''}
|
||||
<div class="flex flex-col mt-1">
|
||||
<div class="font-medium mb-1">{createModelTag}</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, createModelPullProgress ?? 0)}%"
|
||||
>
|
||||
{createModelPullProgress ?? 0}%
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{#if createModelDigest}
|
||||
<div class="mt-1 text-xs dark:text-gray-500" style="font-size: 0.5rem;">
|
||||
{createModelDigest}
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
<div class="pt-1">
|
||||
<div class="flex justify-between items-center text-xs">
|
||||
<div class=" text-sm font-medium">{$i18n.t('Experimental')}</div>
|
||||
|
@ -39,7 +39,7 @@
|
||||
{#if !dismissed}
|
||||
{#if mounted}
|
||||
<div
|
||||
class=" top-0 left-0 right-0 p-2 mx-4 px-3 flex justify-center items-center relative rounded-xl border border-gray-50 dark:border-gray-850 text-gray-800 dark:text-gary-100 bg-white dark:bg-gray-900 backdrop-blur-xl z-40"
|
||||
class=" top-0 left-0 right-0 p-2 mx-4 px-3 flex justify-center items-center relative rounded-xl border border-gray-50 dark:border-gray-850 text-gray-800 dark:text-gary-100 bg-white dark:bg-gray-900 backdrop-blur-xl z-30"
|
||||
transition:fade={{ delay: 100, duration: 300 }}
|
||||
>
|
||||
<div class=" flex flex-col md:flex-row md:items-center flex-1 text-sm w-fit gap-1.5">
|
||||
|
@ -21,6 +21,10 @@
|
||||
touch: touch
|
||||
});
|
||||
}
|
||||
} else if (tooltipInstance && content === '') {
|
||||
if (tooltipInstance) {
|
||||
tooltipInstance.destroy();
|
||||
}
|
||||
}
|
||||
|
||||
onDestroy(() => {
|
||||
|
@ -8,7 +8,8 @@
|
||||
getEmbeddingConfig,
|
||||
updateEmbeddingConfig,
|
||||
getRerankingConfig,
|
||||
updateRerankingConfig
|
||||
updateRerankingConfig,
|
||||
resetUploadDir
|
||||
} from '$lib/apis/rag';
|
||||
|
||||
import { documents, models } from '$lib/stores';
|
||||
@ -24,6 +25,7 @@
|
||||
let updateRerankingModelLoading = false;
|
||||
|
||||
let showResetConfirm = false;
|
||||
let showResetUploadDirConfirm = false;
|
||||
|
||||
let embeddingEngine = '';
|
||||
let embeddingModel = '';
|
||||
@ -496,99 +498,203 @@
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
<hr class=" dark:border-gray-700" />
|
||||
<hr class=" dark:border-gray-850" />
|
||||
|
||||
{#if showResetConfirm}
|
||||
<div class="flex justify-between rounded-md items-center py-2 px-3.5 w-full transition">
|
||||
<div class="flex items-center space-x-3">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 16 16"
|
||||
fill="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path d="M2 3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3Z" />
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
d="M13 6H3v6a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V6ZM5.72 7.47a.75.75 0 0 1 1.06 0L8 8.69l1.22-1.22a.75.75 0 1 1 1.06 1.06L9.06 9.75l1.22 1.22a.75.75 0 1 1-1.06 1.06L8 10.81l-1.22 1.22a.75.75 0 0 1-1.06-1.06l1.22-1.22-1.22-1.22a.75.75 0 0 1 0-1.06Z"
|
||||
clip-rule="evenodd"
|
||||
/>
|
||||
</svg>
|
||||
<span>{$i18n.t('Are you sure?')}</span>
|
||||
</div>
|
||||
|
||||
<div class="flex space-x-1.5 items-center">
|
||||
<button
|
||||
class="hover:text-white transition"
|
||||
on:click={() => {
|
||||
const res = resetVectorDB(localStorage.token).catch((error) => {
|
||||
toast.error(error);
|
||||
return null;
|
||||
});
|
||||
|
||||
if (res) {
|
||||
toast.success($i18n.t('Success'));
|
||||
}
|
||||
|
||||
showResetConfirm = false;
|
||||
}}
|
||||
>
|
||||
<div>
|
||||
{#if showResetUploadDirConfirm}
|
||||
<div class="flex justify-between rounded-md items-center py-2 px-3.5 w-full transition">
|
||||
<div class="flex items-center space-x-3">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 20 20"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
class="size-4"
|
||||
>
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
d="M5.625 1.5H9a3.75 3.75 0 0 1 3.75 3.75v1.875c0 1.036.84 1.875 1.875 1.875H16.5a3.75 3.75 0 0 1 3.75 3.75v7.875c0 1.035-.84 1.875-1.875 1.875H5.625a1.875 1.875 0 0 1-1.875-1.875V3.375c0-1.036.84-1.875 1.875-1.875ZM9.75 14.25a.75.75 0 0 0 0 1.5H15a.75.75 0 0 0 0-1.5H9.75Z"
|
||||
clip-rule="evenodd"
|
||||
/>
|
||||
<path
|
||||
d="M14.25 5.25a5.23 5.23 0 0 0-1.279-3.434 9.768 9.768 0 0 1 6.963 6.963A5.23 5.23 0 0 0 16.5 7.5h-1.875a.375.375 0 0 1-.375-.375V5.25Z"
|
||||
/>
|
||||
</svg>
|
||||
<span>{$i18n.t('Are you sure?')}</span>
|
||||
</div>
|
||||
|
||||
<div class="flex space-x-1.5 items-center">
|
||||
<button
|
||||
class="hover:text-white transition"
|
||||
on:click={() => {
|
||||
const res = resetUploadDir(localStorage.token).catch((error) => {
|
||||
toast.error(error);
|
||||
return null;
|
||||
});
|
||||
|
||||
if (res) {
|
||||
toast.success($i18n.t('Success'));
|
||||
}
|
||||
|
||||
showResetUploadDirConfirm = false;
|
||||
}}
|
||||
type="button"
|
||||
>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 20 20"
|
||||
fill="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
d="M16.704 4.153a.75.75 0 01.143 1.052l-8 10.5a.75.75 0 01-1.127.075l-4.5-4.5a.75.75 0 011.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 011.05-.143z"
|
||||
clip-rule="evenodd"
|
||||
/>
|
||||
</svg>
|
||||
</button>
|
||||
<button
|
||||
class="hover:text-white transition"
|
||||
type="button"
|
||||
on:click={() => {
|
||||
showResetUploadDirConfirm = false;
|
||||
}}
|
||||
>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 20 20"
|
||||
fill="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path
|
||||
d="M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z"
|
||||
/>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
{:else}
|
||||
<button
|
||||
class=" flex rounded-xl py-2 px-3.5 w-full hover:bg-gray-200 dark:hover:bg-gray-800 transition"
|
||||
on:click={() => {
|
||||
showResetUploadDirConfirm = true;
|
||||
}}
|
||||
type="button"
|
||||
>
|
||||
<div class=" self-center mr-3">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
class="size-4"
|
||||
>
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
d="M5.625 1.5H9a3.75 3.75 0 0 1 3.75 3.75v1.875c0 1.036.84 1.875 1.875 1.875H16.5a3.75 3.75 0 0 1 3.75 3.75v7.875c0 1.035-.84 1.875-1.875 1.875H5.625a1.875 1.875 0 0 1-1.875-1.875V3.375c0-1.036.84-1.875 1.875-1.875ZM9.75 14.25a.75.75 0 0 0 0 1.5H15a.75.75 0 0 0 0-1.5H9.75Z"
|
||||
clip-rule="evenodd"
|
||||
/>
|
||||
<path
|
||||
d="M14.25 5.25a5.23 5.23 0 0 0-1.279-3.434 9.768 9.768 0 0 1 6.963 6.963A5.23 5.23 0 0 0 16.5 7.5h-1.875a.375.375 0 0 1-.375-.375V5.25Z"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
<div class=" self-center text-sm font-medium">{$i18n.t('Reset Upload Directory')}</div>
|
||||
</button>
|
||||
{/if}
|
||||
|
||||
{#if showResetConfirm}
|
||||
<div class="flex justify-between rounded-md items-center py-2 px-3.5 w-full transition">
|
||||
<div class="flex items-center space-x-3">
|
||||
<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="M16.704 4.153a.75.75 0 01.143 1.052l-8 10.5a.75.75 0 01-1.127.075l-4.5-4.5a.75.75 0 011.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 011.05-.143z"
|
||||
d="M3.5 2A1.5 1.5 0 0 0 2 3.5v9A1.5 1.5 0 0 0 3.5 14h9a1.5 1.5 0 0 0 1.5-1.5v-7A1.5 1.5 0 0 0 12.5 4H9.621a1.5 1.5 0 0 1-1.06-.44L7.439 2.44A1.5 1.5 0 0 0 6.38 2H3.5Zm6.75 7.75a.75.75 0 0 0 0-1.5h-4.5a.75.75 0 0 0 0 1.5h4.5Z"
|
||||
clip-rule="evenodd"
|
||||
/>
|
||||
</svg>
|
||||
</button>
|
||||
<button
|
||||
class="hover:text-white transition"
|
||||
on:click={() => {
|
||||
showResetConfirm = false;
|
||||
}}
|
||||
>
|
||||
<span>{$i18n.t('Are you sure?')}</span>
|
||||
</div>
|
||||
|
||||
<div class="flex space-x-1.5 items-center">
|
||||
<button
|
||||
class="hover:text-white transition"
|
||||
on:click={() => {
|
||||
const res = resetVectorDB(localStorage.token).catch((error) => {
|
||||
toast.error(error);
|
||||
return null;
|
||||
});
|
||||
|
||||
if (res) {
|
||||
toast.success($i18n.t('Success'));
|
||||
}
|
||||
|
||||
showResetConfirm = false;
|
||||
}}
|
||||
type="button"
|
||||
>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 20 20"
|
||||
fill="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
d="M16.704 4.153a.75.75 0 01.143 1.052l-8 10.5a.75.75 0 01-1.127.075l-4.5-4.5a.75.75 0 011.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 011.05-.143z"
|
||||
clip-rule="evenodd"
|
||||
/>
|
||||
</svg>
|
||||
</button>
|
||||
<button
|
||||
class="hover:text-white transition"
|
||||
on:click={() => {
|
||||
showResetConfirm = false;
|
||||
}}
|
||||
type="button"
|
||||
>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 20 20"
|
||||
fill="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path
|
||||
d="M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z"
|
||||
/>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
{:else}
|
||||
<button
|
||||
class=" flex rounded-xl py-2 px-3.5 w-full hover:bg-gray-200 dark:hover:bg-gray-800 transition"
|
||||
on:click={() => {
|
||||
showResetConfirm = true;
|
||||
}}
|
||||
type="button"
|
||||
>
|
||||
<div class=" self-center mr-3">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 20 20"
|
||||
viewBox="0 0 16 16"
|
||||
fill="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path
|
||||
d="M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z"
|
||||
fill-rule="evenodd"
|
||||
d="M3.5 2A1.5 1.5 0 0 0 2 3.5v9A1.5 1.5 0 0 0 3.5 14h9a1.5 1.5 0 0 0 1.5-1.5v-7A1.5 1.5 0 0 0 12.5 4H9.621a1.5 1.5 0 0 1-1.06-.44L7.439 2.44A1.5 1.5 0 0 0 6.38 2H3.5Zm6.75 7.75a.75.75 0 0 0 0-1.5h-4.5a.75.75 0 0 0 0 1.5h4.5Z"
|
||||
clip-rule="evenodd"
|
||||
/>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
{:else}
|
||||
<button
|
||||
class=" flex rounded-md py-2 px-3.5 w-full hover:bg-gray-200 dark:hover:bg-gray-800 transition"
|
||||
on:click={() => {
|
||||
showResetConfirm = true;
|
||||
}}
|
||||
>
|
||||
<div class=" self-center mr-3">
|
||||
<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="M3.5 2A1.5 1.5 0 0 0 2 3.5v9A1.5 1.5 0 0 0 3.5 14h9a1.5 1.5 0 0 0 1.5-1.5v-7A1.5 1.5 0 0 0 12.5 4H9.621a1.5 1.5 0 0 1-1.06-.44L7.439 2.44A1.5 1.5 0 0 0 6.38 2H3.5Zm6.75 7.75a.75.75 0 0 0 0-1.5h-4.5a.75.75 0 0 0 0 1.5h4.5Z"
|
||||
clip-rule="evenodd"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
<div class=" self-center text-sm font-medium">{$i18n.t('Reset Vector Storage')}</div>
|
||||
</button>
|
||||
{/if}
|
||||
</div>
|
||||
<div class=" self-center text-sm font-medium">{$i18n.t('Reset Vector Storage')}</div>
|
||||
</button>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex justify-end pt-3 text-sm font-medium">
|
||||
<button
|
||||
|
@ -67,7 +67,7 @@
|
||||
<div class="self-start flex flex-none items-center text-gray-600 dark:text-gray-400">
|
||||
<!-- <div class="md:hidden flex self-center w-[1px] h-5 mx-2 bg-gray-300 dark:bg-stone-700" /> -->
|
||||
|
||||
{#if shareEnabled}
|
||||
{#if shareEnabled && chat && chat.id}
|
||||
<Menu
|
||||
{chat}
|
||||
{shareEnabled}
|
||||
|
@ -138,7 +138,6 @@
|
||||
</svg>
|
||||
<div class="flex items-center">{$i18n.t('Share')}</div>
|
||||
</DropdownMenu.Item>
|
||||
|
||||
<!-- <DropdownMenu.Item
|
||||
class="flex gap-2 items-center px-3 py-2 text-sm font-medium cursor-pointer"
|
||||
on:click={() => {
|
||||
|
@ -1,12 +1,13 @@
|
||||
<script lang="ts">
|
||||
import { DropdownMenu } from 'bits-ui';
|
||||
import { createEventDispatcher, getContext } from 'svelte';
|
||||
import { createEventDispatcher, getContext, onMount } from 'svelte';
|
||||
|
||||
import { flyAndScale } from '$lib/utils/transitions';
|
||||
import { goto } from '$app/navigation';
|
||||
import ArchiveBox from '$lib/components/icons/ArchiveBox.svelte';
|
||||
import { showSettings } from '$lib/stores';
|
||||
import { showSettings, activeUserCount, USAGE_POOL } from '$lib/stores';
|
||||
import { fade, slide } from 'svelte/transition';
|
||||
import Tooltip from '$lib/components/common/Tooltip.svelte';
|
||||
|
||||
const i18n = getContext('i18n');
|
||||
|
||||
@ -107,7 +108,7 @@
|
||||
</button>
|
||||
{/if}
|
||||
|
||||
<hr class=" dark:border-gray-800 my-2 p-0" />
|
||||
<hr class=" dark:border-gray-800 my-1.5 p-0" />
|
||||
|
||||
<button
|
||||
class="flex rounded-md py-2 px-3 w-full hover:bg-gray-50 dark:hover:bg-gray-800 transition"
|
||||
@ -139,6 +140,36 @@
|
||||
<div class=" self-center font-medium">{$i18n.t('Sign Out')}</div>
|
||||
</button>
|
||||
|
||||
{#if $activeUserCount}
|
||||
<hr class=" dark:border-gray-800 my-1.5 p-0" />
|
||||
|
||||
<Tooltip
|
||||
content={$USAGE_POOL && $USAGE_POOL.length > 0
|
||||
? `Running: ${$USAGE_POOL.join(', ')} ✨`
|
||||
: ''}
|
||||
>
|
||||
<div class="flex rounded-md py-1.5 px-3 text-xs gap-2.5 items-center">
|
||||
<div class=" flex items-center">
|
||||
<span class="relative flex size-2">
|
||||
<span
|
||||
class="animate-ping absolute inline-flex h-full w-full rounded-full bg-green-400 opacity-75"
|
||||
/>
|
||||
<span class="relative inline-flex rounded-full size-2 bg-green-500" />
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class=" ">
|
||||
<span class=" font-medium">
|
||||
{$i18n.t('Active Users')}:
|
||||
</span>
|
||||
<span class=" font-semibold">
|
||||
{$activeUserCount}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</Tooltip>
|
||||
{/if}
|
||||
|
||||
<!-- <DropdownMenu.Item class="flex items-center px-3 py-2 text-sm font-medium">
|
||||
<div class="flex items-center">Profile</div>
|
||||
</DropdownMenu.Item> -->
|
||||
|
@ -2,8 +2,9 @@ import { browser, dev } from '$app/environment';
|
||||
// import { version } from '../../package.json';
|
||||
|
||||
export const APP_NAME = 'Open WebUI';
|
||||
export const WEBUI_BASE_URL = browser ? (dev ? `http://${location.hostname}:8080` : ``) : ``;
|
||||
|
||||
export const WEBUI_HOSTNAME = browser ? (dev ? `${location.hostname}:8080` : ``) : '';
|
||||
export const WEBUI_BASE_URL = browser ? (dev ? `http://${WEBUI_HOSTNAME}` : ``) : ``;
|
||||
export const WEBUI_API_BASE_URL = `${WEBUI_BASE_URL}/api/v1`;
|
||||
|
||||
export const OLLAMA_API_BASE_URL = `${WEBUI_BASE_URL}/ollama`;
|
||||
|
@ -13,6 +13,7 @@
|
||||
"About": "عن",
|
||||
"Account": "الحساب",
|
||||
"Accurate information": "معلومات دقيقة",
|
||||
"Active Users": "",
|
||||
"Add": "أضف",
|
||||
"Add a model id": "إضافة معرف نموذج",
|
||||
"Add a short description about what this model does": "أضف وصفا موجزا حول ما يفعله هذا النموذج",
|
||||
@ -225,7 +226,6 @@
|
||||
"Followed instructions perfectly": "اتبعت التعليمات على أكمل وجه",
|
||||
"Format your variables using square brackets like this:": "قم بتنسيق المتغيرات الخاصة بك باستخدام الأقواس المربعة مثل هذا:",
|
||||
"Frequency Penalty": "عقوبة التردد",
|
||||
"Full Screen Mode": "وضع ملء الشاشة",
|
||||
"General": "عام",
|
||||
"General Settings": "الاعدادات العامة",
|
||||
"Generating search query": "إنشاء استعلام بحث",
|
||||
@ -378,6 +378,7 @@
|
||||
"Reranking Model": "إعادة تقييم النموذج",
|
||||
"Reranking model disabled": "تم تعطيل نموذج إعادة الترتيب",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "تم ضبط نموذج إعادة الترتيب على \"{{reranking_model}}\"",
|
||||
"Reset Upload Directory": "",
|
||||
"Reset Vector Storage": "إعادة تعيين تخزين المتجهات",
|
||||
"Response AutoCopy to Clipboard": "النسخ التلقائي للاستجابة إلى الحافظة",
|
||||
"Role": "منصب",
|
||||
@ -529,6 +530,7 @@
|
||||
"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 (Local)",
|
||||
"Widescreen Mode": "",
|
||||
"Workspace": "مساحة العمل",
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "اكتب اقتراحًا سريعًا (على سبيل المثال، من أنت؟)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "اكتب ملخصًا في 50 كلمة يلخص [الموضوع أو الكلمة الرئيسية]",
|
||||
|
@ -13,6 +13,7 @@
|
||||
"About": "Относно",
|
||||
"Account": "Акаунт",
|
||||
"Accurate information": "Точни информация",
|
||||
"Active Users": "",
|
||||
"Add": "Добавяне",
|
||||
"Add a model id": "Добавяне на ИД на модел",
|
||||
"Add a short description about what this model does": "Добавете кратко описание за това какво прави този модел",
|
||||
@ -225,7 +226,6 @@
|
||||
"Followed instructions perfectly": "Следвайте инструкциите перфектно",
|
||||
"Format your variables using square brackets like this:": "Форматирайте вашите променливи, като използвате квадратни скоби, както следва:",
|
||||
"Frequency Penalty": "Наказание за честота",
|
||||
"Full Screen Mode": "На Цял екран",
|
||||
"General": "Основни",
|
||||
"General Settings": "Основни Настройки",
|
||||
"Generating search query": "Генериране на заявка за търсене",
|
||||
@ -378,6 +378,7 @@
|
||||
"Reranking Model": "Reranking Model",
|
||||
"Reranking model disabled": "Reranking model disabled",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "Reranking model set to \"{{reranking_model}}\"",
|
||||
"Reset Upload Directory": "",
|
||||
"Reset Vector Storage": "Ресет Vector Storage",
|
||||
"Response AutoCopy to Clipboard": "Аувтоматично копиране на отговор в клипборда",
|
||||
"Role": "Роля",
|
||||
@ -525,6 +526,7 @@
|
||||
"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 (Локален)",
|
||||
"Widescreen Mode": "",
|
||||
"Workspace": "Работно пространство",
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Напиши предложение за промпт (напр. Кой сте вие?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "Напиши описание в 50 знака, което описва [тема или ключова дума].",
|
||||
|
@ -13,6 +13,7 @@
|
||||
"About": "সম্পর্কে",
|
||||
"Account": "একাউন্ট",
|
||||
"Accurate information": "সঠিক তথ্য",
|
||||
"Active Users": "",
|
||||
"Add": "যোগ করুন",
|
||||
"Add a model id": "একটি মডেল ID যোগ করুন",
|
||||
"Add a short description about what this model does": "এই মডেলটি কী করে সে সম্পর্কে একটি সংক্ষিপ্ত বিবরণ যুক্ত করুন",
|
||||
@ -225,7 +226,6 @@
|
||||
"Followed instructions perfectly": "নির্দেশাবলী নিখুঁতভাবে অনুসরণ করা হয়েছে",
|
||||
"Format your variables using square brackets like this:": "আপনার ভেরিয়বলগুলো এভাবে স্কয়ার ব্রাকেটের মাধ্যমে সাজান",
|
||||
"Frequency Penalty": "ফ্রিকোয়েন্সি পেনাল্টি",
|
||||
"Full Screen Mode": "ফুলস্ক্রিন মোড",
|
||||
"General": "সাধারণ",
|
||||
"General Settings": "সাধারণ সেটিংসমূহ",
|
||||
"Generating search query": "অনুসন্ধান ক্যোয়ারী তৈরি করা হচ্ছে",
|
||||
@ -378,6 +378,7 @@
|
||||
"Reranking Model": "রির্যাক্টিং মডেল",
|
||||
"Reranking model disabled": "রির্যাক্টিং মডেল নিষ্ক্রিয় করা",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "রির ্যাঙ্কিং মডেল \"{{reranking_model}}\" -এ সেট করা আছে",
|
||||
"Reset Upload Directory": "",
|
||||
"Reset Vector Storage": "ভেক্টর স্টোরেজ রিসেট করুন",
|
||||
"Response AutoCopy to Clipboard": "রেসপন্সগুলো স্বয়ংক্রিভাবে ক্লিপবোর্ডে কপি হবে",
|
||||
"Role": "পদবি",
|
||||
@ -525,6 +526,7 @@
|
||||
"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 (লোকাল)",
|
||||
"Widescreen Mode": "",
|
||||
"Workspace": "ওয়ার্কস্পেস",
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "একটি প্রম্পট সাজেশন লিখুন (যেমন Who are you?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "৫০ শব্দের মধ্যে [topic or keyword] এর একটি সারসংক্ষেপ লিখুন।",
|
||||
|
@ -13,6 +13,7 @@
|
||||
"About": "Sobre",
|
||||
"Account": "Compte",
|
||||
"Accurate information": "Informació precisa",
|
||||
"Active Users": "",
|
||||
"Add": "Afegir",
|
||||
"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",
|
||||
@ -225,7 +226,6 @@
|
||||
"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": "Pena de freqüència",
|
||||
"Full Screen Mode": "Mode de Pantalla Completa",
|
||||
"General": "General",
|
||||
"General Settings": "Configuració General",
|
||||
"Generating search query": "Generació de consultes de cerca",
|
||||
@ -378,6 +378,7 @@
|
||||
"Reranking Model": "Model de Reranking desactivat",
|
||||
"Reranking model disabled": "Model de Reranking desactivat",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "Model de Reranking establert a \"{{reranking_model}}\"",
|
||||
"Reset Upload Directory": "",
|
||||
"Reset Vector Storage": "Reinicia l'Emmagatzematge de Vectors",
|
||||
"Response AutoCopy to Clipboard": "Resposta AutoCopiar al Portapapers",
|
||||
"Role": "Rol",
|
||||
@ -526,6 +527,7 @@
|
||||
"What’s New in": "Què hi ha de Nou en",
|
||||
"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Quan l'historial està desactivat, els nous xats en aquest navegador no apareixeran en el teu historial en cap dels teus dispositius.",
|
||||
"Whisper (Local)": "Whisper (Local)",
|
||||
"Widescreen Mode": "",
|
||||
"Workspace": "Treball",
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Escriu una suggerència de prompt (p. ex. Qui ets tu?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "Escriu un resum en 50 paraules que resumeixi [tema o paraula clau].",
|
||||
|
@ -13,6 +13,7 @@
|
||||
"About": "Mahitungod sa",
|
||||
"Account": "Account",
|
||||
"Accurate information": "",
|
||||
"Active Users": "",
|
||||
"Add": "",
|
||||
"Add a model id": "",
|
||||
"Add a short description about what this model does": "",
|
||||
@ -225,7 +226,6 @@
|
||||
"Followed instructions perfectly": "",
|
||||
"Format your variables using square brackets like this:": "I-format ang imong mga variable gamit ang square brackets sama niini:",
|
||||
"Frequency Penalty": "",
|
||||
"Full Screen Mode": "Full screen mode",
|
||||
"General": "Heneral",
|
||||
"General Settings": "kinatibuk-ang mga setting",
|
||||
"Generating search query": "",
|
||||
@ -378,6 +378,7 @@
|
||||
"Reranking Model": "",
|
||||
"Reranking model disabled": "",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "",
|
||||
"Reset Upload Directory": "",
|
||||
"Reset Vector Storage": "I-reset ang pagtipig sa vector",
|
||||
"Response AutoCopy to Clipboard": "Awtomatikong kopya sa tubag sa clipboard",
|
||||
"Role": "Papel",
|
||||
@ -525,6 +526,7 @@
|
||||
"What’s New in": "Unsay bag-o sa",
|
||||
"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Kung ang kasaysayan gipalong, ang mga bag-ong chat sa kini nga browser dili makita sa imong kasaysayan sa bisan unsang mga aparato.",
|
||||
"Whisper (Local)": "Whisper (Lokal)",
|
||||
"Widescreen Mode": "",
|
||||
"Workspace": "",
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Pagsulat og gisugyot nga prompt (eg. Kinsa ka?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "Pagsulat og 50 ka pulong nga summary nga nagsumaryo [topic o keyword].",
|
||||
|
@ -13,6 +13,7 @@
|
||||
"About": "Über",
|
||||
"Account": "Account",
|
||||
"Accurate information": "Genaue Information",
|
||||
"Active Users": "",
|
||||
"Add": "Hinzufügen",
|
||||
"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",
|
||||
@ -225,7 +226,6 @@
|
||||
"Followed instructions perfectly": "Anweisungen perfekt befolgt",
|
||||
"Format your variables using square brackets like this:": "Formatiere deine Variablen mit eckigen Klammern wie folgt:",
|
||||
"Frequency Penalty": "Frequenz-Strafe",
|
||||
"Full Screen Mode": "Vollbildmodus",
|
||||
"General": "Allgemein",
|
||||
"General Settings": "Allgemeine Einstellungen",
|
||||
"Generating search query": "Suchanfrage generieren",
|
||||
@ -378,6 +378,7 @@
|
||||
"Reranking Model": "Reranking Modell",
|
||||
"Reranking model disabled": "Rranking Modell deaktiviert",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "Reranking Modell auf \"{{reranking_model}}\" gesetzt",
|
||||
"Reset Upload Directory": "",
|
||||
"Reset Vector Storage": "Vektorspeicher zurücksetzen",
|
||||
"Response AutoCopy to Clipboard": "Antwort automatisch in die Zwischenablage kopieren",
|
||||
"Role": "Rolle",
|
||||
@ -525,6 +526,7 @@
|
||||
"What’s New in": "Was gibt's Neues in",
|
||||
"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Wenn die Historie ausgeschaltet ist, werden neue Chats nicht in deiner Historie auf deine Geräte angezeigt.",
|
||||
"Whisper (Local)": "Whisper (Lokal)",
|
||||
"Widescreen Mode": "",
|
||||
"Workspace": "Arbeitsbereich",
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Gebe einen Prompt-Vorschlag ein (z.B. Wer bist du?)",
|
||||
"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.",
|
||||
|
@ -13,6 +13,7 @@
|
||||
"About": "Much About",
|
||||
"Account": "Account",
|
||||
"Accurate information": "",
|
||||
"Active Users": "",
|
||||
"Add": "",
|
||||
"Add a model id": "",
|
||||
"Add a short description about what this model does": "",
|
||||
@ -225,7 +226,6 @@
|
||||
"Followed instructions perfectly": "",
|
||||
"Format your variables using square brackets like this:": "Format variables using square brackets like wow:",
|
||||
"Frequency Penalty": "",
|
||||
"Full Screen Mode": "Much Full Bark Mode",
|
||||
"General": "Woweral",
|
||||
"General Settings": "General Doge Settings",
|
||||
"Generating search query": "",
|
||||
@ -378,6 +378,7 @@
|
||||
"Reranking Model": "",
|
||||
"Reranking model disabled": "",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "",
|
||||
"Reset Upload Directory": "",
|
||||
"Reset Vector Storage": "Reset Vector Storage",
|
||||
"Response AutoCopy to Clipboard": "Copy Bark Auto Bark",
|
||||
"Role": "Role",
|
||||
@ -525,6 +526,7 @@
|
||||
"What’s New in": "What’s New in much new",
|
||||
"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "When history is turned off, new chats on this browser won't appear in your history on any of your devices. Much history.",
|
||||
"Whisper (Local)": "Whisper (Local) much whisper",
|
||||
"Widescreen Mode": "",
|
||||
"Workspace": "",
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Write a prompt suggestion (e.g. Who are you?) much suggest",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "Write a summary in 50 words that summarizes [topic or keyword]. Much summarize.",
|
||||
|
@ -13,6 +13,7 @@
|
||||
"About": "",
|
||||
"Account": "",
|
||||
"Accurate information": "",
|
||||
"Active Users": "",
|
||||
"Add": "",
|
||||
"Add a model id": "",
|
||||
"Add a short description about what this model does": "",
|
||||
@ -225,7 +226,6 @@
|
||||
"Followed instructions perfectly": "",
|
||||
"Format your variables using square brackets like this:": "",
|
||||
"Frequency Penalty": "",
|
||||
"Full Screen Mode": "",
|
||||
"General": "",
|
||||
"General Settings": "",
|
||||
"Generating search query": "",
|
||||
@ -378,6 +378,7 @@
|
||||
"Reranking Model": "",
|
||||
"Reranking model disabled": "",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "",
|
||||
"Reset Upload Directory": "",
|
||||
"Reset Vector Storage": "",
|
||||
"Response AutoCopy to Clipboard": "",
|
||||
"Role": "",
|
||||
@ -525,6 +526,7 @@
|
||||
"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)": "",
|
||||
"Widescreen Mode": "",
|
||||
"Workspace": "",
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "",
|
||||
|
@ -13,6 +13,7 @@
|
||||
"About": "",
|
||||
"Account": "",
|
||||
"Accurate information": "",
|
||||
"Active Users": "",
|
||||
"Add": "",
|
||||
"Add a model id": "",
|
||||
"Add a short description about what this model does": "",
|
||||
@ -225,7 +226,6 @@
|
||||
"Followed instructions perfectly": "",
|
||||
"Format your variables using square brackets like this:": "",
|
||||
"Frequency Penalty": "",
|
||||
"Full Screen Mode": "",
|
||||
"General": "",
|
||||
"General Settings": "",
|
||||
"Generating search query": "",
|
||||
@ -378,6 +378,7 @@
|
||||
"Reranking Model": "",
|
||||
"Reranking model disabled": "",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "",
|
||||
"Reset Upload Directory": "",
|
||||
"Reset Vector Storage": "",
|
||||
"Response AutoCopy to Clipboard": "",
|
||||
"Role": "",
|
||||
@ -525,6 +526,7 @@
|
||||
"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)": "",
|
||||
"Widescreen Mode": "",
|
||||
"Workspace": "",
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "",
|
||||
|
@ -13,6 +13,7 @@
|
||||
"About": "Sobre nosotros",
|
||||
"Account": "Cuenta",
|
||||
"Accurate information": "Información precisa",
|
||||
"Active Users": "",
|
||||
"Add": "Agregar",
|
||||
"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",
|
||||
@ -225,7 +226,6 @@
|
||||
"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": "Penalización de frecuencia",
|
||||
"Full Screen Mode": "Modo de Pantalla Completa",
|
||||
"General": "General",
|
||||
"General Settings": "Opciones Generales",
|
||||
"Generating search query": "Generación de consultas de búsqueda",
|
||||
@ -378,6 +378,7 @@
|
||||
"Reranking Model": "Modelo de reranking",
|
||||
"Reranking model disabled": "Modelo de reranking deshabilitado",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "Modelo de reranking establecido en \"{{reranking_model}}\"",
|
||||
"Reset Upload Directory": "",
|
||||
"Reset Vector Storage": "Restablecer almacenamiento vectorial",
|
||||
"Response AutoCopy to Clipboard": "Copiar respuesta automáticamente al portapapeles",
|
||||
"Role": "Rol",
|
||||
@ -526,6 +527,7 @@
|
||||
"What’s New in": "Novedades en",
|
||||
"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Cuando el historial está desactivado, los nuevos chats en este navegador no aparecerán en el historial de ninguno de sus dispositivos..",
|
||||
"Whisper (Local)": "Whisper (Local)",
|
||||
"Widescreen Mode": "",
|
||||
"Workspace": "Espacio de trabajo",
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Escribe una sugerencia para un prompt (por ejemplo, ¿quién eres?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "Escribe un resumen en 50 palabras que resuma [tema o palabra clave].",
|
||||
|
@ -13,6 +13,7 @@
|
||||
"About": "درباره",
|
||||
"Account": "حساب کاربری",
|
||||
"Accurate information": "اطلاعات دقیق",
|
||||
"Active Users": "",
|
||||
"Add": "اضافه کردن",
|
||||
"Add a model id": "افزودن شناسه مدل",
|
||||
"Add a short description about what this model does": "اضافه کردن توضیحات کوتاه در مورد انچه که این مدل انجام می دهد",
|
||||
@ -225,7 +226,6 @@
|
||||
"Followed instructions perfectly": "دستورالعمل ها را کاملا دنبال کرد",
|
||||
"Format your variables using square brackets like this:": "متغیرهای خود را با استفاده از براکت مربع به شکل زیر قالب بندی کنید:",
|
||||
"Frequency Penalty": "مجازات فرکانس",
|
||||
"Full Screen Mode": "حالت تمام صفحه",
|
||||
"General": "عمومی",
|
||||
"General Settings": "تنظیمات عمومی",
|
||||
"Generating search query": "در حال تولید پرسوجوی جستجو",
|
||||
@ -378,6 +378,7 @@
|
||||
"Reranking Model": "مدل ری\u200cشناسی مجدد غیرفعال است",
|
||||
"Reranking model disabled": "مدل ری\u200cشناسی مجدد غیرفعال است",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "مدل ری\u200cشناسی مجدد به \"{{reranking_model}}\" تنظیم شده است",
|
||||
"Reset Upload Directory": "",
|
||||
"Reset Vector Storage": "بازنشانی ذخیره سازی برداری",
|
||||
"Response AutoCopy to Clipboard": "کپی خودکار پاسخ به کلیپ بورد",
|
||||
"Role": "نقش",
|
||||
@ -525,6 +526,7 @@
|
||||
"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.": "وقتی سابقه خاموش است، چت\u200cهای جدید در این مرورگر در سابقه شما در هیچ یک از دستگاه\u200cهایتان ظاهر نمی\u200cشوند.",
|
||||
"Whisper (Local)": "ویسپر (محلی)",
|
||||
"Widescreen Mode": "",
|
||||
"Workspace": "محیط کار",
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "یک پیشنهاد پرامپت بنویسید (مثلاً شما کی هستید؟)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "خلاصه ای در 50 کلمه بنویسید که [موضوع یا کلمه کلیدی] را خلاصه کند.",
|
||||
|
@ -13,6 +13,7 @@
|
||||
"About": "Tietoja",
|
||||
"Account": "Tili",
|
||||
"Accurate information": "Tarkkaa tietoa",
|
||||
"Active Users": "",
|
||||
"Add": "Lisää",
|
||||
"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",
|
||||
@ -225,7 +226,6 @@
|
||||
"Followed instructions perfectly": "Noudatti ohjeita täydellisesti",
|
||||
"Format your variables using square brackets like this:": "Muotoile muuttujat hakasulkeilla näin:",
|
||||
"Frequency Penalty": "Taajuussakko",
|
||||
"Full Screen Mode": "Koko näytön tila",
|
||||
"General": "Yleinen",
|
||||
"General Settings": "Yleisasetukset",
|
||||
"Generating search query": "Hakukyselyn luominen",
|
||||
@ -378,6 +378,7 @@
|
||||
"Reranking Model": "Uudelleenpisteytysmalli",
|
||||
"Reranking model disabled": "Uudelleenpisteytysmalli poistettu käytöstä",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "\"{{reranking_model}}\" valittu uudelleenpisteytysmalliksi",
|
||||
"Reset Upload Directory": "",
|
||||
"Reset Vector Storage": "Tyhjennä vektorivarasto",
|
||||
"Response AutoCopy to Clipboard": "Vastauksen automaattikopiointi leikepöydälle",
|
||||
"Role": "Rooli",
|
||||
@ -525,6 +526,7 @@
|
||||
"What’s New in": "Mitä uutta",
|
||||
"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Kun historia on pois päältä, uudet keskustelut tässä selaimessa eivät näy historiassasi millään laitteellasi.",
|
||||
"Whisper (Local)": "Whisper (paikallinen)",
|
||||
"Widescreen Mode": "",
|
||||
"Workspace": "Työtilat",
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Kirjoita ehdotettu kehote (esim. Kuka olet?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "Kirjoita 50 sanan yhteenveto, joka tiivistää [aihe tai avainsana].",
|
||||
|
@ -13,6 +13,7 @@
|
||||
"About": "À propos",
|
||||
"Account": "Compte",
|
||||
"Accurate information": "Information précise",
|
||||
"Active Users": "",
|
||||
"Add": "Ajouter",
|
||||
"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",
|
||||
@ -225,7 +226,6 @@
|
||||
"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": "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": "Génération d’une requête de recherche",
|
||||
@ -378,6 +378,7 @@
|
||||
"Reranking Model": "Modèle de reranking",
|
||||
"Reranking model disabled": "Modèle de reranking désactivé",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "Modèle de reranking défini sur \"{{reranking_model}}\"",
|
||||
"Reset Upload Directory": "",
|
||||
"Reset Vector Storage": "Réinitialiser le stockage vectoriel",
|
||||
"Response AutoCopy to Clipboard": "Copie automatique de la réponse vers le presse-papiers",
|
||||
"Role": "Rôle",
|
||||
@ -526,6 +527,7 @@
|
||||
"What’s New in": "Quoi de neuf dans",
|
||||
"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Lorsque l'historique est désactivé, les nouvelles discussions sur ce navigateur n'apparaîtront pas dans votre historique sur aucun de vos appareils.",
|
||||
"Whisper (Local)": "Whisper (Local)",
|
||||
"Widescreen Mode": "",
|
||||
"Workspace": "Espace de travail",
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Rédigez une suggestion de prompt (p. ex. Qui êtes-vous ?)",
|
||||
"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é].",
|
||||
|
@ -13,6 +13,7 @@
|
||||
"About": "À Propos",
|
||||
"Account": "Compte",
|
||||
"Accurate information": "Information précise",
|
||||
"Active Users": "",
|
||||
"Add": "Ajouter",
|
||||
"Add a model id": "Ajouter un identifiant modèle",
|
||||
"Add a short description about what this model does": "Ajouter une courte description de ce que fait ce modèle",
|
||||
@ -225,7 +226,6 @@
|
||||
"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": "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": "Génération d’une requête de recherche",
|
||||
@ -378,6 +378,7 @@
|
||||
"Reranking Model": "Modèle de Reclassement",
|
||||
"Reranking model disabled": "Modèle de Reclassement Désactivé",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "Modèle de reclassement défini sur \"{{reranking_model}}\"",
|
||||
"Reset Upload Directory": "",
|
||||
"Reset Vector Storage": "Réinitialiser le Stockage de Vecteur",
|
||||
"Response AutoCopy to Clipboard": "Copie Automatique de la Réponse dans le Presse-papiers",
|
||||
"Role": "Rôle",
|
||||
@ -526,6 +527,7 @@
|
||||
"What’s New in": "Quoi de neuf dans",
|
||||
"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Lorsque l'historique est désactivé, les nouveaux chats sur ce navigateur n'apparaîtront pas dans votre historique sur aucun de vos appareils.",
|
||||
"Whisper (Local)": "Whisper (Local)",
|
||||
"Widescreen Mode": "",
|
||||
"Workspace": "Espace de Travail",
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Écrivez une suggestion de prompt (e.x. Qui est-tu ?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "Ecrivez un résumé en 50 mots qui résume [sujet ou mot-clé]",
|
||||
|
@ -13,6 +13,7 @@
|
||||
"About": "אודות",
|
||||
"Account": "חשבון",
|
||||
"Accurate information": "מידע מדויק",
|
||||
"Active Users": "",
|
||||
"Add": "הוסף",
|
||||
"Add a model id": "הוספת מזהה דגם",
|
||||
"Add a short description about what this model does": "הוסף תיאור קצר אודות אופן הפעולה של מודל זה",
|
||||
@ -225,7 +226,6 @@
|
||||
"Followed instructions perfectly": "עקב אחר ההוראות במושלמות",
|
||||
"Format your variables using square brackets like this:": "עצב את המשתנים שלך באמצעות סוגריים מרובעים כך:",
|
||||
"Frequency Penalty": "עונש תדירות",
|
||||
"Full Screen Mode": "מצב מסך מלא",
|
||||
"General": "כללי",
|
||||
"General Settings": "הגדרות כלליות",
|
||||
"Generating search query": "יצירת שאילתת חיפוש",
|
||||
@ -378,6 +378,7 @@
|
||||
"Reranking Model": "מודל דירוג מחדש",
|
||||
"Reranking model disabled": "מודל דירוג מחדש מושבת",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "מודל דירוג מחדש הוגדר ל-\"{{reranking_model}}\"",
|
||||
"Reset Upload Directory": "",
|
||||
"Reset Vector Storage": "איפוס אחסון וקטורים",
|
||||
"Response AutoCopy to Clipboard": "העתקה אוטומטית של תגובה ללוח",
|
||||
"Role": "תפקיד",
|
||||
@ -526,6 +527,7 @@
|
||||
"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)": "ושפה (מקומית)",
|
||||
"Widescreen Mode": "",
|
||||
"Workspace": "סביבה",
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "כתוב הצעה מהירה (למשל, מי אתה?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "כתוב סיכום ב-50 מילים שמסכם [נושא או מילת מפתח].",
|
||||
|
@ -13,6 +13,7 @@
|
||||
"About": "हमारे बारे में",
|
||||
"Account": "खाता",
|
||||
"Accurate information": "सटीक जानकारी",
|
||||
"Active Users": "",
|
||||
"Add": "जोड़ें",
|
||||
"Add a model id": "मॉडल आईडी जोड़ना",
|
||||
"Add a short description about what this model does": "इस मॉडल के बारे में एक संक्षिप्त विवरण जोड़ें",
|
||||
@ -225,7 +226,6 @@
|
||||
"Followed instructions perfectly": "निर्देशों का पूर्णतः पालन किया",
|
||||
"Format your variables using square brackets like this:": "वर्गाकार कोष्ठकों का उपयोग करके अपने चरों को इस प्रकार प्रारूपित करें :",
|
||||
"Frequency Penalty": "फ्रीक्वेंसी पेनल्टी",
|
||||
"Full Screen Mode": "पूर्ण स्क्रीन मोड",
|
||||
"General": "सामान्य",
|
||||
"General Settings": "सामान्य सेटिंग्स",
|
||||
"Generating search query": "खोज क्वेरी जनरेट करना",
|
||||
@ -378,6 +378,7 @@
|
||||
"Reranking Model": "रीरैकिंग मोड",
|
||||
"Reranking model disabled": "पुनर्रैंकिंग मॉडल अक्षम किया गया",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "रीरैंकिंग मॉडल को \"{{reranking_model}}\" पर \u200b\u200bसेट किया गया",
|
||||
"Reset Upload Directory": "",
|
||||
"Reset Vector Storage": "वेक्टर संग्रहण रीसेट करें",
|
||||
"Response AutoCopy to Clipboard": "क्लिपबोर्ड पर प्रतिक्रिया ऑटोकॉपी",
|
||||
"Role": "भूमिका",
|
||||
@ -525,6 +526,7 @@
|
||||
"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 (स्थानीय)",
|
||||
"Widescreen Mode": "",
|
||||
"Workspace": "वर्कस्पेस",
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "एक त्वरित सुझाव लिखें (जैसे कि आप कौन हैं?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "50 शब्दों में एक सारांश लिखें जो [विषय या कीवर्ड] का सारांश प्रस्तुत करता हो।",
|
||||
|
@ -13,6 +13,7 @@
|
||||
"About": "O aplikaciji",
|
||||
"Account": "Račun",
|
||||
"Accurate information": "Točne informacije",
|
||||
"Active Users": "",
|
||||
"Add": "Dodaj",
|
||||
"Add a model id": "Dodavanje ID-a modela",
|
||||
"Add a short description about what this model does": "Dodajte kratak opis funkcija ovog modela",
|
||||
@ -225,7 +226,6 @@
|
||||
"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": "Kazna za učestalost",
|
||||
"Full Screen Mode": "Način cijelog zaslona",
|
||||
"General": "Općenito",
|
||||
"General Settings": "Opće postavke",
|
||||
"Generating search query": "Generiranje upita za pretraživanje",
|
||||
@ -378,6 +378,7 @@
|
||||
"Reranking Model": "Model za ponovno rangiranje",
|
||||
"Reranking model disabled": "Model za ponovno rangiranje onemogućen",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "Model za ponovno rangiranje postavljen na \"{{reranking_model}}\"",
|
||||
"Reset Upload Directory": "",
|
||||
"Reset Vector Storage": "Resetiraj pohranu vektora",
|
||||
"Response AutoCopy to Clipboard": "Automatsko kopiranje odgovora u međuspremnik",
|
||||
"Role": "Uloga",
|
||||
@ -526,6 +527,7 @@
|
||||
"What’s New in": "Što je novo u",
|
||||
"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Kada je povijest isključena, novi razgovori na ovom pregledniku neće se pojaviti u vašoj povijesti na bilo kojem od vaših uređaja.",
|
||||
"Whisper (Local)": "Whisper (lokalno)",
|
||||
"Widescreen Mode": "",
|
||||
"Workspace": "Radna ploča",
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Napišite prijedlog prompta (npr. Tko si ti?)",
|
||||
"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č].",
|
||||
|
@ -13,6 +13,7 @@
|
||||
"About": "Informazioni",
|
||||
"Account": "Account",
|
||||
"Accurate information": "Informazioni accurate",
|
||||
"Active Users": "",
|
||||
"Add": "Aggiungi",
|
||||
"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",
|
||||
@ -225,7 +226,6 @@
|
||||
"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": "Penalità di frequenza",
|
||||
"Full Screen Mode": "Modalità a schermo intero",
|
||||
"General": "Generale",
|
||||
"General Settings": "Impostazioni generali",
|
||||
"Generating search query": "Generazione di query di ricerca",
|
||||
@ -378,6 +378,7 @@
|
||||
"Reranking Model": "Modello di riclassificazione",
|
||||
"Reranking model disabled": "Modello di riclassificazione disabilitato",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "Modello di riclassificazione impostato su \"{{reranking_model}}\"",
|
||||
"Reset Upload Directory": "",
|
||||
"Reset Vector Storage": "Reimposta archivio vettoriale",
|
||||
"Response AutoCopy to Clipboard": "Copia automatica della risposta negli appunti",
|
||||
"Role": "Ruolo",
|
||||
@ -526,6 +527,7 @@
|
||||
"What’s New in": "Novità in",
|
||||
"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Quando la cronologia è disattivata, le nuove chat su questo browser non verranno visualizzate nella cronologia su nessuno dei tuoi dispositivi.",
|
||||
"Whisper (Local)": "Whisper (locale)",
|
||||
"Widescreen Mode": "",
|
||||
"Workspace": "Area di lavoro",
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Scrivi un suggerimento per il prompt (ad esempio Chi sei?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "Scrivi un riassunto in 50 parole che riassume [argomento o parola chiave].",
|
||||
|
@ -13,6 +13,7 @@
|
||||
"About": "概要",
|
||||
"Account": "アカウント",
|
||||
"Accurate information": "情報の正確性",
|
||||
"Active Users": "",
|
||||
"Add": "追加",
|
||||
"Add a model id": "モデル ID を追加する",
|
||||
"Add a short description about what this model does": "このモデルの機能に関する簡単な説明を追加します",
|
||||
@ -225,7 +226,6 @@
|
||||
"Followed instructions perfectly": "完全に指示に従った",
|
||||
"Format your variables using square brackets like this:": "次のように角括弧を使用して変数をフォーマットします。",
|
||||
"Frequency Penalty": "周波数ペナルティ",
|
||||
"Full Screen Mode": "フルスクリーンモード",
|
||||
"General": "一般",
|
||||
"General Settings": "一般設定",
|
||||
"Generating search query": "検索クエリの生成",
|
||||
@ -378,6 +378,7 @@
|
||||
"Reranking Model": "モデルの再ランキング",
|
||||
"Reranking model disabled": "再ランキングモデルが無効です",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "再ランキングモデルを \"{{reranking_model}}\" に設定しました",
|
||||
"Reset Upload Directory": "",
|
||||
"Reset Vector Storage": "ベクトルストレージをリセット",
|
||||
"Response AutoCopy to Clipboard": "クリップボードへの応答の自動コピー",
|
||||
"Role": "役割",
|
||||
@ -524,6 +525,7 @@
|
||||
"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 (ローカル)",
|
||||
"Widescreen Mode": "",
|
||||
"Workspace": "ワークスペース",
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "プロンプトの提案を書いてください (例: あなたは誰ですか?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "[トピックまたはキーワード] を要約する 50 語の概要を書いてください。",
|
||||
|
@ -13,6 +13,7 @@
|
||||
"About": "შესახებ",
|
||||
"Account": "ანგარიში",
|
||||
"Accurate information": "დიდი ინფორმაცია",
|
||||
"Active Users": "",
|
||||
"Add": "დამატება",
|
||||
"Add a model id": "დაამატეთ მოდელის ID",
|
||||
"Add a short description about what this model does": "დაამატეთ მოკლე აღწერა იმის შესახებ, თუ რას აკეთებს ეს მოდელი",
|
||||
@ -225,7 +226,6 @@
|
||||
"Followed instructions perfectly": "ყველა ინსტრუქცია უზრუნველყოფა",
|
||||
"Format your variables using square brackets like this:": "დააფორმატეთ თქვენი ცვლადები კვადრატული ფრჩხილების გამოყენებით:",
|
||||
"Frequency Penalty": "სიხშირის ჯარიმა",
|
||||
"Full Screen Mode": "Სრული ეკრანის რეჟიმი",
|
||||
"General": "ზოგადი",
|
||||
"General Settings": "ზოგადი პარამეტრები",
|
||||
"Generating search query": "საძიებო მოთხოვნის გენერირება",
|
||||
@ -378,6 +378,7 @@
|
||||
"Reranking Model": "რექვექტირება",
|
||||
"Reranking model disabled": "რექვექტირება არაა ჩართული",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "Reranking model set to \"{{reranking_model}}\"",
|
||||
"Reset Upload Directory": "",
|
||||
"Reset Vector Storage": "ვექტორული მეხსიერების გადატვირთვა",
|
||||
"Response AutoCopy to Clipboard": "პასუხის ავტომატური კოპირება ბუფერში",
|
||||
"Role": "როლი",
|
||||
@ -525,6 +526,7 @@
|
||||
"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)": "ჩურჩული (ადგილობრივი)",
|
||||
"Widescreen Mode": "",
|
||||
"Workspace": "ვულერი",
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "დაწერეთ მოკლე წინადადება (მაგ. ვინ ხარ?",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "დაწერეთ რეზიუმე 50 სიტყვით, რომელიც აჯამებს [თემას ან საკვანძო სიტყვას].",
|
||||
|
@ -13,6 +13,7 @@
|
||||
"About": "소개",
|
||||
"Account": "계정",
|
||||
"Accurate information": "정확한 정보",
|
||||
"Active Users": "",
|
||||
"Add": "추가",
|
||||
"Add a model id": "모델 ID 추가",
|
||||
"Add a short description about what this model does": "이 모델의 기능에 대한 간단한 설명을 추가합니다",
|
||||
@ -225,7 +226,6 @@
|
||||
"Followed instructions perfectly": "명령을 완벽히 따름",
|
||||
"Format your variables using square brackets like this:": "이렇게 대괄호를 사용하여 변수를 형식화하세요:",
|
||||
"Frequency Penalty": "주파수 페널티",
|
||||
"Full Screen Mode": "전체 화면 모드",
|
||||
"General": "일반",
|
||||
"General Settings": "일반 설정",
|
||||
"Generating search query": "검색 쿼리 생성",
|
||||
@ -378,6 +378,7 @@
|
||||
"Reranking Model": "랭킹 모델 재설정",
|
||||
"Reranking model disabled": "랭킹 모델 재설정 비활성화",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "랭킹 모델 재설정을 \"{{reranking_model}}\"로 설정",
|
||||
"Reset Upload Directory": "",
|
||||
"Reset Vector Storage": "벡터 스토리지 초기화",
|
||||
"Response AutoCopy to Clipboard": "응답 자동 클립보드 복사",
|
||||
"Role": "역할",
|
||||
@ -524,6 +525,7 @@
|
||||
"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)": "위스퍼 (Local)",
|
||||
"Widescreen Mode": "",
|
||||
"Workspace": "워크스페이스",
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "프롬프트 제안 작성 (예: 당신은 누구인가요?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "[주제 또는 키워드]에 대한 50단어 요약문 작성.",
|
||||
|
@ -83,6 +83,10 @@
|
||||
"code": "lt-LT",
|
||||
"title": "Lithuanian (Lietuvių)"
|
||||
},
|
||||
{
|
||||
"code": "nb-NO",
|
||||
"title": "Norwegian Bokmål (Norway)"
|
||||
},
|
||||
{
|
||||
"code": "nl-NL",
|
||||
"title": "Dutch (Netherlands)"
|
||||
@ -119,6 +123,10 @@
|
||||
"code": "tr-TR",
|
||||
"title": "Turkish (Türkçe)"
|
||||
},
|
||||
{
|
||||
"code": "tk-TW",
|
||||
"title": "Turkmen (Türkmençe)"
|
||||
},
|
||||
{
|
||||
"code": "uk-UA",
|
||||
"title": "Ukrainian (Українська)"
|
||||
|
@ -13,6 +13,7 @@
|
||||
"About": "Apie",
|
||||
"Account": "Paskyra",
|
||||
"Accurate information": "Tiksli informacija",
|
||||
"Active Users": "",
|
||||
"Add": "",
|
||||
"Add a model id": "",
|
||||
"Add a short description about what this model does": "",
|
||||
@ -225,7 +226,6 @@
|
||||
"Followed instructions perfectly": "Tobulai sekė instrukcijas",
|
||||
"Format your variables using square brackets like this:": "Formatuokite kintamuosius su kvadratiniais skliausteliais:",
|
||||
"Frequency Penalty": "",
|
||||
"Full Screen Mode": "Pilno ekrano rėžimas",
|
||||
"General": "Bendri",
|
||||
"General Settings": "Bendri nustatymai",
|
||||
"Generating search query": "",
|
||||
@ -378,6 +378,7 @@
|
||||
"Reranking Model": "Reranking modelis",
|
||||
"Reranking model disabled": "Reranking modelis neleidžiamas",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "Nustatytas rereanking modelis: \"{{reranking_model}}\"",
|
||||
"Reset Upload Directory": "",
|
||||
"Reset Vector Storage": "Reinicializuoti vektorių atmintį",
|
||||
"Response AutoCopy to Clipboard": "Automatiškai nukopijuoti atsakymą",
|
||||
"Role": "Rolė",
|
||||
@ -527,6 +528,7 @@
|
||||
"What’s New in": "Kas naujo",
|
||||
"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Kai istorija išjungta, pokalbiai neatsiras jūsų istorijoje.",
|
||||
"Whisper (Local)": "Whisper (lokalus)",
|
||||
"Widescreen Mode": "",
|
||||
"Workspace": "",
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Parašykite užklausą",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "Parašyk santrumpą trumpesnę nei 50 žodžių šiam tekstui: [tekstas]",
|
||||
|
542
src/lib/i18n/locales/nb-NO/translation.json
Normal file
542
src/lib/i18n/locales/nb-NO/translation.json
Normal file
@ -0,0 +1,542 @@
|
||||
{
|
||||
"'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 't', 'd', 'u' eller '-1' for ingen utløp.",
|
||||
"(Beta)": "(Beta)",
|
||||
"(e.g. `sh webui.sh --api`)": "(f.eks. `sh webui.sh --api`)",
|
||||
"(latest)": "(siste)",
|
||||
"{{ models }}": "{{ modeller }}",
|
||||
"{{ owner }}: You cannot delete a base model": "{{ eier }}: Du kan ikke slette en grunnmodell",
|
||||
"{{modelName}} is thinking...": "{{modelName}} tenker...",
|
||||
"{{user}}'s Chats": "{{user}}'s chatter",
|
||||
"{{webUIName}} Backend Required": "{{webUIName}} Backend kreves",
|
||||
"A task model is used when performing tasks such as generating titles for chats and web search queries": "En oppgavemodell brukes når du utfører oppgaver som å generere titler for chatter og websøkeforespørsler",
|
||||
"a user": "en bruker",
|
||||
"About": "Om",
|
||||
"Account": "Konto",
|
||||
"Accurate information": "Nøyaktig informasjon",
|
||||
"Active Users": "",
|
||||
"Add": "Legg til",
|
||||
"Add a model id": "Legg til en modell-ID",
|
||||
"Add a short description about what this model does": "Legg til en kort beskrivelse av hva denne modellen gjør",
|
||||
"Add a short title for this prompt": "Legg til en kort tittel for denne prompten",
|
||||
"Add a tag": "Legg til en tag",
|
||||
"Add custom prompt": "Legg til egendefinert prompt",
|
||||
"Add Docs": "Legg til dokumenter",
|
||||
"Add Files": "Legg til filer",
|
||||
"Add Memory": "Legg til minne",
|
||||
"Add message": "Legg til melding",
|
||||
"Add Model": "Legg til modell",
|
||||
"Add Tags": "Legg til tagger",
|
||||
"Add User": "Legg til bruker",
|
||||
"Adjusting these settings will apply changes universally to all users.": "Justering av disse innstillingene vil gjelde universelt for alle brukere.",
|
||||
"admin": "administrator",
|
||||
"Admin Panel": "Administrasjonspanel",
|
||||
"Admin Settings": "Administrasjonsinnstillinger",
|
||||
"Advanced Parameters": "Avanserte parametere",
|
||||
"Advanced Params": "Avanserte parametere",
|
||||
"all": "alle",
|
||||
"All Documents": "Alle dokumenter",
|
||||
"All Users": "Alle brukere",
|
||||
"Allow": "Tillat",
|
||||
"Allow Chat Deletion": "Tillat sletting av chatter",
|
||||
"Allow non-local voices": "Tillat ikke-lokale stemmer",
|
||||
"alphanumeric characters and hyphens": "alfanumeriske tegn og bindestreker",
|
||||
"Already have an account?": "Har du allerede en konto?",
|
||||
"an assistant": "en assistent",
|
||||
"and": "og",
|
||||
"and create a new shared link.": "og opprett en ny delt lenke.",
|
||||
"API Base URL": "API Grunn-URL",
|
||||
"API Key": "API-nøkkel",
|
||||
"API Key created.": "API-nøkkel opprettet.",
|
||||
"API keys": "API-nøkler",
|
||||
"April": "April",
|
||||
"Archive": "Arkiv",
|
||||
"Archive All Chats": "Arkiver alle chatter",
|
||||
"Archived Chats": "Arkiverte chatter",
|
||||
"are allowed - Activate this command by typing": "er tillatt - Aktiver denne kommandoen ved å skrive",
|
||||
"Are you sure?": "Er du sikker?",
|
||||
"Attach file": "Legg ved fil",
|
||||
"Attention to detail": "Oppmerksomhet på detaljer",
|
||||
"Audio": "Lyd",
|
||||
"August": "August",
|
||||
"Auto-playback response": "Automatisk avspilling av svar",
|
||||
"Auto-send input after 3 sec.": "Send automatisk input etter 3 sek.",
|
||||
"AUTOMATIC1111 Base URL": "AUTOMATIC1111 Grunn-URL",
|
||||
"AUTOMATIC1111 Base URL is required.": "AUTOMATIC1111 Grunn-URL kreves.",
|
||||
"available!": "tilgjengelig!",
|
||||
"Back": "Tilbake",
|
||||
"Bad Response": "Dårlig svar",
|
||||
"Banners": "Bannere",
|
||||
"Base Model (From)": "Grunnmodell (Fra)",
|
||||
"before": "før",
|
||||
"Being lazy": "Er lat",
|
||||
"Brave Search API Key": "Brave Search API-nøkkel",
|
||||
"Bypass SSL verification for Websites": "Omgå SSL-verifisering for nettsteder",
|
||||
"Cancel": "Avbryt",
|
||||
"Capabilities": "Muligheter",
|
||||
"Change Password": "Endre passord",
|
||||
"Chat": "Chat",
|
||||
"Chat Bubble UI": "Chat-boble UI",
|
||||
"Chat direction": "Chat-retning",
|
||||
"Chat History": "Chat-historikk",
|
||||
"Chat History is off for this browser.": "Chat-historikk er av for denne nettleseren.",
|
||||
"Chats": "Chatter",
|
||||
"Check Again": "Sjekk igjen",
|
||||
"Check for updates": "Sjekk for oppdateringer",
|
||||
"Checking for updates...": "Sjekker for oppdateringer...",
|
||||
"Choose a model before saving...": "Velg en modell før du lagrer...",
|
||||
"Chunk Overlap": "Chunk Overlap",
|
||||
"Chunk Params": "Chunk-parametere",
|
||||
"Chunk Size": "Chunk-størrelse",
|
||||
"Citation": "Sitering",
|
||||
"Click here for help.": "Klikk her for hjelp.",
|
||||
"Click here to": "Klikk her for å",
|
||||
"Click here to select": "Klikk her for å velge",
|
||||
"Click here to select a csv file.": "Klikk her for å velge en csv-fil.",
|
||||
"Click here to select documents.": "Klikk her for å velge dokumenter.",
|
||||
"click here.": "klikk her.",
|
||||
"Click on the user role button to change a user's role.": "Klikk på brukerrolle-knappen for å endre en brukers rolle.",
|
||||
"Clone": "Klon",
|
||||
"Close": "Lukk",
|
||||
"Collection": "Samling",
|
||||
"ComfyUI": "ComfyUI",
|
||||
"ComfyUI Base URL": "ComfyUI Grunn-URL",
|
||||
"ComfyUI Base URL is required.": "ComfyUI Grunn-URL kreves.",
|
||||
"Command": "Kommando",
|
||||
"Concurrent Requests": "Samtidige forespørsler",
|
||||
"Confirm Password": "Bekreft passord",
|
||||
"Connections": "Tilkoblinger",
|
||||
"Content": "Innhold",
|
||||
"Context Length": "Kontekstlengde",
|
||||
"Continue Response": "Fortsett svar",
|
||||
"Conversation Mode": "Samtalemodus",
|
||||
"Copied shared chat URL to clipboard!": "Kopiert delt chat-URL til utklippstavlen!",
|
||||
"Copy": "Kopier",
|
||||
"Copy last code block": "Kopier siste kodeblokk",
|
||||
"Copy last response": "Kopier siste svar",
|
||||
"Copy Link": "Kopier lenke",
|
||||
"Copying to clipboard was successful!": "Kopiering til utklippstavlen var vellykket!",
|
||||
"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':": "Lag en kort, 3-5 ords frase som en overskrift for den følgende forespørselen, strikt overhold 3-5 ords grensen og unngå bruk av ordet 'tittel':",
|
||||
"Create a model": "Lag en modell",
|
||||
"Create Account": "Opprett konto",
|
||||
"Create new key": "Lag ny nøkkel",
|
||||
"Create new secret key": "Lag ny hemmelig nøkkel",
|
||||
"Created at": "Opprettet",
|
||||
"Created At": "Opprettet",
|
||||
"Current Model": "Nåværende modell",
|
||||
"Current Password": "Nåværende passord",
|
||||
"Custom": "Tilpasset",
|
||||
"Customize models for a specific purpose": "Tilpass modeller for et spesifikt formål",
|
||||
"Dark": "Mørk",
|
||||
"Database": "Database",
|
||||
"December": "Desember",
|
||||
"Default": "Standard",
|
||||
"Default (Automatic1111)": "Standard (Automatic1111)",
|
||||
"Default (SentenceTransformers)": "Standard (SentenceTransformers)",
|
||||
"Default (Web API)": "Standard (Web API)",
|
||||
"Default Model": "Standardmodell",
|
||||
"Default model updated": "Standardmodell oppdatert",
|
||||
"Default Prompt Suggestions": "Standard promptforslag",
|
||||
"Default User Role": "Standard brukerrolle",
|
||||
"delete": "slett",
|
||||
"Delete": "Slett",
|
||||
"Delete a model": "Slett en modell",
|
||||
"Delete All Chats": "Slett alle chatter",
|
||||
"Delete chat": "Slett chat",
|
||||
"Delete Chat": "Slett chat",
|
||||
"delete this link": "slett denne lenken",
|
||||
"Delete User": "Slett bruker",
|
||||
"Deleted {{deleteModelTag}}": "Slettet {{deleteModelTag}}",
|
||||
"Deleted {{name}}": "Slettet {{name}}",
|
||||
"Description": "Beskrivelse",
|
||||
"Didn't fully follow instructions": "Fulgte ikke instruksjonene fullt ut",
|
||||
"Discover a model": "Oppdag en modell",
|
||||
"Discover a prompt": "Oppdag en prompt",
|
||||
"Discover, download, and explore custom prompts": "Oppdag, last ned og utforsk egendefinerte prompts",
|
||||
"Discover, download, and explore model presets": "Oppdag, last ned og utforsk modellforhåndsinnstillinger",
|
||||
"Display the username instead of You in the Chat": "Vis brukernavnet i stedet for Du i chatten",
|
||||
"Document": "Dokument",
|
||||
"Document Settings": "Dokumentinnstillinger",
|
||||
"Documentation": "Dokumentasjon",
|
||||
"Documents": "Dokumenter",
|
||||
"does not make any external connections, and your data stays securely on your locally hosted server.": "lager ingen eksterne tilkoblinger, og dataene dine forblir trygt på din lokalt hostede server.",
|
||||
"Don't Allow": "Ikke tillat",
|
||||
"Don't have an account?": "Har du ikke en konto?",
|
||||
"Don't like the style": "Liker ikke stilen",
|
||||
"Download": "Last ned",
|
||||
"Download canceled": "Nedlasting avbrutt",
|
||||
"Download Database": "Last ned database",
|
||||
"Drop any files here to add to the conversation": "Slipp filer her for å legge dem til i samtalen",
|
||||
"e.g. '30s','10m'. Valid time units are 's', 'm', 'h'.": "f.eks. '30s','10m'. Gyldige tidsenheter er 's', 'm', 't'.",
|
||||
"Edit": "Rediger",
|
||||
"Edit Doc": "Rediger dokument",
|
||||
"Edit User": "Rediger bruker",
|
||||
"Email": "E-post",
|
||||
"Embedding Batch Size": "Batch-størrelse for embedding",
|
||||
"Embedding Model": "Embedding-modell",
|
||||
"Embedding Model Engine": "Embedding-modellmotor",
|
||||
"Embedding model set to \"{{embedding_model}}\"": "Embedding-modell satt til \"{{embedding_model}}\"",
|
||||
"Enable Chat History": "Aktiver chat-historikk",
|
||||
"Enable Community Sharing": "Aktiver deling i fellesskap",
|
||||
"Enable New Sign Ups": "Aktiver nye registreringer",
|
||||
"Enable Web Search": "Aktiver websøk",
|
||||
"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Sørg for at CSV-filen din inkluderer 4 kolonner i denne rekkefølgen: Navn, E-post, Passord, Rolle.",
|
||||
"Enter {{role}} message here": "Skriv inn {{role}} melding her",
|
||||
"Enter a detail about yourself for your LLMs to recall": "Skriv inn en detalj om deg selv som LLM-ene dine kan huske",
|
||||
"Enter Brave Search API Key": "Skriv inn Brave Search API-nøkkel",
|
||||
"Enter Chunk Overlap": "Skriv inn Chunk Overlap",
|
||||
"Enter Chunk Size": "Skriv inn Chunk-størrelse",
|
||||
"Enter Github Raw URL": "Skriv inn Github Raw-URL",
|
||||
"Enter Google PSE API Key": "Skriv inn Google PSE API-nøkkel",
|
||||
"Enter Google PSE Engine Id": "Skriv inn Google PSE Motor-ID",
|
||||
"Enter Image Size (e.g. 512x512)": "Skriv inn bildestørrelse (f.eks. 512x512)",
|
||||
"Enter language codes": "Skriv inn språkkoder",
|
||||
"Enter model tag (e.g. {{modelTag}})": "Skriv inn modelltag (f.eks. {{modelTag}})",
|
||||
"Enter Number of Steps (e.g. 50)": "Skriv inn antall steg (f.eks. 50)",
|
||||
"Enter Score": "Skriv inn poengsum",
|
||||
"Enter Searxng Query URL": "Skriv inn Searxng forespørsels-URL",
|
||||
"Enter Serper API Key": "Skriv inn Serper API-nøkkel",
|
||||
"Enter Serpstack API Key": "Skriv inn Serpstack API-nøkkel",
|
||||
"Enter stop sequence": "Skriv inn stoppsekvens",
|
||||
"Enter Top K": "Skriv inn Top K",
|
||||
"Enter URL (e.g. http://127.0.0.1:7860/)": "Skriv inn URL (f.eks. http://127.0.0.1:7860/)",
|
||||
"Enter URL (e.g. http://localhost:11434)": "Skriv inn URL (f.eks. http://localhost:11434)",
|
||||
"Enter Your Email": "Skriv inn din e-post",
|
||||
"Enter Your Full Name": "Skriv inn ditt fulle navn",
|
||||
"Enter Your Password": "Skriv inn ditt passord",
|
||||
"Enter Your Role": "Skriv inn din rolle",
|
||||
"Error": "Feil",
|
||||
"Experimental": "Eksperimentell",
|
||||
"Export": "Eksporter",
|
||||
"Export All Chats (All Users)": "Eksporter alle chatter (alle brukere)",
|
||||
"Export chat (.json)": "Eksporter chat (.json)",
|
||||
"Export Chats": "Eksporter chatter",
|
||||
"Export Documents Mapping": "Eksporter dokumentkartlegging",
|
||||
"Export Models": "Eksporter modeller",
|
||||
"Export Prompts": "Eksporter prompts",
|
||||
"Failed to create API Key.": "Kunne ikke opprette API-nøkkel.",
|
||||
"Failed to read clipboard contents": "Kunne ikke lese utklippstavleinnhold",
|
||||
"Failed to update settings": "Kunne ikke oppdatere innstillinger",
|
||||
"February": "Februar",
|
||||
"Feel free to add specific details": "Føl deg fri til å legge til spesifikke detaljer",
|
||||
"File Mode": "Filmodus",
|
||||
"File not found.": "Fil ikke funnet.",
|
||||
"Fingerprint spoofing detected: Unable to use initials as avatar. Defaulting to default profile image.": "Fingeravtrykk-spoofing oppdaget: Kan ikke bruke initialer som avatar. Bruker standard profilbilde.",
|
||||
"Fluidly stream large external response chunks": "Strøm store eksterne svarchunks flytende",
|
||||
"Focus chat input": "Fokuser chatinput",
|
||||
"Followed instructions perfectly": "Fulgte instruksjonene perfekt",
|
||||
"Format your variables using square brackets like this:": "Formatér variablene dine med hakeparenteser som dette:",
|
||||
"Frequency Penalty": "Frekvensstraff",
|
||||
"General": "Generelt",
|
||||
"General Settings": "Generelle innstillinger",
|
||||
"Generating search query": "Genererer søkeforespørsel",
|
||||
"Generation Info": "Generasjonsinfo",
|
||||
"Good Response": "Godt svar",
|
||||
"Google PSE API Key": "Google PSE API-nøkkel",
|
||||
"Google PSE Engine Id": "Google PSE Motor-ID",
|
||||
"h:mm a": "t:mm a",
|
||||
"has no conversations.": "har ingen samtaler.",
|
||||
"Hello, {{name}}": "Hei, {{name}}",
|
||||
"Help": "Hjelp",
|
||||
"Hide": "Skjul",
|
||||
"How can I help you today?": "Hvordan kan jeg hjelpe deg i dag?",
|
||||
"Hybrid Search": "Hybrid-søk",
|
||||
"Image Generation (Experimental)": "Bildegenerering (Eksperimentell)",
|
||||
"Image Generation Engine": "Bildegenereringsmotor",
|
||||
"Image Settings": "Bildeinnstillinger",
|
||||
"Images": "Bilder",
|
||||
"Import Chats": "Importer chatter",
|
||||
"Import Documents Mapping": "Importer dokumentkartlegging",
|
||||
"Import Models": "Importer modeller",
|
||||
"Import Prompts": "Importer prompts",
|
||||
"Include `--api` flag when running stable-diffusion-webui": "Inkluder `--api`-flagget når du kjører stable-diffusion-webui",
|
||||
"Info": "Info",
|
||||
"Input commands": "Inntast kommandoer",
|
||||
"Install from Github URL": "Installer fra Github-URL",
|
||||
"Interface": "Grensesnitt",
|
||||
"Invalid Tag": "Ugyldig tag",
|
||||
"January": "Januar",
|
||||
"join our Discord for help.": "bli med i vår Discord for hjelp.",
|
||||
"JSON": "JSON",
|
||||
"JSON Preview": "JSON-forhåndsvisning",
|
||||
"July": "Juli",
|
||||
"June": "Juni",
|
||||
"JWT Expiration": "JWT-utløp",
|
||||
"JWT Token": "JWT-token",
|
||||
"Keep Alive": "Hold i live",
|
||||
"Keyboard shortcuts": "Hurtigtaster",
|
||||
"Language": "Språk",
|
||||
"Last Active": "Sist aktiv",
|
||||
"Light": "Lys",
|
||||
"Listening...": "Lytter...",
|
||||
"LLMs can make mistakes. Verify important information.": "LLM-er kan gjøre feil. Verifiser viktig informasjon.",
|
||||
"LTR": "LTR",
|
||||
"Made by OpenWebUI Community": "Laget av OpenWebUI-fellesskapet",
|
||||
"Make sure to enclose them with": "Sørg for å omslutte dem med",
|
||||
"Manage Models": "Administrer modeller",
|
||||
"Manage Ollama Models": "Administrer Ollama-modeller",
|
||||
"Manage Pipelines": "Administrer pipelines",
|
||||
"March": "Mars",
|
||||
"Max Tokens (num_predict)": "Maks antall tokens (num_predict)",
|
||||
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Maksimalt 3 modeller kan lastes ned samtidig. Vennligst prøv igjen senere.",
|
||||
"May": "Mai",
|
||||
"Memories accessible by LLMs will be shown here.": "Minner tilgjengelige for LLM-er vil vises her.",
|
||||
"Memory": "Minne",
|
||||
"Messages you send after creating your link won't be shared. Users with the URL will be able to view the shared chat.": "Meldinger du sender etter at du har opprettet lenken din vil ikke bli delt. Brukere med URL-en vil kunne se den delte chatten.",
|
||||
"Minimum Score": "Minimum poengsum",
|
||||
"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",
|
||||
"Model '{{modelName}}' has been successfully downloaded.": "Modellen '{{modelName}}' er lastet ned.",
|
||||
"Model '{{modelTag}}' is already in queue for downloading.": "Modellen '{{modelTag}}' er allerede i nedlastingskøen.",
|
||||
"Model {{modelId}} not found": "Modellen {{modelId}} ble ikke funnet",
|
||||
"Model {{modelName}} is not vision capable": "Modellen {{modelName}} er ikke visjonsdyktig",
|
||||
"Model {{name}} is now {{status}}": "Modellen {{name}} er nå {{status}}",
|
||||
"Model filesystem path detected. Model shortname is required for update, cannot continue.": "Modellens filsystemsti oppdaget. Modellens kortnavn er påkrevd for oppdatering, kan ikke fortsette.",
|
||||
"Model ID": "Modell-ID",
|
||||
"Model not selected": "Modell ikke valgt",
|
||||
"Model Params": "Modellparametere",
|
||||
"Model Whitelisting": "Modell hvitlisting",
|
||||
"Model(s) Whitelisted": "Modell(er) hvitlistet",
|
||||
"Modelfile Content": "Modellfilinnhold",
|
||||
"Models": "Modeller",
|
||||
"More": "Mer",
|
||||
"Name": "Navn",
|
||||
"Name Tag": "Navnetag",
|
||||
"Name your model": "Gi modellen din et navn",
|
||||
"New Chat": "Ny chat",
|
||||
"New Password": "Nytt passord",
|
||||
"No results found": "Ingen resultater funnet",
|
||||
"No search query generated": "Ingen søkeforespørsel generert",
|
||||
"No source available": "Ingen kilde tilgjengelig",
|
||||
"None": "Ingen",
|
||||
"Not factually correct": "Ikke faktuelt 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 setter en minimums poengsum, vil søket kun returnere dokumenter med en poengsum som er større enn eller lik minimums poengsummen.",
|
||||
"Notifications": "Varsler",
|
||||
"November": "November",
|
||||
"num_thread (Ollama)": "num_thread (Ollama)",
|
||||
"October": "Oktober",
|
||||
"Off": "Av",
|
||||
"Okay, Let's Go!": "Ok, la oss gå!",
|
||||
"OLED Dark": "OLED mørk",
|
||||
"Ollama": "Ollama",
|
||||
"Ollama API": "Ollama API",
|
||||
"Ollama API disabled": "Ollama API deaktivert",
|
||||
"Ollama Version": "Ollama versjon",
|
||||
"On": "På",
|
||||
"Only": "Kun",
|
||||
"Only alphanumeric characters and hyphens are allowed in the command string.": "Kun alfanumeriske tegn og bindestreker er tillatt i kommandostrengen.",
|
||||
"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! Hold deg fast! Filene dine er fortsatt i prosesseringsovnen. Vi tilbereder dem til perfeksjon. Vennligst vær tålmodig, vi gir beskjed når de er klare.",
|
||||
"Oops! Looks like the URL is invalid. Please double-check and try again.": "Oops! Ser ut som URL-en er ugyldig. Vennligst dobbeltsjekk og prøv igjen.",
|
||||
"Oops! You're using an unsupported method (frontend only). Please serve the WebUI from the backend.": "Oops! Du bruker en ikke-støttet metode (kun frontend). Vennligst server WebUI fra backend.",
|
||||
"Open": "Åpne",
|
||||
"Open AI": "Open AI",
|
||||
"Open AI (Dall-E)": "Open AI (Dall-E)",
|
||||
"Open new chat": "Åpne ny chat",
|
||||
"OpenAI": "OpenAI",
|
||||
"OpenAI API": "OpenAI API",
|
||||
"OpenAI API Config": "OpenAI API-konfigurasjon",
|
||||
"OpenAI API Key is required.": "OpenAI API-nøkkel kreves.",
|
||||
"OpenAI URL/Key required.": "OpenAI URL/nøkkel kreves.",
|
||||
"or": "eller",
|
||||
"Other": "Annet",
|
||||
"Password": "Passord",
|
||||
"PDF document (.pdf)": "PDF-dokument (.pdf)",
|
||||
"PDF Extract Images (OCR)": "PDF-ekstraktbilder (OCR)",
|
||||
"pending": "avventer",
|
||||
"Permission denied when accessing microphone: {{error}}": "Tillatelse nektet ved tilgang til mikrofon: {{error}}",
|
||||
"Personalization": "Personalisering",
|
||||
"Pipelines": "Pipelines",
|
||||
"Pipelines Valves": "Pipeline-ventiler",
|
||||
"Plain text (.txt)": "Ren tekst (.txt)",
|
||||
"Playground": "Lekeplass",
|
||||
"Positive attitude": "Positiv holdning",
|
||||
"Previous 30 days": "Forrige 30 dager",
|
||||
"Previous 7 days": "Forrige 7 dager",
|
||||
"Profile Image": "Profilbilde",
|
||||
"Prompt": "Prompt",
|
||||
"Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Prompt (f.eks. Fortell meg en morsom fakta om Romerriket)",
|
||||
"Prompt Content": "Prompt-innhold",
|
||||
"Prompt suggestions": "Promptforslag",
|
||||
"Prompts": "Prompter",
|
||||
"Pull \"{{searchValue}}\" from Ollama.com": "Trekk \"{{searchValue}}\" fra Ollama.com",
|
||||
"Pull a model from Ollama.com": "Trekk en modell fra Ollama.com",
|
||||
"Query Params": "Forespørselsparametere",
|
||||
"RAG Template": "RAG-mal",
|
||||
"Read Aloud": "Les høyt",
|
||||
"Record voice": "Ta opp stemme",
|
||||
"Redirecting you to OpenWebUI Community": "Omdirigerer deg til OpenWebUI-fellesskapet",
|
||||
"Refused when it shouldn't have": "Avvist når det ikke skulle ha vært det",
|
||||
"Regenerate": "Regenerer",
|
||||
"Release Notes": "Utgivelsesnotater",
|
||||
"Remove": "Fjern",
|
||||
"Remove Model": "Fjern modell",
|
||||
"Rename": "Gi nytt navn",
|
||||
"Repeat Last N": "Gjenta siste N",
|
||||
"Request Mode": "Forespørselsmodus",
|
||||
"Reranking Model": "Reranking-modell",
|
||||
"Reranking model disabled": "Reranking-modell deaktivert",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "Reranking-modell satt til \"{{reranking_model}}\"",
|
||||
"Reset Upload Directory": "",
|
||||
"Reset Vector Storage": "Tilbakestill vektorlagring",
|
||||
"Response AutoCopy to Clipboard": "Respons auto-kopi til utklippstavle",
|
||||
"Role": "Rolle",
|
||||
"Rosé Pine": "Rosé Pine",
|
||||
"Rosé Pine Dawn": "Rosé Pine Dawn",
|
||||
"RTL": "RTL",
|
||||
"Save": "Lagre",
|
||||
"Save & Create": "Lagre og opprett",
|
||||
"Save & Update": "Lagre og oppdater",
|
||||
"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": "Lagring av chatlogger direkte til nettleserens lagring støttes ikke lenger. Vennligst ta et øyeblikk for å laste ned og slette chatloggene dine ved å klikke på knappen nedenfor. Ikke bekymre deg, du kan enkelt re-importere chatloggene dine til backend via",
|
||||
"Scan": "Skann",
|
||||
"Scan complete!": "Skanning fullført!",
|
||||
"Scan for documents from {{path}}": "Skann etter dokumenter fra {{path}}",
|
||||
"Search": "Søk",
|
||||
"Search a model": "Søk en modell",
|
||||
"Search Chats": "Søk chatter",
|
||||
"Search Documents": "Søk dokumenter",
|
||||
"Search Models": "Søk modeller",
|
||||
"Search Prompts": "Søk prompter",
|
||||
"Search Result Count": "Antall søkeresultater",
|
||||
"Searched {{count}} sites_one": "Søkte på {{count}} side",
|
||||
"Searched {{count}} sites_other": "Søkte på {{count}} sider",
|
||||
"Searching the web for '{{searchQuery}}'": "Søker på nettet etter '{{searchQuery}}'",
|
||||
"Searxng Query URL": "Searxng forespørsels-URL",
|
||||
"See readme.md for instructions": "Se readme.md for instruksjoner",
|
||||
"See what's new": "Se hva som er nytt",
|
||||
"Seed": "Seed",
|
||||
"Select a base model": "Velg en grunnmodell",
|
||||
"Select a mode": "Velg en modus",
|
||||
"Select a model": "Velg en modell",
|
||||
"Select a pipeline": "Velg en pipeline",
|
||||
"Select a pipeline url": "Velg en pipeline-URL",
|
||||
"Select an Ollama instance": "Velg en Ollama-instans",
|
||||
"Select model": "Velg modell",
|
||||
"Selected model(s) do not support image inputs": "Valgte modell(er) støtter ikke bildeforslag",
|
||||
"Send": "Send",
|
||||
"Send a Message": "Send en melding",
|
||||
"Send message": "Send melding",
|
||||
"September": "September",
|
||||
"Serper API Key": "Serper API-nøkkel",
|
||||
"Serpstack API Key": "Serpstack API-nøkkel",
|
||||
"Server connection verified": "Servertilkobling bekreftet",
|
||||
"Set as default": "Sett som standard",
|
||||
"Set Default Model": "Sett standardmodell",
|
||||
"Set embedding model (e.g. {{model}})": "Sett embedding-modell (f.eks. {{model}})",
|
||||
"Set Image Size": "Sett bildestørrelse",
|
||||
"Set Model": "Sett modell",
|
||||
"Set reranking model (e.g. {{model}})": "Sett reranking-modell (f.eks. {{model}})",
|
||||
"Set Steps": "Sett steg",
|
||||
"Set Task Model": "Sett oppgavemodell",
|
||||
"Set Voice": "Sett stemme",
|
||||
"Settings": "Innstillinger",
|
||||
"Settings saved successfully!": "Innstillinger lagret!",
|
||||
"Settings updated successfully": "Innstillinger oppdatert",
|
||||
"Share": "Del",
|
||||
"Share Chat": "Del chat",
|
||||
"Share to OpenWebUI Community": "Del med OpenWebUI-fellesskapet",
|
||||
"short-summary": "kort sammendrag",
|
||||
"Show": "Vis",
|
||||
"Show Admin Details in Account Pending Overlay": "Vis administratordetaljer i ventende kontooverlay",
|
||||
"Show shortcuts": "Vis snarveier",
|
||||
"Showcased creativity": "Vist frem kreativitet",
|
||||
"sidebar": "sidefelt",
|
||||
"Sign in": "Logg inn",
|
||||
"Sign Out": "Logg ut",
|
||||
"Sign up": "Registrer deg",
|
||||
"Signing in": "Logger inn",
|
||||
"Source": "Kilde",
|
||||
"Speech recognition error: {{error}}": "Feil ved talegjenkjenning: {{error}}",
|
||||
"Speech-to-Text Engine": "Tale-til-tekst-motor",
|
||||
"SpeechRecognition API is not supported in this browser.": "SpeechRecognition API støttes ikke i denne nettleseren.",
|
||||
"Stop Sequence": "Stoppsekvens",
|
||||
"STT Settings": "STT-innstillinger",
|
||||
"Submit": "Send inn",
|
||||
"Subtitle (e.g. about the Roman Empire)": "Undertittel (f.eks. om Romerriket)",
|
||||
"Success": "Suksess",
|
||||
"Successfully updated.": "Oppdatert.",
|
||||
"Suggested": "Foreslått",
|
||||
"System": "System",
|
||||
"System Prompt": "Systemprompt",
|
||||
"Tags": "Tagger",
|
||||
"Tell us more:": "Fortell oss mer:",
|
||||
"Temperature": "Temperatur",
|
||||
"Template": "Mal",
|
||||
"Text Completion": "Tekstfullføring",
|
||||
"Text-to-Speech Engine": "Tekst-til-tale-motor",
|
||||
"Tfs Z": "Tfs Z",
|
||||
"Thanks for your feedback!": "Takk for tilbakemeldingen!",
|
||||
"The score should be a value between 0.0 (0%) and 1.0 (100%).": "Poengsummen skal være en verdi mellom 0,0 (0%) og 1,0 (100%).",
|
||||
"Theme": "Tema",
|
||||
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Dette sikrer at dine verdifulle samtaler er trygt lagret i backend-databasen din. Takk!",
|
||||
"This setting does not sync across browsers or devices.": "Denne innstillingen synkroniseres ikke mellom nettlesere eller enheter.",
|
||||
"Thorough explanation": "Grundig forklaring",
|
||||
"Tip: Update multiple variable slots consecutively by pressing the tab key in the chat input after each replacement.": "Tips: Oppdater flere variabelplasser etter hverandre ved å trykke på tab-tasten i chatinputen etter hver erstatning.",
|
||||
"Title": "Tittel",
|
||||
"Title (e.g. Tell me a fun fact)": "Tittel (f.eks. Fortell meg en morsom fakta)",
|
||||
"Title Auto-Generation": "Automatisk tittelgenerering",
|
||||
"Title cannot be an empty string.": "Tittelen kan ikke være en tom streng.",
|
||||
"Title Generation Prompt": "Tittelgenereringsprompt",
|
||||
"to": "til",
|
||||
"To access the available model names for downloading,": "For å få tilgang til tilgjengelige modelnavn for nedlasting,",
|
||||
"To access the GGUF models available for downloading,": "For å få tilgang til GGUF-modellene som er tilgjengelige for nedlasting,",
|
||||
"to chat input.": "til chatinput.",
|
||||
"Today": "I dag",
|
||||
"Toggle settings": "Veksle innstillinger",
|
||||
"Toggle sidebar": "Veksle sidefelt",
|
||||
"Top K": "Top K",
|
||||
"Top P": "Top P",
|
||||
"Trouble accessing Ollama?": "Problemer med tilgang til Ollama?",
|
||||
"TTS Settings": "TTS-innstillinger",
|
||||
"Type": "Type",
|
||||
"Type Hugging Face Resolve (Download) URL": "Skriv inn Hugging Face Resolve (nedlasting) URL",
|
||||
"Uh-oh! There was an issue connecting to {{provider}}.": "Oops! Det oppsto et problem med tilkoblingen til {{provider}}.",
|
||||
"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Ukjent filtype '{{file_type}}', men aksepteres og behandles som ren tekst",
|
||||
"Update and Copy Link": "Oppdater og kopier lenke",
|
||||
"Update password": "Oppdater passord",
|
||||
"Upload a GGUF model": "Last opp en GGUF-modell",
|
||||
"Upload Files": "Last opp filer",
|
||||
"Upload Progress": "Opplastingsfremdrift",
|
||||
"URL Mode": "URL-modus",
|
||||
"Use '#' in the prompt input to load and select your documents.": "Bruk '#' i prompt-input for å laste og velge dokumentene dine.",
|
||||
"Use Gravatar": "Bruk Gravatar",
|
||||
"Use Initials": "Bruk initialer",
|
||||
"use_mlock (Ollama)": "use_mlock (Ollama)",
|
||||
"use_mmap (Ollama)": "use_mmap (Ollama)",
|
||||
"user": "bruker",
|
||||
"User Permissions": "Brukertillatelser",
|
||||
"Users": "Brukere",
|
||||
"Utilize": "Utnytt",
|
||||
"Valid time units:": "Gyldige tidsenheter:",
|
||||
"variable": "variabel",
|
||||
"variable to have them replaced with clipboard content.": "variabel for å få dem erstattet med utklippstavleinnhold.",
|
||||
"Version": "Versjon",
|
||||
"Warning": "Advarsel",
|
||||
"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Advarsel: Hvis du oppdaterer eller endrer embedding-modellen din, må du re-importere alle dokumenter.",
|
||||
"Web": "Web",
|
||||
"Web Loader Settings": "Web-lasterinnstillinger",
|
||||
"Web Params": "Web-parametere",
|
||||
"Web Search": "Websøk",
|
||||
"Web Search Engine": "Websøkemotor",
|
||||
"Webhook URL": "Webhook URL",
|
||||
"WebUI Add-ons": "WebUI tillegg",
|
||||
"WebUI Settings": "WebUI innstillinger",
|
||||
"WebUI will make requests to": "WebUI vil gjøre forespørsler til",
|
||||
"What’s New in": "Hva er nytt i",
|
||||
"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Når historikken er slått av, vil nye chatter på denne nettleseren ikke vises i historikken din på noen av enhetene dine.",
|
||||
"Whisper (Local)": "Whisper (lokal)",
|
||||
"Widescreen Mode": "",
|
||||
"Workspace": "Arbeidsområde",
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Skriv et promptforslag (f.eks. Hvem er du?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "Skriv et sammendrag på 50 ord som oppsummerer [emne eller nøkkelord].",
|
||||
"Yesterday": "I går",
|
||||
"You": "Du",
|
||||
"You cannot clone a base model": "Du kan ikke klone en grunnmodell",
|
||||
"You have no archived conversations.": "Du har ingen arkiverte samtaler.",
|
||||
"You have shared this chat": "Du har delt denne chatten",
|
||||
"You're a helpful assistant.": "Du er en hjelpsom assistent.",
|
||||
"You're now logged in.": "Du er nå logget inn.",
|
||||
"Youtube": "Youtube",
|
||||
"Youtube Loader Settings": "Youtube-lasterinnstillinger"
|
||||
}
|
@ -13,6 +13,7 @@
|
||||
"About": "Over",
|
||||
"Account": "Account",
|
||||
"Accurate information": "Accurate informatie",
|
||||
"Active Users": "",
|
||||
"Add": "Toevoegen",
|
||||
"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",
|
||||
@ -225,7 +226,6 @@
|
||||
"Followed instructions perfectly": "Volgde instructies perfect",
|
||||
"Format your variables using square brackets like this:": "Formatteer je variabelen met vierkante haken zoals dit:",
|
||||
"Frequency Penalty": "Frequentie Straf",
|
||||
"Full Screen Mode": "Volledig Scherm Modus",
|
||||
"General": "Algemeen",
|
||||
"General Settings": "Algemene Instellingen",
|
||||
"Generating search query": "Zoekopdracht genereren",
|
||||
@ -378,6 +378,7 @@
|
||||
"Reranking Model": "Reranking Model",
|
||||
"Reranking model disabled": "Reranking model uitgeschakeld",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "Reranking model ingesteld op \"{{reranking_model}}\"",
|
||||
"Reset Upload Directory": "",
|
||||
"Reset Vector Storage": "Reset Vector Opslag",
|
||||
"Response AutoCopy to Clipboard": "Antwoord Automatisch Kopiëren naar Klembord",
|
||||
"Role": "Rol",
|
||||
@ -525,6 +526,7 @@
|
||||
"What’s New in": "Wat is nieuw in",
|
||||
"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Wanneer geschiedenis is uitgeschakeld, zullen nieuwe chats op deze browser niet verschijnen in je geschiedenis op een van je apparaten.",
|
||||
"Whisper (Local)": "Fluister (Lokaal)",
|
||||
"Widescreen Mode": "",
|
||||
"Workspace": "Werkruimte",
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Schrijf een prompt suggestie (bijv. Wie ben je?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "Schrijf een samenvatting in 50 woorden die [onderwerp of trefwoord] samenvat.",
|
||||
|
@ -13,6 +13,7 @@
|
||||
"About": "ਬਾਰੇ",
|
||||
"Account": "ਖਾਤਾ",
|
||||
"Accurate information": "ਸਹੀ ਜਾਣਕਾਰੀ",
|
||||
"Active Users": "",
|
||||
"Add": "ਸ਼ਾਮਲ ਕਰੋ",
|
||||
"Add a model id": "ਇੱਕ ਮਾਡਲ ID ਸ਼ਾਮਲ ਕਰੋ",
|
||||
"Add a short description about what this model does": "ਇਸ ਬਾਰੇ ਇੱਕ ਸੰਖੇਪ ਵੇਰਵਾ ਸ਼ਾਮਲ ਕਰੋ ਕਿ ਇਹ ਮਾਡਲ ਕੀ ਕਰਦਾ ਹੈ",
|
||||
@ -225,7 +226,6 @@
|
||||
"Followed instructions perfectly": "ਹਦਾਇਤਾਂ ਨੂੰ ਬਿਲਕੁਲ ਫਾਲੋ ਕੀਤਾ",
|
||||
"Format your variables using square brackets like this:": "ਤੁਹਾਡੀਆਂ ਵੈਰੀਏਬਲਾਂ ਨੂੰ ਇਸ ਤਰ੍ਹਾਂ ਵਰਤੋਂ: [ ]",
|
||||
"Frequency Penalty": "ਬਾਰੰਬਾਰਤਾ ਜੁਰਮਾਨਾ",
|
||||
"Full Screen Mode": "ਪੂਰੀ ਸਕਰੀਨ ਮੋਡ",
|
||||
"General": "ਆਮ",
|
||||
"General Settings": "ਆਮ ਸੈਟਿੰਗਾਂ",
|
||||
"Generating search query": "ਖੋਜ ਪੁੱਛਗਿੱਛ ਤਿਆਰ ਕਰਨਾ",
|
||||
@ -378,6 +378,7 @@
|
||||
"Reranking Model": "ਮਾਡਲ ਮੁੜ ਰੈਂਕਿੰਗ",
|
||||
"Reranking model disabled": "ਮਾਡਲ ਮੁੜ ਰੈਂਕਿੰਗ ਅਯੋਗ ਕੀਤਾ ਗਿਆ",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "ਮਾਡਲ ਮੁੜ ਰੈਂਕਿੰਗ ਨੂੰ \"{{reranking_model}}\" 'ਤੇ ਸੈੱਟ ਕੀਤਾ ਗਿਆ",
|
||||
"Reset Upload Directory": "",
|
||||
"Reset Vector Storage": "ਵੈਕਟਰ ਸਟੋਰੇਜ ਨੂੰ ਰੀਸੈਟ ਕਰੋ",
|
||||
"Response AutoCopy to Clipboard": "ਜਵਾਬ ਆਟੋ ਕਾਪੀ ਕਲਿੱਪਬੋਰਡ 'ਤੇ",
|
||||
"Role": "ਭੂਮਿਕਾ",
|
||||
@ -525,6 +526,7 @@
|
||||
"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)": "ਵਿਸਪਰ (ਸਥਾਨਕ)",
|
||||
"Widescreen Mode": "",
|
||||
"Workspace": "ਕਾਰਜਸਥਲ",
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "ਇੱਕ ਪ੍ਰੰਪਟ ਸੁਝਾਅ ਲਿਖੋ (ਉਦਾਹਰਣ ਲਈ ਤੁਸੀਂ ਕੌਣ ਹੋ?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "50 ਸ਼ਬਦਾਂ ਵਿੱਚ ਇੱਕ ਸੰਖੇਪ ਲਿਖੋ ਜੋ [ਵਿਸ਼ਾ ਜਾਂ ਕੁੰਜੀ ਸ਼ਬਦ] ਨੂੰ ਸੰਖੇਪ ਕਰਦਾ ਹੈ।",
|
||||
|
@ -13,6 +13,7 @@
|
||||
"About": "O nas",
|
||||
"Account": "Konto",
|
||||
"Accurate information": "Dokładna informacja",
|
||||
"Active Users": "",
|
||||
"Add": "Dodaj",
|
||||
"Add a model id": "Dodawanie identyfikatora modelu",
|
||||
"Add a short description about what this model does": "Dodaj krótki opis działania tego modelu",
|
||||
@ -225,7 +226,6 @@
|
||||
"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": "Kara za częstotliwość",
|
||||
"Full Screen Mode": "Tryb pełnoekranowy",
|
||||
"General": "Ogólne",
|
||||
"General Settings": "Ogólne ustawienia",
|
||||
"Generating search query": "Generowanie zapytania",
|
||||
@ -378,6 +378,7 @@
|
||||
"Reranking Model": "Zmiana rankingu modelu",
|
||||
"Reranking model disabled": "Zmiana rankingu modelu zablokowana",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "Zmiana rankingu modelu ustawiona na \"{{reranking_model}}\"",
|
||||
"Reset Upload Directory": "",
|
||||
"Reset Vector Storage": "Resetuj przechowywanie wektorów",
|
||||
"Response AutoCopy to Clipboard": "Automatyczne kopiowanie odpowiedzi do schowka",
|
||||
"Role": "Rola",
|
||||
@ -527,6 +528,7 @@
|
||||
"What’s New in": "Co nowego w",
|
||||
"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Kiedy historia jest wyłączona, nowe czaty na tej przeglądarce nie będą widoczne w historii na żadnym z twoich urządzeń.",
|
||||
"Whisper (Local)": "Whisper (Lokalnie)",
|
||||
"Widescreen Mode": "",
|
||||
"Workspace": "Obszar roboczy",
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Napisz sugestię do polecenia (np. Kim jesteś?)",
|
||||
"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].",
|
||||
|
@ -13,6 +13,7 @@
|
||||
"About": "Sobre",
|
||||
"Account": "Conta",
|
||||
"Accurate information": "Informações precisas",
|
||||
"Active Users": "",
|
||||
"Add": "Adicionar",
|
||||
"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",
|
||||
@ -225,7 +226,6 @@
|
||||
"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": "Penalidade de Frequência",
|
||||
"Full Screen Mode": "Modo de Tela Cheia",
|
||||
"General": "Geral",
|
||||
"General Settings": "Configurações Gerais",
|
||||
"Generating search query": "Gerando consulta de pesquisa",
|
||||
@ -378,6 +378,7 @@
|
||||
"Reranking Model": "Modelo de Reranking",
|
||||
"Reranking model disabled": "Modelo de Reranking desativado",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "Modelo de Reranking definido como \"{{reranking_model}}\"",
|
||||
"Reset Upload Directory": "",
|
||||
"Reset Vector Storage": "Redefinir Armazenamento de Vetor",
|
||||
"Response AutoCopy to Clipboard": "Cópia Automática da Resposta para a Área de Transferência",
|
||||
"Role": "Função",
|
||||
@ -526,6 +527,7 @@
|
||||
"What’s New in": "O que há de novo em",
|
||||
"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Quando o histórico está desativado, novos bate-papos neste navegador não aparecerão em seu histórico em nenhum dos seus dispositivos.",
|
||||
"Whisper (Local)": "Whisper (Local)",
|
||||
"Widescreen Mode": "",
|
||||
"Workspace": "Espaço de trabalho",
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Escreva uma sugestão de prompt (por exemplo, Quem é você?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "Escreva um resumo em 50 palavras que resuma [tópico ou palavra-chave].",
|
||||
|
@ -13,6 +13,7 @@
|
||||
"About": "Sobre",
|
||||
"Account": "Conta",
|
||||
"Accurate information": "Informações precisas",
|
||||
"Active Users": "",
|
||||
"Add": "Adicionar",
|
||||
"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",
|
||||
@ -225,7 +226,6 @@
|
||||
"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": "Penalidade de Frequência",
|
||||
"Full Screen Mode": "Modo de Tela Cheia",
|
||||
"General": "Geral",
|
||||
"General Settings": "Configurações Gerais",
|
||||
"Generating search query": "Gerar consulta de pesquisa",
|
||||
@ -378,6 +378,7 @@
|
||||
"Reranking Model": "Modelo de Reranking",
|
||||
"Reranking model disabled": "Modelo de Reranking desativado",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "Modelo de Reranking definido como \"{{reranking_model}}\"",
|
||||
"Reset Upload Directory": "",
|
||||
"Reset Vector Storage": "Redefinir Armazenamento de Vetor",
|
||||
"Response AutoCopy to Clipboard": "Cópia Automática da Resposta para a Área de Transferência",
|
||||
"Role": "Função",
|
||||
@ -526,6 +527,7 @@
|
||||
"What’s New in": "O que há de novo em",
|
||||
"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Quando o histórico está desativado, novos bate-papos neste navegador não aparecerão em seu histórico em nenhum dos seus dispositivos.",
|
||||
"Whisper (Local)": "Whisper (Local)",
|
||||
"Widescreen Mode": "",
|
||||
"Workspace": "Espaço de Trabalho",
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Escreva uma sugestão de prompt (por exemplo, Quem é você?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "Escreva um resumo em 50 palavras que resuma [tópico ou palavra-chave].",
|
||||
|
@ -13,6 +13,7 @@
|
||||
"About": "Об",
|
||||
"Account": "Аккаунт",
|
||||
"Accurate information": "Точная информация",
|
||||
"Active Users": "",
|
||||
"Add": "Добавить",
|
||||
"Add a model id": "Добавление идентификатора модели",
|
||||
"Add a short description about what this model does": "Добавьте краткое описание того, что делает эта модель",
|
||||
@ -225,7 +226,6 @@
|
||||
"Followed instructions perfectly": "Учитывая инструкции идеально",
|
||||
"Format your variables using square brackets like this:": "Форматируйте ваши переменные, используя квадратные скобки, как здесь:",
|
||||
"Frequency Penalty": "Штраф за частоту",
|
||||
"Full Screen Mode": "Полноэкранный режим",
|
||||
"General": "Общее",
|
||||
"General Settings": "Общие настройки",
|
||||
"Generating search query": "Генерация поискового запроса",
|
||||
@ -378,6 +378,7 @@
|
||||
"Reranking Model": "Reranking модель",
|
||||
"Reranking model disabled": "Модель реранжирования отключена",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "Модель реранжирования установлена на \"{{reranking_model}}\"",
|
||||
"Reset Upload Directory": "",
|
||||
"Reset Vector Storage": "Сбросить векторное хранилище",
|
||||
"Response AutoCopy to Clipboard": "Автоматическое копирование ответа в буфер обмена",
|
||||
"Role": "Роль",
|
||||
@ -527,6 +528,7 @@
|
||||
"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)": "Шепот (локальный)",
|
||||
"Widescreen Mode": "",
|
||||
"Workspace": "Рабочая область",
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Напишите предложение промпта (например, Кто вы?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "Напишите резюме в 50 словах, которое кратко описывает [тему или ключевое слово].",
|
||||
|
@ -13,6 +13,7 @@
|
||||
"About": "О нама",
|
||||
"Account": "Налог",
|
||||
"Accurate information": "Прецизне информације",
|
||||
"Active Users": "",
|
||||
"Add": "Додај",
|
||||
"Add a model id": "Додавање ИД-а модела",
|
||||
"Add a short description about what this model does": "Додавање кратког описа о томе шта овај модел ради",
|
||||
@ -225,7 +226,6 @@
|
||||
"Followed instructions perfectly": "Упутства су савршено праћена",
|
||||
"Format your variables using square brackets like this:": "Форматирајте ваше променљиве користећи угластe заграде овако:",
|
||||
"Frequency Penalty": "Фреквентна казна",
|
||||
"Full Screen Mode": "Режим целог екрана",
|
||||
"General": "Опште",
|
||||
"General Settings": "Општа подешавања",
|
||||
"Generating search query": "Генерисање упита претраге",
|
||||
@ -378,6 +378,7 @@
|
||||
"Reranking Model": "Модел поновног рангирања",
|
||||
"Reranking model disabled": "Модел поновног рангирања онемогућен",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "Модел поновног рангирања подешен на \"{{reranking_model}}\"",
|
||||
"Reset Upload Directory": "",
|
||||
"Reset Vector Storage": "Ресетуј складиште вектора",
|
||||
"Response AutoCopy to Clipboard": "Самостално копирање одговора у оставу",
|
||||
"Role": "Улога",
|
||||
@ -526,6 +527,7 @@
|
||||
"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 (локално)",
|
||||
"Widescreen Mode": "",
|
||||
"Workspace": "Радни простор",
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Напишите предлог упита (нпр. „ко си ти?“)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "Напишите сажетак у 50 речи који резимира [тему или кључну реч].",
|
||||
|
@ -13,6 +13,7 @@
|
||||
"About": "Om",
|
||||
"Account": "Konto",
|
||||
"Accurate information": "Exakt information",
|
||||
"Active Users": "",
|
||||
"Add": "Lägg till",
|
||||
"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",
|
||||
@ -225,7 +226,6 @@
|
||||
"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": "Straff för frekvens",
|
||||
"Full Screen Mode": "Helskärmsläge",
|
||||
"General": "Allmän",
|
||||
"General Settings": "Allmänna inställningar",
|
||||
"Generating search query": "Generera sökfråga",
|
||||
@ -378,6 +378,7 @@
|
||||
"Reranking Model": "Reranking modell",
|
||||
"Reranking model disabled": "Reranking modell inaktiverad",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "Reranking modell inställd på \"{{reranking_model}}\"",
|
||||
"Reset Upload Directory": "",
|
||||
"Reset Vector Storage": "Återställ vektorlager",
|
||||
"Response AutoCopy to Clipboard": "Svara AutoCopy till urklipp",
|
||||
"Role": "Roll",
|
||||
@ -525,6 +526,7 @@
|
||||
"What’s New in": "Vad är nytt i",
|
||||
"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "När historiken är avstängd visas inte nya chattar i denna webbläsare i din historik på någon av dina enheter.",
|
||||
"Whisper (Local)": "Whisper (lokal)",
|
||||
"Widescreen Mode": "",
|
||||
"Workspace": "arbetsyta",
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Skriv ett förslag (t.ex. Vem är du?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "Skriv en sammanfattning på 50 ord som sammanfattar [ämne eller nyckelord].",
|
||||
|
707
src/lib/i18n/locales/tk-TM/transaltion.json
Normal file
707
src/lib/i18n/locales/tk-TM/transaltion.json
Normal file
@ -0,0 +1,707 @@
|
||||
{
|
||||
"'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' ýa-da '-1' möhlet ýok.",
|
||||
"(Beta)": "(Beta)",
|
||||
"(e.g. `sh webui.sh --api`)": "(meselem, `sh webui.sh --api`)",
|
||||
"(latest)": "(iň soňky)",
|
||||
"{{ models }}": "{{ modeller }}",
|
||||
"{{ owner }}: You cannot delete a base model": "{{ owner }}: Esasy modeli öçürip bilmersiňiz",
|
||||
"{{modelName}} is thinking...": "{{modelName}} pikirlenýär...",
|
||||
"{{user}}'s Chats": "{{user}}'iň Çatlary",
|
||||
"{{webUIName}} Backend Required": "{{webUIName}} Backend Zerur",
|
||||
"A task model is used when performing tasks such as generating titles for chats and web search queries": "Çatlar we web gözleg soraglary üçin başlyk döretmek ýaly wezipeleri ýerine ýetirýän wagty ulanylýar",
|
||||
"a user": "ulanyjy",
|
||||
"About": "Barada",
|
||||
"Account": "Hasap",
|
||||
"Accurate information": "Takyk maglumat",
|
||||
"Add": "Goş",
|
||||
"Add a model id": "Model ID goş",
|
||||
"Add a short description about what this model does": "Bu modeliň näme edýändigi barada gysgaça düşündiriş goşuň",
|
||||
"Add a short title for this prompt": "Bu düşündiriş üçin gysga başlyk goşuň",
|
||||
"Add a tag": "Bir tag goşuň",
|
||||
"Add custom prompt": "Özboluşly düşündiriş goşuň",
|
||||
"Add Docs": "Resminamalar goş",
|
||||
"Add Files": "Faýllar goş",
|
||||
"Add Memory": "Ýat goş",
|
||||
"Add message": "Habar goş",
|
||||
"Add Model": "Model goş",
|
||||
"Add Tags": "Taglar goş",
|
||||
"Add User": "Ulanyjy goş",
|
||||
"Adjusting these settings will apply changes universally to all users.": "Bu sazlamalary düzetmek ähli ulanyjylara birmeňzeş üýtgeşmeler girizer.",
|
||||
"admin": "admin",
|
||||
"Admin Panel": "Admin Paneli",
|
||||
"Admin Settings": "Admin Sazlamalary",
|
||||
"Advanced Parameters": "Ösen Parametrler",
|
||||
"Advanced Params": "Ösen Parametrler",
|
||||
"all": "ähli",
|
||||
"All Documents": "Ähli Resminamalar",
|
||||
"All Users": "Ähli Ulanyjylar",
|
||||
"Allow": "Rugsat ber",
|
||||
"Allow Chat Deletion": "Çaty öçürmäge rugsat ber",
|
||||
"alphanumeric characters and hyphens": "harply-sanjy belgiler we defisler",
|
||||
"Already have an account?": "Hasabyňyz barmy?",
|
||||
"an assistant": "kömekçi",
|
||||
"and": "we",
|
||||
"and create a new shared link.": "we täze paýlaşylan baglanyşyk dörediň.",
|
||||
"API Base URL": "API Esasy URL",
|
||||
"API Key": "API Açar",
|
||||
"API Key created.": "API Açar döredildi.",
|
||||
"API keys": "API açarlary",
|
||||
"April": "Aprel",
|
||||
"Archive": "Arhiw",
|
||||
"Archive All Chats": "Ähli Çatlary Arhiwle",
|
||||
"Archived Chats": "Arhiwlenen Çatlar",
|
||||
"are allowed - Activate this command by typing": "rugsat berilýär - bu buýrugy ýazyň",
|
||||
"Are you sure?": "Kepillikmi?",
|
||||
"Attach file": "Faýl goş",
|
||||
"Attention to detail": "Detala üns",
|
||||
"Audio": "Audio",
|
||||
"August": "Awgust",
|
||||
"Auto-playback response": "Awto-gaýtadan jogap",
|
||||
"Auto-send input after 3 sec.": "3 sekuntdan soň awtomatiki ugrat",
|
||||
"AUTOMATIC1111 Base URL": "AUTOMATIC1111 Esasy URL",
|
||||
"AUTOMATIC1111 Base URL is required.": "AUTOMATIC1111 Esasy URL zerur.",
|
||||
"available!": "elýeterli!",
|
||||
"Back": "Yzyna",
|
||||
"Bad Response": "Erbet Jogap",
|
||||
"Banners": "Bannerler",
|
||||
"Base Model (From)": "Esasy Model (Kimden)",
|
||||
"before": "öň",
|
||||
"Being lazy": "Ýaltalyk",
|
||||
"Brave Search API Key": "Brave Gözleg API Açar",
|
||||
"Bypass SSL verification for Websites": "Web sahypalary üçin SSL barlagyny geçmek",
|
||||
"Cancel": "Ýatyrmak",
|
||||
"Capabilities": "Ukyplar",
|
||||
"Change Password": "Paroly Üýtget",
|
||||
"Chat": "Çat",
|
||||
"Chat Bubble UI": "Çat Bubble UI",
|
||||
"Chat direction": "Çat ugrukdyryş",
|
||||
"Chat History": "Çat Taryhy",
|
||||
"Chat History is off for this browser.": "Bu brauzer üçin Çat Taryhy öçürildi.",
|
||||
"Chats": "Çatlar",
|
||||
"Check Again": "Ýene Barla",
|
||||
"Check for updates": "Täzelenmeleri barla",
|
||||
"Checking for updates...": "Täzelenmeleri barlamak...",
|
||||
"Choose a model before saving...": "Saklamazdan ozal model saýlaň...",
|
||||
"Chunk Overlap": "Bölüm Aşyrmasy",
|
||||
"Chunk Params": "Bölüm Parametrleri",
|
||||
"Chunk Size": "Bölüm Ölçegi",
|
||||
"Citation": "Sitata",
|
||||
"Click here for help.": "Kömek üçin şu ýere basyň.",
|
||||
"Click here to": "Şu ýere basyň",
|
||||
"Click here to select": "Saýlamak üçin şu ýere basyň",
|
||||
"Click here to select a csv file.": "CSV faýly saýlamak üçin şu ýere basyň.",
|
||||
"Click here to select documents.": "Resminamalary saýlamak üçin şu ýere basyň.",
|
||||
"click here.": "şu ýere basyň.",
|
||||
"Click on the user role button to change a user's role.": "Ulanyjynyň roluny üýtgetmek üçin ulanyjy roly düwmesine basyň.",
|
||||
"Clone": "Klon",
|
||||
"Close": "Ýap",
|
||||
"Collection": "Kolleksiýa",
|
||||
"ComfyUI": "ComfyUI",
|
||||
"ComfyUI Base URL": "ComfyUI Esasy URL",
|
||||
"ComfyUI Base URL is required.": "ComfyUI Esasy URL zerur.",
|
||||
"Command": "Buýruk",
|
||||
"Concurrent Requests": "Meňzeş Haýyşlar",
|
||||
"Confirm Password": "Paroly Tassyklap",
|
||||
"Connections": "Baglanyşyklar",
|
||||
"Content": "Mazmuny",
|
||||
"Context Length": "Kontekst Uzynlygy",
|
||||
"Continue Response": "Jogap Bermegi Dowam et",
|
||||
"Conversation Mode": "Söhbet Reseimi",
|
||||
"Copied shared chat URL to clipboard!": "Paýlaşylan çat URL buferine göçürildi!",
|
||||
"Copy": "Göçür",
|
||||
"Copy last code block": "Soňky kod blokyny göçür",
|
||||
"Copy last response": "Soňky jogaby göçür",
|
||||
"Copy Link": "Baglanyşygy Göçür",
|
||||
"Copying to clipboard was successful!": "Buferine göçürmek üstünlikli boldy!",
|
||||
"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':": "Aşakdaky sorag üçin 3-5 sözden ybarat gysgaça söz düzümi dörediň, 3-5 söz çäklerine berk eýeriň we 'başlyk' sözüni ulanmaň:",
|
||||
"Create a model": "Model döret",
|
||||
"Create Account": "Hasap döret",
|
||||
"Create new key": "Täze açar döret",
|
||||
"Create new secret key": "Täze gizlin açar döret",
|
||||
"Created at": "Döredilen wagty",
|
||||
"Created At": "Döredilen wagty",
|
||||
"Current Model": "Häzirki Model",
|
||||
"Current Password": "Häzirki Parol",
|
||||
"Custom": "Özboluşly",
|
||||
"Customize models for a specific purpose": "Anyk maksat üçin modelleri düzmek",
|
||||
"Dark": "Garaňky",
|
||||
"Database": "Mazada",
|
||||
"December": "Dekabr",
|
||||
"Default": "Nokatlaýyn",
|
||||
"Default (Automatic1111)": "Nokatlaýyn (Automatic1111)",
|
||||
"Default (SentenceTransformers)": "Nokatlaýyn (SentenceTransformers)",
|
||||
"Default (Web API)": "Nokatlaýyn (Web API)",
|
||||
"Default Model": "Nokatlaýyn Model",
|
||||
"Default model set successfully!": "Nokatlaýyn model üstünlikli gurnaldy!",
|
||||
"Default Temperature": "Nokatlaýyn Temperaturasy",
|
||||
"Define what this key is used for...": "Bu açaryň näme üçin ulanylýandygyny kesgitle...",
|
||||
"Delete": "Öçür",
|
||||
"Delete Account": "Hasaby Öçür",
|
||||
"Delete Account Forever": "Hasaby Möhletsyz Öçür",
|
||||
"Delete all": "Ählisini öçür",
|
||||
"Delete All Chats": "Ähli Çatlary Öçür",
|
||||
"Delete this Document": "Bu Resminamany Öçür",
|
||||
"Deleted": "Öçürilen",
|
||||
"Deleted Forever": "Möhletsyz Öçürilen",
|
||||
"Description": "Düşündiriş",
|
||||
"Developers": "Öndürijiler",
|
||||
"Directory": "Katalog",
|
||||
"Directory Type": "Katalog Typy",
|
||||
"Disable": "Ýatyrmak",
|
||||
"Disabled": "Ýatyrylan",
|
||||
"Disconnected": "Baglanşyk kesildi",
|
||||
"Display": "Görkeziş",
|
||||
"Display Text": "Teksti Görkeziş",
|
||||
"Document": "Resminama",
|
||||
"Document File": "Resminama Faýly",
|
||||
"Document Name": "Resminama Ady",
|
||||
"Documents": "Resminamalar",
|
||||
"Done": "Tamam",
|
||||
"Downloading updates...": "Täzelenmeleri ýükläp...",
|
||||
"Drag and drop files here": "Faýllary şu ýere süýräň we goýuň",
|
||||
"Drop your .json, .txt, .csv or .md files here": "JSON, TXT, CSV ýa-da MD faýllaryňyzy şu ýere goýuň",
|
||||
"Duplicate": "Göçür",
|
||||
"Each request will contain a max of n documents": "Her haýyş n sany resminama bilen çäklenýär",
|
||||
"Edit": "Redaktirle",
|
||||
"Edit Labels": "Bellikleri Redaktirle",
|
||||
"Edit message": "Habary Redaktirle",
|
||||
"Edit Parameters": "Parametrleri Redaktirle",
|
||||
"Email": "Email",
|
||||
"Email Sent": "Email Iberildi",
|
||||
"Enable": "Işjeňleşdir",
|
||||
"Enable Character AI": "Häsiýetli AI Işjeňleşdir",
|
||||
"Enable Web Search": "Web Gözlegini Işjeňleşdir",
|
||||
"Enabled": "Işjeň",
|
||||
"Encrypt messages": "Habarlar kodlansyn",
|
||||
"Enter your email": "Email giriziň",
|
||||
"Entries": "Girişler",
|
||||
"Environment": "Daşky Gurşaw",
|
||||
"Error": "Ýalňyşlyk",
|
||||
"Error (400)": "Ýalňyşlyk (400)",
|
||||
"Error (403)": "Ýalňyşlyk (403)",
|
||||
"Error (404)": "Ýalňyşlyk (404)",
|
||||
"Error (500)": "Ýalňyşlyk (500)",
|
||||
"Error occurred": "Ýalňyşlyk ýüze çykdy",
|
||||
"Example": "Mysal",
|
||||
"Example(s)": "Mysal(lar)",
|
||||
"Examples": "Mysallar",
|
||||
"Explain a concept": "Bir konsepsiýany düşündiriň",
|
||||
"Explore": "Barla",
|
||||
"Export": "Eksport",
|
||||
"Export All Data": "Ähli Maglumatlary Eksportla",
|
||||
"Export data": "Maglumatlary Eksportla",
|
||||
"External API": "Daşarky API",
|
||||
"External API Endpoint": "Daşarky API Nokady",
|
||||
"External ID": "Daşarky ID",
|
||||
"Extra Models": "Goşmaça Modeller",
|
||||
"Failed": "Netijesiz",
|
||||
"Fallback": "Düşmek",
|
||||
"False": "Ýalňyş",
|
||||
"Family name": "Maşgala ady",
|
||||
"FAQ": "Sorag-jogaplar",
|
||||
"February": "Fewral",
|
||||
"Field": "Meýdan",
|
||||
"File": "Faýl",
|
||||
"File Name": "Faýl Ady",
|
||||
"File Type": "Faýl Typy",
|
||||
"Files": "Faýllar",
|
||||
"Fill out all required fields.": "Ähli zerur meýdanlary dolduryň.",
|
||||
"Filter": "Süzgüç",
|
||||
"Find your API Key here": "API Açaryňyzy şu ýerden tapyň",
|
||||
"First name": "Ady",
|
||||
"Following parameters are available in the command and are mandatory to specify:": "Buýruga degişli aşakdaky parametrler elýeterlidir we görkezmek hökmandyr:",
|
||||
"For": "Üçin",
|
||||
"Forever": "Möhletsyz",
|
||||
"Forgot Password?": "Paroly unutdyňyzmy?",
|
||||
"Forgot your password?": "Paroly unutdyňyzmy?",
|
||||
"Free and Paid plans available": "Mugt we Tölegli planlar elýeterli",
|
||||
"Friday": "Anna",
|
||||
"From": "Kimden",
|
||||
"Full Access": "Doly Elýeterlilik",
|
||||
"Full Name": "Doly Ady",
|
||||
"Full name": "Doly ady",
|
||||
"Functions": "Funksiýalar",
|
||||
"General": "Umumy",
|
||||
"Generate": "Döret",
|
||||
"Generate email templates": "Email şablonlaryny döret",
|
||||
"Generate from a template": "Şablondan döret",
|
||||
"Generate high-quality images": "Ýokary hilli suratlar döret",
|
||||
"Generate professional profile descriptions": "Professional profil düşündirişleri döret",
|
||||
"Generate prompts for language models": "Dil modelleri üçin düşündirişleri döret",
|
||||
"Generate realistic photos": "Hakyky suratlary döret",
|
||||
"Generate transcripts of audio and video": "Audio we wideo transkriptlerini döret",
|
||||
"Generate translations": "Terjimeler döret",
|
||||
"Generated from API keys": "API açarlaryndan döredildi",
|
||||
"Generating...": "Döredilýär...",
|
||||
"Generator": "Generator",
|
||||
"Get Started": "Başlaň",
|
||||
"Go": "Git",
|
||||
"Go Back": "Yzyna Git",
|
||||
"Go to": "Git",
|
||||
"Go to link": "Baglanyşyga Git",
|
||||
"Group": "Topar",
|
||||
"Guidance": "Gollama",
|
||||
"has been changed successfully": "üstünlikli üýtgedildi",
|
||||
"have been changed successfully": "üstünlikli üýtgedildi",
|
||||
"Hello": "Salam",
|
||||
"Help": "Kömek",
|
||||
"Hide": "Gizle",
|
||||
"Hide all chats": "Ähli çatlary gizle",
|
||||
"Hide Model": "Modeli Gizle",
|
||||
"Hide Sidebar": "Gapdal Paneli Gizle",
|
||||
"Hide Toolbar": "Gurallar Panelini Gizle",
|
||||
"High Quality": "Ýokary Hilli",
|
||||
"Home": "Baş Sahypa",
|
||||
"Hours": "Sagady",
|
||||
"Human-like responses": "Adam görnüşli jogaplar",
|
||||
"Humorous": "Gülkünç",
|
||||
"Identify objects in an image": "Suratda zatlary tanamak",
|
||||
"If you need to quickly translate text from one language to another, use translation prompts.": "Bir dilden beýlekisine tekst terjime etmeli bolsaňyz, terjime düşündirişlerini ulanyň.",
|
||||
"If you want to delete the account and all associated data, select": "Hasaby we degişli ähli maglumatlary öçürmek isleseňiz, saýlaň",
|
||||
"If you're facing issues, try again later.": "Meseleler bar bolsa, soňra täzeden synanyşyň.",
|
||||
"Image": "Surat",
|
||||
"Image Generation": "Surat Döretme",
|
||||
"Import": "Import",
|
||||
"Import Data": "Maglumatlary Importla",
|
||||
"In Progress": "Dowam edýär",
|
||||
"Inactivity Timeout": "Işjeňsiz Töhmet",
|
||||
"Incorrect email or password.": "Nädogry email ýa-da parol.",
|
||||
"Info": "Maglumat",
|
||||
"Information": "Maglumat",
|
||||
"Information updated successfully!": "Maglumat üstünlikli täzelendi!",
|
||||
"Input": "Girdi",
|
||||
"Input Parameters": "Girdi Parametrleri",
|
||||
"Installation Guide": "Gurnama Gollanma",
|
||||
"Integrate custom models": "Özboluşly modelleri integrirle",
|
||||
"Integrate with an external API": "Daşarky API bilen integrirle",
|
||||
"Integration": "Integrasiýa",
|
||||
"Internet Required": "Internet Zerur",
|
||||
"Invalid API key.": "Nädogry API açar.",
|
||||
"Invalid credentials, try again.": "Nädogry maglumatlar, täzeden synanyşyň.",
|
||||
"Invalid or expired API key.": "Nädogry ýa-da möhleti geçen API açar.",
|
||||
"It looks like we encountered an error. Please try again.": "Ýalňyşlyk ýüze çykdy. Täzeden synanyşyň.",
|
||||
"January": "Ýanwar",
|
||||
"Job title": "Iş Ady",
|
||||
"Join": "Goşul",
|
||||
"Join Date": "Goşulma Senesi",
|
||||
"July": "Iýul",
|
||||
"June": "Iýun",
|
||||
"Just now": "Just now",
|
||||
"Key": "Açar",
|
||||
"Key (hidden)": "Açar (gizlin)",
|
||||
"Key Details": "Açar Maglumatlar",
|
||||
"Key Management": "Açar Dolandyryşy",
|
||||
"Language": "Dil",
|
||||
"Language Model": "Dil Modeli",
|
||||
"Last access": "Soňky elýeterlilik",
|
||||
"Last Access": "Soňky elýeterlilik",
|
||||
"Last edited": "Soňky redaktirlenen",
|
||||
"Last modified": "Soňky üýtgedilen",
|
||||
"Last Modified": "Soňky üýtgedilen",
|
||||
"Last name": "Familiýasy",
|
||||
"Last update": "Soňky täzelenme",
|
||||
"Last updated": "Soňky täzelenen",
|
||||
"Later": "Soň",
|
||||
"Launch": "Gur",
|
||||
"Learn": "Öwren",
|
||||
"Learn More": "Has köp öwreniň",
|
||||
"License": "Rugsat",
|
||||
"Light": "Açyk",
|
||||
"Link": "Baglanyşyk",
|
||||
"Link expired": "Baglanyşygyň möhleti geçdi",
|
||||
"Load": "Ýükle",
|
||||
"Loading": "Ýüklenýär",
|
||||
"Local Models": "Ýerli Modeller",
|
||||
"Log out": "Çyk",
|
||||
"Logged out": "Çykdy",
|
||||
"Logged out successfully": "Üstünlikli çykdy",
|
||||
"Login": "Giriş",
|
||||
"Login Required": "Giriş Zerur",
|
||||
"Logs": "Loglar",
|
||||
"Low": "Pes",
|
||||
"Low Quality": "Pes Hilli",
|
||||
"Maintain custom codebase": "Özboluşly kod bazasyny sakla",
|
||||
"Management": "Dolandyryş",
|
||||
"Manual Input": "El bilen Girdi",
|
||||
"March": "Mart",
|
||||
"Mark as Read": "Okalan hökmünde belläň",
|
||||
"Match": "Gab",
|
||||
"May": "Maý",
|
||||
"Memory": "Ýat",
|
||||
"Memory saved": "Ýat saklanyldy",
|
||||
"Menu": "Menýu",
|
||||
"Message": "Habar",
|
||||
"Message limit reached for today. Please wait until tomorrow.": "Bu günki habar çägi geçdi. Ertir garaşyň.",
|
||||
"Messages": "Habarlar",
|
||||
"Method": "Usul",
|
||||
"Microphone": "Mikrofon",
|
||||
"Minute": "Minut",
|
||||
"Minutes": "Minutlar",
|
||||
"Model": "Model",
|
||||
"Model Details": "Model Maglumatlary",
|
||||
"Model History": "Model Taryhy",
|
||||
"Model Management": "Model Dolandyryşy",
|
||||
"Model name": "Model ady",
|
||||
"Model URL": "Model URL",
|
||||
"Mode": "Reseimi",
|
||||
"Moderate Quality": "Orta Hilli",
|
||||
"Modified": "Üýtgedilen",
|
||||
"Modify User": "Ulanyjyny Üýtget",
|
||||
"Monday": "Duşenbe",
|
||||
"Monetization": "Pul gazanmak",
|
||||
"Month": "Aý",
|
||||
"More": "Has köp",
|
||||
"More Info": "Has köp Maglumat",
|
||||
"More options": "Has köp opsiýalar",
|
||||
"Most Recent": "Iň Täze",
|
||||
"Multiple file import is limited to": "Köp faýl importy çäkli",
|
||||
"Name": "Ady",
|
||||
"Name (hidden)": "Ady (gizlin)",
|
||||
"Name is required": "Ady zerur",
|
||||
"Navigate": "Gez",
|
||||
"Need help?": "Kömek gerekmi?",
|
||||
"New": "Täze",
|
||||
"New Key": "Täze Açar",
|
||||
"New Label": "Täze Bellik",
|
||||
"New Password": "Täze Parol",
|
||||
"New Secret Key": "Täze Gizlin Açar",
|
||||
"New User": "Täze Ulanyjy",
|
||||
"Next": "Indiki",
|
||||
"No": "Ýok",
|
||||
"No access": "Elýeterlilik ýok",
|
||||
"No access.": "Elýeterlilik ýok.",
|
||||
"No admins": "Adminler ýok",
|
||||
"No archived chats": "Arhiwlenen çatlar ýok",
|
||||
"No data found": "Maglumat tapylmady",
|
||||
"No models available": "Modeller elýeterli däl",
|
||||
"No permission to add a model.": "Model goşmak üçin rugsat ýok.",
|
||||
"No permission to archive chat.": "Çaty arhiwlemek üçin rugsat ýok.",
|
||||
"No permission to create chat.": "Çat döretmek üçin rugsat ýok.",
|
||||
"No permission to delete chat.": "Çaty öçürmek üçin rugsat ýok.",
|
||||
"No permission to edit chat.": "Çaty redaktirlemek üçin rugsat ýok.",
|
||||
"No permission to view chat.": "Çaty görmek üçin rugsat ýok.",
|
||||
"No shared chats": "Paýlaşylan çatlar ýok",
|
||||
"No usage": "Ulanyş ýok",
|
||||
"Non-admin users can only view chat details": "Admin däl ulanyjylar diňe çat maglumatlaryny görüp bilerler",
|
||||
"None": "Hiç",
|
||||
"Not Found": "Tapylmady",
|
||||
"Not started": "Başlanmady",
|
||||
"November": "Noýabr",
|
||||
"October": "Oktýabr",
|
||||
"Okay": "Bolýar",
|
||||
"On": "Işjeň",
|
||||
"Once you have added and configured your model, it will appear in the model dropdown list on the chat screen.": "Model goşup we konfigurirleýänden soň, çat ekranynda model aşak düşýän sanawda peýda bolar.",
|
||||
"Only": "Diňe",
|
||||
"Open": "Aç",
|
||||
"OpenAI Base URL": "OpenAI Esasy URL",
|
||||
"OpenAI Key": "OpenAI Açar",
|
||||
"OpenAI Model": "OpenAI Model",
|
||||
"OpenAI Token": "OpenAI Token",
|
||||
"OpenAI URL": "OpenAI URL",
|
||||
"Options": "Opsiýalar",
|
||||
"Other": "Başga",
|
||||
"Other Parameters": "Başga Parametrler",
|
||||
"Owner": "Eýesi",
|
||||
"Owner ID": "Eýesi ID",
|
||||
"Page": "Sahypa",
|
||||
"Parameter": "Parametr",
|
||||
"Parameters": "Parametrler",
|
||||
"Password": "Parol",
|
||||
"Password must be at least 8 characters long": "Parol iň azyndan 8 harp bolmaly",
|
||||
"Password must include at least one number and one letter": "Parol iň azyndan bir san we bir harp bolmaly",
|
||||
"Paste copied text here...": "Göçürilen tekst şu ýere goýuň...",
|
||||
"Paste text here...": "Tekst şu ýere goýuň...",
|
||||
"PDF": "PDF",
|
||||
"PDF Generation": "PDF Döretme",
|
||||
"Pending": "Garaşylýar",
|
||||
"Permission": "Rugsat",
|
||||
"Personal Information": "Şahsy Maglumat",
|
||||
"Photo": "Surat",
|
||||
"Photos": "Suratlar",
|
||||
"Please add a model.": "Model goşuň.",
|
||||
"Please add more content": "Köp mazmun goşuň",
|
||||
"Please enter your email to reset your password": "Parolyňyzy täzeden goýmak üçin email giriziň",
|
||||
"Please try again later": "Soňra täzeden synanyşyň",
|
||||
"Plugin": "Plagin",
|
||||
"Plugin Settings": "Plagin Sazlamalary",
|
||||
"Position": "Ýerleşýän ýeri",
|
||||
"Post": "Post",
|
||||
"Potential Risks": "Mümkin Töwekgelçilikler",
|
||||
"Preparing your data...": "Maglumatlaryňyzy taýýarlaýar...",
|
||||
"Preprocessing...": "Deslapky işlem...",
|
||||
"Preview": "Öň-üşürgi",
|
||||
"Previous": "Öňki",
|
||||
"Print": "Çap et",
|
||||
"Privacy Policy": "Gizlinlik Syýasaty",
|
||||
"Processing": "Işlenýär",
|
||||
"Profile": "Profil",
|
||||
"Prompt": "Düşündiriş",
|
||||
"Prompts": "Düşündirişler",
|
||||
"Public": "Jemgyýetçilik",
|
||||
"Quality": "Hil",
|
||||
"Quantity": "Mukdar",
|
||||
"Quick Start": "Çalt Başla",
|
||||
"Read More": "Has köp oka",
|
||||
"Realistic": "Hakyky",
|
||||
"Recent": "Täze",
|
||||
"Recent Access": "Täze Elýeterlilik",
|
||||
"Recent Chats": "Täze Çatlar",
|
||||
"Recent Documents": "Täze Resminamalar",
|
||||
"Recent Files": "Täze Faýllar",
|
||||
"Recipient": "Alyjy",
|
||||
"Recognize speech and convert it to text": "Gürleýişi tanap tekste öwrüň",
|
||||
"Records": "Ýazgylar",
|
||||
"Reference": "Salgy",
|
||||
"Refresh": "Täzeläň",
|
||||
"Registration Date": "Hasaba alynma Senesi",
|
||||
"Remove": "Aýyr",
|
||||
"Remove Model": "Modeli Aýyr",
|
||||
"Remove user": "Ulanyjyny aýyr",
|
||||
"Rename": "Adyny Üýtget",
|
||||
"Reorder": "Gaýtadan Sargyt Et",
|
||||
"Request": "Haýyş",
|
||||
"Required": "Zerur",
|
||||
"Reset": "Täzeden Guruň",
|
||||
"Reset Password": "Paroly Täzeden Guruň",
|
||||
"Resources": "Resurslar",
|
||||
"Response": "Jogap",
|
||||
"Restored": "Dikeldilen",
|
||||
"Results": "Netijeler",
|
||||
"Review": "Syn",
|
||||
"Review Prompt": "Düşündirişi Synla",
|
||||
"Reviews": "Synlar",
|
||||
"Role": "Roli",
|
||||
"Save": "Sakla",
|
||||
"Save Changes": "Üýtgeşmeleri Sakla",
|
||||
"Saved": "Saklanan",
|
||||
"Saturday": "Şenbe",
|
||||
"Scale": "Şkalasy",
|
||||
"Scan the code": "Kody Skanirle",
|
||||
"Search": "Gözleg",
|
||||
"Search All Chats": "Ähli Çatlary Gözle",
|
||||
"Search for documents": "Resminamalary Gözle",
|
||||
"Search for models": "Modelleri Gözle",
|
||||
"Search for users": "Ulanyjylary Gözle",
|
||||
"Search in chat": "Çatda gözle",
|
||||
"Search query": "Gözleg soragy",
|
||||
"Search...": "Gözleg...",
|
||||
"Secret Key": "Gizlin Açar",
|
||||
"See more": "Has köp gör",
|
||||
"Select": "Saýla",
|
||||
"Select a model": "Bir model saýla",
|
||||
"Select a role": "Roli saýla",
|
||||
"Select Chat": "Çat saýla",
|
||||
"Select File": "Faýl saýla",
|
||||
"Select Label": "Belligi saýla",
|
||||
"Send": "Iber",
|
||||
"Send and receive messages": "Habar iber we kabul et",
|
||||
"Send Message": "Habar Iber",
|
||||
"Sent": "Iberilen",
|
||||
"Separate each entry with a new line": "Her girişi täze setir bilen aýraň",
|
||||
"Separate multiple entries with a comma or new line": "Birnäçe girişi üzgüç ýa-da täze setir bilen aýraň",
|
||||
"September": "Sentýabr",
|
||||
"Server error": "Serwer ýalňyşlygy",
|
||||
"Service Unavailable": "Hyzmat Elýeterli Däl",
|
||||
"Session": "Sessia",
|
||||
"Settings": "Sazlamalar",
|
||||
"Setup": "Gurnama",
|
||||
"Share": "Paýlaş",
|
||||
"Share Chat": "Çaty Paýlaş",
|
||||
"Share this chat with others": "Bu çaty beýlekiler bilen paýlaş",
|
||||
"Shared": "Paýlaşylan",
|
||||
"Shared Chats": "Paýlaşylan Çatlar",
|
||||
"Show": "Görkez",
|
||||
"Show all": "Ählisini görkez",
|
||||
"Show all labels": "Ähli belligi görkez",
|
||||
"Show All Prompts": "Ähli Düşündirişleri Görkez",
|
||||
"Show API Keys": "API Açarlaryny Görkez",
|
||||
"Show Model": "Modeli Görkez",
|
||||
"Show Sidebar": "Gapdal Paneli Görkez",
|
||||
"Show toolbar": "Gurallar Panelini Görkez",
|
||||
"Sign In": "Giriş",
|
||||
"Sign Out": "Çyk",
|
||||
"Sign Up": "Hasaba al",
|
||||
"Sign up": "Hasaba al",
|
||||
"Sign up to get started": "Başlamak üçin hasaba alyň",
|
||||
"Simple and advanced options available": "Ýönekeý we kämilleşdirilen opsiýalar elýeterli",
|
||||
"Simply follow the guide to get started.": "Başlamak üçin görkezmä eýeriň.",
|
||||
"Skip": "Geç",
|
||||
"Smart Completion": "Akyldar Tamamlama",
|
||||
"Software": "Programma üpjünçiligi",
|
||||
"Sorry, an error occurred while processing your request.": "Bagyşlaň, haýyşyňyzy işlemekde ýalňyşlyk ýüze çykdy.",
|
||||
"Sorry, the page you are looking for does not exist.": "Bagyşlaň, gözleýän sahypaňyz ýok.",
|
||||
"Sorry, this link has expired.": "Bagyşlaň, bu baglanyşygyň möhleti geçdi.",
|
||||
"Source": "Çeşme",
|
||||
"Source Language": "Çeşme Dili",
|
||||
"Space": "Ýer",
|
||||
"Special Characters": "Aýratyn Harplar",
|
||||
"Specify the model type": "Model typyny kesgitle",
|
||||
"Standard": "Standart",
|
||||
"Start": "Başla",
|
||||
"Start a New Chat": "Täze Çat Başla",
|
||||
"Start Chat": "Çat Başla",
|
||||
"Start Date": "Başlangyç Sene",
|
||||
"Start Time": "Başlanýan wagt",
|
||||
"Started": "Başlandy",
|
||||
"Status": "Ýagdaýy",
|
||||
"Stop": "Bes et",
|
||||
"Store your data securely": "Maglumatlaryňyzy howpsuz saklaň",
|
||||
"Subject": "Tema",
|
||||
"Submit": "Tabşyr",
|
||||
"Success": "Üstünlik",
|
||||
"Summary": "Jemleýji",
|
||||
"Sunday": "Ýekşenbe",
|
||||
"Support": "Goldaw",
|
||||
"Switch to another model": "Başga modele geçiň",
|
||||
"Switch to another model type": "Başga model typyna geçiň",
|
||||
"System": "Sistema",
|
||||
"System Requirements": "Sistema Talaplary",
|
||||
"Table": "Jadwal",
|
||||
"Tag": "Bellik",
|
||||
"Tag List": "Bellik Sanawy",
|
||||
"Take a tour": "Syýahat et",
|
||||
"Talk to your data": "Maglumatlaryňyz bilen gürleşiň",
|
||||
"Target Language": "Maksat Dili",
|
||||
"Team": "Topar",
|
||||
"Template": "Şablon",
|
||||
"Templates": "Şablonlar",
|
||||
"Temporary": "Wagtylaýyn",
|
||||
"Test": "Synag",
|
||||
"Text": "Tekst",
|
||||
"Text Generation": "Tekst Döretme",
|
||||
"Text to Image": "Tekstden Surat",
|
||||
"Text to Speech": "Tekstden Söz",
|
||||
"The data you need to integrate is currently unavailable.": "Integrirlemeli maglumatlaryňyz häzirki wagtda elýeterli däl.",
|
||||
"The model has been added successfully!": "Model üstünlikli goşuldy!",
|
||||
"The model type you are trying to add already exists.": "Goşmak isleýän model typyňyz eýýäm bar.",
|
||||
"The page you requested could not be found.": "Soranyňyz sahypa tapylmady.",
|
||||
"There are no prompts available at the moment.": "Häzirlikçe düşündirişler elýeterli däl.",
|
||||
"There was an error adding the model.": "Model goşulmakda ýalňyşlyk ýüze çykdy.",
|
||||
"There was an error deleting the model.": "Modeli öçürmekde ýalňyşlyk ýüze çykdy.",
|
||||
"There was an error loading the models.": "Modelleri ýüklemekde ýalňyşlyk ýüze çykdy.",
|
||||
"There was an error updating the model.": "Modeli täzeläp bolmady.",
|
||||
"There was an error while archiving the chat.": "Çaty arhiwlemekde ýalňyşlyk ýüze çykdy.",
|
||||
"There was an error while creating the chat.": "Çat döretmekde ýalňyşlyk ýüze çykdy.",
|
||||
"There was an error while deleting the chat.": "Çaty öçürmekde ýalňyşlyk ýüze çykdy.",
|
||||
"There was an error while editing the chat.": "Çaty redaktirlemekde ýalňyşlyk ýüze çykdy.",
|
||||
"There was an error while fetching the chat.": "Çaty getirmekde ýalňyşlyk ýüze çykdy.",
|
||||
"There was an error while saving the data.": "Maglumatlary saklamakda ýalňyşlyk ýüze çykdy.",
|
||||
"There was an error while sending the message.": "Habary ibermekde ýalňyşlyk ýüze çykdy.",
|
||||
"There was an error while updating the user.": "Ulanyjyny täzeläp bolmady.",
|
||||
"These settings are global and will apply to all users and models.": "Bu sazlamalar umumy we ähli ulanyjylara we modellere degişlidir.",
|
||||
"This action cannot be undone.": "Bu hereket yzyna dolanylyp bilinmez.",
|
||||
"This email is already in use.": "Bu email eýýäm ulanylýar.",
|
||||
"This email is not registered.": "Bu email hasaba alynmady.",
|
||||
"This is the end of the chat": "Bu çatyň soňy",
|
||||
"This link is expired or invalid.": "Bu baglanyşygyň möhleti geçdi ýa-da nädogry.",
|
||||
"This model is already integrated.": "Bu model eýýäm integrirlenen.",
|
||||
"This page does not exist.": "Bu sahypa ýok.",
|
||||
"This will remove the user from the system.": "Bu ulanyjyny sistemadan aýyrar.",
|
||||
"Thursday": "Penşenbe",
|
||||
"Time": "Wagt",
|
||||
"Time Limit Exceeded": "Wagt Limiti Geçdi",
|
||||
"Timezone": "Wagt zolak",
|
||||
"Title": "Ady",
|
||||
"Today": "Şu gün",
|
||||
"Token": "Token",
|
||||
"Token limit exceeded.": "Token çägi geçdi.",
|
||||
"Token or URL is incorrect.": "Token ýa-da URL nädogry.",
|
||||
"Too many requests. Please try again later.": "Örän köp haýyşlar. Soňra täzeden synanyşyň.",
|
||||
"Total Chats": "Jemi Çatlar",
|
||||
"Total Memory": "Jemi Ýat",
|
||||
"Total Storage": "Jemi Sakla",
|
||||
"Total Users": "Jemi Ulanyjylar",
|
||||
"Training": "Okuw",
|
||||
"Tuesday": "Sişenbe",
|
||||
"Type": "Typ",
|
||||
"Unable to archive the chat.": "Çaty arhiwläp bolmady.",
|
||||
"Unable to change the model.": "Modeli üýtgedip bolmady.",
|
||||
"Unable to complete the request.": "Haýyşy tamamlap bolmady.",
|
||||
"Unable to create chat.": "Çat döretmek mümkin däl.",
|
||||
"Unable to delete the model.": "Modeli öçürmek mümkin däl.",
|
||||
"Unable to delete the user.": "Ulanyjyny öçürmek mümkin däl.",
|
||||
"Unable to find the requested resource.": "Soralan resurs tapylmady.",
|
||||
"Unable to import data.": "Maglumatlary import edip bolmady.",
|
||||
"Unable to load the chat.": "Çaty ýüklemek mümkin däl.",
|
||||
"Unable to load the settings.": "Sazlamalary ýüklemek mümkin däl.",
|
||||
"Unable to login.": "Giriş mümkin däl.",
|
||||
"Unable to process the request.": "Haýyşy işläp bolmady.",
|
||||
"Unable to reset password.": "Paroly täzeden gurmak mümkin däl.",
|
||||
"Unable to retrieve data.": "Maglumatlary almak mümkin däl.",
|
||||
"Unable to save": "Saklap bolmady",
|
||||
"Unable to save the data.": "Maglumatlary saklap bolmady.",
|
||||
"Unable to update": "Täzeläp bolmady",
|
||||
"Unable to update the model.": "Modeli täzeläp bolmady.",
|
||||
"Unable to update the user.": "Ulanyjyny täzeläp bolmady.",
|
||||
"Unauthorized": "Rugsatsyz",
|
||||
"Undo": "Yza al",
|
||||
"Unlink": "Baglanyşygy aýyr",
|
||||
"Unread Messages": "Okalmadyk Habarlar",
|
||||
"Unshare": "Paýlaşma",
|
||||
"Unverified": "Tassyklanmadyk",
|
||||
"Update": "Täzeläň",
|
||||
"Update successful": "Üstünlikli täzelenme",
|
||||
"Updated": "Täzelenen",
|
||||
"Updated at": "Täzelendi",
|
||||
"Upload": "Ýükle",
|
||||
"Upload Data": "Maglumat Ýükle",
|
||||
"Upload file": "Faýl ýükle",
|
||||
"Uploading": "Ýüklenýär",
|
||||
"Usage": "Ulanyş",
|
||||
"User": "Ulanyjy",
|
||||
"User added": "Ulanyjy goşuldy",
|
||||
"User deleted": "Ulanyjy öçürildi",
|
||||
"User does not exist": "Ulanyjy ýok",
|
||||
"User Guide": "Ulanyjy Gollanmasy",
|
||||
"User ID": "Ulanyjy ID",
|
||||
"User Management": "Ulanyjy Dolandyryşy",
|
||||
"User Role": "Ulanyjy Roli",
|
||||
"Username": "Ulanyjy Ady",
|
||||
"Username is required": "Ulanyjy ady zerur",
|
||||
"Users": "Ulanyjylar",
|
||||
"Value": "Gymmaty",
|
||||
"Verify": "Tassykla",
|
||||
"Version": "Wersiýasy",
|
||||
"View": "Gör",
|
||||
"View All": "Ählisini gör",
|
||||
"View archived": "Arhiwlenenleri gör",
|
||||
"View Details": "Maglumatlary Gör",
|
||||
"Voice Input": "Ses Girdi",
|
||||
"Voice Recording": "Ses Ýazgysy",
|
||||
"Volume": "Göwrümi",
|
||||
"Warning": "Duýduryş",
|
||||
"Wednesday": "Çarşenbe",
|
||||
"Welcome": "Hoş geldiňiz",
|
||||
"Welcome to ChatGPT! How can I help you today?": "ChatGPT-e hoş geldiňiz! Size nähili kömek edip bilerin?",
|
||||
"Welcome to our service!": "Hyzmatymyza hoş geldiňiz!",
|
||||
"Welcome!": "Hoş geldiňiz!",
|
||||
"Width": "Ini",
|
||||
"Work": "Iş",
|
||||
"Write": "Ýaz",
|
||||
"Write a review": "Syn ýaz",
|
||||
"Write code": "Kod ýazyň",
|
||||
"Write content": "Mazmun ýazyň",
|
||||
"Year": "Ýyl",
|
||||
"Yes": "Hawa",
|
||||
"Yesterday": "Düýn",
|
||||
"You are not authorized to view this content.": "Bu mazmuny görmek üçin rugsadyňyz ýok.",
|
||||
"You can only add a maximum of": "Diňe iň köpüniň",
|
||||
"You can request access from your administrator": "Administratoryňyzdan elýeterlilik haýyş edip bilersiňiz",
|
||||
"You have reached your usage limit for today.": "Bu günki ulanyş çägiňize ýetdiňiz.",
|
||||
"You have to choose a model first": "Ilki bilen model saýlamaly",
|
||||
"You need a valid email": "Dogrudan email gerek",
|
||||
"You will need to log in again to view the updated content": "Täzelenen mazmuny görmek üçin täzeden girmeli bolarsyňyz",
|
||||
"Your data is safe with us": "Maglumatlaryňyz bizde howpsuz",
|
||||
"Your email": "Emailiňiz",
|
||||
"Your email address": "Email adresiňiz",
|
||||
"Your message": "Habaryňyz",
|
||||
"Your name": "Adyňyz",
|
||||
"Your new password": "Täze parolyňyz",
|
||||
"Your password": "Parolyňyz",
|
||||
"Your payment is successful.": "Tölegiňiz üstünlikli boldy.",
|
||||
"Your session has expired. Please log in again.": "Sessiaňyz tamamlandy. Täzeden giriň.",
|
||||
"Your username": "Ulanyjy adyňyz",
|
||||
"You're offline.": "Offline.",
|
||||
"You've reached your token limit for the day.": "Günüňize token çägiňize ýetdiňiz.",
|
||||
"ZIP Code": "Poçta Kody"
|
||||
}
|
542
src/lib/i18n/locales/tk-TW/translation.json
Normal file
542
src/lib/i18n/locales/tk-TW/translation.json
Normal file
@ -0,0 +1,542 @@
|
||||
{
|
||||
"'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "",
|
||||
"(Beta)": "",
|
||||
"(e.g. `sh webui.sh --api`)": "",
|
||||
"(latest)": "",
|
||||
"{{ models }}": "",
|
||||
"{{ owner }}: You cannot delete a base model": "",
|
||||
"{{modelName}} is thinking...": "",
|
||||
"{{user}}'s Chats": "",
|
||||
"{{webUIName}} Backend Required": "",
|
||||
"A task model is used when performing tasks such as generating titles for chats and web search queries": "",
|
||||
"a user": "",
|
||||
"About": "",
|
||||
"Account": "",
|
||||
"Accurate information": "",
|
||||
"Active Users": "",
|
||||
"Add": "",
|
||||
"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": "",
|
||||
"Add Docs": "",
|
||||
"Add Files": "",
|
||||
"Add Memory": "",
|
||||
"Add message": "",
|
||||
"Add Model": "",
|
||||
"Add Tags": "",
|
||||
"Add User": "",
|
||||
"Adjusting these settings will apply changes universally to all users.": "",
|
||||
"admin": "",
|
||||
"Admin Panel": "",
|
||||
"Admin Settings": "",
|
||||
"Advanced Parameters": "",
|
||||
"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": "",
|
||||
"and": "",
|
||||
"and create a new shared link.": "",
|
||||
"API Base URL": "",
|
||||
"API Key": "",
|
||||
"API Key created.": "",
|
||||
"API keys": "",
|
||||
"April": "",
|
||||
"Archive": "",
|
||||
"Archive All Chats": "",
|
||||
"Archived Chats": "",
|
||||
"are allowed - Activate this command by typing": "",
|
||||
"Are you sure?": "",
|
||||
"Attach file": "",
|
||||
"Attention to detail": "",
|
||||
"Audio": "",
|
||||
"August": "",
|
||||
"Auto-playback response": "",
|
||||
"Auto-send input after 3 sec.": "",
|
||||
"AUTOMATIC1111 Base URL": "",
|
||||
"AUTOMATIC1111 Base URL is required.": "",
|
||||
"available!": "",
|
||||
"Back": "",
|
||||
"Bad Response": "",
|
||||
"Banners": "",
|
||||
"Base Model (From)": "",
|
||||
"before": "",
|
||||
"Being lazy": "",
|
||||
"Brave Search API Key": "",
|
||||
"Bypass SSL verification for Websites": "",
|
||||
"Cancel": "",
|
||||
"Capabilities": "",
|
||||
"Change Password": "",
|
||||
"Chat": "",
|
||||
"Chat Bubble UI": "",
|
||||
"Chat direction": "",
|
||||
"Chat History": "",
|
||||
"Chat History is off for this browser.": "",
|
||||
"Chats": "",
|
||||
"Check Again": "",
|
||||
"Check for updates": "",
|
||||
"Checking for updates...": "",
|
||||
"Choose a model before saving...": "",
|
||||
"Chunk Overlap": "",
|
||||
"Chunk Params": "",
|
||||
"Chunk Size": "",
|
||||
"Citation": "",
|
||||
"Click here for help.": "",
|
||||
"Click here to": "",
|
||||
"Click here to select": "",
|
||||
"Click here to select a csv file.": "",
|
||||
"Click here to select documents.": "",
|
||||
"click here.": "",
|
||||
"Click on the user role button to change a user's role.": "",
|
||||
"Clone": "",
|
||||
"Close": "",
|
||||
"Collection": "",
|
||||
"ComfyUI": "",
|
||||
"ComfyUI Base URL": "",
|
||||
"ComfyUI Base URL is required.": "",
|
||||
"Command": "",
|
||||
"Concurrent Requests": "",
|
||||
"Confirm Password": "",
|
||||
"Connections": "",
|
||||
"Content": "",
|
||||
"Context Length": "",
|
||||
"Continue Response": "",
|
||||
"Conversation Mode": "",
|
||||
"Copied shared chat URL to clipboard!": "",
|
||||
"Copy": "",
|
||||
"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':": "",
|
||||
"Create a model": "",
|
||||
"Create Account": "",
|
||||
"Create new key": "",
|
||||
"Create new secret key": "",
|
||||
"Created at": "",
|
||||
"Created At": "",
|
||||
"Current Model": "",
|
||||
"Current Password": "",
|
||||
"Custom": "",
|
||||
"Customize models for a specific purpose": "",
|
||||
"Dark": "",
|
||||
"Database": "",
|
||||
"December": "",
|
||||
"Default": "",
|
||||
"Default (Automatic1111)": "",
|
||||
"Default (SentenceTransformers)": "",
|
||||
"Default (Web API)": "",
|
||||
"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 User": "",
|
||||
"Deleted {{deleteModelTag}}": "",
|
||||
"Deleted {{name}}": "",
|
||||
"Description": "",
|
||||
"Didn't fully follow instructions": "",
|
||||
"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": "",
|
||||
"Documentation": "",
|
||||
"Documents": "",
|
||||
"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": "",
|
||||
"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'.": "",
|
||||
"Edit": "",
|
||||
"Edit Doc": "",
|
||||
"Edit User": "",
|
||||
"Email": "",
|
||||
"Embedding Batch Size": "",
|
||||
"Embedding Model": "",
|
||||
"Embedding Model Engine": "",
|
||||
"Embedding model set to \"{{embedding_model}}\"": "",
|
||||
"Enable Chat History": "",
|
||||
"Enable Community Sharing": "",
|
||||
"Enable New Sign Ups": "",
|
||||
"Enable Web Search": "",
|
||||
"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
|
||||
"Enter {{role}} message here": "",
|
||||
"Enter a detail about yourself for your LLMs to recall": "",
|
||||
"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 Image Size (e.g. 512x512)": "",
|
||||
"Enter language codes": "",
|
||||
"Enter model tag (e.g. {{modelTag}})": "",
|
||||
"Enter Number of Steps (e.g. 50)": "",
|
||||
"Enter Score": "",
|
||||
"Enter Searxng Query URL": "",
|
||||
"Enter Serper API Key": "",
|
||||
"Enter Serpstack API Key": "",
|
||||
"Enter stop sequence": "",
|
||||
"Enter Top K": "",
|
||||
"Enter URL (e.g. http://127.0.0.1:7860/)": "",
|
||||
"Enter URL (e.g. http://localhost:11434)": "",
|
||||
"Enter Your Email": "",
|
||||
"Enter Your Full Name": "",
|
||||
"Enter Your Password": "",
|
||||
"Enter Your Role": "",
|
||||
"Error": "",
|
||||
"Experimental": "",
|
||||
"Export": "",
|
||||
"Export All Chats (All Users)": "",
|
||||
"Export chat (.json)": "",
|
||||
"Export Chats": "",
|
||||
"Export Documents Mapping": "",
|
||||
"Export Models": "",
|
||||
"Export Prompts": "",
|
||||
"Failed to create API Key.": "",
|
||||
"Failed to read clipboard contents": "",
|
||||
"Failed to update settings": "",
|
||||
"February": "",
|
||||
"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": "",
|
||||
"Format your variables using square brackets like this:": "",
|
||||
"Frequency Penalty": "",
|
||||
"General": "",
|
||||
"General Settings": "",
|
||||
"Generating search query": "",
|
||||
"Generation Info": "",
|
||||
"Good Response": "",
|
||||
"Google PSE API Key": "",
|
||||
"Google PSE Engine Id": "",
|
||||
"h:mm a": "",
|
||||
"has no conversations.": "",
|
||||
"Hello, {{name}}": "",
|
||||
"Help": "",
|
||||
"Hide": "",
|
||||
"How can I help you today?": "",
|
||||
"Hybrid Search": "",
|
||||
"Image Generation (Experimental)": "",
|
||||
"Image Generation Engine": "",
|
||||
"Image Settings": "",
|
||||
"Images": "",
|
||||
"Import Chats": "",
|
||||
"Import Documents Mapping": "",
|
||||
"Import Models": "",
|
||||
"Import Prompts": "",
|
||||
"Include `--api` flag when running stable-diffusion-webui": "",
|
||||
"Info": "",
|
||||
"Input commands": "",
|
||||
"Install from Github URL": "",
|
||||
"Interface": "",
|
||||
"Invalid Tag": "",
|
||||
"January": "",
|
||||
"join our Discord for help.": "",
|
||||
"JSON": "",
|
||||
"JSON Preview": "",
|
||||
"July": "",
|
||||
"June": "",
|
||||
"JWT Expiration": "",
|
||||
"JWT Token": "",
|
||||
"Keep Alive": "",
|
||||
"Keyboard shortcuts": "",
|
||||
"Language": "",
|
||||
"Last Active": "",
|
||||
"Light": "",
|
||||
"Listening...": "",
|
||||
"LLMs can make mistakes. Verify important information.": "",
|
||||
"LTR": "",
|
||||
"Made by OpenWebUI Community": "",
|
||||
"Make sure to enclose them with": "",
|
||||
"Manage Models": "",
|
||||
"Manage Ollama Models": "",
|
||||
"Manage Pipelines": "",
|
||||
"March": "",
|
||||
"Max Tokens (num_predict)": "",
|
||||
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "",
|
||||
"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.": "",
|
||||
"Minimum Score": "",
|
||||
"Mirostat": "",
|
||||
"Mirostat Eta": "",
|
||||
"Mirostat Tau": "",
|
||||
"MMMM DD, YYYY": "",
|
||||
"MMMM DD, YYYY HH:mm": "",
|
||||
"Model '{{modelName}}' has been successfully downloaded.": "",
|
||||
"Model '{{modelTag}}' is already in queue for downloading.": "",
|
||||
"Model {{modelId}} not found": "",
|
||||
"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 not selected": "",
|
||||
"Model Params": "",
|
||||
"Model Whitelisting": "",
|
||||
"Model(s) Whitelisted": "",
|
||||
"Modelfile Content": "",
|
||||
"Models": "",
|
||||
"More": "",
|
||||
"Name": "",
|
||||
"Name Tag": "",
|
||||
"Name your model": "",
|
||||
"New Chat": "",
|
||||
"New Password": "",
|
||||
"No results found": "",
|
||||
"No search query generated": "",
|
||||
"No source available": "",
|
||||
"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": "",
|
||||
"Ollama": "",
|
||||
"Ollama API": "",
|
||||
"Ollama API disabled": "",
|
||||
"Ollama Version": "",
|
||||
"On": "",
|
||||
"Only": "",
|
||||
"Only alphanumeric characters and hyphens are allowed in the command string.": "",
|
||||
"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.": "",
|
||||
"Open": "",
|
||||
"Open AI": "",
|
||||
"Open AI (Dall-E)": "",
|
||||
"Open new chat": "",
|
||||
"OpenAI": "",
|
||||
"OpenAI API": "",
|
||||
"OpenAI API Config": "",
|
||||
"OpenAI API Key is required.": "",
|
||||
"OpenAI URL/Key required.": "",
|
||||
"or": "",
|
||||
"Other": "",
|
||||
"Password": "",
|
||||
"PDF document (.pdf)": "",
|
||||
"PDF Extract Images (OCR)": "",
|
||||
"pending": "",
|
||||
"Permission denied when accessing microphone: {{error}}": "",
|
||||
"Personalization": "",
|
||||
"Pipelines": "",
|
||||
"Pipelines Valves": "",
|
||||
"Plain text (.txt)": "",
|
||||
"Playground": "",
|
||||
"Positive attitude": "",
|
||||
"Previous 30 days": "",
|
||||
"Previous 7 days": "",
|
||||
"Profile Image": "",
|
||||
"Prompt": "",
|
||||
"Prompt (e.g. Tell me a fun fact about the Roman Empire)": "",
|
||||
"Prompt Content": "",
|
||||
"Prompt suggestions": "",
|
||||
"Prompts": "",
|
||||
"Pull \"{{searchValue}}\" from Ollama.com": "",
|
||||
"Pull a model from Ollama.com": "",
|
||||
"Query Params": "",
|
||||
"RAG Template": "",
|
||||
"Read Aloud": "",
|
||||
"Record voice": "",
|
||||
"Redirecting you to OpenWebUI Community": "",
|
||||
"Refused when it shouldn't have": "",
|
||||
"Regenerate": "",
|
||||
"Release Notes": "",
|
||||
"Remove": "",
|
||||
"Remove Model": "",
|
||||
"Rename": "",
|
||||
"Repeat Last N": "",
|
||||
"Request Mode": "",
|
||||
"Reranking Model": "",
|
||||
"Reranking model disabled": "",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "",
|
||||
"Reset Upload Directory": "",
|
||||
"Reset Vector Storage": "",
|
||||
"Response AutoCopy to Clipboard": "",
|
||||
"Role": "",
|
||||
"Rosé Pine": "",
|
||||
"Rosé Pine Dawn": "",
|
||||
"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": "",
|
||||
"Scan complete!": "",
|
||||
"Scan for documents from {{path}}": "",
|
||||
"Search": "",
|
||||
"Search a model": "",
|
||||
"Search Chats": "",
|
||||
"Search Documents": "",
|
||||
"Search Models": "",
|
||||
"Search Prompts": "",
|
||||
"Search Result Count": "",
|
||||
"Searched {{count}} sites_one": "",
|
||||
"Searched {{count}} sites_other": "",
|
||||
"Searching the web for '{{searchQuery}}'": "",
|
||||
"Searxng Query URL": "",
|
||||
"See readme.md for instructions": "",
|
||||
"See what's new": "",
|
||||
"Seed": "",
|
||||
"Select a base model": "",
|
||||
"Select a mode": "",
|
||||
"Select a model": "",
|
||||
"Select a pipeline": "",
|
||||
"Select a pipeline url": "",
|
||||
"Select an Ollama instance": "",
|
||||
"Select model": "",
|
||||
"Selected model(s) do not support image inputs": "",
|
||||
"Send": "",
|
||||
"Send a Message": "",
|
||||
"Send message": "",
|
||||
"September": "",
|
||||
"Serper API Key": "",
|
||||
"Serpstack API Key": "",
|
||||
"Server connection verified": "",
|
||||
"Set as default": "",
|
||||
"Set Default Model": "",
|
||||
"Set embedding model (e.g. {{model}})": "",
|
||||
"Set Image Size": "",
|
||||
"Set Model": "",
|
||||
"Set reranking model (e.g. {{model}})": "",
|
||||
"Set Steps": "",
|
||||
"Set Task Model": "",
|
||||
"Set Voice": "",
|
||||
"Settings": "",
|
||||
"Settings saved successfully!": "",
|
||||
"Settings updated successfully": "",
|
||||
"Share": "",
|
||||
"Share Chat": "",
|
||||
"Share to OpenWebUI Community": "",
|
||||
"short-summary": "",
|
||||
"Show": "",
|
||||
"Show Admin Details in Account Pending Overlay": "",
|
||||
"Show shortcuts": "",
|
||||
"Showcased creativity": "",
|
||||
"sidebar": "",
|
||||
"Sign in": "",
|
||||
"Sign Out": "",
|
||||
"Sign up": "",
|
||||
"Signing in": "",
|
||||
"Source": "",
|
||||
"Speech recognition error: {{error}}": "",
|
||||
"Speech-to-Text Engine": "",
|
||||
"SpeechRecognition API is not supported in this browser.": "",
|
||||
"Stop Sequence": "",
|
||||
"STT Settings": "",
|
||||
"Submit": "",
|
||||
"Subtitle (e.g. about the Roman Empire)": "",
|
||||
"Success": "",
|
||||
"Successfully updated.": "",
|
||||
"Suggested": "",
|
||||
"System": "",
|
||||
"System Prompt": "",
|
||||
"Tags": "",
|
||||
"Tell us more:": "",
|
||||
"Temperature": "",
|
||||
"Template": "",
|
||||
"Text Completion": "",
|
||||
"Text-to-Speech Engine": "",
|
||||
"Tfs Z": "",
|
||||
"Thanks for your feedback!": "",
|
||||
"The score should be a value between 0.0 (0%) and 1.0 (100%).": "",
|
||||
"Theme": "",
|
||||
"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.": "",
|
||||
"Title": "",
|
||||
"Title (e.g. Tell me a fun fact)": "",
|
||||
"Title Auto-Generation": "",
|
||||
"Title cannot be an empty string.": "",
|
||||
"Title Generation Prompt": "",
|
||||
"to": "",
|
||||
"To access the available model names for downloading,": "",
|
||||
"To access the GGUF models available for downloading,": "",
|
||||
"to chat input.": "",
|
||||
"Today": "",
|
||||
"Toggle settings": "",
|
||||
"Toggle sidebar": "",
|
||||
"Top K": "",
|
||||
"Top P": "",
|
||||
"Trouble accessing Ollama?": "",
|
||||
"TTS Settings": "",
|
||||
"Type": "",
|
||||
"Type Hugging Face Resolve (Download) URL": "",
|
||||
"Uh-oh! There was an issue connecting to {{provider}}.": "",
|
||||
"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "",
|
||||
"Update and Copy Link": "",
|
||||
"Update password": "",
|
||||
"Upload a GGUF model": "",
|
||||
"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": "",
|
||||
"Utilize": "",
|
||||
"Valid time units:": "",
|
||||
"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.": "",
|
||||
"Web": "",
|
||||
"Web Loader Settings": "",
|
||||
"Web Params": "",
|
||||
"Web Search": "",
|
||||
"Web Search Engine": "",
|
||||
"Webhook URL": "",
|
||||
"WebUI Add-ons": "",
|
||||
"WebUI Settings": "",
|
||||
"WebUI will make requests to": "",
|
||||
"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)": "",
|
||||
"Widescreen Mode": "",
|
||||
"Workspace": "",
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "",
|
||||
"Yesterday": "",
|
||||
"You": "",
|
||||
"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 Loader Settings": ""
|
||||
}
|
@ -13,6 +13,7 @@
|
||||
"About": "Hakkında",
|
||||
"Account": "Hesap",
|
||||
"Accurate information": "Doğru bilgi",
|
||||
"Active Users": "",
|
||||
"Add": "Ekle",
|
||||
"Add a model id": "Model id ekle",
|
||||
"Add a short description about what this model does": "Bu modelin ne yaptığı hakkında kısa bir açıklama ekle",
|
||||
@ -225,7 +226,6 @@
|
||||
"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": "Frekans Cezası",
|
||||
"Full Screen Mode": "Tam Ekran Modu",
|
||||
"General": "Genel",
|
||||
"General Settings": "Genel Ayarlar",
|
||||
"Generating search query": "Arama sorgusu oluşturma",
|
||||
@ -378,6 +378,7 @@
|
||||
"Reranking Model": "Yeniden Sıralama Modeli",
|
||||
"Reranking model disabled": "Yeniden sıralama modeli devre dışı bırakıldı",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "Yeniden sıralama modeli \"{{reranking_model}}\" olarak ayarlandı",
|
||||
"Reset Upload Directory": "",
|
||||
"Reset Vector Storage": "Vektör Depolamayı Sıfırla",
|
||||
"Response AutoCopy to Clipboard": "Yanıtı Panoya Otomatik Kopyala",
|
||||
"Role": "Rol",
|
||||
@ -525,6 +526,7 @@
|
||||
"What’s New in": "Yenilikler:",
|
||||
"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Geçmiş kapatıldığında, bu tarayıcıdaki yeni sohbetler hiçbir cihazınızdaki geçmişinizde görünmez.",
|
||||
"Whisper (Local)": "Whisper (Yerel)",
|
||||
"Widescreen Mode": "",
|
||||
"Workspace": "Çalışma Alanı",
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Bir prompt önerisi yazın (örn. Sen kimsin?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "[Konuyu veya anahtar kelimeyi] özetleyen 50 kelimelik bir özet yazın.",
|
||||
|
@ -13,6 +13,7 @@
|
||||
"About": "Про програму",
|
||||
"Account": "Обліковий запис",
|
||||
"Accurate information": "Точна інформація",
|
||||
"Active Users": "",
|
||||
"Add": "Додати",
|
||||
"Add a model id": "Додайте id моделі",
|
||||
"Add a short description about what this model does": "Додайте короткий опис того, що робить ця модель",
|
||||
@ -225,7 +226,6 @@
|
||||
"Followed instructions perfectly": "Бездоганно дотримувався інструкцій",
|
||||
"Format your variables using square brackets like this:": "Форматуйте свої змінні квадратними дужками так:",
|
||||
"Frequency Penalty": "Штраф за частоту",
|
||||
"Full Screen Mode": "Режим повного екрану",
|
||||
"General": "Загальні",
|
||||
"General Settings": "Загальні налаштування",
|
||||
"Generating search query": "Сформувати пошуковий запит",
|
||||
@ -378,6 +378,7 @@
|
||||
"Reranking Model": "Модель переранжування",
|
||||
"Reranking model disabled": "Модель переранжування вимкнена",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "Модель переранжування встановлено на \"{{reranking_model}}\"",
|
||||
"Reset Upload Directory": "",
|
||||
"Reset Vector Storage": "Скинути векторне сховище",
|
||||
"Response AutoCopy to Clipboard": "Автокопіювання відповіді в буфер обміну",
|
||||
"Role": "Роль",
|
||||
@ -527,6 +528,7 @@
|
||||
"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 (локально)",
|
||||
"Widescreen Mode": "",
|
||||
"Workspace": "Робочий простір",
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Напишіть промт (напр., Хто ти?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "Напишіть стислий зміст у 50 слів, який узагальнює [тема або ключове слово].",
|
||||
|
@ -13,6 +13,7 @@
|
||||
"About": "Giới thiệu",
|
||||
"Account": "Tài khoản",
|
||||
"Accurate information": "Thông tin chính xác",
|
||||
"Active Users": "",
|
||||
"Add": "Thêm",
|
||||
"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",
|
||||
@ -225,7 +226,6 @@
|
||||
"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": "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": "Tạo truy vấn tìm kiếm",
|
||||
@ -378,6 +378,7 @@
|
||||
"Reranking Model": "Reranking Model",
|
||||
"Reranking model disabled": "Reranking model disabled",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "Reranking model set to \"{{reranking_model}}\"",
|
||||
"Reset Upload Directory": "",
|
||||
"Reset Vector Storage": "Cài đặt lại Vector Storage",
|
||||
"Response AutoCopy to Clipboard": "Tự động Sao chép Phản hồi vào clipboard",
|
||||
"Role": "Vai trò",
|
||||
@ -524,6 +525,7 @@
|
||||
"What’s New in": "Thông tin mới về",
|
||||
"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Khi chế độ lịch sử chat đã tắt, các nội dung chat mới trên trình duyệt này sẽ không xuất hiện trên bất kỳ thiết bị nào của bạn.",
|
||||
"Whisper (Local)": "Whisper (Local)",
|
||||
"Widescreen Mode": "",
|
||||
"Workspace": "Workspace",
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "Hãy viết một prompt (vd: Bạn là ai?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "Viết một tóm tắt trong vòng 50 từ cho [chủ đề hoặc từ khóa].",
|
||||
|
@ -2,7 +2,7 @@
|
||||
"'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)": "(正式版)",
|
||||
"(latest)": "(最新版)",
|
||||
"{{ models }}": "{{ models }}",
|
||||
"{{ owner }}: You cannot delete a base model": "{{ owner }}:您不能删除基础模型",
|
||||
"{{modelName}} is thinking...": "{{modelName}} 正在思考...",
|
||||
@ -12,7 +12,8 @@
|
||||
"a user": "用户",
|
||||
"About": "关于",
|
||||
"Account": "账号",
|
||||
"Accurate information": "准确的信息",
|
||||
"Accurate information": "提供的信息很准确",
|
||||
"Active Users": "当前在线用户",
|
||||
"Add": "添加",
|
||||
"Add a model id": "添加一个模型 ID",
|
||||
"Add a short description about what this model does": "添加有关该模型功能的简短描述",
|
||||
@ -37,7 +38,7 @@
|
||||
"All Users": "所有用户",
|
||||
"Allow": "允许",
|
||||
"Allow Chat Deletion": "允许删除聊天记录",
|
||||
"Allow non-local voices": "",
|
||||
"Allow non-local voices": "允许调用非本地音色",
|
||||
"alphanumeric characters and hyphens": "字母数字字符和连字符",
|
||||
"Already have an account?": "已经拥有账号了?",
|
||||
"an assistant": "助手",
|
||||
@ -61,9 +62,9 @@
|
||||
"Auto-send input after 3 sec.": "3 秒后自动发送输入框内容",
|
||||
"AUTOMATIC1111 Base URL": "AUTOMATIC1111 基础地址",
|
||||
"AUTOMATIC1111 Base URL is required.": "需要 AUTOMATIC1111 基础地址。",
|
||||
"available!": "可用!",
|
||||
"available!": "版本可用!",
|
||||
"Back": "返回",
|
||||
"Bad Response": "较差回复",
|
||||
"Bad Response": "点踩回复",
|
||||
"Banners": "公告横幅",
|
||||
"Base Model (From)": "基础模型 (来自)",
|
||||
"before": "对话",
|
||||
@ -147,7 +148,7 @@
|
||||
"Deleted {{deleteModelTag}}": "已删除 {{deleteModelTag}}",
|
||||
"Deleted {{name}}": "已删除 {{name}}",
|
||||
"Description": "描述",
|
||||
"Didn't fully follow instructions": "没有完全遵循指令",
|
||||
"Didn't fully follow instructions": "没有完全遵照指示",
|
||||
"Discover a model": "发现更多模型",
|
||||
"Discover a prompt": "发现更多提示词",
|
||||
"Discover, download, and explore custom prompts": "发现、下载并探索更多自定义提示词",
|
||||
@ -155,7 +156,7 @@
|
||||
"Display the username instead of You in the Chat": "在对话中显示用户名而不是“你”",
|
||||
"Document": "文档",
|
||||
"Document Settings": "文档设置",
|
||||
"Documentation": "",
|
||||
"Documentation": "帮助文档",
|
||||
"Documents": "文档",
|
||||
"does not make any external connections, and your data stays securely on your locally hosted server.": "不会与外部建立任何连接,您的数据会安全地存储在本地托管的服务器上。",
|
||||
"Don't Allow": "不允许",
|
||||
@ -169,8 +170,8 @@
|
||||
"Edit": "编辑",
|
||||
"Edit Doc": "编辑文档",
|
||||
"Edit User": "编辑用户",
|
||||
"Email": "邮箱地址",
|
||||
"Embedding Batch Size": "",
|
||||
"Email": "电子邮箱",
|
||||
"Embedding Batch Size": "嵌入层批处理大小 (Embedding Batch Size)",
|
||||
"Embedding Model": "语义向量模型",
|
||||
"Embedding Model Engine": "语义向量模型引擎",
|
||||
"Embedding model set to \"{{embedding_model}}\"": "语义向量模型设置为 \"{{embedding_model}}\"",
|
||||
@ -178,7 +179,7 @@
|
||||
"Enable Community Sharing": "启用分享至社区",
|
||||
"Enable New Sign Ups": "允许新用户注册",
|
||||
"Enable Web Search": "启用网络搜索",
|
||||
"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": "输入 Brave Search API 密钥",
|
||||
@ -199,7 +200,7 @@
|
||||
"Enter Top K": "输入 Top K",
|
||||
"Enter URL (e.g. http://127.0.0.1:7860/)": "输入地址 (例如:http://127.0.0.1:7860/)",
|
||||
"Enter URL (e.g. http://localhost:11434)": "输入地址 (例如:http://localhost:11434)",
|
||||
"Enter Your Email": "输入您的邮箱地址",
|
||||
"Enter Your Email": "输入您的电子邮箱",
|
||||
"Enter Your Full Name": "输入您的名称",
|
||||
"Enter Your Password": "输入您的密码",
|
||||
"Enter Your Role": "输入您的权限组",
|
||||
@ -207,14 +208,14 @@
|
||||
"Experimental": "实验性",
|
||||
"Export": "导出",
|
||||
"Export All Chats (All Users)": "导出所有用户对话",
|
||||
"Export chat (.json)": "",
|
||||
"Export chat (.json)": "JSON 文件 (.json)",
|
||||
"Export Chats": "导出对话",
|
||||
"Export Documents Mapping": "导出文档映射",
|
||||
"Export Models": "导出模型",
|
||||
"Export Prompts": "导出提示词",
|
||||
"Failed to create API Key.": "无法创建 API 密钥。",
|
||||
"Failed to read clipboard contents": "无法读取剪贴板内容",
|
||||
"Failed to update settings": "",
|
||||
"Failed to update settings": "无法更新设置",
|
||||
"February": "二月",
|
||||
"Feel free to add specific details": "欢迎补充具体细节",
|
||||
"File Mode": "文件模式",
|
||||
@ -222,18 +223,17 @@
|
||||
"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": "完全遵循指令",
|
||||
"Followed instructions perfectly": "完全按照指示执行",
|
||||
"Format your variables using square brackets like this:": "使用这样的方括号格式化你的变量:",
|
||||
"Frequency Penalty": "频率惩罚",
|
||||
"Full Screen Mode": "宽屏模式",
|
||||
"General": "通用",
|
||||
"General Settings": "通用设置",
|
||||
"Generating search query": "生成搜索查询",
|
||||
"Generation Info": "生成信息",
|
||||
"Good Response": "优秀回复",
|
||||
"Good Response": "点赞回复",
|
||||
"Google PSE API Key": "Google PSE API 密钥",
|
||||
"Google PSE Engine Id": "Google PSE 引擎 ID",
|
||||
"h:mm a": "h:mm a",
|
||||
"h:mm a": "HH:mm",
|
||||
"has no conversations.": "没有对话。",
|
||||
"Hello, {{name}}": "你好,{{name}}",
|
||||
"Help": "帮助",
|
||||
@ -286,8 +286,8 @@
|
||||
"Mirostat": "Mirostat",
|
||||
"Mirostat Eta": "Mirostat Eta",
|
||||
"Mirostat Tau": "Mirostat Tau",
|
||||
"MMMM DD, YYYY": "YYYY年 M月 D日",
|
||||
"MMMM DD, YYYY HH:mm": "YYYY年 M月 D日 HH:mm",
|
||||
"MMMM DD, YYYY": "YYYY年 MM月 DD日",
|
||||
"MMMM DD, YYYY HH:mm": "YYYY年 MM月 DD日 HH:mm",
|
||||
"Model '{{modelName}}' has been successfully downloaded.": "模型'{{modelName}}'已成功下载。",
|
||||
"Model '{{modelTag}}' is already in queue for downloading.": "模型'{{modelTag}}'已在下载队列中。",
|
||||
"Model {{modelId}} not found": "未找到模型 {{modelId}}",
|
||||
@ -311,7 +311,7 @@
|
||||
"No search query generated": "未生成搜索查询",
|
||||
"No source available": "没有可用来源",
|
||||
"None": "无",
|
||||
"Not factually correct": "与事实不符",
|
||||
"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": "十一月",
|
||||
@ -351,7 +351,7 @@
|
||||
"Pipelines Valves": "Pipeline 值",
|
||||
"Plain text (.txt)": "TXT 文档 (.txt)",
|
||||
"Playground": "AI 对话游乐场",
|
||||
"Positive attitude": "较为积极的态度",
|
||||
"Positive attitude": "积极的态度",
|
||||
"Previous 30 days": "过去 30 天",
|
||||
"Previous 7 days": "过去 7 天",
|
||||
"Profile Image": "用户头像",
|
||||
@ -367,7 +367,7 @@
|
||||
"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": "更新日志",
|
||||
"Remove": "移除",
|
||||
@ -378,6 +378,7 @@
|
||||
"Reranking Model": "重排模型",
|
||||
"Reranking model disabled": "重排模型已禁用",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "重排模型设置为 \"{{reranking_model}}\"",
|
||||
"Reset Upload Directory": "重置上传目录",
|
||||
"Reset Vector Storage": "重置向量存储",
|
||||
"Response AutoCopy to Clipboard": "自动复制回复到剪贴板",
|
||||
"Role": "权限组",
|
||||
@ -398,7 +399,7 @@
|
||||
"Search Models": "搜索模型",
|
||||
"Search Prompts": "搜索提示词",
|
||||
"Search Result Count": "搜索结果数量",
|
||||
"Searched {{count}} sites_other": "搜索 {{count}} 个网站",
|
||||
"Searched {{count}} sites_other": "检索到 {{count}} 个网站",
|
||||
"Searching the web for '{{searchQuery}}'": "在网络中搜索 '{{searchQuery}}' ",
|
||||
"Searxng Query URL": "Searxng 查询 URL",
|
||||
"See readme.md for instructions": "查看 readme.md 以获取说明",
|
||||
@ -413,7 +414,7 @@
|
||||
"Select model": "选择模型",
|
||||
"Selected model(s) do not support image inputs": "已选择的模型不支持发送图像",
|
||||
"Send": "发送",
|
||||
"Send a Message": "发送消息",
|
||||
"Send a Message": "输入消息",
|
||||
"Send message": "发送消息",
|
||||
"September": "九月",
|
||||
"Serper API Key": "Serper API 密钥",
|
||||
@ -430,15 +431,15 @@
|
||||
"Set Voice": "设置音色",
|
||||
"Settings": "设置",
|
||||
"Settings saved successfully!": "设置已保存",
|
||||
"Settings updated successfully": "",
|
||||
"Settings updated successfully": "设置成功更新",
|
||||
"Share": "分享",
|
||||
"Share Chat": "分享对话",
|
||||
"Share to OpenWebUI Community": "分享到 OpenWebUI 社区",
|
||||
"short-summary": "简短总结",
|
||||
"Show": "显示",
|
||||
"Show Admin Details in Account Pending Overlay": "",
|
||||
"Show Admin Details in Account Pending Overlay": "在用户待定界面中显示管理员邮箱等详细信息",
|
||||
"Show shortcuts": "显示快捷方式",
|
||||
"Showcased creativity": "显示出较强的创造力",
|
||||
"Showcased creativity": "很有创意",
|
||||
"sidebar": "侧边栏",
|
||||
"Sign in": "登录",
|
||||
"Sign Out": "登出",
|
||||
@ -469,7 +470,7 @@
|
||||
"Theme": "主题",
|
||||
"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": "详尽的解释",
|
||||
"Thorough explanation": "解释较为详细",
|
||||
"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)": "标题(例如 给我讲一个有趣的事实)",
|
||||
@ -524,6 +525,7 @@
|
||||
"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(本地)",
|
||||
"Widescreen Mode": "宽屏模式",
|
||||
"Workspace": "工作空间",
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "写一个提示词建议(例如:你是谁?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "用 50 个字写一个总结 [主题或关键词]。",
|
||||
|
@ -13,6 +13,7 @@
|
||||
"About": "關於",
|
||||
"Account": "帳號",
|
||||
"Accurate information": "準確信息",
|
||||
"Active Users": "",
|
||||
"Add": "新增",
|
||||
"Add a model id": "新增模型 ID",
|
||||
"Add a short description about what this model does": "為這個模型添加一個簡短描述",
|
||||
@ -225,7 +226,6 @@
|
||||
"Followed instructions perfectly": "完全遵循指示",
|
||||
"Format your variables using square brackets like this:": "像這樣使用方括號來格式化你的變數:",
|
||||
"Frequency Penalty": "頻率懲罰",
|
||||
"Full Screen Mode": "全螢幕模式",
|
||||
"General": "常用",
|
||||
"General Settings": "常用設定",
|
||||
"Generating search query": "生成搜索查詢",
|
||||
@ -378,6 +378,7 @@
|
||||
"Reranking Model": "重新排序模型",
|
||||
"Reranking model disabled": "重新排序模型已禁用",
|
||||
"Reranking model set to \"{{reranking_model}}\"": "重新排序模型設定為 \"{{reranking_model}}\"",
|
||||
"Reset Upload Directory": "",
|
||||
"Reset Vector Storage": "重置向量儲存空間",
|
||||
"Response AutoCopy to Clipboard": "自動複製回答到剪貼簿",
|
||||
"Role": "Role",
|
||||
@ -524,6 +525,7 @@
|
||||
"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(本機)",
|
||||
"Widescreen Mode": "",
|
||||
"Workspace": "工作區",
|
||||
"Write a prompt suggestion (e.g. Who are you?)": "寫一個提示詞建議(例如:你是誰?)",
|
||||
"Write a summary in 50 words that summarizes [topic or keyword].": "寫一個 50 字的摘要來概括 [主題或關鍵詞]。",
|
||||
|
@ -2,6 +2,7 @@ import { APP_NAME } from '$lib/constants';
|
||||
import { type Writable, writable } from 'svelte/store';
|
||||
import type { GlobalModelConfig, ModelConfig } from '$lib/apis';
|
||||
import type { Banner } from '$lib/types';
|
||||
import type { Socket } from 'socket.io-client';
|
||||
|
||||
// Backend
|
||||
export const WEBUI_NAME = writable(APP_NAME);
|
||||
@ -13,6 +14,10 @@ export const MODEL_DOWNLOAD_POOL = writable({});
|
||||
|
||||
export const mobile = writable(false);
|
||||
|
||||
export const socket: Writable<null | Socket> = writable(null);
|
||||
export const activeUserCount: Writable<null | number> = writable(null);
|
||||
export const USAGE_POOL: Writable<null | string[]> = writable(null);
|
||||
|
||||
export const theme = writable('system');
|
||||
export const chatId = writable('');
|
||||
|
||||
|
@ -187,7 +187,7 @@
|
||||
|
||||
<div class="app relative">
|
||||
<div
|
||||
class=" text-gray-700 dark:text-gray-100 bg-white dark:bg-gray-900 min-h-screen overflow-auto flex flex-row"
|
||||
class=" text-gray-700 dark:text-gray-100 bg-white dark:bg-gray-900 h-screen max-h-[100dvh] overflow-auto flex flex-row"
|
||||
>
|
||||
{#if loaded}
|
||||
{#if !['user', 'admin'].includes($user.role)}
|
||||
|
@ -303,6 +303,31 @@
|
||||
</svg>
|
||||
</button>
|
||||
</Tooltip>
|
||||
{:else}
|
||||
<Tooltip content={$i18n.t('Edit User')}>
|
||||
<button
|
||||
class="self-center w-fit text-sm px-2 py-2 hover:bg-black/5 dark:hover:bg-white/5 rounded-xl"
|
||||
on:click={async () => {
|
||||
showEditUserModal = !showEditUserModal;
|
||||
selectedUser = user;
|
||||
}}
|
||||
>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
fill="none"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="1.5"
|
||||
stroke="currentColor"
|
||||
class="w-4 h-4"
|
||||
>
|
||||
<path
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
d="m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L6.832 19.82a4.5 4.5 0 0 1-1.897 1.13l-2.685.8.8-2.685a4.5 4.5 0 0 1 1.13-1.897L16.863 4.487Zm0 0L19.5 7.125"
|
||||
/>
|
||||
</svg>
|
||||
</button>
|
||||
</Tooltip>
|
||||
{/if}
|
||||
</div>
|
||||
</td>
|
||||
|
@ -1,6 +1,17 @@
|
||||
<script>
|
||||
import { io } from 'socket.io-client';
|
||||
|
||||
import { onMount, tick, setContext } from 'svelte';
|
||||
import { config, user, theme, WEBUI_NAME, mobile } from '$lib/stores';
|
||||
import {
|
||||
config,
|
||||
user,
|
||||
theme,
|
||||
WEBUI_NAME,
|
||||
mobile,
|
||||
socket,
|
||||
activeUserCount,
|
||||
USAGE_POOL
|
||||
} from '$lib/stores';
|
||||
import { goto } from '$app/navigation';
|
||||
import { Toaster, toast } from 'svelte-sonner';
|
||||
|
||||
@ -12,7 +23,7 @@
|
||||
|
||||
import 'tippy.js/dist/tippy.css';
|
||||
|
||||
import { WEBUI_BASE_URL } from '$lib/constants';
|
||||
import { WEBUI_BASE_URL, WEBUI_HOSTNAME } from '$lib/constants';
|
||||
import i18n, { initI18n, getLanguages } from '$lib/i18n';
|
||||
|
||||
setContext('i18n', i18n);
|
||||
@ -55,10 +66,30 @@
|
||||
if (backendConfig) {
|
||||
// Save Backend Status to Store
|
||||
await config.set(backendConfig);
|
||||
|
||||
await WEBUI_NAME.set(backendConfig.name);
|
||||
|
||||
if ($config) {
|
||||
const _socket = io(`${WEBUI_BASE_URL}`, {
|
||||
path: '/ws/socket.io',
|
||||
auth: { token: localStorage.token }
|
||||
});
|
||||
|
||||
_socket.on('connect', () => {
|
||||
console.log('connected');
|
||||
});
|
||||
|
||||
await socket.set(_socket);
|
||||
|
||||
_socket.on('user-count', (data) => {
|
||||
console.log('user-count', data);
|
||||
activeUserCount.set(data.count);
|
||||
});
|
||||
|
||||
_socket.on('usage', (data) => {
|
||||
console.log('usage', data);
|
||||
USAGE_POOL.set(data['models']);
|
||||
});
|
||||
|
||||
if (localStorage.token) {
|
||||
// Get Session User Info
|
||||
const sessionUser = await getSessionUser(localStorage.token).catch((error) => {
|
||||
|
@ -3,7 +3,7 @@
|
||||
import { userSignIn, userSignUp } from '$lib/apis/auths';
|
||||
import Spinner from '$lib/components/common/Spinner.svelte';
|
||||
import { WEBUI_API_BASE_URL, WEBUI_BASE_URL } from '$lib/constants';
|
||||
import { WEBUI_NAME, config, user } from '$lib/stores';
|
||||
import { WEBUI_NAME, config, user, socket } from '$lib/stores';
|
||||
import { onMount, getContext } from 'svelte';
|
||||
import { toast } from 'svelte-sonner';
|
||||
import { generateInitialsImage, canvasPixelTest } from '$lib/utils';
|
||||
@ -22,6 +22,8 @@
|
||||
console.log(sessionUser);
|
||||
toast.success($i18n.t(`You're now logged in.`));
|
||||
localStorage.token = sessionUser.token;
|
||||
|
||||
$socket.emit('user-join', { auth: { token: sessionUser.token } });
|
||||
await user.set(sessionUser);
|
||||
goto('/');
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user