Quellcode durchsuchen

Merge remote-tracking branch 'upstream/dev' into feat/model-config

Jun Siang Cheah vor 11 Monaten
Ursprung
Commit
715a4a6c27
49 geänderte Dateien mit 803 neuen und 373 gelöschten Zeilen
  1. 5 3
      src/lib/components/chat/MessageInput.svelte
  2. 39 5
      src/lib/components/chat/Messages.svelte
  3. 2 2
      src/lib/components/chat/Messages/CodeBlock.svelte
  4. 159 0
      src/lib/components/chat/Messages/CompareMessages.svelte
  5. 6 4
      src/lib/components/chat/Messages/ResponseMessage.svelte
  6. 1 1
      src/lib/components/chat/Messages/UserMessage.svelte
  7. 1 1
      src/lib/components/chat/Settings/Account.svelte
  8. 18 3
      src/lib/components/chat/Settings/Personalization.svelte
  9. 105 0
      src/lib/components/chat/Settings/Personalization/AddMemoryModal.svelte
  10. 43 80
      src/lib/components/chat/Settings/Personalization/ManageModal.svelte
  11. 1 1
      src/lib/components/common/Modal.svelte
  12. 6 2
      src/lib/i18n/locales/ar-BH/translation.json
  13. 6 2
      src/lib/i18n/locales/bg-BG/translation.json
  14. 6 2
      src/lib/i18n/locales/bn-BD/translation.json
  15. 6 2
      src/lib/i18n/locales/ca-ES/translation.json
  16. 6 2
      src/lib/i18n/locales/de-DE/translation.json
  17. 6 2
      src/lib/i18n/locales/dg-DG/translation.json
  18. 6 2
      src/lib/i18n/locales/en-GB/translation.json
  19. 6 2
      src/lib/i18n/locales/en-US/translation.json
  20. 6 2
      src/lib/i18n/locales/es-ES/translation.json
  21. 6 2
      src/lib/i18n/locales/fa-IR/translation.json
  22. 6 2
      src/lib/i18n/locales/fi-FI/translation.json
  23. 6 2
      src/lib/i18n/locales/fr-CA/translation.json
  24. 6 2
      src/lib/i18n/locales/fr-FR/translation.json
  25. 6 2
      src/lib/i18n/locales/he-IL/translation.json
  26. 6 2
      src/lib/i18n/locales/hi-IN/translation.json
  27. 6 2
      src/lib/i18n/locales/hr-HR/translation.json
  28. 6 2
      src/lib/i18n/locales/it-IT/translation.json
  29. 6 2
      src/lib/i18n/locales/ja-JP/translation.json
  30. 6 2
      src/lib/i18n/locales/ka-GE/translation.json
  31. 6 2
      src/lib/i18n/locales/ko-KR/translation.json
  32. 6 2
      src/lib/i18n/locales/nl-NL/translation.json
  33. 6 2
      src/lib/i18n/locales/pa-IN/translation.json
  34. 6 2
      src/lib/i18n/locales/pl-PL/translation.json
  35. 6 2
      src/lib/i18n/locales/pt-BR/translation.json
  36. 6 2
      src/lib/i18n/locales/pt-PT/translation.json
  37. 6 2
      src/lib/i18n/locales/ru-RU/translation.json
  38. 16 12
      src/lib/i18n/locales/sr-RS/translation.json
  39. 6 2
      src/lib/i18n/locales/sv-SE/translation.json
  40. 6 2
      src/lib/i18n/locales/tr-TR/translation.json
  41. 6 2
      src/lib/i18n/locales/uk-UA/translation.json
  42. 90 86
      src/lib/i18n/locales/vi-VN/translation.json
  43. 6 2
      src/lib/i18n/locales/zh-CN/translation.json
  44. 6 2
      src/lib/i18n/locales/zh-TW/translation.json
  45. 5 1
      src/lib/workers/pyodide.worker.ts
  46. 61 55
      src/routes/(app)/+page.svelte
  47. 63 55
      src/routes/(app)/c/[id]/+page.svelte
  48. 1 1
      src/routes/(app)/workspace/modelfiles/create/+page.svelte
  49. 1 1
      src/routes/(app)/workspace/modelfiles/edit/+page.svelte

+ 5 - 3
src/lib/components/chat/MessageInput.svelte

