Merge pull request #2856 from open-webui/dev

0.2.5
This commit is contained in:
Timothy Jaeryang Baek 2024-06-05 10:06:11 -07:00 committed by GitHub
commit dbb83f9824
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
68 changed files with 2794 additions and 225 deletions

View File

@ -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

View File

@ -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

View File

@ -11,7 +11,7 @@
[![Discord](https://img.shields.io/badge/Discord-Open_WebUI-blue?logo=discord&logoColor=white)](https://discord.gg/5rJgQTnV4s)
[![](https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&color=%23fe8e86)](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/).
![Open WebUI Demo](./demo.gif)

View File

@ -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):

View File

@ -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
View 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")

View File

@ -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."
)

View File

@ -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
View File

@ -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",

View File

@ -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",

View File

@ -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;
});

View File

@ -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;

View File

@ -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"
>

View File

@ -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"
>

View File

@ -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>

View File

@ -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">

View File

@ -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>

View File

@ -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">

View File

@ -21,6 +21,10 @@
touch: touch
});
}
} else if (tooltipInstance && content === '') {
if (tooltipInstance) {
tooltipInstance.destroy();
}
}
onDestroy(() => {

View File

@ -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

View File

@ -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}

View File

@ -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={() => {

View File

@ -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> -->

View File

@ -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`;

View File

@ -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 @@
"Whats 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 كلمة يلخص [الموضوع أو الكلمة الرئيسية]",

View File

@ -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 @@
"Whats 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 знака, което описва [тема или ключова дума].",

View File

@ -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 @@
"Whats 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] এর একটি সারসংক্ষেপ লিখুন।",

View File

@ -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 @@
"Whats 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].",

View File

@ -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 @@
"Whats 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].",

View File

@ -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 @@
"Whats 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.",

View File

@ -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 @@
"Whats New in": "Whats 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.",

View File

@ -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 @@
"Whats 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].": "",

View File

@ -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 @@
"Whats 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].": "",

View File

@ -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 @@
"Whats 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].",

View File

@ -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 @@
"Whats 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 کلمه بنویسید که [موضوع یا کلمه کلیدی] را خلاصه کند.",

View File

@ -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 @@
"Whats 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].",

View File

@ -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 dune 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 @@
"Whats 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é].",

View File

@ -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 dune 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 @@
"Whats 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é]",

View File

@ -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 @@
"Whats 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 מילים שמסכם [נושא או מילת מפתח].",

View File

@ -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 @@
"Whats 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 शब्दों में एक सारांश लिखें जो [विषय या कीवर्ड] का सारांश प्रस्तुत करता हो।",

View File

@ -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 @@
"Whats 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č].",

View File

@ -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 @@
"Whats 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].",

View File

@ -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 @@
"Whats 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 語の概要を書いてください。",

View File

@ -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 @@
"Whats 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 სიტყვით, რომელიც აჯამებს [თემას ან საკვანძო სიტყვას].",

View File

@ -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 @@
"Whats 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단어 요약문 작성.",

View File

@ -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 (Українська)"

View File

@ -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 @@
"Whats 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]",

View 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",
"Whats 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"
}

View File

@ -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 @@
"Whats 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.",

View File

@ -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 @@
"Whats 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 ਸ਼ਬਦਾਂ ਵਿੱਚ ਇੱਕ ਸੰਖੇਪ ਲਿਖੋ ਜੋ [ਵਿਸ਼ਾ ਜਾਂ ਕੁੰਜੀ ਸ਼ਬਦ] ਨੂੰ ਸੰਖੇਪ ਕਰਦਾ ਹੈ।",

View File

@ -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 @@
"Whats 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].",

View File

@ -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 @@
"Whats 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].",

View File

@ -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 @@
"Whats 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].",

View File

@ -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 @@
"Whats 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 словах, которое кратко описывает [тему или ключевое слово].",

View File

@ -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 @@
"Whats 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 речи који резимира [тему или кључну реч].",

View File

@ -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 @@
"Whats 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].",

View 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"
}

View 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": "",
"Whats 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": ""
}

View File

@ -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 @@
"Whats 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.",

View File

@ -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 @@
"Whats 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 слів, який узагальнює [тема або ключове слово].",

View File

@ -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 @@
"Whats 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].",

View File

@ -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年 MMDD日",
"MMMM DD, YYYY HH:mm": "YYYY年 MMDD日 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 @@
"Whats 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 个字写一个总结 [主题或关键词]。",

View File

@ -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 @@
"Whats 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 字的摘要來概括 [主題或關鍵詞]。",

View File

@ -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('');

View File

@ -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)}

View File

@ -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>

View File

@ -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) => {

View File

@ -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('/');
}