main #2

Merged
tdpeuter merged 129 commits from open-webui/open-webui:main into main 2024-03-20 21:29:12 +01:00
14 changed files with 126 additions and 76 deletions
Showing only changes of commit 6d2f462090 - Show all commits

View file

@ -216,7 +216,7 @@
// Event triggered when an error occurs // Event triggered when an error occurs
speechRecognition.onerror = function (event) { speechRecognition.onerror = function (event) {
console.log(event); console.log(event);
toast.error(`Speech recognition error: ${event.error}`); toast.error($i18n.t(`Speech recognition error: {{error}}`, { error: event.error }));
isRecording = false; isRecording = false;
}; };
} else { } else {

View file

@ -111,7 +111,9 @@
toast.error(error.error); toast.error(error.error);
} }
} else { } else {
toast.error($i18n.t('Uh-oh! There was an issue connecting to llama.')); toast.error(
$i18n.t('Uh-oh! There was an issue connecting to {{provider}}.', { provider: 'llama' })
);
} }
} }

View file

@ -115,7 +115,11 @@
on:change={(e) => { on:change={(e) => {
if (e.target.value !== '') { if (e.target.value !== '') {
navigator.mediaDevices.getUserMedia({ audio: true }).catch(function (err) { navigator.mediaDevices.getUserMedia({ audio: true }).catch(function (err) {
toast.error(`Permission denied when accessing microphone: ${err}`); toast.error(
$i18n.t(`Permission denied when accessing microphone: {{error}}`, {
error: err
})
);
STTEngine = ''; STTEngine = '';
}); });
} }

View file

@ -79,7 +79,7 @@
} }
} else { } else {
enableImageGeneration = false; enableImageGeneration = false;
toast.error('AUTOMATIC1111_BASE_URL not provided'); toast.error($i18n.t('{{item}} not provided', { item: 'AUTOMATIC1111_BASE_URL' }));
} }
}; };

View file

@ -56,11 +56,17 @@
const pullModelHandler = async () => { const pullModelHandler = async () => {
const sanitizedModelTag = modelTag.trim(); const sanitizedModelTag = modelTag.trim();
if (modelDownloadStatus[sanitizedModelTag]) { if (modelDownloadStatus[sanitizedModelTag]) {
toast.error(`Model '${sanitizedModelTag}' is already in queue for downloading.`); toast.error(
$i18n.t(`Model '{{modelTag}}' is already in queue for downloading.`, {
modelTag: sanitizedModelTag
})
);
return; return;
} }
if (Object.keys(modelDownloadStatus).length === 3) { if (Object.keys(modelDownloadStatus).length === 3) {
toast.error('Maximum of 3 models can be downloaded simultaneously. Please try again later.'); toast.error(
$i18n.t('Maximum of 3 models can be downloaded simultaneously. Please try again later.')
);
return; return;
} }
@ -78,10 +84,10 @@
if (!data.success) { if (!data.success) {
toast.error(data.error); toast.error(data.error);
} else { } else {
toast.success($i18n.t(`Model '${modelName}' has been successfully downloaded.`)); toast.success($i18n.t(`Model '{{modelName}}' has been successfully downloaded.`, {modelName}));
const notification = new Notification($WEBUI_NAME, { const notification = new Notification($WEBUI_NAME, {
body: `Model '${modelName}' has been successfully downloaded.`, body: $i18n.t(`Model '{{modelName}}' has been successfully downloaded.`, {modelName}),
icon: `${WEBUI_BASE_URL}/static/favicon.png` icon: `${WEBUI_BASE_URL}/static/favicon.png`
}); });
@ -243,7 +249,7 @@
}); });
if (res) { if (res) {
toast.success($i18n.t(`Deleted ${deleteModelTag}`)); toast.success($i18n.t(`Deleted {{deleteModelTag}}`, {deleteModelTag}));
} }
deleteModelTag = ''; deleteModelTag = '';
@ -327,7 +333,7 @@
} }
} }
} else { } else {
toast.error(`Model ${liteLLMModelName} already exists.`); toast.error($i18n.t(`Model {{modelName}} already exists.`, { modelName: liteLLMModelName }));
} }
liteLLMModelName = ''; liteLLMModelName = '';

View file

@ -73,7 +73,7 @@
inputFiles = null; inputFiles = null;
document.getElementById('upload-doc-input').value = ''; document.getElementById('upload-doc-input').value = '';
} else { } else {
toast.error(`File not found.`); toast.error($i18n.t(`File not found.`));
} }
show = false; show = false;

