forked from open-webui/open-webui
		
	main #2
					 10 changed files with 303 additions and 46 deletions
				
			
		
							
								
								
									
										4
									
								
								package-lock.json
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										4
									
								
								package-lock.json
									
										
									
										generated
									
									
									
								
							|  | @ -1,12 +1,12 @@ | ||||||
| { | { | ||||||
| 	"name": "open-webui", | 	"name": "open-webui", | ||||||
| 	"version": "0.1.106", | 	"version": "0.1.107", | ||||||
| 	"lockfileVersion": 2, | 	"lockfileVersion": 2, | ||||||
| 	"requires": true, | 	"requires": true, | ||||||
| 	"packages": { | 	"packages": { | ||||||
| 		"": { | 		"": { | ||||||
| 			"name": "open-webui", | 			"name": "open-webui", | ||||||
| 			"version": "0.1.106", | 			"version": "0.1.107", | ||||||
| 			"dependencies": { | 			"dependencies": { | ||||||
| 				"@sveltejs/adapter-node": "^1.3.1", | 				"@sveltejs/adapter-node": "^1.3.1", | ||||||
| 				"async": "^3.2.5", | 				"async": "^3.2.5", | ||||||
|  |  | ||||||
|  | @ -45,7 +45,7 @@ | ||||||
| 				<input | 				<input | ||||||
| 					class="w-full rounded py-1.5 px-4 text-sm dark:text-gray-300 dark:bg-gray-800 outline-none border border-gray-100 dark:border-gray-600" | 					class="w-full rounded py-1.5 px-4 text-sm dark:text-gray-300 dark:bg-gray-800 outline-none border border-gray-100 dark:border-gray-600" | ||||||
| 					type="text" | 					type="text" | ||||||
| 					placeholder="Enter Stop Sequence" | 					placeholder={$i18n.t('Enter stop sequence')} | ||||||
| 					bind:value={options.stop} | 					bind:value={options.stop} | ||||||
| 					autocomplete="off" | 					autocomplete="off" | ||||||
| 				/> | 				/> | ||||||
|  | @ -113,7 +113,7 @@ | ||||||
| 				{#if options.mirostat === ''} | 				{#if options.mirostat === ''} | ||||||
| 					<span class="ml-2 self-center">{$i18n.t('Default')}</span> | 					<span class="ml-2 self-center">{$i18n.t('Default')}</span> | ||||||
| 				{:else} | 				{:else} | ||||||
| 					<span class="ml-2 self-center">{$i18n.t(' Custom ')}</span> | 					<span class="ml-2 self-center">{$i18n.t('Default')}</span> | ||||||
| 				{/if} | 				{/if} | ||||||
| 			</button> | 			</button> | ||||||
| 		</div> | 		</div> | ||||||
|  | @ -159,7 +159,7 @@ | ||||||
| 				{#if options.mirostat_eta === ''} | 				{#if options.mirostat_eta === ''} | ||||||
| 					<span class="ml-2 self-center">{$i18n.t('Default')}</span> | 					<span class="ml-2 self-center">{$i18n.t('Default')}</span> | ||||||
| 				{:else} | 				{:else} | ||||||
| 					<span class="ml-2 self-center">{$i18n.t(' Custom ')}</span> | 					<span class="ml-2 self-center">{$i18n.t('Default')}</span> | ||||||
| 				{/if} | 				{/if} | ||||||
| 			</button> | 			</button> | ||||||
| 		</div> | 		</div> | ||||||
|  | @ -251,7 +251,7 @@ | ||||||
| 				{#if options.top_k === ''} | 				{#if options.top_k === ''} | ||||||
| 					<span class="ml-2 self-center">{$i18n.t('Default')}</span> | 					<span class="ml-2 self-center">{$i18n.t('Default')}</span> | ||||||
| 				{:else} | 				{:else} | ||||||
| 					<span class="ml-2 self-center">{$i18n.t(' Custom ')}</span> | 					<span class="ml-2 self-center">{$i18n.t('Default')}</span> | ||||||
| 				{/if} | 				{/if} | ||||||
| 			</button> | 			</button> | ||||||
| 		</div> | 		</div> | ||||||
|  | @ -297,7 +297,7 @@ | ||||||
| 				{#if options.top_p === ''} | 				{#if options.top_p === ''} | ||||||
| 					<span class="ml-2 self-center">{$i18n.t('Default')}</span> | 					<span class="ml-2 self-center">{$i18n.t('Default')}</span> | ||||||
| 				{:else} | 				{:else} | ||||||
| 					<span class="ml-2 self-center">{$i18n.t(' Custom ')}</span> | 					<span class="ml-2 self-center">{$i18n.t('Default')}</span> | ||||||
| 				{/if} | 				{/if} | ||||||
| 			</button> | 			</button> | ||||||
| 		</div> | 		</div> | ||||||
|  | @ -343,7 +343,7 @@ | ||||||
| 				{#if options.repeat_penalty === ''} | 				{#if options.repeat_penalty === ''} | ||||||
| 					<span class="ml-2 self-center">{$i18n.t('Default')}</span> | 					<span class="ml-2 self-center">{$i18n.t('Default')}</span> | ||||||
| 				{:else} | 				{:else} | ||||||
| 					<span class="ml-2 self-center">{$i18n.t(' Custom ')}</span> | 					<span class="ml-2 self-center">{$i18n.t('Default')}</span> | ||||||
| 				{/if} | 				{/if} | ||||||
| 			</button> | 			</button> | ||||||
| 		</div> | 		</div> | ||||||
|  | @ -389,7 +389,7 @@ | ||||||
| 				{#if options.repeat_last_n === ''} | 				{#if options.repeat_last_n === ''} | ||||||
| 					<span class="ml-2 self-center">{$i18n.t('Default')}</span> | 					<span class="ml-2 self-center">{$i18n.t('Default')}</span> | ||||||
| 				{:else} | 				{:else} | ||||||
| 					<span class="ml-2 self-center">{$i18n.t(' Custom ')}</span> | 					<span class="ml-2 self-center">{$i18n.t('Default')}</span> | ||||||
| 				{/if} | 				{/if} | ||||||
| 			</button> | 			</button> | ||||||
| 		</div> | 		</div> | ||||||
|  | @ -435,7 +435,7 @@ | ||||||
| 				{#if options.tfs_z === ''} | 				{#if options.tfs_z === ''} | ||||||
| 					<span class="ml-2 self-center">{$i18n.t('Default')}</span> | 					<span class="ml-2 self-center">{$i18n.t('Default')}</span> | ||||||
| 				{:else} | 				{:else} | ||||||
| 					<span class="ml-2 self-center">{$i18n.t(' Custom ')}</span> | 					<span class="ml-2 self-center">{$i18n.t('Default')}</span> | ||||||
| 				{/if} | 				{/if} | ||||||
| 			</button> | 			</button> | ||||||
| 		</div> | 		</div> | ||||||
|  | @ -481,7 +481,7 @@ | ||||||
| 				{#if options.num_ctx === ''} | 				{#if options.num_ctx === ''} | ||||||
| 					<span class="ml-2 self-center">{$i18n.t('Default')}</span> | 					<span class="ml-2 self-center">{$i18n.t('Default')}</span> | ||||||
| 				{:else} | 				{:else} | ||||||
| 					<span class="ml-2 self-center">{$i18n.t(' Custom ')}</span> | 					<span class="ml-2 self-center">{$i18n.t('Default')}</span> | ||||||
| 				{/if} | 				{/if} | ||||||
| 			</button> | 			</button> | ||||||
| 		</div> | 		</div> | ||||||
|  | @ -526,7 +526,7 @@ | ||||||
| 				{#if options.num_predict === ''} | 				{#if options.num_predict === ''} | ||||||
| 					<span class="ml-2 self-center">{$i18n.t('Default')}</span> | 					<span class="ml-2 self-center">{$i18n.t('Default')}</span> | ||||||
| 				{:else} | 				{:else} | ||||||
| 					<span class="ml-2 self-center">{$i18n.t(' Custom ')}</span> | 					<span class="ml-2 self-center">{$i18n.t('Default')}</span> | ||||||
| 				{/if} | 				{/if} | ||||||
| 			</button> | 			</button> | ||||||
| 		</div> | 		</div> | ||||||
|  |  | ||||||
|  | @ -72,7 +72,7 @@ | ||||||
| 						type="button" | 						type="button" | ||||||
| 						on:click={() => { | 						on:click={() => { | ||||||
| 							showOpenAI = !showOpenAI; | 							showOpenAI = !showOpenAI; | ||||||
| 						}}>{showOpenAI ? 'Hide' : 'Show'}</button | 						}}>{showOpenAI ? $i18n.t('Hide') : $i18n.t('Show')}</button | ||||||
| 					> | 					> | ||||||
| 				</div> | 				</div> | ||||||
| 
 | 
 | ||||||
|  | @ -83,7 +83,7 @@ | ||||||
| 							<div class="flex-1"> | 							<div class="flex-1"> | ||||||
| 								<input | 								<input | ||||||
| 									class="w-full rounded py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-800 outline-none" | 									class="w-full rounded py-2 px-4 text-sm dark:text-gray-300 dark:bg-gray-800 outline-none" | ||||||
| 									placeholder="Enter OpenAI API Key" | 									placeholder={$i18n.t('Enter OpenAI API Key')} | ||||||
| 									bind:value={OPENAI_API_KEY} | 									bind:value={OPENAI_API_KEY} | ||||||
| 									autocomplete="off" | 									autocomplete="off" | ||||||
| 								/> | 								/> | ||||||
|  |  | ||||||
|  | @ -175,7 +175,7 @@ | ||||||
| 
 | 
 | ||||||
| 			<div> | 			<div> | ||||||
| 				<div class=" py-0.5 flex w-full justify-between"> | 				<div class=" py-0.5 flex w-full justify-between"> | ||||||
| 					<div class=" self-center text-xs font-medium">{$i18n.t('Notification')}</div> | 					<div class=" self-center text-xs font-medium">{$i18n.t('Desktop Notifications')}</div> | ||||||
| 
 | 
 | ||||||
| 					<button | 					<button | ||||||
| 						class="p-1 px-3 text-xs flex rounded transition" | 						class="p-1 px-3 text-xs flex rounded transition" | ||||||
|  | @ -213,7 +213,7 @@ | ||||||
| 					type="button" | 					type="button" | ||||||
| 					on:click={() => { | 					on:click={() => { | ||||||
| 						showAdvanced = !showAdvanced; | 						showAdvanced = !showAdvanced; | ||||||
| 					}}>{showAdvanced ? 'Hide' : 'Show'}</button | 					}}>{showAdvanced ? $i18n.t('Hide') : $i18n.t('Show')}</button | ||||||
| 				> | 				> | ||||||
| 			</div> | 			</div> | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -82,8 +82,7 @@ | ||||||
| 		fullScreenMode = settings.fullScreenMode ?? false; | 		fullScreenMode = settings.fullScreenMode ?? false; | ||||||
| 		titleAutoGenerateModel = settings.titleAutoGenerateModel ?? ''; | 		titleAutoGenerateModel = settings.titleAutoGenerateModel ?? ''; | ||||||
| 		titleGenerationPrompt = | 		titleGenerationPrompt = | ||||||
| 			settings.titleGenerationPrompt ?? | 			settings.titleGenerationPrompt ?? $i18n.t('Default titleGenerationPromt') + ' {{prompt}}'; | ||||||
| 			`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': {{prompt}}`; |  | ||||||
| 	}); | 	}); | ||||||
| </script> | </script> | ||||||
| 
 | 
 | ||||||
|  | @ -163,7 +162,7 @@ | ||||||
| 			<div> | 			<div> | ||||||
| 				<div class=" py-0.5 flex w-full justify-between"> | 				<div class=" py-0.5 flex w-full justify-between"> | ||||||
| 					<div class=" self-center text-xs font-medium"> | 					<div class=" self-center text-xs font-medium"> | ||||||
| 						Display the username instead of "You" in the Chat | 						{$i18n.t('Display the username instead of You in the Chat')} | ||||||
| 					</div> | 					</div> | ||||||
| 
 | 
 | ||||||
| 					<button | 					<button | ||||||
|  | @ -194,7 +193,7 @@ | ||||||
| 						bind:value={titleAutoGenerateModel} | 						bind:value={titleAutoGenerateModel} | ||||||
| 						placeholder={$i18n.t('Select a model')} | 						placeholder={$i18n.t('Select a model')} | ||||||
| 					> | 					> | ||||||
| 						<option value="" selected>Current Model</option> | 						<option value="" selected>{$i18n.t('Current Model')}</option> | ||||||
| 						{#each $models as model} | 						{#each $models as model} | ||||||
| 							{#if model.size != null} | 							{#if model.size != null} | ||||||
| 								<option value={model.name} class="bg-gray-100 dark:bg-gray-700"> | 								<option value={model.name} class="bg-gray-100 dark:bg-gray-700"> | ||||||
|  |  | ||||||
|  | @ -1,10 +1,256 @@ | ||||||
| { | { | ||||||
| 	"New Chat": "Neuer Chat", | 	"About": "Über", | ||||||
| 	"Modelfiles": "Modelfiles", | 	"Account": "Account", | ||||||
| 	"How can I help you today?": "Wie kann ich dir heute behilflich sein?", | 	"Action": "Aktion", | ||||||
|  | 	"Add a model": "Füge ein Modell hinzu", | ||||||
|  | 	"Add Docs": "Dokumente hinzufügen", | ||||||
|  | 	"Add Files": "Dateien hinzufügen", | ||||||
|  | 	"Add LiteLLM Model": "LiteLLM Modell hinzufügen", | ||||||
|  | 	"add tags": "Tags hinzufügen", | ||||||
|  | 	"Admin": "Admin", | ||||||
|  | 	"Admin Panel": "Admin Panel", | ||||||
|  | 	"Admin Settings": "Admin Einstellungen", | ||||||
|  | 	"Advanced Model Params": "Erweiterte Modell Parameter", | ||||||
|  | 	"Advanced Parameters": "Erweiterte Parameter", | ||||||
|  | 	"all": "Alle", | ||||||
|  | 	"Allow": "Erlauben", | ||||||
|  | 	"Allow Chat Deletion": "Chat Löschung erlauben", | ||||||
|  | 	"API Base URL": "API Basis URL", | ||||||
|  | 	"API Key": "API Key", | ||||||
|  | 	"API RPM": "API RPM", | ||||||
|  | 	"Audio": "Audio", | ||||||
|  | 	"AUTOMATIC1111 Base URL": "AUTOMATIC1111 Basis URL", | ||||||
|  | 	"Auto-playback response": "Automatische Wiedergabe der Antwort", | ||||||
|  | 	"Auto-send input after 3 sec.": "Automatisches Senden der Eingabe nach 3 Sek", | ||||||
|  | 	"Back": "Zurück", | ||||||
|  | 	"Builder Mode": "Builder Modus", | ||||||
|  | 	"Cancel": "Abbrechen", | ||||||
|  | 	"Categories": "Kategorien", | ||||||
|  | 	"Change Password": "Passwort ändern", | ||||||
|  | 	"Chat History": "Chat Verlauf", | ||||||
|  | 	"Chat History is off for this browser.": "Chat Verlauf ist für diesen Browser ausgeschaltet.", | ||||||
|  | 	"Chats": "Chats", | ||||||
|  | 	"Check Again": "Erneut überprüfen", | ||||||
|  | 	"Choose a model before saving...": "Wählen Sie ein Modell, bevor Sie speichern...", | ||||||
|  | 	"Chunk Overlap": "Chunk Overlap", | ||||||
|  | 	"Chunk Params": "Chunk Parameter", | ||||||
|  | 	"Chunk Size": "Chunk Size", | ||||||
|  | 	"click here.": "hier klicken.", | ||||||
|  | 	"Click here to check other modelfiles.": "Klicken Sie hier, um andere Modelfiles zu überprüfen.", | ||||||
|  | 	"Collection": "Kollektion", | ||||||
|  | 	"Command": "Befehl", | ||||||
|  | 	"Confirm Password": "Passwort bestätigen", | ||||||
|  | 	"Connections": "Verbindungen", | ||||||
|  | 	"Content": "Inhalt", | ||||||
|  | 	"Context Length": "Context Length", | ||||||
|  | 	"Conversation Mode": "Konversationsmodus", | ||||||
|  | 	"Copying to clipboard was successful!": "Das Kopieren in die Zwischenablage war erfolgreich!", | ||||||
|  | 	"Copy last code block": "Letzten Codeblock kopieren", | ||||||
|  | 	"Copy last response": "Letzte Antwort kopieren", | ||||||
|  | 	"Create a modelfile": "Modelfiles erstellen", | ||||||
|  | 	"Current Password": "Aktuelles Passwort", | ||||||
|  | 	"Custom": "Benutzerdefiniert", | ||||||
|  | 	"Customize Ollama models for a specific purpose": "Ollama-Modelle für einen bestimmten Zweck anpassen", | ||||||
|  | 	"Dark": "Dunkel", | ||||||
|  | 	"Database": "Datenbank", | ||||||
|  | 	"Default": "Standard", | ||||||
|  | 	"Default model updated": "Standardmodell aktualisiert", | ||||||
|  | 	"Default Prompt Suggestions": "Standard-Prompt-Vorschläge", | ||||||
|  | 	"Default User Role": "Standardbenutzerrolle", | ||||||
|  | 	"Default (Web API)": "Standard (Web-API)", | ||||||
|  | 	"Delete a model": "Ein Modell löschen", | ||||||
|  | 	"Delete chat": "Chat löschen", | ||||||
|  | 	"Delete Chats": "Chats löschen", | ||||||
|  | 	"Deleted {{deleteModelTag}}": "{{deleteModelTag}} gelöscht", | ||||||
|  | 	"delete": "löschen", | ||||||
|  | 	"Deleted {tagName}": "{tagName} gelöscht", | ||||||
|  | 	"Description": "Beschreibung", | ||||||
|  | 	"Disabled": "Deaktiviert", | ||||||
|  | 	"Discover a modelfile": "Eine Modelfiles entdecken", | ||||||
|  | 	"Discover a prompt": "Einen Prompt entdecken", | ||||||
|  | 	"Discover, download, and explore custom prompts": "Benutzerdefinierte Prompts entdecken, herunterladen und erkunden", | ||||||
|  | 	"Discover, download, and explore model presets": "Modellvorgaben entdecken, herunterladen und erkunden", | ||||||
|  | 	"Document": "Dokument", | ||||||
|  | 	"Documents": "Dokumente", | ||||||
|  | 	"Document Settings": "Dokumenteinstellungen", | ||||||
|  | 	"Don't Allow": "Nicht erlauben", | ||||||
|  | 	"Download as a File": "Als Datei herunterladen", | ||||||
|  | 	"Download Database": "Datenbank herunterladen", | ||||||
|  | 	"Edit Doc": "Dokument bearbeiten", | ||||||
|  | 	"Edit User": "Benutzer bearbeiten", | ||||||
|  | 	"Email": "E-Mail", | ||||||
|  | 	"Enabled": "Aktiviert", | ||||||
|  | 	"Enable New Sign Ups": "Neue Anmeldungen aktivieren", | ||||||
|  | 	"Experimental": "Experimentell", | ||||||
|  | 	"Export All Chats (All Users)": "Alle Chats exportieren (alle Benutzer)", | ||||||
|  | 	"Export Chats": "Chats exportieren", | ||||||
|  | 	"Export Documents Mapping": "Dokumentenmapping exportieren", | ||||||
|  | 	"Export Modelfiles": "Modelfiles exportieren", | ||||||
|  | 	"Export Prompts": "Prompts exportieren", | ||||||
|  | 	"Failed to read clipboard contents": "Fehler beim Lesen des Zwischenablageninhalts", | ||||||
|  | 	"File Mode": "Dateimodus", | ||||||
|  | 	"File not found.`": "Datei nicht gefunden.`", | ||||||
|  | 	"Focus chat input": "Chat-Eingabe fokussieren", | ||||||
|  | 	"From (Base Model)": "Von (Basismodell)", | ||||||
|  | 	"Full Screen Mode": "Vollbildmodus", | ||||||
|  | 	"General": "Allgemein", | ||||||
|  | 	"General Settings": "Allgemeine Einstellungen", | ||||||
| 	"Hello, {{name}}": "Hallo, {{name}}", | 	"Hello, {{name}}": "Hallo, {{name}}", | ||||||
| 	"Listening...": "nimmt auf...", | 	"How can I help you today?": "Wie kann ich Ihnen heute helfen?", | ||||||
| 	"Send a Message": "Sende eine Nachricht", | 	"Image Generation (Experimental)": "Bildgenerierung (experimentell)", | ||||||
| 	"Select a model": "Wähle ein Modell", | 	"Image Settings": "Bildeinstellungen", | ||||||
| 	"Set as default": "Als Standard festlegen" | 	"Images": "Bilder", | ||||||
|  | 	"Import Chats": "Chats importieren", | ||||||
|  | 	"Import Documents Mapping": "Dokumentenmapping importieren", | ||||||
|  | 	"Import Modelfiles": "Modelfiles importieren", | ||||||
|  | 	"Import Prompts": "Prompts importieren", | ||||||
|  | 	"Interface": "Benutzeroberfläche", | ||||||
|  | 	"{{item}} not provided": "{{item}} nicht angegeben", | ||||||
|  | 	"join our Discord for help.": "treten Sie unserem Discord bei, um Hilfe zu erhalten.", | ||||||
|  | 	"JSON": "JSON", | ||||||
|  | 	"JWT Expiration": "JWT-Ablauf", | ||||||
|  | 	"JWT Token": "JWT-Token", | ||||||
|  | 	"Keep Alive": "Keep Alive", | ||||||
|  | 	"Keyboard shortcuts": "Tastenkürzel", | ||||||
|  | 	"Language": "Sprache", | ||||||
|  | 	"Light": "Hell", | ||||||
|  | 	"Listening...": "Hören...", | ||||||
|  | 	"LiteLLM API Base URL": "LiteLLM-API-Basis-URL", | ||||||
|  | 	"LiteLLM API Key": "LiteLLM-API-Schlüssel", | ||||||
|  | 	"LiteLLM API RPM": "LiteLLM-API-RPM", | ||||||
|  | 	"LLMs can make mistakes. Verify important information.": "LLMs können Fehler machen. Überprüfen Sie wichtige Informationen.", | ||||||
|  | 	"Made by OpenWebUI Community": "Von der OpenWebUI-Community", | ||||||
|  | 	"Manage LiteLLM Models": "LiteLLM-Modelle verwalten", | ||||||
|  | 	"Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Es können maximal 3 Modelle gleichzeitig heruntergeladen werden. Bitte versuchen Sie es später erneut.", | ||||||
|  | 	"Max Tokens": "Maximale Tokens", | ||||||
|  | 	"Mirostat Eta": "Mirostat Eta", | ||||||
|  | 	"Mirostat": "Mirostat", | ||||||
|  | 	"Mirostat Tau": "Mirostat Tau", | ||||||
|  | 	"Model '{{modelName}}' has been successfully downloaded.`": "Modell '{{modelName}}' wurde erfolgreich heruntergeladen.`", | ||||||
|  | 	"Modelfile Advanced Settings": "Erweiterte Modelfileseinstellungen", | ||||||
|  | 	"Modelfile Content": "Modelfilesinhalt", | ||||||
|  | 	"Modelfile": "Modelfiles", | ||||||
|  | 	"Modelfiles": "Modelfiles", | ||||||
|  | 	"Model {{modelId}} not found": "Modell {{modelId}} nicht gefunden", | ||||||
|  | 	"Model {{modelName}} already exists.": "Modell {{modelName}} existiert bereits.", | ||||||
|  | 	"Model '{{modelTag}}' is already in queue for downloading.": "Modell '{{modelTag}}' befindet sich bereits in der Warteschlange zum Herunterladen.", | ||||||
|  | 	"{{modelName}} is thinking...": "{{modelName}} denkt nach...", | ||||||
|  | 	"Model Name": "Modellname", | ||||||
|  | 	"Model not selected": "Modell nicht ausgewählt", | ||||||
|  | 	"Models": "Modelle", | ||||||
|  | 	"Model Tag Name": "Modell-Tag-Name", | ||||||
|  | 	"My Documents": "Meine Dokumente", | ||||||
|  | 	"My Modelfiles": "Meine Modelfiles", | ||||||
|  | 	"My Prompts": "Meine Prompts", | ||||||
|  | 	"Name": "Name", | ||||||
|  | 	"Name Tag": "Namens-Tag", | ||||||
|  | 	"New Chat": "Neuer Chat", | ||||||
|  | 	"New Password": "Neues Passwort", | ||||||
|  | 	"Desktop Notifications": "Desktop-Benachrichtigungen", | ||||||
|  | 	"Not sure what to write? Switch to": "Nicht sicher, was Sie schreiben sollen? Wechseln Sie zu", | ||||||
|  | 	"Off": "Aus", | ||||||
|  | 	"Okay, Let's Go!": "Okay, los geht's!", | ||||||
|  | 	"Ollama API URL": "Ollama-API-URL", | ||||||
|  | 	"Ollama Version": "Ollama-Version", | ||||||
|  | 	"Only alphanumeric characters and hyphens are allowed in the command string.": "Nur alphanumerische Zeichen und Bindestriche sind im Befehlsstring erlaubt.", | ||||||
|  | 	"On": "Ein", | ||||||
|  | 	"Oops! Hold tight! Your files are still in the processing oven. We're cooking them up to perfection. Please be patient and we'll let you know once they're ready.": "Hoppla! Halten Sie sich fest! Ihre Dateien sind noch im Verarbeitungsofen. Wir bereiten sie perfekt zu. Bitte haben Sie Geduld und wir informieren Sie, sobald sie bereit sind.", | ||||||
|  | 	"OpenAI API": "OpenAI-API", | ||||||
|  | 	"Open AI": "Open AI", | ||||||
|  | 	"Open new chat": "Neuen Chat öffnen", | ||||||
|  | 	"or": "oder", | ||||||
|  | 	"Parameters": "Parameter", | ||||||
|  | 	"Password": "Passwort", | ||||||
|  | 	"Pending": "Ausstehend", | ||||||
|  | 	"Permission denied when accessing microphone: {{error}}": "Zugriff auf das Mikrofon verweigert: {{error}}", | ||||||
|  | 	"Profile": "Profil", | ||||||
|  | 	"Prompt Content": "Prompt-Inhalt", | ||||||
|  | 	"Prompts": "Prompts", | ||||||
|  | 	"Prompt suggestions": "Prompt-Vorschläge", | ||||||
|  | 	"Pull a model from Ollama.com": "Ein Modell von Ollama.com abrufen", | ||||||
|  | 	"Pull Progress": "Fortschritt abrufen", | ||||||
|  | 	"RAG Template": "RAG-Vorlage", | ||||||
|  | 	"Raw Format": "Rohformat", | ||||||
|  | 	"Record voice": "Stimme aufnehmen", | ||||||
|  | 	"Redirecting you to OpenWebUI Community": "Sie werden zur OpenWebUI-Community weitergeleitet", | ||||||
|  | 	"Release Notes": "Versionshinweise", | ||||||
|  | 	"Repeat Last N": "Repeat Last N", | ||||||
|  | 	"Repeat Penalty": "Repeat Penalty", | ||||||
|  | 	"Request Mode": "Request-Modus", | ||||||
|  | 	"Reset Vector Storage": "Vektorspeicher zurücksetzen", | ||||||
|  | 	"Response AutoCopy to Clipboard": "Antwort automatisch in die Zwischenablage kopieren", | ||||||
|  | 	"Role": "Rolle", | ||||||
|  | 	"Rosé Pine Dawn": "Rosé Pine Dawn", | ||||||
|  | 	"Rosé Pine": "Rosé Pine", | ||||||
|  | 	"Save & Create": "Speichern und erstellen", | ||||||
|  | 	"Save": "Speichern", | ||||||
|  | 	"Save & Submit": "Speichern und senden", | ||||||
|  | 	"Save & Update": "Speichern und aktualisieren", | ||||||
|  | 	"Saving chat logs directly to your browser's storage is no longer supported. Please take a moment to download and delete your chat logs by clicking the button below. Don't worry, you can easily re-import your chat logs to the backend through": "Das direkte Speichern von Chat-Protokollen im Browser-Speicher wird nicht mehr unterstützt. Bitte nehmen Sie sich einen Moment Zeit, um Ihre Chat-Protokolle herunterzuladen und zu löschen, indem Sie auf die Schaltfläche unten klicken. Keine Sorge, Sie können Ihre Chat-Protokolle problemlos über das Backend wieder importieren.", | ||||||
|  | 	"Scan complete!": "Scan abgeschlossen!", | ||||||
|  | 	"Scan for documents from {{path}}'": "Dokumente von {{path}} scannen'", | ||||||
|  | 	"Scan": "Scannen", | ||||||
|  | 	"Seed": "Seed", | ||||||
|  | 	"See readme.md for instructions": "Anleitung in readme.md anzeigen", | ||||||
|  | 	"Select a model": "Ein Modell auswählen", | ||||||
|  | 	"Send a Messsage": "Eine Nachricht senden", | ||||||
|  | 	"Send message": "Nachricht senden", | ||||||
|  | 	"Server connection verified": "Serververbindung überprüft", | ||||||
|  | 	"Set as default": "Als Standard festlegen", | ||||||
|  | 	"Set Default Model": "Standardmodell festlegen", | ||||||
|  | 	"Set Image Size": "Bildgröße festlegen", | ||||||
|  | 	"Set Steps": "Schritte festlegen", | ||||||
|  | 	"Settings": "Einstellungen", | ||||||
|  | 	"Set Title Auto-Generation Model": "Modell für automatische Titelgenerierung festlegen", | ||||||
|  | 	"Set Voice": "Stimme festlegen", | ||||||
|  | 	"Share to OpenWebUI Community": "Mit OpenWebUI Community teilen", | ||||||
|  | 	"Show shortcuts": "Verknüpfungen anzeigen", | ||||||
|  | 	"Sign Out": "Abmelden", | ||||||
|  | 	"SpeechRecognition API is not supported in this browser.": "Die SpeechRecognition-API wird in diesem Browser nicht unterstützt.", | ||||||
|  | 	"Speech recognition error: {{error}}": "Spracherkennungsfehler: {{error}}", | ||||||
|  | 	"Speech-to-Text Engine": "Sprache-zu-Text-Engine", | ||||||
|  | 	"Stop Sequence": "Stop Sequence", | ||||||
|  | 	"STT Settings": "STT-Einstellungen", | ||||||
|  | 	"Successfully updated": "Erfolgreich aktualisiert", | ||||||
|  | 	"Successfully updated.": "Erfolgreich aktualisiert.", | ||||||
|  | 	"Success": "Erfolg", | ||||||
|  | 	"Sync All": "Alles synchronisieren", | ||||||
|  | 	"System Prompt": "System-Prompt", | ||||||
|  | 	"Tags": "Tags", | ||||||
|  | 	"Temperature": "Temperatur", | ||||||
|  | 	"Template": "Vorlage", | ||||||
|  | 	"Text-to-Speech Engine": "Text-zu-Sprache-Engine", | ||||||
|  | 	"Tfs Z": "Tfs Z", | ||||||
|  | 	"Theme": "Design", | ||||||
|  | 	"This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Dadurch werden Ihre wertvollen Unterhaltungen sicher in Ihrer Backend-Datenbank gespeichert. Vielen Dank!", | ||||||
|  | 	"Title Auto-Generation": "Automatische Titelgenerierung", | ||||||
|  | 	"Title Generation Prompt": "Prompt für Titelgenerierung", | ||||||
|  | 	"Title": "Titel", | ||||||
|  | 	"To access the available model names for downloading,": "Um auf die verfügbaren Modellnamen zum Herunterladen zuzugreifen,", | ||||||
|  | 	"Toggle settings": "Einstellungen umschalten", | ||||||
|  | 	"Toggle sidebar": "Seitenleiste umschalten", | ||||||
|  | 	"Top K": "Top K", | ||||||
|  | 	"Top P": "Top P", | ||||||
|  | 	"TTS Settings": "TTS-Einstellungen", | ||||||
|  | 	"Uh-oh! There was an issue connecting to {{provider}}.": "Ups! Es gab ein Problem bei der Verbindung mit {{provider}}.", | ||||||
|  | 	"Upload a GGUF model": "Ein GGUF-Modell hochladen", | ||||||
|  | 	"Upload files": "Dateien hochladen", | ||||||
|  | 	"Upload Progress": "Upload-Fortschritt", | ||||||
|  | 	"URL Mode": "URL-Modus", | ||||||
|  | 	"User Permissions": "Benutzerberechtigungen", | ||||||
|  | 	"Users": "Benutzer", | ||||||
|  | 	"User": "Benutzer", | ||||||
|  | 	"WebUI Add-ons": "WebUI-Add-Ons", | ||||||
|  | 	"{{webui_name}} Backend Required": "{{webui_name}}-Backend erforderlich", | ||||||
|  | 	"WebUI Settings": "WebUI-Einstellungen", | ||||||
|  | 	"Web": "Web", | ||||||
|  | 	"Whisper (Local)": "Flüstern (Lokal)", | ||||||
|  | 	"You're now logged in.": "Sie sind jetzt angemeldet.", | ||||||
|  | 	"Hide": "Verbergen", | ||||||
|  | 	"Show": "Anzeigen", | ||||||
|  | 	"Enter stop sequence": "Stop-Sequenz eingeben", | ||||||
|  | 	"Enter OpenAI API Key": "OpenAI-API-Key eingeben", | ||||||
|  | 	"Current Model": "Aktuelles Modell", | ||||||
|  | 	"Display the username instead of You in the Chat": "Den Benutzernamen anstelle von 'Sie' im Chat anzeigen", | ||||||
|  | 	"Default titleGenerationPromt": "Erstelle einen prägnanten Satz mit 3-5 Wörtern als Überschrift für die folgende Abfrage. Halte dich dabei strikt an die 3-5-Wort-Grenze und vermeide die Verwendung des Wortes Titel:" | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -146,7 +146,7 @@ | ||||||
| 	"Name Tag": "Name Tag", | 	"Name Tag": "Name Tag", | ||||||
| 	"New Chat": "New Chat", | 	"New Chat": "New Chat", | ||||||
| 	"New Password": "New Password", | 	"New Password": "New Password", | ||||||
| 	"Notification": "Notification", | 	"Desktop Notifications": "Notification", | ||||||
| 	"Not sure what to write? Switch to": "Not sure what to write? Switch to", | 	"Not sure what to write? Switch to": "Not sure what to write? Switch to", | ||||||
| 	"Off": "Off", | 	"Off": "Off", | ||||||
| 	"Okay, Let's Go!": "Okay, Let's Go!", | 	"Okay, Let's Go!": "Okay, Let's Go!", | ||||||
|  | @ -245,5 +245,12 @@ | ||||||
| 	"WebUI Settings": "WebUI Settings", | 	"WebUI Settings": "WebUI Settings", | ||||||
| 	"Web": "Web", | 	"Web": "Web", | ||||||
| 	"Whisper (Local)": "Whisper (Local)", | 	"Whisper (Local)": "Whisper (Local)", | ||||||
| 	"You're now logged in.": "You're now logged in." | 	"You're now logged in.": "You're now logged in.", | ||||||
|  | 	"Hide": "Hide", | ||||||
|  | 	"Show": "Shop", | ||||||
|  | 	"Enter stop sequence": "Enter stop sequence", | ||||||
|  | 	"Enter OpenAI API Key": "Enter OpenAI API Key", | ||||||
|  | 	"Current Model": "Current Model", | ||||||
|  | 	"Display the username instead of You in the Chat": "Display the username instead of 'You' in the Chat", | ||||||
|  | 	"Default titleGenerationPromt": "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':" | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -146,7 +146,7 @@ | ||||||
| 	"Name Tag": "Name Tag", | 	"Name Tag": "Name Tag", | ||||||
| 	"New Chat": "گپ جدید", | 	"New Chat": "گپ جدید", | ||||||
| 	"New Password": "رمز عبور جدید", | 	"New Password": "رمز عبور جدید", | ||||||
| 	"Notification": "اعلان", | 	"Desktop Notifications": "اعلان", | ||||||
| 	"Not sure what to write? Switch to": "مطمئن نیستید چه بنویسید؟ تغییر به", | 	"Not sure what to write? Switch to": "مطمئن نیستید چه بنویسید؟ تغییر به", | ||||||
| 	"Off": "خاموش", | 	"Off": "خاموش", | ||||||
| 	"Okay, Let's Go!": "Okay, Let's Go!", | 	"Okay, Let's Go!": "Okay, Let's Go!", | ||||||
|  | @ -245,5 +245,12 @@ | ||||||
| 	"WebUI Settings": "تنظیمات WebUI", | 	"WebUI Settings": "تنظیمات WebUI", | ||||||
| 	"Web": "وب", | 	"Web": "وب", | ||||||
| 	"Whisper (Local)": "Whisper (Local)", | 	"Whisper (Local)": "Whisper (Local)", | ||||||
| 	"You're now logged in.": "شما اکنون وارد شدهاید." | 	"You're now logged in.": "شما اکنون وارد شدهاید.", | ||||||
|  | 	"Hide": "Hide", | ||||||
|  | 	"Show": "Shop", | ||||||
|  | 	"Enter stop sequence": "Enter stop sequence", | ||||||
|  | 	"Enter OpenAI API Key": "Enter OpenAI API Key", | ||||||
|  | 	"Current Model": "Current Model", | ||||||
|  | 	"Display the username instead of You in the Chat": "Display the username instead of 'You' in the Chat", | ||||||
|  | 	"Default titleGenerationPromt": "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':" | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -772,8 +772,7 @@ | ||||||
| 		if ($settings.titleAutoGenerate ?? true) { | 		if ($settings.titleAutoGenerate ?? true) { | ||||||
| 			const title = await generateTitle( | 			const title = await generateTitle( | ||||||
| 				localStorage.token, | 				localStorage.token, | ||||||
| 				$settings?.titleGenerationPrompt ?? | 				$settings?.titleGenerationPrompt ?? $i18n.t('Default titleGenerationPromt') + ' {{prompt}}', | ||||||
| 					"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': {{prompt}}", |  | ||||||
| 				$settings?.titleAutoGenerateModel ?? selectedModels[0], | 				$settings?.titleAutoGenerateModel ?? selectedModels[0], | ||||||
| 				userPrompt | 				userPrompt | ||||||
| 			); | 			); | ||||||
|  |  | ||||||
|  | @ -781,8 +781,7 @@ | ||||||
| 		if ($settings.titleAutoGenerate ?? true) { | 		if ($settings.titleAutoGenerate ?? true) { | ||||||
| 			const title = await generateTitle( | 			const title = await generateTitle( | ||||||
| 				localStorage.token, | 				localStorage.token, | ||||||
| 				$settings?.titleGenerationPrompt ?? | 				$settings?.titleGenerationPrompt ?? $i18n.t('Default titleGenerationPromt') + ' {{prompt}}', | ||||||
| 					"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': {{prompt}}", |  | ||||||
| 				$settings?.titleAutoGenerateModel ?? selectedModels[0], | 				$settings?.titleAutoGenerateModel ?? selectedModels[0], | ||||||
| 				userPrompt | 				userPrompt | ||||||
| 			); | 			); | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue