mirror of
https://github.com/cogwheel0/conduit.git
synced 2026-10-19 01:37:03 +00:00
Some checks are pending
L10n / l10n (push) Waiting to run
* 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.
3269 lines
144 KiB
Text
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."
|
|
}
|