View file

@ -61,7 +61,7 @@
"Delete a model": "Delete a model", "Delete a model": "Delete a model",
"Delete chat": "Delete chat", "Delete chat": "Delete chat",
"Delete Chats": "Delete Chats", "Delete Chats": "Delete Chats",
"Deleted ${deleteModelTag}`": "Deleted ${deleteModelTag}`", "Deleted {{deleteModelTag}}": "Deleted {{deleteModelTag}}",
"delete": "delete", "delete": "delete",
"Deleted {tagName}": "Deleted {tagName}", "Deleted {tagName}": "Deleted {tagName}",
"Description": "Description", "Description": "Description",
@ -105,6 +105,7 @@
"Import Modelfiles": "Import Modelfiles", "Import Modelfiles": "Import Modelfiles",
"Import Prompts": "Import Prompts", "Import Prompts": "Import Prompts",
"Interface": "Interface", "Interface": "Interface",
"{{item}} not provided": "{{item}} not provided",
"join our Discord for help.": "join our Discord for help.", "join our Discord for help.": "join our Discord for help.",
"JSON": "JSON", "JSON": "JSON",
"JWT Expiration": "JWT Expiration", "JWT Expiration": "JWT Expiration",
@ -120,17 +121,22 @@
"LLMs can make mistakes. Verify important information.": "LLMs can make mistakes. Verify important information.", "LLMs can make mistakes. Verify important information.": "LLMs can make mistakes. Verify important information.",
"Made by OpenWebUI Community": "Made by OpenWebUI Community", "Made by OpenWebUI Community": "Made by OpenWebUI Community",
"Manage LiteLLM Models": "Manage LiteLLM Models", "Manage LiteLLM Models": "Manage LiteLLM Models",
"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Maximum of 3 models can be downloaded simultaneously. Please try again later.",
"Max Tokens": "Max Tokens", "Max Tokens": "Max Tokens",
"Mirostat Eta": "Mirostat Eta", "Mirostat Eta": "Mirostat Eta",
"Mirostat": "Mirostat", "Mirostat": "Mirostat",
"Mirostat Tau": "Mirostat Tau", "Mirostat Tau": "Mirostat Tau",
"Model '${modelName}' has been successfully downloaded.`": "Model '${modelName}' has been successfully downloaded.`", "Model '{{modelName}}' has been successfully downloaded.`": "Model '{{modelName}}' has been successfully downloaded.`",
"Modelfile Advanced Settings": "Modelfile Advanced Settings", "Modelfile Advanced Settings": "Modelfile Advanced Settings",
"Modelfile Content": "Modelfile Content", "Modelfile Content": "Modelfile Content",
"Modelfile": "Modelfile", "Modelfile": "Modelfile",
"Modelfiles": "Modelfiles", "Modelfiles": "Modelfiles",
"Model {{modelId}} not found": "Model {{modelId}} not found",
"Model {{modelName}} already exists.": "Model {{modelName}} already exists.",
"Model '{{modelTag}}' is already in queue for downloading.": "Model '{{modelTag}}' is already in queue for downloading.",
"{{modelName}} is thinking...": "{{modelName}} is thinking...", "{{modelName}} is thinking...": "{{modelName}} is thinking...",
"Model Name": "Model Name", "Model Name": "Model Name",
"Model not selected": "Model not selected",
"Models": "Models", "Models": "Models",
"Model Tag Name": "Model Tag Name", "Model Tag Name": "Model Tag Name",
"My Documents": "My Documents", "My Documents": "My Documents",
@ -146,7 +152,9 @@
"Okay, Let's Go!": "Okay, Let's Go!", "Okay, Let's Go!": "Okay, Let's Go!",
"Ollama API URL": "Ollama API URL", "Ollama API URL": "Ollama API URL",
"Ollama Version": "Ollama Version", "Ollama Version": "Ollama Version",
"Only alphanumeric characters and hyphens are allowed in the command string.": "Only alphanumeric characters and hyphens are allowed in the command string.",
"On": "On", "On": "On",
"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 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.",
"OpenAI API": "OpenAI API", "OpenAI API": "OpenAI API",
"Open AI": "Open AI", "Open AI": "Open AI",
"Open new chat": "Open new chat", "Open new chat": "Open new chat",
@ -154,6 +162,7 @@
"Parameters": "Parameters", "Parameters": "Parameters",
"Password": "Password", "Password": "Password",
"Pending": "Pending", "Pending": "Pending",
"Permission denied when accessing microphone: {{error}}": "Permission denied when accessing microphone: {{error}}",
"Profile": "Profile", "Profile": "Profile",
"Prompt Content": "Prompt Content", "Prompt Content": "Prompt Content",
"Prompts": "Prompts", "Prompts": "Prompts",
@ -198,6 +207,7 @@
"Show shortcuts": "Show shortcuts", "Show shortcuts": "Show shortcuts",
"Sign Out": "Sign Out", "Sign Out": "Sign Out",
"SpeechRecognition API is not supported in this browser.": "SpeechRecognition API is not supported in this browser.", "SpeechRecognition API is not supported in this browser.": "SpeechRecognition API is not supported in this browser.",
"Speech recognition error: {{error}}": "Speech recognition error: {{error}}",
"Speech-to-Text Engine": "Speech-to-Text Engine", "Speech-to-Text Engine": "Speech-to-Text Engine",
"Stop Sequence": "Stop Sequence", "Stop Sequence": "Stop Sequence",
"STT Settings": "STT Settings", "STT Settings": "STT Settings",
@ -222,7 +232,7 @@
"Top K": "Top K", "Top K": "Top K",
"Top P": "Top P", "Top P": "Top P",
"TTS Settings": "TTS Settings", "TTS Settings": "TTS Settings",
"Uh-oh! There was an issue connecting to llama.": "Uh-oh! There was an issue connecting to llama.", "Uh-oh! There was an issue connecting to {{provider}}.": "Uh-oh! There was an issue connecting to {{provider}}.",
"Upload a GGUF model": "Upload a GGUF model", "Upload a GGUF model": "Upload a GGUF model",
"Upload files": "Upload files", "Upload files": "Upload files",
"Upload Progress": "Upload Progress", "Upload Progress": "Upload Progress",