@@ -403,7 +403,7 @@
 				if (inputFiles && inputFiles.length > 0) {
 				if (inputFiles && inputFiles.length > 0) {
 					inputFiles.forEach((file) => {
 					inputFiles.forEach((file) => {
 						console.log(file, file.name.split('.').at(-1));
 						console.log(file, file.name.split('.').at(-1));
-						if (['image/gif', 'image/jpeg', 'image/png'].includes(file['type'])) {
+						if (['image/gif', 'image/webp', 'image/jpeg', 'image/png'].includes(file['type'])) {
 							if (visionCapableState == 'none') {
 							if (visionCapableState == 'none') {
 								toast.error($i18n.t('Selected models do not support image inputs'));
 								toast.error($i18n.t('Selected models do not support image inputs'));
 								return;
 								return;
@@ -599,7 +599,9 @@
 							if (inputFiles && inputFiles.length > 0) {
 							if (inputFiles && inputFiles.length > 0) {
 								const _inputFiles = Array.from(inputFiles);
 								const _inputFiles = Array.from(inputFiles);
 								_inputFiles.forEach((file) => {
 								_inputFiles.forEach((file) => {
-									if (['image/gif', 'image/jpeg', 'image/png'].includes(file['type'])) {
+									if (
+										['image/gif', 'image/webp', 'image/jpeg', 'image/png'].includes(file['type'])
+									) {
 										if (visionCapableState === 'none') {
 										if (visionCapableState === 'none') {
 											toast.error($i18n.t('Selected models do not support image inputs'));
 											toast.error($i18n.t('Selected models do not support image inputs'));
 											inputFiles = null;
 											inputFiles = null;
@@ -1079,7 +1081,7 @@
 											id="send-message-button"
 											id="send-message-button"
 											class="{prompt !== ''
 											class="{prompt !== ''
 												? 'bg-black text-white hover:bg-gray-900 dark:bg-white dark:text-black dark:hover:bg-gray-100 '
 												? 'bg-black text-white hover:bg-gray-900 dark:bg-white dark:text-black dark:hover:bg-gray-100 '
-												: 'text-white bg-gray-100 dark:text-gray-900 dark:bg-gray-800 disabled'} transition rounded-full p-1.5 self-center"
+												: 'text-white bg-gray-200 dark:text-gray-900 dark:bg-gray-700 disabled'} transition rounded-full p-1.5 self-center"
 											type="submit"
 											type="submit"
 											disabled={prompt === ''}
 											disabled={prompt === ''}
 										>
 										>

+ 39 - 5
src/lib/components/chat/Messages.svelte

@@ -1,7 +1,7 @@
 <script lang="ts">
 <script lang="ts">
 	import { v4 as uuidv4 } from 'uuid';
 	import { v4 as uuidv4 } from 'uuid';
 
 
-	import { chats, config, modelfiles, settings, user as _user } from '$lib/stores';
+	import { chats, config, modelfiles, settings, user as _user, mobile } from '$lib/stores';
 	import { tick, getContext } from 'svelte';
 	import { tick, getContext } from 'svelte';
 
 
 	import { toast } from 'svelte-sonner';
 	import { toast } from 'svelte-sonner';
@@ -13,6 +13,8 @@
 	import Spinner from '../common/Spinner.svelte';
 	import Spinner from '../common/Spinner.svelte';
 	import { imageGenerations } from '$lib/apis/images';
 	import { imageGenerations } from '$lib/apis/images';
 	import { copyToClipboard, findWordIndices } from '$lib/utils';
 	import { copyToClipboard, findWordIndices } from '$lib/utils';
+	import CompareMessages from './Messages/CompareMessages.svelte';
+	import { stringify } from 'postcss';
 
 
 	const i18n = getContext('i18n');
 	const i18n = getContext('i18n');
 
 
@@ -28,10 +30,10 @@
 	export let processing = '';
 	export let processing = '';
 	export let bottomPadding = false;
 	export let bottomPadding = false;
 	export let autoScroll;
 	export let autoScroll;
-	export let selectedModels;
 	export let history = {};
 	export let history = {};
 	export let messages = [];
 	export let messages = [];
 
 
+	export let selectedModels;
 	export let selectedModelfiles = [];
 	export let selectedModelfiles = [];
 
 
 	$: if (autoScroll && bottomPadding) {
 	$: if (autoScroll && bottomPadding) {
@@ -63,7 +65,8 @@
 			childrenIds: [],
 			childrenIds: [],
 			role: 'user',
 			role: 'user',
 			content: userPrompt,
 			content: userPrompt,
-			...(history.messages[messageId].files && { files: history.messages[messageId].files })
+			...(history.messages[messageId].files && { files: history.messages[messageId].files }),
+			models: selectedModels.filter((m, mIdx) => selectedModels.indexOf(m) === mIdx)
 		};
 		};
 
 
 		let messageParentId = history.messages[messageId].parentId;
 		let messageParentId = history.messages[messageId].parentId;
@@ -79,7 +82,7 @@
 		history.currentId = userMessageId;
 		history.currentId = userMessageId;
 
 
 		await tick();
 		await tick();
-		await sendPrompt(userPrompt, userMessageId, chatId);
+		await sendPrompt(userPrompt, userMessageId);
 	};
 	};
 
 
 	const updateChatMessages = async () => {
 	const updateChatMessages = async () => {
@@ -309,7 +312,7 @@
 									{showNextMessage}
 									{showNextMessage}
 									copyToClipboard={copyToClipboardWithToast}
 									copyToClipboard={copyToClipboardWithToast}
 								/>
 								/>
-							{:else}
+							{:else if $mobile || (history.messages[message.parentId]?.models?.length ?? 1) === 1}
 								{#key message.id}
 								{#key message.id}
 									<ResponseMessage
 									<ResponseMessage
 										{message}
 										{message}
@@ -337,6 +340,37 @@
 										}}
 										}}
 									/>
 									/>
 								{/key}
 								{/key}
+							{:else}
+								{#key message.parentId}
+									<CompareMessages
+										bind:history
+										{messages}
+										{chatId}
+										parentMessage={history.messages[message.parentId]}
+										{messageIdx}
+										{selectedModelfiles}
+										{updateChatMessages}
+										{confirmEditResponseMessage}
+										{rateMessage}
+										copyToClipboard={copyToClipboardWithToast}
+										{continueGeneration}
+										{regenerateResponse}
+										on:change={async () => {
+											await updateChatById(localStorage.token, chatId, {
+												messages: messages,
+												history: history
+											});
+
+											const element = document.getElementById('messages-container');
+											autoScroll =
+												element.scrollHeight - element.scrollTop <= element.clientHeight + 50;
+
+											setTimeout(() => {
+												scrollToBottom();
+											}, 100);
+										}}
+									/>
+								{/key}
 							{/if}
 							{/if}
 						</div>
 						</div>
 					</div>
 					</div>

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

@@ -5,7 +5,7 @@
 	import 'highlight.js/styles/github-dark.min.css';
 	import 'highlight.js/styles/github-dark.min.css';
 	import { loadPyodide } from 'pyodide';
 	import { loadPyodide } from 'pyodide';
 	import { tick } from 'svelte';
 	import { tick } from 'svelte';
-	import PyodideWorker from '../../../workers/pyodide.worker?worker';
+	import PyodideWorker from '$lib/workers/pyodide.worker?worker';
 
 
 	export let id = '';
 	export let id = '';
 
 
@@ -286,7 +286,7 @@ __builtins__.input = input`);
 			<div class="p-1">{@html lang}</div>
 			<div class="p-1">{@html lang}</div>
 
 
 			<div class="flex items-center">
 			<div class="flex items-center">
-				{#if lang === 'python' || checkPythonCode(code)}
+				{#if ['', 'python'].includes(lang) && (lang === 'python' || checkPythonCode(code))}
 					{#if executing}
 					{#if executing}
 						<div class="copy-code-button bg-none border-none p-1 cursor-not-allowed">Running</div>
 						<div class="copy-code-button bg-none border-none p-1 cursor-not-allowed">Running</div>
 					{:else}
 					{:else}

+ 159 - 0
src/lib/components/chat/Messages/CompareMessages.svelte

@@ -0,0 +1,159 @@
+<script lang="ts">
+	import { createEventDispatcher } from 'svelte';
+
+	import { updateChatById } from '$lib/apis/chats';
+	import { onMount, tick } from 'svelte';
+	import ResponseMessage from './ResponseMessage.svelte';
+
+	export let chatId;
+
+	export let history;
+	export let messages = [];
+	export let messageIdx;
+
+	export let parentMessage;
+
+	export let selectedModelfiles;
+
+	export let updateChatMessages: Function;
+	export let confirmEditResponseMessage: Function;
+	export let rateMessage: Function;
+
+	export let copyToClipboard: Function;
+	export let continueGeneration: Function;
+	export let regenerateResponse: Function;
+
+	const dispatch = createEventDispatcher();
+
+	let currentMessageId;
+
+	let groupedMessagesIdx = {};
+	let groupedMessages = {};
+
+	$: groupedMessages = parentMessage?.models.reduce((a, model) => {
+		const modelMessages = parentMessage?.childrenIds
+			.map((id) => history.messages[id])
+			.filter((m) => m.model === model);
+
+		return {
+			...a,
+			[model]: { messages: modelMessages }
+		};
+	}, {});
+
+	onMount(async () => {
+		await tick();
+		currentMessageId = messages[messageIdx].id;
+
+		for (const model of parentMessage?.models) {
+			const idx = groupedMessages[model].messages.findIndex((m) => m.id === currentMessageId);
+
+			if (idx !== -1) {
+				groupedMessagesIdx[model] = idx;
+			} else {
+				groupedMessagesIdx[model] = 0;
+			}
+		}
+	});
+</script>
+
+<div>
+	<div
+		class="flex snap-x snap-mandatory overflow-x-auto scrollbar-hidden"
+		id="responses-container-{parentMessage.id}"
+	>
+		{#each Object.keys(groupedMessages) as model}
+			{#if groupedMessagesIdx[model] !== undefined && groupedMessages[model].messages.length > 0}
+				<!-- svelte-ignore a11y-no-static-element-interactions -->
+				<!-- svelte-ignore a11y-click-events-have-key-events -->
+
+				<div
+					class=" snap-center min-w-80 w-full max-w-full m-1 outline outline-1 {history.messages[
+						currentMessageId
+					].model === model
+						? 'outline-gray-200 dark:outline-gray-700 outline-2'
+						: 'outline-gray-100 dark:outline-gray-850 '} transition p-6 rounded-3xl"
+					on:click={() => {
+						currentMessageId = groupedMessages[model].messages[groupedMessagesIdx[model]].id;
+
+						let messageId = groupedMessages[model].messages[groupedMessagesIdx[model]].id;
+
+						console.log(messageId);
+						let messageChildrenIds = history.messages[messageId].childrenIds;
+
+						while (messageChildrenIds.length !== 0) {
+							messageId = messageChildrenIds.at(-1);
+							messageChildrenIds = history.messages[messageId].childrenIds;
+						}
+
+						history.currentId = messageId;
+						dispatch('change');
+					}}
+				>
+					<ResponseMessage
+						message={groupedMessages[model].messages[groupedMessagesIdx[model]]}
+						modelfiles={selectedModelfiles}
+						siblings={groupedMessages[model].messages.map((m) => m.id)}
+						isLastMessage={true}
+						{updateChatMessages}
+						{confirmEditResponseMessage}
+						showPreviousMessage={() => {
+							groupedMessagesIdx[model] = Math.max(0, groupedMessagesIdx[model] - 1);
+							let messageId = groupedMessages[model].messages[groupedMessagesIdx[model]].id;
+
+							console.log(messageId);
+							let messageChildrenIds = history.messages[messageId].childrenIds;
+
+							while (messageChildrenIds.length !== 0) {
+								messageId = messageChildrenIds.at(-1);
+								messageChildrenIds = history.messages[messageId].childrenIds;
+							}
+
+							history.currentId = messageId;
+
+							dispatch('change');
+						}}
+						showNextMessage={() => {
+							groupedMessagesIdx[model] = Math.min(
+								groupedMessages[model].messages.length - 1,
+								groupedMessagesIdx[model] + 1
+							);
+
+							let messageId = groupedMessages[model].messages[groupedMessagesIdx[model]].id;
+							console.log(messageId);
+
+							let messageChildrenIds = history.messages[messageId].childrenIds;
+
+							while (messageChildrenIds.length !== 0) {
+								messageId = messageChildrenIds.at(-1);
+								messageChildrenIds = history.messages[messageId].childrenIds;
+							}
+
+							history.currentId = messageId;
+
+							dispatch('change');
+						}}
+						{rateMessage}
+						{copyToClipboard}
+						{continueGeneration}
+						regenerateResponse={async (message) => {
+							regenerateResponse(message);
+							await tick();
+							groupedMessagesIdx[model] = groupedMessages[model].messages.length - 1;
+						}}
+						on:save={async (e) => {
+							console.log('save', e);
+
+							const message = e.detail;
+							history.messages[message.id] = message;
+							await updateChatById(localStorage.token, chatId, {
+								messages: messages,
+								history: history
+							});
+						}}
+					/>
+				</div>
+			{/if}
+		{/each}
+	</div>
+</div>

+ 6 - 4
src/lib/components/chat/Messages/ResponseMessage.svelte

@@ -69,7 +69,7 @@
 
 
 	let selectedCitation = null;
 	let selectedCitation = null;
 
 
-	$: tokens = marked.lexer(sanitizeResponseContent(message.content));
+	$: tokens = marked.lexer(sanitizeResponseContent(message?.content));
 
 
 	const renderer = new marked.Renderer();
 	const renderer = new marked.Renderer();
 
 
@@ -499,7 +499,7 @@
 									class=" flex justify-start overflow-x-auto buttons text-gray-600 dark:text-gray-500"
 									class=" flex justify-start overflow-x-auto buttons text-gray-600 dark:text-gray-500"
 								>
 								>
 									{#if siblings.length > 1}
 									{#if siblings.length > 1}
-										<div class="flex self-center" dir="ltr">
+										<div class="flex self-center min-w-fit" dir="ltr">
 											<button
 											<button
 												class="self-center p-1 hover:bg-black/5 dark:hover:bg-white/5 dark:hover:text-white hover:text-black rounded-md transition"
 												class="self-center p-1 hover:bg-black/5 dark:hover:bg-white/5 dark:hover:text-white hover:text-black rounded-md transition"
 												on:click={() => {
 												on:click={() => {
@@ -523,7 +523,7 @@
 											</button>
 											</button>
 
 
 											<div
 											<div
-												class="text-sm tracking-widest font-semibold self-center dark:text-gray-100"
+												class="text-sm tracking-widest font-semibold self-center dark:text-gray-100 min-w-fit"
 											>
 											>
 												{siblings.indexOf(message.id) + 1}/{siblings.length}
 												{siblings.indexOf(message.id) + 1}/{siblings.length}
 											</div>
 											</div>
@@ -894,7 +894,9 @@
 													class="{isLastMessage
 													class="{isLastMessage
 														? 'visible'
 														? 'visible'
 														: 'invisible group-hover:visible'} p-1.5 hover:bg-black/5 dark:hover:bg-white/5 rounded-lg dark:hover:text-white hover:text-black transition regenerate-response-button"
 														: 'invisible group-hover:visible'} p-1.5 hover:bg-black/5 dark:hover:bg-white/5 rounded-lg dark:hover:text-white hover:text-black transition regenerate-response-button"
-													on:click={regenerateResponse}
+													on:click={() => {
+														regenerateResponse(message);
+													}}
 												>
 												>
 													<svg
 													<svg
 														xmlns="http://www.w3.org/2000/svg"
 														xmlns="http://www.w3.org/2000/svg"

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

@@ -65,7 +65,7 @@
 				: user?.profile_image_url ?? '/user.png'}
 				: user?.profile_image_url ?? '/user.png'}
 		/>
 		/>
 	{/if}
 	{/if}
-	<div class="w-full overflow-hidden">
+	<div class="w-full overflow-hidden pl-1">
 		{#if !($settings?.chatBubble ?? true)}
 		{#if !($settings?.chatBubble ?? true)}
 			<div>
 			<div>
 				<Name>
 				<Name>

+ 1 - 1
src/lib/components/chat/Settings/Account.svelte

@@ -127,7 +127,7 @@
 
 
 				if (
 				if (
 					files.length > 0 &&
 					files.length > 0 &&
-					['image/gif', 'image/jpeg', 'image/png'].includes(files[0]['type'])
+					['image/gif', 'image/webp', 'image/jpeg', 'image/png'].includes(files[0]['type'])
 				) {
 				) {
 					reader.readAsDataURL(files[0]);
 					reader.readAsDataURL(files[0]);
 				}
 				}

+ 18 - 3
src/lib/components/chat/Settings/Personalization.svelte

@@ -5,12 +5,16 @@
 	import { config, models, settings, user } from '$lib/stores';
 	import { config, models, settings, user } from '$lib/stores';
 	import { createEventDispatcher, onMount, getContext, tick } from 'svelte';
 	import { createEventDispatcher, onMount, getContext, tick } from 'svelte';
 	import { toast } from 'svelte-sonner';
 	import { toast } from 'svelte-sonner';
+	import ManageModal from './Personalization/ManageModal.svelte';
+	import Tooltip from '$lib/components/common/Tooltip.svelte';
 	const dispatch = createEventDispatcher();
 	const dispatch = createEventDispatcher();
 
 
 	const i18n = getContext('i18n');
 	const i18n = getContext('i18n');
 
 
 	export let saveSettings: Function;
 	export let saveSettings: Function;
 
 
+	let showManageModal = false;
+
 	// Addons
 	// Addons
 	let enableMemory = true;
 	let enableMemory = true;
 
 
@@ -20,6 +24,8 @@
 	});
 	});
 </script>
 </script>
 
 
+<ManageModal bind:show={showManageModal} />
+
 <form
 <form
 	class="flex flex-col h-full justify-between space-y-3 text-sm"
 	class="flex flex-col h-full justify-between space-y-3 text-sm"
 	on:submit|preventDefault={() => {
 	on:submit|preventDefault={() => {
@@ -29,9 +35,15 @@
 	<div class="  pr-1.5 overflow-y-scroll max-h-[25rem]">
 	<div class="  pr-1.5 overflow-y-scroll max-h-[25rem]">
 		<div>
 		<div>
 			<div class="flex items-center justify-between mb-1">
 			<div class="flex items-center justify-between mb-1">
-				<div class="text-sm font-medium">
-					{$i18n.t('Memory')} <span class=" text-xs text-gray-500">({$i18n.t('Beta')})</span>
-				</div>
+				<Tooltip
+					content="This is an experimental feature, it may not function as expected and is subject to change at any time."
+				>
+					<div class="text-sm font-medium">
+						{$i18n.t('Memory')}
+
+						<span class=" text-xs text-gray-500">({$i18n.t('Experimental')})</span>
+					</div>
+				</Tooltip>
 
 
 				<div class="mt-1">
 				<div class="mt-1">
 					<Switch
 					<Switch
@@ -64,6 +76,9 @@
 			<button
 			<button
 				type="button"
 				type="button"
 				class=" px-3.5 py-1.5 font-medium hover:bg-black/5 dark:hover:bg-white/5 outline outline-1 outline-gray-300 dark:outline-gray-800 rounded-3xl"
 				class=" px-3.5 py-1.5 font-medium hover:bg-black/5 dark:hover:bg-white/5 outline outline-1 outline-gray-300 dark:outline-gray-800 rounded-3xl"
+				on:click={() => {
+					showManageModal = true;
+				}}
 			>
 			>
 				Manage
 				Manage
 			</button>
 			</button>

+ 105 - 0
src/lib/components/chat/Settings/Personalization/AddMemoryModal.svelte

@@ -0,0 +1,105 @@
+<script>
+	import { getContext } from 'svelte';
+
+	import Modal from '$lib/components/common/Modal.svelte';
+
+	export let show;
+
+	const i18n = getContext('i18n');
+
+	let loading = false;
+	let memory = '';
+
+	const submitHandler = () => {
+		console.log('submitHandler');
+	};
+</script>
+
+<Modal bind:show size="sm">
+	<div>
+		<div class=" flex justify-between dark:text-gray-300 px-5 pt-4 pb-2">
+			<div class=" text-lg font-medium self-center">{$i18n.t('Add Memory')}</div>
+			<button
+				class="self-center"
+				on:click={() => {
+					show = false;
+				}}
+			>
+				<svg
+					xmlns="http://www.w3.org/2000/svg"
+					viewBox="0 0 20 20"
+					fill="currentColor"
+					class="w-5 h-5"
+				>
+					<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 class="flex flex-col md:flex-row w-full px-5 pb-4 md:space-x-4 dark:text-gray-200">
+			<div class=" flex flex-col w-full sm:flex-row sm:justify-center sm:space-x-6">
+				<form
+					class="flex flex-col w-full"
+					on:submit|preventDefault={() => {
+						submitHandler();
+					}}
+				>
+					<div class="">
+						<textarea
+							bind:value={memory}
+							class=" bg-transparent w-full text-sm resize-none rounded-xl p-3 outline outline-1 outline-gray-100 dark:outline-gray-800"
+							rows="3"
+							placeholder={$i18n.t('Enter a detail about yourself for your LLMs to recall')}
+						/>
+
+						<div class="text-xs text-gray-500">
+							ⓘ Refer to yourself as "User" (e.g., "User is learning Spanish")
+						</div>
+					</div>
+
+					<div class="flex justify-end pt-1 text-sm font-medium">
+						<button
+							class=" px-4 py-2 bg-emerald-700 hover:bg-emerald-800 text-gray-100 transition rounded-3xl flex flex-row space-x-1 items-center {loading
+								? ' cursor-not-allowed'
+								: ''}"
+							type="submit"
+							disabled={loading}
+						>
+							{$i18n.t('Add')}
+
+							{#if loading}
+								<div class="ml-2 self-center">
+									<svg
+										class=" w-4 h-4"
+										viewBox="0 0 24 24"
+										fill="currentColor"
+										xmlns="http://www.w3.org/2000/svg"
+										><style>
+											.spinner_ajPY {
+												transform-origin: center;
+												animation: spinner_AtaB 0.75s infinite linear;
+											}
+											@keyframes spinner_AtaB {
+												100% {
+													transform: rotate(360deg);
+												}
+											}
+										</style><path
+											d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z"
+											opacity=".25"
+										/><path
+											d="M10.14,1.16a11,11,0,0,0-9,8.92A1.59,1.59,0,0,0,2.46,12,1.52,1.52,0,0,0,4.11,10.7a8,8,0,0,1,6.66-6.61A1.42,1.42,0,0,0,12,2.69h0A1.57,1.57,0,0,0,10.14,1.16Z"
+											class="spinner_ajPY"
+										/></svg
+									>
+								</div>
+							{/if}
+						</button>
+					</div>
+				</form>
+			</div>
+		</div>
+	</div>
+</Modal>

+ 43 - 80
src/lib/components/chat/Settings/Personalization/ManageModal.svelte

@@ -6,7 +6,7 @@
 	const dispatch = createEventDispatcher();
 	const dispatch = createEventDispatcher();
 
 
 	import Modal from '$lib/components/common/Modal.svelte';
 	import Modal from '$lib/components/common/Modal.svelte';
-	import Tooltip from '$lib/components/common/Tooltip.svelte';
+	import AddMemoryModal from './AddMemoryModal.svelte';
 
 
 	const i18n = getContext('i18n');
 	const i18n = getContext('i18n');
 
 
@@ -14,6 +14,8 @@
 
 
 	let memories = [];
 	let memories = [];
 
 
+	let showAddMemoryModal = false;
+
 	$: if (show) {
 	$: if (show) {
 		(async () => {
 		(async () => {
 			// chats = await getArchivedChatList(localStorage.token);
 			// chats = await getArchivedChatList(localStorage.token);
@@ -21,7 +23,7 @@
 	}
 	}
 </script>
 </script>
 
 
-<Modal size="lg" bind:show>
+<Modal size="xl" bind:show>
 	<div>
 	<div>
 		<div class=" flex justify-between dark:text-gray-300 px-5 pt-4 pb-1">
 		<div class=" flex justify-between dark:text-gray-300 px-5 pt-4 pb-1">
 			<div class=" text-lg font-medium self-center">{$i18n.t('Memory')}</div>
 			<div class=" text-lg font-medium self-center">{$i18n.t('Memory')}</div>
@@ -44,9 +46,11 @@
 			</button>
 			</button>
 		</div>
 		</div>
 
 
-		<div class="flex flex-col md:flex-row w-full px-5 pb-4 md:space-x-4 dark:text-gray-200">
-			<div class=" flex flex-col w-full sm:flex-row sm:justify-center sm:space-x-6">
-				{#if chats.length > 0}
+		<div class="flex flex-col w-full px-5 pb-5 dark:text-gray-200">
+			<div
+				class=" flex flex-col w-full sm:flex-row sm:justify-center sm:space-x-6 h-[28rem] max-h-screen outline outline-1 rounded-xl outline-gray-100 dark:outline-gray-800 mb-4 mt-1"
+			>
+				{#if memories.length > 0}
 					<div class="text-left text-sm w-full mb-4 max-h-[22rem] overflow-y-scroll">
 					<div class="text-left text-sm w-full mb-4 max-h-[22rem] overflow-y-scroll">
 						<div class="relative overflow-x-auto">
 						<div class="relative overflow-x-auto">
 							<table class="w-full text-sm text-left text-gray-600 dark:text-gray-400 table-auto">
 							<table class="w-full text-sm text-left text-gray-600 dark:text-gray-400 table-auto">
@@ -60,93 +64,52 @@
 									</tr>
 									</tr>
 								</thead>
 								</thead>
 								<tbody>
 								<tbody>
-									{#each chats as chat, idx}
-										<tr
-											class="bg-transparent {idx !== chats.length - 1 &&
-												'border-b'} dark:bg-gray-900 dark:border-gray-850 text-xs"
-										>
-											<td class="px-3 py-1 w-2/3">
-												<a href="/c/{chat.id}" target="_blank">
-													<div class=" underline line-clamp-1">
-														{chat.title}
-													</div>
-												</a>
+									{#each memories as memory}
+										<tr class="border-b dark:border-gray-800">
+											<td class="px-3 py-2"> {memory.name} </td>
+											<td class="px-3 py-2 hidden md:flex">
+												{dayjs(memory.created_at).format($i18n.t('MMMM DD, YYYY'))}
 											</td>
 											</td>
-
-											<td class=" px-3 py-1 hidden md:flex h-[2.5rem]">
-												<div class="my-auto">
-													{dayjs(chat.created_at * 1000).format($i18n.t('MMMM DD, YYYY HH:mm'))}
-												</div>
-											</td>
-
-											<td class="px-3 py-1 text-right">
-												<div class="flex justify-end w-full">
-													<Tooltip content="Unarchive Chat">
-														<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 () => {
-																unarchiveChatHandler(chat.id);
-															}}
-														>
-															<svg
-																xmlns="http://www.w3.org/2000/svg"
-																fill="none"
-																viewBox="0 0 24 24"
-																stroke-width="1.5"
-																stroke="currentColor"
-																class="size-4"
-															>
-																<path
-																	stroke-linecap="round"
-																	stroke-linejoin="round"
-																	d="M9 8.25H7.5a2.25 2.25 0 0 0-2.25 2.25v9a2.25 2.25 0 0 0 2.25 2.25h9a2.25 2.25 0 0 0 2.25-2.25v-9a2.25 2.25 0 0 0-2.25-2.25H15m0-3-3-3m0 0-3 3m3-3V15"
-																/>
-															</svg>
-														</button>
-													</Tooltip>
-
-													<Tooltip content="Delete Chat">
-														<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 () => {
-																deleteChatHandler(chat.id);
-															}}
-														>
-															<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="m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0"
-																/>
-															</svg>
-														</button>
-													</Tooltip>
-												</div>
+											<td class="px-3 py-2 text-right">
+												<button
+													class="text-xs text-gray-500 dark:text-gray-400"
+													on:click={() => {
+														// showMemory(memory);
+													}}
+												>
+													{$i18n.t('View')}
+												</button>
 											</td>
 											</td>
 										</tr>
 										</tr>
 									{/each}
 									{/each}
 								</tbody>
 								</tbody>
 							</table>
 							</table>
 						</div>
 						</div>
-						<!-- {#each chats as chat}
-							<div>
-								{JSON.stringify(chat)}
-							</div>
-						{/each} -->
 					</div>
 					</div>
 				{:else}
 				{:else}
-					<div class="text-left text-sm w-full mb-8">
-						{$i18n.t('You have no archived conversations.')}
+					<div class="text-center flex h-full text-sm w-full">
+						<div class=" my-auto pb-10 px-4 w-full text-gray-500">
+							{$i18n.t(
+								'As you chat with LLMs, the details and preferences it remembers will be shown here.'
+							)}
+						</div>
 					</div>
 					</div>
 				{/if}
 				{/if}
 			</div>
 			</div>
+			<div class="flex text-sm font-medium gap-1.5">
+				<button
+					class=" px-3.5 py-1.5 font-medium hover:bg-black/5 dark:hover:bg-white/5 outline outline-1 outline-gray-300 dark:outline-gray-800 rounded-3xl"
+					on:click={() => {
+						showAddMemoryModal = true;
+					}}>Add memory</button
+				>
+				<!-- <button
+					class=" px-3.5 py-1.5 font-medium text-red-500 hover:bg-black/5 dark:hover:bg-white/5 outline outline-1 outline-red-300 dark:outline-red-800 rounded-3xl"
+					>Clear memory</button
+				> -->
+			</div>
 		</div>
 		</div>
 	</div>
 	</div>
 </Modal>
 </Modal>
+
+<AddMemoryModal bind:show={showAddMemoryModal} />

+ 1 - 1
src/lib/components/common/Modal.svelte

@@ -18,7 +18,7 @@
 		} else if (size === 'md') {
 		} else if (size === 'md') {
 			return 'w-[48rem]';
 			return 'w-[48rem]';
 		} else {
 		} else {
-			return 'w-[52rem]';
+			return 'w-[56rem]';
 		}
 		}
 	};
 	};
 
 

+ 6 - 2
src/lib/i18n/locales/ar-BH/translation.json

@@ -6,11 +6,12 @@
 	"{{modelName}} is thinking...": "{{modelName}} ...يفكر",
 	"{{modelName}} is thinking...": "{{modelName}} ...يفكر",
 	"{{user}}'s Chats": "{{user}}' الدردشات",
 	"{{user}}'s Chats": "{{user}}' الدردشات",
 	"{{webUIName}} Backend Required": "{{webUIName}} مطلوب",
 	"{{webUIName}} Backend Required": "{{webUIName}} مطلوب",
-  "A selected model does not support image input": "",
+	"A selected model does not support image input": "",
 	"a user": "المستخدم",
 	"a user": "المستخدم",
 	"About": "عن",
 	"About": "عن",
 	"Account": "الحساب",
 	"Account": "الحساب",
 	"Accurate information": "معلومات دقيقة",
 	"Accurate information": "معلومات دقيقة",
+	"Add": "",
 	"Add a model": "أضافة موديل",
 	"Add a model": "أضافة موديل",
 	"Add a model tag name": "ضع تاق للأسم الموديل",
 	"Add a model tag name": "ضع تاق للأسم الموديل",
 	"Add a short description about what this modelfile does": "أضف وصفًا قصيرًا حول ما يفعله ملف الموديل هذا",
 	"Add a short description about what this modelfile does": "أضف وصفًا قصيرًا حول ما يفعله ملف الموديل هذا",
@@ -19,6 +20,7 @@
 	"Add custom prompt": "أضافة مطالبة مخصصه",
 	"Add custom prompt": "أضافة مطالبة مخصصه",
 	"Add Docs": "إضافة المستندات",
 	"Add Docs": "إضافة المستندات",
 	"Add Files": "إضافة ملفات",
 	"Add Files": "إضافة ملفات",
+	"Add Memory": "",
 	"Add message": "اضافة رسالة",
 	"Add message": "اضافة رسالة",
 	"Add Model": "اضافة موديل",
 	"Add Model": "اضافة موديل",
 	"Add Tags": "اضافة تاق",
 	"Add Tags": "اضافة تاق",
@@ -49,6 +51,7 @@
 	"Archived Chats": "الأرشيف المحادثات",
 	"Archived Chats": "الأرشيف المحادثات",
 	"are allowed - Activate this command by typing": "مسموح - قم بتنشيط هذا الأمر عن طريق الكتابة",
 	"are allowed - Activate this command by typing": "مسموح - قم بتنشيط هذا الأمر عن طريق الكتابة",
 	"Are you sure?": "هل أنت متأكد ؟",
 	"Are you sure?": "هل أنت متأكد ؟",
+	"As you chat with LLMs, the details and preferences it remembers will be shown here.": "",
 	"Attach file": "أرفق ملف",
 	"Attach file": "أرفق ملف",
 	"Attention to detail": "انتبه للتفاصيل",
 	"Attention to detail": "انتبه للتفاصيل",
 	"Audio": "صوتي",
 	"Audio": "صوتي",
@@ -62,7 +65,6 @@
 	"Bad Response": "استجابة خطاء",
 	"Bad Response": "استجابة خطاء",
 	"before": "قبل",
 	"before": "قبل",
 	"Being lazy": "كون كسول",
 	"Being lazy": "كون كسول",
-	"Beta": "",
 	"Builder Mode": "بناء الموديل",
 	"Builder Mode": "بناء الموديل",
 	"Bypass SSL verification for Websites": "",
 	"Bypass SSL verification for Websites": "",
 	"Cancel": "اللغاء",
 	"Cancel": "اللغاء",
@@ -173,6 +175,7 @@
 	"Enabled": "تفعيل",
 	"Enabled": "تفعيل",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "تأكد من أن ملف CSV الخاص بك يتضمن 4 أعمدة بهذا الترتيب: Name, Email, Password, Role.",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "تأكد من أن ملف CSV الخاص بك يتضمن 4 أعمدة بهذا الترتيب: Name, Email, Password, Role.",
 	"Enter {{role}} message here": "أدخل رسالة {{role}} هنا",
 	"Enter {{role}} message here": "أدخل رسالة {{role}} هنا",
+	"Enter a detail about yourself for your LLMs to recall": "",
 	"Enter Chunk Overlap": "أدخل Chunk المتداخل",
 	"Enter Chunk Overlap": "أدخل Chunk المتداخل",
 	"Enter Chunk Size": "أدخل Chunk الحجم",
 	"Enter Chunk Size": "أدخل Chunk الحجم",
 	"Enter Image Size (e.g. 512x512)": "(e.g. 512x512) أدخل حجم الصورة ",
 	"Enter Image Size (e.g. 512x512)": "(e.g. 512x512) أدخل حجم الصورة ",
@@ -488,6 +491,7 @@
 	"variable": "المتغير",
 	"variable": "المتغير",
 	"variable to have them replaced with clipboard content.": "متغير لاستبدالها بمحتوى الحافظة.",
 	"variable to have them replaced with clipboard content.": "متغير لاستبدالها بمحتوى الحافظة.",
 	"Version": "إصدار",
 	"Version": "إصدار",
+	"View": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "تحذير: إذا قمت بتحديث أو تغيير نموذج التضمين الخاص بك، فستحتاج إلى إعادة استيراد كافة المستندات.",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "تحذير: إذا قمت بتحديث أو تغيير نموذج التضمين الخاص بك، فستحتاج إلى إعادة استيراد كافة المستندات.",
 	"Web": "Web",
 	"Web": "Web",
 	"Web Loader Settings": "",
 	"Web Loader Settings": "",

+ 6 - 2
src/lib/i18n/locales/bg-BG/translation.json

@@ -6,11 +6,12 @@
 	"{{modelName}} is thinking...": "{{modelName}} мисли ...",
 	"{{modelName}} is thinking...": "{{modelName}} мисли ...",
 	"{{user}}'s Chats": "",
 	"{{user}}'s Chats": "",
 	"{{webUIName}} Backend Required": "{{webUIName}} Изисква се Бекенд",
 	"{{webUIName}} Backend Required": "{{webUIName}} Изисква се Бекенд",
-  "A selected model does not support image input": "",
+	"A selected model does not support image input": "",
 	"a user": "потребител",
 	"a user": "потребител",
 	"About": "Относно",
 	"About": "Относно",
 	"Account": "Акаунт",
 	"Account": "Акаунт",
 	"Accurate information": "",
 	"Accurate information": "",
+	"Add": "",
 	"Add a model": "Добавяне на модел",
 	"Add a model": "Добавяне на модел",
 	"Add a model tag name": "Добавяне на име на таг за модел",
 	"Add a model tag name": "Добавяне на име на таг за модел",
 	"Add a short description about what this modelfile does": "Добавяне на кратко описание за това какво прави този модфайл",
 	"Add a short description about what this modelfile does": "Добавяне на кратко описание за това какво прави този модфайл",
@@ -19,6 +20,7 @@
 	"Add custom prompt": "",
 	"Add custom prompt": "",
 	"Add Docs": "Добавяне на Документи",
 	"Add Docs": "Добавяне на Документи",
 	"Add Files": "Добавяне на Файлове",
 	"Add Files": "Добавяне на Файлове",
+	"Add Memory": "",
 	"Add message": "Добавяне на съобщение",
 	"Add message": "Добавяне на съобщение",
 	"Add Model": "",
 	"Add Model": "",
 	"Add Tags": "добавяне на тагове",
 	"Add Tags": "добавяне на тагове",
@@ -49,6 +51,7 @@
 	"Archived Chats": "",
 	"Archived Chats": "",
 	"are allowed - Activate this command by typing": "са разрешени - Активирайте тази команда чрез въвеждане",
 	"are allowed - Activate this command by typing": "са разрешени - Активирайте тази команда чрез въвеждане",
 	"Are you sure?": "Сигурни ли сте?",
 	"Are you sure?": "Сигурни ли сте?",
+	"As you chat with LLMs, the details and preferences it remembers will be shown here.": "",
 	"Attach file": "",
 	"Attach file": "",
 	"Attention to detail": "",
 	"Attention to detail": "",
 	"Audio": "Аудио",
 	"Audio": "Аудио",
@@ -62,7 +65,6 @@
 	"Bad Response": "",
 	"Bad Response": "",
 	"before": "",
 	"before": "",
 	"Being lazy": "",
 	"Being lazy": "",
-	"Beta": "",
 	"Builder Mode": "Режим на Създаване",
 	"Builder Mode": "Режим на Създаване",
 	"Bypass SSL verification for Websites": "",
 	"Bypass SSL verification for Websites": "",
 	"Cancel": "Отказ",
 	"Cancel": "Отказ",
@@ -173,6 +175,7 @@
 	"Enabled": "Включено",
 	"Enabled": "Включено",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Enter {{role}} message here": "Въведете съобщение за {{role}} тук",
 	"Enter {{role}} message here": "Въведете съобщение за {{role}} тук",
+	"Enter a detail about yourself for your LLMs to recall": "",
 	"Enter Chunk Overlap": "Въведете Chunk Overlap",
 	"Enter Chunk Overlap": "Въведете Chunk Overlap",
 	"Enter Chunk Size": "Въведете Chunk Size",
 	"Enter Chunk Size": "Въведете Chunk Size",
 	"Enter Image Size (e.g. 512x512)": "Въведете размер на изображението (напр. 512x512)",
 	"Enter Image Size (e.g. 512x512)": "Въведете размер на изображението (напр. 512x512)",
@@ -488,6 +491,7 @@
 	"variable": "променлива",
 	"variable": "променлива",
 	"variable to have them replaced with clipboard content.": "променливи да се заменят съдържанието от клипборд.",
 	"variable to have them replaced with clipboard content.": "променливи да се заменят съдържанието от клипборд.",
 	"Version": "Версия",
 	"Version": "Версия",
+	"View": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Web": "Уеб",
 	"Web": "Уеб",
 	"Web Loader Settings": "",
 	"Web Loader Settings": "",

+ 6 - 2
src/lib/i18n/locales/bn-BD/translation.json

@@ -6,11 +6,12 @@
 	"{{modelName}} is thinking...": "{{modelName}} চিন্তা করছে...",
 	"{{modelName}} is thinking...": "{{modelName}} চিন্তা করছে...",
 	"{{user}}'s Chats": "",
 	"{{user}}'s Chats": "",
 	"{{webUIName}} Backend Required": "{{webUIName}} ব্যাকএন্ড আবশ্যক",
 	"{{webUIName}} Backend Required": "{{webUIName}} ব্যাকএন্ড আবশ্যক",
-  "A selected model does not support image input": "",
+	"A selected model does not support image input": "",
 	"a user": "একজন ব্যাবহারকারী",
 	"a user": "একজন ব্যাবহারকারী",
 	"About": "সম্পর্কে",
 	"About": "সম্পর্কে",
 	"Account": "একাউন্ট",
 	"Account": "একাউন্ট",
 	"Accurate information": "",
 	"Accurate information": "",
+	"Add": "",
 	"Add a model": "একটি মডেল যোগ করুন",
 	"Add a model": "একটি মডেল যোগ করুন",
 	"Add a model tag name": "একটি মডেল ট্যাগ যোগ করুন",
 	"Add a model tag name": "একটি মডেল ট্যাগ যোগ করুন",
 	"Add a short description about what this modelfile does": "এই মডেলফাইলটির সম্পর্কে সংক্ষিপ্ত বিবরণ যোগ করুন",
 	"Add a short description about what this modelfile does": "এই মডেলফাইলটির সম্পর্কে সংক্ষিপ্ত বিবরণ যোগ করুন",
@@ -19,6 +20,7 @@
 	"Add custom prompt": "",
 	"Add custom prompt": "",
 	"Add Docs": "ডকুমেন্ট যোগ করুন",
 	"Add Docs": "ডকুমেন্ট যোগ করুন",
 	"Add Files": "ফাইল যোগ করুন",
 	"Add Files": "ফাইল যোগ করুন",
+	"Add Memory": "",
 	"Add message": "মেসেজ যোগ করুন",
 	"Add message": "মেসেজ যোগ করুন",
 	"Add Model": "",
 	"Add Model": "",
 	"Add Tags": "ট্যাগ যোগ করুন",
 	"Add Tags": "ট্যাগ যোগ করুন",
@@ -49,6 +51,7 @@
 	"Archived Chats": "চ্যাট ইতিহাস সংরক্ষণাগার",
 	"Archived Chats": "চ্যাট ইতিহাস সংরক্ষণাগার",
 	"are allowed - Activate this command by typing": "অনুমোদিত - কমান্ডটি চালু করার জন্য লিখুন",
 	"are allowed - Activate this command by typing": "অনুমোদিত - কমান্ডটি চালু করার জন্য লিখুন",
 	"Are you sure?": "আপনি নিশ্চিত?",
 	"Are you sure?": "আপনি নিশ্চিত?",
+	"As you chat with LLMs, the details and preferences it remembers will be shown here.": "",
 	"Attach file": "",
 	"Attach file": "",
 	"Attention to detail": "",
 	"Attention to detail": "",
 	"Audio": "অডিও",
 	"Audio": "অডিও",
@@ -62,7 +65,6 @@
 	"Bad Response": "",
 	"Bad Response": "",
 	"before": "",
 	"before": "",
 	"Being lazy": "",
 	"Being lazy": "",
-	"Beta": "",
 	"Builder Mode": "বিল্ডার মোড",
 	"Builder Mode": "বিল্ডার মোড",
 	"Bypass SSL verification for Websites": "",
 	"Bypass SSL verification for Websites": "",
 	"Cancel": "বাতিল",
 	"Cancel": "বাতিল",
@@ -173,6 +175,7 @@
 	"Enabled": "চালু করা হয়েছে",
 	"Enabled": "চালু করা হয়েছে",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Enter {{role}} message here": "{{role}} মেসেজ এখানে লিখুন",
 	"Enter {{role}} message here": "{{role}} মেসেজ এখানে লিখুন",
+	"Enter a detail about yourself for your LLMs to recall": "",
 	"Enter Chunk Overlap": "চাঙ্ক ওভারল্যাপ লিখুন",
 	"Enter Chunk Overlap": "চাঙ্ক ওভারল্যাপ লিখুন",
 	"Enter Chunk Size": "চাংক সাইজ লিখুন",
 	"Enter Chunk Size": "চাংক সাইজ লিখুন",
 	"Enter Image Size (e.g. 512x512)": "ছবির মাপ লিখুন (যেমন 512x512)",
 	"Enter Image Size (e.g. 512x512)": "ছবির মাপ লিখুন (যেমন 512x512)",
@@ -488,6 +491,7 @@
 	"variable": "ভেরিয়েবল",
 	"variable": "ভেরিয়েবল",
 	"variable to have them replaced with clipboard content.": "ক্লিপবোর্ডের কন্টেন্ট দিয়ে যেই ভেরিয়েবল রিপ্লেস করা যাবে।",
 	"variable to have them replaced with clipboard content.": "ক্লিপবোর্ডের কন্টেন্ট দিয়ে যেই ভেরিয়েবল রিপ্লেস করা যাবে।",
 	"Version": "ভার্সন",
 	"Version": "ভার্সন",
+	"View": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Web": "ওয়েব",
 	"Web": "ওয়েব",
 	"Web Loader Settings": "",
 	"Web Loader Settings": "",

+ 6 - 2
src/lib/i18n/locales/ca-ES/translation.json

@@ -6,11 +6,12 @@
 	"{{modelName}} is thinking...": "{{modelName}} està pensant...",
 	"{{modelName}} is thinking...": "{{modelName}} està pensant...",
 	"{{user}}'s Chats": "",
 	"{{user}}'s Chats": "",
 	"{{webUIName}} Backend Required": "Es requereix Backend de {{webUIName}}",
 	"{{webUIName}} Backend Required": "Es requereix Backend de {{webUIName}}",
-  "A selected model does not support image input": "",
+	"A selected model does not support image input": "",
 	"a user": "un usuari",
 	"a user": "un usuari",
 	"About": "Sobre",
 	"About": "Sobre",
 	"Account": "Compte",
 	"Account": "Compte",
 	"Accurate information": "",
 	"Accurate information": "",
+	"Add": "",
 	"Add a model": "Afegeix un model",
 	"Add a model": "Afegeix un model",
 	"Add a model tag name": "Afegeix un nom d'etiqueta de model",
 	"Add a model tag name": "Afegeix un nom d'etiqueta de model",
 	"Add a short description about what this modelfile does": "Afegeix una descripció curta del que fa aquest arxiu de model",
 	"Add a short description about what this modelfile does": "Afegeix una descripció curta del que fa aquest arxiu de model",
@@ -19,6 +20,7 @@
 	"Add custom prompt": "",
 	"Add custom prompt": "",
 	"Add Docs": "Afegeix Documents",
 	"Add Docs": "Afegeix Documents",
 	"Add Files": "Afegeix Arxius",
 	"Add Files": "Afegeix Arxius",
+	"Add Memory": "",
 	"Add message": "Afegeix missatge",
 	"Add message": "Afegeix missatge",
 	"Add Model": "",
 	"Add Model": "",
 	"Add Tags": "afegeix etiquetes",
 	"Add Tags": "afegeix etiquetes",
@@ -49,6 +51,7 @@
 	"Archived Chats": "Arxiu d'historial de xat",
 	"Archived Chats": "Arxiu d'historial de xat",
 	"are allowed - Activate this command by typing": "estan permesos - Activa aquesta comanda escrivint",
 	"are allowed - Activate this command by typing": "estan permesos - Activa aquesta comanda escrivint",
 	"Are you sure?": "Estàs segur?",
 	"Are you sure?": "Estàs segur?",
+	"As you chat with LLMs, the details and preferences it remembers will be shown here.": "",
 	"Attach file": "",
 	"Attach file": "",
 	"Attention to detail": "",
 	"Attention to detail": "",
 	"Audio": "Àudio",
 	"Audio": "Àudio",
@@ -62,7 +65,6 @@
 	"Bad Response": "",
 	"Bad Response": "",
 	"before": "",
 	"before": "",
 	"Being lazy": "",
 	"Being lazy": "",
-	"Beta": "",
 	"Builder Mode": "Mode Constructor",
 	"Builder Mode": "Mode Constructor",
 	"Bypass SSL verification for Websites": "",
 	"Bypass SSL verification for Websites": "",
 	"Cancel": "Cancel·la",
 	"Cancel": "Cancel·la",
@@ -173,6 +175,7 @@
 	"Enabled": "Activat",
 	"Enabled": "Activat",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Enter {{role}} message here": "Introdueix aquí el missatge de {{role}}",
 	"Enter {{role}} message here": "Introdueix aquí el missatge de {{role}}",
+	"Enter a detail about yourself for your LLMs to recall": "",
 	"Enter Chunk Overlap": "Introdueix el Solapament de Blocs",
 	"Enter Chunk Overlap": "Introdueix el Solapament de Blocs",
 	"Enter Chunk Size": "Introdueix la Mida del Bloc",
 	"Enter Chunk Size": "Introdueix la Mida del Bloc",
 	"Enter Image Size (e.g. 512x512)": "Introdueix la Mida de la Imatge (p. ex. 512x512)",
 	"Enter Image Size (e.g. 512x512)": "Introdueix la Mida de la Imatge (p. ex. 512x512)",
@@ -488,6 +491,7 @@
 	"variable": "variable",
 	"variable": "variable",
 	"variable to have them replaced with clipboard content.": "variable per tenir-les reemplaçades amb el contingut del porta-retalls.",
 	"variable to have them replaced with clipboard content.": "variable per tenir-les reemplaçades amb el contingut del porta-retalls.",
 	"Version": "Versió",
 	"Version": "Versió",
+	"View": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Web": "Web",
 	"Web": "Web",
 	"Web Loader Settings": "",
 	"Web Loader Settings": "",

+ 6 - 2
src/lib/i18n/locales/de-DE/translation.json

@@ -6,11 +6,12 @@
 	"{{modelName}} is thinking...": "{{modelName}} denkt nach...",
 	"{{modelName}} is thinking...": "{{modelName}} denkt nach...",
 	"{{user}}'s Chats": "",
 	"{{user}}'s Chats": "",
 	"{{webUIName}} Backend Required": "{{webUIName}}-Backend erforderlich",
 	"{{webUIName}} Backend Required": "{{webUIName}}-Backend erforderlich",
-  "A selected model does not support image input": "",
+	"A selected model does not support image input": "",
 	"a user": "ein Benutzer",
 	"a user": "ein Benutzer",
 	"About": "Über",
 	"About": "Über",
 	"Account": "Account",
 	"Account": "Account",
 	"Accurate information": "Genaue Information",
 	"Accurate information": "Genaue Information",
+	"Add": "",
 	"Add a model": "Füge ein Modell hinzu",
 	"Add a model": "Füge ein Modell hinzu",
 	"Add a model tag name": "Benenne deinen Modell-Tag",
 	"Add a model tag name": "Benenne deinen Modell-Tag",
 	"Add a short description about what this modelfile does": "Füge eine kurze Beschreibung hinzu, was dieses Modelfile kann",
 	"Add a short description about what this modelfile does": "Füge eine kurze Beschreibung hinzu, was dieses Modelfile kann",
@@ -19,6 +20,7 @@
 	"Add custom prompt": "Eigenen Prompt hinzufügen",
 	"Add custom prompt": "Eigenen Prompt hinzufügen",
 	"Add Docs": "Dokumente hinzufügen",
 	"Add Docs": "Dokumente hinzufügen",
 	"Add Files": "Dateien hinzufügen",
 	"Add Files": "Dateien hinzufügen",
+	"Add Memory": "",
 	"Add message": "Nachricht eingeben",
 	"Add message": "Nachricht eingeben",
 	"Add Model": "Modell hinzufügen",
 	"Add Model": "Modell hinzufügen",
 	"Add Tags": "Tags hinzufügen",
 	"Add Tags": "Tags hinzufügen",
@@ -49,6 +51,7 @@
 	"Archived Chats": "Archivierte Chats",
 	"Archived Chats": "Archivierte Chats",
 	"are allowed - Activate this command by typing": "sind erlaubt - Aktiviere diesen Befehl, indem du",
 	"are allowed - Activate this command by typing": "sind erlaubt - Aktiviere diesen Befehl, indem du",
 	"Are you sure?": "Bist du sicher?",
 	"Are you sure?": "Bist du sicher?",
+	"As you chat with LLMs, the details and preferences it remembers will be shown here.": "",
 	"Attach file": "Datei anhängen",
 	"Attach file": "Datei anhängen",
 	"Attention to detail": "Auge fürs Detail",
 	"Attention to detail": "Auge fürs Detail",
 	"Audio": "Audio",
 	"Audio": "Audio",
@@ -62,7 +65,6 @@
 	"Bad Response": "Schlechte Antwort",
 	"Bad Response": "Schlechte Antwort",
 	"before": "bereits geteilt",
 	"before": "bereits geteilt",
 	"Being lazy": "Faul sein",
 	"Being lazy": "Faul sein",
-	"Beta": "",
 	"Builder Mode": "Builder Modus",
 	"Builder Mode": "Builder Modus",
 	"Bypass SSL verification for Websites": "Bypass SSL-Verifizierung für Websites",
 	"Bypass SSL verification for Websites": "Bypass SSL-Verifizierung für Websites",
 	"Cancel": "Abbrechen",
 	"Cancel": "Abbrechen",
@@ -173,6 +175,7 @@
 	"Enabled": "Aktiviert",
 	"Enabled": "Aktiviert",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Enter {{role}} message here": "Gib die {{role}} Nachricht hier ein",
 	"Enter {{role}} message here": "Gib die {{role}} Nachricht hier ein",
+	"Enter a detail about yourself for your LLMs to recall": "",
 	"Enter Chunk Overlap": "Gib den Chunk Overlap ein",
 	"Enter Chunk Overlap": "Gib den Chunk Overlap ein",
 	"Enter Chunk Size": "Gib die Chunk Size ein",
 	"Enter Chunk Size": "Gib die Chunk Size ein",
 	"Enter Image Size (e.g. 512x512)": "Gib die Bildgröße ein (z.B. 512x512)",
 	"Enter Image Size (e.g. 512x512)": "Gib die Bildgröße ein (z.B. 512x512)",
@@ -488,6 +491,7 @@
 	"variable": "Variable",
 	"variable": "Variable",
 	"variable to have them replaced with clipboard content.": "Variable, um den Inhalt der Zwischenablage beim Nutzen des Prompts zu ersetzen.",
 	"variable to have them replaced with clipboard content.": "Variable, um den Inhalt der Zwischenablage beim Nutzen des Prompts zu ersetzen.",
 	"Version": "Version",
 	"Version": "Version",
+	"View": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Warnung: Wenn du dein Einbettungsmodell aktualisierst oder änderst, musst du alle Dokumente erneut importieren.",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Warnung: Wenn du dein Einbettungsmodell aktualisierst oder änderst, musst du alle Dokumente erneut importieren.",
 	"Web": "Web",
 	"Web": "Web",
 	"Web Loader Settings": "",
 	"Web Loader Settings": "",

+ 6 - 2
src/lib/i18n/locales/dg-DG/translation.json

@@ -6,11 +6,12 @@
 	"{{modelName}} is thinking...": "{{modelName}} is thinkin'...",
 	"{{modelName}} is thinking...": "{{modelName}} is thinkin'...",
 	"{{user}}'s Chats": "",
 	"{{user}}'s Chats": "",
 	"{{webUIName}} Backend Required": "{{webUIName}} Backend Much Required",
 	"{{webUIName}} Backend Required": "{{webUIName}} Backend Much Required",
-  "A selected model does not support image input": "",
+	"A selected model does not support image input": "",
 	"a user": "such user",
 	"a user": "such user",
 	"About": "Much About",
 	"About": "Much About",
 	"Account": "Account",
 	"Account": "Account",
 	"Accurate information": "",
 	"Accurate information": "",
+	"Add": "",
 	"Add a model": "Add a model",
 	"Add a model": "Add a model",
 	"Add a model tag name": "Add a model tag name",
 	"Add a model tag name": "Add a model tag name",
 	"Add a short description about what this modelfile does": "Add short description about what this modelfile does",
 	"Add a short description about what this modelfile does": "Add short description about what this modelfile does",
@@ -19,6 +20,7 @@
 	"Add custom prompt": "",
 	"Add custom prompt": "",
 	"Add Docs": "Add Docs",
 	"Add Docs": "Add Docs",
 	"Add Files": "Add Files",
 	"Add Files": "Add Files",
+	"Add Memory": "",
 	"Add message": "Add Prompt",
 	"Add message": "Add Prompt",
 	"Add Model": "",
 	"Add Model": "",
 	"Add Tags": "",
 	"Add Tags": "",
@@ -49,6 +51,7 @@
 	"Archived Chats": "",
 	"Archived Chats": "",
 	"are allowed - Activate this command by typing": "are allowed. Activate typing",
 	"are allowed - Activate this command by typing": "are allowed. Activate typing",
 	"Are you sure?": "Such certainty?",
 	"Are you sure?": "Such certainty?",
+	"As you chat with LLMs, the details and preferences it remembers will be shown here.": "",
 	"Attach file": "",
 	"Attach file": "",
 	"Attention to detail": "",
 	"Attention to detail": "",
 	"Audio": "Audio",
 	"Audio": "Audio",
@@ -62,7 +65,6 @@
 	"Bad Response": "",
 	"Bad Response": "",
 	"before": "",
 	"before": "",
 	"Being lazy": "",
 	"Being lazy": "",
-	"Beta": "",
 	"Builder Mode": "Builder Mode",
 	"Builder Mode": "Builder Mode",
 	"Bypass SSL verification for Websites": "",
 	"Bypass SSL verification for Websites": "",
 	"Cancel": "Cancel",
 	"Cancel": "Cancel",
@@ -173,6 +175,7 @@
 	"Enabled": "So Activated",
 	"Enabled": "So Activated",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Enter {{role}} message here": "Enter {{role}} bork here",
 	"Enter {{role}} message here": "Enter {{role}} bork here",
+	"Enter a detail about yourself for your LLMs to recall": "",
 	"Enter Chunk Overlap": "Enter Overlap of Chunks",
 	"Enter Chunk Overlap": "Enter Overlap of Chunks",
 	"Enter Chunk Size": "Enter Size of Chunk",
 	"Enter Chunk Size": "Enter Size of Chunk",
 	"Enter Image Size (e.g. 512x512)": "Enter Size of Wow (e.g. 512x512)",
 	"Enter Image Size (e.g. 512x512)": "Enter Size of Wow (e.g. 512x512)",
@@ -488,6 +491,7 @@
 	"variable": "variable very variable",
 	"variable": "variable very variable",
 	"variable to have them replaced with clipboard content.": "variable to have them replaced with clipboard content. Very replace.",
 	"variable to have them replaced with clipboard content.": "variable to have them replaced with clipboard content. Very replace.",
 	"Version": "Version much version",
 	"Version": "Version much version",
+	"View": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Web": "Web very web",
 	"Web": "Web very web",
 	"Web Loader Settings": "",
 	"Web Loader Settings": "",

+ 6 - 2
src/lib/i18n/locales/en-GB/translation.json

@@ -6,11 +6,12 @@
 	"{{modelName}} is thinking...": "",
 	"{{modelName}} is thinking...": "",
 	"{{user}}'s Chats": "",
 	"{{user}}'s Chats": "",
 	"{{webUIName}} Backend Required": "",
 	"{{webUIName}} Backend Required": "",
-  "A selected model does not support image input": "",
+	"A selected model does not support image input": "",
 	"a user": "",
 	"a user": "",
 	"About": "",
 	"About": "",
 	"Account": "",
 	"Account": "",
 	"Accurate information": "",
 	"Accurate information": "",
+	"Add": "",
 	"Add a model": "",
 	"Add a model": "",
 	"Add a model tag name": "",
 	"Add a model tag name": "",
 	"Add a short description about what this modelfile does": "",
 	"Add a short description about what this modelfile does": "",
@@ -19,6 +20,7 @@
 	"Add custom prompt": "",
 	"Add custom prompt": "",
 	"Add Docs": "",
 	"Add Docs": "",
 	"Add Files": "",
 	"Add Files": "",
+	"Add Memory": "",
 	"Add message": "",
 	"Add message": "",
 	"Add Model": "",
 	"Add Model": "",
 	"Add Tags": "",
 	"Add Tags": "",
@@ -49,6 +51,7 @@
 	"Archived Chats": "",
 	"Archived Chats": "",
 	"are allowed - Activate this command by typing": "",
 	"are allowed - Activate this command by typing": "",
 	"Are you sure?": "",
 	"Are you sure?": "",
+	"As you chat with LLMs, the details and preferences it remembers will be shown here.": "",
 	"Attach file": "",
 	"Attach file": "",
 	"Attention to detail": "",
 	"Attention to detail": "",
 	"Audio": "",
 	"Audio": "",
@@ -62,7 +65,6 @@
 	"Bad Response": "",
 	"Bad Response": "",
 	"before": "",
 	"before": "",
 	"Being lazy": "",
 	"Being lazy": "",
-	"Beta": "",
 	"Builder Mode": "",
 	"Builder Mode": "",
 	"Bypass SSL verification for Websites": "",
 	"Bypass SSL verification for Websites": "",
 	"Cancel": "",
 	"Cancel": "",
@@ -173,6 +175,7 @@
 	"Enabled": "",
 	"Enabled": "",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Enter {{role}} message here": "",
 	"Enter {{role}} message here": "",
+	"Enter a detail about yourself for your LLMs to recall": "",
 	"Enter Chunk Overlap": "",
 	"Enter Chunk Overlap": "",
 	"Enter Chunk Size": "",
 	"Enter Chunk Size": "",
 	"Enter Image Size (e.g. 512x512)": "",
 	"Enter Image Size (e.g. 512x512)": "",
@@ -488,6 +491,7 @@
 	"variable": "",
 	"variable": "",
 	"variable to have them replaced with clipboard content.": "",
 	"variable to have them replaced with clipboard content.": "",
 	"Version": "",
 	"Version": "",
+	"View": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Web": "",
 	"Web": "",
 	"Web Loader Settings": "",
 	"Web Loader Settings": "",

+ 6 - 2
src/lib/i18n/locales/en-US/translation.json

@@ -6,11 +6,12 @@
 	"{{modelName}} is thinking...": "",
 	"{{modelName}} is thinking...": "",
 	"{{user}}'s Chats": "",
 	"{{user}}'s Chats": "",
 	"{{webUIName}} Backend Required": "",
 	"{{webUIName}} Backend Required": "",
-  "A selected model does not support image input": "",
+	"A selected model does not support image input": "",
 	"a user": "",
 	"a user": "",
 	"About": "",
 	"About": "",
 	"Account": "",
 	"Account": "",
 	"Accurate information": "",
 	"Accurate information": "",
+	"Add": "",
 	"Add a model": "",
 	"Add a model": "",
 	"Add a model tag name": "",
 	"Add a model tag name": "",
 	"Add a short description about what this modelfile does": "",
 	"Add a short description about what this modelfile does": "",
@@ -19,6 +20,7 @@
 	"Add custom prompt": "",
 	"Add custom prompt": "",
 	"Add Docs": "",
 	"Add Docs": "",
 	"Add Files": "",
 	"Add Files": "",
+	"Add Memory": "",
 	"Add message": "",
 	"Add message": "",
 	"Add Model": "",
 	"Add Model": "",
 	"Add Tags": "",
 	"Add Tags": "",
@@ -49,6 +51,7 @@
 	"Archived Chats": "",
 	"Archived Chats": "",
 	"are allowed - Activate this command by typing": "",
 	"are allowed - Activate this command by typing": "",
 	"Are you sure?": "",
 	"Are you sure?": "",
+	"As you chat with LLMs, the details and preferences it remembers will be shown here.": "",
 	"Attach file": "",
 	"Attach file": "",
 	"Attention to detail": "",
 	"Attention to detail": "",
 	"Audio": "",
 	"Audio": "",
@@ -62,7 +65,6 @@
 	"Bad Response": "",
 	"Bad Response": "",
 	"before": "",
 	"before": "",
 	"Being lazy": "",
 	"Being lazy": "",
-	"Beta": "",
 	"Builder Mode": "",
 	"Builder Mode": "",
 	"Bypass SSL verification for Websites": "",
 	"Bypass SSL verification for Websites": "",
 	"Cancel": "",
 	"Cancel": "",
@@ -173,6 +175,7 @@
 	"Enabled": "",
 	"Enabled": "",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Enter {{role}} message here": "",
 	"Enter {{role}} message here": "",
+	"Enter a detail about yourself for your LLMs to recall": "",
 	"Enter Chunk Overlap": "",
 	"Enter Chunk Overlap": "",
 	"Enter Chunk Size": "",
 	"Enter Chunk Size": "",
 	"Enter Image Size (e.g. 512x512)": "",
 	"Enter Image Size (e.g. 512x512)": "",
@@ -488,6 +491,7 @@
 	"variable": "",
 	"variable": "",
 	"variable to have them replaced with clipboard content.": "",
 	"variable to have them replaced with clipboard content.": "",
 	"Version": "",
 	"Version": "",
+	"View": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Web": "",
 	"Web": "",
 	"Web Loader Settings": "",
 	"Web Loader Settings": "",

+ 6 - 2
src/lib/i18n/locales/es-ES/translation.json

@@ -6,11 +6,12 @@
 	"{{modelName}} is thinking...": "{{modelName}} está pensando...",
 	"{{modelName}} is thinking...": "{{modelName}} está pensando...",
 	"{{user}}'s Chats": "",
 	"{{user}}'s Chats": "",
 	"{{webUIName}} Backend Required": "{{webUIName}} Servidor Requerido",
 	"{{webUIName}} Backend Required": "{{webUIName}} Servidor Requerido",
-  "A selected model does not support image input": "",
+	"A selected model does not support image input": "",
 	"a user": "un usuario",
 	"a user": "un usuario",
 	"About": "Sobre nosotros",
 	"About": "Sobre nosotros",
 	"Account": "Cuenta",
 	"Account": "Cuenta",
 	"Accurate information": "",
 	"Accurate information": "",
+	"Add": "",
 	"Add a model": "Agregar un modelo",
 	"Add a model": "Agregar un modelo",
 	"Add a model tag name": "Agregar un nombre de etiqueta de modelo",
 	"Add a model tag name": "Agregar un nombre de etiqueta de modelo",
 	"Add a short description about what this modelfile does": "Agregue una descripción corta de lo que este modelfile hace",
 	"Add a short description about what this modelfile does": "Agregue una descripción corta de lo que este modelfile hace",
@@ -19,6 +20,7 @@
 	"Add custom prompt": "",
 	"Add custom prompt": "",
 	"Add Docs": "Agregar Documentos",
 	"Add Docs": "Agregar Documentos",
 	"Add Files": "Agregar Archivos",
 	"Add Files": "Agregar Archivos",
+	"Add Memory": "",
 	"Add message": "Agregar Prompt",
 	"Add message": "Agregar Prompt",
 	"Add Model": "",
 	"Add Model": "",
 	"Add Tags": "agregar etiquetas",
 	"Add Tags": "agregar etiquetas",
@@ -49,6 +51,7 @@
 	"Archived Chats": "Chats archivados",
 	"Archived Chats": "Chats archivados",
 	"are allowed - Activate this command by typing": "están permitidos - Active este comando escribiendo",
 	"are allowed - Activate this command by typing": "están permitidos - Active este comando escribiendo",
 	"Are you sure?": "¿Está seguro?",
 	"Are you sure?": "¿Está seguro?",
+	"As you chat with LLMs, the details and preferences it remembers will be shown here.": "",
 	"Attach file": "",
 	"Attach file": "",
 	"Attention to detail": "",
 	"Attention to detail": "",
 	"Audio": "Audio",
 	"Audio": "Audio",
@@ -62,7 +65,6 @@
 	"Bad Response": "",
 	"Bad Response": "",
 	"before": "",
 	"before": "",
 	"Being lazy": "",
 	"Being lazy": "",
-	"Beta": "",
 	"Builder Mode": "Modo de Constructor",
 	"Builder Mode": "Modo de Constructor",
 	"Bypass SSL verification for Websites": "",
 	"Bypass SSL verification for Websites": "",
 	"Cancel": "Cancelar",
 	"Cancel": "Cancelar",
@@ -173,6 +175,7 @@
 	"Enabled": "Activado",
 	"Enabled": "Activado",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Enter {{role}} message here": "Ingrese el mensaje {{role}} aquí",
 	"Enter {{role}} message here": "Ingrese el mensaje {{role}} aquí",
+	"Enter a detail about yourself for your LLMs to recall": "",
 	"Enter Chunk Overlap": "Ingresar superposición de fragmentos",
 	"Enter Chunk Overlap": "Ingresar superposición de fragmentos",
 	"Enter Chunk Size": "Ingrese el tamaño del fragmento",
 	"Enter Chunk Size": "Ingrese el tamaño del fragmento",
 	"Enter Image Size (e.g. 512x512)": "Ingrese el tamaño de la imagen (p.ej. 512x512)",
 	"Enter Image Size (e.g. 512x512)": "Ingrese el tamaño de la imagen (p.ej. 512x512)",
@@ -488,6 +491,7 @@
 	"variable": "variable",
 	"variable": "variable",
 	"variable to have them replaced with clipboard content.": "variable para reemplazarlos con el contenido del portapapeles.",
 	"variable to have them replaced with clipboard content.": "variable para reemplazarlos con el contenido del portapapeles.",
 	"Version": "Versión",
 	"Version": "Versión",
+	"View": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Web": "Web",
 	"Web": "Web",
 	"Web Loader Settings": "",
 	"Web Loader Settings": "",

+ 6 - 2
src/lib/i18n/locales/fa-IR/translation.json

@@ -6,11 +6,12 @@
 	"{{modelName}} is thinking...": "{{modelName}} در حال فکر کردن است...",
 	"{{modelName}} is thinking...": "{{modelName}} در حال فکر کردن است...",
 	"{{user}}'s Chats": "",
 	"{{user}}'s Chats": "",
 	"{{webUIName}} Backend Required": "بکند {{webUIName}} نیاز است.",
 	"{{webUIName}} Backend Required": "بکند {{webUIName}} نیاز است.",
-  "A selected model does not support image input": "",
+	"A selected model does not support image input": "",
 	"a user": "یک کاربر",
 	"a user": "یک کاربر",
 	"About": "درباره",
 	"About": "درباره",
 	"Account": "حساب کاربری",
 	"Account": "حساب کاربری",
 	"Accurate information": "",
 	"Accurate information": "",
+	"Add": "",
 	"Add a model": "اضافه کردن یک مدل",
 	"Add a model": "اضافه کردن یک مدل",
 	"Add a model tag name": "اضافه کردن یک نام تگ برای مدل",
 	"Add a model tag name": "اضافه کردن یک نام تگ برای مدل",
 	"Add a short description about what this modelfile does": "توضیح کوتاهی در مورد کاری که این فایل\u200cمدل انجام می دهد اضافه کنید",
 	"Add a short description about what this modelfile does": "توضیح کوتاهی در مورد کاری که این فایل\u200cمدل انجام می دهد اضافه کنید",
@@ -19,6 +20,7 @@
 	"Add custom prompt": "",
 	"Add custom prompt": "",
 	"Add Docs": "اضافه کردن اسناد",
 	"Add Docs": "اضافه کردن اسناد",
 	"Add Files": "اضافه کردن فایل\u200cها",
 	"Add Files": "اضافه کردن فایل\u200cها",
+	"Add Memory": "",
 	"Add message": "اضافه کردن پیغام",
 	"Add message": "اضافه کردن پیغام",
 	"Add Model": "",
 	"Add Model": "",
 	"Add Tags": "اضافه کردن تگ\u200cها",
 	"Add Tags": "اضافه کردن تگ\u200cها",
@@ -49,6 +51,7 @@
 	"Archived Chats": "آرشیو تاریخچه چت",
 	"Archived Chats": "آرشیو تاریخچه چت",
 	"are allowed - Activate this command by typing": "مجاز هستند - این دستور را با تایپ کردن این فعال کنید:",
 	"are allowed - Activate this command by typing": "مجاز هستند - این دستور را با تایپ کردن این فعال کنید:",
 	"Are you sure?": "آیا مطمئن هستید؟",
 	"Are you sure?": "آیا مطمئن هستید؟",
+	"As you chat with LLMs, the details and preferences it remembers will be shown here.": "",
 	"Attach file": "",
 	"Attach file": "",
 	"Attention to detail": "",
 	"Attention to detail": "",
 	"Audio": "صدا",
 	"Audio": "صدا",
@@ -62,7 +65,6 @@
 	"Bad Response": "",
 	"Bad Response": "",
 	"before": "",
 	"before": "",
 	"Being lazy": "",
 	"Being lazy": "",
-	"Beta": "",
 	"Builder Mode": "حالت سازنده",
 	"Builder Mode": "حالت سازنده",
 	"Bypass SSL verification for Websites": "",
 	"Bypass SSL verification for Websites": "",
 	"Cancel": "لغو",
 	"Cancel": "لغو",
@@ -173,6 +175,7 @@
 	"Enabled": "فعال",
 	"Enabled": "فعال",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Enter {{role}} message here": "پیام {{role}} را اینجا وارد کنید",
 	"Enter {{role}} message here": "پیام {{role}} را اینجا وارد کنید",
+	"Enter a detail about yourself for your LLMs to recall": "",
 	"Enter Chunk Overlap": "مقدار Chunk Overlap را وارد کنید",
 	"Enter Chunk Overlap": "مقدار Chunk Overlap را وارد کنید",
 	"Enter Chunk Size": "مقدار Chunk Size را وارد کنید",
 	"Enter Chunk Size": "مقدار Chunk Size را وارد کنید",
 	"Enter Image Size (e.g. 512x512)": "اندازه تصویر را وارد کنید (مثال: 512x512)",
 	"Enter Image Size (e.g. 512x512)": "اندازه تصویر را وارد کنید (مثال: 512x512)",
@@ -488,6 +491,7 @@
 	"variable": "متغیر",
 	"variable": "متغیر",
 	"variable to have them replaced with clipboard content.": "متغیر برای جایگزینی آنها با محتوای کلیپ بورد.",
 	"variable to have them replaced with clipboard content.": "متغیر برای جایگزینی آنها با محتوای کلیپ بورد.",
 	"Version": "نسخه",
 	"Version": "نسخه",
+	"View": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Web": "وب",
 	"Web": "وب",
 	"Web Loader Settings": "",
 	"Web Loader Settings": "",

+ 6 - 2
src/lib/i18n/locales/fi-FI/translation.json

@@ -6,11 +6,12 @@
 	"{{modelName}} is thinking...": "{{modelName}} miettii...",
 	"{{modelName}} is thinking...": "{{modelName}} miettii...",
 	"{{user}}'s Chats": "{{user}}:n keskustelut",
 	"{{user}}'s Chats": "{{user}}:n keskustelut",
 	"{{webUIName}} Backend Required": "{{webUIName}} backend vaaditaan",
 	"{{webUIName}} Backend Required": "{{webUIName}} backend vaaditaan",
-  "A selected model does not support image input": "",
+	"A selected model does not support image input": "",
 	"a user": "käyttäjä",
 	"a user": "käyttäjä",
 	"About": "Tietoja",
 	"About": "Tietoja",
 	"Account": "Tili",
 	"Account": "Tili",
 	"Accurate information": "Tarkkaa tietoa",
 	"Accurate information": "Tarkkaa tietoa",
+	"Add": "",
 	"Add a model": "Lisää malli",
 	"Add a model": "Lisää malli",
 	"Add a model tag name": "Lisää mallitagi",
 	"Add a model tag name": "Lisää mallitagi",
 	"Add a short description about what this modelfile does": "Lisää lyhyt kuvaus siitä, mitä tämä mallitiedosto tekee",
 	"Add a short description about what this modelfile does": "Lisää lyhyt kuvaus siitä, mitä tämä mallitiedosto tekee",
@@ -19,6 +20,7 @@
 	"Add custom prompt": "Lisää mukautettu kehote",
 	"Add custom prompt": "Lisää mukautettu kehote",
 	"Add Docs": "Lisää asiakirjoja",
 	"Add Docs": "Lisää asiakirjoja",
 	"Add Files": "Lisää tiedostoja",
 	"Add Files": "Lisää tiedostoja",
+	"Add Memory": "",
 	"Add message": "Lisää viesti",
 	"Add message": "Lisää viesti",
 	"Add Model": "Lisää malli",
 	"Add Model": "Lisää malli",
 	"Add Tags": "Lisää tageja",
 	"Add Tags": "Lisää tageja",
@@ -49,6 +51,7 @@
 	"Archived Chats": "Arkistoidut keskustelut",
 	"Archived Chats": "Arkistoidut keskustelut",
 	"are allowed - Activate this command by typing": "ovat sallittuja - Aktivoi tämä komento kirjoittamalla",
 	"are allowed - Activate this command by typing": "ovat sallittuja - Aktivoi tämä komento kirjoittamalla",
 	"Are you sure?": "Oletko varma?",
 	"Are you sure?": "Oletko varma?",
+	"As you chat with LLMs, the details and preferences it remembers will be shown here.": "",
 	"Attach file": "Liitä tiedosto",
 	"Attach file": "Liitä tiedosto",
 	"Attention to detail": "Huomio yksityiskohtiin",
 	"Attention to detail": "Huomio yksityiskohtiin",
 	"Audio": "Ääni",
 	"Audio": "Ääni",
@@ -62,7 +65,6 @@
 	"Bad Response": "Epäkelpo vastaus",
 	"Bad Response": "Epäkelpo vastaus",
 	"before": "ennen",
 	"before": "ennen",
 	"Being lazy": "Oli laiska",
 	"Being lazy": "Oli laiska",
-	"Beta": "",
 	"Builder Mode": "Rakentajan tila",
 	"Builder Mode": "Rakentajan tila",
 	"Bypass SSL verification for Websites": "Ohita SSL-varmennus verkkosivustoille",
 	"Bypass SSL verification for Websites": "Ohita SSL-varmennus verkkosivustoille",
 	"Cancel": "Peruuta",
 	"Cancel": "Peruuta",
@@ -173,6 +175,7 @@
 	"Enabled": "Käytössä",
 	"Enabled": "Käytössä",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Varmista, että CSV-tiedostossasi on 4 saraketta seuraavassa järjestyksessä: Nimi, Sähköposti, Salasana, Rooli.",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Varmista, että CSV-tiedostossasi on 4 saraketta seuraavassa järjestyksessä: Nimi, Sähköposti, Salasana, Rooli.",
 	"Enter {{role}} message here": "Kirjoita {{role}} viesti tähän",
 	"Enter {{role}} message here": "Kirjoita {{role}} viesti tähän",
+	"Enter a detail about yourself for your LLMs to recall": "",
 	"Enter Chunk Overlap": "Syötä osien päällekkäisyys",
 	"Enter Chunk Overlap": "Syötä osien päällekkäisyys",
 	"Enter Chunk Size": "Syötä osien koko",
 	"Enter Chunk Size": "Syötä osien koko",
 	"Enter Image Size (e.g. 512x512)": "Syötä kuvan koko (esim. 512x512)",
 	"Enter Image Size (e.g. 512x512)": "Syötä kuvan koko (esim. 512x512)",
@@ -488,6 +491,7 @@
 	"variable": "muuttuja",
 	"variable": "muuttuja",
 	"variable to have them replaced with clipboard content.": "muuttuja korvataan leikepöydän sisällöllä.",
 	"variable to have them replaced with clipboard content.": "muuttuja korvataan leikepöydän sisällöllä.",
 	"Version": "Versio",
 	"Version": "Versio",
+	"View": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Varoitus: Jos päivität tai vaihdat upotusmallia, sinun on tuotava kaikki asiakirjat uudelleen.",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Varoitus: Jos päivität tai vaihdat upotusmallia, sinun on tuotava kaikki asiakirjat uudelleen.",
 	"Web": "Web",
 	"Web": "Web",
 	"Web Loader Settings": "",
 	"Web Loader Settings": "",

+ 6 - 2
src/lib/i18n/locales/fr-CA/translation.json

@@ -6,11 +6,12 @@
 	"{{modelName}} is thinking...": "{{modelName}} réfléchit...",
 	"{{modelName}} is thinking...": "{{modelName}} réfléchit...",
 	"{{user}}'s Chats": "",
 	"{{user}}'s Chats": "",
 	"{{webUIName}} Backend Required": "Backend {{webUIName}} requis",
 	"{{webUIName}} Backend Required": "Backend {{webUIName}} requis",
-  "A selected model does not support image input": "",
+	"A selected model does not support image input": "",
 	"a user": "un utilisateur",
 	"a user": "un utilisateur",
 	"About": "À propos",
 	"About": "À propos",
 	"Account": "Compte",
 	"Account": "Compte",
 	"Accurate information": "",
 	"Accurate information": "",
+	"Add": "",
 	"Add a model": "Ajouter un modèle",
 	"Add a model": "Ajouter un modèle",
 	"Add a model tag name": "Ajouter un nom de tag pour le modèle",
 	"Add a model tag name": "Ajouter un nom de tag pour le modèle",
 	"Add a short description about what this modelfile does": "Ajouter une courte description de ce que fait ce fichier de modèle",
 	"Add a short description about what this modelfile does": "Ajouter une courte description de ce que fait ce fichier de modèle",
@@ -19,6 +20,7 @@
 	"Add custom prompt": "",
 	"Add custom prompt": "",
 	"Add Docs": "Ajouter des documents",
 	"Add Docs": "Ajouter des documents",
 	"Add Files": "Ajouter des fichiers",
 	"Add Files": "Ajouter des fichiers",
+	"Add Memory": "",
 	"Add message": "Ajouter un message",
 	"Add message": "Ajouter un message",
 	"Add Model": "",
 	"Add Model": "",
 	"Add Tags": "ajouter des tags",
 	"Add Tags": "ajouter des tags",
@@ -49,6 +51,7 @@
 	"Archived Chats": "enregistrement du chat",
 	"Archived Chats": "enregistrement du chat",
 	"are allowed - Activate this command by typing": "sont autorisés - Activez cette commande en tapant",
 	"are allowed - Activate this command by typing": "sont autorisés - Activez cette commande en tapant",
 	"Are you sure?": "Êtes-vous sûr ?",
 	"Are you sure?": "Êtes-vous sûr ?",
+	"As you chat with LLMs, the details and preferences it remembers will be shown here.": "",
 	"Attach file": "",
 	"Attach file": "",
 	"Attention to detail": "",
 	"Attention to detail": "",
 	"Audio": "Audio",
 	"Audio": "Audio",
@@ -62,7 +65,6 @@
 	"Bad Response": "",
 	"Bad Response": "",
 	"before": "",
 	"before": "",
 	"Being lazy": "",
 	"Being lazy": "",
-	"Beta": "",
 	"Builder Mode": "Mode Constructeur",
 	"Builder Mode": "Mode Constructeur",
 	"Bypass SSL verification for Websites": "",
 	"Bypass SSL verification for Websites": "",
 	"Cancel": "Annuler",
 	"Cancel": "Annuler",
@@ -173,6 +175,7 @@
 	"Enabled": "Activé",
 	"Enabled": "Activé",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Enter {{role}} message here": "Entrez le message {{role}} ici",
 	"Enter {{role}} message here": "Entrez le message {{role}} ici",
+	"Enter a detail about yourself for your LLMs to recall": "",
 	"Enter Chunk Overlap": "Entrez le chevauchement de bloc",
 	"Enter Chunk Overlap": "Entrez le chevauchement de bloc",
 	"Enter Chunk Size": "Entrez la taille du bloc",
 	"Enter Chunk Size": "Entrez la taille du bloc",
 	"Enter Image Size (e.g. 512x512)": "Entrez la taille de l'image (p. ex. 512x512)",
 	"Enter Image Size (e.g. 512x512)": "Entrez la taille de l'image (p. ex. 512x512)",
@@ -488,6 +491,7 @@
 	"variable": "variable",
 	"variable": "variable",
 	"variable to have them replaced with clipboard content.": "variable pour les remplacer par le contenu du presse-papiers.",
 	"variable to have them replaced with clipboard content.": "variable pour les remplacer par le contenu du presse-papiers.",
 	"Version": "Version",
 	"Version": "Version",
+	"View": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Web": "Web",
 	"Web": "Web",
 	"Web Loader Settings": "",
 	"Web Loader Settings": "",

+ 6 - 2
src/lib/i18n/locales/fr-FR/translation.json

@@ -6,11 +6,12 @@
 	"{{modelName}} is thinking...": "{{modelName}} réfléchit...",
 	"{{modelName}} is thinking...": "{{modelName}} réfléchit...",
 	"{{user}}'s Chats": "",
 	"{{user}}'s Chats": "",
 	"{{webUIName}} Backend Required": "Backend {{webUIName}} requis",
 	"{{webUIName}} Backend Required": "Backend {{webUIName}} requis",
-  "A selected model does not support image input": "",
+	"A selected model does not support image input": "",
 	"a user": "un utilisateur",
 	"a user": "un utilisateur",
 	"About": "À propos",
 	"About": "À propos",
 	"Account": "Compte",
 	"Account": "Compte",
 	"Accurate information": "",
 	"Accurate information": "",
+	"Add": "",
 	"Add a model": "Ajouter un modèle",
 	"Add a model": "Ajouter un modèle",
 	"Add a model tag name": "Ajouter un nom de tag pour le modèle",
 	"Add a model tag name": "Ajouter un nom de tag pour le modèle",
 	"Add a short description about what this modelfile does": "Ajouter une courte description de ce que fait ce fichier de modèle",
 	"Add a short description about what this modelfile does": "Ajouter une courte description de ce que fait ce fichier de modèle",
@@ -19,6 +20,7 @@
 	"Add custom prompt": "",
 	"Add custom prompt": "",
 	"Add Docs": "Ajouter des documents",
 	"Add Docs": "Ajouter des documents",
 	"Add Files": "Ajouter des fichiers",
 	"Add Files": "Ajouter des fichiers",
+	"Add Memory": "",
 	"Add message": "Ajouter un message",
 	"Add message": "Ajouter un message",
 	"Add Model": "",
 	"Add Model": "",
 	"Add Tags": "ajouter des tags",
 	"Add Tags": "ajouter des tags",
@@ -49,6 +51,7 @@
 	"Archived Chats": "enregistrement du chat",
 	"Archived Chats": "enregistrement du chat",
 	"are allowed - Activate this command by typing": "sont autorisés - Activez cette commande en tapant",
 	"are allowed - Activate this command by typing": "sont autorisés - Activez cette commande en tapant",
 	"Are you sure?": "Êtes-vous sûr ?",
 	"Are you sure?": "Êtes-vous sûr ?",
+	"As you chat with LLMs, the details and preferences it remembers will be shown here.": "",
 	"Attach file": "",
 	"Attach file": "",
 	"Attention to detail": "",
 	"Attention to detail": "",
 	"Audio": "Audio",
 	"Audio": "Audio",
@@ -62,7 +65,6 @@
 	"Bad Response": "",
 	"Bad Response": "",
 	"before": "",
 	"before": "",
 	"Being lazy": "",
 	"Being lazy": "",
-	"Beta": "",
 	"Builder Mode": "Mode Constructeur",
 	"Builder Mode": "Mode Constructeur",
 	"Bypass SSL verification for Websites": "",
 	"Bypass SSL verification for Websites": "",
 	"Cancel": "Annuler",
 	"Cancel": "Annuler",
@@ -173,6 +175,7 @@
 	"Enabled": "Activé",
 	"Enabled": "Activé",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Enter {{role}} message here": "Entrez le message {{role}} ici",
 	"Enter {{role}} message here": "Entrez le message {{role}} ici",
+	"Enter a detail about yourself for your LLMs to recall": "",
 	"Enter Chunk Overlap": "Entrez le chevauchement de bloc",
 	"Enter Chunk Overlap": "Entrez le chevauchement de bloc",
 	"Enter Chunk Size": "Entrez la taille du bloc",
 	"Enter Chunk Size": "Entrez la taille du bloc",
 	"Enter Image Size (e.g. 512x512)": "Entrez la taille de l'image (p. ex. 512x512)",
 	"Enter Image Size (e.g. 512x512)": "Entrez la taille de l'image (p. ex. 512x512)",
@@ -488,6 +491,7 @@
 	"variable": "variable",
 	"variable": "variable",
 	"variable to have them replaced with clipboard content.": "variable pour les remplacer par le contenu du presse-papiers.",
 	"variable to have them replaced with clipboard content.": "variable pour les remplacer par le contenu du presse-papiers.",
 	"Version": "Version",
 	"Version": "Version",
+	"View": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Web": "Web",
 	"Web": "Web",
 	"Web Loader Settings": "",
 	"Web Loader Settings": "",

+ 6 - 2
src/lib/i18n/locales/he-IL/translation.json

@@ -6,11 +6,12 @@
 	"{{modelName}} is thinking...": "{{modelName}} חושב...",
 	"{{modelName}} is thinking...": "{{modelName}} חושב...",
 	"{{user}}'s Chats": "צ'אטים של {{user}}",
 	"{{user}}'s Chats": "צ'אטים של {{user}}",
 	"{{webUIName}} Backend Required": "נדרש Backend של {{webUIName}}",
 	"{{webUIName}} Backend Required": "נדרש Backend של {{webUIName}}",
-  "A selected model does not support image input": "",
+	"A selected model does not support image input": "",
 	"a user": "משתמש",
 	"a user": "משתמש",
 	"About": "אודות",
 	"About": "אודות",
 	"Account": "חשבון",
 	"Account": "חשבון",
 	"Accurate information": "מידע מדויק",
 	"Accurate information": "מידע מדויק",
+	"Add": "",
 	"Add a model": "הוסף מודל",
 	"Add a model": "הוסף מודל",
 	"Add a model tag name": "הוסף שם תג למודל",
 	"Add a model tag name": "הוסף שם תג למודל",
 	"Add a short description about what this modelfile does": "הוסף תיאור קצר על מה שהקובץ מודל עושה",
 	"Add a short description about what this modelfile does": "הוסף תיאור קצר על מה שהקובץ מודל עושה",
@@ -19,6 +20,7 @@
 	"Add custom prompt": "הוסף פקודה מותאמת אישית",
 	"Add custom prompt": "הוסף פקודה מותאמת אישית",
 	"Add Docs": "הוסף מסמכים",
 	"Add Docs": "הוסף מסמכים",
 	"Add Files": "הוסף קבצים",
 	"Add Files": "הוסף קבצים",
+	"Add Memory": "",
 	"Add message": "הוסף הודעה",
 	"Add message": "הוסף הודעה",
 	"Add Model": "הוסף מודל",
 	"Add Model": "הוסף מודל",
 	"Add Tags": "הוסף תגים",
 	"Add Tags": "הוסף תגים",
@@ -49,6 +51,7 @@
 	"Archived Chats": "צ'אטים מאורכבים",
 	"Archived Chats": "צ'אטים מאורכבים",
 	"are allowed - Activate this command by typing": "מותרים - הפעל פקודה זו על ידי הקלדה",
 	"are allowed - Activate this command by typing": "מותרים - הפעל פקודה זו על ידי הקלדה",
 	"Are you sure?": "האם אתה בטוח?",
 	"Are you sure?": "האם אתה בטוח?",
+	"As you chat with LLMs, the details and preferences it remembers will be shown here.": "",
 	"Attach file": "צרף קובץ",
 	"Attach file": "צרף קובץ",
 	"Attention to detail": "תשומת לב לפרטים",
 	"Attention to detail": "תשומת לב לפרטים",
 	"Audio": "אודיו",
 	"Audio": "אודיו",
@@ -62,7 +65,6 @@
 	"Bad Response": "תגובה שגויה",
 	"Bad Response": "תגובה שגויה",
 	"before": "לפני",
 	"before": "לפני",
 	"Being lazy": "להיות עצלן",
 	"Being lazy": "להיות עצלן",
-	"Beta": "",
 	"Builder Mode": "מצב בונה",
 	"Builder Mode": "מצב בונה",
 	"Bypass SSL verification for Websites": "עקוף אימות SSL עבור אתרים",
 	"Bypass SSL verification for Websites": "עקוף אימות SSL עבור אתרים",
 	"Cancel": "בטל",
 	"Cancel": "בטל",
@@ -173,6 +175,7 @@
 	"Enabled": "מופעל",
 	"Enabled": "מופעל",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "ודא שקובץ ה-CSV שלך כולל 4 עמודות בסדר הבא: שם, דוא\"ל, סיסמה, תפקיד.",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "ודא שקובץ ה-CSV שלך כולל 4 עמודות בסדר הבא: שם, דוא\"ל, סיסמה, תפקיד.",
 	"Enter {{role}} message here": "הזן הודעת {{role}} כאן",
 	"Enter {{role}} message here": "הזן הודעת {{role}} כאן",
+	"Enter a detail about yourself for your LLMs to recall": "",
 	"Enter Chunk Overlap": "הזן חפיפת נתונים",
 	"Enter Chunk Overlap": "הזן חפיפת נתונים",
 	"Enter Chunk Size": "הזן גודל נתונים",
 	"Enter Chunk Size": "הזן גודל נתונים",
 	"Enter Image Size (e.g. 512x512)": "הזן גודל תמונה (למשל 512x512)",
 	"Enter Image Size (e.g. 512x512)": "הזן גודל תמונה (למשל 512x512)",
@@ -488,6 +491,7 @@
 	"variable": "",
 	"variable": "",
 	"variable to have them replaced with clipboard content.": "",
 	"variable to have them replaced with clipboard content.": "",
 	"Version": "גרסה",
 	"Version": "גרסה",
+	"View": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Web": "רשת",
 	"Web": "רשת",
 	"Web Loader Settings": "",
 	"Web Loader Settings": "",

+ 6 - 2
src/lib/i18n/locales/hi-IN/translation.json

@@ -6,11 +6,12 @@
 	"{{modelName}} is thinking...": "{{modelName}} सोच रहा है...",
 	"{{modelName}} is thinking...": "{{modelName}} सोच रहा है...",
 	"{{user}}'s Chats": "{{user}} की चैट",
 	"{{user}}'s Chats": "{{user}} की चैट",
 	"{{webUIName}} Backend Required": "{{webUIName}} बैकएंड आवश्यक",
 	"{{webUIName}} Backend Required": "{{webUIName}} बैकएंड आवश्यक",
-  "A selected model does not support image input": "",
+	"A selected model does not support image input": "",
 	"a user": "एक उपयोगकर्ता",
 	"a user": "एक उपयोगकर्ता",
 	"About": "हमारे बारे में",
 	"About": "हमारे बारे में",
 	"Account": "खाता",
 	"Account": "खाता",
 	"Accurate information": "सटीक जानकारी",
 	"Accurate information": "सटीक जानकारी",
+	"Add": "",
 	"Add a model": "एक मॉडल जोड़ें",
 	"Add a model": "एक मॉडल जोड़ें",
 	"Add a model tag name": "एक मॉडल टैग नाम जोड़ें",
 	"Add a model tag name": "एक मॉडल टैग नाम जोड़ें",
 	"Add a short description about what this modelfile does": "यह मॉडलफ़ाइल क्या करती है इसके बारे में एक संक्षिप्त विवरण जोड़ें",
 	"Add a short description about what this modelfile does": "यह मॉडलफ़ाइल क्या करती है इसके बारे में एक संक्षिप्त विवरण जोड़ें",
@@ -19,6 +20,7 @@
 	"Add custom prompt": "",
 	"Add custom prompt": "",
 	"Add Docs": "दस्तावेज़ जोड़ें",
 	"Add Docs": "दस्तावेज़ जोड़ें",
 	"Add Files": "फाइलें जोड़ें",
 	"Add Files": "फाइलें जोड़ें",
+	"Add Memory": "",
 	"Add message": "संदेश डालें",
 	"Add message": "संदेश डालें",
 	"Add Model": "मॉडल जोड़ें",
 	"Add Model": "मॉडल जोड़ें",
 	"Add Tags": "टैगों को जोड़ें",
 	"Add Tags": "टैगों को जोड़ें",
@@ -49,6 +51,7 @@
 	"Archived Chats": "संग्रहीत चैट",
 	"Archived Chats": "संग्रहीत चैट",
 	"are allowed - Activate this command by typing": "अनुमति है - टाइप करके इस कमांड को सक्रिय करें",
 	"are allowed - Activate this command by typing": "अनुमति है - टाइप करके इस कमांड को सक्रिय करें",
 	"Are you sure?": "क्या आपको यकीन है?",
 	"Are you sure?": "क्या आपको यकीन है?",
+	"As you chat with LLMs, the details and preferences it remembers will be shown here.": "",
 	"Attach file": "",
 	"Attach file": "",
 	"Attention to detail": "विस्तार पर ध्यान",
 	"Attention to detail": "विस्तार पर ध्यान",
 	"Audio": "ऑडियो",
 	"Audio": "ऑडियो",
@@ -62,7 +65,6 @@
 	"Bad Response": "ख़राब प्रतिक्रिया",
 	"Bad Response": "ख़राब प्रतिक्रिया",
 	"before": "",
 	"before": "",
 	"Being lazy": "आलसी होना",
 	"Being lazy": "आलसी होना",
-	"Beta": "",
 	"Builder Mode": "बिल्डर मोड",
 	"Builder Mode": "बिल्डर मोड",
 	"Bypass SSL verification for Websites": "",
 	"Bypass SSL verification for Websites": "",
 	"Cancel": "रद्द करें",
 	"Cancel": "रद्द करें",
@@ -173,6 +175,7 @@
 	"Enabled": "सक्रिय",
 	"Enabled": "सक्रिय",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "सुनिश्चित करें कि आपकी CSV फ़ाइल में इस क्रम में 4 कॉलम शामिल हैं: नाम, ईमेल, पासवर्ड, भूमिका।",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "सुनिश्चित करें कि आपकी CSV फ़ाइल में इस क्रम में 4 कॉलम शामिल हैं: नाम, ईमेल, पासवर्ड, भूमिका।",
 	"Enter {{role}} message here": "यहां {{role}} संदेश दर्ज करें",
 	"Enter {{role}} message here": "यहां {{role}} संदेश दर्ज करें",
+	"Enter a detail about yourself for your LLMs to recall": "",
 	"Enter Chunk Overlap": "चंक ओवरलैप दर्ज करें",
 	"Enter Chunk Overlap": "चंक ओवरलैप दर्ज करें",
 	"Enter Chunk Size": "खंड आकार दर्ज करें",
 	"Enter Chunk Size": "खंड आकार दर्ज करें",
 	"Enter Image Size (e.g. 512x512)": "छवि का आकार दर्ज करें (उदा. 512x512)",
 	"Enter Image Size (e.g. 512x512)": "छवि का आकार दर्ज करें (उदा. 512x512)",
@@ -488,6 +491,7 @@
 	"variable": "",
 	"variable": "",
 	"variable to have them replaced with clipboard content.": "उन्हें क्लिपबोर्ड सामग्री से बदलने के लिए वेरिएबल।",
 	"variable to have them replaced with clipboard content.": "उन्हें क्लिपबोर्ड सामग्री से बदलने के लिए वेरिएबल।",
 	"Version": "संस्करण",
 	"Version": "संस्करण",
+	"View": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "चेतावनी: यदि आप अपने एम्बेडिंग मॉडल को अपडेट या बदलते हैं, तो आपको सभी दस्तावेज़ों को फिर से आयात करने की आवश्यकता होगी।",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "चेतावनी: यदि आप अपने एम्बेडिंग मॉडल को अपडेट या बदलते हैं, तो आपको सभी दस्तावेज़ों को फिर से आयात करने की आवश्यकता होगी।",
 	"Web": "वेब",
 	"Web": "वेब",
 	"Web Loader Settings": "",
 	"Web Loader Settings": "",

+ 6 - 2
src/lib/i18n/locales/hr-HR/translation.json

@@ -6,11 +6,12 @@
 	"{{modelName}} is thinking...": "{{modelName}} razmišlja...",
 	"{{modelName}} is thinking...": "{{modelName}} razmišlja...",
 	"{{user}}'s Chats": "Razgovori korisnika {{user}}",
 	"{{user}}'s Chats": "Razgovori korisnika {{user}}",
 	"{{webUIName}} Backend Required": "{{webUIName}} Backend je potreban",
 	"{{webUIName}} Backend Required": "{{webUIName}} Backend je potreban",
-  "A selected model does not support image input": "",
+	"A selected model does not support image input": "",
 	"a user": "korisnik",
 	"a user": "korisnik",
 	"About": "O",
 	"About": "O",
 	"Account": "Račun",
 	"Account": "Račun",
 	"Accurate information": "Točne informacije",
 	"Accurate information": "Točne informacije",
+	"Add": "",
 	"Add a model": "Dodaj model",
 	"Add a model": "Dodaj model",
 	"Add a model tag name": "Dodaj oznaku modela",
 	"Add a model tag name": "Dodaj oznaku modela",
 	"Add a short description about what this modelfile does": "Dodajte kratak opis što ova datoteka modela radi",
 	"Add a short description about what this modelfile does": "Dodajte kratak opis što ova datoteka modela radi",
@@ -19,6 +20,7 @@
 	"Add custom prompt": "Dodaj prilagođeni prompt",
 	"Add custom prompt": "Dodaj prilagođeni prompt",
 	"Add Docs": "Dodaj dokumente",
 	"Add Docs": "Dodaj dokumente",
 	"Add Files": "Dodaj datoteke",
 	"Add Files": "Dodaj datoteke",
+	"Add Memory": "",
 	"Add message": "Dodaj poruku",
 	"Add message": "Dodaj poruku",
 	"Add Model": "Dodaj model",
 	"Add Model": "Dodaj model",
 	"Add Tags": "Dodaj oznake",
 	"Add Tags": "Dodaj oznake",
@@ -49,6 +51,7 @@
 	"Archived Chats": "Arhivirani razgovori",
 	"Archived Chats": "Arhivirani razgovori",
 	"are allowed - Activate this command by typing": "su dopušteni - Aktivirajte ovu naredbu upisivanjem",
 	"are allowed - Activate this command by typing": "su dopušteni - Aktivirajte ovu naredbu upisivanjem",
 	"Are you sure?": "Jeste li sigurni?",
 	"Are you sure?": "Jeste li sigurni?",
+	"As you chat with LLMs, the details and preferences it remembers will be shown here.": "",
 	"Attach file": "Priloži datoteku",
 	"Attach file": "Priloži datoteku",
 	"Attention to detail": "Pažnja na detalje",
 	"Attention to detail": "Pažnja na detalje",
 	"Audio": "Audio",
 	"Audio": "Audio",
@@ -62,7 +65,6 @@
 	"Bad Response": "Loš odgovor",
 	"Bad Response": "Loš odgovor",
 	"before": "prije",
 	"before": "prije",
 	"Being lazy": "Biti lijen",
 	"Being lazy": "Biti lijen",
-	"Beta": "",
 	"Builder Mode": "Način graditelja",
 	"Builder Mode": "Način graditelja",
 	"Bypass SSL verification for Websites": "Zaobiđi SSL provjeru za web stranice",
 	"Bypass SSL verification for Websites": "Zaobiđi SSL provjeru za web stranice",
 	"Cancel": "Otkaži",
 	"Cancel": "Otkaži",
@@ -173,6 +175,7 @@
 	"Enabled": "Omogućeno",
 	"Enabled": "Omogućeno",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Provjerite da vaša CSV datoteka uključuje 4 stupca u ovom redoslijedu: Ime, Email, Lozinka, Uloga.",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Provjerite da vaša CSV datoteka uključuje 4 stupca u ovom redoslijedu: Ime, Email, Lozinka, Uloga.",
 	"Enter {{role}} message here": "Unesite poruku {{role}} ovdje",
 	"Enter {{role}} message here": "Unesite poruku {{role}} ovdje",
+	"Enter a detail about yourself for your LLMs to recall": "",
 	"Enter Chunk Overlap": "Unesite preklapanje dijelova",
 	"Enter Chunk Overlap": "Unesite preklapanje dijelova",
 	"Enter Chunk Size": "Unesite veličinu dijela",
 	"Enter Chunk Size": "Unesite veličinu dijela",
 	"Enter Image Size (e.g. 512x512)": "Unesite veličinu slike (npr. 512x512)",
 	"Enter Image Size (e.g. 512x512)": "Unesite veličinu slike (npr. 512x512)",
@@ -488,6 +491,7 @@
 	"variable": "varijabla",
 	"variable": "varijabla",
 	"variable to have them replaced with clipboard content.": "varijabla za zamjenu sadržajem međuspremnika.",
 	"variable to have them replaced with clipboard content.": "varijabla za zamjenu sadržajem međuspremnika.",
 	"Version": "Verzija",
 	"Version": "Verzija",
+	"View": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Upozorenje: Ako ažurirate ili promijenite svoj model za umetanje, morat ćete ponovno uvesti sve dokumente.",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Upozorenje: Ako ažurirate ili promijenite svoj model za umetanje, morat ćete ponovno uvesti sve dokumente.",
 	"Web": "Web",
 	"Web": "Web",
 	"Web Loader Settings": "Postavke web učitavanja",
 	"Web Loader Settings": "Postavke web učitavanja",

+ 6 - 2
src/lib/i18n/locales/it-IT/translation.json

@@ -6,11 +6,12 @@
 	"{{modelName}} is thinking...": "{{modelName}} sta pensando...",
 	"{{modelName}} is thinking...": "{{modelName}} sta pensando...",
 	"{{user}}'s Chats": "{{user}} Chat",
 	"{{user}}'s Chats": "{{user}} Chat",
 	"{{webUIName}} Backend Required": "{{webUIName}} Backend richiesto",
 	"{{webUIName}} Backend Required": "{{webUIName}} Backend richiesto",
-  "A selected model does not support image input": "",
+	"A selected model does not support image input": "",
 	"a user": "un utente",
 	"a user": "un utente",
 	"About": "Informazioni",
 	"About": "Informazioni",
 	"Account": "Account",
 	"Account": "Account",
 	"Accurate information": "Informazioni accurate",
 	"Accurate information": "Informazioni accurate",
+	"Add": "",
 	"Add a model": "Aggiungi un modello",
 	"Add a model": "Aggiungi un modello",
 	"Add a model tag name": "Aggiungi un nome tag del modello",
 	"Add a model tag name": "Aggiungi un nome tag del modello",
 	"Add a short description about what this modelfile does": "Aggiungi una breve descrizione di ciò che fa questo file modello",
 	"Add a short description about what this modelfile does": "Aggiungi una breve descrizione di ciò che fa questo file modello",
@@ -19,6 +20,7 @@
 	"Add custom prompt": "Aggiungi un prompt custom",
 	"Add custom prompt": "Aggiungi un prompt custom",
 	"Add Docs": "Aggiungi documenti",
 	"Add Docs": "Aggiungi documenti",
 	"Add Files": "Aggiungi file",
 	"Add Files": "Aggiungi file",
+	"Add Memory": "",
 	"Add message": "Aggiungi messaggio",
 	"Add message": "Aggiungi messaggio",
 	"Add Model": "Aggiungi modello",
 	"Add Model": "Aggiungi modello",
 	"Add Tags": "Aggiungi tag",
 	"Add Tags": "Aggiungi tag",
@@ -49,6 +51,7 @@
 	"Archived Chats": "Chat archiviate",
 	"Archived Chats": "Chat archiviate",
 	"are allowed - Activate this command by typing": "sono consentiti - Attiva questo comando digitando",
 	"are allowed - Activate this command by typing": "sono consentiti - Attiva questo comando digitando",
 	"Are you sure?": "Sei sicuro?",
 	"Are you sure?": "Sei sicuro?",
+	"As you chat with LLMs, the details and preferences it remembers will be shown here.": "",
 	"Attach file": "Allega file",
 	"Attach file": "Allega file",
 	"Attention to detail": "Attenzione ai dettagli",
 	"Attention to detail": "Attenzione ai dettagli",
 	"Audio": "Audio",
 	"Audio": "Audio",
@@ -62,7 +65,6 @@
 	"Bad Response": "Risposta non valida",
 	"Bad Response": "Risposta non valida",
 	"before": "prima",
 	"before": "prima",
 	"Being lazy": "Essere pigri",
 	"Being lazy": "Essere pigri",
-	"Beta": "",
 	"Builder Mode": "Modalità costruttore",
 	"Builder Mode": "Modalità costruttore",
 	"Bypass SSL verification for Websites": "Aggira la verifica SSL per i siti web",
 	"Bypass SSL verification for Websites": "Aggira la verifica SSL per i siti web",
 	"Cancel": "Annulla",
 	"Cancel": "Annulla",
@@ -173,6 +175,7 @@
 	"Enabled": "Abilitato",
 	"Enabled": "Abilitato",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Assicurati che il tuo file CSV includa 4 colonne in questo ordine: Nome, Email, Password, Ruolo.",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Assicurati che il tuo file CSV includa 4 colonne in questo ordine: Nome, Email, Password, Ruolo.",
 	"Enter {{role}} message here": "Inserisci il messaggio per {{role}} qui",
 	"Enter {{role}} message here": "Inserisci il messaggio per {{role}} qui",
+	"Enter a detail about yourself for your LLMs to recall": "",
 	"Enter Chunk Overlap": "Inserisci la sovrapposizione chunk",
 	"Enter Chunk Overlap": "Inserisci la sovrapposizione chunk",
 	"Enter Chunk Size": "Inserisci la dimensione chunk",
 	"Enter Chunk Size": "Inserisci la dimensione chunk",
 	"Enter Image Size (e.g. 512x512)": "Inserisci la dimensione dell'immagine (ad esempio 512x512)",
 	"Enter Image Size (e.g. 512x512)": "Inserisci la dimensione dell'immagine (ad esempio 512x512)",
@@ -488,6 +491,7 @@
 	"variable": "variabile",
 	"variable": "variabile",
 	"variable to have them replaced with clipboard content.": "variabile per farli sostituire con il contenuto degli appunti.",
 	"variable to have them replaced with clipboard content.": "variabile per farli sostituire con il contenuto degli appunti.",
 	"Version": "Versione",
 	"Version": "Versione",
+	"View": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Attenzione: se aggiorni o cambi il tuo modello di embedding, dovrai reimportare tutti i documenti.",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Attenzione: se aggiorni o cambi il tuo modello di embedding, dovrai reimportare tutti i documenti.",
 	"Web": "Web",
 	"Web": "Web",
 	"Web Loader Settings": "Impostazioni del caricatore Web",
 	"Web Loader Settings": "Impostazioni del caricatore Web",

+ 6 - 2
src/lib/i18n/locales/ja-JP/translation.json

@@ -6,11 +6,12 @@
 	"{{modelName}} is thinking...": "{{modelName}} は思考中です...",
 	"{{modelName}} is thinking...": "{{modelName}} は思考中です...",
 	"{{user}}'s Chats": "",
 	"{{user}}'s Chats": "",
 	"{{webUIName}} Backend Required": "{{webUIName}} バックエンドが必要です",
 	"{{webUIName}} Backend Required": "{{webUIName}} バックエンドが必要です",
-  "A selected model does not support image input": "",
+	"A selected model does not support image input": "",
 	"a user": "ユーザー",
 	"a user": "ユーザー",
 	"About": "概要",
 	"About": "概要",
 	"Account": "アカウント",
 	"Account": "アカウント",
 	"Accurate information": "",
 	"Accurate information": "",
+	"Add": "",
 	"Add a model": "モデルを追加",
 	"Add a model": "モデルを追加",
 	"Add a model tag name": "モデルタグ名を追加",
 	"Add a model tag name": "モデルタグ名を追加",
 	"Add a short description about what this modelfile does": "このモデルファイルの機能に関する簡単な説明を追加",
 	"Add a short description about what this modelfile does": "このモデルファイルの機能に関する簡単な説明を追加",
@@ -19,6 +20,7 @@
 	"Add custom prompt": "",
 	"Add custom prompt": "",
 	"Add Docs": "ドキュメントを追加",
 	"Add Docs": "ドキュメントを追加",
 	"Add Files": "ファイルを追加",
 	"Add Files": "ファイルを追加",
+	"Add Memory": "",
 	"Add message": "メッセージを追加",
 	"Add message": "メッセージを追加",
 	"Add Model": "",
 	"Add Model": "",
 	"Add Tags": "タグを追加",
 	"Add Tags": "タグを追加",
@@ -49,6 +51,7 @@
 	"Archived Chats": "チャット記録",
 	"Archived Chats": "チャット記録",
 	"are allowed - Activate this command by typing": "が許可されています - 次のように入力してこのコマンドをアクティブ化します",
 	"are allowed - Activate this command by typing": "が許可されています - 次のように入力してこのコマンドをアクティブ化します",
 	"Are you sure?": "よろしいですか?",
 	"Are you sure?": "よろしいですか?",
+	"As you chat with LLMs, the details and preferences it remembers will be shown here.": "",
 	"Attach file": "",
 	"Attach file": "",
 	"Attention to detail": "",
 	"Attention to detail": "",
 	"Audio": "オーディオ",
 	"Audio": "オーディオ",
@@ -62,7 +65,6 @@
 	"Bad Response": "",
 	"Bad Response": "",
 	"before": "",
 	"before": "",
 	"Being lazy": "",
 	"Being lazy": "",
-	"Beta": "",
 	"Builder Mode": "ビルダーモード",
 	"Builder Mode": "ビルダーモード",
 	"Bypass SSL verification for Websites": "",
 	"Bypass SSL verification for Websites": "",
 	"Cancel": "キャンセル",
 	"Cancel": "キャンセル",
@@ -173,6 +175,7 @@
 	"Enabled": "有効",
 	"Enabled": "有効",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Enter {{role}} message here": "{{role}} メッセージをここに入力してください",
 	"Enter {{role}} message here": "{{role}} メッセージをここに入力してください",
+	"Enter a detail about yourself for your LLMs to recall": "",
 	"Enter Chunk Overlap": "チャンクオーバーラップを入力してください",
 	"Enter Chunk Overlap": "チャンクオーバーラップを入力してください",
 	"Enter Chunk Size": "チャンクサイズを入力してください",
 	"Enter Chunk Size": "チャンクサイズを入力してください",
 	"Enter Image Size (e.g. 512x512)": "画像サイズを入力してください (例: 512x512)",
 	"Enter Image Size (e.g. 512x512)": "画像サイズを入力してください (例: 512x512)",
@@ -488,6 +491,7 @@
 	"variable": "変数",
 	"variable": "変数",
 	"variable to have them replaced with clipboard content.": "クリップボードの内容に置き換える変数。",
 	"variable to have them replaced with clipboard content.": "クリップボードの内容に置き換える変数。",
 	"Version": "バージョン",
 	"Version": "バージョン",
+	"View": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Web": "ウェブ",
 	"Web": "ウェブ",
 	"Web Loader Settings": "",
 	"Web Loader Settings": "",

+ 6 - 2
src/lib/i18n/locales/ka-GE/translation.json

@@ -6,11 +6,12 @@
 	"{{modelName}} is thinking...": "{{modelName}} ფიქრობს...",
 	"{{modelName}} is thinking...": "{{modelName}} ფიქრობს...",
 	"{{user}}'s Chats": "",
 	"{{user}}'s Chats": "",
 	"{{webUIName}} Backend Required": "{{webUIName}} საჭიროა ბექენდი",
 	"{{webUIName}} Backend Required": "{{webUIName}} საჭიროა ბექენდი",
-  "A selected model does not support image input": "",
+	"A selected model does not support image input": "",
 	"a user": "მომხმარებელი",
 	"a user": "მომხმარებელი",
 	"About": "შესახებ",
 	"About": "შესახებ",
 	"Account": "ანგარიში",
 	"Account": "ანგარიში",
 	"Accurate information": "",
 	"Accurate information": "",
+	"Add": "",
 	"Add a model": "მოდელის დამატება",
 	"Add a model": "მოდელის დამატება",
 	"Add a model tag name": "მოდელის ტეგის სახელის დამატება",
 	"Add a model tag name": "მოდელის ტეგის სახელის დამატება",
 	"Add a short description about what this modelfile does": "დაამატე მოკლე აღწერა იმის შესახებ, თუ რას აკეთებს ეს მოდელური ფაილი",
 	"Add a short description about what this modelfile does": "დაამატე მოკლე აღწერა იმის შესახებ, თუ რას აკეთებს ეს მოდელური ფაილი",
@@ -19,6 +20,7 @@
 	"Add custom prompt": "",
 	"Add custom prompt": "",
 	"Add Docs": "დოკუმენტის დამატება",
 	"Add Docs": "დოკუმენტის დამატება",
 	"Add Files": "ფაილების დამატება",
 	"Add Files": "ფაილების დამატება",
+	"Add Memory": "",
 	"Add message": "შეტყობინების დამატება",
 	"Add message": "შეტყობინების დამატება",
 	"Add Model": "",
 	"Add Model": "",
 	"Add Tags": "ტეგების დამატება",
 	"Add Tags": "ტეგების დამატება",
@@ -49,6 +51,7 @@
 	"Archived Chats": "ჩატის ისტორიის არქივი",
 	"Archived Chats": "ჩატის ისტორიის არქივი",
 	"are allowed - Activate this command by typing": "დაშვებულია - ბრძანების გასააქტიურებლად აკრიფეთ:",
 	"are allowed - Activate this command by typing": "დაშვებულია - ბრძანების გასააქტიურებლად აკრიფეთ:",
 	"Are you sure?": "დარწმუნებული ხარ?",
 	"Are you sure?": "დარწმუნებული ხარ?",
+	"As you chat with LLMs, the details and preferences it remembers will be shown here.": "",
 	"Attach file": "",
 	"Attach file": "",
 	"Attention to detail": "",
 	"Attention to detail": "",
 	"Audio": "ხმოვანი",
 	"Audio": "ხმოვანი",
@@ -62,7 +65,6 @@
 	"Bad Response": "",
 	"Bad Response": "",
 	"before": "",
 	"before": "",
 	"Being lazy": "",
 	"Being lazy": "",
-	"Beta": "",
 	"Builder Mode": "მოდელის შექმნა",
 	"Builder Mode": "მოდელის შექმნა",
 	"Bypass SSL verification for Websites": "",
 	"Bypass SSL verification for Websites": "",
 	"Cancel": "გაუქმება",
 	"Cancel": "გაუქმება",
@@ -173,6 +175,7 @@
 	"Enabled": "ჩართულია",
 	"Enabled": "ჩართულია",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Enter {{role}} message here": "შეიყვანე {{role}} შეტყობინება აქ",
 	"Enter {{role}} message here": "შეიყვანე {{role}} შეტყობინება აქ",
+	"Enter a detail about yourself for your LLMs to recall": "",
 	"Enter Chunk Overlap": "შეიყვანეთ ნაწილის გადახურვა",
 	"Enter Chunk Overlap": "შეიყვანეთ ნაწილის გადახურვა",
 	"Enter Chunk Size": "შეიყვანე ბლოკის ზომა",
 	"Enter Chunk Size": "შეიყვანე ბლოკის ზომა",
 	"Enter Image Size (e.g. 512x512)": "შეიყვანეთ სურათის ზომა (მაგ. 512x512)",
 	"Enter Image Size (e.g. 512x512)": "შეიყვანეთ სურათის ზომა (მაგ. 512x512)",
@@ -488,6 +491,7 @@
 	"variable": "ცვლადი",
 	"variable": "ცვლადი",
 	"variable to have them replaced with clipboard content.": "ცვლადი, რომ შეცვალოს ისინი ბუფერში შიგთავსით.",
 	"variable to have them replaced with clipboard content.": "ცვლადი, რომ შეცვალოს ისინი ბუფერში შიგთავსით.",
 	"Version": "ვერსია",
 	"Version": "ვერსია",
+	"View": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Web": "ვები",
 	"Web": "ვები",
 	"Web Loader Settings": "",
 	"Web Loader Settings": "",

+ 6 - 2
src/lib/i18n/locales/ko-KR/translation.json

@@ -6,11 +6,12 @@
 	"{{modelName}} is thinking...": "{{modelName}} 이(가) 생각중입니다....",
 	"{{modelName}} is thinking...": "{{modelName}} 이(가) 생각중입니다....",
 	"{{user}}'s Chats": "",
 	"{{user}}'s Chats": "",
 	"{{webUIName}} Backend Required": "{{webUIName}} 백엔드가 필요합니다.",
 	"{{webUIName}} Backend Required": "{{webUIName}} 백엔드가 필요합니다.",
-  "A selected model does not support image input": "",
+	"A selected model does not support image input": "",
 	"a user": "사용자",
 	"a user": "사용자",
 	"About": "소개",
 	"About": "소개",
 	"Account": "계정",
 	"Account": "계정",
 	"Accurate information": "",
 	"Accurate information": "",
+	"Add": "",
 	"Add a model": "모델 추가",
 	"Add a model": "모델 추가",
 	"Add a model tag name": "모델 태그명 추가",
 	"Add a model tag name": "모델 태그명 추가",
 	"Add a short description about what this modelfile does": "이 모델파일이 하는 일에 대한 간단한 설명 추가",
 	"Add a short description about what this modelfile does": "이 모델파일이 하는 일에 대한 간단한 설명 추가",
@@ -19,6 +20,7 @@
 	"Add custom prompt": "",
 	"Add custom prompt": "",
 	"Add Docs": "문서 추가",
 	"Add Docs": "문서 추가",
 	"Add Files": "파일 추가",
 	"Add Files": "파일 추가",
+	"Add Memory": "",
 	"Add message": "메시지 추가",
 	"Add message": "메시지 추가",
 	"Add Model": "",
 	"Add Model": "",
 	"Add Tags": "태그들 추가",
 	"Add Tags": "태그들 추가",
@@ -49,6 +51,7 @@
 	"Archived Chats": "채팅 기록 아카이브",
 	"Archived Chats": "채팅 기록 아카이브",
 	"are allowed - Activate this command by typing": "허용됩니다 - 이 명령을 활성화하려면 입력하세요.",
 	"are allowed - Activate this command by typing": "허용됩니다 - 이 명령을 활성화하려면 입력하세요.",
 	"Are you sure?": "확실합니까?",
 	"Are you sure?": "확실합니까?",
+	"As you chat with LLMs, the details and preferences it remembers will be shown here.": "",
 	"Attach file": "",
 	"Attach file": "",
 	"Attention to detail": "",
 	"Attention to detail": "",
 	"Audio": "오디오",
 	"Audio": "오디오",
@@ -62,7 +65,6 @@
 	"Bad Response": "",
 	"Bad Response": "",
 	"before": "",
 	"before": "",
 	"Being lazy": "",
 	"Being lazy": "",
-	"Beta": "",
 	"Builder Mode": "빌더 모드",
 	"Builder Mode": "빌더 모드",
 	"Bypass SSL verification for Websites": "",
 	"Bypass SSL verification for Websites": "",
 	"Cancel": "취소",
 	"Cancel": "취소",
@@ -173,6 +175,7 @@
 	"Enabled": "활성화",
 	"Enabled": "활성화",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Enter {{role}} message here": "여기에 {{role}} 메시지 입력",
 	"Enter {{role}} message here": "여기에 {{role}} 메시지 입력",
+	"Enter a detail about yourself for your LLMs to recall": "",
 	"Enter Chunk Overlap": "청크 오버랩 입력",
 	"Enter Chunk Overlap": "청크 오버랩 입력",
 	"Enter Chunk Size": "청크 크기 입력",
 	"Enter Chunk Size": "청크 크기 입력",
 	"Enter Image Size (e.g. 512x512)": "이미지 크기 입력(예: 512x512)",
 	"Enter Image Size (e.g. 512x512)": "이미지 크기 입력(예: 512x512)",
@@ -488,6 +491,7 @@
 	"variable": "변수",
 	"variable": "변수",
 	"variable to have them replaced with clipboard content.": "변수를 사용하여 클립보드 내용으로 바꾸세요.",
 	"variable to have them replaced with clipboard content.": "변수를 사용하여 클립보드 내용으로 바꾸세요.",
 	"Version": "버전",
 	"Version": "버전",
+	"View": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Web": "웹",
 	"Web": "웹",
 	"Web Loader Settings": "",
 	"Web Loader Settings": "",

+ 6 - 2
src/lib/i18n/locales/nl-NL/translation.json

@@ -6,11 +6,12 @@
 	"{{modelName}} is thinking...": "{{modelName}} is aan het denken...",
 	"{{modelName}} is thinking...": "{{modelName}} is aan het denken...",
 	"{{user}}'s Chats": "",
 	"{{user}}'s Chats": "",
 	"{{webUIName}} Backend Required": "{{webUIName}} Backend Verlpicht",
 	"{{webUIName}} Backend Required": "{{webUIName}} Backend Verlpicht",
-  "A selected model does not support image input": "",
+	"A selected model does not support image input": "",
 	"a user": "een gebruiker",
 	"a user": "een gebruiker",
 	"About": "Over",
 	"About": "Over",
 	"Account": "Account",
 	"Account": "Account",
 	"Accurate information": "",
 	"Accurate information": "",
+	"Add": "",
 	"Add a model": "Voeg een model toe",
 	"Add a model": "Voeg een model toe",
 	"Add a model tag name": "Voeg een model tag naam toe",
 	"Add a model tag name": "Voeg een model tag naam toe",
 	"Add a short description about what this modelfile does": "Voeg een korte beschrijving toe over wat dit modelfile doet",
 	"Add a short description about what this modelfile does": "Voeg een korte beschrijving toe over wat dit modelfile doet",
@@ -19,6 +20,7 @@
 	"Add custom prompt": "",
 	"Add custom prompt": "",
 	"Add Docs": "Voeg Docs toe",
 	"Add Docs": "Voeg Docs toe",
 	"Add Files": "Voege Bestanden toe",
 	"Add Files": "Voege Bestanden toe",
+	"Add Memory": "",
 	"Add message": "Voeg bericht toe",
 	"Add message": "Voeg bericht toe",
 	"Add Model": "",
 	"Add Model": "",
 	"Add Tags": "voeg tags toe",
 	"Add Tags": "voeg tags toe",
@@ -49,6 +51,7 @@
 	"Archived Chats": "chatrecord",
 	"Archived Chats": "chatrecord",
 	"are allowed - Activate this command by typing": "zijn toegestaan - Activeer deze commando door te typen",
 	"are allowed - Activate this command by typing": "zijn toegestaan - Activeer deze commando door te typen",
 	"Are you sure?": "Zeker weten?",
 	"Are you sure?": "Zeker weten?",
+	"As you chat with LLMs, the details and preferences it remembers will be shown here.": "",
 	"Attach file": "",
 	"Attach file": "",
 	"Attention to detail": "",
 	"Attention to detail": "",
 	"Audio": "Audio",
 	"Audio": "Audio",
@@ -62,7 +65,6 @@
 	"Bad Response": "",
 	"Bad Response": "",
 	"before": "",
 	"before": "",
 	"Being lazy": "",
 	"Being lazy": "",
-	"Beta": "",
 	"Builder Mode": "Bouwer Modus",
 	"Builder Mode": "Bouwer Modus",
 	"Bypass SSL verification for Websites": "",
 	"Bypass SSL verification for Websites": "",
 	"Cancel": "Annuleren",
 	"Cancel": "Annuleren",
@@ -173,6 +175,7 @@
 	"Enabled": "Ingeschakeld",
 	"Enabled": "Ingeschakeld",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Enter {{role}} message here": "Voeg {{role}} bericht hier toe",
 	"Enter {{role}} message here": "Voeg {{role}} bericht hier toe",
+	"Enter a detail about yourself for your LLMs to recall": "",
 	"Enter Chunk Overlap": "Voeg Chunk Overlap toe",
 	"Enter Chunk Overlap": "Voeg Chunk Overlap toe",
 	"Enter Chunk Size": "Voeg Chunk Size toe",
 	"Enter Chunk Size": "Voeg Chunk Size toe",
 	"Enter Image Size (e.g. 512x512)": "Voeg afbeelding formaat toe (Bijv. 512x512)",
 	"Enter Image Size (e.g. 512x512)": "Voeg afbeelding formaat toe (Bijv. 512x512)",
@@ -488,6 +491,7 @@
 	"variable": "variabele",
 	"variable": "variabele",
 	"variable to have them replaced with clipboard content.": "variabele om ze te laten vervangen door klembord inhoud.",
 	"variable to have them replaced with clipboard content.": "variabele om ze te laten vervangen door klembord inhoud.",
 	"Version": "Versie",
 	"Version": "Versie",
+	"View": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Web": "Web",
 	"Web": "Web",
 	"Web Loader Settings": "",
 	"Web Loader Settings": "",

+ 6 - 2
src/lib/i18n/locales/pa-IN/translation.json

@@ -6,11 +6,12 @@
 	"{{modelName}} is thinking...": "{{modelName}} ਸੋਚ ਰਿਹਾ ਹੈ...",
 	"{{modelName}} is thinking...": "{{modelName}} ਸੋਚ ਰਿਹਾ ਹੈ...",
 	"{{user}}'s Chats": "{{user}} ਦੀਆਂ ਗੱਲਾਂ",
 	"{{user}}'s Chats": "{{user}} ਦੀਆਂ ਗੱਲਾਂ",
 	"{{webUIName}} Backend Required": "{{webUIName}} ਬੈਕਐਂਡ ਲੋੜੀਂਦਾ ਹੈ",
 	"{{webUIName}} Backend Required": "{{webUIName}} ਬੈਕਐਂਡ ਲੋੜੀਂਦਾ ਹੈ",
-  "A selected model does not support image input": "",
+	"A selected model does not support image input": "",
 	"a user": "ਇੱਕ ਉਪਭੋਗਤਾ",
 	"a user": "ਇੱਕ ਉਪਭੋਗਤਾ",
 	"About": "ਬਾਰੇ",
 	"About": "ਬਾਰੇ",
 	"Account": "ਖਾਤਾ",
 	"Account": "ਖਾਤਾ",
 	"Accurate information": "ਸਹੀ ਜਾਣਕਾਰੀ",
 	"Accurate information": "ਸਹੀ ਜਾਣਕਾਰੀ",
+	"Add": "",
 	"Add a model": "ਇੱਕ ਮਾਡਲ ਸ਼ਾਮਲ ਕਰੋ",
 	"Add a model": "ਇੱਕ ਮਾਡਲ ਸ਼ਾਮਲ ਕਰੋ",
 	"Add a model tag name": "ਇੱਕ ਮਾਡਲ ਟੈਗ ਨਾਮ ਸ਼ਾਮਲ ਕਰੋ",
 	"Add a model tag name": "ਇੱਕ ਮਾਡਲ ਟੈਗ ਨਾਮ ਸ਼ਾਮਲ ਕਰੋ",
 	"Add a short description about what this modelfile does": "ਇਸ ਮਾਡਲਫਾਈਲ ਦੇ ਕੀ ਕਰਨ ਬਾਰੇ ਇੱਕ ਛੋਟੀ ਵਰਣਨਾ ਸ਼ਾਮਲ ਕਰੋ",
 	"Add a short description about what this modelfile does": "ਇਸ ਮਾਡਲਫਾਈਲ ਦੇ ਕੀ ਕਰਨ ਬਾਰੇ ਇੱਕ ਛੋਟੀ ਵਰਣਨਾ ਸ਼ਾਮਲ ਕਰੋ",
@@ -19,6 +20,7 @@
 	"Add custom prompt": "ਕਸਟਮ ਪ੍ਰੰਪਟ ਸ਼ਾਮਲ ਕਰੋ",
 	"Add custom prompt": "ਕਸਟਮ ਪ੍ਰੰਪਟ ਸ਼ਾਮਲ ਕਰੋ",
 	"Add Docs": "ਡਾਕੂਮੈਂਟ ਸ਼ਾਮਲ ਕਰੋ",
 	"Add Docs": "ਡਾਕੂਮੈਂਟ ਸ਼ਾਮਲ ਕਰੋ",
 	"Add Files": "ਫਾਈਲਾਂ ਸ਼ਾਮਲ ਕਰੋ",
 	"Add Files": "ਫਾਈਲਾਂ ਸ਼ਾਮਲ ਕਰੋ",
+	"Add Memory": "",
 	"Add message": "ਸੁਨੇਹਾ ਸ਼ਾਮਲ ਕਰੋ",
 	"Add message": "ਸੁਨੇਹਾ ਸ਼ਾਮਲ ਕਰੋ",
 	"Add Model": "ਮਾਡਲ ਸ਼ਾਮਲ ਕਰੋ",
 	"Add Model": "ਮਾਡਲ ਸ਼ਾਮਲ ਕਰੋ",
 	"Add Tags": "ਟੈਗ ਸ਼ਾਮਲ ਕਰੋ",
 	"Add Tags": "ਟੈਗ ਸ਼ਾਮਲ ਕਰੋ",
@@ -49,6 +51,7 @@
 	"Archived Chats": "ਆਰਕਾਈਵ ਕੀਤੀਆਂ ਗੱਲਾਂ",
 	"Archived Chats": "ਆਰਕਾਈਵ ਕੀਤੀਆਂ ਗੱਲਾਂ",
 	"are allowed - Activate this command by typing": "ਅਨੁਮਤ ਹਨ - ਇਸ ਕਮਾਂਡ ਨੂੰ ਟਾਈਪ ਕਰਕੇ ਸਰਗਰਮ ਕਰੋ",
 	"are allowed - Activate this command by typing": "ਅਨੁਮਤ ਹਨ - ਇਸ ਕਮਾਂਡ ਨੂੰ ਟਾਈਪ ਕਰਕੇ ਸਰਗਰਮ ਕਰੋ",
 	"Are you sure?": "ਕੀ ਤੁਸੀਂ ਯਕੀਨਨ ਹੋ?",
 	"Are you sure?": "ਕੀ ਤੁਸੀਂ ਯਕੀਨਨ ਹੋ?",
+	"As you chat with LLMs, the details and preferences it remembers will be shown here.": "",
 	"Attach file": "ਫਾਈਲ ਜੋੜੋ",
 	"Attach file": "ਫਾਈਲ ਜੋੜੋ",
 	"Attention to detail": "ਵੇਰਵੇ 'ਤੇ ਧਿਆਨ",
 	"Attention to detail": "ਵੇਰਵੇ 'ਤੇ ਧਿਆਨ",
 	"Audio": "ਆਡੀਓ",
 	"Audio": "ਆਡੀਓ",
@@ -62,7 +65,6 @@
 	"Bad Response": "ਖਰਾਬ ਜਵਾਬ",
 	"Bad Response": "ਖਰਾਬ ਜਵਾਬ",
 	"before": "ਪਹਿਲਾਂ",
 	"before": "ਪਹਿਲਾਂ",
 	"Being lazy": "ਆਲਸੀ ਹੋਣਾ",
 	"Being lazy": "ਆਲਸੀ ਹੋਣਾ",
-	"Beta": "",
 	"Builder Mode": "ਬਿਲਡਰ ਮੋਡ",
 	"Builder Mode": "ਬਿਲਡਰ ਮੋਡ",
 	"Bypass SSL verification for Websites": "ਵੈਬਸਾਈਟਾਂ ਲਈ SSL ਪ੍ਰਮਾਣਿਕਤਾ ਨੂੰ ਬਾਈਪਾਸ ਕਰੋ",
 	"Bypass SSL verification for Websites": "ਵੈਬਸਾਈਟਾਂ ਲਈ SSL ਪ੍ਰਮਾਣਿਕਤਾ ਨੂੰ ਬਾਈਪਾਸ ਕਰੋ",
 	"Cancel": "ਰੱਦ ਕਰੋ",
 	"Cancel": "ਰੱਦ ਕਰੋ",
@@ -173,6 +175,7 @@
 	"Enabled": "ਯੋਗ ਕੀਤਾ ਗਿਆ",
 	"Enabled": "ਯੋਗ ਕੀਤਾ ਗਿਆ",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "ਸੁਨਿਸ਼ਚਿਤ ਕਰੋ ਕਿ ਤੁਹਾਡੀ CSV ਫਾਈਲ ਵਿੱਚ ਇਸ ਕ੍ਰਮ ਵਿੱਚ 4 ਕਾਲਮ ਹਨ: ਨਾਮ, ਈਮੇਲ, ਪਾਸਵਰਡ, ਭੂਮਿਕਾ।",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "ਸੁਨਿਸ਼ਚਿਤ ਕਰੋ ਕਿ ਤੁਹਾਡੀ CSV ਫਾਈਲ ਵਿੱਚ ਇਸ ਕ੍ਰਮ ਵਿੱਚ 4 ਕਾਲਮ ਹਨ: ਨਾਮ, ਈਮੇਲ, ਪਾਸਵਰਡ, ਭੂਮਿਕਾ।",
 	"Enter {{role}} message here": "{{role}} ਸੁਨੇਹਾ ਇੱਥੇ ਦਰਜ ਕਰੋ",
 	"Enter {{role}} message here": "{{role}} ਸੁਨੇਹਾ ਇੱਥੇ ਦਰਜ ਕਰੋ",
+	"Enter a detail about yourself for your LLMs to recall": "",
 	"Enter Chunk Overlap": "ਚੰਕ ਓਵਰਲੈਪ ਦਰਜ ਕਰੋ",
 	"Enter Chunk Overlap": "ਚੰਕ ਓਵਰਲੈਪ ਦਰਜ ਕਰੋ",
 	"Enter Chunk Size": "ਚੰਕ ਆਕਾਰ ਦਰਜ ਕਰੋ",
 	"Enter Chunk Size": "ਚੰਕ ਆਕਾਰ ਦਰਜ ਕਰੋ",
 	"Enter Image Size (e.g. 512x512)": "ਚਿੱਤਰ ਆਕਾਰ ਦਰਜ ਕਰੋ (ਉਦਾਹਰਣ ਲਈ 512x512)",
 	"Enter Image Size (e.g. 512x512)": "ਚਿੱਤਰ ਆਕਾਰ ਦਰਜ ਕਰੋ (ਉਦਾਹਰਣ ਲਈ 512x512)",
@@ -488,6 +491,7 @@
 	"variable": "ਵੈਰੀਏਬਲ",
 	"variable": "ਵੈਰੀਏਬਲ",
 	"variable to have them replaced with clipboard content.": "ਕਲਿੱਪਬੋਰਡ ਸਮੱਗਰੀ ਨਾਲ ਬਦਲਣ ਲਈ ਵੈਰੀਏਬਲ।",
 	"variable to have them replaced with clipboard content.": "ਕਲਿੱਪਬੋਰਡ ਸਮੱਗਰੀ ਨਾਲ ਬਦਲਣ ਲਈ ਵੈਰੀਏਬਲ।",
 	"Version": "ਵਰਜਨ",
 	"Version": "ਵਰਜਨ",
+	"View": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "ਚੇਤਾਵਨੀ: ਜੇ ਤੁਸੀਂ ਆਪਣਾ ਐਮਬੈੱਡਿੰਗ ਮਾਡਲ ਅੱਪਡੇਟ ਜਾਂ ਬਦਲਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਸਾਰੇ ਡਾਕੂਮੈਂਟ ਮੁੜ ਆਯਾਤ ਕਰਨ ਦੀ ਲੋੜ ਹੋਵੇਗੀ।",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "ਚੇਤਾਵਨੀ: ਜੇ ਤੁਸੀਂ ਆਪਣਾ ਐਮਬੈੱਡਿੰਗ ਮਾਡਲ ਅੱਪਡੇਟ ਜਾਂ ਬਦਲਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਸਾਰੇ ਡਾਕੂਮੈਂਟ ਮੁੜ ਆਯਾਤ ਕਰਨ ਦੀ ਲੋੜ ਹੋਵੇਗੀ।",
 	"Web": "ਵੈਬ",
 	"Web": "ਵੈਬ",
 	"Web Loader Settings": "ਵੈਬ ਲੋਡਰ ਸੈਟਿੰਗਾਂ",
 	"Web Loader Settings": "ਵੈਬ ਲੋਡਰ ਸੈਟਿੰਗਾਂ",

+ 6 - 2
src/lib/i18n/locales/pl-PL/translation.json

@@ -6,11 +6,12 @@
 	"{{modelName}} is thinking...": "{{modelName}} myśli...",
 	"{{modelName}} is thinking...": "{{modelName}} myśli...",
 	"{{user}}'s Chats": "{{user}} - czaty",
 	"{{user}}'s Chats": "{{user}} - czaty",
 	"{{webUIName}} Backend Required": "Backend {{webUIName}} wymagane",
 	"{{webUIName}} Backend Required": "Backend {{webUIName}} wymagane",
-  "A selected model does not support image input": "",
+	"A selected model does not support image input": "",
 	"a user": "użytkownik",
 	"a user": "użytkownik",
 	"About": "O nas",
 	"About": "O nas",
 	"Account": "Konto",
 	"Account": "Konto",
 	"Accurate information": "Dokładna informacja",
 	"Accurate information": "Dokładna informacja",
+	"Add": "",
 	"Add a model": "Dodaj model",
 	"Add a model": "Dodaj model",
 	"Add a model tag name": "Dodaj nazwę tagu modelu",
 	"Add a model tag name": "Dodaj nazwę tagu modelu",
 	"Add a short description about what this modelfile does": "Dodaj krótki opis tego, co robi ten plik modelu",
 	"Add a short description about what this modelfile does": "Dodaj krótki opis tego, co robi ten plik modelu",
@@ -19,6 +20,7 @@
 	"Add custom prompt": "Dodaj własne polecenie",
 	"Add custom prompt": "Dodaj własne polecenie",
 	"Add Docs": "Dodaj dokumenty",
 	"Add Docs": "Dodaj dokumenty",
 	"Add Files": "Dodaj pliki",
 	"Add Files": "Dodaj pliki",
+	"Add Memory": "",
 	"Add message": "Dodaj wiadomość",
 	"Add message": "Dodaj wiadomość",
 	"Add Model": "Dodaj model",
 	"Add Model": "Dodaj model",
 	"Add Tags": "Dodaj tagi",
 	"Add Tags": "Dodaj tagi",
@@ -49,6 +51,7 @@
 	"Archived Chats": "Zarchiwizowane czaty",
 	"Archived Chats": "Zarchiwizowane czaty",
 	"are allowed - Activate this command by typing": "są dozwolone - Aktywuj to polecenie, wpisując",
 	"are allowed - Activate this command by typing": "są dozwolone - Aktywuj to polecenie, wpisując",
 	"Are you sure?": "Jesteś pewien?",
 	"Are you sure?": "Jesteś pewien?",
+	"As you chat with LLMs, the details and preferences it remembers will be shown here.": "",
 	"Attach file": "Dołącz plik",
 	"Attach file": "Dołącz plik",
 	"Attention to detail": "Dbałość o szczegóły",
 	"Attention to detail": "Dbałość o szczegóły",
 	"Audio": "Dźwięk",
 	"Audio": "Dźwięk",
@@ -62,7 +65,6 @@
 	"Bad Response": "Zła odpowiedź",
 	"Bad Response": "Zła odpowiedź",
 	"before": "przed",
 	"before": "przed",
 	"Being lazy": "Jest leniwy",
 	"Being lazy": "Jest leniwy",
-	"Beta": "",
 	"Builder Mode": "Tryb budowniczego",
 	"Builder Mode": "Tryb budowniczego",
 	"Bypass SSL verification for Websites": "Pomiń weryfikację SSL dla stron webowych",
 	"Bypass SSL verification for Websites": "Pomiń weryfikację SSL dla stron webowych",
 	"Cancel": "Anuluj",
 	"Cancel": "Anuluj",
@@ -173,6 +175,7 @@
 	"Enabled": "Włączone",
 	"Enabled": "Włączone",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Upewnij się, że twój plik CSV zawiera 4 kolumny w następującym porządku: Nazwa, Email, Hasło, Rola.",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Upewnij się, że twój plik CSV zawiera 4 kolumny w następującym porządku: Nazwa, Email, Hasło, Rola.",
 	"Enter {{role}} message here": "Wprowadź wiadomość {{role}} tutaj",
 	"Enter {{role}} message here": "Wprowadź wiadomość {{role}} tutaj",
+	"Enter a detail about yourself for your LLMs to recall": "",
 	"Enter Chunk Overlap": "Wprowadź zakchodzenie bloku",
 	"Enter Chunk Overlap": "Wprowadź zakchodzenie bloku",
 	"Enter Chunk Size": "Wprowadź rozmiar bloku",
 	"Enter Chunk Size": "Wprowadź rozmiar bloku",
 	"Enter Image Size (e.g. 512x512)": "Wprowadź rozmiar obrazu (np. 512x512)",
 	"Enter Image Size (e.g. 512x512)": "Wprowadź rozmiar obrazu (np. 512x512)",
@@ -488,6 +491,7 @@
 	"variable": "zmienna",
 	"variable": "zmienna",
 	"variable to have them replaced with clipboard content.": "zmienna która zostanie zastąpiona zawartością schowka.",
 	"variable to have them replaced with clipboard content.": "zmienna która zostanie zastąpiona zawartością schowka.",
 	"Version": "Wersja",
 	"Version": "Wersja",
+	"View": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Uwaga: Jeśli uaktualnisz lub zmienisz model osadzania, będziesz musiał ponownie zaimportować wszystkie dokumenty.",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Uwaga: Jeśli uaktualnisz lub zmienisz model osadzania, będziesz musiał ponownie zaimportować wszystkie dokumenty.",
 	"Web": "Sieć",
 	"Web": "Sieć",
 	"Web Loader Settings": "Ustawienia pobierania z sieci",
 	"Web Loader Settings": "Ustawienia pobierania z sieci",

+ 6 - 2
src/lib/i18n/locales/pt-BR/translation.json

@@ -6,11 +6,12 @@
 	"{{modelName}} is thinking...": "{{modelName}} está pensando...",
 	"{{modelName}} is thinking...": "{{modelName}} está pensando...",
 	"{{user}}'s Chats": "",
 	"{{user}}'s Chats": "",
 	"{{webUIName}} Backend Required": "{{webUIName}} Backend Necessário",
 	"{{webUIName}} Backend Required": "{{webUIName}} Backend Necessário",
-  "A selected model does not support image input": "",
+	"A selected model does not support image input": "",
 	"a user": "um usuário",
 	"a user": "um usuário",
 	"About": "Sobre",
 	"About": "Sobre",
 	"Account": "Conta",
 	"Account": "Conta",
 	"Accurate information": "",
 	"Accurate information": "",
+	"Add": "",
 	"Add a model": "Adicionar um modelo",
 	"Add a model": "Adicionar um modelo",
 	"Add a model tag name": "Adicionar um nome de tag de modelo",
 	"Add a model tag name": "Adicionar um nome de tag de modelo",
 	"Add a short description about what this modelfile does": "Adicione uma breve descrição sobre o que este arquivo de modelo faz",
 	"Add a short description about what this modelfile does": "Adicione uma breve descrição sobre o que este arquivo de modelo faz",
@@ -19,6 +20,7 @@
 	"Add custom prompt": "",
 	"Add custom prompt": "",
 	"Add Docs": "Adicionar Documentos",
 	"Add Docs": "Adicionar Documentos",
 	"Add Files": "Adicionar Arquivos",
 	"Add Files": "Adicionar Arquivos",
+	"Add Memory": "",
 	"Add message": "Adicionar mensagem",
 	"Add message": "Adicionar mensagem",
 	"Add Model": "",
 	"Add Model": "",
 	"Add Tags": "adicionar tags",
 	"Add Tags": "adicionar tags",
@@ -49,6 +51,7 @@
 	"Archived Chats": "Bate-papos arquivados",
 	"Archived Chats": "Bate-papos arquivados",
 	"are allowed - Activate this command by typing": "são permitidos - Ative este comando digitando",
 	"are allowed - Activate this command by typing": "são permitidos - Ative este comando digitando",
 	"Are you sure?": "Tem certeza?",
 	"Are you sure?": "Tem certeza?",
+	"As you chat with LLMs, the details and preferences it remembers will be shown here.": "",
 	"Attach file": "",
 	"Attach file": "",
 	"Attention to detail": "",
 	"Attention to detail": "",
 	"Audio": "Áudio",
 	"Audio": "Áudio",
@@ -62,7 +65,6 @@
 	"Bad Response": "",
 	"Bad Response": "",
 	"before": "",
 	"before": "",
 	"Being lazy": "",
 	"Being lazy": "",
-	"Beta": "",
 	"Builder Mode": "Modo de Construtor",
 	"Builder Mode": "Modo de Construtor",
 	"Bypass SSL verification for Websites": "",
 	"Bypass SSL verification for Websites": "",
 	"Cancel": "Cancelar",
 	"Cancel": "Cancelar",
@@ -173,6 +175,7 @@
 	"Enabled": "Ativado",
 	"Enabled": "Ativado",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Enter {{role}} message here": "Digite a mensagem de {{role}} aqui",
 	"Enter {{role}} message here": "Digite a mensagem de {{role}} aqui",
+	"Enter a detail about yourself for your LLMs to recall": "",
 	"Enter Chunk Overlap": "Digite a Sobreposição de Fragmento",
 	"Enter Chunk Overlap": "Digite a Sobreposição de Fragmento",
 	"Enter Chunk Size": "Digite o Tamanho do Fragmento",
 	"Enter Chunk Size": "Digite o Tamanho do Fragmento",
 	"Enter Image Size (e.g. 512x512)": "Digite o Tamanho da Imagem (por exemplo, 512x512)",
 	"Enter Image Size (e.g. 512x512)": "Digite o Tamanho da Imagem (por exemplo, 512x512)",
@@ -488,6 +491,7 @@
 	"variable": "variável",
 	"variable": "variável",
 	"variable to have them replaced with clipboard content.": "variável para que sejam substituídos pelo conteúdo da área de transferência.",
 	"variable to have them replaced with clipboard content.": "variável para que sejam substituídos pelo conteúdo da área de transferência.",
 	"Version": "Versão",
 	"Version": "Versão",
+	"View": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Web": "Web",
 	"Web": "Web",
 	"Web Loader Settings": "",
 	"Web Loader Settings": "",

+ 6 - 2
src/lib/i18n/locales/pt-PT/translation.json

@@ -6,11 +6,12 @@
 	"{{modelName}} is thinking...": "{{modelName}} está pensando...",
 	"{{modelName}} is thinking...": "{{modelName}} está pensando...",
 	"{{user}}'s Chats": "",
 	"{{user}}'s Chats": "",
 	"{{webUIName}} Backend Required": "{{webUIName}} Backend Necessário",
 	"{{webUIName}} Backend Required": "{{webUIName}} Backend Necessário",
-  "A selected model does not support image input": "",
+	"A selected model does not support image input": "",
 	"a user": "um usuário",
 	"a user": "um usuário",
 	"About": "Sobre",
 	"About": "Sobre",
 	"Account": "Conta",
 	"Account": "Conta",
 	"Accurate information": "",
 	"Accurate information": "",
+	"Add": "",
 	"Add a model": "Adicionar um modelo",
 	"Add a model": "Adicionar um modelo",
 	"Add a model tag name": "Adicionar um nome de tag de modelo",
 	"Add a model tag name": "Adicionar um nome de tag de modelo",
 	"Add a short description about what this modelfile does": "Adicione uma breve descrição sobre o que este arquivo de modelo faz",
 	"Add a short description about what this modelfile does": "Adicione uma breve descrição sobre o que este arquivo de modelo faz",
@@ -19,6 +20,7 @@
 	"Add custom prompt": "",
 	"Add custom prompt": "",
 	"Add Docs": "Adicionar Documentos",
 	"Add Docs": "Adicionar Documentos",
 	"Add Files": "Adicionar Arquivos",
 	"Add Files": "Adicionar Arquivos",
+	"Add Memory": "",
 	"Add message": "Adicionar mensagem",
 	"Add message": "Adicionar mensagem",
 	"Add Model": "",
 	"Add Model": "",
 	"Add Tags": "adicionar tags",
 	"Add Tags": "adicionar tags",
@@ -49,6 +51,7 @@
 	"Archived Chats": "Bate-papos arquivados",
 	"Archived Chats": "Bate-papos arquivados",
 	"are allowed - Activate this command by typing": "são permitidos - Ative este comando digitando",
 	"are allowed - Activate this command by typing": "são permitidos - Ative este comando digitando",
 	"Are you sure?": "Tem certeza?",
 	"Are you sure?": "Tem certeza?",
+	"As you chat with LLMs, the details and preferences it remembers will be shown here.": "",
 	"Attach file": "",
 	"Attach file": "",
 	"Attention to detail": "",
 	"Attention to detail": "",
 	"Audio": "Áudio",
 	"Audio": "Áudio",
@@ -62,7 +65,6 @@
 	"Bad Response": "",
 	"Bad Response": "",
 	"before": "",
 	"before": "",
 	"Being lazy": "",
 	"Being lazy": "",
-	"Beta": "",
 	"Builder Mode": "Modo de Construtor",
 	"Builder Mode": "Modo de Construtor",
 	"Bypass SSL verification for Websites": "",
 	"Bypass SSL verification for Websites": "",
 	"Cancel": "Cancelar",
 	"Cancel": "Cancelar",
@@ -173,6 +175,7 @@
 	"Enabled": "Ativado",
 	"Enabled": "Ativado",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Enter {{role}} message here": "Digite a mensagem de {{role}} aqui",
 	"Enter {{role}} message here": "Digite a mensagem de {{role}} aqui",
+	"Enter a detail about yourself for your LLMs to recall": "",
 	"Enter Chunk Overlap": "Digite a Sobreposição de Fragmento",
 	"Enter Chunk Overlap": "Digite a Sobreposição de Fragmento",
 	"Enter Chunk Size": "Digite o Tamanho do Fragmento",
 	"Enter Chunk Size": "Digite o Tamanho do Fragmento",
 	"Enter Image Size (e.g. 512x512)": "Digite o Tamanho da Imagem (por exemplo, 512x512)",
 	"Enter Image Size (e.g. 512x512)": "Digite o Tamanho da Imagem (por exemplo, 512x512)",
@@ -488,6 +491,7 @@
 	"variable": "variável",
 	"variable": "variável",
 	"variable to have them replaced with clipboard content.": "variável para que sejam substituídos pelo conteúdo da área de transferência.",
 	"variable to have them replaced with clipboard content.": "variável para que sejam substituídos pelo conteúdo da área de transferência.",
 	"Version": "Versão",
 	"Version": "Versão",
+	"View": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Web": "Web",
 	"Web": "Web",
 	"Web Loader Settings": "",
 	"Web Loader Settings": "",

+ 6 - 2
src/lib/i18n/locales/ru-RU/translation.json

@@ -6,11 +6,12 @@
 	"{{modelName}} is thinking...": "{{modelName}} думает...",
 	"{{modelName}} is thinking...": "{{modelName}} думает...",
 	"{{user}}'s Chats": "",
 	"{{user}}'s Chats": "",
 	"{{webUIName}} Backend Required": "{{webUIName}} бэкенд требуемый",
 	"{{webUIName}} Backend Required": "{{webUIName}} бэкенд требуемый",
-  "A selected model does not support image input": "",
+	"A selected model does not support image input": "",
 	"a user": "пользователь",
 	"a user": "пользователь",
 	"About": "Об",
 	"About": "Об",
 	"Account": "Аккаунт",
 	"Account": "Аккаунт",
 	"Accurate information": "",
 	"Accurate information": "",
+	"Add": "",
 	"Add a model": "Добавьте модель",
 	"Add a model": "Добавьте модель",
 	"Add a model tag name": "Добавьте имя тэга модели",
 	"Add a model tag name": "Добавьте имя тэга модели",
 	"Add a short description about what this modelfile does": "Добавьте краткое описание, что делает этот моделфайл",
 	"Add a short description about what this modelfile does": "Добавьте краткое описание, что делает этот моделфайл",
@@ -19,6 +20,7 @@
 	"Add custom prompt": "",
 	"Add custom prompt": "",
 	"Add Docs": "Добавьте документы",
 	"Add Docs": "Добавьте документы",
 	"Add Files": "Добавьте файлы",
 	"Add Files": "Добавьте файлы",
+	"Add Memory": "",
 	"Add message": "Добавьте сообщение",
 	"Add message": "Добавьте сообщение",
 	"Add Model": "",
 	"Add Model": "",
 	"Add Tags": "Добавьте тэгы",
 	"Add Tags": "Добавьте тэгы",
@@ -49,6 +51,7 @@
 	"Archived Chats": "запис на чат",
 	"Archived Chats": "запис на чат",
 	"are allowed - Activate this command by typing": "разрешено - активируйте эту команду вводом",
 	"are allowed - Activate this command by typing": "разрешено - активируйте эту команду вводом",
 	"Are you sure?": "Вы уверены?",
 	"Are you sure?": "Вы уверены?",
+	"As you chat with LLMs, the details and preferences it remembers will be shown here.": "",
 	"Attach file": "",
 	"Attach file": "",
 	"Attention to detail": "",
 	"Attention to detail": "",
 	"Audio": "Аудио",
 	"Audio": "Аудио",
@@ -62,7 +65,6 @@
 	"Bad Response": "",
 	"Bad Response": "",
 	"before": "",
 	"before": "",
 	"Being lazy": "",
 	"Being lazy": "",
-	"Beta": "",
 	"Builder Mode": "Режим конструктор",
 	"Builder Mode": "Режим конструктор",
 	"Bypass SSL verification for Websites": "",
 	"Bypass SSL verification for Websites": "",
 	"Cancel": "Аннулировать",
 	"Cancel": "Аннулировать",
@@ -173,6 +175,7 @@
 	"Enabled": "Включено",
 	"Enabled": "Включено",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Enter {{role}} message here": "Введите сообщение {{role}} здесь",
 	"Enter {{role}} message here": "Введите сообщение {{role}} здесь",
+	"Enter a detail about yourself for your LLMs to recall": "",
 	"Enter Chunk Overlap": "Введите перекрытие фрагмента",
 	"Enter Chunk Overlap": "Введите перекрытие фрагмента",
 	"Enter Chunk Size": "Введите размер фрагмента",
 	"Enter Chunk Size": "Введите размер фрагмента",
 	"Enter Image Size (e.g. 512x512)": "Введите размер изображения (например, 512x512)",
 	"Enter Image Size (e.g. 512x512)": "Введите размер изображения (например, 512x512)",
@@ -488,6 +491,7 @@
 	"variable": "переменная",
 	"variable": "переменная",
 	"variable to have them replaced with clipboard content.": "переменная, чтобы их заменить содержимым буфера обмена.",
 	"variable to have them replaced with clipboard content.": "переменная, чтобы их заменить содержимым буфера обмена.",
 	"Version": "Версия",
 	"Version": "Версия",
+	"View": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Web": "Веб",
 	"Web": "Веб",
 	"Web Loader Settings": "",
 	"Web Loader Settings": "",

+ 16 - 12
src/lib/i18n/locales/sr-RS/translation.json

@@ -6,11 +6,12 @@
 	"{{modelName}} is thinking...": "{{modelName}} размишља...",
 	"{{modelName}} is thinking...": "{{modelName}} размишља...",
 	"{{user}}'s Chats": "Ћаскања корисника {{user}}",
 	"{{user}}'s Chats": "Ћаскања корисника {{user}}",
 	"{{webUIName}} Backend Required": "Захтева се {{webUIName}} позадинац",
 	"{{webUIName}} Backend Required": "Захтева се {{webUIName}} позадинац",
-  "A selected model does not support image input": "",
+	"A selected model does not support image input": "",
 	"a user": "корисник",
 	"a user": "корисник",
 	"About": "О нама",
 	"About": "О нама",
 	"Account": "Налог",
 	"Account": "Налог",
 	"Accurate information": "Прецизне информације",
 	"Accurate information": "Прецизне информације",
+	"Add": "",
 	"Add a model": "Додај модел",
 	"Add a model": "Додај модел",
 	"Add a model tag name": "Додај ознаку модела",
 	"Add a model tag name": "Додај ознаку модела",
 	"Add a short description about what this modelfile does": "Додај кратак опис ове модел-датотеке",
 	"Add a short description about what this modelfile does": "Додај кратак опис ове модел-датотеке",
@@ -19,6 +20,7 @@
 	"Add custom prompt": "Додај прилагођен упит",
 	"Add custom prompt": "Додај прилагођен упит",
 	"Add Docs": "Додај документе",
 	"Add Docs": "Додај документе",
 	"Add Files": "Додај датотеке",
 	"Add Files": "Додај датотеке",
+	"Add Memory": "",
 	"Add message": "Додај поруку",
 	"Add message": "Додај поруку",
 	"Add Model": "Додај модел",
 	"Add Model": "Додај модел",
 	"Add Tags": "Додај ознаке",
 	"Add Tags": "Додај ознаке",
@@ -49,6 +51,7 @@
 	"Archived Chats": "Архивирана ћаскања",
 	"Archived Chats": "Архивирана ћаскања",
 	"are allowed - Activate this command by typing": "су дозвољени - Покрените ову наредбу уношењем",
 	"are allowed - Activate this command by typing": "су дозвољени - Покрените ову наредбу уношењем",
 	"Are you sure?": "Да ли сте сигурни?",
 	"Are you sure?": "Да ли сте сигурни?",
+	"As you chat with LLMs, the details and preferences it remembers will be shown here.": "",
 	"Attach file": "Приложи датотеку",
 	"Attach file": "Приложи датотеку",
 	"Attention to detail": "Пажња на детаље",
 	"Attention to detail": "Пажња на детаље",
 	"Audio": "Звук",
 	"Audio": "Звук",
@@ -62,15 +65,14 @@
 	"Bad Response": "Лош одговор",
 	"Bad Response": "Лош одговор",
 	"before": "пре",
 	"before": "пре",
 	"Being lazy": "Бити лењ",
 	"Being lazy": "Бити лењ",
-	"Beta": "",
 	"Builder Mode": "Режим градитеља",
 	"Builder Mode": "Режим градитеља",
 	"Bypass SSL verification for Websites": "Заобиђи SSL потврђивање за веб странице",
 	"Bypass SSL verification for Websites": "Заобиђи SSL потврђивање за веб странице",
 	"Cancel": "Откажи",
 	"Cancel": "Откажи",
 	"Categories": "Категорије",
 	"Categories": "Категорије",
 	"Change Password": "Промени лозинку",
 	"Change Password": "Промени лозинку",
 	"Chat": "Ћаскање",
 	"Chat": "Ћаскање",
-	"Chat Bubble UI": "",
-	"Chat direction": "",
+	"Chat Bubble UI": "Интерфејс балона ћаскања",
+	"Chat direction": "Смер ћаскања",
 	"Chat History": "Историја ћаскања",
 	"Chat History": "Историја ћаскања",
 	"Chat History is off for this browser.": "Историја ћаскања је искључена за овај прегледач.",
 	"Chat History is off for this browser.": "Историја ћаскања је искључена за овај прегледач.",
 	"Chats": "Ћаскања",
 	"Chats": "Ћаскања",
@@ -120,7 +122,7 @@
 	"Current Password": "Тренутна лозинка",
 	"Current Password": "Тренутна лозинка",
 	"Custom": "Прилагођено",
 	"Custom": "Прилагођено",
 	"Customize Ollama models for a specific purpose": "Прилагоди Ollama моделе за специфичну намену",
 	"Customize Ollama models for a specific purpose": "Прилагоди Ollama моделе за специфичну намену",
-	"Dark": "Тамно",
+	"Dark": "Тамна",
 	"Dashboard": "Контролна табла",
 	"Dashboard": "Контролна табла",
 	"Database": "База података",
 	"Database": "База података",
 	"December": "Децембар",
 	"December": "Децембар",
@@ -173,6 +175,7 @@
 	"Enabled": "Омогућено",
 	"Enabled": "Омогућено",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Уверите се да ваша CSV датотека укључује 4 колоне у овом редоследу: Име, Е-пошта, Лозинка, Улога.",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Уверите се да ваша CSV датотека укључује 4 колоне у овом редоследу: Име, Е-пошта, Лозинка, Улога.",
 	"Enter {{role}} message here": "Унесите {{role}} поруку овде",
 	"Enter {{role}} message here": "Унесите {{role}} поруку овде",
+	"Enter a detail about yourself for your LLMs to recall": "",
 	"Enter Chunk Overlap": "Унесите преклапање делова",
 	"Enter Chunk Overlap": "Унесите преклапање делова",
 	"Enter Chunk Size": "Унесите величину дела",
 	"Enter Chunk Size": "Унесите величину дела",
 	"Enter Image Size (e.g. 512x512)": "Унесите величину слике (нпр. 512x512)",
 	"Enter Image Size (e.g. 512x512)": "Унесите величину слике (нпр. 512x512)",
@@ -217,7 +220,7 @@
 	"General Settings": "Општа подешавања",
 	"General Settings": "Општа подешавања",
 	"Generation Info": "Информације о стварању",
 	"Generation Info": "Информације о стварању",
 	"Good Response": "Добар одговор",
 	"Good Response": "Добар одговор",
-	"h:mm a": "",
+	"h:mm a": "h:mm a",
 	"has no conversations.": "нема разговора.",
 	"has no conversations.": "нема разговора.",
 	"Hello, {{name}}": "Здраво, {{name}}",
 	"Hello, {{name}}": "Здраво, {{name}}",
 	"Help": "Помоћ",
 	"Help": "Помоћ",
@@ -252,7 +255,7 @@
 	"Light": "Светла",
 	"Light": "Светла",
 	"Listening...": "Слушам...",
 	"Listening...": "Слушам...",
 	"LLMs can make mistakes. Verify important information.": "ВЈМ-ови (LLM-ови) могу правити грешке. Проверите важне податке.",
 	"LLMs can make mistakes. Verify important information.": "ВЈМ-ови (LLM-ови) могу правити грешке. Проверите важне податке.",
-	"LTR": "",
+	"LTR": "ЛНД",
 	"Made by OpenWebUI Community": "Израдила OpenWebUI заједница",
 	"Made by OpenWebUI Community": "Израдила OpenWebUI заједница",
 	"Make sure to enclose them with": "Уверите се да их затворите са",
 	"Make sure to enclose them with": "Уверите се да их затворите са",
 	"Manage LiteLLM Models": "Управљај LiteLLM моделима",
 	"Manage LiteLLM Models": "Управљај LiteLLM моделима",
@@ -263,7 +266,7 @@
 	"Max Tokens": "Највише жетона",
 	"Max Tokens": "Највише жетона",
 	"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Највише 3 модела могу бити преузета истовремено. Покушајте поново касније.",
 	"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Највише 3 модела могу бити преузета истовремено. Покушајте поново касније.",
 	"May": "Мај",
 	"May": "Мај",
-	"Memory": "",
+	"Memory": "Памћење",
 	"Messages you send after creating your link won't be shared. Users with the URL will be able to view the shared chat.": "Поруке које пошаљете након стварања ваше везе неће бити подељене. Корисници са URL-ом ће моћи да виде дељено ћаскање.",
 	"Messages you send after creating your link won't be shared. Users with the URL will be able to view the shared chat.": "Поруке које пошаљете након стварања ваше везе неће бити подељене. Корисници са URL-ом ће моћи да виде дељено ћаскање.",
 	"Minimum Score": "Најмањи резултат",
 	"Minimum Score": "Најмањи резултат",
 	"Mirostat": "Миростат",
 	"Mirostat": "Миростат",
@@ -337,7 +340,7 @@
 	"PDF Extract Images (OCR)": "Извлачење PDF слика (OCR)",
 	"PDF Extract Images (OCR)": "Извлачење PDF слика (OCR)",
 	"pending": "на чекању",
 	"pending": "на чекању",
 	"Permission denied when accessing microphone: {{error}}": "Приступ микрофону је одбијен: {{error}}",
 	"Permission denied when accessing microphone: {{error}}": "Приступ микрофону је одбијен: {{error}}",
-	"Personalization": "",
+	"Personalization": "Прилагођавање",
 	"Plain text (.txt)": "Обичан текст (.txt)",
 	"Plain text (.txt)": "Обичан текст (.txt)",
 	"Playground": "Игралиште",
 	"Playground": "Игралиште",
 	"Positive attitude": "Позитиван став",
 	"Positive attitude": "Позитиван став",
@@ -375,7 +378,7 @@
 	"Role": "Улога",
 	"Role": "Улога",
 	"Rosé Pine": "Rosé Pine",
 	"Rosé Pine": "Rosé Pine",
 	"Rosé Pine Dawn": "Rosé Pine Dawn",
 	"Rosé Pine Dawn": "Rosé Pine Dawn",
-	"RTL": "",
+	"RTL": "ДНЛ",
 	"Save": "Сачувај",
 	"Save": "Сачувај",
 	"Save & Create": "Сачувај и направи",
 	"Save & Create": "Сачувај и направи",
 	"Save & Update": "Сачувај и ажурирај",
 	"Save & Update": "Сачувај и ажурирај",
@@ -395,7 +398,7 @@
 	"Select an Ollama instance": "Изабери Ollama инстанцу",
 	"Select an Ollama instance": "Изабери Ollama инстанцу",
 	"Select model": "Изабери модел",
 	"Select model": "Изабери модел",
 	"Selected models do not support image inputs": "",
 	"Selected models do not support image inputs": "",
-	"Send": "",
+	"Send": "Пошаљи",
 	"Send a Message": "Пошаљи поруку",
 	"Send a Message": "Пошаљи поруку",
 	"Send message": "Пошаљи поруку",
 	"Send message": "Пошаљи поруку",
 	"September": "Септембар",
 	"September": "Септембар",
@@ -488,6 +491,7 @@
 	"variable": "променљива",
 	"variable": "променљива",
 	"variable to have them replaced with clipboard content.": "променљива за замену са садржајем оставе.",
 	"variable to have them replaced with clipboard content.": "променљива за замену са садржајем оставе.",
 	"Version": "Издање",
 	"Version": "Издање",
+	"View": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Упозорење: ако ажурирате или промените ваш модел уградње, мораћете поново да увезете све документе.",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Упозорење: ако ажурирате или промените ваш модел уградње, мораћете поново да увезете све документе.",
 	"Web": "Веб",
 	"Web": "Веб",
 	"Web Loader Settings": "Подешавања веб учитавача",
 	"Web Loader Settings": "Подешавања веб учитавача",
@@ -499,7 +503,7 @@
 	"What’s New in": "Шта је ново у",
 	"What’s New in": "Шта је ново у",
 	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Када је историја искључена, нова ћаскања у овом прегледачу неће се појавити у вашој историји на било ком вашем уређају.",
 	"When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Када је историја искључена, нова ћаскања у овом прегледачу неће се појавити у вашој историји на било ком вашем уређају.",
 	"Whisper (Local)": "Whisper (локално)",
 	"Whisper (Local)": "Whisper (локално)",
-	"Workspace": "",
+	"Workspace": "Радни простор",
 	"Write a prompt suggestion (e.g. Who are you?)": "Напишите предлог упита (нпр. „ко си ти?“)",
 	"Write a prompt suggestion (e.g. Who are you?)": "Напишите предлог упита (нпр. „ко си ти?“)",
 	"Write a summary in 50 words that summarizes [topic or keyword].": "Напишите сажетак у 50 речи који резимира [тему или кључну реч].",
 	"Write a summary in 50 words that summarizes [topic or keyword].": "Напишите сажетак у 50 речи који резимира [тему или кључну реч].",
 	"Yes": "",
 	"Yes": "",

+ 6 - 2
src/lib/i18n/locales/sv-SE/translation.json

@@ -6,11 +6,12 @@
 	"{{modelName}} is thinking...": "{{modelName}} tänker...",
 	"{{modelName}} is thinking...": "{{modelName}} tänker...",
 	"{{user}}'s Chats": "",
 	"{{user}}'s Chats": "",
 	"{{webUIName}} Backend Required": "{{webUIName}} Backend krävs",
 	"{{webUIName}} Backend Required": "{{webUIName}} Backend krävs",
-  "A selected model does not support image input": "",
+	"A selected model does not support image input": "",
 	"a user": "en användare",
 	"a user": "en användare",
 	"About": "Om",
 	"About": "Om",
 	"Account": "Konto",
 	"Account": "Konto",
 	"Accurate information": "",
 	"Accurate information": "",
+	"Add": "",
 	"Add a model": "Lägg till en modell",
 	"Add a model": "Lägg till en modell",
 	"Add a model tag name": "Lägg till ett modellnamn",
 	"Add a model tag name": "Lägg till ett modellnamn",
 	"Add a short description about what this modelfile does": "Lägg till en kort beskrivning av vad den här modelfilen gör",
 	"Add a short description about what this modelfile does": "Lägg till en kort beskrivning av vad den här modelfilen gör",
@@ -19,6 +20,7 @@
 	"Add custom prompt": "",
 	"Add custom prompt": "",
 	"Add Docs": "Lägg till dokument",
 	"Add Docs": "Lägg till dokument",
 	"Add Files": "Lägg till filer",
 	"Add Files": "Lägg till filer",
+	"Add Memory": "",
 	"Add message": "Lägg till meddelande",
 	"Add message": "Lägg till meddelande",
 	"Add Model": "",
 	"Add Model": "",
 	"Add Tags": "",
 	"Add Tags": "",
@@ -49,6 +51,7 @@
 	"Archived Chats": "",
 	"Archived Chats": "",
 	"are allowed - Activate this command by typing": "är tillåtna - Aktivera detta kommando genom att skriva",
 	"are allowed - Activate this command by typing": "är tillåtna - Aktivera detta kommando genom att skriva",
 	"Are you sure?": "Är du säker?",
 	"Are you sure?": "Är du säker?",
+	"As you chat with LLMs, the details and preferences it remembers will be shown here.": "",
 	"Attach file": "",
 	"Attach file": "",
 	"Attention to detail": "",
 	"Attention to detail": "",
 	"Audio": "Ljud",
 	"Audio": "Ljud",
@@ -62,7 +65,6 @@
 	"Bad Response": "",
 	"Bad Response": "",
 	"before": "",
 	"before": "",
 	"Being lazy": "",
 	"Being lazy": "",
-	"Beta": "",
 	"Builder Mode": "Byggarläge",
 	"Builder Mode": "Byggarläge",
 	"Bypass SSL verification for Websites": "",
 	"Bypass SSL verification for Websites": "",
 	"Cancel": "Avbryt",
 	"Cancel": "Avbryt",
@@ -173,6 +175,7 @@
 	"Enabled": "Aktiverad",
 	"Enabled": "Aktiverad",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Enter {{role}} message here": "Skriv {{role}} meddelande här",
 	"Enter {{role}} message here": "Skriv {{role}} meddelande här",
+	"Enter a detail about yourself for your LLMs to recall": "",
 	"Enter Chunk Overlap": "Ange Chunk-överlappning",
 	"Enter Chunk Overlap": "Ange Chunk-överlappning",
 	"Enter Chunk Size": "Ange Chunk-storlek",
 	"Enter Chunk Size": "Ange Chunk-storlek",
 	"Enter Image Size (e.g. 512x512)": "Ange bildstorlek (t.ex. 512x512)",
 	"Enter Image Size (e.g. 512x512)": "Ange bildstorlek (t.ex. 512x512)",
@@ -488,6 +491,7 @@
 	"variable": "variabel",
 	"variable": "variabel",
 	"variable to have them replaced with clipboard content.": "variabel för att få dem ersatta med urklippsinnehåll.",
 	"variable to have them replaced with clipboard content.": "variabel för att få dem ersatta med urklippsinnehåll.",
 	"Version": "Version",
 	"Version": "Version",
+	"View": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Web": "Webb",
 	"Web": "Webb",
 	"Web Loader Settings": "",
 	"Web Loader Settings": "",

+ 6 - 2
src/lib/i18n/locales/tr-TR/translation.json

@@ -6,11 +6,12 @@
 	"{{modelName}} is thinking...": "{{modelName}} düşünüyor...",
 	"{{modelName}} is thinking...": "{{modelName}} düşünüyor...",
 	"{{user}}'s Chats": "{{user}} Sohbetleri",
 	"{{user}}'s Chats": "{{user}} Sohbetleri",
 	"{{webUIName}} Backend Required": "{{webUIName}} Arkayüz Gerekli",
 	"{{webUIName}} Backend Required": "{{webUIName}} Arkayüz Gerekli",
-  "A selected model does not support image input": "",
+	"A selected model does not support image input": "",
 	"a user": "bir kullanıcı",
 	"a user": "bir kullanıcı",
 	"About": "Hakkında",
 	"About": "Hakkında",
 	"Account": "Hesap",
 	"Account": "Hesap",
 	"Accurate information": "Doğru bilgi",
 	"Accurate information": "Doğru bilgi",
+	"Add": "",
 	"Add a model": "Bir model ekleyin",
 	"Add a model": "Bir model ekleyin",
 	"Add a model tag name": "Bir model etiket adı ekleyin",
 	"Add a model tag name": "Bir model etiket adı ekleyin",
 	"Add a short description about what this modelfile does": "Bu model dosyasının ne yaptığı hakkında kısa bir açıklama ekleyin",
 	"Add a short description about what this modelfile does": "Bu model dosyasının ne yaptığı hakkında kısa bir açıklama ekleyin",
@@ -19,6 +20,7 @@
 	"Add custom prompt": "Özel prompt ekle",
 	"Add custom prompt": "Özel prompt ekle",
 	"Add Docs": "Dökümanlar Ekle",
 	"Add Docs": "Dökümanlar Ekle",
 	"Add Files": "Dosyalar Ekle",
 	"Add Files": "Dosyalar Ekle",
+	"Add Memory": "",
 	"Add message": "Mesaj ekle",
 	"Add message": "Mesaj ekle",
 	"Add Model": "Model Ekle",
 	"Add Model": "Model Ekle",
 	"Add Tags": "Etiketler ekle",
 	"Add Tags": "Etiketler ekle",
@@ -49,6 +51,7 @@
 	"Archived Chats": "Arşivlenmiş Sohbetler",
 	"Archived Chats": "Arşivlenmiş Sohbetler",
 	"are allowed - Activate this command by typing": "izin verilir - Bu komutu yazarak etkinleştirin",
 	"are allowed - Activate this command by typing": "izin verilir - Bu komutu yazarak etkinleştirin",
 	"Are you sure?": "Emin misiniz?",
 	"Are you sure?": "Emin misiniz?",
+	"As you chat with LLMs, the details and preferences it remembers will be shown here.": "",
 	"Attach file": "Dosya ekle",
 	"Attach file": "Dosya ekle",
 	"Attention to detail": "Ayrıntılara dikkat",
 	"Attention to detail": "Ayrıntılara dikkat",
 	"Audio": "Ses",
 	"Audio": "Ses",
@@ -62,7 +65,6 @@
 	"Bad Response": "Kötü Yanıt",
 	"Bad Response": "Kötü Yanıt",
 	"before": "önce",
 	"before": "önce",
 	"Being lazy": "Tembelleşiyor",
 	"Being lazy": "Tembelleşiyor",
-	"Beta": "",
 	"Builder Mode": "Oluşturucu Modu",
 	"Builder Mode": "Oluşturucu Modu",
 	"Bypass SSL verification for Websites": "Web Siteleri için SSL doğrulamasını atlayın",
 	"Bypass SSL verification for Websites": "Web Siteleri için SSL doğrulamasını atlayın",
 	"Cancel": "İptal",
 	"Cancel": "İptal",
@@ -173,6 +175,7 @@
 	"Enabled": "Etkin",
 	"Enabled": "Etkin",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "CSV dosyanızın şu sırayla 4 sütun içerdiğinden emin olun: İsim, E-posta, Şifre, Rol.",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "CSV dosyanızın şu sırayla 4 sütun içerdiğinden emin olun: İsim, E-posta, Şifre, Rol.",
 	"Enter {{role}} message here": "Buraya {{role}} mesajını girin",
 	"Enter {{role}} message here": "Buraya {{role}} mesajını girin",
+	"Enter a detail about yourself for your LLMs to recall": "",
 	"Enter Chunk Overlap": "Chunk Örtüşmesini Girin",
 	"Enter Chunk Overlap": "Chunk Örtüşmesini Girin",
 	"Enter Chunk Size": "Chunk Boyutunu Girin",
 	"Enter Chunk Size": "Chunk Boyutunu Girin",
 	"Enter Image Size (e.g. 512x512)": "Görüntü Boyutunu Girin (örn. 512x512)",
 	"Enter Image Size (e.g. 512x512)": "Görüntü Boyutunu Girin (örn. 512x512)",
@@ -488,6 +491,7 @@
 	"variable": "değişken",
 	"variable": "değişken",
 	"variable to have them replaced with clipboard content.": "panodaki içerikle değiştirilmesi için değişken.",
 	"variable to have them replaced with clipboard content.": "panodaki içerikle değiştirilmesi için değişken.",
 	"Version": "Sürüm",
 	"Version": "Sürüm",
+	"View": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Uyarı: Gömme modelinizi günceller veya değiştirirseniz, tüm belgeleri yeniden içe aktarmanız gerekecektir.",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Uyarı: Gömme modelinizi günceller veya değiştirirseniz, tüm belgeleri yeniden içe aktarmanız gerekecektir.",
 	"Web": "Web",
 	"Web": "Web",
 	"Web Loader Settings": "Web Yükleyici Ayarları",
 	"Web Loader Settings": "Web Yükleyici Ayarları",

+ 6 - 2
src/lib/i18n/locales/uk-UA/translation.json

@@ -6,11 +6,12 @@
 	"{{modelName}} is thinking...": "{{modelName}} думає...",
 	"{{modelName}} is thinking...": "{{modelName}} думає...",
 	"{{user}}'s Chats": "Чати {{user}}а",
 	"{{user}}'s Chats": "Чати {{user}}а",
 	"{{webUIName}} Backend Required": "Необхідно підключення бекенду {{webUIName}}",
 	"{{webUIName}} Backend Required": "Необхідно підключення бекенду {{webUIName}}",
-  "A selected model does not support image input": "",
+	"A selected model does not support image input": "",
 	"a user": "користувача",
 	"a user": "користувача",
 	"About": "Про програму",
 	"About": "Про програму",
 	"Account": "Обліковий запис",
 	"Account": "Обліковий запис",
 	"Accurate information": "Точна інформація",
 	"Accurate information": "Точна інформація",
+	"Add": "",
 	"Add a model": "Додати модель",
 	"Add a model": "Додати модель",
 	"Add a model tag name": "Додати ім'я тегу моделі",
 	"Add a model tag name": "Додати ім'я тегу моделі",
 	"Add a short description about what this modelfile does": "Додати короткий опис того, що робить цей файл моделі",
 	"Add a short description about what this modelfile does": "Додати короткий опис того, що робить цей файл моделі",
@@ -19,6 +20,7 @@
 	"Add custom prompt": "Додати користувацьку підказку",
 	"Add custom prompt": "Додати користувацьку підказку",
 	"Add Docs": "Додати документи",
 	"Add Docs": "Додати документи",
 	"Add Files": "Додати файли",
 	"Add Files": "Додати файли",
+	"Add Memory": "",
 	"Add message": "Додати повідомлення",
 	"Add message": "Додати повідомлення",
 	"Add Model": "Додати модель",
 	"Add Model": "Додати модель",
 	"Add Tags": "додати теги",
 	"Add Tags": "додати теги",
@@ -49,6 +51,7 @@
 	"Archived Chats": "Архівовані чати",
 	"Archived Chats": "Архівовані чати",
 	"are allowed - Activate this command by typing": "дозволено - активізуйте цю команду набором",
 	"are allowed - Activate this command by typing": "дозволено - активізуйте цю команду набором",
 	"Are you sure?": "Ви впевнені?",
 	"Are you sure?": "Ви впевнені?",
+	"As you chat with LLMs, the details and preferences it remembers will be shown here.": "",
 	"Attach file": "Прикріпити файл",
 	"Attach file": "Прикріпити файл",
 	"Attention to detail": "Увага до деталей",
 	"Attention to detail": "Увага до деталей",
 	"Audio": "Аудіо",
 	"Audio": "Аудіо",
@@ -62,7 +65,6 @@
 	"Bad Response": "Неправильна відповідь",
 	"Bad Response": "Неправильна відповідь",
 	"before": "до того, як",
 	"before": "до того, як",
 	"Being lazy": "Не поспішати",
 	"Being lazy": "Не поспішати",
-	"Beta": "",
 	"Builder Mode": "Режим конструктора",
 	"Builder Mode": "Режим конструктора",
 	"Bypass SSL verification for Websites": "Обхід SSL-перевірки для веб-сайтів",
 	"Bypass SSL verification for Websites": "Обхід SSL-перевірки для веб-сайтів",
 	"Cancel": "Скасувати",
 	"Cancel": "Скасувати",
@@ -173,6 +175,7 @@
 	"Enabled": "Увімкнено",
 	"Enabled": "Увімкнено",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Переконайтеся, що ваш CSV-файл містить 4 колонки в такому порядку: Ім'я, Email, Пароль, Роль.",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Переконайтеся, що ваш CSV-файл містить 4 колонки в такому порядку: Ім'я, Email, Пароль, Роль.",
 	"Enter {{role}} message here": "Введіть повідомлення {{role}} тут",
 	"Enter {{role}} message here": "Введіть повідомлення {{role}} тут",
+	"Enter a detail about yourself for your LLMs to recall": "",
 	"Enter Chunk Overlap": "Введіть перекриття фрагменту",
 	"Enter Chunk Overlap": "Введіть перекриття фрагменту",
 	"Enter Chunk Size": "Введіть розмір фрагменту",
 	"Enter Chunk Size": "Введіть розмір фрагменту",
 	"Enter Image Size (e.g. 512x512)": "Введіть розмір зображення (напр., 512x512)",
 	"Enter Image Size (e.g. 512x512)": "Введіть розмір зображення (напр., 512x512)",
@@ -488,6 +491,7 @@
 	"variable": "змінна",
 	"variable": "змінна",
 	"variable to have them replaced with clipboard content.": "змінна, щоб замінити їх вмістом буфера обміну.",
 	"variable to have them replaced with clipboard content.": "змінна, щоб замінити їх вмістом буфера обміну.",
 	"Version": "Версія",
 	"Version": "Версія",
+	"View": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Попередження: Якщо ви оновлюєте або змінюєте модель вбудовування, вам потрібно буде повторно імпортувати всі документи.",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Попередження: Якщо ви оновлюєте або змінюєте модель вбудовування, вам потрібно буде повторно імпортувати всі документи.",
 	"Web": "Веб",
 	"Web": "Веб",
 	"Web Loader Settings": "Налаштування веб-завантажувача",
 	"Web Loader Settings": "Налаштування веб-завантажувача",

+ 90 - 86
src/lib/i18n/locales/vi-VN/translation.json

@@ -6,11 +6,12 @@
 	"{{modelName}} is thinking...": "{{modelName}} đang suy nghĩ...",
 	"{{modelName}} is thinking...": "{{modelName}} đang suy nghĩ...",
 	"{{user}}'s Chats": "",
 	"{{user}}'s Chats": "",
 	"{{webUIName}} Backend Required": "{{webUIName}} Yêu cầu Backend",
 	"{{webUIName}} Backend Required": "{{webUIName}} Yêu cầu Backend",
-  "A selected model does not support image input": "",
+	"A selected model does not support image input": "",
 	"a user": "người sử dụng",
 	"a user": "người sử dụng",
 	"About": "Giới thiệu",
 	"About": "Giới thiệu",
 	"Account": "Tài khoản",
 	"Account": "Tài khoản",
 	"Accurate information": "Thông tin chính xác",
 	"Accurate information": "Thông tin chính xác",
+	"Add": "",
 	"Add a model": "Thêm mô hình",
 	"Add a model": "Thêm mô hình",
 	"Add a model tag name": "Thêm tên thẻ mô hình (tag)",
 	"Add a model tag name": "Thêm tên thẻ mô hình (tag)",
 	"Add a short description about what this modelfile does": "Thêm mô tả ngắn về việc tệp mô tả mô hình (modelfile) này làm gì",
 	"Add a short description about what this modelfile does": "Thêm mô tả ngắn về việc tệp mô tả mô hình (modelfile) này làm gì",
@@ -19,17 +20,18 @@
 	"Add custom prompt": "",
 	"Add custom prompt": "",
 	"Add Docs": "Thêm tài liệu",
 	"Add Docs": "Thêm tài liệu",
 	"Add Files": "Thêm tệp",
 	"Add Files": "Thêm tệp",
+	"Add Memory": "",
 	"Add message": "Thêm tin nhắn",
 	"Add message": "Thêm tin nhắn",
-	"Add Model": "",
+	"Add Model": "Thêm model",
 	"Add Tags": "thêm thẻ",
 	"Add Tags": "thêm thẻ",
-	"Add User": "",
+	"Add User": "Thêm người dùng",
 	"Adjusting these settings will apply changes universally to all users.": "Các thay đổi cài đặt này sẽ áp dụng cho tất cả người sử dụng.",
 	"Adjusting these settings will apply changes universally to all users.": "Các thay đổi cài đặt này sẽ áp dụng cho tất cả người sử dụng.",
 	"admin": "quản trị viên",
 	"admin": "quản trị viên",
 	"Admin Panel": "Trang Quản trị",
 	"Admin Panel": "Trang Quản trị",
 	"Admin Settings": "Cài đặt hệ thống",
 	"Admin Settings": "Cài đặt hệ thống",
 	"Advanced Parameters": "Các tham số Nâng cao",
 	"Advanced Parameters": "Các tham số Nâng cao",
 	"all": "tất cả",
 	"all": "tất cả",
-	"All Documents": "",
+	"All Documents": "Tất cả tài liệu",
 	"All selected models do not support image input, removed images": "",
 	"All selected models do not support image input, removed images": "",
 	"All Users": "Danh sách người sử dụng",
 	"All Users": "Danh sách người sử dụng",
 	"Allow": "Cho phép",
 	"Allow": "Cho phép",
@@ -38,31 +40,31 @@
 	"Already have an account?": "Bạn đã có tài khoản?",
 	"Already have an account?": "Bạn đã có tài khoản?",
 	"an assistant": "trợ lý",
 	"an assistant": "trợ lý",
 	"and": "và",
 	"and": "và",
-	"and create a new shared link.": "",
+	"and create a new shared link.": "và tạo một link chia sẻ mới",
 	"API Base URL": "Đường dẫn tới API (API Base URL)",
 	"API Base URL": "Đường dẫn tới API (API Base URL)",
 	"API Key": "API Key",
 	"API Key": "API Key",
 	"API Key created.": "",
 	"API Key created.": "",
 	"API keys": "",
 	"API keys": "",
 	"API RPM": "API RPM",
 	"API RPM": "API RPM",
-	"April": "",
-	"Archive": "",
+	"April": "Tháng 4",
+	"Archive": "Lưu trữ",
 	"Archived Chats": "bản ghi trò chuyện",
 	"Archived Chats": "bản ghi trò chuyện",
 	"are allowed - Activate this command by typing": "được phép - Kích hoạt lệnh này bằng cách gõ",
 	"are allowed - Activate this command by typing": "được phép - Kích hoạt lệnh này bằng cách gõ",
 	"Are you sure?": "Bạn có chắc chắn không?",
 	"Are you sure?": "Bạn có chắc chắn không?",
-	"Attach file": "",
+	"As you chat with LLMs, the details and preferences it remembers will be shown here.": "",
+	"Attach file": "Đính kèm file",
 	"Attention to detail": "Có sự chú ý đến chi tiết của vấn đề",
 	"Attention to detail": "Có sự chú ý đến chi tiết của vấn đề",
 	"Audio": "Âm thanh",
 	"Audio": "Âm thanh",
-	"August": "",
+	"August": "Tháng 8",
 	"Auto-playback response": "Tự động phát lại phản hồi (Auto-playback)",
 	"Auto-playback response": "Tự động phát lại phản hồi (Auto-playback)",
 	"Auto-send input after 3 sec.": "Tự động gửi đầu vào sau 3 giây.",
 	"Auto-send input after 3 sec.": "Tự động gửi đầu vào sau 3 giây.",
 	"AUTOMATIC1111 Base URL": "Đường dẫn kết nối tới AUTOMATIC1111 (Base URL)",
 	"AUTOMATIC1111 Base URL": "Đường dẫn kết nối tới AUTOMATIC1111 (Base URL)",
 	"AUTOMATIC1111 Base URL is required.": "Base URL của AUTOMATIC1111 là bắt buộc.",
 	"AUTOMATIC1111 Base URL is required.": "Base URL của AUTOMATIC1111 là bắt buộc.",
 	"available!": "có sẵn!",
 	"available!": "có sẵn!",
 	"Back": "Quay lại",
 	"Back": "Quay lại",
-	"Bad Response": "",
-	"before": "",
+	"Bad Response": "Trả lời KHÔNG tốt",
+	"before": "trước",
 	"Being lazy": "Lười biếng",
 	"Being lazy": "Lười biếng",
-	"Beta": "",
 	"Builder Mode": "Chế độ Builder",
 	"Builder Mode": "Chế độ Builder",
 	"Bypass SSL verification for Websites": "",
 	"Bypass SSL verification for Websites": "",
 	"Cancel": "Hủy bỏ",
 	"Cancel": "Hủy bỏ",
@@ -79,14 +81,14 @@
 	"Checking for updates...": "Đang kiểm tra cập nhật...",
 	"Checking for updates...": "Đang kiểm tra cập nhật...",
 	"Choose a model before saving...": "Chọn mô hình trước khi lưu...",
 	"Choose a model before saving...": "Chọn mô hình trước khi lưu...",
 	"Chunk Overlap": "Chồng lấn (overlap)",
 	"Chunk Overlap": "Chồng lấn (overlap)",
-	"Chunk Params": "Cài đặt số lượng ký tự cho khối ký tự (chunk)",
+	"Chunk Params": "Tham số khối (chunk)",
 	"Chunk Size": "Kích thước khối (size)",
 	"Chunk Size": "Kích thước khối (size)",
 	"Citation": "Trích dẫn",
 	"Citation": "Trích dẫn",
 	"Click here for help.": "Bấm vào đây để được trợ giúp.",
 	"Click here for help.": "Bấm vào đây để được trợ giúp.",
-	"Click here to": "",
+	"Click here to": "Nhấn vào đây để",
 	"Click here to check other modelfiles.": "Bấm vào đây để kiểm tra các tệp mô tả mô hình (modelfiles) khác.",
 	"Click here to check other modelfiles.": "Bấm vào đây để kiểm tra các tệp mô tả mô hình (modelfiles) khác.",
 	"Click here to select": "Bấm vào đây để chọn",
 	"Click here to select": "Bấm vào đây để chọn",
-	"Click here to select a csv file.": "",
+	"Click here to select a csv file.": "Nhấn vào đây để chọn tệp csv",
 	"Click here to select documents.": "Bấm vào đây để chọn tài liệu.",
 	"Click here to select documents.": "Bấm vào đây để chọn tài liệu.",
 	"click here.": "bấm vào đây.",
 	"click here.": "bấm vào đây.",
 	"Click on the user role button to change a user's role.": "Bấm vào nút trong cột VAI TRÒ để thay đổi quyền của người sử dụng.",
 	"Click on the user role button to change a user's role.": "Bấm vào nút trong cột VAI TRÒ để thay đổi quyền của người sử dụng.",
@@ -100,21 +102,21 @@
 	"Connections": "Kết nối",
 	"Connections": "Kết nối",
 	"Content": "Nội dung",
 	"Content": "Nội dung",
 	"Context Length": "Độ dài ngữ cảnh (Context Length)",
 	"Context Length": "Độ dài ngữ cảnh (Context Length)",
-	"Continue Response": "",
+	"Continue Response": "Tiếp tục trả lời",
 	"Conversation Mode": "Chế độ hội thoại",
 	"Conversation Mode": "Chế độ hội thoại",
 	"Copied shared chat URL to clipboard!": "",
 	"Copied shared chat URL to clipboard!": "",
-	"Copy": "",
+	"Copy": "Sao chép",
 	"Copy last code block": "Sao chép khối mã cuối cùng",
 	"Copy last code block": "Sao chép khối mã cuối cùng",
 	"Copy last response": "Sao chép phản hồi cuối cùng",
 	"Copy last response": "Sao chép phản hồi cuối cùng",
-	"Copy Link": "",
+	"Copy Link": "Sao chép link",
 	"Copying to clipboard was successful!": "Sao chép vào clipboard thành công!",
 	"Copying to clipboard was successful!": "Sao chép vào clipboard thành công!",
 	"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':": "Tạo một cụm từ súc tích, 3-5 từ làm tiêu đề cho truy vấn sau, tuân thủ nghiêm ngặt giới hạn 3-5 từ và tránh sử dụng từ 'tiêu đề':",
 	"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':": "Tạo một cụm từ súc tích, 3-5 từ làm tiêu đề cho truy vấn sau, tuân thủ nghiêm ngặt giới hạn 3-5 từ và tránh sử dụng từ 'tiêu đề':",
 	"Create a modelfile": "Tạo tệp mô tả cho mô hình",
 	"Create a modelfile": "Tạo tệp mô tả cho mô hình",
 	"Create Account": "Tạo Tài khoản",
 	"Create Account": "Tạo Tài khoản",
-	"Create new key": "",
-	"Create new secret key": "",
+	"Create new key": "Tạo key mới",
+	"Create new secret key": "Tạo key bí mật mới",
 	"Created at": "Được tạo vào lúc",
 	"Created at": "Được tạo vào lúc",
-	"Created At": "",
+	"Created At": "Tạo lúc",
 	"Current Model": "Mô hình hiện tại",
 	"Current Model": "Mô hình hiện tại",
 	"Current Models": "",
 	"Current Models": "",
 	"Current Password": "Mật khẩu hiện tại",
 	"Current Password": "Mật khẩu hiện tại",
@@ -123,7 +125,7 @@
 	"Dark": "Tối",
 	"Dark": "Tối",
 	"Dashboard": "",
 	"Dashboard": "",
 	"Database": "Cơ sở dữ liệu",
 	"Database": "Cơ sở dữ liệu",
-	"December": "",
+	"December": "Tháng 12",
 	"Default": "Mặc định",
 	"Default": "Mặc định",
 	"Default (Automatic1111)": "Mặc định (Automatic1111)",
 	"Default (Automatic1111)": "Mặc định (Automatic1111)",
 	"Default (SentenceTransformers)": "",
 	"Default (SentenceTransformers)": "",
@@ -132,15 +134,15 @@
 	"Default Prompt Suggestions": "Đề xuất prompt mặc định",
 	"Default Prompt Suggestions": "Đề xuất prompt mặc định",
 	"Default User Role": "Vai trò mặc định",
 	"Default User Role": "Vai trò mặc định",
 	"delete": "xóa",
 	"delete": "xóa",
-	"Delete": "",
+	"Delete": "Xóa",
 	"Delete a model": "Xóa mô hình",
 	"Delete a model": "Xóa mô hình",
 	"Delete chat": "Xóa nội dung chat",
 	"Delete chat": "Xóa nội dung chat",
-	"Delete Chat": "",
+	"Delete Chat": "Xóa chat",
 	"Delete Chats": "Xóa nội dung chat",
 	"Delete Chats": "Xóa nội dung chat",
-	"delete this link": "",
-	"Delete User": "",
+	"delete this link": "Xóa link này",
+	"Delete User": "Xóa người dùng",
 	"Deleted {{deleteModelTag}}": "Đã xóa {{deleteModelTag}}",
 	"Deleted {{deleteModelTag}}": "Đã xóa {{deleteModelTag}}",
-	"Deleted {{tagName}}": "",
+	"Deleted {{tagName}}": "Xóa {{tagName}}",
 	"Description": "Mô tả",
 	"Description": "Mô tả",
 	"Didn't fully follow instructions": "Không tuân theo chỉ dẫn một cách đầy đủ",
 	"Didn't fully follow instructions": "Không tuân theo chỉ dẫn một cách đầy đủ",
 	"Disabled": "Đã vô hiệu hóa",
 	"Disabled": "Đã vô hiệu hóa",
@@ -156,12 +158,12 @@
 	"Don't Allow": "Không Cho phép",
 	"Don't Allow": "Không Cho phép",
 	"Don't have an account?": "Không có tài khoản?",
 	"Don't have an account?": "Không có tài khoản?",
 	"Don't like the style": "Không thích phong cách trả lời",
 	"Don't like the style": "Không thích phong cách trả lời",
-	"Download": "",
-	"Download canceled": "",
+	"Download": "Tải về",
+	"Download canceled": "Đã hủy download",
 	"Download Database": "Tải xuống Cơ sở dữ liệu",
 	"Download Database": "Tải xuống Cơ sở dữ liệu",
 	"Drop any files here to add to the conversation": "Thả bất kỳ tệp nào ở đây để thêm vào nội dung chat",
 	"Drop any files here to add to the conversation": "Thả bất kỳ tệp nào ở đây để thêm vào nội dung chat",
 	"e.g. '30s','10m'. Valid time units are 's', 'm', 'h'.": "vd: '30s','10m'. Đơn vị thời gian hợp lệ là 's', 'm', 'h'.",
 	"e.g. '30s','10m'. Valid time units are 's', 'm', 'h'.": "vd: '30s','10m'. Đơn vị thời gian hợp lệ là 's', 'm', 'h'.",
-	"Edit": "",
+	"Edit": "Chỉnh sửa",
 	"Edit Doc": "Thay đổi tài liệu",
 	"Edit Doc": "Thay đổi tài liệu",
 	"Edit User": "Thay đổi thông tin người sử dụng",
 	"Edit User": "Thay đổi thông tin người sử dụng",
 	"Email": "Email",
 	"Email": "Email",
@@ -171,8 +173,9 @@
 	"Enable Chat History": "Bật Lịch sử chat",
 	"Enable Chat History": "Bật Lịch sử chat",
 	"Enable New Sign Ups": "Cho phép đăng ký mới",
 	"Enable New Sign Ups": "Cho phép đăng ký mới",
 	"Enabled": "Đã bật",
 	"Enabled": "Đã bật",
-	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
+	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "Đảm bảo tệp CSV của bạn bao gồm 4 cột theo thứ tự sau: Name, Email, Password, Role.",
 	"Enter {{role}} message here": "Nhập yêu cầu của {{role}} ở đây",
 	"Enter {{role}} message here": "Nhập yêu cầu của {{role}} ở đây",
+	"Enter a detail about yourself for your LLMs to recall": "",
 	"Enter Chunk Overlap": "Nhập Chunk chồng lấn (overlap)",
 	"Enter Chunk Overlap": "Nhập Chunk chồng lấn (overlap)",
 	"Enter Chunk Size": "Nhập Kích thước Chunk",
 	"Enter Chunk Size": "Nhập Kích thước Chunk",
 	"Enter Image Size (e.g. 512x512)": "Nhập Kích thước ảnh (vd: 512x512)",
 	"Enter Image Size (e.g. 512x512)": "Nhập Kích thước ảnh (vd: 512x512)",
@@ -185,7 +188,7 @@
 	"Enter Model Display Name": "",
 	"Enter Model Display Name": "",
 	"Enter model tag (e.g. {{modelTag}})": "Nhập thẻ mô hình (vd: {{modelTag}})",
 	"Enter model tag (e.g. {{modelTag}})": "Nhập thẻ mô hình (vd: {{modelTag}})",
 	"Enter Number of Steps (e.g. 50)": "Nhập số Steps (vd: 50)",
 	"Enter Number of Steps (e.g. 50)": "Nhập số Steps (vd: 50)",
-	"Enter Score": "",
+	"Enter Score": "Nhập Score",
 	"Enter stop sequence": "Nhập stop sequence",
 	"Enter stop sequence": "Nhập stop sequence",
 	"Enter Top K": "Nhập Top K",
 	"Enter Top K": "Nhập Top K",
 	"Enter URL (e.g. http://127.0.0.1:7860/)": "Nhập URL (vd: http://127.0.0.1:7860/)",
 	"Enter URL (e.g. http://127.0.0.1:7860/)": "Nhập URL (vd: http://127.0.0.1:7860/)",
@@ -193,16 +196,16 @@
 	"Enter Your Email": "Nhập Email của bạn",
 	"Enter Your Email": "Nhập Email của bạn",
 	"Enter Your Full Name": "Nhập Họ và Tên của bạn",
 	"Enter Your Full Name": "Nhập Họ và Tên của bạn",
 	"Enter Your Password": "Nhập Mật khẩu của bạn",
 	"Enter Your Password": "Nhập Mật khẩu của bạn",
-	"Enter Your Role": "",
+	"Enter Your Role": "Nhập vai trò của bạn",
 	"Experimental": "Thử nghiệm",
 	"Experimental": "Thử nghiệm",
 	"Export All Chats (All Users)": "Tải về tất cả nội dung chat (tất cả mọi người)",
 	"Export All Chats (All Users)": "Tải về tất cả nội dung chat (tất cả mọi người)",
 	"Export Chats": "Tải nội dung chat về máy",
 	"Export Chats": "Tải nội dung chat về máy",
 	"Export Documents Mapping": "Tải cấu trúc tài liệu về máy",
 	"Export Documents Mapping": "Tải cấu trúc tài liệu về máy",
 	"Export Modelfiles": "Tải tệp mô tả về máy",
 	"Export Modelfiles": "Tải tệp mô tả về máy",
 	"Export Prompts": "Tải các prompt về máy",
 	"Export Prompts": "Tải các prompt về máy",
-	"Failed to create API Key.": "",
+	"Failed to create API Key.": "Lỗi khởi tạo API Key",
 	"Failed to read clipboard contents": "Không thể đọc nội dung clipboard",
 	"Failed to read clipboard contents": "Không thể đọc nội dung clipboard",
-	"February": "",
+	"February": "Tháng 2",
 	"Feel free to add specific details": "Mô tả chi tiết về chất lượng của câu hỏi và phương án trả lời",
 	"Feel free to add specific details": "Mô tả chi tiết về chất lượng của câu hỏi và phương án trả lời",
 	"File Mode": "Chế độ Tệp văn bản",
 	"File Mode": "Chế độ Tệp văn bản",
 	"File not found.": "Không tìm thấy tệp.",
 	"File not found.": "Không tìm thấy tệp.",
@@ -215,12 +218,12 @@
 	"Full Screen Mode": "Chế độ Toàn màn hình",
 	"Full Screen Mode": "Chế độ Toàn màn hình",
 	"General": "Cài đặt chung",
 	"General": "Cài đặt chung",
 	"General Settings": "Cấu hình chung",
 	"General Settings": "Cấu hình chung",
-	"Generation Info": "",
-	"Good Response": "",
+	"Generation Info": "Thông tin chung",
+	"Good Response": "Trả lời tốt",
 	"h:mm a": "",
 	"h:mm a": "",
-	"has no conversations.": "",
+	"has no conversations.": "không có hội thoại",
 	"Hello, {{name}}": "Xin chào, {{name}}",
 	"Hello, {{name}}": "Xin chào, {{name}}",
-	"Help": "",
+	"Help": "Trợ giúp",
 	"Hide": "Ẩn",
 	"Hide": "Ẩn",
 	"Hide Additional Params": "Ẩn Các tham số bổ sung",
 	"Hide Additional Params": "Ẩn Các tham số bổ sung",
 	"How can I help you today?": "Tôi có thể giúp gì cho bạn hôm nay?",
 	"How can I help you today?": "Tôi có thể giúp gì cho bạn hôm nay?",
@@ -234,21 +237,21 @@
 	"Import Modelfiles": "Nạp tệp mô tả",
 	"Import Modelfiles": "Nạp tệp mô tả",
 	"Import Prompts": "Nạp các prompt lên hệ thống",
 	"Import Prompts": "Nạp các prompt lên hệ thống",
 	"Include `--api` flag when running stable-diffusion-webui": "Bao gồm flag `--api` khi chạy stable-diffusion-webui",
 	"Include `--api` flag when running stable-diffusion-webui": "Bao gồm flag `--api` khi chạy stable-diffusion-webui",
-	"Input commands": "",
+	"Input commands": "Nhập các câu lệnh",
 	"Interface": "Giao diện",
 	"Interface": "Giao diện",
-	"Invalid Tag": "",
+	"Invalid Tag": "Tag không hợp lệ",
 	"Is Model Vision Capable": "",
 	"Is Model Vision Capable": "",
-	"January": "",
+	"January": "Tháng 1",
 	"join our Discord for help.": "tham gia Discord của chúng tôi để được trợ giúp.",
 	"join our Discord for help.": "tham gia Discord của chúng tôi để được trợ giúp.",
 	"JSON": "JSON",
 	"JSON": "JSON",
-	"July": "",
-	"June": "",
+	"July": "Tháng 7",
+	"June": "Tháng 6",
 	"JWT Expiration": "JWT Hết hạn",
 	"JWT Expiration": "JWT Hết hạn",
 	"JWT Token": "Token JWT",
 	"JWT Token": "Token JWT",
 	"Keep Alive": "Giữ kết nối",
 	"Keep Alive": "Giữ kết nối",
 	"Keyboard shortcuts": "Phím tắt",
 	"Keyboard shortcuts": "Phím tắt",
 	"Language": "Ngôn ngữ",
 	"Language": "Ngôn ngữ",
-	"Last Active": "",
+	"Last Active": "Truy cập gần nhất",
 	"Light": "Sáng",
 	"Light": "Sáng",
 	"Listening...": "Đang nghe...",
 	"Listening...": "Đang nghe...",
 	"LLMs can make mistakes. Verify important information.": "Hệ thống có thể tạo ra nội dung không chính xác hoặc sai. Hãy kiểm chứng kỹ lưỡng thông tin trước khi tiếp nhận và sử dụng.",
 	"LLMs can make mistakes. Verify important information.": "Hệ thống có thể tạo ra nội dung không chính xác hoặc sai. Hãy kiểm chứng kỹ lưỡng thông tin trước khi tiếp nhận và sử dụng.",
@@ -259,13 +262,13 @@
 	"Manage Model Information": "",
 	"Manage Model Information": "",
 	"Manage Models": "Quản lý mô hình",
 	"Manage Models": "Quản lý mô hình",
 	"Manage Ollama Models": "Quản lý mô hình với Ollama",
 	"Manage Ollama Models": "Quản lý mô hình với Ollama",
-	"March": "",
+	"March": "Tháng 3",
 	"Max Tokens": "Max Tokens",
 	"Max Tokens": "Max Tokens",
 	"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Tối đa 3 mô hình có thể được tải xuống cùng lúc. Vui lòng thử lại sau.",
 	"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Tối đa 3 mô hình có thể được tải xuống cùng lúc. Vui lòng thử lại sau.",
-	"May": "",
+	"May": "Tháng 5",
 	"Memory": "",
 	"Memory": "",
 	"Messages you send after creating your link won't be shared. Users with the URL will be able to view the shared chat.": "",
 	"Messages you send after creating your link won't be shared. Users with the URL will be able to view the shared chat.": "",
-	"Minimum Score": "",
+	"Minimum Score": "Score tối thiểu",
 	"Mirostat": "Mirostat",
 	"Mirostat": "Mirostat",
 	"Mirostat Eta": "Mirostat Eta",
 	"Mirostat Eta": "Mirostat Eta",
 	"Mirostat Tau": "Mirostat Tau",
 	"Mirostat Tau": "Mirostat Tau",
@@ -291,22 +294,22 @@
 	"Modelfile Content": "Nội dung Tệp Mô hình",
 	"Modelfile Content": "Nội dung Tệp Mô hình",
 	"Modelfiles": "Tệp Mô hình",
 	"Modelfiles": "Tệp Mô hình",
 	"Models": "Mô hình",
 	"Models": "Mô hình",
-	"More": "",
+	"More": "Thêm",
 	"Name": "Tên",
 	"Name": "Tên",
 	"Name Tag": "Tên Thẻ",
 	"Name Tag": "Tên Thẻ",
 	"Name your modelfile": "Đặt tên cho tệp mô hình của bạn",
 	"Name your modelfile": "Đặt tên cho tệp mô hình của bạn",
 	"New Chat": "Tạo cuộc trò chuyện mới",
 	"New Chat": "Tạo cuộc trò chuyện mới",
 	"New Password": "Mật khẩu mới",
 	"New Password": "Mật khẩu mới",
 	"No": "",
 	"No": "",
-	"No results found": "",
+	"No results found": "Không tìm thấy kết quả",
 	"No source available": "Không có nguồn",
 	"No source available": "Không có nguồn",
 	"Not factually correct": "Không chính xác so với thực tế",
 	"Not factually correct": "Không chính xác so với thực tế",
 	"Not sure what to add?": "Không chắc phải thêm gì?",
 	"Not sure what to add?": "Không chắc phải thêm gì?",
 	"Not sure what to write? Switch to": "Không chắc phải viết gì? Chuyển sang",
 	"Not sure what to write? Switch to": "Không chắc phải viết gì? Chuyển sang",
-	"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "",
+	"Note: If you set a minimum score, the search will only return documents with a score greater than or equal to the minimum score.": "Lưu ý: Nếu bạn đặt điểm (Score) tối thiểu thì tìm kiếm sẽ chỉ trả về những tài liệu có điểm lớn hơn hoặc bằng điểm tối thiểu.",
 	"Notifications": "Thông báo trên máy tính (Notification)",
 	"Notifications": "Thông báo trên máy tính (Notification)",
-	"November": "",
-	"October": "",
+	"November": "Tháng 11",
+	"October": "Tháng 10",
 	"Off": "Tắt",
 	"Off": "Tắt",
 	"Okay, Let's Go!": "Được rồi, Bắt đầu thôi!",
 	"Okay, Let's Go!": "Được rồi, Bắt đầu thôi!",
 	"OLED Dark": "",
 	"OLED Dark": "",
@@ -330,22 +333,22 @@
 	"OpenAI URL/Key required.": "",
 	"OpenAI URL/Key required.": "",
 	"or": "hoặc",
 	"or": "hoặc",
 	"Other": "Khác",
 	"Other": "Khác",
-	"Overview": "",
+	"Overview": "Tổng quan",
 	"Parameters": "Tham số",
 	"Parameters": "Tham số",
 	"Password": "Mật khẩu",
 	"Password": "Mật khẩu",
 	"PDF document (.pdf)": "",
 	"PDF document (.pdf)": "",
 	"PDF Extract Images (OCR)": "Trích xuất ảnh từ PDF (OCR)",
 	"PDF Extract Images (OCR)": "Trích xuất ảnh từ PDF (OCR)",
 	"pending": "đang chờ phê duyệt",
 	"pending": "đang chờ phê duyệt",
 	"Permission denied when accessing microphone: {{error}}": "Quyền truy cập micrô bị từ chối: {{error}}",
 	"Permission denied when accessing microphone: {{error}}": "Quyền truy cập micrô bị từ chối: {{error}}",
-	"Personalization": "",
+	"Personalization": "Cá nhân hóa",
 	"Plain text (.txt)": "",
 	"Plain text (.txt)": "",
 	"Playground": "Thử nghiệm (Playground)",
 	"Playground": "Thử nghiệm (Playground)",
-	"Positive attitude": "",
-	"Previous 30 days": "",
-	"Previous 7 days": "",
-	"Profile Image": "",
+	"Positive attitude": "Thái độ tích cực",
+	"Previous 30 days": "30 ngày trước",
+	"Previous 7 days": "7 ngày trước",
+	"Profile Image": "Ảnh đại diện",
 	"Prompt": "",
 	"Prompt": "",
-	"Prompt (e.g. Tell me a fun fact about the Roman Empire)": "",
+	"Prompt (e.g. Tell me a fun fact about the Roman Empire)": "Prompt (ví dụ: Hãy kể cho tôi một sự thật thú vị về Đế chế La Mã)",
 	"Prompt Content": "Nội dung prompt",
 	"Prompt Content": "Nội dung prompt",
 	"Prompt suggestions": "Gợi ý prompt",
 	"Prompt suggestions": "Gợi ý prompt",
 	"Prompts": "Prompt",
 	"Prompts": "Prompt",
@@ -355,15 +358,15 @@
 	"Query Params": "Tham số Truy vấn",
 	"Query Params": "Tham số Truy vấn",
 	"RAG Template": "Mẫu prompt cho RAG",
 	"RAG Template": "Mẫu prompt cho RAG",
 	"Raw Format": "Raw Format",
 	"Raw Format": "Raw Format",
-	"Read Aloud": "",
+	"Read Aloud": "Đọc ra loa",
 	"Record voice": "Ghi âm",
 	"Record voice": "Ghi âm",
 	"Redirecting you to OpenWebUI Community": "Đang chuyển hướng bạn đến Cộng đồng OpenWebUI",
 	"Redirecting you to OpenWebUI Community": "Đang chuyển hướng bạn đến Cộng đồng OpenWebUI",
 	"Refused when it shouldn't have": "Từ chối trả lời mà nhẽ không nên làm vậy",
 	"Refused when it shouldn't have": "Từ chối trả lời mà nhẽ không nên làm vậy",
-	"Regenerate": "",
+	"Regenerate": "Tạo sinh lại câu trả lời",
 	"Release Notes": "Mô tả những cập nhật mới",
 	"Release Notes": "Mô tả những cập nhật mới",
-	"Remove": "",
-	"Remove Model": "",
-	"Rename": "",
+	"Remove": "Xóa",
+	"Remove Model": "Xóa model",
+	"Rename": "Đổi tên",
 	"Repeat Last N": "Repeat Last N",
 	"Repeat Last N": "Repeat Last N",
 	"Repeat Penalty": "Repeat Penalty",
 	"Repeat Penalty": "Repeat Penalty",
 	"Request Mode": "Request Mode",
 	"Request Mode": "Request Mode",
@@ -384,7 +387,7 @@
 	"Scan complete!": "Quét hoàn tất!",
 	"Scan complete!": "Quét hoàn tất!",
 	"Scan for documents from {{path}}": "Quét tài liệu từ đường dẫn: {{path}}",
 	"Scan for documents from {{path}}": "Quét tài liệu từ đường dẫn: {{path}}",
 	"Search": "Tìm kiếm",
 	"Search": "Tìm kiếm",
-	"Search a model": "",
+	"Search a model": "Tìm model",
 	"Search Documents": "Tìm tài liệu",
 	"Search Documents": "Tìm tài liệu",
 	"Search Prompts": "Tìm prompt",
 	"Search Prompts": "Tìm prompt",
 	"See readme.md for instructions": "Xem readme.md để biết hướng dẫn",
 	"See readme.md for instructions": "Xem readme.md để biết hướng dẫn",
@@ -393,12 +396,12 @@
 	"Select a mode": "Chọn một chế độ",
 	"Select a mode": "Chọn một chế độ",
 	"Select a model": "Chọn mô hình",
 	"Select a model": "Chọn mô hình",
 	"Select an Ollama instance": "Chọn một thực thể Ollama",
 	"Select an Ollama instance": "Chọn một thực thể Ollama",
-	"Select model": "",
+	"Select model": "Chọn model",
 	"Selected models do not support image inputs": "",
 	"Selected models do not support image inputs": "",
-	"Send": "",
+	"Send": "Gửi",
 	"Send a Message": "Gửi yêu cầu",
 	"Send a Message": "Gửi yêu cầu",
 	"Send message": "Gửi yêu cầu",
 	"Send message": "Gửi yêu cầu",
-	"September": "",
+	"September": "Tháng 9",
 	"Server connection verified": "Kết nối máy chủ đã được xác minh",
 	"Server connection verified": "Kết nối máy chủ đã được xác minh",
 	"Set as default": "Đặt làm mặc định",
 	"Set as default": "Đặt làm mặc định",
 	"Set Default Model": "Đặt Mô hình Mặc định",
 	"Set Default Model": "Đặt Mô hình Mặc định",
@@ -411,8 +414,8 @@
 	"Set Voice": "Đặt Giọng nói",
 	"Set Voice": "Đặt Giọng nói",
 	"Settings": "Cài đặt",
 	"Settings": "Cài đặt",
 	"Settings saved successfully!": "Cài đặt đã được lưu thành công!",
 	"Settings saved successfully!": "Cài đặt đã được lưu thành công!",
-	"Share": "",
-	"Share Chat": "",
+	"Share": "Chia sẻ",
+	"Share Chat": "Chia sẻ Chat",
 	"Share to OpenWebUI Community": "Chia sẻ đến Cộng đồng OpenWebUI",
 	"Share to OpenWebUI Community": "Chia sẻ đến Cộng đồng OpenWebUI",
 	"short-summary": "tóm tắt ngắn",
 	"short-summary": "tóm tắt ngắn",
 	"Show": "Hiển thị",
 	"Show": "Hiển thị",
@@ -434,7 +437,7 @@
 	"Subtitle (e.g. about the Roman Empire)": "",
 	"Subtitle (e.g. about the Roman Empire)": "",
 	"Success": "Thành công",
 	"Success": "Thành công",
 	"Successfully updated.": "Đã cập nhật thành công.",
 	"Successfully updated.": "Đã cập nhật thành công.",
-	"Suggested": "",
+	"Suggested": "Gợi ý một số mẫu prompt",
 	"Sync All": "Đồng bộ hóa Tất cả",
 	"Sync All": "Đồng bộ hóa Tất cả",
 	"System": "Hệ thống",
 	"System": "Hệ thống",
 	"System Prompt": "Prompt Hệ thống (System Prompt)",
 	"System Prompt": "Prompt Hệ thống (System Prompt)",
@@ -446,22 +449,22 @@
 	"Text-to-Speech Engine": "Công cụ Chuyển Văn bản thành Giọng nói",
 	"Text-to-Speech Engine": "Công cụ Chuyển Văn bản thành Giọng nói",
 	"Tfs Z": "Tfs Z",
 	"Tfs Z": "Tfs Z",
 	"Thanks for your feedback!": "Cám ơn bạn đã gửi phản hồi!",
 	"Thanks for your feedback!": "Cám ơn bạn đã gửi phản hồi!",
-	"The score should be a value between 0.0 (0%) and 1.0 (100%).": "",
+	"The score should be a value between 0.0 (0%) and 1.0 (100%).": "Điểm (score) phải có giá trị từ 0,0 (0%) đến 1,0 (100%).",
 	"Theme": "Chủ đề",
 	"Theme": "Chủ đề",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Điều này đảm bảo rằng các nội dung chat có giá trị của bạn được lưu an toàn vào cơ sở dữ liệu backend của bạn. Cảm ơn bạn!",
 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Điều này đảm bảo rằng các nội dung chat có giá trị của bạn được lưu an toàn vào cơ sở dữ liệu backend của bạn. Cảm ơn bạn!",
 	"This setting does not sync across browsers or devices.": "Cài đặt này không đồng bộ hóa trên các trình duyệt hoặc thiết bị.",
 	"This setting does not sync across browsers or devices.": "Cài đặt này không đồng bộ hóa trên các trình duyệt hoặc thiết bị.",
 	"Thorough explanation": "Giải thích kỹ lưỡng",
 	"Thorough explanation": "Giải thích kỹ lưỡng",
 	"Tip: Update multiple variable slots consecutively by pressing the tab key in the chat input after each replacement.": "Mẹo: Cập nhật nhiều khe biến liên tiếp bằng cách nhấn phím tab trong đầu vào trò chuyện sau mỗi việc thay thế.",
 	"Tip: Update multiple variable slots consecutively by pressing the tab key in the chat input after each replacement.": "Mẹo: Cập nhật nhiều khe biến liên tiếp bằng cách nhấn phím tab trong đầu vào trò chuyện sau mỗi việc thay thế.",
 	"Title": "Tiêu đề",
 	"Title": "Tiêu đề",
-	"Title (e.g. Tell me a fun fact)": "",
+	"Title (e.g. Tell me a fun fact)": "Tiêu đề (ví dụ: Hãy kể cho tôi một sự thật thú vị về...)",
 	"Title Auto-Generation": "Tự động Tạo Tiêu đề",
 	"Title Auto-Generation": "Tự động Tạo Tiêu đề",
-	"Title cannot be an empty string.": "",
+	"Title cannot be an empty string.": "Tiêu đề không được phép bỏ trống",
 	"Title Generation Prompt": "Prompt tạo tiêu đề",
 	"Title Generation Prompt": "Prompt tạo tiêu đề",
-	"to": "đến",
+	"to": " - ",
 	"To access the available model names for downloading,": "Để truy cập các tên mô hình có sẵn để tải xuống,",
 	"To access the available model names for downloading,": "Để truy cập các tên mô hình có sẵn để tải xuống,",
 	"To access the GGUF models available for downloading,": "Để truy cập các mô hình GGUF có sẵn để tải xuống,",
 	"To access the GGUF models available for downloading,": "Để truy cập các mô hình GGUF có sẵn để tải xuống,",
 	"to chat input.": "đến đầu vào trò chuyện.",
 	"to chat input.": "đến đầu vào trò chuyện.",
-	"Today": "",
+	"Today": "Hôm nay",
 	"Toggle settings": "Bật/tắt cài đặt",
 	"Toggle settings": "Bật/tắt cài đặt",
 	"Toggle sidebar": "Bật/tắt thanh bên",
 	"Toggle sidebar": "Bật/tắt thanh bên",
 	"Top K": "Top K",
 	"Top K": "Top K",
@@ -471,7 +474,7 @@
 	"Type Hugging Face Resolve (Download) URL": "Nhập URL Hugging Face Resolve (Tải xuống)",
 	"Type Hugging Face Resolve (Download) URL": "Nhập URL Hugging Face Resolve (Tải xuống)",
 	"Uh-oh! There was an issue connecting to {{provider}}.": "Ồ! Đã xảy ra sự cố khi kết nối với {{provider}}.",
 	"Uh-oh! There was an issue connecting to {{provider}}.": "Ồ! Đã xảy ra sự cố khi kết nối với {{provider}}.",
 	"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Loại Tệp Không xác định '{{file_type}}', nhưng đang chấp nhận và xử lý như văn bản thô",
 	"Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Loại Tệp Không xác định '{{file_type}}', nhưng đang chấp nhận và xử lý như văn bản thô",
-	"Update and Copy Link": "",
+	"Update and Copy Link": "Cập nhật và sao chép link",
 	"Update password": "Cập nhật mật khẩu",
 	"Update password": "Cập nhật mật khẩu",
 	"Upload a GGUF model": "Tải lên mô hình GGUF",
 	"Upload a GGUF model": "Tải lên mô hình GGUF",
 	"Upload files": "Tải tệp lên hệ thống",
 	"Upload files": "Tải tệp lên hệ thống",
@@ -479,7 +482,7 @@
 	"URL Mode": "Chế độ URL",
 	"URL Mode": "Chế độ URL",
 	"Use '#' in the prompt input to load and select your documents.": "Sử dụng '#' trong đầu vào của prompt để tải về và lựa chọn tài liệu của bạn cần truy vấn.",
 	"Use '#' in the prompt input to load and select your documents.": "Sử dụng '#' trong đầu vào của prompt để tải về và lựa chọn tài liệu của bạn cần truy vấn.",
 	"Use Gravatar": "Sử dụng Gravatar",
 	"Use Gravatar": "Sử dụng Gravatar",
-	"Use Initials": "",
+	"Use Initials": "Sử dụng tên viết tắt",
 	"user": "Người sử dụng",
 	"user": "Người sử dụng",
 	"User Permissions": "Phân quyền sử dụng",
 	"User Permissions": "Phân quyền sử dụng",
 	"Users": "người sử dụng",
 	"Users": "người sử dụng",
@@ -488,9 +491,10 @@
 	"variable": "biến",
 	"variable": "biến",
 	"variable to have them replaced with clipboard content.": "biến để có chúng được thay thế bằng nội dung clipboard.",
 	"variable to have them replaced with clipboard content.": "biến để có chúng được thay thế bằng nội dung clipboard.",
 	"Version": "Version",
 	"Version": "Version",
-	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
+	"View": "",
+	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "Cảnh báo: Nếu cập nhật hoặc thay đổi embedding model, bạn sẽ cần cập nhật lại tất cả tài liệu.",
 	"Web": "Web",
 	"Web": "Web",
-	"Web Loader Settings": "",
+	"Web Loader Settings": "Cài đặt Web Loader",
 	"Web Params": "",
 	"Web Params": "",
 	"Webhook URL": "",
 	"Webhook URL": "",
 	"WebUI Add-ons": "Tiện ích WebUI",
 	"WebUI Add-ons": "Tiện ích WebUI",
@@ -503,12 +507,12 @@
 	"Write a prompt suggestion (e.g. Who are you?)": "Hãy viết một prompt (vd: Bạn là ai?)",
 	"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].",
 	"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].",
 	"Yes": "",
 	"Yes": "",
-	"Yesterday": "",
-	"You": "",
-	"You have no archived conversations.": "",
-	"You have shared this chat": "",
+	"Yesterday": "Hôm qua",
+	"You": "Bạn",
+	"You have no archived conversations.": "Bạn chưa lưu trữ một nội dung chat nào",
+	"You have shared this chat": "Bạn vừa chia sẻ chat này",
 	"You're a helpful assistant.": "Bạn là một trợ lý hữu ích.",
 	"You're a helpful assistant.": "Bạn là một trợ lý hữu ích.",
 	"You're now logged in.": "Bạn đã đăng nhập.",
 	"You're now logged in.": "Bạn đã đăng nhập.",
 	"Youtube": "",
 	"Youtube": "",
-	"Youtube Loader Settings": ""
+	"Youtube Loader Settings": "Cài đặt Youtube Loader"
 }
 }

+ 6 - 2
src/lib/i18n/locales/zh-CN/translation.json

@@ -6,11 +6,12 @@
 	"{{modelName}} is thinking...": "{{modelName}} 正在思考...",
 	"{{modelName}} is thinking...": "{{modelName}} 正在思考...",
 	"{{user}}'s Chats": "{{user}} 的聊天记录",
 	"{{user}}'s Chats": "{{user}} 的聊天记录",
 	"{{webUIName}} Backend Required": "需要 {{webUIName}} 后端",
 	"{{webUIName}} Backend Required": "需要 {{webUIName}} 后端",
-  "A selected model does not support image input": "",
+	"A selected model does not support image input": "",
 	"a user": "用户",
 	"a user": "用户",
 	"About": "关于",
 	"About": "关于",
 	"Account": "账户",
 	"Account": "账户",
 	"Accurate information": "准确信息",
 	"Accurate information": "准确信息",
+	"Add": "",
 	"Add a model": "添加模型",
 	"Add a model": "添加模型",
 	"Add a model tag name": "添加模型标签名称",
 	"Add a model tag name": "添加模型标签名称",
 	"Add a short description about what this modelfile does": "为这个模型文件添加一段简短的描述",
 	"Add a short description about what this modelfile does": "为这个模型文件添加一段简短的描述",
@@ -19,6 +20,7 @@
 	"Add custom prompt": "添加自定义提示词",
 	"Add custom prompt": "添加自定义提示词",
 	"Add Docs": "添加文档",
 	"Add Docs": "添加文档",
 	"Add Files": "添加文件",
 	"Add Files": "添加文件",
+	"Add Memory": "",
 	"Add message": "添加消息",
 	"Add message": "添加消息",
 	"Add Model": "添加模型",
 	"Add Model": "添加模型",
 	"Add Tags": "添加标签",
 	"Add Tags": "添加标签",
@@ -49,6 +51,7 @@
 	"Archived Chats": "聊天记录存档",
 	"Archived Chats": "聊天记录存档",
 	"are allowed - Activate this command by typing": "允许 - 通过输入来激活这个命令",
 	"are allowed - Activate this command by typing": "允许 - 通过输入来激活这个命令",
 	"Are you sure?": "你确定吗?",
 	"Are you sure?": "你确定吗?",
+	"As you chat with LLMs, the details and preferences it remembers will be shown here.": "",
 	"Attach file": "附件",
 	"Attach file": "附件",
 	"Attention to detail": "注重细节",
 	"Attention to detail": "注重细节",
 	"Audio": "音频",
 	"Audio": "音频",
@@ -62,7 +65,6 @@
 	"Bad Response": "不良响应",
 	"Bad Response": "不良响应",
 	"before": "之前",
 	"before": "之前",
 	"Being lazy": "懒惰",
 	"Being lazy": "懒惰",
-	"Beta": "",
 	"Builder Mode": "构建模式",
 	"Builder Mode": "构建模式",
 	"Bypass SSL verification for Websites": "绕过网站的 SSL 验证",
 	"Bypass SSL verification for Websites": "绕过网站的 SSL 验证",
 	"Cancel": "取消",
 	"Cancel": "取消",
@@ -173,6 +175,7 @@
 	"Enabled": "启用",
 	"Enabled": "启用",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "确保您的 CSV 文件按以下顺序包含 4 列: 姓名、电子邮件、密码、角色。",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "确保您的 CSV 文件按以下顺序包含 4 列: 姓名、电子邮件、密码、角色。",
 	"Enter {{role}} message here": "在此处输入 {{role}} 信息",
 	"Enter {{role}} message here": "在此处输入 {{role}} 信息",
+	"Enter a detail about yourself for your LLMs to recall": "",
 	"Enter Chunk Overlap": "输入块重叠 (Chunk Overlap)",
 	"Enter Chunk Overlap": "输入块重叠 (Chunk Overlap)",
 	"Enter Chunk Size": "输入块大小 (Chunk Size)",
 	"Enter Chunk Size": "输入块大小 (Chunk Size)",
 	"Enter Image Size (e.g. 512x512)": "输入图片大小 (例如 512x512)",
 	"Enter Image Size (e.g. 512x512)": "输入图片大小 (例如 512x512)",
@@ -488,6 +491,7 @@
 	"variable": "变量",
 	"variable": "变量",
 	"variable to have them replaced with clipboard content.": "变量将被剪贴板内容替换。",
 	"variable to have them replaced with clipboard content.": "变量将被剪贴板内容替换。",
 	"Version": "版本",
 	"Version": "版本",
+	"View": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "警告: 如果更新或更改 embedding 模型,则需要重新导入所有文档。",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "警告: 如果更新或更改 embedding 模型,则需要重新导入所有文档。",
 	"Web": "网页",
 	"Web": "网页",
 	"Web Loader Settings": "Web 加载器设置",
 	"Web Loader Settings": "Web 加载器设置",

+ 6 - 2
src/lib/i18n/locales/zh-TW/translation.json

@@ -6,11 +6,12 @@
 	"{{modelName}} is thinking...": "{{modelName}} 正在思考...",
 	"{{modelName}} is thinking...": "{{modelName}} 正在思考...",
 	"{{user}}'s Chats": "",
 	"{{user}}'s Chats": "",
 	"{{webUIName}} Backend Required": "需要 {{webUIName}} 後台",
 	"{{webUIName}} Backend Required": "需要 {{webUIName}} 後台",
-  "A selected model does not support image input": "",
+	"A selected model does not support image input": "",
 	"a user": "使用者",
 	"a user": "使用者",
 	"About": "關於",
 	"About": "關於",
 	"Account": "帳號",
 	"Account": "帳號",
 	"Accurate information": "",
 	"Accurate information": "",
+	"Add": "",
 	"Add a model": "新增模型",
 	"Add a model": "新增模型",
 	"Add a model tag name": "新增模型標籤",
 	"Add a model tag name": "新增模型標籤",
 	"Add a short description about what this modelfile does": "為這個 Modelfile 添加一段簡短的描述",
 	"Add a short description about what this modelfile does": "為這個 Modelfile 添加一段簡短的描述",
@@ -19,6 +20,7 @@
 	"Add custom prompt": "",
 	"Add custom prompt": "",
 	"Add Docs": "新增文件",
 	"Add Docs": "新增文件",
 	"Add Files": "新增檔案",
 	"Add Files": "新增檔案",
+	"Add Memory": "",
 	"Add message": "新增訊息",
 	"Add message": "新增訊息",
 	"Add Model": "",
 	"Add Model": "",
 	"Add Tags": "新增標籤",
 	"Add Tags": "新增標籤",
@@ -49,6 +51,7 @@
 	"Archived Chats": "聊天記錄存檔",
 	"Archived Chats": "聊天記錄存檔",
 	"are allowed - Activate this command by typing": "是允許的 - 透過輸入",
 	"are allowed - Activate this command by typing": "是允許的 - 透過輸入",
 	"Are you sure?": "你確定嗎?",
 	"Are you sure?": "你確定嗎?",
+	"As you chat with LLMs, the details and preferences it remembers will be shown here.": "",
 	"Attach file": "",
 	"Attach file": "",
 	"Attention to detail": "",
 	"Attention to detail": "",
 	"Audio": "音訊",
 	"Audio": "音訊",
@@ -62,7 +65,6 @@
 	"Bad Response": "",
 	"Bad Response": "",
 	"before": "",
 	"before": "",
 	"Being lazy": "",
 	"Being lazy": "",
-	"Beta": "",
 	"Builder Mode": "建構模式",
 	"Builder Mode": "建構模式",
 	"Bypass SSL verification for Websites": "",
 	"Bypass SSL verification for Websites": "",
 	"Cancel": "取消",
 	"Cancel": "取消",
@@ -173,6 +175,7 @@
 	"Enabled": "已啟用",
 	"Enabled": "已啟用",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Ensure your CSV file includes 4 columns in this order: Name, Email, Password, Role.": "",
 	"Enter {{role}} message here": "在這裡輸入 {{role}} 訊息",
 	"Enter {{role}} message here": "在這裡輸入 {{role}} 訊息",
+	"Enter a detail about yourself for your LLMs to recall": "",
 	"Enter Chunk Overlap": "輸入 Chunk Overlap",
 	"Enter Chunk Overlap": "輸入 Chunk Overlap",
 	"Enter Chunk Size": "輸入 Chunk 大小",
 	"Enter Chunk Size": "輸入 Chunk 大小",
 	"Enter Image Size (e.g. 512x512)": "輸入圖片大小(例如 512x512)",
 	"Enter Image Size (e.g. 512x512)": "輸入圖片大小(例如 512x512)",
@@ -488,6 +491,7 @@
 	"variable": "變數",
 	"variable": "變數",
 	"variable to have them replaced with clipboard content.": "變數將替換為剪貼簿內容。",
 	"variable to have them replaced with clipboard content.": "變數將替換為剪貼簿內容。",
 	"Version": "版本",
 	"Version": "版本",
+	"View": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Warning: If you update or change your embedding model, you will need to re-import all documents.": "",
 	"Web": "網頁",
 	"Web": "網頁",
 	"Web Loader Settings": "",
 	"Web Loader Settings": "",

+ 5 - 1
src/lib/workers/pyodide.worker.ts

@@ -59,7 +59,11 @@ self.onmessage = async (event) => {
 	// make sure loading is done
 	// make sure loading is done
 	await loadPyodideAndPackages(self.packages);
 	await loadPyodideAndPackages(self.packages);
 
 
-	self.result = await self.pyodide.runPythonAsync(code);
+	try {
+		self.result = await self.pyodide.runPythonAsync(code);
+	} catch (error) {
+		self.stderr = error.toString();
+	}
 	self.postMessage({ id, result: self.result, stdout: self.stdout, stderr: self.stderr });
 	self.postMessage({ id, result: self.result, stdout: self.stdout, stderr: self.stderr });
 };
 };
 
 

+ 61 - 55
src/routes/(app)/+page.svelte

@@ -203,6 +203,7 @@
 				user: _user ?? undefined,
 				user: _user ?? undefined,
 				content: userPrompt,
 				content: userPrompt,
 				files: files.length > 0 ? files : undefined,
 				files: files.length > 0 ? files : undefined,
+				models: selectedModels.filter((m, mIdx) => selectedModels.indexOf(m) === mIdx),
 				timestamp: Math.floor(Date.now() / 1000) // Unix epoch
 				timestamp: Math.floor(Date.now() / 1000) // Unix epoch
 			};
 			};
 
 
@@ -251,63 +252,66 @@
 		}
 		}
 	};
 	};
 
 
-	const sendPrompt = async (prompt, parentId) => {
+	const sendPrompt = async (prompt, parentId, modelId = null) => {
 		const _chatId = JSON.parse(JSON.stringify($chatId));
 		const _chatId = JSON.parse(JSON.stringify($chatId));
 
 
 		await Promise.all(
 		await Promise.all(
-			(atSelectedModel !== undefined ? [atSelectedModel.id] : selectedModels).map(
-				async (modelId) => {
-					console.log('modelId', modelId);
-					const model = $models.filter((m) => m.id === modelId).at(0);
-
-					if (model) {
-						// If there are image files, check if model is vision capable
-						const hasImages = messages.some((message) =>
-							message.files?.some((file) => file.type === 'image')
+			(modelId
+				? [modelId]
+				: atSelectedModel !== undefined
+				? [atSelectedModel.id]
+				: selectedModels
+			).map(async (modelId) => {
+				console.log('modelId', modelId);
+				const model = $models.filter((m) => m.id === modelId).at(0);
+
+				if (model) {
+					// If there are image files, check if model is vision capable
+					const hasImages = messages.some((message) =>
+						message.files?.some((file) => file.type === 'image')
+					);
+					if (hasImages && !(model.custom_info?.params.vision_capable ?? true)) {
+						toast.error(
+							$i18n.t('Model {{modelName}} is not vision capable', {
+								modelName: model.custom_info?.name ?? model.name ?? model.id
+							})
 						);
 						);
-						if (hasImages && !(model.custom_info?.params.vision_capable ?? true)) {
-							toast.error(
-								$i18n.t('Model {{modelName}} is not vision capable', {
-									modelName: model.custom_info?.name ?? model.name ?? model.id
-								})
-							);
-						}
+					}
 
 
-						// Create response message
-						let responseMessageId = uuidv4();
-						let responseMessage = {
-							parentId: parentId,
-							id: responseMessageId,
-							childrenIds: [],
-							role: 'assistant',
-							content: '',
-							model: model.id,
-							modelName: model.custom_info?.name ?? model.name ?? model.id,
-							timestamp: Math.floor(Date.now() / 1000) // Unix epoch
-						};
-
-						// Add message to history and Set currentId to messageId
-						history.messages[responseMessageId] = responseMessage;
-						history.currentId = responseMessageId;
-
-						// Append messageId to childrenIds of parent message
-						if (parentId !== null) {
-							history.messages[parentId].childrenIds = [
-								...history.messages[parentId].childrenIds,
-								responseMessageId
-							];
-						}
+					// Create response message
+					let responseMessageId = uuidv4();
+					let responseMessage = {
+						parentId: parentId,
+						id: responseMessageId,
+						childrenIds: [],
+						role: 'assistant',
+						content: '',
+						model: model.id,
+						modelName: model.custom_info?.name ?? model.name ?? model.id,
+						timestamp: Math.floor(Date.now() / 1000) // Unix epoch
+					};
+
+					// Add message to history and Set currentId to messageId
+					history.messages[responseMessageId] = responseMessage;
+					history.currentId = responseMessageId;
+
+					// Append messageId to childrenIds of parent message
+					if (parentId !== null) {
+						history.messages[parentId].childrenIds = [
+							...history.messages[parentId].childrenIds,
+							responseMessageId
+						];
+					}
 
 
-						if (model?.external) {
-							await sendPromptOpenAI(model, prompt, responseMessageId, _chatId);
-						} else if (model) {
-							await sendPromptOllama(model, prompt, responseMessageId, _chatId);
-						}
-					} else {
-						toast.error($i18n.t(`Model {{modelId}} not found`, { modelId }));
+					if (model?.external) {
+						await sendPromptOpenAI(model, prompt, responseMessageId, _chatId);
+					} else if (model) {
+						await sendPromptOllama(model, prompt, responseMessageId, _chatId);
 					}
 					}
+				} else {
+					toast.error($i18n.t(`Model {{modelId}} not found`, { modelId }));
 				}
 				}
-			)
+			})
 		);
 		);
 
 
 		await chats.set(await getChatList(localStorage.token));
 		await chats.set(await getChatList(localStorage.token));
@@ -773,16 +777,18 @@
 		console.log('stopResponse');
 		console.log('stopResponse');
 	};
 	};
 
 
-	const regenerateResponse = async () => {
+	const regenerateResponse = async (message) => {
 		console.log('regenerateResponse');
 		console.log('regenerateResponse');
-		if (messages.length != 0 && messages.at(-1).done == true) {
-			messages.splice(messages.length - 1, 1);
-			messages = messages;
 
 
-			let userMessage = messages.at(-1);
+		if (messages.length != 0) {
+			let userMessage = history.messages[message.parentId];
 			let userPrompt = userMessage.content;
 			let userPrompt = userMessage.content;
 
 
-			await sendPrompt(userPrompt, userMessage.id);
+			if ((userMessage?.models ?? [...selectedModels]).length == 1) {
+				await sendPrompt(userPrompt, userMessage.id);
+			} else {
+				await sendPrompt(userPrompt, userMessage.id, message.model);
+			}
 		}
 		}
 	};
 	};
 
 

+ 63 - 55
src/routes/(app)/c/[id]/+page.svelte

@@ -211,7 +211,8 @@
 				user: _user ?? undefined,
 				user: _user ?? undefined,
 				content: userPrompt,
 				content: userPrompt,
 				files: files.length > 0 ? files : undefined,
 				files: files.length > 0 ? files : undefined,
-				timestamp: Math.floor(Date.now() / 1000) // Unix epoch
+				timestamp: Math.floor(Date.now() / 1000), // Unix epoch
+				models: selectedModels
 			};
 			};
 
 
 			// Add message to history and Set currentId to messageId
 			// Add message to history and Set currentId to messageId
@@ -256,62 +257,67 @@
 			await sendPrompt(userPrompt, userMessageId);
 			await sendPrompt(userPrompt, userMessageId);
 		}
 		}
 	};
 	};
-	const sendPrompt = async (prompt, parentId) => {
+
+	const sendPrompt = async (prompt, parentId, modelId = null) => {
 		const _chatId = JSON.parse(JSON.stringify($chatId));
 		const _chatId = JSON.parse(JSON.stringify($chatId));
 
 
 		await Promise.all(
 		await Promise.all(
-			(atSelectedModel !== undefined ? [atSelectedModel.id] : selectedModels).map(
-				async (modelId) => {
-					const model = $models.filter((m) => m.id === modelId).at(0);
-
-					if (model) {
-						// If there are image files, check if model is vision capable
-						const hasImages = messages.some((message) =>
-							message.files?.some((file) => file.type === 'image')
+			(modelId
+				? [modelId]
+				: atSelectedModel !== undefined
+				? [atSelectedModel.id]
+				: selectedModels
+			).map(async (modelId) => {
+				console.log('modelId', modelId);
+				const model = $models.filter((m) => m.id === modelId).at(0);
+
+				if (model) {
+					// If there are image files, check if model is vision capable
+					const hasImages = messages.some((message) =>
+						message.files?.some((file) => file.type === 'image')
+					);
+					if (hasImages && !(model.custom_info?.params.vision_capable ?? true)) {
+						toast.error(
+							$i18n.t('Model {{modelName}} is not vision capable', {
+								modelName: model.custom_info?.name ?? model.name ?? model.id
+							})
 						);
 						);
-						if (hasImages && !(model.custom_info?.params.vision_capable ?? true)) {
-							toast.error(
-								$i18n.t('Model {{modelName}} is not vision capable', {
-									modelName: model.custom_info?.name ?? model.name ?? model.id
-								})
-							);
-						}
+					}
 
 
-						// Create response message
-						let responseMessageId = uuidv4();
-						let responseMessage = {
-							parentId: parentId,
-							id: responseMessageId,
-							childrenIds: [],
-							role: 'assistant',
-							content: '',
-							model: model.id,
-							modelName: model.custom_info?.name ?? model.name ?? model.id,
-							timestamp: Math.floor(Date.now() / 1000) // Unix epoch
-						};
-
-						// Add message to history and Set currentId to messageId
-						history.messages[responseMessageId] = responseMessage;
-						history.currentId = responseMessageId;
-
-						// Append messageId to childrenIds of parent message
-						if (parentId !== null) {
-							history.messages[parentId].childrenIds = [
-								...history.messages[parentId].childrenIds,
-								responseMessageId
-							];
-						}
+					// Create response message
+					let responseMessageId = uuidv4();
+					let responseMessage = {
+						parentId: parentId,
+						id: responseMessageId,
+						childrenIds: [],
+						role: 'assistant',
+						content: '',
+						model: model.id,
+						modelName: model.custom_info?.name ?? model.name ?? model.id,
+						timestamp: Math.floor(Date.now() / 1000) // Unix epoch
+					};
+
+					// Add message to history and Set currentId to messageId
+					history.messages[responseMessageId] = responseMessage;
+					history.currentId = responseMessageId;
+
+					// Append messageId to childrenIds of parent message
+					if (parentId !== null) {
+						history.messages[parentId].childrenIds = [
+							...history.messages[parentId].childrenIds,
+							responseMessageId
+						];
+					}
 
 
-						if (model?.external) {
-							await sendPromptOpenAI(model, prompt, responseMessageId, _chatId);
-						} else if (model) {
-							await sendPromptOllama(model, prompt, responseMessageId, _chatId);
-						}
-					} else {
-						toast.error($i18n.t(`Model {{modelId}} not found`, { modelId }));
+					if (model?.external) {
+						await sendPromptOpenAI(model, prompt, responseMessageId, _chatId);
+					} else if (model) {
+						await sendPromptOllama(model, prompt, responseMessageId, _chatId);
 					}
 					}
+				} else {
+					toast.error($i18n.t(`Model {{modelId}} not found`, { modelId }));
 				}
 				}
-			)
+			})
 		);
 		);
 
 
 		await chats.set(await getChatList(localStorage.token));
 		await chats.set(await getChatList(localStorage.token));
@@ -775,16 +781,18 @@
 		console.log('stopResponse');
 		console.log('stopResponse');
 	};
 	};
 
 
-	const regenerateResponse = async () => {
+	const regenerateResponse = async (message) => {
 		console.log('regenerateResponse');
 		console.log('regenerateResponse');
-		if (messages.length != 0 && messages.at(-1).done == true) {
-			messages.splice(messages.length - 1, 1);
-			messages = messages;
 
 
-			let userMessage = messages.at(-1);
+		if (messages.length != 0) {
+			let userMessage = history.messages[message.parentId];
 			let userPrompt = userMessage.content;
 			let userPrompt = userMessage.content;
 
 
-			await sendPrompt(userPrompt, userMessage.id);
+			if ((userMessage?.models ?? [...selectedModels]).length == 1) {
+				await sendPrompt(userPrompt, userMessage.id);
+			} else {
+				await sendPrompt(userPrompt, userMessage.id, message.model);
+			}
 		}
 		}
 	};
 	};
 
 

+ 1 - 1
src/routes/(app)/workspace/modelfiles/create/+page.svelte

@@ -339,7 +339,7 @@ SYSTEM """${system}"""`.replace(/^\s*\n/gm, '');
 			if (
 			if (
 				inputFiles &&
 				inputFiles &&
 				inputFiles.length > 0 &&
 				inputFiles.length > 0 &&
-				['image/gif', 'image/jpeg', 'image/png'].includes(inputFiles[0]['type'])
+				['image/gif', 'image/webp', 'image/jpeg', 'image/png'].includes(inputFiles[0]['type'])
 			) {
 			) {
 				reader.readAsDataURL(inputFiles[0]);
 				reader.readAsDataURL(inputFiles[0]);
 			} else {
 			} else {

+ 1 - 1
src/routes/(app)/workspace/modelfiles/edit/+page.svelte

@@ -238,7 +238,7 @@
 			if (
 			if (
 				inputFiles &&
 				inputFiles &&
 				inputFiles.length > 0 &&
 				inputFiles.length > 0 &&
-				['image/gif', 'image/jpeg', 'image/png'].includes(inputFiles[0]['type'])
+				['image/gif', 'image/webp', 'image/jpeg', 'image/png'].includes(inputFiles[0]['type'])
 			) {
 			) {
 				reader.readAsDataURL(inputFiles[0]);
 				reader.readAsDataURL(inputFiles[0]);
 			} else {
 			} else {