From 9d6028bee9a7521e0a3bc8af5181724880790cfc Mon Sep 17 00:00:00 2001 From: Tobias Heirnich Date: Sat, 6 Jun 2026 09:42:43 +0200 Subject: [PATCH 1/5] fix(i18n): complete and improve German (de-DE) settings translations Refs #8221 --- web-app/src/locales/de-DE/settings.json | 99 +++++++++++++++++++------ 1 file changed, 77 insertions(+), 22 deletions(-) diff --git a/web-app/src/locales/de-DE/settings.json b/web-app/src/locales/de-DE/settings.json index 2a61fa8ff8..bf006a63f1 100644 --- a/web-app/src/locales/de-DE/settings.json +++ b/web-app/src/locales/de-DE/settings.json @@ -29,7 +29,7 @@ "documentation": "Dokumentation", "documentationDesc": "Erfahre, wie Du Jan verwenden und seine Funktionen erkunden kannst.", "viewDocs": "Dokumentation ansehen", - "releaseNotes": "Release Notes", + "releaseNotes": "Versionshinweise", "releaseNotesDesc": "Siehe, was es Neues in der neuesten Version von Jan gibt.", "viewReleases": "Releases ansehen", "community": "Community", @@ -44,11 +44,11 @@ "credits": "Credits", "creditsDesc1": "Jan wurde mit ❤️ gebaut vom Menlo Team.", "creditsDesc2": "Besonderer Dank gilt unseren Open-Source-Abhängigkeiten - insbesondere llama.cpp und Tauri - und unserer großartigen KI-Community.", - "appVersion": "App Version", + "appVersion": "App-Version", "dataFolder": { "appData": "App Daten", "appDataDesc": "Standardspeicherort für Nachrichten und andere Benutzerdaten.", - "appLogs": "App Logs", + "appLogs": "App-Protokolle", "appLogsDesc": "Zeige detaillierte Logs der App an." }, "others": { @@ -61,6 +61,8 @@ "application": "Anwendung", "newChat": "Neuer Chat", "newChatDesc": "Neuen Chat anlegen.", + "newProject": "Neues Projekt", + "newProjectDesc": "Öffnet den Dialog zum Erstellen eines Projekts.", "toggleSidebar": "Seitenleiste umschalten", "toggleSidebarDesc": "Seitenleiste ein- oder ausblenden.", "zoomIn": "Vergrößern", @@ -75,15 +77,25 @@ "newLineDesc": "Neue Zeile einfügen.", "shiftEnter": "Shift + Enter", "navigation": "Navigation", + "search": "Suche", + "searchDesc": "Öffnet den Suchdialog.", "goToSettings": "Gehe zu den Einstellungen", "goToSettingsDesc": "Einstellungen öffnen." }, "interface": { - "title": "Erscheinungsbild", + "title": "Benutzeroberfläche", "theme": "Theme", "themeDesc": "Dem Betriebssystem anpassen.", "fontSize": "Schriftgröße", "fontSizeDesc": "Einstellen der App Schriftgröße", + "notificationPosition": "Benachrichtigungsposition", + "notificationPositionDesc": "Wo Benachrichtigungen erscheinen. Unter Windows ist die Voreinstellung unten rechts, damit Pop-ups die Fenstersteuerung nicht verdecken.", + "notificationPositionTopRight": "Oben rechts", + "notificationPositionTopLeft": "Oben links", + "notificationPositionBottomRight": "Unten rechts", + "notificationPositionBottomLeft": "Unten links", + "showTokenSpeed": "Token-Geschwindigkeit anzeigen", + "showTokenSpeedDesc": "Zeigt Tokens/Sek. und die Token-Anzahl direkt unter den Antworten des Assistenten an. Wenn deaktiviert, zeigt ein kompaktes Symbol die Details beim Klicken.", "windowBackground": "Fenster Hintergrund", "windowBackgroundDesc": "Lege die Hintergrundfarbe des App-Fensters fest.", "appMainView": "App-Hauptansicht", @@ -98,9 +110,15 @@ "resetToDefaultDesc": "Setzt alle Darstellungseinstellungen auf die Standardeinstellungen zurück.", "resetInterfaceSuccess": "Erscheinungsbild erfolgreich zurückgesetzt", "resetInterfaceSuccessDesc": "Alle Darstellungseinstellungen wurden auf die Standardeinstellungen zurückgesetzt.", + "threadScrollTitle": "Scrollverhalten im Thread", + "threadScrollDesc": "Lege fest, wie sich der Chat-Bereich verhält, wenn neue Nachrichten eintreffen.", + "threadScrollFlowTitle": "Fließendes Scrollen", + "threadScrollFlowHint": "Hält den Bereich an der zuletzt von dir gesendeten Nachricht verankert.", + "threadScrollStickyTitle": "Mitlaufendes Scrollen", + "threadScrollStickyHint": "Folgt automatisch mit, während Antworten in Echtzeit eintreffen.", "tokenCounterCompact": "Kompakter Token-Zähler", "tokenCounterCompactDesc": "Token-Zähler im Chat-Eingabefeld anzeigen. Wenn deaktiviert, wird der Token-Zähler unter dem Eingabefeld angezeigt.", - "codeBlockTitle": "Code Block", + "codeBlockTitle": "Codeblock", "codeBlockDesc": "Wähle einen Stil zur Syntaxhervorhebung.", "showLineNumbers": "Zeilennummern anzeigen", "showLineNumbersDesc": "Zeilennummern in Codeblöcken anzeigen.", @@ -131,16 +149,16 @@ "freeOf": "frei von", "driverVersion": "Treiber Version", "computeCapability": "Rechenfähigkeit", - "systemMonitor": "System Monitor" + "systemMonitor": "Systemmonitor" }, "httpsProxy": { "proxy": "Proxy", - "proxyUrl": "Proxy URL", + "proxyUrl": "Proxy-URL", "proxyUrlDesc": "Die URL und der Port deines Proxyservers.", "proxyUrlPlaceholder": "http://proxy.example.com:8080", "authentication": "Authentifizierung", "authenticationDesc": "Anmeldeinformationen für den Proxyserver, falls erforderlich.", - "username": "Username", + "username": "Benutzername", "password": "Passwort", "noProxy": "Kein Proxy", "noProxyDesc": "Eine durch Kommas getrennte Liste von Hosts, um den Proxy zu umgehen.", @@ -163,22 +181,22 @@ "startServer": "Server starten", "loadingModel": "Modell laden", "startingServer": "Server wird gestartet", - "stopServer": "Stop Server", - "serverLogs": "Server Logs", + "stopServer": "Server stoppen", + "serverLogs": "Server-Protokolle", "serverLogsDesc": "Zeige detaillierte Logs des lokalen API-Servers an.", "openLogs": "Logs öffnen", "swaggerDocs": "API-Dokumentation", "swaggerDocsDesc": "Zeige interaktive API-Dokumentation (Swagger UI) an.", "openDocs": "Dokumentation öffnen", "startupConfiguration": "Startkonfiguration", - "runOnStartup": "Auto start", + "runOnStartup": "Automatisch starten", "runOnStartupDesc": "Starte den lokalen API-Server automatisch beim Anwendungsstart. Verwendet das zuletzt verwendete Modell oder wählt das erste verfügbare Modell, falls nicht verfügbar.", "serverConfiguration": "Server Konfiguration", - "serverHost": "Server Host", + "serverHost": "Server-Host", "serverHostDesc": "Netzwerkadresse für den Server.", - "serverPort": "Server Port", + "serverPort": "Server-Port", "serverPortDesc": "Portnummer für den API Server.", - "apiPrefix": "API Prefix", + "apiPrefix": "API-Präfix", "apiPrefixDesc": "Pfadprefix für den API Endpunkt.", "apiKey": "API Schlüssel", "apiKeyDesc": "Authentifiziere Anfragen mit einem API-Schlüssel.", @@ -190,7 +208,10 @@ "verboseLogs": "Ausführliche Server Logs", "verboseLogsDesc": "Aktiviere detaillierte Server Logs zum Debuggen", "proxyTimeout": "Zeitüberschreitung bei der Anfrage", - "proxyTimeoutDesc": "Wartezeit auf eine Antwort vom lokalen Modell in Sekunden." + "proxyTimeoutDesc": "Wartezeit auf eine Antwort vom lokalen Modell in Sekunden.", + "defaultModel": "Standardmodell (lokaler API-Server)", + "defaultModelDesc": "Lokales Modell, das beim Start des Servers automatisch geladen wird.", + "defaultModelPlaceholder": "Wähle ein lokales Modell" }, "privacy": { "analytics": "Analytik", @@ -216,10 +237,12 @@ "devVersion": "Entwicklungsversion erkannt", "noUpdateAvailable": "Du verwendest die neueste Version", "updateError": "Fehler beim Suchen nach Updates", - "appVersion": "App Version", + "appVersion": "App-Version", "checkForUpdates": "Auf Updates prüfen", "checkForUpdatesDesc": "Prüfe, ob eine neuere Version von Jan verfügbar ist.", "checkingForUpdates": "Suche nach Updates...", + "autoUpdateCheck": "Automatische Update-Prüfung", + "autoUpdateCheckDesc": "Sucht beim Start und in regelmäßigen Abständen automatisch nach Updates.", "copied": "Kopiert", "copyPath": "Pfad kopieren", "changeLocation": "Ort ändern", @@ -227,19 +250,19 @@ "revealLogs": "Logs anzeigen", "factoryResetTitle": "Auf Werkseinstellungen zurücksetzen", "factoryResetDesc": "Dadurch werden alle App-Einstellungen auf die Standardeinstellungen zurückgesetzt. Dieser Vorgang kann nicht rückgängig gemacht werden. Wir empfehlen dies nur, wenn die App beschädigt ist.", - "keepAppData": "Keep application data", - "keepAppDataDesc": "Your chat history and conversations will be preserved.", - "keepModelsAndConfigs": "Keep all models and configurations", - "keepModelsAndConfigsDesc": "Downloaded models, engine settings, and MCP configurations will be preserved.", + "keepAppData": "Anwendungsdaten behalten", + "keepAppDataDesc": "Dein Chatverlauf und deine Unterhaltungen bleiben erhalten.", + "keepModelsAndConfigs": "Alle Modelle und Konfigurationen behalten", + "keepModelsAndConfigsDesc": "Heruntergeladene Modelle, Engine-Einstellungen und MCP-Konfigurationen bleiben erhalten.", "cancel": "Abbrechen", "reset": "Zurücksetzen", - "huggingfaceToken": "HuggingFace Token", + "huggingfaceToken": "HuggingFace-Token", "huggingfaceTokenDesc": "Dein HuggingFace API-Token für den Zugriff auf Modelle.", "resources": "Ressourcen", "documentation": "Dokumentation", "documentationDesc": "Erfahre, wie Du Jan verwenden und seine Funktionen erkunden kannst.", "viewDocs": "Dokumentation ansehen", - "releaseNotes": "Release Notes", + "releaseNotes": "Versionshinweise", "releaseNotesDesc": "Sehe, was es Neues in der neuesten Version von Jan gibt.", "viewReleases": "Releases anzeigen", "community": "Community", @@ -258,6 +281,38 @@ "extensions": { "title": "Erweiterungen" }, + "attachments": { + "subtitle": "Konfiguriere Dokumentanhänge, Größenbeschränkungen und das Abrufverhalten.", + "featureTitle": "Funktion", + "enable": "Anhänge ermöglichen", + "enableDesc": "Erlaube das Hochladen und Indexieren von Dokumenten für den Abruf.", + "parseMode": "Verarbeitungs-Voreinstellung", + "parseModeDesc": "Lege fest, wie verarbeitete Dokumente zu Unterhaltungen hinzugefügt werden.", + "parseModeAuto": "Automatisch", + "parseModeInline": "In den Chat einfügen", + "parseModeEmbeddings": "Als Embeddings aufnehmen", + "parseModePrompt": "Jedes Mal fragen", + "autoInlineThreshold": "Schwellenwert für automatisches Einfügen", + "autoInlineThresholdDesc": "Anteil des Modellkontexts, der als Grenze für das automatische Einfügen verarbeiteter Dateien bei lokalen Modellen dient.", + "limitsTitle": "Beschränkungen", + "maxFile": "Maximale Dateigröße (MB)", + "maxFileDesc": "Maximale Größe pro Datei. Wird beim Hochladen und bei der Verarbeitung durchgesetzt.", + "retrievalTitle": "Abruf", + "topK": "Top-K", + "topKDesc": "Maximale Anzahl zurückgegebener Quellenangaben.", + "threshold": "Affinitäts-Schwellenwert", + "thresholdDesc": "Mindest-Ähnlichkeitswert (0–1). Wird nur für die lineare Kosinus-Suche verwendet, nicht für ANN.", + "searchMode": "Vektorsuch-Modus", + "searchModeDesc": "Wähle zwischen sqlite-vec ANN, linearer Kosinus-Suche oder automatisch.", + "searchModeAuto": "Automatisch (empfohlen)", + "searchModeAnn": "ANN (sqlite-vec)", + "searchModeLinear": "Linear", + "chunkingTitle": "Chunking", + "chunkSize": "Chunk-Größe (Zeichen)", + "chunkSizeDesc": "Ungefähre maximale Zeichenanzahl pro Chunk für Embeddings.", + "chunkOverlap": "Überlappung (Zeichen)", + "chunkOverlapDesc": "Zeichenüberlappung zwischen aufeinanderfolgenden Chunks." + }, "dialogs": { "changeDataFolder": { "title": "Speicherort des Datenordners ändern", From 8467d0a9becc19a11bad74e9d7303c0e04eac434 Mon Sep 17 00:00:00 2001 From: Tobias Heirnich Date: Sat, 6 Jun 2026 13:47:22 +0200 Subject: [PATCH 2/5] fix(i18n): correct German genitive "Jan's" to "Jans" in settings githubDesc The apostrophe-s genitive is an anglicism; German proper-noun genitives take no apostrophe. Applies to both githubDesc entries in de-DE/settings.json. Co-Authored-By: Claude Opus 4.8 --- web-app/src/locales/de-DE/settings.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/web-app/src/locales/de-DE/settings.json b/web-app/src/locales/de-DE/settings.json index bf006a63f1..127b6e24cb 100644 --- a/web-app/src/locales/de-DE/settings.json +++ b/web-app/src/locales/de-DE/settings.json @@ -34,7 +34,7 @@ "viewReleases": "Releases ansehen", "community": "Community", "github": "GitHub", - "githubDesc": "Beitragen zu Jan's Entwicklung.", + "githubDesc": "Beitragen zu Jans Entwicklung.", "discord": "Discord", "discordDesc": "Trete unserer Community für Unterstützung und Diskussionen bei.", "support": "Support", @@ -267,7 +267,7 @@ "viewReleases": "Releases anzeigen", "community": "Community", "github": "GitHub", - "githubDesc": "Trage zu Jan's Entwicklung bei.", + "githubDesc": "Trage zu Jans Entwicklung bei.", "discord": "Discord", "discordDesc": "Trete unserer Community für Unterstützung und Diskussionen bei.", "support": "Support", From 58bf9486ce0f48efd8c26076c163c7b565518304 Mon Sep 17 00:00:00 2001 From: Tobias Heirnich Date: Sat, 6 Jun 2026 16:37:12 +0200 Subject: [PATCH 3/5] fix(i18n): capitalize informal "Du" forms in de-DE settings Standardize second-person address to the capitalized forms (Du/Dich/Deine/ Deines/Deinem) for consistency across the German translation. Co-Authored-By: Claude Opus 4.8 --- web-app/src/locales/de-DE/settings.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/web-app/src/locales/de-DE/settings.json b/web-app/src/locales/de-DE/settings.json index 127b6e24cb..0eb0b13b39 100644 --- a/web-app/src/locales/de-DE/settings.json +++ b/web-app/src/locales/de-DE/settings.json @@ -113,7 +113,7 @@ "threadScrollTitle": "Scrollverhalten im Thread", "threadScrollDesc": "Lege fest, wie sich der Chat-Bereich verhält, wenn neue Nachrichten eintreffen.", "threadScrollFlowTitle": "Fließendes Scrollen", - "threadScrollFlowHint": "Hält den Bereich an der zuletzt von dir gesendeten Nachricht verankert.", + "threadScrollFlowHint": "Hält den Bereich an der zuletzt von Dir gesendeten Nachricht verankert.", "threadScrollStickyTitle": "Mitlaufendes Scrollen", "threadScrollStickyHint": "Folgt automatisch mit, während Antworten in Echtzeit eintreffen.", "tokenCounterCompact": "Kompakter Token-Zähler", @@ -154,7 +154,7 @@ "httpsProxy": { "proxy": "Proxy", "proxyUrl": "Proxy-URL", - "proxyUrlDesc": "Die URL und der Port deines Proxyservers.", + "proxyUrlDesc": "Die URL und der Port Deines Proxyservers.", "proxyUrlPlaceholder": "http://proxy.example.com:8080", "authentication": "Authentifizierung", "authenticationDesc": "Anmeldeinformationen für den Proxyserver, falls erforderlich.", @@ -218,12 +218,12 @@ "helpUsImprove": "Hilf uns, uns zu verbessern", "helpUsImproveDesc": "Um uns bei der Verbesserung von Jan zu unterstützen, kannst Du uns anonyme Daten wie Funktionsnutzung und Benutzerzahlen mitteilen. Wir erfassen niemals Deine Chats oder persönlichen Daten.", "privacyPolicy": "Du hast die volle Kontrolle über Deine Daten. Erfahre mehr in unserer Datenschutzerklärung.", - "analyticsDesc": "Um Jan zu verbessern, müssen wir verstehen, wie es genutzt wird - aber nur mit deiner Hilfe. Du kannst diese Einstellung jederzeit ändern.", + "analyticsDesc": "Um Jan zu verbessern, müssen wir verstehen, wie es genutzt wird - aber nur mit Deiner Hilfe. Du kannst diese Einstellung jederzeit ändern.", "privacyPromises": "Deine Auswahl hier ändert nichts an unseren grundlegenden Datenschutzversprechen:", - "promise1": "Deine Gespräche bleiben privat und auf deinem Gerät", + "promise1": "Deine Gespräche bleiben privat und auf Deinem Gerät", "promise2": "Wir erfassen niemals Deine persönlichen Daten oder Chat-Inhalte", "promise3": "Der gesamte Datenaustausch erfolgt anonym und aggregiert", - "promise4": "Du kannst dich jederzeit abmelden, ohne die Funktionalität zu verlieren", + "promise4": "Du kannst Dich jederzeit abmelden, ohne die Funktionalität zu verlieren", "promise5": "Wir sind transparent darüber, was wir sammeln und warum" }, "general": { @@ -251,7 +251,7 @@ "factoryResetTitle": "Auf Werkseinstellungen zurücksetzen", "factoryResetDesc": "Dadurch werden alle App-Einstellungen auf die Standardeinstellungen zurückgesetzt. Dieser Vorgang kann nicht rückgängig gemacht werden. Wir empfehlen dies nur, wenn die App beschädigt ist.", "keepAppData": "Anwendungsdaten behalten", - "keepAppDataDesc": "Dein Chatverlauf und deine Unterhaltungen bleiben erhalten.", + "keepAppDataDesc": "Dein Chatverlauf und Deine Unterhaltungen bleiben erhalten.", "keepModelsAndConfigs": "Alle Modelle und Konfigurationen behalten", "keepModelsAndConfigsDesc": "Heruntergeladene Modelle, Engine-Einstellungen und MCP-Konfigurationen bleiben erhalten.", "cancel": "Abbrechen", From 1c0d57ce9d7743b66f96501ca8cc2d9bf61e750a Mon Sep 17 00:00:00 2001 From: Tobias Heirnich Date: Sun, 7 Jun 2026 06:00:55 +0200 Subject: [PATCH 4/5] fix(i18n): fix German compound spelling in de-DE settings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Hyphenate/join compound nouns per German orthography (API-Server, API-Schlüssel, Server-Logs, Llamacpp-Updates/-Version, App-Daten, Serverkonfiguration, Fensterhintergrund, Proxy-SSL, …), fix "Pfadprefix"->"Pfadpräfix", and "RAM Total"->"Gesamter RAM". Addresses review feedback on #8285. Each change reviewed and approved by the contributor (native German speaker) before commit; AI-assisted. Signed-off-by: Tobias Heinrich Co-Authored-By: Claude Opus 4.8 --- web-app/src/locales/de-DE/settings.json | 38 ++++++++++++------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/web-app/src/locales/de-DE/settings.json b/web-app/src/locales/de-DE/settings.json index 0eb0b13b39..f2d13cb99f 100644 --- a/web-app/src/locales/de-DE/settings.json +++ b/web-app/src/locales/de-DE/settings.json @@ -6,11 +6,11 @@ "noUpdateAvailable": "Du verwendest die neueste Version", "devVersion": "Entwicklungsversion erkannt", "updateError": "Fehler beim Suchen nach Updates", - "checkForBackendUpdates": "Llamacpp Updates prüfen", + "checkForBackendUpdates": "Llamacpp-Updates prüfen", "checkForBackendUpdatesDesc": "Prüfe, ob eine neuere Version des Llamacpp-Backends verfügbar ist.", - "checkingForBackendUpdates": "Suche nach Llamacpp Updates...", - "noBackendUpdateAvailable": "Du verwendest die neueste Llamacpp Version", - "backendUpdateError": "Fehler beim Suchen nach Llamacpp Updates", + "checkingForBackendUpdates": "Suche nach Llamacpp-Updates...", + "noBackendUpdateAvailable": "Du verwendest die neueste Llamacpp-Version", + "backendUpdateError": "Fehler beim Suchen nach Llamacpp-Updates", "changeLocation": "Ort ändern", "copied": "Kopiert", "copyPath": "Pfad kopieren", @@ -46,7 +46,7 @@ "creditsDesc2": "Besonderer Dank gilt unseren Open-Source-Abhängigkeiten - insbesondere llama.cpp und Tauri - und unserer großartigen KI-Community.", "appVersion": "App-Version", "dataFolder": { - "appData": "App Daten", + "appData": "App-Daten", "appDataDesc": "Standardspeicherort für Nachrichten und andere Benutzerdaten.", "appLogs": "App-Protokolle", "appLogsDesc": "Zeige detaillierte Logs der App an." @@ -87,7 +87,7 @@ "theme": "Theme", "themeDesc": "Dem Betriebssystem anpassen.", "fontSize": "Schriftgröße", - "fontSizeDesc": "Einstellen der App Schriftgröße", + "fontSizeDesc": "Einstellen der App-Schriftgröße", "notificationPosition": "Benachrichtigungsposition", "notificationPositionDesc": "Wo Benachrichtigungen erscheinen. Unter Windows ist die Voreinstellung unten rechts, damit Pop-ups die Fenstersteuerung nicht verdecken.", "notificationPositionTopRight": "Oben rechts", @@ -96,7 +96,7 @@ "notificationPositionBottomLeft": "Unten links", "showTokenSpeed": "Token-Geschwindigkeit anzeigen", "showTokenSpeedDesc": "Zeigt Tokens/Sek. und die Token-Anzahl direkt unter den Antworten des Assistenten an. Wenn deaktiviert, zeigt ein kompaktes Symbol die Details beim Klicken.", - "windowBackground": "Fenster Hintergrund", + "windowBackground": "Fensterhintergrund", "windowBackgroundDesc": "Lege die Hintergrundfarbe des App-Fensters fest.", "appMainView": "App-Hauptansicht", "appMainViewDesc": "Lege die Hintergrundfarbe des Hauptinhaltsbereichs fest.", @@ -138,7 +138,7 @@ "instructions": "Instruktionen", "usage": "Nutzung", "memory": "Speicher", - "totalRam": "RAM Total", + "totalRam": "Gesamter RAM", "availableRam": "Verfügbarer RAM", "vulkan": "Vulkan", "enableVulkan": "Vulkan aktivieren", @@ -166,9 +166,9 @@ "sslVerification": "SSL Verifikation", "ignoreSsl": "SSL Certificates ignorieren", "ignoreSslDesc": "Erlaube selbstsignierte oder nicht verifizierte Zertifikate. Dies kann für einige Proxys erforderlich sein, verringert aber die Sicherheit. Aktiviere diese Option nur, wenn Du Deinem Proxy vertraust.", - "proxySsl": "Proxy SSL", + "proxySsl": "Proxy-SSL", "proxySslDesc": "Validieren des SSL-Zertifikats, wenn eine Verbindung mit dem Proxy hergestellt wird.", - "proxyHostSsl": "Proxy Host SSL", + "proxyHostSsl": "Proxy-Host-SSL", "proxyHostSslDesc": "Validieren des SSL-Zertifikats des Proxy-Hosts.", "peerSsl": "Peer SSL", "peerSslDesc": "Validieren des SSL-Zertifikats von Peer-Verbindungen.", @@ -176,7 +176,7 @@ "hostSslDesc": "Validieren der SSL-Zertifikate der Zielhosts." }, "localApiServer": { - "title": "Lokaler API Server", + "title": "Lokaler API-Server", "description": "Führe lokal einen OpenAI-kompatiblen Server aus.", "startServer": "Server starten", "loadingModel": "Modell laden", @@ -191,22 +191,22 @@ "startupConfiguration": "Startkonfiguration", "runOnStartup": "Automatisch starten", "runOnStartupDesc": "Starte den lokalen API-Server automatisch beim Anwendungsstart. Verwendet das zuletzt verwendete Modell oder wählt das erste verfügbare Modell, falls nicht verfügbar.", - "serverConfiguration": "Server Konfiguration", + "serverConfiguration": "Serverkonfiguration", "serverHost": "Server-Host", "serverHostDesc": "Netzwerkadresse für den Server.", "serverPort": "Server-Port", - "serverPortDesc": "Portnummer für den API Server.", + "serverPortDesc": "Portnummer für den API-Server.", "apiPrefix": "API-Präfix", - "apiPrefixDesc": "Pfadprefix für den API Endpunkt.", - "apiKey": "API Schlüssel", + "apiPrefixDesc": "Pfadpräfix für den API-Endpunkt.", + "apiKey": "API-Schlüssel", "apiKeyDesc": "Authentifiziere Anfragen mit einem API-Schlüssel.", "trustedHosts": "Vertrauenswürdige Hosts", "trustedHostsDesc": "Hosts, die auf den Server zugreifen dürfen, durch Kommas getrennt.", "advancedSettings": "Erweiterte Einstellungen", "cors": "Cross-Origin Resource Sharing (CORS)", "corsDesc": "Erlaube Cross-Origin-Anfragen an den API-Server.", - "verboseLogs": "Ausführliche Server Logs", - "verboseLogsDesc": "Aktiviere detaillierte Server Logs zum Debuggen", + "verboseLogs": "Ausführliche Server-Logs", + "verboseLogsDesc": "Aktiviere detaillierte Server-Logs zum Debuggen", "proxyTimeout": "Zeitüberschreitung bei der Anfrage", "proxyTimeoutDesc": "Wartezeit auf eine Antwort vom lokalen Modell in Sekunden.", "defaultModel": "Standardmodell (lokaler API-Server)", @@ -324,8 +324,8 @@ } }, "backendUpdater": { - "newBackendVersion": "Neue Llamacpp Version {{version}}", - "backendUpdateAvailable": "Llamacpp Update verfügbar", + "newBackendVersion": "Neue Llamacpp-Version {{version}}", + "backendUpdateAvailable": "Llamacpp-Update verfügbar", "remindMeLater": "Später erinnern", "updating": "Aktualisiere...", "updateNow": "Jetzt aktualisieren", From 358321fc1e8705acce2045cb2e620abed887fd73 Mon Sep 17 00:00:00 2001 From: Tobias Heinrich <44528682+tobiasheinrichfaska@users.noreply.github.com> Date: Fri, 12 Jun 2026 16:46:07 +0200 Subject: [PATCH 5/5] fix(i18n): adopt #8256 wording for 3 attachment/server keys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Concede threshold -> "Ähnlichkeitsschwellenwert", topKDesc -> "Anzahl der zurückgegebenen Textpassagen." and runOnStartup -> "Autostart" to #8256, so the overlapping de-DE strings match across both PRs and merge cleanly. Reviewed and approved by the contributor (native German speaker) before commit; AI-assisted. Signed-off-by: Tobias Heinrich Co-Authored-By: Claude Opus 4.8 --- web-app/src/locales/de-DE/settings.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/web-app/src/locales/de-DE/settings.json b/web-app/src/locales/de-DE/settings.json index f2d13cb99f..da379a18bd 100644 --- a/web-app/src/locales/de-DE/settings.json +++ b/web-app/src/locales/de-DE/settings.json @@ -189,7 +189,7 @@ "swaggerDocsDesc": "Zeige interaktive API-Dokumentation (Swagger UI) an.", "openDocs": "Dokumentation öffnen", "startupConfiguration": "Startkonfiguration", - "runOnStartup": "Automatisch starten", + "runOnStartup": "Autostart", "runOnStartupDesc": "Starte den lokalen API-Server automatisch beim Anwendungsstart. Verwendet das zuletzt verwendete Modell oder wählt das erste verfügbare Modell, falls nicht verfügbar.", "serverConfiguration": "Serverkonfiguration", "serverHost": "Server-Host", @@ -299,8 +299,8 @@ "maxFileDesc": "Maximale Größe pro Datei. Wird beim Hochladen und bei der Verarbeitung durchgesetzt.", "retrievalTitle": "Abruf", "topK": "Top-K", - "topKDesc": "Maximale Anzahl zurückgegebener Quellenangaben.", - "threshold": "Affinitäts-Schwellenwert", + "topKDesc": "Anzahl der zurückgegebenen Textpassagen.", + "threshold": "Ähnlichkeitsschwellenwert", "thresholdDesc": "Mindest-Ähnlichkeitswert (0–1). Wird nur für die lineare Kosinus-Suche verwendet, nicht für ANN.", "searchMode": "Vektorsuch-Modus", "searchModeDesc": "Wähle zwischen sqlite-vec ANN, linearer Kosinus-Suche oder automatisch.",