View file

@ -6,7 +6,7 @@
"Add Docs": "اضافه کردن اسناد", "Add Docs": "اضافه کردن اسناد",
"Add Files": "اضافه کردن فایل‌ها", "Add Files": "اضافه کردن فایل‌ها",
"Add LiteLLM Model": "اضافه کردن مدل LiteLLM", "Add LiteLLM Model": "اضافه کردن مدل LiteLLM",
"add tags": "add tags", "add tags": "اضافه کردن تگ‌ها",
"Admin": "مدیریت", "Admin": "مدیریت",
"Admin Panel": "پنل مدیریت", "Admin Panel": "پنل مدیریت",
"Admin Settings": "تنظیمات مدیریت", "Admin Settings": "تنظیمات مدیریت",
@ -14,12 +14,12 @@
"Advanced Parameters": "پارامترهای پیشرفته", "Advanced Parameters": "پارامترهای پیشرفته",
"all": "همه", "all": "همه",
"Allow": "اجازه دادن", "Allow": "اجازه دادن",
"Allow Chat Deletion": "اجازه حذف چت", "Allow Chat Deletion": "اجازه حذف گپ",
"API Base URL": "API Base URL", "API Base URL": "API Base URL",
"API Key": "API Key", "API Key": "API Key",
"API RPM": "API RPM", "API RPM": "API RPM",
"Audio": "صدا", "Audio": "صدا",
"AUTOMATIC1111 Base URL": "AUTOMATIC1111 Base URL", "AUTOMATIC1111 Base URL": "پایه URL AUTOMATIC1111 ",
"Auto-playback response": "پخش خودکار پاسخ ", "Auto-playback response": "پخش خودکار پاسخ ",
"Auto-send input after 3 sec.": "به طور خودکار ورودی را پس از 3 ثانیه ارسال کن.", "Auto-send input after 3 sec.": "به طور خودکار ورودی را پس از 3 ثانیه ارسال کن.",
"Back": "بازگشت", "Back": "بازگشت",
@ -28,15 +28,15 @@
"Categories": "دسته‌بندی‌ها", "Categories": "دسته‌بندی‌ها",
"Change Password": "تغییر رمز عبور", "Change Password": "تغییر رمز عبور",
"Chat History": "تاریخچه‌ی گفتگو", "Chat History": "تاریخچه‌ی گفتگو",
"Chat History is off for this browser.": "سابقه چت برای این مرورگر خاموش است.", "Chat History is off for this browser.": "سابقه گپ برای این مرورگر خاموش است.",
"Chats": "چتها", "Chats": "گپها",
"Check Again": "Check Again", "Check Again": "چک مجدد",
"Choose a model before saving...": "قبل از ذخیره یک مدل را انتخاب کنید...", "Choose a model before saving...": "قبل از ذخیره یک مدل را انتخاب کنید...",
"Chunk Overlap": "همپوشانی تکه", "Chunk Overlap": "همپوشانی تکه",
"Chunk Params": "پارامترهای تکه", "Chunk Params": "پارامترهای تکه",
"Chunk Size": "اندازه تکه", "Chunk Size": "اندازه تکه",
"click here.": "اینجا کلیک کنید.", "click here.": "اینجا کلیک کنید.",
"Click here to check other modelfiles.": "Click here to check other modelfiles.", "Click here to check other modelfiles.": "برای بررسی سایر فایل‌های مدل اینجا را کلیک کنید.",
"Collection": "مجموعه", "Collection": "مجموعه",
"Command": "دستور", "Command": "دستور",
"Confirm Password": "تایید رمز عبور", "Confirm Password": "تایید رمز عبور",
@ -47,7 +47,7 @@
"Copying to clipboard was successful!": "کپی کردن در کلیپ بورد با موفقیت انجام شد!", "Copying to clipboard was successful!": "کپی کردن در کلیپ بورد با موفقیت انجام شد!",
"Copy last code block": "کپی آخرین بلوک کد", "Copy last code block": "کپی آخرین بلوک کد",
"Copy last response": "کپی آخرین پاسخ", "Copy last response": "کپی آخرین پاسخ",
"Create a modelfile": "Create a modelfile", "Create a modelfile": "ایجاد یک فایل مدل",
"Current Password": "رمز عبور فعلی", "Current Password": "رمز عبور فعلی",
"Custom": "دلخواه", "Custom": "دلخواه",
"Customize Ollama models for a specific purpose": "Customize Ollama models for a specific purpose", "Customize Ollama models for a specific purpose": "Customize Ollama models for a specific purpose",
@ -59,26 +59,26 @@
"Default User Role": "Default User Role", "Default User Role": "Default User Role",
"Default (Web API)": "Default (Web API)", "Default (Web API)": "Default (Web API)",
"Delete a model": "حذف یک مدل", "Delete a model": "حذف یک مدل",
"Delete chat": "حذف چت", "Delete chat": "حذف گپ",
"Delete Chats": "حذف چتها", "Delete Chats": "حذف گپها",
"Deleted ${deleteModelTag}`": "Deleted ${deleteModelTag}`", "Deleted {{deleteModelTag}}": "{{deleteModelTag}} پاک شد",
"delete": "حذف", "delete": "حذف",
"Deleted {tagName}": "{tagName} حذف شد", "Deleted {tagName}": "{tagName} حذف شد",
"Description": "توضیحات", "Description": "توضیحات",
"Disabled": "غیرفعال", "Disabled": "غیرفعال",
"Discover a modelfile": "Discover a modelfile", "Discover a modelfile": "فایل مدل را کشف کنید",
"Discover a prompt": "Discover a prompt", "Discover a prompt": "یک اعلان را کشف کنید",
"Discover, download, and explore custom prompts": "Discover, download, and explore custom prompts", "Discover, download, and explore custom prompts": "درخواست‌های سفارشی را کشف، دانلود و کاوش کنید",
"Discover, download, and explore model presets": "Discover, download, and explore model presets", "Discover, download, and explore model presets": "پیش تنظیمات مدل را کشف، دانلود و کاوش کنید",
"Document": "سند", "Document": "سند",
"Documents": "اسناد", "Documents": "اسناد",
"Document Settings": "تنظیمات سند", "Document Settings": "تنظیمات سند",
"Don't Allow": "Don't Allow", "Don't Allow": "اجازه نده",
"Download as a File": "دانلود به صورت فایل", "Download as a File": "دانلود به صورت فایل",
"Download Database": "دانلود پایگاه داده", "Download Database": "دانلود پایگاه داده",
"Edit Doc": "ویرایش سند", "Edit Doc": "ویرایش سند",
"Edit User": "ویرایش کاربر", "Edit User": "ویرایش کاربر",
"Email": "Email", "Email": "ایمیل",
"Enabled": "فعال", "Enabled": "فعال",
"Enable New Sign Ups": "Enable New Sign Ups", "Enable New Sign Ups": "Enable New Sign Ups",
"Experimental": "Experimental", "Experimental": "Experimental",
@ -105,6 +105,7 @@
"Import Modelfiles": "Import Modelfiles", "Import Modelfiles": "Import Modelfiles",
"Import Prompts": "Import Prompts", "Import Prompts": "Import Prompts",
"Interface": "رابط", "Interface": "رابط",
"{{item}} not provided": "{{item}} not provided",
"join our Discord for help.": "برای کمک به Discord ما بپیوندید.", "join our Discord for help.": "برای کمک به Discord ما بپیوندید.",
"JSON": "JSON", "JSON": "JSON",
"JWT Expiration": "JWT Expiration", "JWT Expiration": "JWT Expiration",
@ -118,19 +119,24 @@
"LiteLLM API Key": "LiteLLM API Key", "LiteLLM API Key": "LiteLLM API Key",
"LiteLLM API RPM": "LiteLLM API RPM", "LiteLLM API RPM": "LiteLLM API RPM",
"LLMs can make mistakes. Verify important information.": "مدل‌های زبانی بزرگ می‌توانند اشتباه کنند. اطلاعات مهم را راستی‌آزمایی کنید.", "LLMs can make mistakes. Verify important information.": "مدل‌های زبانی بزرگ می‌توانند اشتباه کنند. اطلاعات مهم را راستی‌آزمایی کنید.",
"Made by OpenWebUI Community": "Made by OpenWebUI Community", "Made by OpenWebUI Community": "ساخته شده توسط OpenWebUI Community",
"Manage LiteLLM Models": "Manage LiteLLM Models", "Manage LiteLLM Models": "Manage LiteLLM Models",
"Max Tokens": "Max Tokens", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "حداکثر 3 مدل را می توان به طور همزمان دانلود کرد. لطفاً بعداً دوباره امتحان کنید.",
"Max Tokens": "حداکثر توکن",
"Mirostat Eta": "Mirostat Eta", "Mirostat Eta": "Mirostat Eta",
"Mirostat": "Mirostat", "Mirostat": "Mirostat",
"Mirostat Tau": "Mirostat Tau", "Mirostat Tau": "Mirostat Tau",
"Model '${modelName}' has been successfully downloaded.`": "Model '${modelName}' has been successfully downloaded.`", "Model '{{modelName}}' has been successfully downloaded.`": "Model '{{modelName}}' has been successfully downloaded.`",
"Modelfile Advanced Settings": "Modelfile Advanced Settings", "Modelfile Advanced Settings": "تنظیمات پیشرفته فایل‌مدل",
"Modelfile Content": "Modelfile Content", "Modelfile Content": "محتویات فایل‌مدل",
"Modelfile": "فایل مدل", "Modelfile": "فایل مدل",
"Modelfiles": "فایل‌های مدل", "Modelfiles": "فایل‌های مدل",
"Model {{modelId}} not found": "Model {{modelId}} not found",
"Model {{modelName}} already exists.": "Model {{modelName}} already exists.",
"Model '{{modelTag}}' is already in queue for downloading.": "Model '{{modelTag}}' is already in queue for downloading.",
"{{modelName}} is thinking...": "{{modelName}} در حال فکر کردن است...", "{{modelName}} is thinking...": "{{modelName}} در حال فکر کردن است...",
"Model Name": "نام مدل", "Model Name": "نام مدل",
"Model not selected": "Model not selected",
"Models": "مدل‌ها", "Models": "مدل‌ها",
"Model Tag Name": "Model Tag Name", "Model Tag Name": "Model Tag Name",
"My Documents": "اسناد من", "My Documents": "اسناد من",
@ -138,22 +144,25 @@
"My Prompts": "درخواست‌های من", "My Prompts": "درخواست‌های من",
"Name": "نام", "Name": "نام",
"Name Tag": "Name Tag", "Name Tag": "Name Tag",
"New Chat": "چت جدید", "New Chat": "گپ جدید",
"New Password": "رمز عبور جدید", "New Password": "رمز عبور جدید",
"Notification": "اعلان", "Notification": "اعلان",
"Not sure what to write? Switch to": "Not sure what to write? Switch to", "Not sure what to write? Switch to": "مطمئن نیستید چه بنویسید؟ تغییر به",
"Off": "خاموش", "Off": "خاموش",
"Okay, Let's Go!": "Okay, Let's Go!", "Okay, Let's Go!": "Okay, Let's Go!",
"Ollama API URL": "Ollama API URL", "Ollama API URL": "Ollama API URL",
"Ollama Version": "نسخه Ollama", "Ollama Version": "نسخه Ollama",
"Only alphanumeric characters and hyphens are allowed in the command string.": "فقط کاراکترهای الفبایی و خط فاصله در رشته فرمان مجاز هستند.",
"On": "روشن", "On": "روشن",
"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.": "اوه! فایل های شما هنوز در فر پردازش هستند. ما آنها را کامل می پزیم. لطفا صبور باشید، به محض آماده شدن به شما اطلاع خواهیم داد.",
"OpenAI API": "OpenAI API", "OpenAI API": "OpenAI API",
"Open AI": "Open AI", "Open AI": "Open AI",
"Open new chat": "Open new chat", "Open new chat": "باز کردن گپ جدید",
"or": "روشن", "or": "روشن",
"Parameters": "پارامترها", "Parameters": "پارامترها",
"Password": "رمز عبور", "Password": "رمز عبور",
"Pending": "Pending", "Pending": "Pending",
"Permission denied when accessing microphone: {{error}}": "Permission denied when accessing microphone: {{error}}",
"Profile": "پروفایل", "Profile": "پروفایل",
"Prompt Content": "محتویات درخواست", "Prompt Content": "محتویات درخواست",
"Prompts": "درخواست‌ها", "Prompts": "درخواست‌ها",
@ -195,9 +204,10 @@
"Set Title Auto-Generation Model": "Set Title Auto-Generation Model", "Set Title Auto-Generation Model": "Set Title Auto-Generation Model",
"Set Voice": "Set Voice", "Set Voice": "Set Voice",
"Share to OpenWebUI Community": "Share to OpenWebUI Community", "Share to OpenWebUI Community": "Share to OpenWebUI Community",
"Show shortcuts": "Show shortcuts", "Show shortcuts": "نمایش میانبرها",
"Sign Out": "خروج", "Sign Out": "خروج",
"SpeechRecognition API is not supported in this browser.": "SpeechRecognition API is not supported in this browser.", "SpeechRecognition API is not supported in this browser.": "SpeechRecognition API is not supported in this browser.",
"Speech recognition error: {{error}}": "Speech recognition error: {{error}}",
"Speech-to-Text Engine": "Speech-to-Text Engine", "Speech-to-Text Engine": "Speech-to-Text Engine",
"Stop Sequence": "Stop Sequence", "Stop Sequence": "Stop Sequence",
"STT Settings": "STT Settings", "STT Settings": "STT Settings",
@ -212,28 +222,28 @@
"Text-to-Speech Engine": "Text-to-Speech Engine", "Text-to-Speech Engine": "Text-to-Speech Engine",
"Tfs Z": "Tfs Z", "Tfs Z": "Tfs Z",
"Theme": "قالب", "Theme": "قالب",
"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "This ensures that your valuable conversations are securely saved to your backend database. Thank you!", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "این تضمین می کند که مکالمات ارزشمند شما به طور ایمن در پایگاه داده بکند ذخیره می شود. تشکر!",
"Title Auto-Generation": "Title Auto-Generation", "Title Auto-Generation": "تولید خودکار عنوان",
"Title Generation Prompt": "Title Generation Prompt", "Title Generation Prompt": "درخواست تولید عنوان",
"Title": "عنوان", "Title": "عنوان",
"To access the available model names for downloading,": "To access the available model names for downloading,", "To access the available model names for downloading,": "برای دسترسی به نام مدل های موجود برای دانلود،",
"Toggle settings": "Toggle settings", "Toggle settings": "Toggle settings",
"Toggle sidebar": "Toggle sidebar", "Toggle sidebar": "Toggle sidebar",
"Top K": "Top K", "Top K": "Top K",
"Top P": "Top P", "Top P": "Top P",
"TTS Settings": "TTS Settings", "TTS Settings": "تنظیمات TTS",
"Uh-oh! There was an issue connecting to llama.": "Uh-oh! There was an issue connecting to llama.", "Uh-oh! There was an issue connecting to {{provider}}.": "اوه اوه! مشکلی در اتصال به {{provider}} وجود داشت.",
"Upload a GGUF model": "Upload a GGUF model", "Upload a GGUF model": "بارگذاری یک مدل GGUF",
"Upload files": "Upload files", "Upload files": "بارگذاری فایل‌ها",
"Upload Progress": "Upload Progress", "Upload Progress": "میزان پیشرفت بارگذاری",
"URL Mode": "URL Mode", "URL Mode": "URL Mode",
"User Permissions": "User Permissions", "User Permissions": "مجوزهای کاربر",
"Users": "کاربران", "Users": "کاربران",
"User": "کاربر", "User": "کاربر",
"WebUI Add-ons": "WebUI Add-ons", "WebUI Add-ons": "WebUI Add-ons",
"{{webui_name}} Backend Required": "{{webui_name}} Backend Required", "{{webui_name}} Backend Required": "{{webui_name}} Backend Required",
"WebUI Settings": "WebUI Settings", "WebUI Settings": "تنظیمات WebUI",
"Web": "Web", "Web": "وب",
"Whisper (Local)": "Whisper (Local)", "Whisper (Local)": "Whisper (Local)",
"You're now logged in.": "شما اکنون وارد شده‌اید." "You're now logged in.": "شما اکنون وارد شده‌اید."
} }

View file

@ -241,7 +241,7 @@
location.href = '/'; location.href = '/';
}} }}
> >
Check Again {$i18n.t('Check Again')}
</button> </button>
<button <button

View file

@ -156,7 +156,7 @@
); );
if (selectedModels.includes('')) { if (selectedModels.includes('')) {
toast.error('Model not selected'); toast.error($i18n.t('Model not selected'));
} else if (messages.length != 0 && messages.at(-1).done != true) { } else if (messages.length != 0 && messages.at(-1).done != true) {
// Response not done // Response not done
console.log('wait'); console.log('wait');
@ -166,7 +166,7 @@
) { ) {
// Upload not done // Upload not done
toast.error( toast.error(
`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.` $i18n.t(`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.`)
); );
} else { } else {
// Reset chat message textarea height // Reset chat message textarea height
@ -317,7 +317,7 @@
await sendPromptOllama(model, prompt, responseMessageId, _chatId); await sendPromptOllama(model, prompt, responseMessageId, _chatId);
} }
} else { } else {
toast.error(`Model ${modelId} not found`); toast.error($i18n.t(`Model {{modelId}} not found`, { modelId }));
} }
}) })
); );
@ -511,12 +511,12 @@
responseMessage.content = error.error; responseMessage.content = error.error;
} }
} else { } else {
toast.error(`Uh-oh! There was an issue connecting to Ollama.`); toast.error($i18n.t(`Uh-oh! There was an issue connecting to {{provider}}.`, {provider: 'Ollama'}));
responseMessage.content = `Uh-oh! There was an issue connecting to Ollama.`; responseMessage.content = $i18n.t(`Uh-oh! There was an issue connecting to {{provider}}.`, {provider: 'Ollama'});
} }
responseMessage.error = true; responseMessage.error = true;
responseMessage.content = `Uh-oh! There was an issue connecting to Ollama.`; responseMessage.content = $i18n.t(`Uh-oh! There was an issue connecting to {{provider}}.`, {provider: 'Ollama'});
responseMessage.done = true; responseMessage.done = true;
messages = messages; messages = messages;
} }
@ -678,12 +678,12 @@
} }
} }
} else { } else {
toast.error(`Uh-oh! There was an issue connecting to ${model}.`); toast.error($i18n.t(`Uh-oh! There was an issue connecting to {{provider}}.`, {provider: model}));
responseMessage.content = `Uh-oh! There was an issue connecting to ${model}.`; responseMessage.content = $i18n.t(`Uh-oh! There was an issue connecting to {{provider}}.`, {provider: model}});
} }
responseMessage.error = true; responseMessage.error = true;
responseMessage.content = `Uh-oh! There was an issue connecting to ${model}.`; responseMessage.content = $i18n.t(`Uh-oh! There was an issue connecting to {{provider}}.`, {provider: model});
responseMessage.done = true; responseMessage.done = true;
messages = messages; messages = messages;
} }
@ -747,7 +747,7 @@
); );
} }
} else { } else {
toast.error(`Model ${modelId} not found`); toast.error($i18n.t(`Model {{modelId}} not found`, { modelId }));
} }
}; };

