conduit/lib/l10n/app_nl.arb
cogwheel 4e73c9a0ea
Some checks are pending
L10n / l10n (push) Waiting to run
Fix ten reported issues and vendor Hermes Agent as an API reference (#725)
* Fix ten reported issues and vendor Hermes Agent as an API reference

Closes #693, #695, #699, #700, #701, #703, #708, #712, #716, #723.

- Hermes (#693, #699): load transcripts over REST even when session.resume
  fails, page at 200 messages and shrink on oversized responses, and show
  distinct errors for too-large, not-found, and RPC failures. Add the
  hermes-src submodule (NousResearch/hermes-agent v2026.9.11) as the RPC and
  REST contract reference.
- Server version banner (#695): dismissible, remembered per server and version.
- Model selector (#700): overflow fade and selection tint use the card surface.
- OpenRouter (#701): skip Batch API-only ":batch" model variants.
- Persisted chat content (#703): store plain output text instead of rendered
  <details> markup when structured output exists, matching the web client.
- Direct connections (#708): probes report their real failure instead of a
  generic message, the Open WebUI logout fence no longer blocks Direct setup,
  and 401/403 under the api-key header mode hints at Bearer auth.
- Reasoning effort (#712): per-server, per-model user picks override the
  model's configured default and are sent explicitly in the request.
- Voice calls (#716): stop the record plugin from clearing the Android
  communication device and verify the loudspeaker route before reporting it.
- Voice mode (#723): finalize speech on the responseDone marker.
- Add the five new strings to every locale.

* Address review: keep incomplete-clear block, pass effort on sends, keep all dismissals

- Direct profiles stay hidden and unusable after an incomplete full app-data
  clear, in memory and across restarts, until the logout fence is cleared by a
  completed cleanup or a new authenticated session. Ordinary failed sign-outs
  still do not block Direct setup.
- The primary Open WebUI send path now passes the resolved per-model reasoning
  effort like regeneration and queued completions already did.
- Server version warning dismissals are stored as a bounded set so dismissing
  one server no longer forgets another.

* Address review: release rejected speaker device, speak settled text on responseDone

- When Android accepts the built-in speaker but the read-back disagrees,
  clear that selection before the legacy setSpeakerphoneOn fallback, which is
  ignored while a communication device stays selected.
- Voice mode takes the final text from the message once responseDone is set;
  the streaming content provider can lag behind the flushed message.

* Address review: await the incomplete-clear restart marker before returning

The marker is written through the app-data-clear barrier with a checked write
and awaited by the clear coordinator, so a process death right after an
incomplete clear cannot reload the surviving Direct profiles on restart.

* Address review: arm the restart fence before the wipe and propagate marker failures

The incomplete-clear marker is now armed before any data is wiped, disarmed
only when the clear completes or yields ownership, re-asserted on an
incomplete outcome, and a failed checked write aborts the clear instead of
being swallowed. The in-memory block is unchanged.

* Do not raise an error banner for response.incomplete

Open WebUI forwards the provider's `response.incomplete` event over the
socket but treats it as a no-op: the output is kept and the turn still ends
with a normal `done`. Raising an error on that event flashed "The response
stopped before it was complete" under the answer until `done` cleared it.
`response.failed` still surfaces the provider error.
2026-09-15 00:48:03 +05:30

3269 lines
144 KiB
Text

{
"@@locale": "nl",
"appTitle": "Conduit",
"serverIncompatibleTitle": "Server niet ondersteund",
"serverIncompatibleMessage": "Deze server draait Open WebUI {serverVersion}, wat nieuwer is dan deze app ondersteunt (tot {maxVersion}).",
"serverIncompatibleResolution": "Om door te gaan, zet je je server terug naar {maxVersion} of eerder, of wacht je op een app-update die ondersteuning toevoegt.",
"serverIncompatibleConnectBlocked": "Deze server is nieuwer dan deze app ondersteunt (tot {maxVersion}).",
"serverIncompatibleRecheck": "Server opnieuw controleren",
"serverIncompatibleSwitchServer": "Andere server gebruiken",
"serverIncompatibleStillUnsupported": "Deze server is nog steeds nieuwer dan deze app ondersteunt.",
"retry": "Opnieuw proberen",
"back": "Terug",
"you": "Jij",
"loadingProfile": "Profiel laden...",
"unableToLoadProfile": "Kan het profiel niet laden.",
"pleaseCheckConnection": "Controleer je verbinding en probeer het opnieuw",
"connectionIssueTitle": "Kan je server niet bereiken",
"@connectionIssueTitle": {
"description": "Titel die wordt weergegeven wanneer de geconfigureerde server onbereikbaar is"
},
"connectionIssueSubtitle": "Maak opnieuw verbinding om door te gaan of log uit om een andere server te kiezen.",
"@connectionIssueSubtitle": {
"description": "Ondertitel die beschikbare acties uitlegt wanneer de server niet bereikbaar is"
},
"account": "Account",
"supportConduit": "Ondersteun Conduit",
"supportConduitSubtitle": "Houd Conduit onafhankelijk door doorlopende ontwikkeling te financieren.",
"githubSponsorsTitle": "GitHub Sponsors",
"githubSponsorsSubtitle": "Word een terugkerende sponsor om roadmap-items te financieren.",
"buyMeACoffeeTitle": "Buy Me a Coffee",
"buyMeACoffeeSubtitle": "Doe een eenmalige donatie om bedankt te zeggen.",
"releaseNotesTitle": "Nieuw",
"releaseNotesAnnouncementTitle": "Nieuw in {version}",
"@releaseNotesAnnouncementTitle": {"placeholders": {"version": {"type": "String"}}},
"releaseNotesLearnMore": "Meer informatie",
"releaseNotesReviewButton": "Beoordeel Conduit",
"releaseNotesDoneButton": "Gereed",
"signOut": "Uitloggen",
"endYourSession": "Beëindig je sessie",
"signOutOptionsDescription": "Bij afmelden worden appvoorkeuren en Direct- en Hermes-verbindingen van dit apparaat gewist. Opgeslagen gesprekken en gegevens op je server blijven behouden.",
"keepServerDetails": "Servergegevens bewaren",
"keepServerDetailsDescription": "Serveradres en niet-gevoelige verbindingsinstellingen; tokens en Cookie-headers worden verwijderd",
"defaultModel": "Standaardmodel",
"autoSelect": "Serverstandaard",
"loadingModels": "Modellen laden...",
"failedToLoadModels": "Kan modellen niet laden",
"failedToLoadFiles": "Kan bestanden niet laden",
"availableModels": "Beschikbare modellen",
"noResults": "Geen resultaten",
"searchModels": "Modellen zoeken...",
"searchFiles": "Bestanden zoeken...",
"errorMessage": "Er is iets misgegaan. Probeer het opnieuw.",
"closeButtonSemantic": "Sluiten",
"loadingContent": "Inhoud laden",
"noItems": "Geen items",
"noItemsToDisplay": "Geen items om weer te geven",
"knowledgeBase": "Kennisbank",
"attachments": "Bijlagen",
"files": "Bestanden",
"takePhoto": "Foto maken",
"document": "Document",
"backToServerSetup": "Terug naar serverinstelling",
"connectedToServer": "Verbonden met server",
"signIn": "Inloggen",
"enterCredentials": "Voer je inloggegevens in om toegang te krijgen tot je AI-gesprekken",
"credentials": "Inloggegevens",
"apiKey": "API-sleutel",
"token": "Token",
"jwt": "JWT",
"usernameOrEmail": "Gebruikersnaam of e-mail",
"password": "Wachtwoord",
"signInWithToken": "Inloggen met token",
"connectToServer": "Verbinden met server",
"serverUrl": "Server-URL",
"serverUrlHint": "https://jouw-server.com",
"enterServerUrlSemantic": "Voer je server-URL of IP-adres in",
"headerName": "Header-naam",
"headerValue": "Header-waarde",
"headerValueHint": "api-key-123 of Bearer token",
"addHeader": "Header toevoegen",
"maximumHeadersReached": "Maximum aantal headers bereikt",
"removeHeader": "Header verwijderen",
"connecting": "Verbinden...",
"connectToServerButton": "Verbinden met server",
"demoModeActive": "Demomodus actief",
"skipServerSetupTryDemo": "Serverinstelling overslaan en demo proberen",
"enterDemo": "Demo starten",
"demoBadge": "Demo",
"serverNotOpenWebUI": "Dit lijkt geen Open-WebUI server te zijn.",
"serverUrlEmpty": "Server-URL mag niet leeg zijn",
"invalidUrlFormat": "Ongeldig URL-formaat. Controleer je invoer.",
"onlyHttpHttps": "Alleen HTTP- en HTTPS-protocollen worden ondersteund.",
"serverAddressRequired": "Serveradres is vereist (bijv. 192.168.1.10 of example.com).",
"portRange": "Poort moet tussen 1 en 65535 zijn.",
"invalidIpFormat": "Ongeldig IP-adresformaat. Gebruik een formaat zoals 192.168.1.10.",
"couldNotConnectGeneric": "Kan geen verbinding maken. Controleer het adres en probeer het opnieuw.",
"weCouldntReachServer": "We konden de server niet bereiken. Controleer je verbinding en of de server actief is.",
"connectionTimedOut": "Verbinding time-out. De server is mogelijk druk of geblokkeerd door een firewall.",
"useHttpOrHttpsOnly": "Gebruik alleen http:// of https://.",
"loginFailed": "Inloggen mislukt",
"invalidCredentials": "Ongeldige gebruikersnaam of wachtwoord. Probeer het opnieuw.",
"serverRedirectingHttps": "De server leidt verzoeken om. Controleer de HTTPS-configuratie van je server.",
"unableToConnectServer": "Kan geen verbinding maken met server. Controleer je verbinding.",
"requestTimedOut": "Het verzoek is verlopen. Probeer het opnieuw.",
"genericSignInFailed": "We konden je niet inloggen. Controleer je inloggegevens en serverinstellingen.",
"attachmentLabel": "Bijlage",
"tools": "Hulpmiddelen",
"toolServer": "Toolserver",
"toolServers": "Toolservers",
"terminal": "Terminal",
"filters": "Filters",
"voiceInput": "Spraakinvoer",
"voice": "Stem",
"voiceStatusListening": "Luisteren...",
"voiceStatusRecording": "Opnemen...",
"voiceHoldToTalk": "Houd ingedrukt om te praten",
"voiceAutoSend": "Automatisch verzenden",
"voiceTranscript": "Transcriptie",
"voicePromptSpeakNow": "Spreek nu...",
"voicePromptTapStart": "Tik op Start om te beginnen",
"voiceActionStop": "Stop",
"voiceActionStart": "Start",
"messageHintText": "Vraag Conduit",
"stopGenerating": "Stop met genereren",
"codeCopiedToClipboard": "Code gekopieerd naar klembord.",
"send": "Verzenden",
"sendMessage": "Bericht verzenden",
"file": "Bestand",
"photo": "Foto",
"camera": "Camera",
"pasteImage": "Afbeelding plakken",
"apiUnavailable": "API-service niet beschikbaar",
"unableToLoadImage": "Kan afbeelding niet laden",
"notAnImageFile": "Geen afbeeldingsbestand: {fileName}",
"failedToLoadImage": "Kan afbeelding niet laden: {error}",
"invalidDataUrl": "Ongeldig data-URL-formaat",
"failedToDecodeImage": "Kan afbeelding niet decoderen",
"invalidImageFormat": "Ongeldig afbeeldingsformaat",
"emptyImageData": "Lege afbeeldingsgegevens",
"confirm": "Bevestigen",
"cancel": "Annuleren",
"chatQueuedOfflineTitle": "Offline in wachtrij",
"chatQueuedOfflineMessage": "Deze reactie start wanneer de server bereikbaar is.",
"chatQueuedPendingTitle": "In wachtrij voor verzending",
"chatQueuedPendingMessage": "Conduit start deze reactie zodra synchronisatie wordt uitgevoerd.",
"chatQueuedFailedTitle": "Verzenden mislukt",
"chatQueuedFailedMessage": "Probeer de reactie in de wachtrij opnieuw of annuleer deze.",
"chatQueuedSnackBar": "Bericht in wachtrij geplaatst. Het wordt verzonden wanneer de server bereikbaar is.",
"ok": "OK",
"inputField": "Invoerveld",
"checkConnection": "Verbinding controleren",
"openSettings": "Instellingen openen",
"goBack": "Terug",
"technicalDetails": "Technische details",
"save": "Opslaan",
"chooseModel": "Model kiezen",
"reviewerMode": "BEOORDELAARSMODUS",
"selectLanguage": "Taal selecteren",
"newFolder": "Nieuwe map",
"folderName": "Mapnaam",
"newChat": "Nieuwe chat",
"more": "Meer",
"clear": "Wissen",
"searchConversations": "Gesprekken zoeken...",
"create": "Aanmaken",
"failedToCreateFolder": "Kan map niet aanmaken",
"failedToMoveChat": "Kan chat niet verplaatsen",
"failedToLoadChats": "Kan chats niet laden",
"failedToUpdatePin": "Kan vastpinning niet bijwerken",
"failedToDeleteChat": "Kan chat niet verwijderen",
"manage": "Beheren",
"rename": "Hernoemen",
"delete": "Verwijderen",
"renameChat": "Chat hernoemen",
"enterChatName": "Chatnaam invoeren",
"failedToRenameChat": "Kan chat niet hernoemen",
"failedToUpdateArchive": "Kan archief niet bijwerken",
"unarchive": "Uit archief halen",
"archive": "Archiveren",
"pin": "Vastpinnen",
"unpin": "Losmaken",
"recent": "Recent",
"system": "Systeem",
"english": "English",
"deutsch": "Deutsch",
"francais": "Français",
"italiano": "Italiano",
"espanol": "Español",
"nederlands": "Nederlands",
"russian": "Русский",
"chinese": "中文",
"chineseSimplified": "Chinees (vereenvoudigd)",
"chineseTraditional": "Chinees (traditioneel)",
"korean": "한국어",
"japanese": "日本語",
"czech": "Čeština",
"slovak": "Slovenčina",
"polish": "Pools",
"deleteMessagesTitle": "Berichten verwijderen",
"deleteMessagesMessage": "{count} berichten verwijderen?",
"@deleteMessagesMessage": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"routeNotFound": "Route niet gevonden: {routeName}",
"@routeNotFound": {
"placeholders": {
"routeName": {
"type": "String"
}
}
},
"deleteChatTitle": "Chat verwijderen",
"deleteChatMessage": "Deze chat wordt permanent verwijderd.",
"deleteFolderTitle": "Map verwijderen",
"deleteFolderMessage": "Deze map en zijn toewijzingen worden verwijderd.",
"failedToDeleteFolder": "Kan map niet verwijderen",
"aboutApp": "Over",
"aboutAppSubtitle": "Conduit informatie en links",
"web": "Web",
"imageGen": "Afbeeldingsgeneratie",
"pinned": "Vastgepind",
"folders": "Mappen",
"archived": "Gearchiveerd",
"appLanguage": "App-taal",
"darkMode": "Donkere modus",
"webSearch": "Webzoekopdracht",
"webSearchDescription": "Doorzoek het web en citeer bronnen in antwoorden.",
"imageGeneration": "Afbeeldingsgeneratie",
"imageGenerationDescription": "Maak afbeeldingen van je prompts.",
"copy": "Kopiëren",
"ttsListen": "Luisteren",
"ttsStop": "Stoppen",
"edit": "Bewerken",
"regenerate": "Opnieuw genereren",
"noConversationsYet": "Nog geen gesprekken",
"usernameOrEmailHint": "Voer je gebruikersnaam of e-mail in",
"passwordHint": "Voer je wachtwoord in",
"enterToken": "Voer je JWT-token in",
"tokenHint": "Haal het JWT-token uit de Open WebUI-instellingen. API-sleutels (sk-...) worden niet ondersteund voor streaming.",
"apiKeyNotSupported": "API-sleutels (sk-...) worden niet ondersteund. Gebruik in plaats daarvan een JWT-token.",
"apiKeyNoLongerSupported": "Je bent uitgelogd omdat API-sleutels niet meer worden ondersteund. Log in met een JWT-token uit de Open WebUI-instellingen.",
"tokenTooShort": "Token is te kort",
"signingIn": "Inloggen...",
"advancedSettings": "Geavanceerde instellingen",
"customHeaders": "Aangepaste headers",
"customHeadersDescription": "Voeg aangepaste HTTP-headers toe voor authenticatie, API-sleutels of speciale serververeisten.",
"allowSelfSignedCertificates": "Vertrouw zelfondertekende certificaten",
"@allowSelfSignedCertificates": {
"description": "Schakelaar waarmee zelfondertekende TLS-certificaten voor de geconfigureerde server vertrouwd kunnen worden."
},
"allowSelfSignedCertificatesDescription": "Accepteer het TLS-certificaat van deze server, zelfs als het zelfondertekend is. Schakel dit alleen in voor servers die je vertrouwt.",
"@allowSelfSignedCertificatesDescription": {
"description": "Hulptekst die de risico's van het inschakelen van de schakelaar voor zelfondertekende certificaten verduidelijkt."
},
"mutualTlsSectionTitle": "mTLS-clientcertificaat",
"mutualTlsSectionDescription": "Voeg een PEM-certificaatketen en PEM-privésleutel toe wanneer je server wederzijdse TLS vereist tijdens het opzetten van de verbinding.",
"mutualTlsSelectCertificate": "Certificaat selecteren",
"mutualTlsSelectPrivateKey": "Privésleutel selecteren",
"mutualTlsCertificateReady": "Certificaat",
"mutualTlsPrivateKeyReady": "Privésleutel",
"mutualTlsPrivateKeyPasswordHint": "Wachtwoord voor privésleutel (optioneel)",
"mutualTlsClearCredentials": "mTLS-bestanden wissen",
"mutualTlsMissingCredentialPair": "Selecteer zowel een clientcertificaat als een privésleutel om mTLS te gebruiken.",
"mutualTlsCertificatePemRequired": "Het geselecteerde certificaatbestand moet een PEM-certificaatketen bevatten.",
"mutualTlsPrivateKeyPemRequired": "Het geselecteerde privésleutelbestand moet een PEM-privésleutel bevatten.",
"mutualTlsFileReadFailed": "Kan het geselecteerde mTLS-bestand niet lezen.",
"mutualTlsHandshakeFailed": "De server heeft de mTLS-inloggegevens geweigerd. Controleer of het certificaat, de privésleutel en het wachtwoord correct zijn.",
"headerNameTooLong": "Header-naam te lang (max 64 tekens)",
"headerNameInvalidChars": "Ongeldige header-naam. Gebruik alleen letters, cijfers en deze symbolen: !#$&-^_`|~",
"headerNameReserved": "Kan gereserveerde header '{key}' niet overschrijven",
"@headerNameReserved": {
"placeholders": {
"key": {
"type": "String"
}
}
},
"headerValueTooLong": "Header-waarde te lang (max 1024 tekens)",
"headerValueInvalidChars": "Header-waarde bevat ongeldige tekens. Gebruik alleen afdrukbare ASCII.",
"headerValueUnsafe": "Header-waarde lijkt mogelijk onveilige inhoud te bevatten",
"headerAlreadyExists": "Header '{key}' bestaat al. Verwijder deze eerst om bij te werken.",
"@headerAlreadyExists": {
"placeholders": {
"key": {
"type": "String"
}
}
},
"maxHeadersReachedDetail": "Maximaal 10 aangepaste headers toegestaan. Verwijder er enkele om meer toe te voegen.",
"noModelsAvailable": "Geen modellen beschikbaar",
"followingSystem": "Volgt systeem: {theme}",
"@followingSystem": {
"placeholders": {
"theme": {
"type": "String"
}
}
},
"themeDark": "Donker",
"themePalette": "Accentpalet",
"@themePalette": {
"description": "Titel voor het selecteren van het app-kleurenpalet."
},
"themeLight": "Licht",
"currentlyUsingDarkTheme": "Momenteel donker thema in gebruik",
"currentlyUsingLightTheme": "Momenteel licht thema in gebruik",
"aboutConduit": "Over Conduit",
"versionLabel": "Versie: {version} ({build})",
"@versionLabel": {
"placeholders": {
"version": {
"type": "String"
},
"build": {
"type": "String"
}
}
},
"githubRepository": "GitHub-repository",
"unableToLoadAppInfo": "Kan app-info niet laden",
"thinking": "Denken...",
"thoughts": "Gedachten",
"thoughtForDuration": "Dacht {duration}",
"@thoughtForDuration": {
"description": "Toont hoe lang de assistent dacht voordat hij antwoordde.",
"placeholders": {
"duration": {
"type": "String",
"example": "3s"
}
}
},
"analyzing": "Analyseren…",
"analyzed": "Geanalyseerd",
"appCustomization": "Aanpassing",
"appCustomizationSubtitle": "Thema, taal, stem en quick actions",
"quickActionsDescription": "Snelkoppelingen in chat",
"chatSettings": "Chat",
"sendOnEnter": "Verzenden met Enter",
"sendOnEnterDescription": "Enter verzendt (softtoetsenbord). Cmd/Ctrl+Enter ook beschikbaar",
"disableHapticsWhileStreaming": "Haptiek uitschakelen tijdens streamen",
"disableHapticsWhileStreamingDescription": "Dempt haptiek voor live reacties zonder de rest van de app te beïnvloeden",
"androidAssistantTitle": "Digitale Android-assistent",
"androidAssistantDescription": "Kies wat er gebeurt wanneer je de digitale Android-assistent activeert.",
"androidAssistantOverlayOption": "Snelle overlay tonen (standaard)",
"androidAssistantNewChatOption": "Conduit openen met een nieuwe chat",
"androidAssistantVoiceCallOption": "Spraakoproep starten",
"sttSettings": "Spraak naar tekst",
"sttEngineLabel": "Herkenningsengine",
"sttEngineDevice": "Op het apparaat",
"sttEngineServer": "Server",
"sttEngineDeviceDescription": "Houdt audio op dit apparaat. Spraakinput werkt niet als het apparaat geen spraakherkenning ondersteunt.",
"sttEngineServerDescription": "Stuurt opnames altijd naar je Open WebUI-server voor transcriptie.",
"sttDeviceUnavailableWarning": "Spraakherkenning op het apparaat is niet beschikbaar op dit apparaat.",
"sttServerUnavailableWarning": "Verbind met een server met transcriptie ingeschakeld om deze optie te gebruiken.",
"sttSilenceDuration": "Stilteduur",
"sttSilenceDurationDescription": "Tijd om te wachten na stilte voordat de opname automatisch stopt",
"sttTranscriptionLanguage": "Transcriptietaal",
"sttTranscriptionLanguageDescription": "Gebruik Auto om de taal van dit apparaat te volgen, of voer een code zoals en in.",
"sttTranscriptionLanguageAuto": "Auto",
"sttTranscriptionLanguageCustom": "Aangepaste taalcode",
"sttTranscriptionLanguagePlaceholder": "ISO-639-1-code, bijv. en",
"sttTranscriptionLanguageInvalid": "Gebruik een tweeletterige taalcode zoals en.",
"sttDeviceLanguage": "Herkenningstaal",
"sttDeviceLanguageDescription": "Kies de taal voor spraakherkenning op het apparaat.",
"sttDeviceLanguageAutoDescription": "Schakel automatisch tussen geïnstalleerde talen wanneer ondersteund.",
"sttDeviceLanguageSystemDescription": "Gebruik de huidige Android-systeemtaal.",
"sttDeviceLanguagePlaceholder": "BCP-47-code, bijv. pl-PL",
"sttDeviceLanguageInvalid": "Voer een geldige landinstellingscode in, zoals pl-PL.",
"ttsSettings": "Tekst naar spraak",
"ttsEngineDeviceDescription": "Houdt de synthese op dit apparaat. Spraakweergave werkt niet als het apparaat geen TTS ondersteunt.",
"ttsEngineServerDescription": "Vraagt altijd audio op bij je Open WebUI-server.",
"ttsDeviceUnavailableWarning": "Spraaksynthese op het apparaat is niet beschikbaar op dit apparaat.",
"ttsServerUnavailableWarning": "Verbind met een server met tekst-naar-spraak ingeschakeld om deze optie te gebruiken.",
"ttsVoice": "Stem",
"ttsSpeechRate": "Spraaksnelheid",
"ttsPitch": "Toonhoogte",
"ttsVolume": "Volume",
"ttsPreview": "Stemvoorbeeld",
"ttsSystemDefault": "Systeemstandaard",
"ttsSelectVoice": "Selecteer stem",
"ttsPreviewText": "Dit is een voorbeeld van de geselecteerde stem.",
"ttsNoVoicesAvailable": "Geen stemmen beschikbaar",
"ttsVoicesForLanguage": "{language} stemmen",
"ttsOtherVoices": "Andere talen",
"error": "Fout",
"display": "Weergave",
"realtime": "Realtime",
"transportMode": "Transportmodus",
"mode": "Modus",
"transportModePolling": "Polling-fallback",
"transportModeWs": "Alleen WebSocket",
"transportModePollingInfo": "Valt terug op HTTP-polling wanneer WebSocket geblokkeerd is. Upgrade naar WebSocket zodra dat kan.",
"transportModeWsInfo": "Lagere overhead, maar kan mislukken achter strikte proxies/firewalls.",
"quickActionsSelectedCount": "{count, plural, =0{Geen acties geselecteerd} one{{count} actie geselecteerd} other{{count} acties geselecteerd}}",
"@quickActionsSelectedCount": {
"description": "Subtitle indicating how many quick actions are selected.",
"placeholders": {
"count": {
"type": "int",
"example": "2"
}
}
},
"autoSelectDescription": "Gebruik het standaardmodel dat op de server is geconfigureerd",
"@autoSelectDescription": {
"description": "Explains what the server-provided model setting does."
},
"ttsEngineLabel": "Engine",
"@ttsEngineLabel": {
"description": "Label for selecting the text-to-speech engine."
},
"ttsEngineDevice": "Op het apparaat",
"@ttsEngineDevice": {
"description": "Chip label for using on-device text-to-speech."
},
"ttsEngineServer": "Server",
"@ttsEngineServer": {
"description": "Chip label for using server-side text-to-speech."
},
"modelCapabilityMultimodal": "Multimodaal",
"@modelCapabilityMultimodal": {
"description": "Capability chip label for models that support multimodal input."
},
"modelCapabilityReasoning": "Redeneren",
"@modelCapabilityReasoning": {
"description": "Capability chip label for models that support reasoning features."
},
"voiceCallTitle": "Spraakoproep",
"@voiceCallTitle": {
"description": "Title displayed on the voice call screen."
},
"voiceCallPause": "Pauze",
"@voiceCallPause": {
"description": "Button label to pause a voice call."
},
"voiceCallResume": "Hervatten",
"@voiceCallResume": {
"description": "Button label to resume a paused voice call."
},
"voiceCallStop": "Stoppen",
"@voiceCallStop": {
"description": "Button label to stop the active voice call."
},
"voiceCallEnd": "Oproep beëindigen",
"@voiceCallEnd": {
"description": "Button label to end the voice call session."
},
"chooseDifferentFile": "Ander bestand kiezen",
"@chooseDifferentFile": {
"description": "Action label prompting the user to pick another file."
},
"errorWithMessage": "Fout: {message}",
"@errorWithMessage": {
"description": "Error label with appended message text.",
"placeholders": {
"message": {
"type": "String",
"example": "Network timeout"
}
}
},
"networkTimeoutError": "De verbinding is verlopen. Controleer je internetverbinding en probeer het opnieuw.",
"@networkTimeoutError": {
"description": "User-facing message when a network request times out."
},
"networkUnreachableError": "Server niet bereikbaar. Controleer de server-URL en je internetverbinding.",
"@networkUnreachableError": {
"description": "User-facing message when the server cannot be reached."
},
"networkServerNotResponding": "Server reageert niet. Controleer of de server actief en bereikbaar is.",
"@networkServerNotResponding": {
"description": "User-facing message when the server does not respond to a request."
},
"networkGenericError": "Netwerkprobleem. Controleer je internetverbinding.",
"@networkGenericError": {
"description": "Fallback message for generic network errors."
},
"serverError500": "De server heeft problemen. Dit is meestal tijdelijk.",
"@serverError500": {
"description": "Message when a 500 error is encountered."
},
"serverErrorUnavailable": "Server tijdelijk niet beschikbaar. Probeer het zo weer.",
"@serverErrorUnavailable": {
"description": "Message when a 502/503 error is encountered."
},
"serverErrorTimeout": "De server deed te lang over een antwoord. Probeer het opnieuw.",
"@serverErrorTimeout": {
"description": "Message when the server times out."
},
"serverErrorGeneric": "De server ondervindt problemen. Probeer het later opnieuw.",
"@serverErrorGeneric": {
"description": "Fallback server error message."
},
"authSessionExpired": "Je sessie is verlopen. Log opnieuw in.",
"@authSessionExpired": {
"description": "Message when an authentication session expires."
},
"authForbidden": "Je hebt geen toestemming voor deze actie.",
"@authForbidden": {
"description": "Message when the user lacks required permissions."
},
"authInvalidToken": "Authenticatietoken is ongeldig. Log opnieuw in.",
"@authInvalidToken": {
"description": "Message when the authentication token is invalid."
},
"authGenericError": "Authenticatieprobleem. Log opnieuw in.",
"@authGenericError": {
"description": "Fallback authentication error message."
},
"validationInvalidEmail": "Voer een geldig e-mailadres in.",
"@validationInvalidEmail": {
"description": "Validation message for invalid email input."
},
"validationWeakPassword": "Het wachtwoord voldoet niet aan de vereisten. Controleer het en probeer opnieuw.",
"@validationWeakPassword": {
"description": "Validation message for weak passwords."
},
"validationMissingRequired": "Vul alle verplichte velden in.",
"@validationMissingRequired": {
"description": "Validation message when required fields are missing."
},
"validationFormatError": "Sommige informatie heeft het verkeerde formaat. Controleer en probeer opnieuw.",
"@validationFormatError": {
"description": "Validation message for generic formatting issues."
},
"validationGenericError": "Controleer je invoer en probeer opnieuw.",
"@validationGenericError": {
"description": "Fallback validation message."
},
"fileNotFound": "Bestand niet gevonden. Het is mogelijk verplaatst of verwijderd.",
"@fileNotFound": {
"description": "Message when a file cannot be located."
},
"fileAccessDenied": "Kan geen toegang krijgen tot het bestand. Controleer de rechten.",
"@fileAccessDenied": {
"description": "Message when file access is denied."
},
"fileTooLarge": "Het bestand is te groot. Kies een kleiner bestand.",
"@fileTooLarge": {
"description": "Message when a file exceeds size limits."
},
"fileGenericError": "Probleem met het bestand. Probeer een ander bestand.",
"@fileGenericError": {
"description": "Fallback file error message."
},
"permissionCameraRequired": "Cameratoegang is vereist. Schakel dit in via de instellingen.",
"@permissionCameraRequired": {
"description": "Message when camera permission is missing."
},
"permissionStorageRequired": "Opslagtoegang is vereist. Schakel dit in via de instellingen.",
"@permissionStorageRequired": {
"description": "Message when storage permission is missing."
},
"permissionMicrophoneRequired": "Microfoontoegang is vereist. Schakel dit in via de instellingen.",
"@permissionMicrophoneRequired": {
"description": "Message when microphone permission is missing."
},
"permissionGenericError": "Toestemming vereist. Controleer de app-machtigingen in de instellingen.",
"@permissionGenericError": {
"description": "Fallback permission error message."
},
"actionRetryRequest": "Probeer de aanvraag opnieuw.",
"@actionRetryRequest": {
"description": "Description for retrying a failed request."
},
"actionVerifyConnection": "Controleer je internetverbinding.",
"@actionVerifyConnection": {
"description": "Description for checking internet connectivity."
},
"actionRetryOperation": "Probeer de actie opnieuw.",
"@actionRetryOperation": {
"description": "Description for retrying the same operation."
},
"actionRetryAfterDelay": "Wacht even en probeer het opnieuw.",
"@actionRetryAfterDelay": {
"description": "Description suggesting a short delay before retrying."
},
"actionSignInToAccount": "Log in op je account.",
"@actionSignInToAccount": {
"description": "Description for signing back into the app."
},
"actionSelectAnotherFile": "Kies een ander bestand.",
"@actionSelectAnotherFile": {
"description": "Description for choosing a different file."
},
"actionOpenAppSettings": "Open de app-instellingen om toestemming te geven.",
"@actionOpenAppSettings": {
"description": "Description for opening system or app settings."
},
"actionRetryAfterPermission": "Probeer opnieuw nadat je toestemming hebt gegeven.",
"@actionRetryAfterPermission": {
"description": "Description for retrying once permissions are granted."
},
"actionReturnToPrevious": "Keer terug naar het vorige scherm.",
"@actionReturnToPrevious": {
"description": "Description for navigating back to the prior screen."
},
"continueAction": "Doorgaan",
"@continueAction": {
"description": "Button label to continue an action or flow."
},
"loadingShort": "Laden",
"@loadingShort": {
"description": "Short loading label used for accessibility."
},
"loadingAnnouncement": "Laden: {message}",
"@loadingAnnouncement": {
"description": "Screen reader announcement when loading a resource.",
"placeholders": {
"message": {
"type": "String",
"example": "Messages"
}
}
},
"errorAnnouncement": "Fout: {error}",
"@errorAnnouncement": {
"description": "Screen reader announcement for an error.",
"placeholders": {
"error": {
"type": "String",
"example": "Network timeout"
}
}
},
"errorAnnouncementWithSuggestion": "Fout: {error}. {suggestion}",
"@errorAnnouncementWithSuggestion": {
"description": "Screen reader announcement for an error with a follow-up suggestion.",
"placeholders": {
"error": {
"type": "String",
"example": "Network timeout"
},
"suggestion": {
"type": "String",
"example": "Please try again later."
}
}
},
"successAnnouncement": "Succes: {message}",
"@successAnnouncement": {
"description": "Screen reader announcement for successful actions.",
"placeholders": {
"message": {
"type": "String",
"example": "Profile updated"
}
}
},
"requiredFieldLabel": "{label} *",
"@requiredFieldLabel": {
"description": "Label text indicating a required field.",
"placeholders": {
"label": {
"type": "String",
"example": "Email"
}
}
},
"requiredFieldHelper": "Verplicht veld",
"@requiredFieldHelper": {
"description": "Helper text indicating that the field is required."
},
"switchOnLabel": "Aan",
"@switchOnLabel": {
"description": "Semantic label when a switch is enabled."
},
"switchOffLabel": "Uit",
"@switchOffLabel": {
"description": "Semantic label when a switch is disabled."
},
"dialogSemanticLabel": "Dialoog: {title}",
"@dialogSemanticLabel": {
"description": "Semantic label describing the dialog title.",
"placeholders": {
"title": {
"type": "String",
"example": "Settings"
}
}
},
"previousLabel": "Vorige",
"@previousLabel": {
"description": "Label for navigating to the previous item."
},
"nextLabel": "Volgende",
"@nextLabel": {
"description": "Label for navigating to the next item."
},
"themePaletteConduitLabel": "Conduit",
"@themePaletteConduitLabel": {
"description": "Palette name for the default Conduit theme."
},
"themePaletteConduitDescription": "Strak neutraal thema ontworpen voor Conduit.",
"@themePaletteConduitDescription": {
"description": "Description of the Conduit palette."
},
"themePaletteClaudeLabel": "Claude",
"@themePaletteClaudeLabel": {
"description": "Palette name inspired by the Claude web client."
},
"themePaletteClaudeDescription": "Warm, tactiel palet geïnspireerd op de Claude-webclient.",
"@themePaletteClaudeDescription": {
"description": "Description of the Claude palette."
},
"themePaletteT3ChatLabel": "T3 Chat",
"@themePaletteT3ChatLabel": {
"description": "Palette name inspired by the T3 Stack brand."
},
"themePaletteT3ChatDescription": "Speelse verlopen geïnspireerd op het T3 Stack-merk.",
"@themePaletteT3ChatDescription": {
"description": "Description of the T3 Chat palette."
},
"themePaletteCatppuccinLabel": "Catppuccin",
"@themePaletteCatppuccinLabel": {
"description": "Palette name for Catppuccin colors."
},
"themePaletteCatppuccinDescription": "Zacht pastelkleurig palet.",
"@themePaletteCatppuccinDescription": {
"description": "Description of the Catppuccin palette."
},
"themePaletteTangerineLabel": "Tangerine",
"@themePaletteTangerineLabel": {
"description": "Palette name for Tangerine colors."
},
"themePaletteTangerineDescription": "Warm oranje-en-leisteenpalet.",
"@themePaletteTangerineDescription": {
"description": "Description of the Tangerine palette."
},
"@notAnImageFile": {
"description": "Error when a referenced file is not an image.",
"placeholders": {
"fileName": {
"type": "String",
"example": "image.txt"
}
}
},
"@failedToLoadImage": {
"description": "Error including the underlying reason when image loading fails.",
"placeholders": {
"error": {
"type": "String",
"example": "Network error"
}
}
},
"@ttsVoicesForLanguage": {
"description": "Section header for voices matching the app language",
"placeholders": {
"language": {
"type": "String",
"example": "EN"
}
}
},
"voiceCallReady": "Gereed",
"@voiceCallReady": {
"description": "Status label shown when the voice call is ready to start."
},
"voiceCallConnecting": "Verbinding maken...",
"@voiceCallConnecting": {
"description": "Status label shown while the voice call is connecting."
},
"voiceCallListening": "Luistert",
"@voiceCallListening": {
"description": "Status label shown while the call is listening for input."
},
"voiceCallPaused": "Gepauzeerd",
"@voiceCallPaused": {
"description": "Status label shown when the call is paused."
},
"voiceCallProcessing": "Denkt na...",
"@voiceCallProcessing": {
"description": "Status label shown while the call processes a response."
},
"voiceCallSpeaking": "Spreekt",
"@voiceCallSpeaking": {
"description": "Status label shown while the assistant is speaking."
},
"voiceCallDisconnected": "Verbinding verbroken",
"@voiceCallDisconnected": {
"description": "Status label shown when the voice call has ended or disconnected."
},
"voiceCallErrorHelp": "Controleer het volgende:\n• Microfoonmachtigingen zijn toegestaan\n• Spraakherkenning is beschikbaar op je apparaat\n• Je bent verbonden met de server",
"@voiceCallErrorHelp": {
"description": "Guidance shown when the voice call encounters an error."
},
"mermaidPreviewUnavailable": "Mermaid-voorbeeld is niet beschikbaar op dit platform.",
"chartPreviewUnavailable": "Grafiekvoorbeeld is niet beschikbaar op dit platform.",
"notes": "Notities",
"searchNotes": "Notities zoeken...",
"createNote": "Notitie maken",
"noNotesYet": "Nog geen notities",
"noNotesFound": "Geen notities gevonden",
"createFirstNoteHint": "Tik op + om je eerste notitie te maken.",
"tryDifferentSearch": "Probeer een andere zoekterm.",
"loadingNotes": "Notities laden...",
"loadingNote": "Notitie laden...",
"failedToLoadNotes": "Notities laden mislukt",
"deleteNoteTitle": "Notitie verwijderen",
"deleteNoteMessage": "\"{title}\" verwijderen? Dit kan niet ongedaan worden gemaakt.",
"@deleteNoteMessage": {
"placeholders": {
"title": {
"type": "String",
"example": "My Note"
}
}
},
"writeNote": "Schrijf iets...",
"saving": "Opslaan...",
"saved": "Opgeslagen",
"noteCopiedToClipboard": "Notitie gekopieerd naar klembord",
"generateTitle": "Titel genereren",
"generatingTitle": "Titel genereren...",
"noContentToGenerateTitle": "Voeg eerst inhoud toe om een titel te genereren",
"failedToGenerateTitle": "Titel genereren mislukt",
"noContentToEnhance": "Voeg eerst inhoud toe om te verbeteren",
"noteEnhanced": "Notitie verbeterd met AI",
"failedToEnhanceNote": "Notitie verbeteren mislukt",
"noModelSelected": "Selecteer eerst een model",
"enhanceWithAI": "Verbeteren met AI",
"enhanceNote": "Notitie verbeteren",
"startDictation": "Dicteren starten",
"stopRecording": "Opname stoppen",
"voiceInputUnavailable": "Spraakinvoer niet beschikbaar",
"failedToStartDictation": "Dicteren starten mislukt",
"noteNotFound": "Notitie niet gevonden",
"untitled": "Naamloos",
"today": "Vandaag",
"yesterday": "Gisteren",
"previous7Days": "Afgelopen 7 dagen",
"previous30Days": "Afgelopen 30 dagen",
"older": "Ouder",
"wordCount": "{count} woorden",
"@wordCount": {
"placeholders": {
"count": {
"type": "int",
"example": "150"
}
}
},
"charCount": "{count} tekens",
"@charCount": {
"placeholders": {
"count": {
"type": "int",
"example": "500"
}
}
},
"promptVariablesTitle": "Details invullen",
"promptVariablesDescription": "Vul de onderstaande velden in om deze prompt aan te passen.",
"promptVariableNumberMin": "Minimale waarde is {min}",
"@promptVariableNumberMin": {
"placeholders": {
"min": {
"type": "double",
"example": "0"
}
}
},
"promptVariableNumberMax": "Maximale waarde is {max}",
"@promptVariableNumberMax": {
"placeholders": {
"max": {
"type": "double",
"example": "100"
}
}
},
"sso": "SSO",
"ssoDescription": "Aanmelden met de identiteitsprovider van uw organisatie",
"signInWithSso": "Aanmelden met SSO",
"ssoAuthenticating": "Authenticeren...",
"ssoAuthFailed": "SSO-authenticatie mislukt",
"ssoLoadingLogin": "Inlogpagina laden...",
"ldap": "LDAP",
"ldapDescription": "Aanmelden met uw LDAP-directorygegevens",
"signInWithLdap": "Aanmelden met LDAP",
"ldapUsername": "Gebruikersnaam",
"ldapUsernameHint": "Voer uw LDAP-gebruikersnaam in",
"moreSignInOptions": "Meer aanmeldopties",
"ldapNotEnabled": "LDAP-authenticatie is niet ingeschakeld op deze server",
"ssoPlatformNotSupported": "SSO-authenticatie wordt niet ondersteund op dit platform. Gebruik in plaats daarvan inloggegevens of LDAP-authenticatie.",
"continueWithProvider": "Doorgaan met {provider}",
"or": "of",
"usageInfo": "Info",
"usageInfoTitle": "Antwoordstatistieken",
"usageTokenGeneration": "Tokengeneratie",
"usagePromptEval": "Promptverwerking",
"usageTotalDuration": "Totale duur",
"usageTokensPerSecond": "{speed} t/s",
"@usageTokensPerSecond": {
"placeholders": {
"speed": {
"type": "String",
"example": "45.2"
}
}
},
"usageTokenCount": "{count} tokens",
"@usageTokenCount": {
"placeholders": {
"count": {
"type": "int",
"example": "128"
}
}
},
"usageSecondsFormat": "{seconds}s",
"@usageSecondsFormat": {
"placeholders": {
"seconds": {
"type": "String",
"example": "2.34"
}
}
},
"usageLoadDuration": "Modellaadtijd",
"usageQueueTime": "Wachttijd",
"usageReasoningTokens": "Redeneertokens",
"usageTotalTokens": "Totaal tokens",
"proxyAuthentication": "Proxy-authenticatie",
"proxyAuthPlatformNotSupported": "Proxy-authenticatie vereist een mobiel apparaat. Authenticeer eerst via een browser.",
"proxyAuthLoading": "Authenticatiepagina laden...",
"proxyAuthFailed": "Proxy-authenticatie mislukt",
"proxyAuthHelpText": "Meld u aan via de proxy van uw organisatie en vervolgens bij Open WebUI. U wordt automatisch doorgestuurd.",
"proxyAuthHelpTextSimple": "Meld u aan via uw proxy. Na authenticatie tikt u op Doorgaan om in te loggen.",
"continueButton": "Doorgaan",
"proxyAuthRequired": "Deze server vereist proxy-authenticatie",
"proxyAuthRequiredDescription": "Uw server lijkt achter een authenticatieproxy (zoals oauth2-proxy) te staan. U moet eerst inloggen via de proxy.",
"authenticateThroughProxy": "Authenticeren",
"voiceOptions": "Spraakopties",
"dictation": "Dicteren",
"dictationDescription": "Spreek en converteer naar tekst in realtime",
"recordAudio": "Audio opnemen",
"recordAudioDescription": "Audio opslaan voor latere transcriptie",
"recordingAudio": "Opnemen...",
"preparingRecording": "Voorbereiden...",
"recordingHint": "Tik op stop wanneer klaar",
"stopAndSaveRecording": "Stop en opslaan",
"processingRecording": "Verwerken...",
"audioRecordingSaved": "Audio-opname opgeslagen",
"microphonePermissionDenied": "Microfoontoegang geweigerd",
"recordingFailed": "Opname mislukt",
"removeFileConfirm": "Dit bestand uit de notitie verwijderen?",
"fileRemoved": "Bestand verwijderd",
"playAudio": "Audio afspelen",
"removeFile": "Bestand verwijderen",
"audioFileType": "Audio",
"imageFileType": "Afbeelding",
"failedToUploadAudio": "Audio uploaden mislukt",
"audioAttachment": "Audiobijlage",
"loadingAudio": "Audio laden...",
"failedToLoadAudio": "Audio laden mislukt",
"webPage": "Webpagina",
"greetingTitle": "Hallo, {username}",
"temporaryChat": "Tijdelijke chat",
"temporaryChatTooltip": "Deze chat verschijnt niet in de geschiedenis",
"saveChat": "Chat opslaan",
"temporaryChatByDefault": "Standaard tijdelijke chat",
"temporaryChatByDefaultDescription": "Nieuwe chats worden niet opgeslagen in de geschiedenis, tenzij je ervoor kiest ze op te slaan",
"chatSaved": "Chat opgeslagen in geschiedenis",
"chatSaveFailed": "Chat opslaan mislukt",
"sidebarChatsTab": "Chats",
"sidebarTerminalTab": "Terminal",
"@sidebarTerminalTab": {
"description": "Label for the Terminal tab in the sidebar"
},
"sidebarNotesTab": "Notities",
"sidebarChannelsTab": "Kanalen",
"sidebarResizeHandle": "Breedte van zijbalk wijzigen",
"@sidebarResizeHandle": {"description": "Accessibility label for the draggable tablet sidebar divider."},
"sidebarResizeResetHint": "Tik dubbel om de breedte van de zijbalk te herstellen",
"@sidebarResizeResetHint": {"description": "Accessibility hint for resetting the tablet sidebar width."},
"sidebarWidthValue": "{width} punten",
"@sidebarWidthValue": {
"description": "Accessibility value describing the current tablet sidebar width.",
"placeholders": {"width": {"type": "int"}}
},
"closeSidebar": "Zijbalk sluiten",
"terminalSelectServer": "Selecteer een terminalserver",
"@terminalSelectServer": {
"description": "Prompt shown when the user needs to choose a terminal server."
},
"terminalNoServersConfigured": "Geen terminalservers beschikbaar.",
"@terminalNoServersConfigured": {
"description": "Empty state shown when there are no terminal servers configured."
},
"terminalConnectAction": "Verbinden",
"@terminalConnectAction": {
"description": "Button label used to connect to a terminal session."
},
"terminalDisconnectAction": "Verbinding verbreken",
"@terminalDisconnectAction": {
"description": "Button label used to disconnect from a terminal session."
},
"terminalConnectedStatus": "Verbonden",
"@terminalConnectedStatus": {
"description": "Status label shown when the terminal is connected."
},
"terminalDisconnectedStatus": "Verbinding verbroken",
"@terminalDisconnectedStatus": {
"description": "Status label shown when the terminal is disconnected."
},
"terminalConnectingStatus": "Verbinden...",
"@terminalConnectingStatus": {
"description": "Status label shown while the terminal connection is being established."
},
"terminalUploadAction": "Uploaden",
"@terminalUploadAction": {
"description": "Action label for uploading a file into the terminal workspace."
},
"terminalOpenInBrowserAction": "Openen in browser",
"@terminalOpenInBrowserAction": {
"description": "Action label for opening a forwarded port in the browser."
},
"terminalHomeAction": "Thuismap",
"@terminalHomeAction": {
"description": "Tooltip for navigating back to the terminal home directory."
},
"terminalCurrentPathLabel": "Huidig pad",
"@terminalCurrentPathLabel": {
"description": "Label displayed above the current terminal working directory."
},
"terminalPortsSectionLabel": "Luisterende poorten",
"@terminalPortsSectionLabel": {
"description": "Section title for ports discovered in the terminal environment."
},
"terminalNoFiles": "Geen bestanden in deze map.",
"@terminalNoFiles": {
"description": "Empty state shown when the current terminal directory has no files."
},
"terminalNoPorts": "Geen luisterende poorten gedetecteerd.",
"@terminalNoPorts": {
"description": "Empty state shown when the terminal server reports no listening ports."
},
"terminalPreviewUnavailable": "Voorvertoning niet beschikbaar. Gebruik Downloaden.",
"@terminalPreviewUnavailable": {
"description": "Message shown when a terminal file cannot be previewed inline."
},
"terminalFeatureDisabled": "Deze terminalserver biedt geen interactieve shell.",
"@terminalFeatureDisabled": {
"description": "Message shown when the selected terminal server disables interactive terminal sessions."
},
"terminalFolderNameHint": "Mapnaam",
"@terminalFolderNameHint": {
"description": "Hint text used when creating a new folder in the terminal workspace."
},
"terminalFailedToLoadFiles": "Kan terminalbestanden niet laden.",
"@terminalFailedToLoadFiles": {
"description": "Error message shown when the terminal file list cannot be loaded."
},
"terminalFailedToLoadPorts": "Kan luisterende poorten niet laden.",
"@terminalFailedToLoadPorts": {
"description": "Error message shown when terminal port discovery fails."
},
"terminalFailedToConnect": "Kan geen verbinding maken met de terminal.",
"@terminalFailedToConnect": {
"description": "Error message shown when the terminal websocket session cannot be opened."
},
"terminalDownloadFailed": "Kan het geselecteerde bestand niet downloaden.",
"@terminalDownloadFailed": {
"description": "Error message shown when downloading a terminal file fails."
},
"terminalUploadFailed": "Kan het geselecteerde bestand niet uploaden.",
"@terminalUploadFailed": {
"description": "Error message shown when uploading a terminal file fails."
},
"terminalRenameFailed": "Kan het geselecteerde item niet hernoemen.",
"@terminalRenameFailed": {
"description": "Error message shown when renaming a file or folder in the terminal workspace fails."
},
"terminalDeleteFailed": "Kan het geselecteerde item niet verwijderen.",
"@terminalDeleteFailed": {
"description": "Error message shown when deleting a file or folder in the terminal workspace fails."
},
"terminalFolderCreateFailed": "Kan de map niet aanmaken.",
"@terminalFolderCreateFailed": {
"description": "Error message shown when creating a new terminal folder fails."
},
"channelCreateTitle": "Kanaal aanmaken",
"channelName": "Kanaalnaam",
"channelDescription": "Beschrijving",
"channelPrivate": "Privékanaal",
"channelJoin": "Kanaal deelnemen",
"channelLeave": "Kanaal verlaten",
"channelDelete": "Kanaal verwijderen",
"channelEdit": "Kanaal bewerken",
"channelDeleteConfirm": "Dit kanaal verwijderen? Dit kan niet ongedaan worden gemaakt.",
"channelLeaveConfirm": "Dit kanaal verlaten?",
"channelEmptyState": "Nog geen kanalen",
"channelNoMessages": "Nog geen berichten. Begin het gesprek!",
"channelMembers": "{count} {count, plural, =1{lid} other{leden}}",
"channelMessageReply": "Beantwoorden",
"channelMessageReact": "Reageren",
"channelMessageEdit": "Bewerken",
"channelMessageDelete": "Verwijderen",
"channelLoadError": "Kanalen konden niet worden geladen",
"channelSendError": "Bericht kon niet worden verzonden",
"channelDeleted": "Dit kanaal is verwijderd",
"searchChannels": "Kanalen zoeken...",
"channelUnreadCount": "{count, plural, =1{1 ongelezen bericht} other{{count} ongelezen berichten}}",
"channelCreateError": "Kanaal kon niet worden aangemaakt",
"channelMessageHint": "Bericht...",
"audioUploadError": "Audio uploaden mislukt: {error}",
"shareChat": "Chat delen",
"@shareChat": {
"description": "Dialog title and action label for sharing a chat."
},
"shareChatDescription": "Berichten die je na het maken van je link verstuurt, worden niet gedeeld. Gebruikers met de URL kunnen de gedeelde chat bekijken.",
"@shareChatDescription": {
"description": "Explains that a shared chat link is a snapshot."
},
"shareChatExisting": "Je hebt deze chat al eerder gedeeld.",
"@shareChatExisting": {
"description": "Explains that the chat already has an existing shared link."
},
"shareChatDeleteLink": "Deze link verwijderen",
"@shareChatDeleteLink": {
"description": "Action label to delete the current shared chat link."
},
"shareChatDeleteAndCreate": "en een nieuwe gedeelde link maken.",
"@shareChatDeleteAndCreate": {
"description": "Continuation text after the delete shared link action."
},
"copyLink": "Link kopiëren",
"@copyLink": {
"description": "Button label to copy a newly created shared chat URL."
},
"updateAndCopyLink": "Bijwerken en link kopiëren",
"@updateAndCopyLink": {
"description": "Button label to refresh a shared chat snapshot and copy the URL."
},
"sharedChatCopied": "URL van gedeelde chat gekopieerd naar klembord.",
"@sharedChatCopied": {
"description": "Snackbar shown after copying a shared chat URL."
},
"shareSystemSheet": "Delen...",
"@shareSystemSheet": {
"description": "Button label to open the platform share sheet."
},
"chatShareFailed": "Chat delen mislukt",
"@chatShareFailed": {
"description": "Snackbar shown when chat sharing fails."
},
"sharedLinkDeleted": "Link naar gedeelde chat verwijderd",
"@sharedLinkDeleted": {
"description": "Snackbar shown after deleting a shared chat link."
},
"deleteSharedLinkFailed": "Gedeelde link verwijderen mislukt",
"@deleteSharedLinkFailed": {
"description": "Snackbar shown when deleting a shared chat link fails."
},
"systemPrompts": "Systeemprompts",
"globalSystemPrompt": "Globale systeemprompt",
"modelSystemPrompts": "Systeemprompts voor modellen",
"folderSystemPrompts": "Systeemprompts voor mappen",
"openWebuiModelSettings": "Open WebUI-modelinstellingen",
"openWebuiFolderSettings": "Open WebUI-mapinstellingen",
"accessibleModelsCount": "{count} toegankelijke modellen",
"accessibleFoldersCount": "{count} toegankelijke mappen",
"unableToLoadOpenWebuiSettings": "Kan Open WebUI-instellingen niet laden.",
"unableToLoadModels": "Kan modellen niet laden.",
"unableToLoadFolders": "Kan mappen niet laden.",
"noAccessibleModelsFound": "Geen toegankelijke modellen gevonden.",
"noAccessibleFoldersFound": "Geen toegankelijke mappen gevonden.",
"tapToLoadServerPromptSettings": "Tik om serverpromptinstellingen te laden.",
"loadingFromOpenWebui": "Laden vanuit Open WebUI...",
"globalSystemPromptEditorDescription": "Opgeslagen in je Open WebUI-gebruikersinstellingen en gebruikt als standaard systeemprompt voor chats.",
"modelNoEditableServerRecord": "Dit model heeft geen bewerkbare serverrecord.",
"modelSystemPromptTitle": "Systeemprompt voor {modelName}",
"modelSystemPromptEditorDescription": "Opgeslagen in Open WebUI-model params.system.",
"modelNoWriteAccessDescription": "Je hebt geen schrijftoegang tot dit model.",
"unableToLoadFolder": "Kan deze map niet laden.",
"folderSystemPromptTitle": "Systeemprompt voor {folderName}",
"folderSystemPromptEditorDescription": "Opgeslagen in Open WebUI-map data.system_prompt.",
"notSet": "Niet ingesteld",
"enterSystemPrompt": "Voer systeemprompt in",
"close": "Sluiten",
"connectionHealth": "Verbindingsstatus",
"personalization": "Personalisatie",
"personalizationSubtitle": "Standaardmodel, persoonlijke prompt en herinneringen",
"defaultImageGenerationModel": "Standaardmodel voor afbeeldingsgeneratie",
"defaultImageGenerationModelDescription": "Voer de ID van een OpenRouter-afbeeldingsmodel in. Laat leeg om de standaard van OpenRouter te gebruiken.",
"openRouterDefaultImageGenerationModel": "OpenRouter-standaard (openai/gpt-5-image)",
"yourSystemPrompt": "Je systeemprompt",
"yourSystemPromptDescription": "Stel een persoonlijke systeemprompt in die Open WebUI op je chats toepast.",
"memoryTitle": "Geheugen",
"memoryEnabledDescription": "Sta de server toe je opgeslagen herinneringen in toekomstige chats te gebruiken.",
"memoryDisabledDescription": "Opgeslagen herinneringen blijven op de server, maar worden niet in chats ingevoegd.",
"manageMemories": "Herinneringen beheren",
"manageMemoriesDescription": "Voeg feiten toe, bewerk en verwijder ze die de server over jou onthoudt.",
"savedMemoriesCount": "{count} opgeslagen herinneringen",
"memoryEditorDescription": "Houd herinneringen kort en specifiek zodat de server ze consistent kan toepassen.",
"memoryHint": "Voorbeeld: ik geef de voorkeur aan beknopte antwoorden met codevoorbeelden.",
"addMemory": "Herinnering toevoegen",
"editMemory": "Herinnering bewerken",
"deleteMemory": "Herinnering verwijderen",
"deleteMemoryConfirm": "Deze opgeslagen herinnering van de server verwijderen?",
"clearAllMemories": "Alle herinneringen wissen",
"clearAllMemoriesDescription": "Dit verwijdert permanent alle opgeslagen herinneringen voor je account.",
"noMemoriesSaved": "Nog geen herinneringen opgeslagen.",
"memoryUpdatedAt": "Bijgewerkt {formattedTime}",
"advancedPromptOverrides": "Geavanceerde promptoverschrijvingen",
"advancedPromptOverridesDescription": "Modelniveau promptoverschrijvingen staan in App en chat.",
"audioSettingsTitle": "Audio",
"audioSettingsSubtitle": "Spraak naar tekst en tekst naar spraak",
"appAndChat": "App en chat",
"appAndChatSubtitle": "Thema, taal, chatgedrag en geavanceerde overschrijvingen",
"accountSettingsTitle": "Account",
"accountSettingsSubtitle": "Profielgegevens en wachtwoordbeheer",
"accountDetails": "Accountgegevens",
"signInToManageAccount": "Log in om accountgegevens te beheren.",
"emailLabel": "E-mail",
"roleLabel": "Rol",
"accountStatus": "Status",
"profileDetails": "Profielgegevens",
"name": "Naam",
"avatarUrl": "Avatar-URL",
"avatarUrlHint": "https://example.com/avatar.png",
"bioLabel": "Bio",
"bioHint": "Een korte beschrijving over jou.",
"genderLabel": "Gender",
"genderPreferNotToSay": "Zeg ik liever niet",
"genderMale": "Man",
"genderFemale": "Vrouw",
"genderCustom": "Aangepast",
"customGenderLabel": "Aangepast gender",
"customGenderHint": "Voer je gender in",
"customGenderRequired": "Voer een aangepast gender in of kies een andere optie.",
"birthDateLabel": "Geboortedatum",
"selectBirthDate": "Selecteer een datum",
"birthDateHint": "JJJJ-MM-DD",
"currentAvatar": "Huidige avatar",
"uploadFromDevice": "Uploaden vanaf apparaat",
"useInitials": "Initialen",
"removeAvatar": "Verwijderen",
"avatarUploadFailed": "Kan de avatar niet bijwerken.",
"timezoneLabel": "Tijdzone",
"timezoneHint": "Europe/Amsterdam",
"saveProfile": "Profiel opslaan",
"changePasswordTitle": "Wachtwoord wijzigen",
"passwordChangeUnavailable": "Wachtwoordwijzigingen zijn uitgeschakeld op deze server.",
"currentPassword": "Huidig wachtwoord",
"newPassword": "Nieuw wachtwoord",
"confirmNewPassword": "Nieuw wachtwoord bevestigen",
"nameRequired": "Voer een naam in voordat je opslaat.",
"profileUpdated": "Profiel bijgewerkt.",
"passwordFieldsRequired": "Voer je huidige en nieuwe wachtwoord in.",
"passwordsDoNotMatch": "De nieuwe wachtwoorden komen niet overeen.",
"passwordUpdated": "Wachtwoord bijgewerkt.",
"activeStatus": "Actief",
"inactiveStatus": "Inactief",
"appInformation": "Conduit-app",
"appVersion": "Versie",
"serverInformation": "Serverinformatie",
"serverInfoUnavailable": "Serverinformatie is nu niet beschikbaar.",
"serverNameLabel": "Servernaam",
"serverVersionLabel": "Serverversie",
"latestVersionLabel": "Nieuwste versie",
"deploymentIdLabel": "Implementatie-ID",
"defaultLocaleLabel": "Standaardtaal",
"userCountLabel": "Aantal gebruikers",
"serverDefaultModelsLabel": "Standaardmodellen",
"loginFormLabel": "Inlogformulier",
"passwordChangesLabel": "Wachtwoordwijzigingen",
"apiKeysLabel": "API-sleutels",
"audioInputLabel": "Audio-invoer",
"audioOutputLabel": "Audio-uitvoer",
"speechToTextEngineLabel": "Spraak-naar-tekst-engine",
"textToSpeechEngineLabel": "Tekst-naar-spraak-engine",
"licenseMetadataLabel": "Licentiemetadata",
"enabledLabel": "Ingeschakeld",
"disabledLabel": "Uitgeschakeld",
"noEmailLabel": "Geen e-mail",
"userFallbackName": "Gebruiker",
"unknownLabel": "Onbekend",
"socketNotConnected": "Niet verbonden",
"socketConnected": "Verbonden",
"socketDisconnected": "Verbinding verbroken",
"socketLatencyLabel": "Latentie",
"socketReconnectsLabel": "Herverbindingen",
"socketLastHeartbeat": "Laatste heartbeat: {time}",
"socketTransportWebSocket": "WebSocket-transport",
"socketTransportPolling": "HTTP-pollingtransport",
"socketTransportUnknown": "Onbekend transport",
"socketQualityExcellent": "Uitstekend",
"socketQualityGood": "Goed",
"socketQualityFair": "Redelijk",
"socketQualityPoor": "Slecht",
"timeJustNow": "zojuist",
"timeSecondsAgo": "{count}s geleden",
"timeMinutesAgo": "{count}m geleden",
"timeHoursAgo": "{count}u geleden",
"attach": "Bijvoegen",
"@attach": {
"description": "Button label to attach content to the current chat or folder chat."
},
"attachWebpageDescription": "Plak een URL om de inhoud in de chat op te nemen.",
"@attachWebpageDescription": {
"description": "Description shown in the web page attachment dialog."
},
"webpageUrlLabel": "Webpagina-URL",
"@webpageUrlLabel": {
"description": "Label for the URL field in the web page attachment dialog."
},
"invalidHttpUrl": "Voer een geldige http(s)-URL in.",
"@invalidHttpUrl": {
"description": "Validation message when a URL is missing or not HTTP/HTTPS."
},
"youtubeTranscriptFetchFailed": "Kan YouTube-transcript niet ophalen.",
"@youtubeTranscriptFetchFailed": {
"description": "Error shown when a YouTube transcript cannot be fetched."
},
"webpageNoReadableContent": "De pagina had geen leesbare inhoud.",
"@webpageNoReadableContent": {
"description": "Error shown when a fetched webpage has no readable text content."
},
"failedToAttachContent": "Kan inhoud niet bijvoegen.",
"@failedToAttachContent": {
"description": "Generic error shown when attaching web content fails."
},
"scrollToBottom": "Naar beneden scrollen",
"@scrollToBottom": {
"description": "Tooltip for the button that scrolls a chat to the newest message."
},
"editFolder": "Map bewerken",
"@editFolder": {
"description": "Title and menu label for editing a folder."
},
"editFolderDescription": "Werk de mapnaam en het pictogram op de server bij.",
"@editFolderDescription": {
"description": "Description shown in the folder edit sheet."
},
"icon": "Pictogram",
"@icon": {
"description": "Label for selecting an icon."
},
"folderIconDescription": "Kies het mappictogram.",
"@folderIconDescription": {
"description": "Subtitle for the folder icon picker."
},
"defaultLabel": "Standaard",
"@defaultLabel": {
"description": "Generic label for the default option."
},
"systemPrompt": "Systeemprompt",
"@systemPrompt": {
"description": "Singular label for a system prompt field or menu item."
},
"move": "Verplaatsen",
"@move": {
"description": "Context action to move an item."
},
"moveToFolder": "Naar map verplaatsen",
"@moveToFolder": {
"description": "Title for choosing a destination folder for a chat."
},
"moveFolder": "Map verplaatsen",
"@moveFolder": {
"description": "Title for choosing a destination parent for a folder."
},
"noFolder": "Geen map",
"@noFolder": {
"description": "Option to remove a chat from any folder."
},
"topLevel": "Bovenste niveau",
"@topLevel": {
"description": "Option to move a folder to the top level."
},
"failedToMoveFolder": "Kan map niet verplaatsen",
"@failedToMoveFolder": {
"description": "Error shown when moving a folder fails."
},
"failedToRenameFolder": "Kan map niet hernoemen",
"@failedToRenameFolder": {
"description": "Error shown when renaming a folder fails."
},
"browseKnowledgeBase": "Kennisbank bekijken",
"@browseKnowledgeBase": {
"description": "Title for opening the knowledge base picker."
},
"knowledgePickerHint": "Druk op Enter om een document te kiezen",
"@knowledgePickerHint": {
"description": "Hint shown for keyboard selection in the knowledge base picker."
},
"execution": "Uitvoering",
"@execution": {
"description": "Fallback label for an unnamed code execution."
},
"codeExecutionTitle": "Code-uitvoering",
"@codeExecutionTitle": {
"description": "Fallback title for a code execution details sheet."
},
"codeExecutionFailed": "{label} mislukt",
"@codeExecutionFailed": {
"description": "Title shown when a named code execution fails.",
"placeholders": {
"label": {
"type": "String",
"example": "Execution"
}
}
},
"codeExecutionRunning": "{label}…",
"@codeExecutionRunning": {
"description": "Title shown while a named code execution is still running.",
"placeholders": {
"label": {
"type": "String",
"example": "Execution"
}
}
},
"language": "Taal",
"@language": {
"description": "Label for a programming language field."
},
"code": "Code",
"@code": {
"description": "Label for source code content."
},
"output": "Uitvoer",
"@output": {
"description": "Label for execution output."
},
"download": "Downloaden",
"@download": {
"description": "Fallback label for a downloadable file."
},
"languageWithValue": "Taal: {language}",
"@languageWithValue": {
"description": "Label and value for a programming language.",
"placeholders": {
"language": {
"type": "String",
"example": "Python"
}
}
},
"previewDeferredLargeContent": "Voorvertoning uitgesteld voor grote inhoud.",
"@previewDeferredLargeContent": {
"description": "Message shown when an inline preview is delayed because content is large."
},
"openPreview": "Voorvertoning openen",
"@openPreview": {
"description": "Button to open a deferred preview."
},
"copiedToClipboard": "Gekopieerd naar klembord",
"@copiedToClipboard": {
"description": "Snackbar message after copying content to the clipboard."
},
"preview": "Voorvertoning",
"@preview": {
"description": "Button label for opening a preview."
},
"alertTip": "Tip",
"@alertTip": {
"description": "Fallback label for a tip markdown alert."
},
"alertImportant": "Belangrijk",
"@alertImportant": {
"description": "Fallback label for an important markdown alert."
},
"alertWarning": "Waarschuwing",
"@alertWarning": {
"description": "Fallback label for a warning markdown alert."
},
"alertCaution": "Let op",
"@alertCaution": {
"description": "Fallback label for a caution markdown alert."
},
"alertNote": "Notitie",
"@alertNote": {
"description": "Fallback label for a note markdown alert."
},
"markdownDetailsGroupPendingTitle": "Verkennen {summary}",
"@markdownDetailsGroupPendingTitle": {
"description": "Title shown for a pending grouped tool-call details block.",
"placeholders": {
"summary": {
"type": "String"
}
}
},
"markdownDetailsGroupCompleteTitle": "Verkend {summary}",
"@markdownDetailsGroupCompleteTitle": {
"description": "Title shown for a completed grouped tool-call details block.",
"placeholders": {
"summary": {
"type": "String"
}
}
},
"markdownDetailsGroupUnnamedTool": "tool",
"@markdownDetailsGroupUnnamedTool": {
"description": "Fallback label used when a grouped tool call has no tool name."
},
"folderIconFolder": "Map",
"@folderIconFolder": {
"description": "Accessibility label for the folder icon option."
},
"folderIconOpenFolder": "Geopende map",
"@folderIconOpenFolder": {
"description": "Accessibility label for the open folder icon option."
},
"folderIconBriefcase": "Aktetas",
"@folderIconBriefcase": {
"description": "Accessibility label for the briefcase folder icon option."
},
"folderIconBooks": "Boeken",
"@folderIconBooks": {
"description": "Accessibility label for the books folder icon option."
},
"folderIconMemo": "Memo",
"@folderIconMemo": {
"description": "Accessibility label for the memo folder icon option."
},
"folderIconDividers": "Verdelers",
"@folderIconDividers": {
"description": "Accessibility label for the dividers folder icon option."
},
"folderIconTools": "Gereedschap",
"@folderIconTools": {
"description": "Accessibility label for the tools folder icon option."
},
"folderIconToolbox": "Gereedschapskist",
"@folderIconToolbox": {
"description": "Accessibility label for the toolbox folder icon option."
},
"folderIconSparkles": "Sprankels",
"@folderIconSparkles": {
"description": "Accessibility label for the sparkles folder icon option."
},
"folderIconBrain": "Brein",
"@folderIconBrain": {
"description": "Accessibility label for the brain folder icon option."
},
"folderIconRocket": "Raket",
"@folderIconRocket": {
"description": "Accessibility label for the rocket folder icon option."
},
"folderIconTarget": "Doel",
"@folderIconTarget": {
"description": "Accessibility label for the target folder icon option."
},
"folderIconGeneric": "Mappictogram",
"@folderIconGeneric": {
"description": "Generic accessibility label for a custom folder icon."
},
"thread": "Thread",
"@thread": {
"description": "Title and context action for a message thread."
},
"threadWithCount": "Thread ({count})",
"@threadWithCount": {
"description": "Thread action label with reply count.",
"placeholders": {
"count": {
"type": "int",
"example": "3"
}
}
},
"channelMembersTitle": "Leden ({count})",
"@channelMembersTitle": {
"description": "Title for the channel members sheet.",
"placeholders": {
"count": {
"type": "int",
"example": "5"
}
}
},
"channelInputPlaceholder": "Typ hier...",
"@channelInputPlaceholder": {
"description": "Placeholder for the channel message composer."
},
"channelUnknownMember": "Onbekend",
"@channelUnknownMember": {
"description": "Fallback name for a channel member with no display name."
},
"replyInputPlaceholder": "Reageren...",
"@replyInputPlaceholder": {
"description": "Placeholder for the thread reply composer."
},
"editPhoto": "Foto bewerken",
"@editPhoto": {
"description": "Action to edit the profile photo."
},
"replyingToUser": "Antwoorden op {name}",
"@replyingToUser": {
"description": "Label shown above the channel composer when replying to a user.",
"placeholders": {
"name": {
"type": "String",
"example": "Alex"
}
}
},
"voiceCallWithModel": "Spraakoproep met {modelName}",
"@voiceCallWithModel": {
"description": "Notification title for an ongoing voice call with a model.",
"placeholders": {
"modelName": {
"type": "String",
"example": "GPT-4"
}
}
},
"notificationPermissionTitle": "Meldingstoestemming",
"@notificationPermissionTitle": {
"description": "Title for the system notification permission prompt."
},
"callNotificationPermissionRationale": "Oproepmeldingen hebben meldingstoestemming nodig.",
"@callNotificationPermissionRationale": {
"description": "Rationale shown when requesting notification permission for call alerts."
},
"callNotificationPermissionPost": "Sta meldingen toe om inkomende oproepen te tonen.",
"@callNotificationPermissionPost": {
"description": "Instruction shown when requesting notification permission for incoming calls."
},
"acceptCall": "Accepteren",
"@acceptCall": {
"description": "Call action to accept an incoming call."
},
"declineCall": "Weigeren",
"@declineCall": {
"description": "Call action to decline an incoming call."
},
"missedCall": "Gemiste oproep",
"@missedCall": {
"description": "Notification subtitle for a missed call."
},
"callBack": "Terugbellen",
"@callBack": {
"description": "Notification action to call back after a missed call."
},
"calling": "Bellen...",
"@calling": {
"description": "Notification subtitle while starting a call."
},
"hangUp": "Ophangen",
"@hangUp": {
"description": "Notification action to hang up a call."
},
"incomingCallChannelName": "Inkomende oproep",
"@incomingCallChannelName": {
"description": "Android notification channel name for incoming calls."
},
"missedCallChannelName": "Gemiste oproep",
"@missedCallChannelName": {
"description": "Android notification channel name for missed calls."
},
"mute": "Dempen",
"@mute": {
"description": "Notification action to mute a call."
},
"unmute": "Dempen opheffen",
"@unmute": {
"description": "Notification action to unmute a call."
},
"voiceCallMuted": "Gedempt",
"@voiceCallMuted": {
"description": "Status label when a voice call is muted."
},
"voiceCallChannelDescription": "Meldingen voor lopende spraakoproepen",
"@voiceCallChannelDescription": {
"description": "Android notification channel description for ongoing voice calls."
},
"@greetingTitle": {
"description": "Greeting shown on the empty chat page.",
"placeholders": {
"username": {
"type": "String",
"example": "Alex"
}
}
},
"@continueWithProvider": {
"description": "Button text for OAuth provider sign-in.",
"placeholders": {
"provider": {
"type": "String",
"example": "Google"
}
}
},
"@channelMembers": {
"description": "Member count display in channel header",
"placeholders": {
"count": {
"type": "int"
}
}
},
"@audioUploadError": {
"description": "Error message when audio upload fails",
"placeholders": {
"error": {
"type": "String",
"description": "The error message"
}
}
},
"@accessibleModelsCount": {
"description": "Subtitle showing how many accessible models are listed.",
"placeholders": {
"count": {
"type": "int",
"example": "4"
}
}
},
"@accessibleFoldersCount": {
"description": "Subtitle showing how many accessible folders are listed.",
"placeholders": {
"count": {
"type": "int",
"example": "3"
}
}
},
"@modelSystemPromptTitle": {
"description": "Title for a model system prompt editor.",
"placeholders": {
"modelName": {
"type": "String",
"example": "GPT-4"
}
}
},
"@folderSystemPromptTitle": {
"description": "Title for a folder system prompt editor.",
"placeholders": {
"folderName": {
"type": "String",
"example": "Work"
}
}
},
"@savedMemoriesCount": {
"description": "Shows how many memories are saved.",
"placeholders": {
"count": {
"type": "int"
}
}
},
"@memoryUpdatedAt": {
"description": "Shows when a memory was last updated.",
"placeholders": {
"formattedTime": {}
}
},
"@socketLastHeartbeat": {
"description": "Shows when the socket last received a heartbeat.",
"placeholders": {
"time": {
"type": "String",
"example": "just now"
}
}
},
"@timeSecondsAgo": {
"description": "Compact relative time label for seconds ago.",
"placeholders": {
"count": {
"type": "int",
"example": "12"
}
}
},
"@timeMinutesAgo": {
"description": "Compact relative time label for minutes ago.",
"placeholders": {
"count": {
"type": "int",
"example": "5"
}
}
},
"@timeHoursAgo": {
"description": "Compact relative time label for hours ago.",
"placeholders": {
"count": {
"type": "int",
"example": "2"
}
}
},
"rateLimitExceeded": "Te veel verzoeken. Wacht voordat je het opnieuw probeert.",
"@rateLimitExceeded": {
"description": "Error shown when the server rejects a request due to rate limiting."
},
"rateLimitRetryAfter": "Wacht {duration} voordat je het opnieuw probeert.",
"@rateLimitRetryAfter": {
"description": "Advice shown when a rate limit response includes a retry delay.",
"placeholders": {
"duration": {
"type": "String",
"example": "1m 30s"
}
}
},
"rateLimitRetrySoon": "Wacht even voordat je het opnieuw probeert.",
"@rateLimitRetrySoon": {
"description": "Advice shown when a rate limit response does not include an exact retry delay."
},
"securityCertificateError": "Beveiligingscertificaatfout. Kan de serveridentiteit niet verifiëren.",
"@securityCertificateError": {
"description": "Error shown when the server TLS certificate cannot be trusted or verified."
},
"noToolsAvailable": "Geen tools beschikbaar",
"@noToolsAvailable": {
"description": "Empty state shown when no tools are available in the composer overflow menu."
},
"failedToLoadTools": "Kan tools niet laden",
"@failedToLoadTools": {
"description": "Error shown when the composer overflow menu cannot load tools."
},
"terminalExpandAction": "Volledig scherm",
"terminalReopenFullscreen": "Geopend op volledig scherm - tik om opnieuw te openen",
"terminalKeyTab": "Tab",
"terminalKeyUp": "Omhoog",
"terminalKeyDown": "Omlaag",
"terminalKeyCtrlC": "Ctrl-C",
"terminalCopyAction": "Kopiëren",
"terminalPasteAction": "Plakken",
"terminalNothingToCopy": "Niets geselecteerd om te kopiëren",
"terminalCopied": "Gekopieerd naar klembord",
"terminalPasteWhileDisconnected": "Maak verbinding om te plakken",
"terminalPortsToggle": "Luisterende poorten",
"releaseNotesManualSubtitle": "Meegeleverde changelog voor {currentVersion}",
"settingsCategoryApp": "App",
"settingsCategoryAi": "AI",
"settingsCategoryServer": "Server",
"settingsCategorySupport": "Ondersteuning",
"settingsDataAndConnection": "Gegevens en verbinding",
"settingsAppearance": "Weergave",
"settingsAppearanceSubtitle": "Thema, kleurenpalet en taal",
"settingsChatSubtitle": "Chatgedrag, snelle acties en geavanceerde prompts",
"workspaceTitle": "Workspace",
"workspaceSubtitle": "Manage server resources and access.",
"workspaceModels": "Models",
"workspaceKnowledge": "Knowledge",
"workspacePrompts": "Prompts",
"workspaceTools": "Tools",
"workspaceSkills": "Skills",
"workspaceCreate": "Create",
"workspaceEmpty": "No resources yet.",
"workspaceDenied": "You do not have permission to manage this workspace section.",
"workspaceUnsupported": "This server does not support Workspace management.",
"workspaceLoadFailed": "Workspace could not be loaded.",
"workspaceRetry": "Retry",
"workspaceSelectItem": "Select an item to view its details.",
"workspaceEditorComingSoon": "This editor will be available in the next Workspace milestone.",
"workspaceSearchHint": "Search workspace resources",
"workspaceLoadMore": "Load more",
"workspaceAccessTitle": "Sharing & access",
"workspaceAccessSharingDisabled": "Sharing is turned off for this resource, so access is read-only.",
"workspaceAccessPublicDisabled": "You do not have permission to share this publicly.",
"workspaceAccessPeopleHeading": "People & groups",
"workspaceAccessUsersDisabled": "Sharing with individual people is disabled; you can share with groups only.",
"workspaceAccessEmpty": "Not shared with anyone yet.",
"workspaceAccessAddPeople": "Add people or groups",
"workspaceAccessAddGroups": "Add groups",
"workspaceAccessVisibilityLabel": "Public",
"workspaceAccessVisibilityDescription": "Anyone on this server can view this resource.",
"workspaceAccessGroupBadge": "Group",
"workspaceAccessUserBadge": "Person",
"workspaceAccessCanEdit": "Can edit",
"workspaceAccessRemoveGrant": "Remove access",
"workspacePrincipalTitle": "Add people or groups",
"workspacePrincipalUsersTab": "People",
"workspacePrincipalGroupsTab": "Groups",
"workspacePrincipalSearchHint": "Search people by name or email",
"workspacePrincipalLoadFailed": "Could not load results.",
"workspacePrincipalSearchPrompt": "Search to find people to share with.",
"workspacePrincipalNoResults": "No matches found.",
"workspaceReadOnlyBadge": "Read only",
"workspaceReadOnlyExplanation": "You have view-only access to this resource.",
"workspaceEditorDiscardTitle": "Discard changes?",
"workspaceEditorDiscardMessage": "Your unsaved changes will be lost.",
"workspaceEditorDiscardConfirm": "Discard",
"workspaceEditorKeepEditing": "Keep editing",
"workspaceEditorSaveTooltip": "Save changes",
"workspaceEditorSaving": "Saving…",
"workspaceEditorMoreActions": "More actions",
"workspaceImportChooseFile": "Choose JSON file",
"workspaceImportPasteLabel": "Or paste JSON",
"workspaceImportPasteHint": "Paste exported JSON here",
"workspaceImportRun": "Import",
"workspaceImportInvalidJson": "That doesn't look like valid JSON.",
"workspaceImportEmpty": "No items were found to import.",
"workspaceImportReadFailed": "Could not read the selected file.",
"workspaceImportBatchFailed": "The import could not be completed.",
"workspaceImportSummary": "Imported {success} of {total} items",
"workspaceImportItemImported": "Imported",
"workspaceImportItemFailed": "Import failed",
"workspaceImportDone": "Done",
"workspaceModelNewTitle": "New model",
"@workspaceModelNewTitle": {
"description": "Title shown when creating a new workspace model."
},
"workspaceModelIdLabel": "Model ID",
"@workspaceModelIdLabel": {
"description": "Label for the unique model identifier field."
},
"workspaceModelBaseModel": "Base model",
"@workspaceModelBaseModel": {
"description": "Label for the base-model selector."
},
"workspaceModelBaseModelNone": "None (custom)",
"workspaceModelBaseModelRequired": "Kies een basismodel.",
"@workspaceModelBaseModelRequired": {"description": "Validation shown when a non-admin model create or protected edit has no base model."},
"@workspaceModelBaseModelNone": {
"description": "Base-model option meaning no base model is used."
},
"workspaceModelName": "Name",
"@workspaceModelName": {
"description": "Label for the model display-name field."
},
"workspaceModelDescription": "Description",
"@workspaceModelDescription": {
"description": "Label for the model description field."
},
"workspaceModelTags": "Tags",
"@workspaceModelTags": {
"description": "Label for the model tags editor."
},
"workspaceModelTagsHint": "Add tag",
"@workspaceModelTagsHint": {
"description": "Action chip label to add a new tag."
},
"workspaceModelSystemPrompt": "System prompt",
"@workspaceModelSystemPrompt": {
"description": "Label for the model system prompt field."
},
"workspaceModelSuggestionPrompts": "Suggested prompts",
"@workspaceModelSuggestionPrompts": {
"description": "Label for the suggested prompts editor."
},
"workspaceModelAddSuggestion": "Add suggestion",
"@workspaceModelAddSuggestion": {
"description": "Button to add a suggested prompt."
},
"workspaceModelRemoveSuggestion": "Remove suggestion",
"@workspaceModelRemoveSuggestion": {
"description": "Tooltip to remove a suggested prompt."
},
"workspaceModelStopSequences": "Stop sequences",
"@workspaceModelStopSequences": {
"description": "Label for the stop-sequences field."
},
"workspaceModelStopHint": "Comma-separated stop sequences",
"@workspaceModelStopHint": {
"description": "Helper text for the stop-sequences field."
},
"workspaceModelAdvancedParams": "Advanced parameters (JSON)",
"@workspaceModelAdvancedParams": {
"description": "Label for the advanced inference parameters JSON field."
},
"workspaceModelParamsHint": "JSON object of additional parameters",
"@workspaceModelParamsHint": {
"description": "Helper text for a JSON parameters field."
},
"workspaceModelInvalidJson": "Enter a valid JSON object.",
"@workspaceModelInvalidJson": {
"description": "Validation error for a malformed JSON field."
},
"workspaceModelCapabilities": "Capabilities",
"@workspaceModelCapabilities": {
"description": "Label for the model capability toggles."
},
"workspaceModelTerminal": "Terminal ID",
"@workspaceModelTerminal": {
"description": "Label for the terminal identifier field."
},
"workspaceModelTtsVoice": "Text-to-speech voice",
"@workspaceModelTtsVoice": {
"description": "Label for the TTS voice field."
},
"workspaceModelDefaultFeatures": "Default features",
"@workspaceModelDefaultFeatures": {
"description": "Label for the default feature IDs field."
},
"workspaceModelBuiltinTools": "Built-in tools (JSON)",
"@workspaceModelBuiltinTools": {
"description": "Label for the built-in tools JSON field."
},
"workspaceModelKnowledge": "Knowledge",
"@workspaceModelKnowledge": {
"description": "Label for the knowledge relationship selector."
},
"workspaceModelTools": "Tools",
"@workspaceModelTools": {
"description": "Label for the tools relationship selector."
},
"workspaceModelSkills": "Skills",
"@workspaceModelSkills": {
"description": "Label for the skills relationship selector."
},
"workspaceModelFilters": "Filters",
"@workspaceModelFilters": {
"description": "Label for the filter functions selector."
},
"workspaceModelDefaultFilters": "Default filters",
"@workspaceModelDefaultFilters": {
"description": "Label for the default filter functions selector."
},
"workspaceModelActions": "Actions",
"@workspaceModelActions": {
"description": "Label for the action functions selector."
},
"workspaceModelSectionBasics": "Basics",
"@workspaceModelSectionBasics": {
"description": "Section header for basic model fields."
},
"workspaceModelSectionPrompt": "Prompt",
"@workspaceModelSectionPrompt": {
"description": "Section header for prompt-related model fields."
},
"workspaceModelSectionAdvanced": "Advanced",
"@workspaceModelSectionAdvanced": {
"description": "Section header for advanced model fields."
},
"workspaceModelSectionRelationships": "Relationships",
"@workspaceModelSectionRelationships": {
"description": "Section header for model relationship selectors."
},
"workspaceModelSectionAccess": "Access",
"@workspaceModelSectionAccess": {
"description": "Section header for model access controls."
},
"workspaceModelProfileImage": "Profile image",
"@workspaceModelProfileImage": {
"description": "Label for the model profile image."
},
"workspaceModelChangeImage": "Change image",
"@workspaceModelChangeImage": {
"description": "Button to pick a new profile image."
},
"workspaceModelRemoveImage": "Remove image",
"@workspaceModelRemoveImage": {
"description": "Button to clear the profile image."
},
"workspaceModelImageFailed": "Could not load the selected image.",
"@workspaceModelImageFailed": {
"description": "Error when picking a profile image fails."
},
"workspaceModelSelectNone": "None selected",
"@workspaceModelSelectNone": {
"description": "Subtitle when no relationship items are selected."
},
"workspaceModelSelectCount": "{count} selected",
"@workspaceModelSelectCount": {
"description": "Subtitle showing how many relationship items are selected.",
"placeholders": {
"count": {
"type": "int"
}
}
},
"workspaceModelRelationshipEmpty": "Nothing available to select.",
"@workspaceModelRelationshipEmpty": {
"description": "Empty state for a relationship picker."
},
"workspaceModelManageAccess": "Manage access",
"@workspaceModelManageAccess": {
"description": "Action to open the access-grants sheet for a model."
},
"workspaceModelClone": "Duplicate",
"@workspaceModelClone": {
"description": "Action that duplicates the model."
},
"workspaceModelCloneSuffix": "(copy)",
"@workspaceModelCloneSuffix": {
"description": "Suffix appended to a duplicated model name."
},
"workspaceModelActivate": "Activate",
"@workspaceModelActivate": {
"description": "Action that marks the model active."
},
"workspaceModelDeactivate": "Deactivate",
"@workspaceModelDeactivate": {
"description": "Action that marks the model inactive."
},
"workspaceModelHide": "Hide from selector",
"@workspaceModelHide": {
"description": "Action that hides the model from model selectors."
},
"workspaceModelUnhide": "Show in selector",
"@workspaceModelUnhide": {
"description": "Action that unhides the model in model selectors."
},
"workspaceModelDelete": "Delete model",
"@workspaceModelDelete": {
"description": "Action that deletes the model."
},
"workspaceModelDeleteConfirmTitle": "Delete model?",
"@workspaceModelDeleteConfirmTitle": {
"description": "Confirmation dialog title for deleting a model."
},
"workspaceModelDeleteConfirmMessage": "This permanently removes {name}.",
"@workspaceModelDeleteConfirmMessage": {
"description": "Confirmation dialog body for deleting a model.",
"placeholders": {
"name": {
"type": "String"
}
}
},
"workspaceModelExport": "Export model",
"@workspaceModelExport": {
"description": "Action that exports a single model as JSON."
},
"workspaceModelExportAll": "Export all models",
"@workspaceModelExportAll": {
"description": "Action that exports every readable model as JSON."
},
"workspaceModelExportFailed": "The export could not be completed.",
"@workspaceModelExportFailed": {
"description": "Error when exporting models fails."
},
"workspaceModelImport": "Import models",
"@workspaceModelImport": {
"description": "Action that imports models from JSON."
},
"workspaceModelIdRequired": "A model ID is required.",
"@workspaceModelIdRequired": {
"description": "Validation error when the model ID is empty."
},
"workspaceModelNameRequired": "A name is required.",
"@workspaceModelNameRequired": {
"description": "Validation error when the model name is empty."
},
"workspaceModelSaved": "Model saved.",
"@workspaceModelSaved": {
"description": "Confirmation that the model was saved."
},
"workspaceModelSaveFailed": "The model could not be saved.",
"@workspaceModelSaveFailed": {
"description": "Error when saving the model fails."
},
"workspaceModelDeleted": "Model deleted.",
"@workspaceModelDeleted": {
"description": "Confirmation that the model was deleted."
},
"workspaceModelAddAction": "Add",
"@workspaceModelAddAction": {
"description": "Confirm button in a small add-text dialog."
},
"workspaceKnowledgeCreateTitle": "New knowledge base",
"@workspaceKnowledgeCreateTitle": {
"description": "Title of the create form for a new knowledge base."
},
"workspaceKnowledgeName": "Name",
"@workspaceKnowledgeName": {
"description": "Label for the knowledge base name field."
},
"workspaceKnowledgeDescription": "Description",
"@workspaceKnowledgeDescription": {
"description": "Label for the knowledge base description field."
},
"workspaceKnowledgeNameRequired": "A name is required.",
"@workspaceKnowledgeNameRequired": {
"description": "Validation error when the knowledge base name is empty."
},
"workspaceKnowledgeSaved": "Knowledge base saved.",
"@workspaceKnowledgeSaved": {
"description": "Confirmation that the knowledge base was saved."
},
"workspaceKnowledgeSaveFailed": "The knowledge base could not be saved.",
"@workspaceKnowledgeSaveFailed": {
"description": "Error when saving a knowledge base fails."
},
"workspaceKnowledgeDeleted": "Knowledge base deleted.",
"@workspaceKnowledgeDeleted": {
"description": "Confirmation that the knowledge base was deleted."
},
"workspaceKnowledgeDelete": "Delete knowledge base",
"@workspaceKnowledgeDelete": {
"description": "Overflow action that deletes the knowledge base."
},
"workspaceKnowledgeDeleteConfirmTitle": "Delete knowledge base?",
"@workspaceKnowledgeDeleteConfirmTitle": {
"description": "Confirmation dialog title for deleting a knowledge base."
},
"workspaceKnowledgeDeleteConfirmMessage": "This permanently removes {name} and detaches its files.",
"@workspaceKnowledgeDeleteConfirmMessage": {
"description": "Confirmation dialog body for deleting a knowledge base.",
"placeholders": {
"name": {
"type": "String"
}
}
},
"workspaceKnowledgeReset": "Reset",
"@workspaceKnowledgeReset": {
"description": "Overflow action that removes all files from a knowledge base."
},
"workspaceKnowledgeResetConfirmTitle": "Reset knowledge base?",
"@workspaceKnowledgeResetConfirmTitle": {
"description": "Confirmation dialog title for resetting a knowledge base."
},
"workspaceKnowledgeResetConfirmMessage": "This removes all files from {name} but keeps the knowledge base.",
"@workspaceKnowledgeResetConfirmMessage": {
"description": "Confirmation dialog body for resetting a knowledge base.",
"placeholders": {
"name": {
"type": "String"
}
}
},
"workspaceKnowledgeResetDone": "Knowledge base reset.",
"@workspaceKnowledgeResetDone": {
"description": "Confirmation that the knowledge base files were reset."
},
"workspaceKnowledgeExport": "Export knowledge base",
"@workspaceKnowledgeExport": {
"description": "Overflow action that exports a knowledge base archive."
},
"workspaceKnowledgeExportFailed": "The export could not be completed.",
"@workspaceKnowledgeExportFailed": {
"description": "Error when exporting a knowledge base fails."
},
"workspaceKnowledgeManageAccess": "Manage access",
"@workspaceKnowledgeManageAccess": {
"description": "Action that opens the sharing and access sheet for a knowledge base."
},
"workspaceKnowledgeViewAll": "All",
"@workspaceKnowledgeViewAll": {
"description": "Knowledge collection filter showing all knowledge bases."
},
"workspaceKnowledgeViewCreated": "Created by you",
"@workspaceKnowledgeViewCreated": {
"description": "Knowledge collection filter showing bases the user created."
},
"workspaceKnowledgeViewShared": "Shared with you",
"@workspaceKnowledgeViewShared": {
"description": "Knowledge collection filter showing bases shared with the user."
},
"workspaceKnowledgeSourceAll": "All sources",
"@workspaceKnowledgeSourceAll": {
"description": "Knowledge collection filter showing both local and connected sources."
},
"workspaceKnowledgeSourceLocal": "Local",
"@workspaceKnowledgeSourceLocal": {
"description": "Knowledge collection filter showing only local knowledge bases."
},
"workspaceKnowledgeSourceExternal": "Connected",
"@workspaceKnowledgeSourceExternal": {
"description": "Knowledge collection filter showing only external/connected knowledge bases."
},
"workspaceKnowledgeExternalBadge": "Connected",
"@workspaceKnowledgeExternalBadge": {
"description": "Badge marking a knowledge base as external/connected (read-only)."
},
"workspaceKnowledgeExternalReadOnly": "Connected knowledge bases are read-only in this app.",
"@workspaceKnowledgeExternalReadOnly": {
"description": "Notice shown when viewing an external/connected knowledge base."
},
"workspaceKnowledgeFilesTitle": "Files",
"@workspaceKnowledgeFilesTitle": {
"description": "Heading of the knowledge base file browser."
},
"workspaceKnowledgeFilesEmpty": "No files yet.",
"@workspaceKnowledgeFilesEmpty": {
"description": "Empty state when a knowledge base directory contains no files."
},
"workspaceKnowledgeFilesLoadFailed": "Files could not be loaded.",
"@workspaceKnowledgeFilesLoadFailed": {
"description": "Error when the knowledge base file list fails to load."
},
"workspaceKnowledgeRefreshFiles": "Refresh",
"@workspaceKnowledgeRefreshFiles": {
"description": "Tooltip for the button that refreshes the knowledge file list."
},
"workspaceKnowledgeRoot": "Root",
"@workspaceKnowledgeRoot": {
"description": "Breadcrumb label for the top level of a knowledge base."
},
"workspaceKnowledgeAddMenu": "Add files",
"@workspaceKnowledgeAddMenu": {
"description": "Tooltip for the menu that adds files or folders to a knowledge base."
},
"workspaceKnowledgeUpload": "Upload file",
"@workspaceKnowledgeUpload": {
"description": "Menu item to upload a single local file into a knowledge base."
},
"workspaceKnowledgeUploading": "Uploading {name}…",
"@workspaceKnowledgeUploading": {
"description": "Progress label shown while a file uploads into a knowledge base.",
"placeholders": {
"name": {
"type": "String"
}
}
},
"workspaceKnowledgeUploadFailed": "The file could not be uploaded.",
"@workspaceKnowledgeUploadFailed": {
"description": "Error when uploading a file into a knowledge base fails."
},
"workspaceKnowledgeBatchAttach": "Upload multiple files",
"@workspaceKnowledgeBatchAttach": {
"description": "Menu item to upload several local files into a knowledge base at once."
},
"workspaceKnowledgeAttachExisting": "Attach server file",
"@workspaceKnowledgeAttachExisting": {
"description": "Menu item to attach an existing server file to a knowledge base."
},
"workspaceKnowledgeAttachFailed": "The file could not be attached.",
"@workspaceKnowledgeAttachFailed": {
"description": "Error when attaching an existing file to a knowledge base fails."
},
"workspaceKnowledgeAddText": "Add text file",
"@workspaceKnowledgeAddText": {
"description": "Menu item to create a text file and attach it to a knowledge base."
},
"workspaceKnowledgeAddTextName": "File name",
"@workspaceKnowledgeAddTextName": {
"description": "Label for the file name field when adding a text file."
},
"workspaceKnowledgeAddTextContent": "Content",
"@workspaceKnowledgeAddTextContent": {
"description": "Label for the content field when adding a text file."
},
"workspaceKnowledgeAddTextFailed": "The text file could not be added.",
"@workspaceKnowledgeAddTextFailed": {
"description": "Error when adding a text file to a knowledge base fails."
},
"workspaceKnowledgeNewFolder": "New folder",
"@workspaceKnowledgeNewFolder": {
"description": "Menu item and dialog title to create a new directory in a knowledge base."
},
"workspaceKnowledgeFolderName": "Folder name",
"@workspaceKnowledgeFolderName": {
"description": "Label for the folder name field."
},
"workspaceKnowledgeFolderCreateFailed": "The folder could not be created.",
"@workspaceKnowledgeFolderCreateFailed": {
"description": "Error when creating or renaming a knowledge base folder fails."
},
"workspaceKnowledgeRenameFolder": "Rename folder",
"@workspaceKnowledgeRenameFolder": {
"description": "Action to rename a knowledge base directory."
},
"workspaceKnowledgeDeleteFolder": "Delete folder",
"@workspaceKnowledgeDeleteFolder": {
"description": "Action to delete a knowledge base directory."
},
"workspaceKnowledgeDeleteFolderConfirmTitle": "Delete folder?",
"@workspaceKnowledgeDeleteFolderConfirmTitle": {
"description": "Confirmation dialog title for deleting a knowledge base directory."
},
"workspaceKnowledgeDeleteFolderConfirmMessage": "Files inside {name} move to the parent folder.",
"@workspaceKnowledgeDeleteFolderConfirmMessage": {
"description": "Confirmation dialog body for deleting a knowledge base directory.",
"placeholders": {
"name": {
"type": "String"
}
}
},
"workspaceKnowledgeFolderDeleteFailed": "The folder could not be deleted.",
"@workspaceKnowledgeFolderDeleteFailed": {
"description": "Error when deleting a knowledge base folder fails."
},
"workspaceKnowledgeFileRename": "Rename",
"@workspaceKnowledgeFileRename": {
"description": "Per-file action to rename a knowledge base file."
},
"workspaceKnowledgeFileRefresh": "Re-index",
"@workspaceKnowledgeFileRefresh": {
"description": "Per-file action to re-index a knowledge base file."
},
"workspaceKnowledgeFileReindexed": "Re-indexing started.",
"@workspaceKnowledgeFileReindexed": {
"description": "Confirmation that re-indexing a knowledge base file began."
},
"workspaceKnowledgeFileMove": "Move",
"@workspaceKnowledgeFileMove": {
"description": "Per-file action to move a knowledge base file to another folder."
},
"workspaceKnowledgeFileRenameFailed": "The file could not be renamed.",
"@workspaceKnowledgeFileRenameFailed": {
"description": "Error when renaming a knowledge base file fails."
},
"workspaceKnowledgeFileMoveFailed": "The file could not be moved.",
"@workspaceKnowledgeFileMoveFailed": {
"description": "Error when moving a knowledge base file fails."
},
"workspaceKnowledgeFileDetach": "Remove from knowledge",
"@workspaceKnowledgeFileDetach": {
"description": "Per-file action to detach a file from a knowledge base."
},
"workspaceKnowledgeFileDetachTitle": "Remove file?",
"@workspaceKnowledgeFileDetachTitle": {
"description": "Confirmation dialog title for detaching a file from a knowledge base."
},
"workspaceKnowledgeFileDetachMessage": "Remove {name} from this knowledge base?",
"@workspaceKnowledgeFileDetachMessage": {
"description": "Confirmation dialog body for detaching a file from a knowledge base.",
"placeholders": {
"name": {
"type": "String"
}
}
},
"workspaceKnowledgeFileDeleteUnderlying": "Also delete the underlying file",
"@workspaceKnowledgeFileDeleteUnderlying": {
"description": "Checkbox to delete the stored file when detaching, shown to owners/admins."
},
"workspaceKnowledgeFileDetachFailed": "The file could not be removed.",
"@workspaceKnowledgeFileDetachFailed": {
"description": "Error when detaching a file from a knowledge base fails."
},
"workspaceKnowledgeMoveTitle": "Move to folder",
"@workspaceKnowledgeMoveTitle": {
"description": "Title of the sheet for choosing a destination folder."
},
"workspaceKnowledgeMoveRoot": "Root (no folder)",
"@workspaceKnowledgeMoveRoot": {
"description": "Move destination representing the knowledge base root."
},
"workspaceKnowledgeStatusPending": "Processing…",
"@workspaceKnowledgeStatusPending": {
"description": "Status shown for a knowledge base file still being ingested."
},
"workspaceKnowledgeStatusFailed": "Failed",
"@workspaceKnowledgeStatusFailed": {
"description": "Status shown for a knowledge base file whose ingestion failed."
},
"workspacePromptCreateTitle": "New prompt",
"@workspacePromptCreateTitle": {
"description": "Title shown while creating a new workspace prompt."
},
"workspacePromptName": "Name",
"@workspacePromptName": {
"description": "Label for the prompt name field."
},
"workspacePromptNameRequired": "Name is required.",
"@workspacePromptNameRequired": {
"description": "Validation error when the prompt name is empty."
},
"workspacePromptCommand": "Command",
"@workspacePromptCommand": {
"description": "Label for the prompt slash-command field."
},
"workspacePromptCommandHint": "Only letters, numbers, hyphens, and underscores. Type it as a slash command in chat.",
"@workspacePromptCommandHint": {
"description": "Helper text explaining the allowed prompt command characters."
},
"workspacePromptCommandRequired": "Command is required.",
"@workspacePromptCommandRequired": {
"description": "Validation error when the prompt command is empty."
},
"workspacePromptCommandInvalid": "Only letters, numbers, hyphens, and underscores are allowed.",
"@workspacePromptCommandInvalid": {
"description": "Validation error when the prompt command contains illegal characters."
},
"workspacePromptCommandTaken": "That command is already in use.",
"@workspacePromptCommandTaken": {
"description": "Error shown when saving a prompt whose command collides with another prompt."
},
"workspacePromptContent": "Prompt content",
"@workspacePromptContent": {
"description": "Label for the prompt template body field."
},
"workspacePromptContentHint": "Write the prompt template…",
"@workspacePromptContentHint": {
"description": "Placeholder text for the empty prompt content field."
},
"workspacePromptContentRequired": "Prompt content is required.",
"@workspacePromptContentRequired": {
"description": "Validation error when the prompt content is empty."
},
"workspacePromptWriteTab": "Write",
"@workspacePromptWriteTab": {
"description": "Toggle label for the editable prompt content view."
},
"workspacePromptPreviewTab": "Preview",
"@workspacePromptPreviewTab": {
"description": "Toggle label for the rendered markdown preview of the prompt content."
},
"workspacePromptPreviewEmpty": "Nothing to preview yet.",
"@workspacePromptPreviewEmpty": {
"description": "Empty-state text shown in the prompt preview when there is no content."
},
"workspacePromptTags": "Tags",
"@workspacePromptTags": {
"description": "Label for the prompt tags field."
},
"workspacePromptTagAdd": "Add tag",
"@workspacePromptTagAdd": {
"description": "Action to add a tag to a prompt."
},
"workspacePromptVersionSection": "Version",
"@workspacePromptVersionSection": {
"description": "Section header for prompt versioning controls."
},
"workspacePromptCommitMessage": "Commit message",
"@workspacePromptCommitMessage": {
"description": "Label for the optional commit message recorded with a prompt version."
},
"workspacePromptCommitMessageHint": "Describe what changed (optional)",
"@workspacePromptCommitMessageHint": {
"description": "Placeholder for the prompt commit message field."
},
"workspacePromptSetProduction": "Set as production version",
"@workspacePromptSetProduction": {
"description": "Toggle that marks the saved prompt version as the live production version."
},
"workspacePromptSetProductionSubtitle": "Make this the live version used in chat.",
"@workspacePromptSetProductionSubtitle": {
"description": "Explanation for the production-version toggle."
},
"workspacePromptManageAccess": "Manage access",
"@workspacePromptManageAccess": {
"description": "Action to open the sharing/access editor for a prompt."
},
"workspacePromptClone": "Duplicate",
"@workspacePromptClone": {
"description": "Overflow action that clones a prompt."
},
"workspacePromptCloneSuffix": "(copy)",
"@workspacePromptCloneSuffix": {
"description": "Suffix appended to the name and command of a cloned prompt."
},
"workspacePromptUpdateDetails": "Save name & command only",
"@workspacePromptUpdateDetails": {
"description": "Overflow action that updates prompt metadata without creating a new version."
},
"workspacePromptDetailsSaved": "Details saved",
"@workspacePromptDetailsSaved": {
"description": "Confirmation that prompt name and command were updated."
},
"workspacePromptActivate": "Activate",
"@workspacePromptActivate": {
"description": "Overflow action that enables a prompt."
},
"workspacePromptDeactivate": "Deactivate",
"@workspacePromptDeactivate": {
"description": "Overflow action that disables a prompt."
},
"workspacePromptDelete": "Delete prompt",
"@workspacePromptDelete": {
"description": "Overflow action that deletes a prompt."
},
"workspacePromptDeleteConfirmTitle": "Delete prompt?",
"@workspacePromptDeleteConfirmTitle": {
"description": "Confirmation dialog title for deleting a prompt."
},
"workspacePromptDeleteConfirmMessage": "\"{name}\" will be permanently deleted.",
"@workspacePromptDeleteConfirmMessage": {
"description": "Confirmation dialog body for deleting a prompt.",
"placeholders": {
"name": {
"type": "String"
}
}
},
"workspacePromptDeleted": "Prompt deleted",
"@workspacePromptDeleted": {
"description": "Confirmation that a prompt was deleted."
},
"workspacePromptSaved": "Prompt saved",
"@workspacePromptSaved": {
"description": "Confirmation that a prompt was saved."
},
"workspacePromptSaveFailed": "Couldn't save the prompt. Please try again.",
"@workspacePromptSaveFailed": {
"description": "Error shown when saving a prompt fails."
},
"workspacePromptImport": "Import prompts",
"@workspacePromptImport": {
"description": "Overflow action that imports prompt definitions from JSON."
},
"workspacePromptExport": "Export prompts",
"@workspacePromptExport": {
"description": "Overflow action that exports readable prompts as JSON."
},
"workspacePromptExportFailed": "Couldn't export prompts.",
"@workspacePromptExportFailed": {
"description": "Error shown when exporting prompts fails."
},
"workspacePromptHistory": "Version history",
"@workspacePromptHistory": {
"description": "Header of the prompt version-history panel."
},
"workspacePromptHistoryEmpty": "No versions yet.",
"@workspacePromptHistoryEmpty": {
"description": "Empty-state text when a prompt has no version history."
},
"workspacePromptHistoryLoadFailed": "Couldn't load version history.",
"@workspacePromptHistoryLoadFailed": {
"description": "Error shown when loading prompt history fails."
},
"workspacePromptHistoryCommitFallback": "No commit message",
"@workspacePromptHistoryCommitFallback": {
"description": "Placeholder shown for a history entry without a commit message."
},
"workspacePromptHistoryLive": "Live",
"@workspacePromptHistoryLive": {
"description": "Badge marking the active production version of a prompt."
},
"workspacePromptHistoryDiff": "Compare with production",
"@workspacePromptHistoryDiff": {
"description": "Action to diff a prompt version against the production version."
},
"workspacePromptHistoryDiffTitle": "Version comparison",
"@workspacePromptHistoryDiffTitle": {
"description": "Title of the prompt version diff sheet."
},
"workspacePromptHistoryDiffEmpty": "No content differences.",
"@workspacePromptHistoryDiffEmpty": {
"description": "Shown when two prompt versions have identical content."
},
"workspacePromptHistoryDiffNameChanged": "The name changed between these versions.",
"@workspacePromptHistoryDiffNameChanged": {
"description": "Note shown in the diff sheet when the prompt name changed."
},
"workspacePromptHistoryDiffFailed": "Couldn't compute the diff.",
"@workspacePromptHistoryDiffFailed": {
"description": "Error shown when computing a prompt version diff fails."
},
"workspacePromptHistoryRestore": "Restore this version",
"@workspacePromptHistoryRestore": {
"description": "Action that loads a version snapshot back into the editor."
},
"workspacePromptHistoryRestored": "Version content restored. Save to keep it.",
"@workspacePromptHistoryRestored": {
"description": "Confirmation that a version snapshot was loaded into the editor."
},
"workspacePromptHistorySetProduction": "Set as production",
"@workspacePromptHistorySetProduction": {
"description": "Action that pins a version as the production version."
},
"workspacePromptHistoryProductionSet": "Production version updated.",
"@workspacePromptHistoryProductionSet": {
"description": "Confirmation that the production version was changed."
},
"workspacePromptHistoryDelete": "Delete version",
"@workspacePromptHistoryDelete": {
"description": "Action that deletes a prompt history entry."
},
"workspacePromptHistoryDeleteConfirmTitle": "Delete version?",
"@workspacePromptHistoryDeleteConfirmTitle": {
"description": "Confirmation dialog title for deleting a prompt version."
},
"workspacePromptHistoryDeleteConfirmMessage": "This version snapshot will be removed. This can't be undone.",
"@workspacePromptHistoryDeleteConfirmMessage": {
"description": "Confirmation dialog body for deleting a prompt version."
},
"workspacePromptHistoryDeleted": "Version deleted",
"@workspacePromptHistoryDeleted": {
"description": "Confirmation that a prompt version was deleted."
},
"workspacePromptHistoryDeleteProduction": "The live production version can't be deleted.",
"@workspacePromptHistoryDeleteProduction": {
"description": "Error shown when trying to delete the active production version."
},
"workspaceSkillCreateTitle": "New skill",
"@workspaceSkillCreateTitle": {
"description": "Title shown while creating a new workspace skill."
},
"workspaceSkillName": "Name",
"@workspaceSkillName": {
"description": "Label for the skill name field."
},
"workspaceSkillNameHint": "e.g. Code Review Guidelines",
"@workspaceSkillNameHint": {
"description": "Placeholder example for the skill name field."
},
"workspaceSkillNameRequired": "Name is required.",
"@workspaceSkillNameRequired": {
"description": "Validation error when the skill name is empty."
},
"workspaceSkillId": "Skill ID",
"@workspaceSkillId": {
"description": "Label for the skill identifier field."
},
"workspaceSkillIdHint": "e.g. code-review-guidelines",
"@workspaceSkillIdHint": {
"description": "Placeholder example for the skill identifier field."
},
"workspaceSkillIdRequired": "Skill ID is required.",
"@workspaceSkillIdRequired": {
"description": "Validation error when the skill identifier is empty."
},
"workspaceSkillIdInvalid": "Only letters, numbers, hyphens, and underscores are allowed.",
"@workspaceSkillIdInvalid": {
"description": "Validation error when the skill identifier contains illegal characters."
},
"workspaceSkillIdTaken": "That skill ID or name is already in use.",
"@workspaceSkillIdTaken": {
"description": "Error shown when saving a skill whose id or name collides with another skill."
},
"workspaceSkillDescription": "Description",
"@workspaceSkillDescription": {
"description": "Label for the optional skill description field."
},
"workspaceSkillDescriptionHint": "e.g. Step-by-step instructions for code reviews",
"@workspaceSkillDescriptionHint": {
"description": "Placeholder example for the skill description field."
},
"workspaceSkillContent": "Instructions",
"@workspaceSkillContent": {
"description": "Label for the skill Markdown instructions body field."
},
"workspaceSkillContentHint": "Enter skill instructions in markdown…",
"@workspaceSkillContentHint": {
"description": "Placeholder text for the empty skill instructions field."
},
"workspaceSkillContentRequired": "Instructions are required.",
"@workspaceSkillContentRequired": {
"description": "Validation error when the skill instructions are empty."
},
"workspaceSkillWriteTab": "Write",
"@workspaceSkillWriteTab": {
"description": "Toggle label for the editable skill instructions view."
},
"workspaceSkillPreviewTab": "Preview",
"@workspaceSkillPreviewTab": {
"description": "Toggle label for the rendered markdown preview of the skill instructions."
},
"workspaceSkillPreviewEmpty": "Nothing to preview yet.",
"@workspaceSkillPreviewEmpty": {
"description": "Empty-state text shown in the skill preview when there is no content."
},
"workspaceSkillManageAccess": "Manage access",
"@workspaceSkillManageAccess": {
"description": "Action to open the sharing/access editor for a skill."
},
"workspaceSkillSaved": "Skill saved",
"@workspaceSkillSaved": {
"description": "Confirmation that a skill was saved."
},
"workspaceSkillSaveFailed": "Couldn't save the skill. Please try again.",
"@workspaceSkillSaveFailed": {
"description": "Error shown when saving a skill fails."
},
"workspaceSkillClone": "Duplicate",
"@workspaceSkillClone": {
"description": "Overflow action that clones a skill."
},
"workspaceSkillCloneSuffix": "(Clone)",
"@workspaceSkillCloneSuffix": {
"description": "Suffix appended to the name of a cloned skill."
},
"workspaceSkillActivate": "Activate",
"@workspaceSkillActivate": {
"description": "Overflow action that enables a skill."
},
"workspaceSkillDeactivate": "Deactivate",
"@workspaceSkillDeactivate": {
"description": "Overflow action that disables a skill."
},
"workspaceSkillDelete": "Delete skill",
"@workspaceSkillDelete": {
"description": "Overflow action that deletes a skill."
},
"workspaceSkillDeleteConfirmTitle": "Delete skill?",
"@workspaceSkillDeleteConfirmTitle": {
"description": "Confirmation dialog title for deleting a skill."
},
"workspaceSkillDeleteConfirmMessage": "\"{name}\" will be permanently deleted.",
"@workspaceSkillDeleteConfirmMessage": {
"description": "Confirmation dialog body for deleting a skill.",
"placeholders": {
"name": {
"type": "String"
}
}
},
"workspaceSkillDeleted": "Skill deleted",
"@workspaceSkillDeleted": {
"description": "Confirmation that a skill was deleted."
},
"workspaceSkillImport": "Import skills",
"@workspaceSkillImport": {
"description": "Title of the JSON skill import sheet."
},
"workspaceSkillImportMarkdown": "Import Markdown",
"@workspaceSkillImportMarkdown": {
"description": "Overflow action that imports a skill from a Markdown file into the create editor."
},
"workspaceSkillImportJson": "Import JSON",
"@workspaceSkillImportJson": {
"description": "Overflow action that imports one or more skills from a JSON file."
},
"workspaceSkillImportMarkdownLoaded": "Markdown loaded. Review and save to create the skill.",
"@workspaceSkillImportMarkdownLoaded": {
"description": "Confirmation that a Markdown file was loaded into the unsaved skill editor."
},
"workspaceSkillImportMarkdownFailed": "Couldn't read the Markdown file.",
"@workspaceSkillImportMarkdownFailed": {
"description": "Error shown when reading a Markdown skill file fails."
},
"workspaceSkillExport": "Export skills",
"@workspaceSkillExport": {
"description": "Overflow action that exports readable skills as JSON."
},
"workspaceSkillExportFailed": "Couldn't export skills.",
"@workspaceSkillExportFailed": {
"description": "Error shown when exporting skills fails."
},
"workspaceToolCreateTitle": "Create tool",
"workspaceToolName": "Name",
"workspaceToolNameHint": "e.g. My Tools",
"workspaceToolNameRequired": "Enter a tool name.",
"workspaceToolId": "Tool ID",
"workspaceToolIdHint": "Letters, numbers, and underscores; can't start with a number.",
"workspaceToolIdRequired": "Enter a tool ID.",
"workspaceToolIdInvalid": "Tool IDs use letters, numbers, and underscores and can't start with a number.",
"workspaceToolIdTaken": "That tool ID is already in use.",
"workspaceToolDescription": "Description",
"workspaceToolDescriptionHint": "e.g. Tools for performing various operations",
"workspaceToolContent": "Python source",
"workspaceToolContentHint": "Write your tool as a Python class named Tools…",
"workspaceToolContentRequired": "Add Python source before saving.",
"workspaceToolWarning": "Tools run arbitrary Python on the server — only add code from sources you trust.",
"workspaceToolSaved": "Tool saved",
"workspaceToolDeleted": "Tool deleted",
"workspaceToolSaveFailed": "Couldn't save the tool.",
"workspaceToolManageAccess": "Manage access",
"workspaceToolClone": "Duplicate",
"workspaceToolCloneSuffix": "(Clone)",
"workspaceToolDelete": "Delete",
"workspaceToolDeleteConfirmTitle": "Delete tool?",
"workspaceToolDeleteConfirmMessage": "\"{name}\" will be permanently deleted.",
"workspaceToolImport": "Import tools",
"workspaceToolImportJson": "Import JSON",
"workspaceToolImportUrl": "Import from URL",
"workspaceToolImportUrlTitle": "Import tool from URL",
"workspaceToolImportUrlHint": "Enter a raw or GitHub URL to a tool's Python file",
"workspaceToolImportUrlLabel": "URL",
"workspaceToolImportUrlInvalid": "Enter a valid URL.",
"workspaceToolImportUrlFailed": "Couldn't import the tool from that URL.",
"workspaceToolImportUrlLoaded": "Tool loaded — review and save.",
"workspaceToolExport": "Export tools",
"workspaceToolExportFailed": "Couldn't export tools.",
"workspaceToolManifest": "Manifest",
"workspaceToolManifestVersion": "Version {version}",
"workspaceToolManifestRequiredVersion": "Requires Open WebUI {version}",
"workspaceToolManifestFunding": "Funding: {url}",
"workspaceToolSpecs": "Generated specifications",
"workspaceToolDetails": "Tooldetails",
"workspaceToolFunctionCount": "{count, plural, =1{1 functie} other{{count} functies}}",
"@workspaceToolFunctionCount": {"placeholders":{"count":{"type":"int"}}},
"workspaceToolSpecsEmpty": "No specifications were generated for this tool.",
"workspaceToolIncompatible": "This tool requires Open WebUI v{required}, but the server is v{current}. Update the server to save.",
"workspaceToolValves": "Valves",
"workspaceToolValvesTitle": "Valves",
"workspaceToolValvesServer": "Server valves",
"workspaceToolValvesUser": "User valves",
"workspaceToolValvesEmpty": "No valves",
"workspaceToolValvesSaved": "Valves updated",
"workspaceToolValvesSaveFailed": "Couldn't update valves.",
"workspaceToolValvesLoadFailed": "Couldn't load valves.",
"workspaceValveRequired": "required",
"workspaceValveDefault": "Default",
"workspaceValveCustom": "Custom",
"workspaceValveNone": "None",
"workspaceValveEnabled": "Enabled",
"workspaceValveDisabled": "Disabled",
"noteConflictCopyBadge": "Conflictkopie",
"noteConflictCopySuffix": " (conflictkopie)",
"notificationChannelDescription": "Melden wanneer iemand een bericht stuurt in een kanaal of DM.",
"notificationChannelMessagesDescription": "Antwoorden, kanaalberichten en voltooide reacties",
"notificationChannelMessagesName": "Berichten",
"notificationChannelTitle": "Kanaalberichten",
"notificationChatDescription": "Melden wanneer een reactie is voltooid in een chat die je niet bekijkt.",
"notificationChatTitle": "Chatreacties",
"notificationDefaultTitle": "Nieuw bericht",
"notificationInAppBannerDescription": "Een banner in de app tonen terwijl deze open is.",
"notificationInAppBannerTitle": "In-app-banners",
"notificationSoundAlwaysDescription": "Speel het geluid af, zelfs wanneer de app open en actief is.",
"notificationSoundAlwaysTitle": "Geluid altijd afspelen",
"notificationSoundDescription": "Speel een geluid af wanneer er een melding binnenkomt.",
"notificationSoundTitle": "Geluid",
"notificationSystemDescription": "Meldingen buiten de app tonen wanneer deze op de achtergrond draait.",
"notificationSystemTitle": "Systeemmeldingen",
"notificationViewAction": "Bekijken",
"notificationsEnabledDescription": "Ontvang meldingen wanneer de app op de achtergrond draait en in de app.",
"notificationsEnabledTitle": "Meldingen inschakelen",
"notificationsPermissionDenied": "Meldingen zijn uitgeschakeld in de systeeminstellingen.",
"notificationsSubtitle": "Meldingen voor antwoorden, berichten en voltooide reacties",
"notificationsTitle": "Meldingen",
"hermesSecretsUnavailable": "Could not access saved Hermes credentials. Unlock secure storage and retry.",
"hermesAgentSettingsTitle": "Hermes Agent",
"hermesAgentSettingsSubtitle": "Connect a self-hosted Hermes agent",
"connectOpenWebUITitle": "Connect to Open WebUI",
"connectOpenWebUISubtitle": "Add a self-hosted Open WebUI server",
"backendChooserWelcome": "Welcome to Conduit",
"backendChooserPrompt": "Choose how you want to connect.",
"backendChooserOpenWebUISubtitle": "Use your self-hosted Open WebUI server with full chat, notes, and more.",
"backendChooserHermesTitle": "Use a Hermes Agent",
"backendChooserHermesSubtitle": "Connect directly to a self-hosted Hermes agent — no Open WebUI server needed.",
"hermesApprovalRequired": "Approval required",
"hermesApprovalFallback": "The agent is requesting permission to continue.",
"openWebUiPromptOther": "Anders",
"@openWebUiPromptOther": {"description": "Label for a free-form answer to an Open WebUI ask-user question."},
"openWebUiPromptAnswerHint": "Typ je antwoord",
"@openWebUiPromptAnswerHint": {"description": "Placeholder for a free-form Open WebUI ask-user answer."},
"openWebUiPromptSubmit": "Indienen",
"@openWebUiPromptSubmit": {"description": "Action that submits all answers to an Open WebUI ask-user prompt."},
"hermesApprovalApproved": "Approved ✓",
"hermesApprovalDenied": "Denied",
"hermesApprovalApproveAction": "Approve",
"hermesApprovalDenyAction": "Deny",
"hermesEnableTitle": "Enable Hermes Agent",
"hermesEnableSubtitle": "Use your self-hosted Hermes agent as a model in the picker.",
"hermesServerUrlTitle": "Server URL",
"hermesApiKeyTitle": "API key",
"hermesConfiguredReplacePlaceholder": "Configured — enter to replace",
"hermesApiKeyPlaceholder": "Enter API key",
"hermesMemoryKeyTitle": "Memory key (optional)",
"hermesMemoryKeyPlaceholder": "Auto-generated if left blank",
"hermesCapabilitiesTitle": "Capabilities",
"hermesCapabilityApproval": "Approval",
"hermesCapabilitySkills": "Skills",
"hermesCapabilityToolsets": "Toolsets",
"hermesCapabilityJobs": "Jobs",
"hermesCapabilitySessions": "Sessions",
"hermesTabInfoTitle": "Conversations & Scheduled Agents",
"hermesTabInfoSubtitle": "Available in the Hermes tab once enabled.",
"hermesNativeSettingsSubtitle": "Connect directly to a self-hosted Hermes agent.",
"hermesSelfHostedAgentLabel": "Self-hosted agent",
"hermesNoConversationsMessage": "No Hermes conversations yet.\nStart a new chat with the Hermes Agent and it will appear here.",
"hermesConversationsTitle": "Conversations",
"hermesBotsTitle": "Bots",
"hermesConversationsLoadError": "Could not load Hermes conversations.\nCheck the connection in Settings → Hermes Agent.",
"hermesSchedulesLoading": "Loading schedules…",
"hermesSchedulesUnavailable": "Schedules unavailable",
"hermesNoSchedulesYet": "No schedules yet",
"hermesSchedulesSummary": "{active} active · {total, plural, =1{1 schedule} other{{total} schedules}}",
"hermesReviewSchedules": "Review schedules",
"hermesScheduledAgentsTitle": "Scheduled agents",
"workspaceToolImportUrlHost": "Only GitHub tool URLs can be imported.",
"signInServerDescription": "Use your Open WebUI account to sign in to the server below.",
"openWebUIServer": "Open WebUI server",
"serverAddressUnavailable": "Server address unavailable",
"showPassword": "Show password",
"hidePassword": "Hide password",
"reviewerModeEnabled": "Reviewer mode enabled. You can open the demo without a server.",
"reviewerModeDisabled": "Reviewer mode disabled.",
"openSourceLicenses": "Open source licenses",
"directConnectionsTitle": "Direct Connections",
"directConnectionsSubtitle": "Connect to OpenAI-compatible APIs and Ollama",
"directConnectionsDescription": "Connect to model providers without Open WebUI. Credentials are stored securely on this device and sent to the provider with requests.",
"directConnectionsCombinedDescription": "Maak rechtstreeks verbinding met modelproviders via verbindingen die vanuit Open WebUI worden gesynchroniseerd of alleen op dit apparaat zijn opgeslagen.",
"openWebUiDirectConnectionsSectionTitle": "Open WebUI-server",
"openWebUiDirectConnectionsSectionDescription": "Opgeslagen in je Open WebUI-account en beschikbaar voor andere aangemelde clients.",
"deviceDirectConnectionsSectionTitle": "Op dit apparaat",
"deviceDirectConnectionsSectionDescription": "Inloggegevens worden veilig op dit apparaat opgeslagen.",
"openWebUiDirectProfilesEmptyTitle": "Nog geen serververbindingen",
"openWebUiDirectProfilesEmptySubtitle": "Voeg een OpenAI-compatibele API-verbinding toe om deze via Open WebUI te synchroniseren.",
"openWebUiDirectConnectionsLoadFailed": "Kan verbindingen uit Open WebUI niet synchroniseren.",
"openWebUiDirectConnectionSourceLabel": "Open WebUI",
"deviceDirectConnectionSourceLabel": "Dit apparaat",
"openWebUiDirectConnectionUnsupportedAuth": "Deze verbinding gebruikt een authenticatiemethode die Conduit niet veilig kan gebruiken.",
"directConnectionUnavailableLabel": "Niet beschikbaar",
"openWebUiDirectConnectionEditorDescription": "Wijzigingen worden opgeslagen in je Open WebUI-account.",
"openWebUiDirectConnectionProviderDescription": "Gebruikersverbindingen van Open WebUI ondersteunen OpenAI-compatibele API's.",
"openWebUiDirectConnectionFallbackName": "Open WebUI-verbinding",
"openWebUiDirectConnectionsUnavailable": "Open WebUI-verbindingen zijn niet beschikbaar.",
"directConnectionNoLongerExists": "Deze verbinding bestaat niet meer.",
"openWebUiDirectConnectionDeleteMessage": "Hiermee verwijder je {name} uit je Open WebUI-account en uit andere clients waarop je bent aangemeld.",
"@openWebUiDirectConnectionDeleteMessage": {"description":"Confirmation message shown before deleting an Open WebUI-synced direct connection.","placeholders":{"name":{"type":"String"}}},
"addDirectConnection": "Add connection",
"editDirectConnection": "Edit connection",
"directConnectionName": "Connection name",
"directConnectionNameRequired": "Enter a connection name.",
"directConnectionUrlInvalid": "Use a valid http:// or https:// URL.",
"directConnectionCredentialsReentryRequired": "Re-enter credentials when changing servers.",
"directConnectionApiKeyRequired": "Enter an API key or choose no authentication.",
"directConnectionHeaderNameRequired": "Enter a header name, then add the header.",
"directConnectionCredentialTransferTitle": "Use credentials with new server?",
"directConnectionCredentialTransferMessage": "This sends the API key and complete custom-header map to the new server. Only continue if you trust it.",
"directConnectionCredentialTransferConfirm": "Use credentials",
"directConnectionSaveFailed": "Could not save this connection.",
"directConnectionSaveConflict": "Deze verbinding is elders gewijzigd. Open deze opnieuw voordat je opslaat.",
"directConnectionReachFailed": "Could not reach the provider.",
"directConnectionDeleteTitle": "Delete connection?",
"directConnectionDeleteMessage": "This removes {name} and its credentials from this device.",
"directConnectionDeleteFailed": "Could not delete this connection.",
"directConnectionProbeConnected": "Connected",
"directConnectionProbeConnectedModels": "{count, plural, =1{Connected · 1 model} other{Connected · {count} models}}",
"directProvider": "Provider type",
"openAICompatible": "OpenAI-compatible",
"ollama": "Ollama",
"openRouterProviderName": "OpenRouter",
"directApiBaseUrl": "Base URL",
"directOpenRouterUrlInvalid": "Gebruik de HTTPS-/api/v1-hoofd-URL van OpenRouter (wereldwijd of EU).",
"directOpenRouterBaseUrlDescription": "Conduit gebruikt je OpenRouter-API-sleutel, geverifieerde modelcatalogus en door Conduit beheerde tools.",
"directOpenRouterChatCompletionsDescription": "Chat Completions wordt gebruikt voor ingebouwd zoeken op het web, afbeeldingsgeneratie, PDF-verwerking en herbruikbare PDF-annotaties.",
"directCompletionApi": "Completion API",
"directChatCompletions": "Chat Completions",
"directResponses": "Responses",
"directChatCompletionsDescription": "Works with OpenAI-compatible providers such as LM Studio, vLLM, LocalAI, and OpenRouter.",
"directResponsesDescription": "Use the typed Responses event stream. Choose this only when the provider exposes /responses.",
"directApiVersion": "API version",
"directApiVersionDescription": "Optional. Adds the api-version query parameter required by Azure OpenAI endpoints.",
"directAuthentication": "Authentication",
"noAuthentication": "No authentication",
"bearerToken": "Bearer token",
"directApiKeyHeader": "API-key header",
"directApiKeyHeaderDescription": "Sends the credential in the api-key header used by Azure OpenAI.",
"directApiKey": "API key",
"directCustomHeaders": "Custom headers",
"directManualModelIds": "Manual model IDs",
"directManualModelIdsDescription": "Optioneel. Voer één ID per regel in als de server de modellen niet kan weergeven.",
"@directManualModelIdsDescription": {"placeholders":{}},
"directModelIdPrefix": "Model ID prefix",
"directModelIdPrefixDescription": "Optional. Adds a visible namespace such as studio.model-name without changing the model ID sent to the provider.",
"directModelTags": "Model tags",
"directModelTagsDescription": "Optional. Separate tags with commas or new lines.",
"syncDirectHistory": "Open WebUI history",
"syncDirectHistorySubtitle": "New direct chats sync when signed in. Existing chats keep their current location.",
"directHistoryLocalOnlySubtitle": "New direct chats stay on this device. Existing chats keep their current location.",
"backendChooserDirectTitle": "Connect directly",
"backendChooserDirectSubtitle": "Use an OpenAI-compatible API or Ollama without Open WebUI.",
"testDirectConnection": "Test connection",
"directConnectionTestUnavailable": "Connection testing is not available yet.",
"finishDirectSetup": "Start chatting",
"directProfilesEmptyTitle": "No direct connections yet",
"directProfilesEmptySubtitle": "Add an OpenAI-compatible or Ollama server to get started.",
"directConnectionsSectionTitle": "Connections",
"directSavedDataUnreadable": "The saved connection data could not be read.",
"directSecureStorageUnavailable": "Check secure storage access and try again.",
"onDevice": "On device",
"directConnectionError": "Direct connection error",
"directAttachmentUnsupported": "This direct model does not support this attachment.",
"backendChooserOpenWebUITitle": "Open WebUI",
"hermesMemoryKeyDescription": "De geheugensleutel koppelt het langetermijngeheugen van de agent aan jou (X-Hermes-Session-Key). Als je dit leeg laat, wordt automatisch een vaste sleutel gemaakt wanneer je voor het eerst chat.",
"moreModels": "Meer modellen",
"reasoningEffort": "Redeneerniveau",
"reasoningEffortLow": "Laag",
"reasoningEffortMedium": "Gemiddeld",
"reasoningEffortHigh": "Hoog",
"reasoningEffortMinimal": "Minimaal",
"reasoningEffortExtraHigh": "Extra hoog",
"reasoningEffortMaximum": "Maximaal",
"reasoningEffortNone": "Geen",
"customReasoningEffort": "Aangepast redeneerniveau",
"customReasoningEffortHint": "Voer een redeneerniveau in dat de provider ondersteunt",
"proxyServerVerificationFailed": "De Open WebUI-server kon niet worden geverifieerd. De proxysessie is mogelijk verlopen of ongeldig. Probeer het opnieuw.",
"proxyManualSignInRequired": "Verificatie mislukt. Probeer je handmatig aan te melden.",
"sidebarSyncingChats": "Chats synchroniseren",
"sidebarSyncingNotes": "Notities synchroniseren",
"sidebarFinishingSync": "Synchronisatie afronden",
"loadMermaidPreview": "Mermaid-voorbeeld laden",
"loadChartPreview": "Grafiekvoorbeeld laden",
"loadPdfPreview": "PDF-voorbeeld laden: {title}",
"ollamaCloudDefaultName": "Ollama Cloud",
"ollamaCloudBaseUrlHint": "https://ollama.com",
"ollamaCloudBaseUrlDescription": "Gebruik https://ollama.com met een API-sleutel voor Ollama Cloud.",
"ollamaModelLoaded": "Geladen",
"ollamaModelActions": "Modelgeheugen",
"ollamaModelActionsDescription": "Beheer dit model in het RAM of VRAM van Ollama.",
"ollamaLoadModel": "Model laden",
"ollamaLoadModelDescription": "Laad het nu alvast om het eerste antwoord sneller te maken.",
"ollamaUnloadModel": "Model uitladen",
"ollamaUnloadModelDescription": "Maak RAM of VRAM vrij. Het model wordt bij het volgende bericht automatisch geladen.",
"ollamaUnloadModelConfirmTitle": "{name} uitladen?",
"ollamaUnloadModelConfirmMessage": "Hiermee wordt het RAM of VRAM van het model vrijgemaakt. Ollama laadt het automatisch opnieuw wanneer je een bericht verstuurt.",
"ollamaKeepAlive": "Geladen houden",
"ollamaKeepAliveDescription": "Wordt na elk chatverzoek op dit model toegepast.",
"ollamaKeepAliveServerDefault": "Serverstandaard",
"ollamaKeepAliveFiveMinutes": "5 minuten",
"ollamaKeepAliveThirtyMinutes": "30 minuten",
"ollamaKeepAliveOneHour": "1 uur",
"ollamaKeepAliveAlways": "Altijd geladen",
"ollamaKeepAliveImmediate": "Na elk antwoord uitladen",
"ollamaKeepAliveCustom": "Aangepast",
"ollamaKeepAliveCustomHint": "Voorbeelden: 10m, 24h, 3600, -1 of 0",
"ollamaKeepAliveInvalid": "Gebruik seconden of een duur zoals 10m of 24h.",
"ollamaModelLoadedMessage": "{name} is geladen.",
"ollamaModelUnloadedMessage": "{name} is uitgeladen.",
"ollamaModelActionFailed": "De geheugenstatus van dit model kon niet worden bijgewerkt.",
"ollamaThinking": "Redeneren",
"ollamaCloudModelActionsDescription": "Stel in hoe dit Ollama Cloud-model antwoordt.",
"ollamaThinkingDescription": "Kies hoeveel het model moet redeneren. De beschikbare niveaus hangen af van het model.",
"ollamaThinkingAutomatic": "Automatisch",
"ollamaThinkingDisabled": "Uit",
"ollamaThinkingLow": "Laag",
"ollamaThinkingMedium": "Gemiddeld",
"ollamaThinkingHigh": "Hoog",
"ollamaThinkingMaximum": "Maximaal",
"releaseNotesSupportPromptHeading": "Bevalt Conduit je?",
"releaseNotesSupportPromptMessage": "Een korte review helpt meer mensen Conduit te vinden. Een kleine fooi helpt me om eraan te blijven bouwen. Allebei betekenen veel.",
"directConnectProvider": "Provider verbinden",
"directConnectProviderTitle": "Een provider verbinden",
"directConnectionEnabledSubtitle": "Modellen van deze verbinding in de modelkiezer tonen.",
"directConnectionDetailsTitle": "Verbindingsgegevens",
"directBaseUrlDescription": "Voeg het API-voorvoegsel toe dat de provider verwacht, meestal /v1.",
"directConfiguredReplacePlaceholder": "Geconfigureerd, voer een waarde in om te vervangen",
"directApiKeyPlaceholder": "API-sleutel invoeren",
"hermesOnboardingFailed": "De Hermes-configuratie kon niet worden voltooid. Controleer de beveiligde opslag en probeer het opnieuw.",
"hermesConnectionDetailsTitle": "Verbindingsgegevens",
"hermesMemoryKeyShortDescription": "Houdt het langetermijngeheugen van de agent aan jou gekoppeld. Laat leeg zodat Conduit een sleutel maakt.",
"hermesConnectAction": "Hermes verbinden",
"hermesToolCount": "{count, plural, =1{1 hulpmiddel} other{{count} hulpmiddelen}}",
"@hermesToolCount": {"placeholders":{"count":{"type":"int"}}},
"hermesNoToolsets": "De server heeft geen toolsets gemeld.",
"hermesToolsetsNewSessions": "Wijzigingen gelden voor nieuwe Hermes-sessies. Bestaande chats behouden hun huidige tools.",
"hermesServerStatusTitle": "Serverstatus",
"hermesNoServerStatus": "De server heeft geen status gemeld.",
"hermesLegacySessionToken": "Verouderd sessietoken",
"hermesLegacySessionTokenHint": "Plak het Hermes-sessietoken",
"hermesGatewayStopped": "Het Hermes-dashboard is online, maar Desktop Gateway is gestopt. Start de gateway op de Hermes-server en test opnieuw.",
"hermesProfile": "Hermes-profiel",
"hermesProfileLabel": "Profiel",
"hermesRefreshProfiles": "Profielen vernieuwen",
"hermesDesktopAuthentication": "Desktopverificatie",
"hermesDashboardAuthHelp": "Open het Hermes-dashboard in het aanmeldvenster en kom hier terug om de verbinding te testen.",
"hermesAuthLegacy": "Verouderd",
"hermesAuthNative": "Native",
"hermesAuthDashboard": "Dashboard",
"hermesNativeSignIn": "Aanmelden met Hermes",
"hermesDashboardSignIn": "Dashboard-aanmelding openen",
"hermesGatewayAccessHeaders": "Gateway-toegangsheaders",
"hermesGatewayAccessHeadersHelp": "Optionele headers voor een beveiligd Hermes-dashboard.",
"hermesDesktopGateway": "Desktop Gateway",
"hermesReloadSkills": "Vaardigheden opnieuw laden",
"hermesNoInstalledSkills": "Geen geïnstalleerde vaardigheden",
"hermesMcpServers": "MCP-servers",
"hermesSignOut": "Afmelden bij Hermes",
"hermesActionFailed": "Hermes-actie mislukt.",
"hermesToolsetUpdateFailed": "Bijwerken van Hermes-toolset mislukt.",
"hermesJobStateLabel": "Status",
"hermesJobDeliveryLabel": "Levering",
"hermesJobLastLabel": "Laatste",
"hermesJobNextLabel": "Volgende",
"hermesJobRunHistory": "Uitvoeringsgeschiedenis",
"hermesApprovalAllowOnce": "Eenmaal toestaan",
"hermesApprovalAllowSession": "Toestaan voor sessie",
"hermesApprovalAlwaysAllow": "Altijd toestaan",
"hermesClarificationTitle": "Hermes heeft verduidelijking nodig",
"hermesSudoTitle": "Hermes heeft sudo-toegang nodig",
"hermesSecretTitle": "Hermes heeft een geheim nodig",
"hermesMcpSetupTitle": "Hermes heeft MCP-configuratie nodig",
"hermesResponseSent": "Antwoord verzonden",
"hermesNotNow": "Niet nu",
"hermesSetUp": "Instellen",
"hermesSensitiveResponse": "Gevoelig antwoord",
"hermesResponse": "Antwoord",
"hermesSendResponse": "Antwoord verzenden",
"hermesFastTier": "Snelle laag",
"hermesFastTierOn": "Aan",
"hermesFastTierOff": "Uit",
"hermesTurnSteer": "Bijsturen",
"hermesTurnSendNext": "Volgende verzenden",
"hermesTurnControlsUnsupported": "Werk Hermes bij om veilige beurtbediening in te schakelen.",
"sidebarHermesTab": "Hermes",
"markdownShowMoreLines": "{count, plural, =1{Toon nog 1 regel} other{Toon nog {count} regels}}",
"@markdownShowMoreLines": {"placeholders":{"count":{"type":"int"}}},
"markdownShowLess": "Toon minder",
"voiceBargeIn": "Onderbreken",
"voiceBargeInDescription": "Blijft luisteren terwijl de assistent praat, zodat je hem kunt onderbreken.",
"voiceCallSpeakerOn": "Luidspreker inschakelen",
"voiceCallSpeakerOff": "Luidspreker uitschakelen",
"colorScheme": "Kleurenschema",
"channelEmptyHint": "Maak een kanaal om een groepsgesprek te starten.",
"passwordChangeDescription": "Werk je accountwachtwoord bij",
"profileDetailsSummary": "Bio, gender en verjaardag",
"notificationRequiresMaster": "Schakel meldingen in om deze instelling te wijzigen.",
"notificationRequiresSound": "Schakel geluid in om deze instelling te wijzigen.",
"enabled": "Aan",
"disabled": "Uit",
"hermesJobNew": "Nieuwe geplande taak",
"hermesJobAdminDisabled": "Taakbeheer is uitgeschakeld op deze server. Planningen zijn alleen-lezen.",
"hermesJobEmptyMessage": "Maak een geplande taak om automatisch een prompt uit te voeren.",
"hermesJobLoadFailed": "Geplande taken konden niet worden geladen. Controleer de Hermes-verbinding en probeer het opnieuw.",
"hermesJobCreateFailed": "De geplande taak kon niet worden gemaakt.",
"hermesJobCreated": "Geplande taak gemaakt.",
"hermesJobPaused": "Gepauzeerd",
"hermesJobRunNow": "Nu uitvoeren",
"hermesJobEdit": "Geplande taak bewerken",
"hermesJobDelete": "Geplande taak verwijderen",
"hermesJobResumeFailed": "De geplande taak kon niet worden hervat.",
"hermesJobPauseFailed": "De geplande taak kon niet worden gepauzeerd.",
"hermesJobResumed": "Geplande taak hervat.",
"hermesJobPausedSuccess": "Geplande taak gepauzeerd.",
"hermesJobRunFailed": "De geplande taak kon niet worden uitgevoerd.",
"hermesJobStarted": "Geplande taak gestart.",
"hermesJobUpdateFailed": "De geplande taak kon niet worden bijgewerkt.",
"hermesJobUpdated": "Geplande taak bijgewerkt.",
"hermesJobDeleteTitle": "Taak verwijderen",
"hermesJobDeleteMessage": "Deze geplande taak verwijderen? Dit kan niet ongedaan worden gemaakt.",
"hermesJobDeleteFailed": "De geplande taak kon niet worden verwijderd.",
"hermesJobDeleted": "Geplande taak verwijderd.",
"hermesJobEditorEditTitle": "Taak bewerken",
"hermesJobNameHint": "Dagelijks overzicht",
"hermesJobPromptLabel": "Prompt",
"hermesJobPromptHint": "Wat moet de agent bij elke uitvoering doen?",
"hermesJobScheduleLabel": "Planning",
"hermesJobScheduleHint": "0 9 * * * of every 2h",
"hermesJobTooLong": "Gebruik maximaal {count} tekens",
"hermesJobScheduleInvalid": "Voer een duur, interval, datum, tijd of geldige cron-planning in.",
"hermesJobScheduleHelp": "Gebruik cron (0 9 * * *), een interval (every 2h), een vertraging (30m) of een ISO-datum en -tijd.",
"hermesJobsSheetSubtitle": "Pauzeer planningen of bekijk wat hierna wordt uitgevoerd.",
"hermesJobsSheetReview": "Bekijk uitvoeringstijden en pauzeer planningen.",
"hermesJobsManageDescription": "Maak, bewerk, start of verwijder planningen.",
"hermesJobsEmptyManageHint": "Gebruik Beheren om een geplande prompt te maken.",
"hermesLastStatus": "Laatste status: {status}",
"hermesSessionUntitled": "Naamloos gesprek",
"hermesSessionFork": "Afsplitsen",
"hermesSessionRenameTitle": "Gesprek hernoemen",
"hermesSessionNameHint": "Naam van gesprek",
"hermesSessionDeleteTitle": "Gesprek verwijderen",
"hermesSessionDeleteMessage": "Dit Hermes-gesprek verwijderen? Dit kan niet ongedaan worden gemaakt.",
"hermesSessionForkFailed": "Het gesprek kon niet worden afgesplitst.",
"hermesSessionRenameFailed": "Het gesprek kon niet worden hernoemd.",
"hermesSessionDeleteFailed": "Het gesprek kon niet worden verwijderd.",
"hermesSessionLoadFailed": "Dit gesprek kon niet worden geladen. Controleer de verbinding en probeer het opnieuw.",
"hermesMemoryKeyFieldLabel": "Geheugensleutel",
"directMcpServersTitle": "MCP servers", "directMcpEmptyTitle": "No MCP servers yet", "directMcpReachabilityHelp": "Add a Streamable HTTP endpoint that this phone can reach.", "directMcpEditorTitle": "Edit MCP server", "directMcpAddTitle": "Add MCP server", "directMcpName": "Server name", "directMcpEndpoint": "Streamable HTTP endpoint", "directMcpBearerToken": "Bearer token (optional)", "directMcpCustomHeaders": "Custom headers (optional)", "directMcpCustomHeadersHint": "One per line: Name: Value", "directMcpTestConnection": "Test connection", "directMcpTesting": "Testing connection…", "directMcpTestSucceeded": "Connected — {count} tools found.", "directMcpTestFailed": "Could not list tools from this MCP server.", "directMcpSaveFailed": "Could not save this MCP server.", "directMcpLoadFailed": "Could not load MCP servers from secure storage.", "directMcpMissing": "This MCP server no longer exists.", "directMcpCredentialTransferTitle": "Use credentials with new server?", "directMcpCredentialTransferMessage": "This sends the bearer token and custom headers to the new server. Continue only if you trust it. Cancel saves the server without credentials.", "directMcpCredentialTransferConfirm": "Use credentials", "directMcpDeleteTitle": "Delete MCP server?", "directMcpDeleteMessage": "This removes {name} and its credentials from this device.", "directMcpDeleteFailed": "Could not delete this MCP server.", "directMcpAuthMode": "Authentication", "directMcpAuthNone": "None", "directMcpAuthBearer": "Bearer token", "directMcpAuthOAuth": "OAuth", "directMcpOAuthConnect": "Connect in browser", "directMcpOAuthReconnect": "Reconnect in browser", "directMcpOAuthDisconnect": "Disconnect OAuth", "directMcpOAuthPending": "Waiting for authorization in the browser…", "directMcpOAuthConnected": "OAuth connected.", "directMcpOAuthConnectionDetails": "Connected to {issuerHost} · {scopes}", "directMcpOAuthNoScopes": "No scopes reported", "directMcpOAuthConnectFailed": "Could not connect this MCP server with OAuth.", "directMcpOAuthDisconnectFailed": "Could not disconnect OAuth from this MCP server.", "directMcpApprovalTitle": "Tool approval", "directMcpApprovalAllowOnce": "Allow once", "directMcpApprovalAllowSession": "Allow for session", "directMcpApprovalAllowAlways": "Always allow", "directMcpApprovalAlwaysTitle": "Always allow this tool?", "directMcpApprovalAlwaysMessage": "{serverName} will be allowed to run {toolName} without asking again. The approval is revoked automatically if the tool schema changes.", "@directMcpApprovalAlwaysMessage": {"placeholders":{"serverName":{"type":"String"},"toolName":{"type":"String"}}}, "directMcpApprovalSaveFailed": "Could not remember this approval. You can retry or choose another option.", "directMcpApprovalDeny": "Deny", "directMcpApprovalAllowed": "Allowed once", "directMcpApprovalAllowedSession": "Allowed for session", "directMcpApprovalAllowedAlways": "Always allowed", "directMcpApprovalDenied": "Denied", "directMcpApprovalExpired": "Approval expired", "directMcpRememberedApprovalsTitle": "Always allowed tools", "directMcpRememberedApprovalsSubtitle": "These exact tools can run without asking while their server and input schema remain unchanged.", "directMcpRememberedApprovalRevoke": "Revoke", "directMcpRememberedApprovalsRevokeAll": "Revoke all", "directMcpRememberedApprovalRevokeFailed": "Could not revoke the remembered approval."
,"directMcpContentAction": "MCP content"
,"directMcpContentTitle": "MCP content"
,"directMcpContentServer": "MCP server"
,"directMcpContentSearch": "Search prompts and resources"
,"directMcpContentPrompts": "Prompts"
,"directMcpContentResources": "Resources"
,"directMcpContentEmpty": "This server has no prompts or resources."
,"directMcpContentNoMatches": "No matching prompts or resources."
,"directMcpContentLoadFailed": "Could not load content from this MCP server."
,"directMcpContentRefresh": "Refresh MCP content"
,"directMcpContentPreviewTitle": "Preview"
,"directMcpContentInsert": "Insert"
,"directMcpContentPromptHeading": "MCP prompt from {serverName}: {promptName}"
,"@directMcpContentPromptHeading": {"placeholders":{"serverName":{"type":"String"},"promptName":{"type":"String"}}}
,"directMcpContentResourceHeading": "MCP resource from {serverName}: {resourceUri}"
,"@directMcpContentResourceHeading": {"placeholders":{"serverName":{"type":"String"},"resourceUri":{"type":"String"}}}
,"directMcpContentRoleUser": "User"
,"directMcpContentRoleAssistant": "Assistant"
,"directMcpContentRequestFailed": "Could not load this MCP content. Try again."
,"directMcpContentUnsupported": "This item is binary or unsupported. Choose a text prompt or text resource."
,"directMcpContentChanged": "This item changed on the server. Refresh and choose it again."
,"directMcpContentTooLarge": "This content is too large to insert."
,"directMcpContentComposerTooLarge": "The draft and this content exceed the 256 KiB message limit. Shorten the draft or content and try again."
,"directMcpContentLoading": "Loading MCP content…"
,"directMcpInsecureCredentialsTitle": "Send credentials without encryption?"
,"directMcpInsecureCredentialsMessage": "This server uses unencrypted HTTP. Your bearer token, OAuth token, and custom headers could be read or changed on the network."
,"directMcpInsecureCredentialsConfirm": "Send without encryption"
,"hermesSessionTooLarge": "Dit gesprek is te groot om op dit apparaat te laden."
,"hermesSessionNotFound": "Dit gesprek is niet meer beschikbaar op de Hermes-server."
,"hermesSessionLoadFailedDetail": "Kan dit gesprek niet laden: {detail}"
,"@hermesSessionLoadFailedDetail": {
"placeholders": {
"detail": {
"type": "String"
}
}
}
,"directBearerDescription": "Verstuurt de inloggegevens in de header Authorization: Bearer. De meeste OpenAI-compatibele servers (llama.cpp, vLLM, LM Studio, Ollama) verwachten dit."
,"directApiKeyHeaderAzureOnlyDescription": "Verstuurt de inloggegevens in de header api-key. Gebruik dit alleen voor Azure OpenAI; andere OpenAI-compatibele servers verwachten een Bearer-token."
}