View file

@ -2,7 +2,7 @@
import { v4 as uuidv4 } from 'uuid'; import { v4 as uuidv4 } from 'uuid';
import { toast } from 'svelte-sonner'; import { toast } from 'svelte-sonner';
import { onMount, tick } from 'svelte'; import { onMount, tick, getContext } from 'svelte';
import { goto } from '$app/navigation'; import { goto } from '$app/navigation';
import { page } from '$app/stores'; import { page } from '$app/stores';
@ -40,6 +40,8 @@
import { RAGTemplate } from '$lib/utils/rag'; import { RAGTemplate } from '$lib/utils/rag';
import { LITELLM_API_BASE_URL, OPENAI_API_BASE_URL, WEBUI_BASE_URL } from '$lib/constants'; import { LITELLM_API_BASE_URL, OPENAI_API_BASE_URL, WEBUI_BASE_URL } from '$lib/constants';
const i18n = getContext('i18n');
let loaded = false; let loaded = false;
let stopResponseFlag = false; let stopResponseFlag = false;
@ -172,7 +174,7 @@
console.log('submitPrompt', $chatId); console.log('submitPrompt', $chatId);
if (selectedModels.includes('')) { if (selectedModels.includes('')) {
toast.error('Model not selected'); toast.error($i18n.t('Model not selected'));
} else if (messages.length != 0 && messages.at(-1).done != true) { } else if (messages.length != 0 && messages.at(-1).done != true) {
// Response not done // Response not done
console.log('wait'); console.log('wait');
@ -330,7 +332,7 @@
await sendPromptOllama(model, prompt, responseMessageId, _chatId); await sendPromptOllama(model, prompt, responseMessageId, _chatId);
} }
} else { } else {
toast.error(`Model ${modelId} not found`); toast.error($i18n.t(`Model {{modelId}} not found`, { modelId }));
} }
}) })
); );
@ -524,12 +526,18 @@
responseMessage.content = error.error; responseMessage.content = error.error;
} }
} else { } else {
toast.error(`Uh-oh! There was an issue connecting to Ollama.`); toast.error(
responseMessage.content = `Uh-oh! There was an issue connecting to Ollama.`; $i18n.t(`Uh-oh! There was an issue connecting to {{provider}}.`, { provider: 'Ollama' })
);
responseMessage.content = $i18n.t(`Uh-oh! There was an issue connecting to {{provider}}.`, {
provider: 'Ollama'
});
} }
responseMessage.error = true; responseMessage.error = true;
responseMessage.content = `Uh-oh! There was an issue connecting to Ollama.`; responseMessage.content = $i18n.t(`Uh-oh! There was an issue connecting to {{provider}}.`, {
provider: 'Ollama'
});
responseMessage.done = true; responseMessage.done = true;
messages = messages; messages = messages;
} }
@ -691,12 +699,18 @@
} }
} }
} else { } else {
toast.error(`Uh-oh! There was an issue connecting to ${model}.`); toast.error(
responseMessage.content = `Uh-oh! There was an issue connecting to ${model}.`; $i18n.t(`Uh-oh! There was an issue connecting to {{provider}}.`, { provider: model })
);
responseMessage.content = $i18n.t(`Uh-oh! There was an issue connecting to {{provider}}.`, {
provider: model
});
} }
responseMessage.error = true; responseMessage.error = true;
responseMessage.content = `Uh-oh! There was an issue connecting to ${model}.`; responseMessage.content = $i18n.t(`Uh-oh! There was an issue connecting to {{provider}}.`, {
provider: model
});
responseMessage.done = true; responseMessage.done = true;
messages = messages; messages = messages;
} }
@ -746,7 +760,7 @@
); );
} }
} else { } else {
toast.error(`Model ${modelId} not found`); toast.error($i18n.t(`Model {{modelId}} not found`, { modelId }));
} }
}; };

View file

@ -123,7 +123,7 @@
} }
} }
} else { } else {
toast.error(`File not found.`); toast.error($i18n.t(`File not found.`));
} }
} }

View file

@ -38,7 +38,9 @@
await goto('/prompts'); await goto('/prompts');
} }
} else { } else {
toast.error('Only alphanumeric characters and hyphens are allowed in the command string.'); toast.error(
$i18n.t('Only alphanumeric characters and hyphens are allowed in the command string.')
);
} }
loading = false; loading = false;

View file

@ -36,7 +36,9 @@
await goto('/prompts'); await goto('/prompts');
} }
} else { } else {
toast.error('Only alphanumeric characters and hyphens are allowed in the command string.'); toast.error(
$i18n.t('Only alphanumeric characters and hyphens are allowed in the command string.')
);
} }
loading = false; loading = false;