omniroute 3.3.6 → 3.3.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/.next/BUILD_ID +1 -1
- package/app/.next/build-manifest.json +2 -2
- package/app/.next/prerender-manifest.json +3 -3
- package/app/.next/server/app/(dashboard)/dashboard/a2a/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/agents/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/api-manager/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/audit/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/audit-log/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/auto-combo/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/cache/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/costs/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/limits/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/logs/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/mcp/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/onboarding/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/search-tools/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/400/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/401/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/403/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/408/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/429/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/500/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/502/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/503/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_global-error.html +2 -2
- package/app/.next/server/app/_global-error.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/api/system/version/route.js.nft.json +1 -1
- package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/maintenance/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/offline/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/status/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__46e00e59._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__6e52619e._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__7ace0fcd._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__950558b8._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__9698d25e._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__a32d3818._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__bc251fbe._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__d5a064d5._.js +1 -1
- package/app/.next/server/chunks/_05c48915._.js +1 -1
- package/app/.next/server/chunks/_06515a8a._.js +1 -1
- package/app/.next/server/chunks/_2115d8de._.js +1 -1
- package/app/.next/server/chunks/_3ac953eb._.js +1 -1
- package/app/.next/server/chunks/_4b8fd853._.js +1 -1
- package/app/.next/server/chunks/_68683848._.js +1 -1
- package/app/.next/server/chunks/_ee9b677b._.js +1 -1
- package/app/.next/server/chunks/ssr/[root-of-the-server]__9ef96d20._.js +1 -1
- package/app/.next/server/chunks/ssr/[root-of-the-server]__a6942102._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_ar_json_e1d5145b._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_bg_json_34495a0f._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_cs_json_db6f9ebc._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_da_json_7500ed02._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_de_json_b2a40318._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_es_json_82775c4a._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_fi_json_dcc6745e._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_fr_json_fe904570._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_he_json_3e3c1e1b._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_hi_json_83a0b9e5._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_hu_json_651e00d3._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_id_json_725d4a34._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_in_json_2d7cd177._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_it_json_e23882ae._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_ja_json_fc6af4d8._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_ko_json_0ffdbdc6._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_ms_json_610df819._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_nl_json_55ad1507._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_no_json_9f484a8c._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_phi_json_871ece45._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_pl_json_79d0be4b._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_pt-BR_json_e7b9e8db._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_pt_json_2fc13a82._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_ro_json_d1a5f5ee._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_ru_json_9d7a9dfe._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_sk_json_1c5bff4a._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_sv_json_e8ae9f28._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_th_json_6ed546bd._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_tr_json_c8d78b01._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_uk-UA_json_c72cdf08._.js +1 -1
- package/app/.next/server/chunks/ssr/src_i18n_messages_vi_json_03ec9dfd._.js +1 -1
- package/app/.next/server/pages/500.html +2 -2
- package/app/.next/server/server-reference-manifest.js +1 -1
- package/app/.next/server/server-reference-manifest.json +1 -1
- package/app/.next/static/chunks/{b9999bd9d2b99bf6.js → d3c3a9266158d9b0.js} +1 -1
- package/app/CHANGELOG.md +19 -1
- package/app/docs/openapi.yaml +1 -1
- package/app/open-sse/handlers/responseTranslator.ts +1 -1
- package/app/open-sse/package.json +1 -1
- package/app/package-lock.json +3 -3
- package/app/package.json +1 -1
- package/app/src/i18n/messages/ar.json +2 -1
- package/app/src/i18n/messages/bg.json +2 -1
- package/app/src/i18n/messages/cs.json +2 -1
- package/app/src/i18n/messages/da.json +2 -1
- package/app/src/i18n/messages/de.json +2 -1
- package/app/src/i18n/messages/es.json +2 -1
- package/app/src/i18n/messages/fi.json +2 -1
- package/app/src/i18n/messages/fr.json +2 -1
- package/app/src/i18n/messages/he.json +2 -1
- package/app/src/i18n/messages/hi.json +2 -1
- package/app/src/i18n/messages/hu.json +2 -1
- package/app/src/i18n/messages/id.json +2 -1
- package/app/src/i18n/messages/in.json +2 -1
- package/app/src/i18n/messages/it.json +2 -1
- package/app/src/i18n/messages/ja.json +2 -1
- package/app/src/i18n/messages/ko.json +2 -1
- package/app/src/i18n/messages/ms.json +2 -1
- package/app/src/i18n/messages/nl.json +2 -1
- package/app/src/i18n/messages/no.json +2 -1
- package/app/src/i18n/messages/phi.json +2 -1
- package/app/src/i18n/messages/pl.json +2 -1
- package/app/src/i18n/messages/pt-BR.json +2 -1
- package/app/src/i18n/messages/pt.json +2 -1
- package/app/src/i18n/messages/ro.json +2 -1
- package/app/src/i18n/messages/ru.json +2 -1
- package/app/src/i18n/messages/sk.json +2 -1
- package/app/src/i18n/messages/sv.json +2 -1
- package/app/src/i18n/messages/th.json +2 -1
- package/app/src/i18n/messages/tr.json +2 -1
- package/app/src/i18n/messages/uk-UA.json +2 -1
- package/app/src/i18n/messages/vi.json +2 -1
- package/app/src/shared/services/opencodeConfig.ts +14 -13
- package/app/tests/unit/t40-opencode-cli-tools-integration.test.mjs +5 -5
- package/package.json +1 -1
- /package/app/.next/static/{1ny0VWnN2mDf-NnjRzXAY → NYBYaP3-LK80ViNPwi7dC}/_buildManifest.js +0 -0
- /package/app/.next/static/{1ny0VWnN2mDf-NnjRzXAY → NYBYaP3-LK80ViNPwi7dC}/_clientMiddlewareManifest.json +0 -0
- /package/app/.next/static/{1ny0VWnN2mDf-NnjRzXAY → NYBYaP3-LK80ViNPwi7dC}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[895355,a=>{a.v(JSON.parse('{"common":{"save":"Opslaan","cancel":"Annuleer","delete":"Verwijderen","loading":"Laden...","error":"Er is een fout opgetreden","success":"Succes","confirm":"Weet je het zeker?","refresh":"Vernieuwen","close":"Sluiten","add":"Toevoegen","edit":"Bewerken","search":"Zoeken","back":"Terug","next":"Volgende","submit":"Verzenden","reset":"Opnieuw instellen","copy":"Kopieer","copied":"Gekopieerd!","enabled":"Ingeschakeld","disabled":"Uitgeschakeld","active":"Actief","inactive":"Inactief","noData":"Geen gegevens beschikbaar","configure":"Configureer","manage":"Beheer","name":"Naam","actions":"Acties","status":"Status","type":"Typ","model":"Model","models":"modellen","provider":"Aanbieder","account":"Rekening","time":"Tijd","details":"Details","created":"Gemaakt","lastUsed":"Laatst gebruikt","loadMore":"Laad meer","noResults":"Geen resultaten gevonden","reloadPage":"Pagina opnieuw laden","connected":"Verbonden","disconnected":"Verbinding verbroken","notConfigured":"Niet geconfigureerd","testConnection":"Verbinding testen","enable":"Inschakelen","disable":"Uitschakelen","columns":"Kolommen","newest":"Nieuwste","oldest":"Oudste","all":"Allemaal","none":"Geen","yes":"Ja","no":"Nee","warning":"Waarschuwing","note":"Let op","free":"Gratis","skipToContent":"Ga naar de inhoud","maintenanceServerIssues":"Server is experiencing issues. Some features may be unavailable.","maintenanceServerUnreachable":"Server is unreachable. Reconnecting...","accept":"Accepteer","accountId":"Account-ID","alias":"Alias","apiKeyId":"API-sleutel-ID","apiKeyName":"API-sleutelnaam","apiKeySecret":"API-sleutelgeheim","authorization":"Autorisatie","content-type":"Inhoudstype","content-length":"Inhoud lengte","cookie":"Koekje","file":"Bestand","host":"Gastheer","id":"Identiteitskaart","import":"Importeren","limit":"Limiet","offset":"Offset","open":"Openen","origin":"Oorsprong","promptTokens":"Prompt-tokens","completionTokens":"Voltooiingstokens","totalTokens":"Totaal tokens","rawModel":"Ruw model","scope":"Reikwijdte","skill":"Vaardigheid","sortBy":"Sorteer op","sortOrder":"Sorteervolgorde","tab":"Tab","text":"Tekst","textarea":"Tekstgebied","tool":"Gereedschap","toolId":"Gereedschaps-ID","web":"Web","whereUsed":"Waar gebruikt","whitelist":"Witte lijst","blacklist":"Zwarte lijst","resolve":"Oplossen","force":"Kracht","base64url":"Base64-URL","hex":"Hex","range":"Bereik","component":"Onderdeel","redirect_uri":"Omleidings-URI","idempotency-key":"Idempotentie sleutel","error_description":"Foutbeschrijving","code":"Codeer","compatible":"Compatibel","chat-completions":"Chat-voltooiingen","oauth":"OAuth","auth_token":"Authenticatietoken","crypto":"Crypto","hours":"Uur","selfsigned":"Zelf ondertekend","proxy_id":"Proxy-ID","proxyId":"Proxy-ID","connectionId":"Verbindings-ID","resolveConnectionId":"Verbindings-ID oplossen","resolve_connection_id":"Verbindings-ID oplossen","scope_id":"Bereik-ID","scopeId":"Bereik-ID","jwtSecret":"JWT-geheim","keytar":"Keytar","better-sqlite3":"beter-sqlite3","undici":"undici","builder-id":"Bouwer-ID","musicDesc":"Muziekbeschrijving","musicGeneration":"Muziek generatie","idc":"IDC","cloud-status-changed":"Cloudstatus gewijzigd","where_used":"Waar gebruikt","windowMs":"Venster (ms)","social-github":"GitHub","social-google":"Googlen","TOOL_ALLOWLIST":"Tool Toelatingslijst","TOOL_DENYLIST":"Tool-weigerlijst","Failed to save pricing":"Kan de prijzen niet opslaan","Failed to reset pricing":"Kan de prijzen niet opnieuw instellen","apikey":"API-sleutel","http":"HTTP"},"sidebar":{"home":"Thuis","dashboard":"Dashboard","providers":"Aanbieders","combos":"Combo\'s","usage":"Gebruik","analytics":"Analyses","costs":"Kosten","health":"Gezondheid","limits":"Limieten en quota\'s","cliTools":"CLI-hulpmiddelen","media":"Media","settings":"Instellingen","translator":"Vertaler","docs":"Documenten","issues":"Problemen","apiManager":"API-beheerder","logs":"Logboeken","auditLog":"Auditlogboek","shutdown":"Afsluiten","restart":"Opnieuw opstarten","shutdownConfirm":"OmniRoute afsluiten?","restartConfirm":"OmniRoute opnieuw starten?","version":"v{version}","debug":"Foutopsporing","system":"Systeem","help":"Hulp","serverDisconnected":"Serververbinding verbroken","serverDisconnectedMsg":"De proxyserver is gestopt of wordt opnieuw opgestart.","expandSidebar":"Vouw zijbalk uit","collapseSidebar":"Zijbalk samenvouwen","themes":"Themes","presetColors":"Popular colors","createTheme":"Create theme","chooseColor":"Pick one color","themeCoral":"Coral","themeBlue":"Blue","themeRed":"Red","themeGreen":"Green","themeViolet":"Violet","themeOrange":"Orange","themeCyan":"Cyan","endpoints":"Eindpunten","playground":"Speeltuin","agents":"Agenten","cliToolsShort":"Gereedschap","autoCombo":"Auto Combo","searchTools":"Search Tools","cache":"Cache","cacheShort":"Cache"},"themesPage":{"title":"Themes","description":"Choose a preset theme or create your own with a single color","presetColors":"Popular colors","customTheme":"Custom theme","customThemeDesc":"Click create theme and pick one color","createTheme":"Create theme","activePreset":"Actief thema"},"header":{"logout":"Uitloggen","language":"Taal","providers":"Aanbieders","providerDescription":"Beheer uw AI-providerverbindingen","combos":"Combo\'s","comboDescription":"Modelcombo\'s met fallback","usage":"Gebruik en analyse","usageDescription":"Bewaak uw API-gebruik, tokenverbruik en verzoeklogboeken","analytics":"Analyses","analyticsDescription":"Grafieken, trends en evaluatie-inzichten","cliTools":"CLI-hulpmiddelen","cliToolsDescription":"Configureer CLI-tools","home":"Thuis","homeDescription":"Welkom bij OmniRoute","endpoint":"Endpoints","endpointDescription":"Manage proxy endpoints, MCP, A2A, and API endpoints","settings":"Instellingen","settingsDescription":"Beheer uw voorkeuren","openaiCompatible":"OpenAI-compatibel","anthropicCompatible":"Antropisch compatibel","media":"Media","mediaDescription":"Genereer afbeeldingen, video\'s en muziek","themes":"Themes","themesDescription":"Choose a color theme for the whole dashboard panel","mcp":"MCP","mcpDescription":"Model Context Protocol server management and tools","a2a":"A2A","a2aDescription":"Agent-to-Agent protocol tasks and observability"},"home":{"quickStart":"Snel beginnen","quickStartDesc":"In 4 stappen aan de slag. Verbind providers, routemodellen, monitor alles.","fullDocs":"Volledige documenten","step1Title":"1. Maak een API-sleutel","step1Desc":"Ga naar <endpoint>Eindpunt</endpoint> -> Geregistreerde sleutels. Genereer één sleutel per omgeving.","step2Title":"2. Verbind aanbieders","step2Desc":"Voeg accounts toe in <providers>Providers</providers>. Ondersteunt OAuth, API Key en gratis lagen.","step3Title":"3. Wijs uw klant aan","step3Desc":"Stel de basis-URL in op {url} in uw IDE- of API-client.","step4Title":"4. Monitoren en optimaliseren","step4Desc":"Houd tokens, kosten en fouten bij in <logs>Aanvraaglogboeken</logs> en <analytics>Analytics</analytics>.","providersOverview":"Overzicht aanbieders","configuredOf":"{configured} geconfigureerd van {total} beschikbare providers","noModelsAvailable":"Er zijn geen modellen beschikbaar voor deze aanbieder.","configureFirst":"Configureer eerst een verbinding in {providers}","configureProvider":"Configureer aanbieder","modelAvailable":"{count} model beschikbaar","modelsAvailable":"{count} modellen beschikbaar","connectionsActive":"{count} verbinding actief","connectionsActivePlural":"{count} verbindingen actief","copyModelName":"Kopieer de modelnaam","documentation":"Documentatie","healthMonitor":"Gezondheidsmonitor","reportIssue":"Probleem melden","activeError":"{active} actief · {errors} fout","oauthLabel":"OAuth","apiKeyLabel":"API-sleutel","requestsShort":"{count} vereisten","providerModelsTitle":"{provider} - Modellen","copiedModel":"Gekopieerd: {model}","aliasLabel":"alias","updateNow":"Nu bijwerken","updating":"Updaten...","updateAvailableDesc":"Er is een nieuwe versie beschikbaar. Klik om bij te werken.","updateStarted":"Update gestart..."},"analytics":{"title":"Analyses","overviewDescription":"Houd toezicht op uw API-gebruikspatronen, tokenverbruik, kosten en activiteitstrends voor alle providers en modellen.","evalsDescription":"Voer evaluatiesuites uit om uw LLM-eindpunten te testen en te valideren. Vergelijk de modelkwaliteit, detecteer regressies en benchmark de latentie.","overview":"Overzicht","evals":"Evals"},"apiManager":{"title":"API-sleutels","createKey":"Maak een API-sleutel","key":"Sleutel","revokeKey":"Sleutel intrekken","revokeConfirm":"Weet u zeker dat u deze API-sleutel wilt intrekken?","noKeys":"Nog geen API-sleutels","noKeysDesc":"Maak uw eerste API-sleutel om verzoeken aan uw eindpunt te verifiëren","keyLabel":"Sleutellabel","permissions":"Machtigingen","expiresAt":"Verloopt","never":"Nooit","revoke":"Intrekken","showKey":"Toon sleutel","hideKey":"Sleutel verbergen","copyKey":"Kopieer API-sleutel","allModels":"Alle modellen","selectedModels":"Geselecteerde modellen","readOnly":"Alleen lezen","fullAccess":"Volledige toegang","keyManagement":"API-sleutelbeheer","keyManagementDesc":"Maak en beheer API-sleutels voor het verifiëren van verzoeken aan uw eindpunt","totalKeys":"Totaal aantal sleutels","restricted":"Beperkt","totalRequests":"Totaal aantal verzoeken","modelsAvailable":"Modellen beschikbaar","registeredKeys":"Geregistreerde sleutels","keysRegistered":"{count} sleutels geregistreerd","keyRegistered":"{count} sleutel geregistreerd","keysSecurityNote":"Elke sleutel isoleert het volgen van het gebruik en kan onafhankelijk worden ingetrokken. Om veiligheidsredenen worden sleutels na het aanmaken gemaskeerd.","createFirstKey":"Maak uw eerste sleutel","name":"Naam","usage":"Gebruik","created":"Gemaakt","actions":"Acties","reqs":"verzoek","neverUsed":"Nooit gebruikt","deleteConfirm":"Deze API-sleutel verwijderen?","usageTips":"Gebruikstips","tipAuth":"Gebruik API-sleutels in de Authorization-header als Bearer YOUR_KEY","tipSecure":"Sleutels worden tijdens het aanmaken slechts één keer getoond. Bewaar ze veilig","tipSeparate":"Maak afzonderlijke sleutels voor verschillende klanten of omgevingen","tipRestrict":"Beperk sleutels tot specifieke modellen voor betere beveiliging en kostenbeheersing","keyName":"Sleutelnaam","keyNamePlaceholder":"bijvoorbeeld productiesleutel, ontwikkelingssleutel","keyNameDesc":"Kies een beschrijvende naam om het doel van deze sleutel te identificeren","keyCreated":"API-sleutel gemaakt","keyCreatedSuccess":"Sleutel succesvol aangemaakt!","keyCreatedNote":"Kopieer en bewaar deze sleutel nu. Deze wordt niet meer weergegeven.","done":"Klaar","savePermissions":"Bewaar machtigingen","allowAll":"Alles toestaan","restrict":"Beperken","allowAllInfo":"Met deze sleutel heeft u toegang tot alle beschikbare modellen.","restrictInfo":"Deze sleutel heeft toegang tot {selected} van {total} modellen.","selected":"{count} geselecteerd","all":"Allemaal","clear":"Duidelijk","searchModels":"Zoek modellen op naam of aanbieder...","noModelsFound":"Geen modellen gevonden","keyNameRequired":"Sleutelnaam is vereist","keyNameTooLong":"De sleutelnaam mag maximaal {max} tekens bevatten","keyNameInvalid":"De sleutelnaam mag alleen letters, cijfers, spaties, koppeltekens en onderstrepingstekens bevatten","invalidKeyName":"Ongeldige sleutelnaam","failedCreateKey":"Kan sleutel niet maken","failedCreateKeyRetry":"Kan sleutel niet maken. Probeer het opnieuw.","invalidKeyId":"Ongeldige sleutel-ID","failedDeleteKey":"Kan de sleutel niet verwijderen","failedDeleteKeyRetry":"Kan de sleutel niet verwijderen. Probeer het opnieuw.","invalidModelsSelection":"Ongeldige modellenselectie","cannotSelectMoreThanModels":"Kan niet meer dan {max} modellen selecteren","failedUpdatePermissions":"Kan rechten niet updaten","failedUpdatePermissionsRetry":"Kan rechten niet updaten. Probeer het opnieuw.","unknownProvider":"onbekend","copyMaskedKey":"Kopieer gemaskeerde sleutel","modelsCount":"{count, plural, one {# model} other {# models}}","lastUsedOn":"Laatste: {date}","editPermissions":"Machtigingen bewerken","deleteKey":"Sleutel verwijderen","model":"{count}-model","models":"{count} modellen","permissionsTitle":"Machtigingen: {name}","allowAllDesc":"Met deze sleutel heeft u toegang tot alle beschikbare modellen.","restrictDesc":"Deze sleutel heeft toegang tot {selectedCount} van {totalModels} modellen.","selectedCount":"{count} geselecteerd","autoResolve":"Auto-Resolve","autoResolveDesc":"Auto-resolve ambiguous model names to native provider for this API key.","keyActive":"Key Active","keyActiveDesc":"Enable or disable this API key. Disabled keys are immediately rejected with 403.","accessSchedule":"Access Schedule","accessScheduleDesc":"Restrict access to specific hours and days of the week.","scheduleFrom":"From","scheduleUntil":"Until","scheduleDays":"Days","scheduleTimezone":"Timezone","scheduleTimezoneHint":"Use IANA timezone names, e.g. America/New_York, Europe/Berlin","scheduleActive":"Schedule","disabled":"Disabled","daySun":"Sun","dayMon":"Mon","dayTue":"Tue","dayWed":"Wed","dayThu":"Thu","dayFri":"Fri","daySat":"Sat","keyOnlyAvailableAtCreation":"Full key available only at creation time — copy it when you first create the key"},"auditLog":{"title":"Auditlogboek","searchPlaceholder":"Zoekacties...","action":"Actie","actor":"Acteur","target":"Doel","ipAddress":"IP-adres","timestamp":"Tijdstempel","noEntries":"Geen auditgegevens gevonden","filterByAction":"Filter op actie...","filterByActor":"Filter op acteur...","filterEntriesAria":"Filter auditlogboekvermeldingen","filterByActionTypeAria":"Filter op actietype","filterByActorAria":"Filter op acteur","refreshAuditLogAria":"Vernieuw het auditlogboek","tableAria":"Auditlogboekvermeldingen","failedFetchAuditLog":"Kan het auditlogboek niet ophalen","notAvailable":"—","description":"Administratieve acties en beveiligingsgebeurtenissen","showing":"{count} items tonen (offset {offset})","previous":"Vorige"},"media":{"title":"Media-werkplaats","subtitle":"Genereer afbeeldingen, video’s en muziek","model":"Model","prompt":"Prompt","generate":"Genereren","generating":"Generating...","loadingModels":"Loading available models...","noModels":"No models available. Configure providers with media capabilities first.","error":"Generation Failed","result":"Result","imageDescription":"Generate images from text prompts using OpenAI, xAI, Together, Hyperbolic, SD WebUI, ComfyUI and more.","videoDescription":"Create videos with AnimateDiff, Stable Video Diffusion via ComfyUI or SD WebUI.","musicDescription":"Compose music using Stable Audio Open or MusicGen via ComfyUI."},"cliTools":{"title":"CLI-hulpmiddelen","noActiveProviders":"Geen actieve aanbieders","noActiveProvidersDesc":"Voeg eerst providers toe en verbind ze om CLI-tools te configureren.","mapModels":"Kaartmodellen","testConnection":"Verbinding testen","connectionStatus":"Verbindingsstatus","configureEndpoint":"Eindpunt configureren","instructions":"Instructies","modelMapping":"Modeltoewijzing","baseUrl":"Basis-URL","apiKey":"API-sleutel","configured":"Geconfigureerd","notConfigured":"Niet geconfigureerd","notInstalled":"Niet geïnstalleerd","custom":"Aangepast","unknown":"Onbekend","lastSavedAt":"Laatst opgeslagen: {date}","never":"Nooit","justNow":"zojuist","minutesAgoShort":"{count}m geleden","hoursAgoShort":"{count}u geleden","daysAgoShort":"{count}d geleden","monthsAgoShort":"{count}mo geleden","yearsAgoShort":"{count}y geleden","runtimeCheckFailed":"Runtimecontrole is mislukt","yourApiKeyPlaceholder":"jouw-api-sleutel","modelPlaceholder":"provider/model-id","configurationSaved":"Configuratie succesvol opgeslagen.","failedToSave":"Kan configuratie niet opslaan.","noApiKeysCreateOne":"Geen API-sleutels - Maak er een op de pagina Sleutels","defaultOmnirouteKey":"sk_omniroute (standaard)","selectModel":"Selecteer Model","selectModelForAlias":"Selecteer model voor {alias}","selectModelForTool":"Selecteer model voor {tool}","select":"Selecteer","clear":"Duidelijk","comingSoon":"Binnenkort beschikbaar","checkingRuntime":"Runtimestatus controleren...","guideOnlyIntegration":"Alleen-gids-integratie (geen lokale runtime vereist)","cliRuntimeDetected":"CLI-runtime gedetecteerd en gereed","cliFoundNotRunnable":"CLI gevonden maar niet uitvoerbaar{reason}","cliRuntimeNotDetected":"CLI-runtime niet gedetecteerd","binary":"Binair","configPath":"Configuratiepad","configPathShort":"Configuratie","failedCheckRuntimeStatus":"Kan de runtimestatus niet controleren.","copy":"Kopieer","copied":"Gekopieerd","copyConfig":"Kopieer configuratie","saveConfig":"Configuratie opslaan","selectionSaved":"Selectie opgeslagen","guide":"Gids","detected":"Gedetecteerd","notReady":"Niet klaar","active":"Actief","inactive":"Inactief","startMitm":"MITM starten","stopMitm":"Stop MITM","mitmStarted":"MITM is succesvol gestart!","mitmStopped":"MITM is succesvol gestopt!","failedStart":"Kan MITM niet starten","failedStop":"Kan MITM niet stoppen","saveMappings":"Bewaar toewijzingen","mappingsSaved":"Kaarten opgeslagen!","failedSaveMappings":"Kan toewijzingen niet opslaan","howItWorks":"Hoe het werkt:","antigravityHowWorksDesc":"Antigravity stuurt verzoeken naar het eindpunt van Google. MITM onderschept ze en stuurt ze door naar OmniRoute.","antigravityStep1":"1. Start MITM om aanvragen via OmniRoute te routeren.","antigravityStep2Prefix":"2. Toevoegen","antigravityStep2Suffix":"naar uw hosts-bestand als 127.0.0.1.","antigravityStep3":"3. Open Antigravity en verzoeken zullen worden geproxyd.","sudoPasswordRequiredTitle":"Sudo-wachtwoord vereist","sudoPasswordHint":"Het beheerderswachtwoord is vereist om de hosts-bestand- en systeemproxy-instellingen te wijzigen.","enterSudoPassword":"Voer het sudo-wachtwoord in","sudoPasswordRequiredError":"Sudo-wachtwoord is vereist.","cancel":"Annuleer","confirm":"Bevestig","settingsApplied":"Instellingen succesvol toegepast!","failedApplySettings":"Kan instellingen niet toepassen","settingsReset":"Instellingen opnieuw ingesteld!","failedResetSettings":"Kan de instellingen niet resetten","backupRestored":"Back-up hersteld!","failedRestore":"Herstellen is mislukt","checkingCli":"{tool} CLI controleren...","cliNotRunnable":"{tool} CLI geïnstalleerd maar kan niet worden uitgevoerd","cliNotInstalled":"{tool} CLI niet geïnstalleerd","cliNotDetected":"{tool} CLI niet gedetecteerd","cliDetectedReady":"{tool} CLI gedetecteerd en gereed","cliFoundFailedHealthcheck":"{tool} CLI is gevonden, maar de runtime-gezondheidscontrole{reason} is mislukt.","installCliPrompt":"Installeer {tool} CLI om deze functie te gebruiken.","installCodexPrompt":"Installeer Codex CLI om de functie voor automatisch toepassen te gebruiken.","hide":"Verbergen","howToInstall":"Hoe te installeren","installationGuide":"Installatiehandleiding","platforms":"macOS/Linux/Windows:","afterInstallationRun":"Na de installatie uitvoeren","toVerify":"verifiëren.","current":"Huidig","baseUrlPlaceholder":"https://.../v1","resetToDefault":"Resetten naar standaard","providerModelPlaceholder":"provider/model-id","apply":"Toepassen","reset":"Opnieuw instellen","manualConfig":"Handmatige configuratie","backups":"Back-ups","configBackups":"Back-ups configureren","noBackupsYet":"Nog geen back-ups. Er worden automatisch back-ups gemaakt vóór elke toepassing of reset.","restore":"Herstellen","backupRestoredReloading":"Back-up hersteld! Status herladen...","failedRestoreBackup":"Kan back-up niet herstellen","applied":"Toegepast!","failed":"Mislukt","resetDone":"Opnieuw instellen!","omnirouteConfiguredOpenAiCompatible":"OmniRoute is geconfigureerd als OpenAI-compatibele provider","provider":"Aanbieder","model":"Model","providers":"Aanbieders","auth":"Aut","noApiKeysAvailable":"Geen API-sleutels beschikbaar","usingDefaultOmniroute":"Standaard gebruiken: sk_omniroute","updateConfig":"Configuratie bijwerken","applyConfig":"Configuratie toepassen","noBackupsAvailable":"Geen back-ups beschikbaar.","profileSaved":"Profiel \\"{name}\\" opgeslagen!","failedSaveProfile":"Kan profiel niet opslaan","profileActivated":"Profiel geactiveerd!","failedActivateProfile":"Kan profiel niet activeren","profiles":"Profielen","savedProfiles":"Opgeslagen profielen","noProfilesYet":"Nog geen profielen opgeslagen. Sla de huidige configuratie op als profiel hieronder.","activate":"Activeer","deleteProfile":"Profiel verwijderen","profileNamePlaceholder":"Profielnaam (bijv. Persoonlijk account)","saveCurrent":"Bewaar huidige","codexAuthNotePrefix":"Codex-gebruik","codexAuthNoteMiddle":"met","codexAuthNoteSuffix":"Klik op \\"Toepassen\\" om automatisch te configureren.","claudeManualConfiguration":"Claude CLI - Handmatige configuratie","codexManualConfiguration":"Codex CLI - Handmatige configuratie","droidManualConfiguration":"Factory Droid - Handmatige configuratie","openClawManualConfiguration":"Open Claw - Handmatige configuratie","clineManualConfiguration":"Cline handmatige configuratie","kiloManualConfiguration":"Kilocode handmatige configuratie","toolDescriptions":{"antigravity":"Google Antigravity IDE met MITM","claude":"Antropische Claude Code CLI","codex":"OpenAI Codex-CLI","droid":"Factory Droid AI-assistent","openclaw":"Open Claw AI-assistent","cline":"Cline AI Coderingsassistent CLI","kilo":"Kilocode AI Assistent CLI","cursor":"Cursor AI-code-editor","continue":"Ga door met AI-assistent","opencode":"OpenCode AI coding agent (Terminal)","kiro":"Amazon Kiro — AI-powered IDE","windsurf":"Windsurf AI Code Editor","copilot":"GitHub Copilot AI Assistant"},"guides":{"cursor":{"notes":{"0":"Vereist Cursor Pro-account om deze functie te gebruiken.","1":"Cursor routeert verzoeken via zijn eigen server, dus lokaal eindpunt wordt niet ondersteund. Schakel Cloud Endpoint in via Instellingen."},"steps":{"1":{"title":"Instellingen openen","desc":"Ga naar Instellingen -> Modellen"},"2":{"title":"Schakel de OpenAI-API in","desc":"Schakel de optie \\"OpenAI API-sleutel\\" in"},"3":{"title":"Basis-URL"},"4":{"title":"API-sleutel"},"5":{"title":"Aangepast model toevoegen","desc":"Klik op \'Alle modellen bekijken\' -> \'Aangepast model toevoegen\'"},"6":{"title":"Selecteer Model"}}},"continue":{"steps":{"1":{"title":"Configuratie openen","desc":"Open het configuratiebestand Doorgaan"},"2":{"title":"API-sleutel"},"3":{"title":"Selecteer Model"},"4":{"title":"Modelconfiguratie toevoegen","desc":"Voeg de volgende configuratie toe aan uw modellenarray:"}},"notes":{"0":"Doorgaan gebruikt het JSON-configuratiebestand."}},"opencode":{"steps":{"1":{"title":"Install OpenCode","desc":"Install via npm: npm install -g opencode-ai"},"2":{"title":"API Key"},"3":{"title":"Set Base URL","desc":"opencode config set baseUrl {{baseUrl}}"},"4":{"title":"Select Model"}},"notes":{"0":"OpenCode vereist API-sleutelconfiguratie.","1":"Stel de basis-URL in op uw OmniRoute-eindpunt."}},"kiro":{"steps":{"1":{"title":"Open Kiro Settings","desc":"Go to Settings → AI Provider"},"2":{"title":"Base URL","desc":"Paste your OmniRoute endpoint URL"},"3":{"title":"API Key"},"4":{"title":"Select Model"}},"notes":{"0":"Voor Kiro is een Amazon-account vereist."}}},"mitmHowWorksDesc":"{toolName} sends requests to its provider endpoint. MITM intercepts and redirects them to OmniRoute.","mitmStep1":"1. Start MITM to route requests through OmniRoute.","mitmStep2Prefix":"2. Add","mitmStep2Suffix":"to your hosts file as 127.0.0.1.","mitmStep3":"3. Open {toolName} and requests will be proxied.","whenToUseLabel":"Wanneer te gebruiken","openToolDocs":"Gereedschapsdocumentatie openen","toolUseCases":{"claude":"Gebruik deze optie als u krachtige planningsworkflows en lange refactoren van meerdere bestanden wilt met Claude Code.","codex":"Gebruik wanneer uw team is gestandaardiseerd op OpenAI Codex CLI-stromen en op profielen gebaseerde authenticatie.","droid":"Gebruik deze wanneer u een lichtgewicht terminalagent nodig heeft die zich richt op snelle codering en opdrachtuitvoeringslussen.","openclaw":"Gebruik dit wanneer u een codeeragent in Open Claw-stijl wilt, maar gerouteerd via OmniRoute-beleid.","cline":"Gebruik deze optie wanneer u codeeragenten in editors configureert en begeleide installatie wilt met OmniRoute-modellen.","kilo":"Gebruik dit wanneer uw workflow afhankelijk is van Kilo Code-opdrachten en snelle iteratieve bewerkingen.","cursor":"Gebruik dit bij het coderen in Cursor en u hebt aangepaste OpenAI-compatibele modellen nodig via OmniRoute.","continue":"Gebruik dit wanneer u Doorgaan in IDE\'s uitvoert en u een draagbare, op JSON gebaseerde providerconfiguratie nodig hebt.","opencode":"Gebruik dit wanneer u de voorkeur geeft aan terminal-native agentruns en scriptautomatisering via OpenCode.","kiro":"Te gebruiken bij het integreren van Kiro en het centraal beheren van modelrouting vanuit OmniRoute.","antigravity":"Gebruik wanneer Antigravity/Kiro-verkeer moet worden onderschept via MITM en naar OmniRoute moet worden gerouteerd.","copilot":"Gebruik wanneer u UX in Copilot-chatstijl wilt terwijl u OmniRoute-sleutels en routeringsregels afdwingt."}},"combos":{"title":"Combo\'s","description":"Creëer modelcombinaties met gewogen routing en fallback-ondersteuning","createCombo":"Combinatie maken","editCombo":"Combinatie bewerken","deleteCombo":"Combinatie verwijderen","noModels":"Geen modellen","noModelsYet":"Er zijn nog geen modellen toegevoegd","addModel":"Model toevoegen","addModelToCombo":"Model toevoegen aan combo","routingStrategy":"Routeringsstrategie","maxRetries":"Maximaal aantal nieuwe pogingen","timeout":"Time-out (ms)","healthcheck":"Gezondheidscontrole","priority":"Prioriteit","fallback":"Terugval","roundRobin":"Ronde Robin","random":"Willekeurig","leastLatency":"Minste latentie","comboName":"Combinatienaam","comboNamePlaceholder":"mijn-combo","deleteConfirm":"Deze combinatie verwijderen?","noCombosYet":"Nog geen combo\'s","comboCreated":"Combinatie is succesvol aangemaakt","comboUpdated":"Combo is succesvol bijgewerkt","comboDeleted":"Combinatie verwijderd","failedCreate":"Kan combo niet maken","failedUpdate":"Kan combo niet updaten","errorCreating":"Fout bij maken van combo","errorUpdating":"Fout bij updaten van combo","errorDeleting":"Fout bij verwijderen van combo","testFailed":"Testverzoek is mislukt","failedToggle":"Kan combo niet schakelen","testResults":"Testresultaten — {name}","resolvedBy":"Opgelost door:","more":"+{count} meer","reqs":"verzoek","success":"succes","proxyConfigured":"Proxy geconfigureerd","copyComboName":"Kopieer de combonaam","enableCombo":"Combinatie inschakelen","disableCombo":"Combinatie uitschakelen","testCombo":"Combinatie testen","duplicate":"Duplicaat","proxyConfig":"Proxy-configuratie","nameRequired":"Naam is vereist","nameInvalid":"Alleen letters, cijfers, -, _, / en . toegestaan","nameHint":"Letters, cijfers, -, _, / en . toegestaan","priorityDesc":"Sequentiële fallback: probeert eerst model 1, dan 2, etc.","weightedDesc":"Verdeelt verkeer op basis van gewichtspercentage met terugval","roundRobinDesc":"Circulaire distributie: elke aanvraag gaat roulerend naar het volgende model","randomDesc":"Uniforme willekeurige selectie en vervolgens terugvallen op de resterende modellen","leastUsedDesc":"Kiest het model met de minste verzoeken, waarbij de belasting in de loop van de tijd wordt verdeeld","costOptimizedDesc":"Routes eerst naar het goedkoopste model op basis van prijzen","strictRandom":"Strict Random","strictRandomDesc":"Shuffle deck — uses each model once before reshuffling","models":"Modellen","autoBalance":"Automatische balans","advancedSettings":"Geavanceerde instellingen","retryDelay":"Vertraging opnieuw proberen (ms)","concurrencyPerModel":"Gelijktijdigheid / model","queueTimeout":"Wachtrijtime-out (ms)","advancedHint":"Laat leeg om globale standaardwaarden te gebruiken. Deze overschrijven de instellingen per provider.","moveUp":"Ga omhoog","moveDown":"Ga naar beneden","removeModel":"Verwijderen","saving":"Opslaan...","weighted":"Gewogen","leastUsed":"Minst gebruikt","costOpt":"Kosten-opt","strategyGuideTitle":"Hoe deze strategie te gebruiken","strategyGuideWhen":"Wanneer te gebruiken","strategyGuideAvoid":"Vermijd wanneer","strategyGuideExample":"Voorbeeld","strategyGuide":{"priority":{"when":"U heeft één voorkeursmodel en wilt alleen terugvallen op mislukkingen.","avoid":"You need request distribution across models.","example":"Primary coding model with cheaper backup for outages."},"weighted":{"when":"You need controlled traffic split across models.","avoid":"You cannot maintain accurate weights over time.","example":"80% stable model + 20% canary model rollout."},"round-robin":{"when":"You want predictable and even distribution.","avoid":"Models differ too much in latency or cost.","example":"Same model on multiple accounts to spread throughput."},"random":{"when":"You want simple distribution with minimal setup.","avoid":"You need strict traffic guarantees.","example":"Quick prototyping with equivalent models."},"least-used":{"when":"You want adaptive balancing based on live demand.","avoid":"Traffic is too low to benefit from usage balancing.","example":"Mixed workloads where one model often gets overloaded."},"cost-optimized":{"when":"Cost reduction is your top priority.","avoid":"Pricing data is missing or outdated.","example":"Background or batch jobs where lower cost is preferred."}},"advancedHelp":{"maxRetries":"How many retries are attempted before failing a request.","retryDelay":"Initial wait between retries. Higher values reduce burst pressure.","timeout":"Maximum request duration before aborting.","healthcheck":"Skips unhealthy models/providers from routing decisions.","concurrencyPerModel":"Max simultaneous requests allowed per model in round-robin.","queueTimeout":"How long a request can wait in queue before timing out."},"templatesTitle":"Quick templates","templatesDescription":"Apply a starting profile, then adjust models and config.","templateApply":"Apply template","templateHighAvailability":"High availability","templateHighAvailabilityDesc":"Priority routing with health checks and safe retries.","templateCostSaver":"Cost saver","templateCostSaverDesc":"Cost-optimized routing for budget-first workloads.","templateBalanced":"Balanced load","templateBalancedDesc":"Least-used routing to spread demand over time.","usageGuideHide":"Hide","usageGuideDontShowAgain":"Don\'t show again","usageGuideShow":"Show guide","quickTestTitle":"Combo ready to validate","quickTestDescription":"Run a test now to confirm fallback and latency behavior.","testNow":"Test now","pricingCoverage":"Pricing coverage","pricingCoverageHint":"Cost-optimized works best when all combo models have pricing.","pricingAvailable":"Pricing available","pricingMissing":"No pricing","pricingAvailableShort":"priced","pricingMissingShort":"no-price","warningRoundRobinSingleModel":"Round-robin is most useful with at least 2 models.","warningCostOptimizedPartialPricing":"Only {priced} of {total} models have pricing. Routing may be partially cost-aware.","warningCostOptimizedNoPricing":"No pricing data found for this combo. Cost-optimized may route unexpectedly.","readinessTitle":"Klaar om te besparen?","readinessDescription":"Bekijk de checklist voordat u deze combo maakt of bijwerkt.","readinessCheckName":"Combinatienaam is geldig","readinessCheckModels":"Er is minimaal één model geselecteerd","readinessCheckWeights":"Gewogen totaal is 100%","readinessCheckWeightsOptional":"Gewichtsregel niet vereist","readinessCheckPricing":"Er zijn prijsgegevens beschikbaar","readinessCheckPricingOptional":"Prijsregel is niet vereist","saveBlockedTitle":"Opslaan is geblokkeerd totdat de volgende items zijn opgelost:","saveBlockName":"Definieer een combonaam.","saveBlockModels":"Voeg ten minste één model toe.","saveBlockWeighted":"Stel de gewichten in op 100% (huidig: {total}%).","saveBlockPricing":"Voeg prijzen toe voor ten minste één model of kies een andere strategie.","recommendationsLabel":"Recommended setup","applyRecommendations":"Apply recommendations","recommendationsUpdated":"Recommendations updated for {strategy}.","recommendationsApplied":"Recommendations applied to this combo.","strategyRecommendations":{"priority":{"title":"Fail-safe baseline","description":"Use one primary model and keep fallback chain short and reliable.","tip1":"Put your most reliable model first.","tip2":"Keep 1-2 backup models with similar quality.","tip3":"Use safe retries to absorb transient provider failures."},"weighted":{"title":"Controlled traffic split","description":"Great for canary rollouts and gradual migration between models.","tip1":"Start with conservative split like 90/10.","tip2":"Keep the total at 100% and auto-balance after changes.","tip3":"Monitor success and latency before increasing canary weight."},"round-robin":{"title":"Predictable load sharing","description":"Best when models are equivalent and you need smooth distribution.","tip1":"Use at least 2 models.","tip2":"Set concurrency limits to avoid burst overload.","tip3":"Use queue timeout to fail fast under saturation."},"random":{"title":"Quick spread with low setup","description":"Use when you need simple distribution without strict guarantees.","tip1":"Use models with similar latency profiles.","tip2":"Keep retries enabled to absorb random misses.","tip3":"Prefer this for experimentation, not strict SLAs."},"least-used":{"title":"Adaptive balancing","description":"Routes to less-used models to reduce hotspots over time.","tip1":"Works better under continuous traffic.","tip2":"Combine with health checks for safer balancing.","tip3":"Track per-model usage to validate distribution gains."},"cost-optimized":{"title":"Budget-first routing","description":"Routes to lower-cost models when pricing metadata is available.","tip1":"Ensure pricing coverage for all selected models.","tip2":"Keep a quality fallback for hard prompts.","tip3":"Use for batch/background jobs where cost is the main KPI."}},"templateFreeStack":"Free Stack ($0)","templateFreeStackDesc":"Round-robin across all free providers: Kiro (Claude), iFlow (5 models), Qwen (4 models), Gemini CLI. Zero cost, never stops coding."},"costs":{"title":"Kosten","budget":"Begroting","totalCost":"Totale kosten","breakdown":"Kostenverdeling","noData":"Geen kostengegevens","byModel":"Per model","byProvider":"Door aanbieder"},"endpoint":{"title":"API-eindpunt","available":"Beschikbare eindpunten","cloudProxy":"Cloud-proxy","disableConfirm":"Weet u zeker dat u cloudproxy wilt uitschakelen?","baseUrl":"Basis-URL","apiKeyLabel":"API-sleutel","registeredKeys":"Geregistreerde sleutels","chatCompletions":"Chat-voltooiingen","responses":"Reacties","listModels":"Lijstmodellen","usingCloudProxy":"Cloudproxy gebruiken","usingLocalServer":"Lokale server gebruiken","machineId":"Machine-ID: {id}...","disableCloud":"Schakel Cloud uit","enableCloud":"Schakel Cloud in","modelsAcrossEndpoints":"{models} modellen voor {endpoints} eindpunten","chatDesc":"Streaming & non-streaming chat met alle providers","embeddings":"Inbedding","embeddingsDesc":"Tekstinsluitingen voor zoek- en RAG-pijplijnen","imageGeneration":"Beeld genereren","imageDesc":"Genereer afbeeldingen op basis van tekstprompts","rerank":"Herschikken","rerankDesc":"Herschik documenten op relevantie voor een zoekopdracht","audioTranscription":"Audiotranscriptie","audioTranscriptionDesc":"Audiobestanden omzetten naar tekst (Whisper)","textToSpeech":"Tekst naar spraak","textToSpeechDesc":"Converteer tekst naar natuurlijk klinkende spraak","moderations":"Moderaties","moderationsDesc":"Contentmoderatie en veiligheidsclassificatie","responsesDesc":"OpenAI Responses API for Codex and advanced agentic workflows","listModelsDesc":"List all available models across all connected providers","settingsApiDesc":"Read and modify OmniRoute configuration via API","settingsApi":"Settings API","categoryCore":"Kern-API\'s","categoryMedia":"Media & Multi-Modaal","categoryUtility":"Hulpmiddelen & Beheer","enableCloudTitle":"Schakel Cloudproxy in","whatYouGet":"Wat je krijgt","cloudBenefitAccess":"Krijg overal ter wereld toegang tot uw API","cloudBenefitShare":"Deel het eindpunt eenvoudig met uw team","cloudBenefitPorts":"U hoeft geen poorten te openen of een firewall te configureren","cloudBenefitEdge":"Snel wereldwijd edge-netwerk","cloudSessionNote":"Cloud bewaart uw authentificatiesessie gedurende 1 dag. Als het niet wordt gebruikt, wordt het automatisch verwijderd.","cloudUnstableNote":"De cloud is momenteel in sommige gevallen instabiel met Claude Code OAuth.","cloudConnected":"Cloudproxy verbonden!","connectingToCloud":"Verbinding maken met de cloud...","verifyingConnection":"Verbinding verifiëren...","connecting":"Verbinden...","verifying":"Verifiëren...","connected":"Verbonden!","disableCloudTitle":"Schakel Cloudproxy uit","disableWarning":"Alle authentificatiesessies worden uit de cloud verwijderd.","syncingData":"Laatste gegevens synchroniseren...","disablingCloud":"Cloud uitschakelen...","syncing":"Synchroniseren...","disabling":"Uitschakelen...","cloudConnectedVerified":"Cloud Proxy verbonden en geverifieerd!","connectedVerificationPending":"Verbonden - verificatie in behandeling","connectedVerificationPendingWithError":"Verbonden — verificatie in behandeling: {error}","cloudDisabledSuccess":"Cloud is succesvol uitgeschakeld","syncedSuccess":"Gesynchroniseerd","failedDisable":"Kan de cloud niet uitschakelen","failedEnable":"Kan cloud niet inschakelen","cloudRequestTimeout":"Time-out van cloudverzoek","cloudRequestFailed":"Cloudverzoek mislukt","cloudWorkerUnreachable":"Kon de cloudwerker niet bereiken. Zorg ervoor dat de cloudservice actief is (npm run dev in /cloud).","connectionFailed":"Verbinding mislukt","syncFailed":"Synchroniseren van cloudgegevens is mislukt","providerModelsTitle":"{provider} — Modellen","noModelsForProvider":"Er zijn geen modellen beschikbaar voor deze aanbieder.","chat":"Chatten","embedding":"Inbedding","image":"Afbeelding","custom":"gewoonte","modelsCount":"{count, plural, one {# model} other {# models}}","sectionTitle":"Integration Surface","sectionDescription":"OpenAI-compatible APIs and operational protocol endpoints","tabApis":"OpenAI-compatible APIs","tabProtocols":"Protocols","tabsAria":"Endpoint sections","protocolsTitle":"Protocols","protocolsDescription":"MCP and A2A are first-class endpoints with dedicated observability and controls.","mcpCardTitle":"MCP Server","mcpCardDescription":"Model Context Protocol over stdio","a2aCardTitle":"A2A Server","a2aCardDescription":"Agent2Agent JSON-RPC endpoint","protocolToolsLabel":"Tools","protocolTasksLabel":"Tasks","protocolActiveStreamsLabel":"Active streams","protocolLastActivity":"Last activity","quickStart":"Quick Start","openMcpDashboard":"Open MCP management","openA2aDashboard":"Open A2A management","mcpQuickStartTitle":"MCP Quick Start","mcpQuickStartStep1":"Run the MCP server via `omniroute --mcp`.","mcpQuickStartStep2":"Configure your MCP client to connect over stdio transport.","mcpQuickStartStep3":"Invoke tools such as `omniroute_get_health` and `omniroute_list_combos`.","a2aQuickStartTitle":"A2A Quick Start","a2aQuickStartStep1":"Discover the agent card at `/.well-known/agent.json`.","a2aQuickStartStep2":"Send JSON-RPC requests to `POST /a2a` using `message/send` or `message/stream`.","a2aQuickStartStep3":"Track and control tasks using `tasks/get` and `tasks/cancel`.","completionsLegacy":"Completions (Legacy)","completionsLegacyDesc":"Legacy OpenAI text completions — accepts both prompt string and messages array format","categorySearch":"Search & Discovery","webSearch":"Web Search","webSearchDesc":"Unified web search across multiple providers with automatic failover and caching","searchProvider":"Search Provider","searchProviderDesc":"This provider is used for web search via POST /v1/search. No model configuration needed — search providers are ready to use once an API key is connected."},"mcpDashboard":{"loading":"Loading MCP dashboard...","activate":"activate","deactivate":"deactivate","confirmSwitchCombo":"Confirm {action} combo \\"{combo}\\"?","switchComboFailed":"Failed to switch combo state.","switchComboSuccess":"Combo \\"{combo}\\" updated.","confirmApplyProfile":"Apply resilience profile \\"{profile}\\"?","applyProfileFailed":"Failed to apply resilience profile.","applyProfileSuccess":"Profile \\"{profile}\\" applied.","confirmResetBreakers":"Reset all circuit breakers?","resetBreakersFailed":"Failed to reset circuit breakers.","resetBreakersSuccess":"Circuit breakers reset.","processStatus":"Process status","online":"Online","offline":"Offline","pid":"PID","sessionUptime":"Session uptime","lastHeartbeat":"Last heartbeat","activity24h":"Activity (24h)","totalCalls":"Total calls","successRate":"Success rate","avgLatency":"Avg latency","topTools":"Top tools","noToolCalls24h":"No tool calls in the last 24 hours.","runtimeDetails":"Runtime details","transport":"Transport","scopesEnforced":"Scopes enforced","yes":"yes","no":"no","lastCall":"Last call","heartbeatPath":"Heartbeat path","operationalControls":"Operational controls","switchCombo":"Switch combo","inactive":"inactive","active":"active","activateCombo":"Activate combo","deactivateCombo":"Deactivate combo","applyResilienceProfile":"Apply resilience profile","profileAggressive":"aggressive","profileBalanced":"balanced","profileConservative":"conservative","applyProfile":"Apply profile","resetCircuitBreakers":"Reset circuit breakers","resetCircuitBreakersHelp":"Clears current breaker state and failure counters for providers.","resetAllBreakers":"Reset all breakers","toolsAndScopes":"Tools and scopes","tableTool":"Tool","tableScopes":"Scopes","tablePhase":"Phase","tableAudit":"Audit","auditLog":"Audit log","auditSummary":"Calls: {total} | page {page} of {totalPages}","allTools":"All tools","allResults":"All results","success":"Success","failure":"Failure","apiKeyIdPlaceholder":"apiKeyId","loadingAuditEntries":"Loading audit entries...","noAuditEntriesForFilters":"No audit entries found for current filters.","tableTimestamp":"Timestamp","tableDuration":"Duration","tableResult":"Result","tableApiKey":"API key","failed":"failed","previous":"Previous","next":"Next"},"a2aDashboard":{"loading":"Loading A2A dashboard...","confirmCancelTask":"Cancel task {taskId}?","cancelTaskFailed":"Failed to cancel task.","cancelTaskSuccess":"Task {taskId} cancelled.","smokeSendFailed":"message/send smoke test failed.","smokeSendSuccessWithTask":"message/send ok (task {taskId}).","smokeSendSuccess":"message/send ok.","smokeStreamFailed":"message/stream smoke test failed.","smokeStreamSuccessWithTask":"message/stream ok (task {taskId}{stateSuffix}).","smokeStreamNoTaskId":"message/stream finished without task id.","health":"Health","ok":"ok","totalTasks":"Total tasks","activeStreams":"Active streams","lastTask":"Last task","taskStateOverview":"Task state overview","state":{"submitted":"submitted","working":"working","completed":"completed","failed":"failed","cancelled":"cancelled"},"agentCard":"Agentenkaart","version":"Versie","url":"URL","capabilities":"Mogelijkheden","agentCardNotAvailable":"Agentenkaart niet beschikbaar.","quickValidation":"Snelle validatie","quickValidationDescription":"Voert rookoproepen uit via het live `/a2a` eindpunt.","runMessageSend":"Run message/send","runMessageStream":"Run message/stream","taskManagement":"Task management","taskSummary":"{total} tasks | page {page} of {totalPages}","allStates":"all","allSkills":"all skills","loadingTasks":"Loading tasks...","noTasksForFilters":"No tasks found for current filters.","tableTask":"Task","tableSkill":"Skill","tableState":"State","tableUpdated":"Updated","tableActions":"Actions","view":"View","cancel":"Cancel","previous":"Previous","next":"Next","taskDetail":"Task detail","close":"Close","metadata":"Metadata","events":"Events","artifacts":"Artifacts"},"health":{"title":"Systeemgezondheid","description":"Realtime monitoring van uw OmniRoute-instantie","healthy":"Gezond","degraded":"Gedegradeerd","down":"Naar beneden","uptime":"Uptime","memory":"Geheugen","memoryRss":"Geheugen (RSS)","heap":"Hoop","cpu":"CPU","database":"Database","version":"Versie","lastCheck":"Laatste controle","providerHealth":"Gezondheid van de aanbieder","systemMetrics":"Systeemstatistieken","tokenHealth":"Tokengezondheid","refreshAll":"Alles vernieuwen","checkNow":"Controleer nu","loadingHealth":"Gezondheidsgegevens laden...","failedToLoad":"Kan gezondheidsgegevens niet laden: {error}","retry":"Opnieuw proberen","allOperational":"Alle systemen operationeel","issuesDetected":"Systeemproblemen gedetecteerd","updatedAt":"{time} bijgewerkt","latency":"Latentie","latencyP50":"p50","latencyP95":"p95","latencyP99":"p99","millisecondsShort":"{value}ms","notAvailable":"—","totalRequests":"Totaal aantal verzoeken","noDataYet":"Nog geen gegevens","promptCache":"Snelle cache","entries":"Inzendingen","hitRate":"Hitpercentage","hitsMisses":"Hits / missers","signatureCache":"Handtekeningcache","signatureDefaults":"Standaardwaarden","signatureTool":"Gereedschap","signatureFamily":"Familie","signatureSession":"Sessie","recovering":"Herstellend","noCBData":"Er zijn geen stroomonderbrekergegevens beschikbaar. Doe eerst een aantal verzoeken.","providerHealthStatusAria":"Gezondheidsstatus van de provider","issuesLabel":"Problemen gedetecteerd","operational":"Operationeel","providers":"Aanbieders","healthyCount":"{count} gezond","nodeVersion":"Knooppunt {version}","failures":"{count} fout","failuresPlural":"{count} fouten","lastFailure":"Laatste","rateLimitStatus":"Status van tarieflimiet","activeLimiters":"{count} actieve limiter","activeLimitersPlural":"{count} actieve limiters","queued":"In de wachtrij","queuedCount":"{count} staat in de wachtrij","running":"rennen","runningCount":"{count} actief","ok":"Oké","activeLockouts":"Actieve vergrendelingen","resetConfirm":"Alle stroomonderbrekers resetten naar een gezonde status? Hiermee worden alle foutaantallen gewist en worden alle providers teruggezet naar de operationele status.","resetAllTitle":"Reset alle stroomonderbrekers naar de gezonde status","resetting":"Resetten...","resetAll":"Alles resetten","until":"Tot {time}","activeProviders":"{count} active","monitoredProviders":"{count} monitored","configuredProvidersLabel":"Geconfigureerd in dashboard","configuredProvidersHint":"Providers met inloggegevens opgeslagen in /dashboard/providers, ongeacht de runtimestatus.","activeProvidersHint":"Geconfigureerde providers die momenteel zijn ingeschakeld voor het routeren van verzoeken.","monitoredProvidersHint":"Providers worden momenteel gevolgd door gezondheidsmonitors van stroomonderbrekers."},"limits":{"title":"Limieten en quota\'s","rateLimit":"Tarieflimiet","remaining":"Resterend","requestsPerMinute":"Verzoeken/min","tokensPerMinute":"Munten/min","dailyLimit":"Dagelijkse limiet"},"logs":{"title":"Logboeken","requestLogs":"Logboeken aanvragen","proxyLogs":"Proxylogboeken","auditLog":"Auditlogboek","console":"Console","auditLogDesc":"Administratieve acties en beveiligingsgebeurtenissen","loading":"Laden...","refresh":"Vernieuwen","filterByAction":"Filter op actie...","filterByActor":"Filter op acteur...","filterEntriesAria":"Filter auditlogboekvermeldingen","filterByActionTypeAria":"Filter op actietype","filterByActorAria":"Filter op acteur","refreshAuditLogAria":"Vernieuw het auditlogboek","tableAria":"Auditlogboekvermeldingen","failedFetchAuditLog":"Kan het auditlogboek niet ophalen","showing":"{count} items tonen (offset {offset})","search":"Zoeken","timestamp":"Tijdstempel","action":"Actie","actor":"Acteur","target":"Doel","details":"Details","ipAddress":"IP-adres","notAvailable":"—","noEntries":"Geen auditlogboekvermeldingen gevonden","previous":"Vorige","next":"Volgende"},"onboarding":{"welcome":"Welkom","security":"Beveiliging","test":"Testen","ready":"Klaar!","setPassword":"Wachtwoord instellen","addProvider":"Voeg uw eerste provider toe","getStarted":"Aan de slag","skip":"Overslaan","skipWizard":"Sla de wizard geheel over","skipPassword":"Wachtwoordconfiguratie overslaan","skipAndContinue":"Overslaan en doorgaan","passwordLabel":"Wachtwoord","confirmPassword":"Bevestig wachtwoord","enterPassword":"Voer wachtwoord in","confirmPasswordPlaceholder":"Bevestig wachtwoord","passwordsMismatch":"Wachtwoorden komen niet overeen","setupComplete":"Installatie voltooid!","goToDashboard":"Ga naar Dashboard →","welcomeDesc":"OmniRoute is uw lokale AI API-proxy. Het stuurt verzoeken door naar meerdere AI-providers met taakverdeling, failover en gebruiksregistratie.","multiProvider":"Meerdere aanbieders","usageTracking":"Gebruik volgen","apiKeyMgmt":"API-sleutelbeheer","securityDesc":"Stel een wachtwoord in om uw dashboard te beschermen, of sla dit voorlopig over.","providerDesc":"Sluit uw eerste AI-provider aan. Je kunt later meer toevoegen.","apiKeyRequired":"API-sleutel (vereist)","customUrlOptional":"Aangepaste URL (optioneel)","testDesc":"Laten we controleren of uw providerverbinding werkt.","runTest":"Voer de verbindingstest uit","testingConnection":"Verbinding testen...","connectionSuccessful":"Verbinding succesvol! Uw provider is er klaar voor.","noProviderFound":"Geen aanbieder gevonden. U kunt er later een toevoegen via het dashboard.","testFailed":"Test mislukt, maar u kunt dit later configureren.","couldNotTest":"Kon nu niet testen. U kunt testen vanaf het dashboard.","doneDesc":"Je bent helemaal klaar! Uw OmniRoute-instantie is geconfigureerd en klaar om AI-verzoeken te proxyeren.","yourEndpoint":"Uw eindpunt:","continue":"Ga door","retry":"Opnieuw proberen","failedSetPassword":"Kan wachtwoord niet instellen. Probeer het opnieuw.","failedAddProvider":"Kan provider niet toevoegen. Probeer het opnieuw.","connectionError":"Verbindingsfout. Probeer het opnieuw.","provider":"Aanbieder"},"providers":{"title":"Aanbieders","addProvider":"Aanbieder toevoegen","editProvider":"Aanbieder bewerken","deleteProvider":"Aanbieder verwijderen","noProviders":"Geen providers geconfigureerd","modelAvailability":"Beschikbaarheid van modellen","accounts":"Rekeningen","newAccount":"Nieuw account","deleteConfirm":"Weet u zeker dat u deze aanbieder wilt verwijderen?","testing":"Testen...","testConnection":"Verbinding testen","testSuccess":"Verbinding succesvol","testFailed":"Verbinding mislukt","available":"Beschikbaar","cooldown":"Afkoelen","unavailable":"Niet beschikbaar","unknown":"Onbekend","oauthLabel":"OAuth","compatibleLabel":"Compatibel","chat":"Chatten","responses":"Reacties","messages":"Berichten","oauthProviders":"OAuth-providers","freeProviders":"Gratis aanbieders","apiKeyProviders":"API-sleutelproviders","compatibleProviders":"API-sleutel-compatibele providers","testAll":"Alles testen","testAllOAuth":"Test alle OAuth-verbindingen","testAllFree":"Test alle vrije verbindingen","testAllApiKey":"Test alle API Key-verbindingen","testAllCompatible":"Test alle compatibele verbindingen","connected":"{count} Verbonden","errorCount":"{count} Fout ({code})","errorCountNoCode":"{count} Fout","noConnections":"Geen verbindingen","disabled":"Uitgeschakeld","enableProvider":"Aanbieder inschakelen","disableProvider":"Schakel aanbieder uit","testResults":"Testresultaten","noCompatibleYet":"Er zijn nog geen compatibele providers toegevoegd","compatibleHint":"Gebruik de knoppen hierboven om OpenAI- of Anthropic-compatibele eindpunten toe te voegen","addOpenAICompatible":"Voeg OpenAI-compatibel toe","addAnthropicCompatible":"Antropisch compatibel toevoegen","addNewProvider":"Nieuwe aanbieder toevoegen","backToProviders":"Terug naar Aanbieders","configureNewProvider":"Configureer een nieuwe AI-provider voor gebruik met uw toepassingen.","providerLabel":"Aanbieder","selectProvider":"Selecteer een aanbieder","selectedProvider":"Geselecteerde aanbieder","authMethod":"Authenticatiemethode","apiKeyLabel":"API-sleutel","apiKeyRequired":"API-sleutel is vereist","selectProviderRequired":"Selecteer een aanbieder","enterApiKey":"Voer uw API-sleutel in","apiKeySecure":"Uw API-sleutel wordt gecodeerd en veilig opgeslagen.","oauth2Connect":"Maak verbinding met OAuth2","oauth2Label":"OAuth2","oauth2Desc":"Verbind uw account met OAuth2-authenticatie.","displayName":"Weergavenaam","displayNamePlaceholder":"bijvoorbeeld productie-API, ontwikkelomgeving","displayNameHint":"Optioneel. Een beschrijvende naam om deze configuratie te identificeren.","active":"Actief","activeDescription":"Schakel deze provider in voor gebruik in uw applicaties","cancel":"Annuleer","createProvider":"Aanbieder maken","failedCreate":"Kan provider niet maken","errorOccurred":"Er is een fout opgetreden. Probeer het opnieuw.","modelStatus":"Modelstatus","allModelsOperational":"Alle modellen operationeel","modelsWithIssues":"{count} model(len) met problemen","allModelsNormal":"Alle modellen reageren normaal.","cooldownCleared":"Afkoelperiode gewist voor {model}","failedClearCooldown":"Kan de cooldown niet wissen","loadingAvailability":"Beschikbaarheid van modellen laden...","clearCooldown":"Duidelijk","clearing":"Wissen...","until":"Tot {time}","providerTestFailed":"Providertest mislukt","modeTest":"{mode} Testen","passedCount":"{count} geslaagd","failedCount":"{count} mislukt","testedCount":"{count} getest","millisecondsAbbr":"{value}ms","okShort":"Oké","errorShort":"FOUT","noActiveConnectionsInGroup":"Er zijn geen actieve verbindingen gevonden voor deze groep.","allTestsPassed":"Alle {total} tests zijn geslaagd","testSummary":"{passed}/{total} geslaagd, {failed} mislukt","nameLabel":"Naam","prefixLabel":"Voorvoegsel","baseUrlLabel":"Basis-URL","apiTypeLabel":"API-type","prefixHint":"Vereist. Uniek voorvoegsel voor modelnamen.","nameHint":"Vereist. Een vriendelijk label voor dit knooppunt.","baseUrlHint":"Vereist. Basis-URL van de provider-API.","anthropicPrefixPlaceholder":"ac-prod","openaiPrefixPlaceholder":"oc-prod","anthropicBaseUrlPlaceholder":"https://api.anthropic.com/v1","openaiBaseUrlPlaceholder":"https://api.openai.com/v1","validateConnection":"Valideer verbinding","validating":"Valideren...","connectionValid":"Verbinding is geldig!","connectionFailed":"Verbinding mislukt. Controleer URL en sleutel.","testKeyLabel":"API-sleutel testen","testKeyPlaceholder":"sk-... (alleen ter validatie)","providerNotFound":"Aanbieder niet gevonden","deleteConnectionConfirm":"Deze verbinding verwijderen?","failedSetAlias":"Kan alias niet instellen","failedSaveConnection":"Kan de verbinding niet opslaan","failedSaveConnectionRetry":"Kan de verbinding niet opslaan. Probeer het opnieuw.","failedRetestConnection":"Kan de verbinding niet opnieuw testen","deleteCompatibleNodeConfirm":"Dit {type} compatibele knooppunt verwijderen?","anthropicCompatibleDetails":"Antropische compatibele details","openaiCompatibleDetails":"OpenAI-compatibele details","messagesApi":"Berichten-API","responsesApi":"Reacties-API","chatCompletions":"Chat-voltooiingen","importingModels":"Importeren...","importFromModels":"Importeren uit /modellen","clearAllModels":"Wis alle modellen","clearAllModelsConfirm":"Weet u zeker dat u alle modellen voor deze aanbieder wilt verwijderen? Dit kan niet ongedaan worden gemaakt.","clearAllModelsSuccess":"Alle modellen gewist","clearAllModelsFailed":"Kan modellen niet wissen","addConnectionToImport":"Voeg een verbinding toe om importeren mogelijk te maken.","noModelsConfigured":"Geen modellen geconfigureerd","connectionCount":"{count} verbinding(en)","fetchingModels":"Beschikbare modellen ophalen...","failedFetchModels":"Kan modellen niet ophalen","noModelsFound":"Geen modellen gevonden","importFailed":"Importeren is mislukt","noNewModelsAdded":"Er zijn geen nieuwe modellen toegevoegd.","adding":"Toevoegen...","importingModelsTitle":"Modellen importeren","copyModel":"Kopieermodel","removeModel":"Model verwijderen","rateLimitProtected":"Beschermd","rateLimitUnprotected":"Onbeschermd","enableRateLimitProtection":"Klik om de snelheidslimietbescherming in te schakelen","disableRateLimitProtection":"Klik om de snelheidslimietbescherming uit te schakelen","productionKey":"Productie sleutel","enterNewApiKey":"Voer een nieuwe API-sleutel in","optional":"Optioneel","anthropicCompatibleName":"Antropisch compatibel","openaiCompatibleName":"OpenAI-compatibel","failedImportModels":"Kan modellen niet importeren","noModelsReturnedFromEndpoint":"Er zijn geen modellen geretourneerd door het /models-eindpunt.","importingModelsProgress":"Importeren van {current} van {total} modellen...","foundModelsStartingImport":"{count} modellen gevonden. Importeren starten...","importingModelById":"{modelId} importeren...","importSuccessCount":"Succesvol geïmporteerd {count, plural, one {# model} other {# models}}!","noNewModelsAddedExisting":"Er zijn geen nieuwe modellen toegevoegd (ze bestaan allemaal al).","importDoneCount":"✓ Klaar! {count, plural, one {# model imported.} other {# models imported.}}","unexpectedErrorOccurred":"Er is een onverwachte fout opgetreden","connectionCountLabel":"{count, plural, one {# connection} other {# connections}}","messagesPath":"berichten","responsesPath":"reacties","chatCompletionsPath":"chat/voltooiingen","add":"Toevoegen","edit":"Bewerken","delete":"Verwijderen","anthropic":"Antropisch","openai":"OpenAI","singleConnectionPerCompatible":"Per compatibel knooppunt is slechts één verbinding toegestaan. Voeg nog een knooppunt toe als u meer verbindingen nodig heeft.","connections":"Verbindingen","providerProxyTitleConfigured":"Providerproxy: {host}","configured":"geconfigureerd","providerProxyConfigureHint":"Configureer proxy voor alle verbindingen van deze provider","providerProxy":"Proxy van aanbieder","noConnectionsYet":"Nog geen verbindingen","addFirstConnectionHint":"Voeg uw eerste verbinding toe om aan de slag te gaan","addConnection":"Verbinding toevoegen","availableModels":"Beschikbare modellen","pageAutoRefresh":"Pagina wordt automatisch vernieuwd...","statusDisabled":"uitgeschakeld","statusConnected":"verbonden","statusRuntimeIssue":"runtime-probleem","statusAuthFailed":"verificatie is mislukt","statusRateLimited":"tarief beperkt","statusNetworkIssue":"netwerk probleem","statusTestUnsupported":"test niet ondersteund","statusUnavailable":"niet beschikbaar","statusFailed":"mislukt","statusError":"fout","oauthAccount":"OAuth-account","errorTypeRuntime":"Lokale looptijd","errorTypeUpstreamAuth":"Upstream-auth","errorTypeMissingCredential":"Ontbrekende legitimatie","errorTypeRefreshFailed":"Vernieuwen mislukt","errorTypeTokenExpired":"Token verlopen","errorTypeRateLimited":"Tarief beperkt","errorTypeUpstreamUnavailable":"Stroomopwaarts niet beschikbaar","errorTypeNetworkError":"Netwerkfout","errorTypeTestUnsupported":"Test niet ondersteund","errorTypeUpstreamError":"Stroomopwaartse fout","proxySourceGlobal":"Globaal","proxySourceProvider":"Aanbieder","proxySourceKey":"Sleutel","proxyConfiguredBySource":"Proxy ({source}): {host}","autoPriority":"Automatisch: {priority}","proxy":"Proxy","retestAuthentication":"Test de authenticatie opnieuw","retest":"Opnieuw testen","disableConnection":"Verbinding uitschakelen","enableConnection":"Verbinding inschakelen","reauthenticateConnection":"Authenticeer deze verbinding opnieuw","proxyConfig":"Proxy-configuratie","aliasExistsAlert":"Alias \\"{alias}\\" bestaat al. Gebruik een ander model of bewerk de bestaande alias.","openRouterAnyModelHint":"OpenRouter ondersteunt elk model. Voeg modellen toe en maak aliassen voor snelle toegang.","modelIdFromOpenRouter":"Model-ID (van OpenRouter)","openRouterModelPlaceholder":"antropisch/claude-3-opus","customModels":"Aangepaste modellen","customModelsHint":"Voeg model-ID\'s toe die niet in de standaardlijst staan. Deze zullen beschikbaar zijn voor routering.","modelId":"Model-ID","customModelPlaceholder":"bijv. gpt-4.5-turbo","loading":"Laden...","removeCustomModel":"Aangepast model verwijderen","noCustomModels":"Er zijn nog geen aangepaste modellen toegevoegd.","allSuggestedAliasesExist":"Alle voorgestelde aliassen bestaan al. Kies een ander model of verwijder conflicterende aliassen.","failedSaveCustomModel":"Kan aangepast model niet opslaan","modelAddedSuccess":"Model {modelId} is succesvol toegevoegd","failedAddModelTryAgain":"Kan model niet toevoegen. Probeer het opnieuw.","failedSaveImportedModel":"Kan het geïmporteerde model niet opslaan in de aangepaste database","failedImportModelsTryAgain":"Kan modellen niet importeren. Probeer het opnieuw.","failedRemoveModelFromDatabase":"Kan het model niet uit de database verwijderen","modelRemovedSuccess":"Model succesvol verwijderd","failedDeleteModelTryAgain":"Kan model niet verwijderen. Probeer het opnieuw.","compatibleModelsDescription":"Voeg {type}-compatibele modellen handmatig toe of importeer ze vanaf het /models-eindpunt.","anthropicCompatibleModelPlaceholder":"claude-3-opus-20240229","openaiCompatibleModelPlaceholder":"gpt-4o","apiKeyValidationFailed":"Validatie van API-sleutel mislukt. Controleer uw sleutel en probeer het opnieuw.","addProviderApiKeyTitle":"Voeg {provider} API-sleutel toe","checking":"Controleren...","check":"Controleer","valid":"Geldig","invalid":"Ongeldig","creating":"Creëren...","validationChecksAnthropicCompatible":"Validatiecontroles {provider} door de API-sleutel te verifiëren.","validationChecksOpenAiCompatible":"Validatiecontroles {provider} via /models op uw basis-URL.","priorityLabel":"Prioriteit","saving":"Opslaan...","save":"Opslaan","editConnection":"Verbinding bewerken","accountName":"Accountnaam","email":"E-mail","healthCheckMinutes":"Gezondheidscontrole (min)","healthCheckHint":"Proactief tokenvernieuwingsinterval. 0 = uitgeschakeld.","groupLabel":"Environment","groupPlaceholder":"e.g. eKaizen, Personal","failedTestConnection":"Kan de verbinding niet testen","failed":"Mislukt","leaveBlankKeepCurrentApiKey":"Laat dit leeg om de huidige API-sleutel te behouden.","editCompatibleTitle":"Bewerk {type} Compatibel","compatibleBaseUrlHint":"Root URL of your {type}-compatible API. Use Advanced Settings for custom endpoint paths.","apiKeyForCheck":"API-sleutel (ter controle)","compatibleProdPlaceholder":"{type} Compatibel (product)","providerTestTimeout":"Provider test timed out — too many connections to test at once","advancedSettings":"Advanced Settings","chatPathLabel":"Chat Endpoint Path","chatPathPlaceholder":"/chat/completions","chatPathHint":"Custom chat path for providers with non-standard APIs (e.g. /v4/chat/completions)","modelsPathLabel":"Models Endpoint Path","modelsPathPlaceholder":"/models","modelsPathHint":"Custom models path for validation (e.g. /v4/models)","builtInModels":"Built-in models","builtInModelsHint":"Registry models for this provider. Use the pencil to set compatibility options.","normalizeToolCallIdLabel":"Normalize tool call IDs to 9 characters (e.g. Mistral)","preserveDeveloperRoleLabel":"Keep OpenAI Responses developer role (do not map to system)","compatAdjustmentsTitle":"Compatibility","compatButtonLabel":"Compatibility","compatToolIdShort":"Tool ID 9","compatDeveloperShort":"Developer role","compatDoNotPreserveDeveloper":"Do not preserve developer role","compatBadgeNoPreserve":"No preserve","compatProtocolLabel":"Client request protocol","compatProtocolHint":"These options apply when OmniRoute detects this request shape (OpenAI Chat, Responses API, or Anthropic Messages).","compatProtocolOpenAI":"OpenAI Chat Completions","compatProtocolOpenAIResponses":"OpenAI Responses API","compatProtocolClaude":"Anthropic Messages","tokenRefreshed":"Token refreshed successfully","tokenRefreshFailed":"Token refresh failed","compatBadgeUpstreamHeaders":"Headers","compatUpstreamAddRow":"Add header","compatUpstreamHeaderName":"Header name","compatUpstreamHeaderValue":"Value","compatUpstreamHeadersHint":"High-privilege setting — same trust level as editing provider API credentials; only trusted admins should use it. Merged after OmniRoute adds auth from the provider API key. If a custom header uses the same name as an existing one (e.g. Authorization), your value fully replaces the auto-generated header (including the Bearer token) — the upstream only sees what you typed, not the key from settings. Misconfiguration can cause 401 or broken upstream auth. One row per header (e.g. extra Authentication for some gateways). Hover or focus the value to preview. Saves on blur, outside click, or closing this panel.","compatUpstreamHeadersLabel":"Extra upstream headers","compatUpstreamRemoveRow":"Remove row","autoSync":"Automatische synchronisatie","autoSyncTooltip":"Modellijst automatisch elke 24 uur vernieuwen (configureerbaar via MODEL_SYNC_INTERVAL_HOURS)","autoSyncEnabled":"Automatische synchronisatie ingeschakeld: modellen worden periodiek vernieuwd","autoSyncDisabled":"Automatische synchronisatie uitgeschakeld","autoSyncToggleFailed":"Kan automatische synchronisatie niet in- of uitschakelen","allModelsAlreadyImported":"Alle modellen zijn al geïmporteerd","noNewModelsToImport":"Geen nieuwe modellen om te importeren — alle modellen staan al in het register of de lijst met aangepaste modellen","skippingExistingModels":"{count} bestaande modellen overgeslagen"},"settings":{"title":"Instellingen","general":"Algemeen","security":"Beveiliging","appearance":"Uiterlijk","routing":"Routering","cache":"Cache","resilience":"Veerkracht","systemPrompt":"Systeemprompt","thinkingBudget":"Denkbudget","proxy":"Proxy","pricing":"Prijzen","storage":"Opslag","policies":"Beleid","ipFilter":"IP-filter","comboDefaults":"Combo-standaardinstellingen","fallbackChains":"Terugvalketens","changePassword":"Wachtwoord wijzigen","enablePassword":"Wachtwoord inschakelen","darkMode":"Donkere modus","lightMode":"Lichtmodus","systemTheme":"Systeem Thema","enableCache":"Cache inschakelen","cacheTTL":"TTL cachen","maxCacheSize":"Maximale cachegrootte","clearCache":"Cache wissen","cacheHits":"Cache-hits","cacheMisses":"Cache-missers","hitRate":"Hitpercentage","cacheEntries":"Cache-invoer","circuitBreaker":"Stroomonderbreker","retryPolicy":"Beleid voor opnieuw proberen","maxRetries":"Maximaal aantal nieuwe pogingen","retryDelay":"Vertraging opnieuw proberen","timeoutMs":"Time-out (ms)","enableSystemPrompt":"Systeemprompt inschakelen","systemPromptText":"Systeemprompttekst","enableThinking":"Maak het denken mogelijk","maxThinkingTokens":"Max Thinking-tokens","enableProxy":"Schakel proxy in","proxyUrl":"Proxy-URL","pricingRates":"Formaat prijstarieven","currentPricing":"Actueel prijsoverzicht","loadingPricing":"Prijsgegevens laden...","noPricing":"Geen prijsgegevens beschikbaar","input":"Invoer","output":"Uitvoer","cached":"In cache opgeslagen","reasoning":"Redenering","cacheCreation":"Cache-creatie","customPricing":"Aangepaste prijzen","databaseSize":"Databasegrootte","backupDb":"Back-updatabase","restoreDb":"Database herstellen","exportData":"Gegevens exporteren","importData":"Gegevens importeren","clearData":"Wis alle gegevens","clearDataConfirm":"Hierdoor worden alle gegevens definitief verwijderd. Weet je het zeker?","enableRequestLogs":"Schakel aanvraaglogboeken in","logRetention":"Logboekbehoud","ipWhitelist":"IP-witte lijst","ipBlacklist":"IP-zwarte lijst","addIP":"IP toevoegen","savedSuccessfully":"Instellingen succesvol opgeslagen","ai":"AI","advanced":"Geavanceerd","localMode":"Lokale modus — Alle gegevens die op uw machine zijn opgeslagen","settingsSectionsAria":"Instellingensecties","switchThemes":"Wissel tussen lichte en donkere thema\'s","themeSelectionAria":"Thema selectie","themeLight":"Licht","themeDark":"Donker","themeSystem":"Systeem","hideHealthLogs":"Statuschecklogboeken verbergen","hideHealthLogsDesc":"Indien AAN: onderdruk [HealthCheck]-berichten in de serverconsole","themeAccent":"Themakleur","themeAccentDesc":"Kies een vooraf ingestelde kleur of maak je eigen thema met één kleur","themeCreate":"Thema maken","themeCustom":"Aangepast thema","themeBlue":"Blauw","themeRed":"Rood","themeGreen":"Groen","themeViolet":"Violet","themeOrange":"Oranje","themeCyan":"Cyaan","promptCache":"Snelle cache","flushCache":"Cache leegmaken","flushing":"Doorspoelen…","size":"Grootte","hits":"Hits","evictions":"Uitzettingen","loadingCacheStats":"Cachestatistieken laden…","globalProxy":"Mondiale proxy","globalProxyDesc":"Configureer een globale uitgaande proxy voor alle API-aanroepen. Individuele providers, combo\'s en sleutels kunnen dit overschrijven.","noGlobalProxy":"Geen globale proxy geconfigureerd","globalLabel":"Globaal","configure":"Configureer","globalSystemPrompt":"Globale systeemprompt","systemPromptDesc":"Geïnjecteerd in alle verzoeken op proxyniveau","saved":"Opgeslagen","systemPromptPlaceholder":"Voer de systeemprompt in om in alle verzoeken te injecteren...","systemPromptHint":"Deze prompt wordt toegevoegd aan het systeembericht van elk verzoek. Gebruik voor algemene instructies, veiligheidsrichtlijnen of regels voor de opmaak van antwoorden.","chars":"{count} tekens","thinkingBudgetTitle":"Denkbudget","thinkingBudgetDesc":"Beheer het gebruik van AI-redeneringstokens voor alle verzoeken","passthrough":"Doorvoer","passthroughDesc":"Geen wijzigingen – de klant bepaalt het denkbudget","auto":"Automatisch","autoDesc":"Verwijder alle denkconfiguraties – laat de provider beslissen","custom":"Aangepast","customDesc":"Stel een vast tokenbudget in voor alle verzoeken","adaptive":"Adaptief","adaptiveDesc":"Schaal het budget op basis van de complexiteit van de aanvraag","effortNone":"Geen (0 tokens)","effortLow":"Laag (1K-tokens)","effortMedium":"Medium (10K-tokens)","effortHigh":"Hoog (128K tokens)","tokenBudget":"Tokenbudget","tokens":"tokens","baseEffortLevel":"Basisinspanningsniveau","adaptiveHint":"De adaptieve modus schaalt vanaf dit basisniveau op basis van het aantal berichten, het gebruik van tools en de lengte van de prompt.","requireLogin":"Inloggen vereisen","requireLoginDesc":"Indien AAN vereist het dashboard een wachtwoord. Wanneer UIT: toegang zonder inloggen.","currentPassword":"Huidig wachtwoord","enterCurrentPassword":"Voer het huidige wachtwoord in","newPassword":"Nieuw wachtwoord","enterNewPassword":"Voer een nieuw wachtwoord in","confirmPassword":"Bevestig nieuw wachtwoord","confirmPasswordPlaceholder":"Bevestig nieuw wachtwoord","passwordsNoMatch":"Wachtwoorden komen niet overeen","passwordUpdated":"Wachtwoord succesvol bijgewerkt","failedUpdatePassword":"Kan wachtwoord niet updaten","errorOccurred":"Er is een fout opgetreden","updatePassword":"Wachtwoord bijwerken","setPassword":"Wachtwoord instellen","apiEndpointProtection":"API-eindpuntbeveiliging","requireAuthModels":"API-sleutel vereisen voor /models","requireAuthModelsDesc":"Indien AAN, retourneert het /v1/models eindpunt 404 voor niet-geverifieerde verzoeken. Voorkomt modeldetectie door ongeautoriseerde gebruikers.","blockedProviders":"Geblokkeerde aanbieders","blockedProvidersDesc":"Verberg specifieke providers in het antwoord /v1/models. Geblokkeerde aanbieders verschijnen niet in modeloverzichten.","providersBlocked":"{count} provider(s) geblokkeerd voor /models","blockProviderTitle":"Blokkeer {provider}","unblockProviderTitle":"Deblokkeer {provider}","routingStrategy":"Routeringsstrategie","fillFirst":"Vul eerst","fillFirstDesc":"Gebruik accounts in prioriteitsvolgorde","roundRobin":"Ronde Robin","roundRobinDesc":"Blader door alle accounts","p2c":"P2C","p2cDesc":"Kies er 2 willekeurig, gebruik de gezondere","random":"Willekeurig","randomDesc":"Willekeurig account bij elk verzoek","leastUsed":"Minst gebruikt","leastUsedDesc":"Kies het minst recent gebruikte account","costOpt":"Kosten opt","costOptDesc":"Geef de voorkeur aan het goedkoopste beschikbare account","strictRandom":"Strict Random","strictRandomDesc":"Shuffle deck — uses each account once before reshuffling","stickyLimit":"Kleverige limiet","stickyLimitDesc":"Gesprekken per account voordat u overstapt","modelAliases":"Modelaliassen","modelAliasesTitle":"Model Aliases","modelAliasesDesc":"Jokertekenpatronen om modelnamen opnieuw toe te wijzen • Gebruik * en ?","addCustomAlias":"Aangepast Alias Toevoegen","deprecatedModelId":"Verouderd model-ID","newModelId":"Nieuw model-ID","customAliases":"Aangepaste Aliases","builtInAliases":"Ingebouwde Aliases","backgroundDegradationTitle":"Achtergrondtaak Degradatie","backgroundDegradationDesc":"Detecteert automatisch achtergrondtaken (titels, samenvattingen) en routeert naar goedkopere modellen","enableDegradation":"Achtergrond Degradatie Inschakelen","enableDegradationHint":"Wanneer ingeschakeld, worden achtergrondtaken zoals titelgeneratie en samenvattingen automatisch naar goedkopere modellen gerouteerd","tasksDetected":"Taken gedetecteerd","degradationMap":"Model Degradatie Kaart","premiumModel":"Premium model","cheapModel":"Goedkoop model","detectionPatterns":"Detectiepatronen","newPattern":"bijv. \\"genereer een titel\\"","aliasPatternPlaceholder":"claude-sonnet-*","aliasTargetPlaceholder":"claude-sonnet-4-20250514","pattern":"Patroon","targetModel":"Doelmodel","add":"+ Toevoegen","session":"Sessie","sessionDetailsAria":"Sessiedetails","status":"Status","authenticated":"Geauthenticeerd","guest":"Gast","loginTime":"Inlogtijd","sessionAge":"Sessie leeftijd","browser":"Browser","clearLocalData":"Lokale gegevens wissen","logout":"Uitloggen","clearLocalDataConfirm":"Alle lokale gegevens wissen? Hiermee worden uw voorkeuren opnieuw ingesteld.","unknown":"Onbekend","systemActor":"systeem","ipAccessControl":"IP-toegangscontrole","ipAccessControlDesc":"Blokkeer of sta specifieke IP-adressen toe","ipModeDisabled":"Uitgeschakeld","ipModeBlacklist":"Zwarte lijst","ipModeWhitelist":"Witte lijst","ipModeWhitelistPriority":"WL-prioriteit","addIpAddress":"IP-adres toevoegen","ipAddressPlaceholder":"192.168.1.0/24 of 10.0.*.*","block":"+ Blok","allow":"+ Toestaan","blocked":"Geblokkeerd ({count})","allowed":"Toegestaan ({count})","temporaryBans":"Tijdelijke verbanningen ({count})","minLeft":"{min}m over","auditLog":"Auditlogboek","searchAuditLogs":"Auditlogboeken zoeken...","failedLoadAuditLog":"Kan het auditlogboek niet laden","noAuditEvents":"Geen auditgebeurtenissen gevonden","action":"Actie","actor":"Acteur","details":"Details","time":"Tijd","fallbackChainsTitle":"Terugvalketens","fallbackChainsDesc":"Definieer de terugvalvolgorde van de provider per model","addChain":"+ Ketting toevoegen","modelName":"Modelnaam","modelNamePlaceholder":"claude-sonnet-4-20250514","providersCommaSeparated":"Providers (door komma\'s gescheiden, in prioriteitsvolgorde)","providersCommaSeparatedPlaceholder":"antropisch, openai, gemini","createChain":"Creëer keten","noFallbackChains":"Geen terugvalketens","noFallbackChainsDesc":"Maak een keten om de terugvalvolgorde van de provider voor een model te definiëren.","loadingFallbackChains":"Terugvalketens laden...","deleteChainConfirm":"Terugvalketen voor \\"{model}\\" verwijderen?","chainCreated":"Keten gemaakt voor {model}","chainDeleted":"Keten verwijderd voor {model}","failedCreateChain":"Kan keten niet maken","failedDeleteChain":"Kan keten niet verwijderen","deleteChain":"Ketting verwijderen","fillModelAndProviders":"Vul de modelnaam en leveranciers in","addAtLeastOneProvider":"Voeg ten minste één aanbieder toe","comboDefaultsTitle":"Combo-standaardinstellingen","globalComboConfig":"Globale combo-configuratie","defaultStrategy":"Standaardstrategie","defaultStrategyDesc":"Toegepast op nieuwe combo\'s zonder expliciete strategie","comboStrategyAria":"Combinatiestrategie","priority":"Prioriteit","weighted":"Gewogen","maxRetriesLabel":"Maximaal aantal nieuwe pogingen","retryDelayLabel":"Vertraging opnieuw proberen (ms)","timeoutLabel":"Time-out (ms)","healthCheck":"Gezondheidscontrole","healthCheckDesc":"Controleer vooraf de beschikbaarheid van de provider","trackMetrics":"Houd statistieken bij","trackMetricsDesc":"Registreer verzoekstatistieken per combinatie","providerOverrides":"Provideroverschrijvingen","providerOverridesDesc":"Time-out en nieuwe pogingen per provider negeren. Providerinstellingen overschrijven de algemene standaardwaarden.","providerMaxRetriesAria":"{provider} max. nieuwe pogingen","providerTimeoutAria":"{provider} time-out ms","removeProviderOverrideAria":"Verwijder de overschrijving van {provider}","newProviderNamePlaceholder":"bijv. google, open...","newProviderNameAria":"Nieuwe providernaam","retries":"nieuwe pogingen","ms":"mevrouw","saveComboDefaults":"Bewaar combo-standaardinstellingen","maxNestingDepth":"Maximale nestdiepte","concurrencyPerModel":"Gelijktijdigheid / model","queueTimeout":"Wachtrijtime-out (ms)","providerProfiles":"Providerprofielen","providerProfilesDesc":"Afzonderlijke veerkrachtinstellingen voor OAuth (sessiegebaseerd) en API Key (gemeten) providers. OAuth-providers hanteren strengere drempels vanwege lagere tarieflimieten.","oauthProviders":"OAuth-providers","apiKeyProviders":"API-sleutelproviders","transientCooldown":"Tijdelijke afkoeling","rateLimitCooldown":"Afkoelperiode van snelheidslimiet","maxBackoffLevel":"Maximaal uitstelniveau","cbThreshold":"CB-drempel","cbResetTime":"CB-resettijd","rateLimiting":"Tariefbeperking","rateLimitingDesc":"API-sleutelproviders zijn automatisch beperkt in snelheid met veilige standaardinstellingen. Limieten worden geleerd uit antwoordheaders en worden in de loop van de tijd aangepast.","defaultSafetyNet":"Standaard veiligheidsnet","rpm":"toerental","minGap":"Min. kloof","maxConcurrent":"Maximaal gelijktijdig","activeLimiters":"Actieve begrenzers","noActiveLimiters":"Nog geen actieve snelheidsbegrenzers.","reservoir":"Reservoir","running":"Rennen","queued":"In de wachtrij","circuitBreakers":"Stroomonderbrekers","breakerStateClosed":"Gesloten","breakerStateOpen":"Openen","breakerStateHalfOpen":"Halfopen","tripped":"{count} is geactiveerd","healthy":"{count} gezond","resetAll":"Alles resetten","noCircuitBreakers":"Er zijn nog geen stroomonderbrekers actief. Ze worden automatisch gemaakt wanneer aanvragen via de combo-pijplijn stromen.","failures":"{count} fout(en)","policiesLocked":"Beleid en vergrendelde identificatiegegevens","allOperational":"Alle systemen operationeel — geen vergrendelingen of geactiveerde onderbrekers","loadingPolicies":"Beleid laden...","lockedIdentifiers":"Vergrendelde identificatiegegevens","unlockedIdentifier":"Ontgrendeld: {identifier}","sinceDate":"sinds {date}","forceUnlock":"Forceer ontgrendeling","unlocking":"Ontgrendelen...","failedUnlock":"Ontgrendelen is mislukt","failedLoadWithStatus":"Kan niet laden: {status}","failedLoadResilience":"Kan de veerkrachtstatus niet laden","saveFailed":"Opslaan mislukt","resetFailed":"Resetten mislukt","loadingResilience":"Veerkrachtstatus laden...","retry":"Opnieuw proberen","systemStorage":"Systeem en opslag","allDataLocal":"Alle gegevens lokaal opgeslagen op uw machine","databasePath":"Databasepad","exportDatabase":"Database exporteren","exportAll":"Alles exporteren (.tar.gz)","importDatabase":"Database importeren","confirmDbImport":"Bevestig database-import","confirmDbImportDesc":"Hierdoor worden alle huidige gegevens vervangen door de inhoud van {file}. Er wordt automatisch een back-up gemaakt vóór de import.","yesImport":"Ja, importeren","lastBackup":"Laatste back-up","noBackupYet":"Nog geen back-up","backupNow":"Maak nu een back-up","backupRestore":"Back-up en herstel","viewBackups":"Back-ups bekijken","hide":"Verbergen","backupRetentionDesc":"Database-snapshots worden automatisch gemaakt vóór herstel en elke 15 minuten wanneer gegevens veranderen. Retentie: 24 uur per dag + 30 dagelijkse back-ups met slimme rotatie.","loadingBackups":"Back-ups laden...","noBackupsYet":"Er zijn nog geen back-ups beschikbaar. Er worden automatisch back-ups gemaakt als gegevens veranderen.","backupsAvailable":"{count} back-up(s) beschikbaar","refresh":"Vernieuwen","confirm":"Bevestigen?","yes":"Ja","no":"Nee","restore":"Herstellen","invalidFileType":"Ongeldig bestandstype. Alleen .sqlite-bestanden worden geaccepteerd.","exportFailed":"Exporteren is mislukt","exportFailedWithError":"Exporteren mislukt: {error}","fullExportFailedWithError":"Volledige export mislukt: {error}","backupCreated":"Back-up gemaakt: {file}","restoreSuccess":"Hersteld! {connections} verbindingen, {nodes} knooppunten, {combos} combo\'s, {apiKeys} API-sleutels.","importSuccess":"Database geïmporteerd! {connections} verbindingen, {nodes} knooppunten, {combos} combo\'s, {apiKeys} API-sleutels.","justNow":"zojuist","minutesAgo":"{count}m geleden","hoursAgo":"{count}u geleden","daysAgo":"{count}d geleden","backupReasonManual":"handleiding","backupReasonPreRestore":"vooraf herstellen","connectionsCount":"{count, plural, one {# connection} other {# connections}}","noChangesSinceBackup":"Geen wijzigingen sinds de laatste back-up","backupFailed":"Back-up mislukt","restoreFailed":"Herstellen mislukt","importFailed":"Importeren is mislukt","errorDuringRestore":"Er is een fout opgetreden tijdens het herstellen","errorDuringImport":"Er is een fout opgetreden tijdens het importeren","modelPricing":"Modelprijzen","modelPricingDesc":"Kostentarieven per model configureren • Alle tarieven in $/1M tokens","providers":"Aanbieders","registry":"Register","priced":"Geprijsd","searchProvidersModels":"Zoekaanbieders of modellen...","showAll":"Toon alles","noProvidersMatch":"Er zijn geen aanbieders die overeenkomen met uw zoekopdracht.","howPricingWorks":"Hoe prijzen werken","cacheWrite":"Cache schrijven","unsaved":"niet opgeslagen","resetDefaults":"Standaardwaarden opnieuw instellen","saveProvider":"Aanbieder opslaan","saving":"Opslaan...","model":"Model","models":"modellen","moreProviders":"{count} meer aanbieders","withPricing":"met geconfigureerde prijzen","policiesCircuitBreakers":"Beleid en stroomonderbrekers","activeIssuesDetected":"Actieve problemen gedetecteerd","off":"Uit","resetPricingConfirm":"Alle prijzen voor {provider} terugzetten naar de standaardwaarden?","pricingDescInput":"Invoer: tokens verzonden naar het model","pricingDescOutput":"Uitvoer: tokens gegenereerd","pricingDescCached":"In cache opgeslagen: hergebruikte invoer (~50% van invoersnelheid)","pricingDescReasoning":"Redeneren: denktokens (valt terug naar Output)","pricingDescCacheWrite":"Cache Write: cache-items maken (valt terug naar Input)","pricingDescFormula":"Kosten = (invoer × invoer_snelheid) + (uitvoer × uitvoer_snelheid) + (in cache opgeslagen × in cache opgeslagen_snelheid) per miljoen tokens.","pricingSettingsTitle":"Prijsinstellingen","totalModels":"Totaal modellen","active":"Actief","costCalculation":"Kostenberekening","costCalculationDesc":"De kosten worden berekend op basis van tokengebruik en prijstarieven die voor elk model zijn geconfigureerd.","pricingFormat":"Prijsformaat","pricingFormatDesc":"Alle tarieven zijn in $/1 miljoen tokens (dollars per miljoen tokens).","tokenTypes":"Tokentypen","inputTokenDesc":"Standaard prompttokens","outputTokenDesc":"Voltooiing/antwoordtokens","cachedTokenDesc":"Invoertokens in cache (meestal 50% van invoersnelheid)","reasoningTokenDesc":"Speciale redeneer-/denkfiches (terugval op uitvoersnelheid)","cacheCreationTokenDesc":"Tokens die worden gebruikt om cache-items te maken (terugval op invoersnelheid)","customPricingNote":"U kunt de standaardprijzen voor specifieke modellen overschrijven. Aangepaste overschrijvingen hebben voorrang op automatisch gedetecteerde prijzen.","editPricing":"Prijzen bewerken","viewFullDetails":"Bekijk volledige details","themeCoral":"Koraal","cliFingerprint":"CLI Fingerprint Matching","cliFingerprintDesc":"Match native CLI binary signatures when proxying requests. Reorders headers and body fields to look identical to the official CLI tools. Your proxy IP is preserved.","cliFingerprintEnabled":"{count} provider(s) with CLI fingerprint active","enableFingerprintTitle":"Enable fingerprint for {provider}","disableFingerprintTitle":"Disable fingerprint for {provider}","routingAdvancedGuideTitle":"Geavanceerde routebegeleiding","routingAdvancedGuideHint1":"Gebruik Fill First voor voorspelbare prioriteit, Round Robin voor eerlijkheid en P2C voor latency-veerkracht.","routingAdvancedGuideHint2":"Als aanbieders variëren in kwaliteit/kosten, begin dan met Kosten Opt voor achtergrondwerk en Minst Gebruikt voor evenwichtige slijtage.","comboDefaultsGuideTitle":"Combo-standaardinstellingen afstemmen","comboDefaultsGuideHint1":"Houd het aantal nieuwe pogingen laag bij stromen met lage latentie; verhoog de time-out alleen voor lange generatietaken.","comboDefaultsGuideHint2":"Gebruik provideroverschrijvingen wanneer een provider ander time-out/opnieuw gedrag nodig heeft dan de algemene standaardwaarden."},"translator":{"title":"Vertaler","metaTitle":"Vertaler Speeltuin | OmniRoute","metaDescription":"Debug, test en visualiseer vertalingen van API-indelingen tussen providers","playgroundTitle":"Vertaler Speeltuin","playground":"Speeltuin","realtime":"Realtime vertaalactiviteit","chatTester":"Chattester","testBench":"Testbank","liveMonitor":"Live-monitor","modeDescriptionPlayground":"Plak de hoofdtekst van een API-verzoek en kijk hoe OmniRoute deze vertaalt tussen providerformaten (OpenAI ↔ Claude ↔ Gemini ↔ Responses API)","modeDescriptionChatTester":"Stuur echte chatverzoeken via OmniRoute en inspecteer de volledige retour: invoer, vertaalde aanvraag, respons van de provider en vertaalde uitvoer.","modeDescriptionTestBench":"Voer vooraf gedefinieerde scenario\'s uit en vergelijk de compatibiliteit tussen providers en modellen.","modeDescriptionLiveMonitor":"Bekijk vertaalgebeurtenissen in realtime terwijl verzoeken via OmniRoute stromen.","modeDescriptionFallback":"Debug, test en visualiseer hoe OmniRoute API-verzoeken tussen providers vertaalt.","recentTranslations":"Recente vertalingen","noTranslations":"Nog geen vertalingen","source":"Bron","target":"Doel","time":"Tijd","model":"Model","status":"Status","latency":"Latentie","totalTranslations":"Totaal aantal vertalingen","successful":"Succesvol","errors":"Fouten","avgLatency":"Gem. latentie","millisecondsShort":"{value}ms","notAvailableSymbol":"—","liveAutoRefreshing":"Live - Automatisch vernieuwen","paused":"Gepauzeerd","eventsAppearHint":"Vertaalgebeurtenissen verschijnen hier terwijl verzoeken door OmniRoute stromen. Gebruik een van deze methoden om gebeurtenissen te genereren:","chatTesterTab":"Tabblad Chattester","testBenchTab":"Tabblad Testbank","externalApiCalls":"Externe API-aanroepen","ideCliIntegrations":"IDE/CLI-integraties","inMemoryNote":"Opmerking: Gebeurtenissen worden in het geheugen opgeslagen en opnieuw ingesteld wanneer de server opnieuw opstart.","ok":"Oké","errorShort":"ERR","formatConverter":"Formaatconverter","formatConverterDescription":"Plak of typ een JSON-aanvraagtekst. De vertaler detecteert automatisch het bronformaat en converteert dit naar het doelformaat. Gebruik dit om fouten op te sporen in de manier waarop OmniRoute verzoeken tussen formaten vertaalt (OpenAI ↔ Claude ↔ Gemini ↔ Responses API).","input":"Invoer","output":"Uitvoer","auto":"Automatisch","swapFormats":"Wissel formaten","translateAction":"Vertalen","clear":"Duidelijk","inputPlaceholder":"Plak hier een verzoektekst of selecteer hieronder een sjabloon...","exampleTemplates":"Voorbeeldsjablonen","exampleTemplatesHint":"— Klik om te laden","templateLoadHint":"Sjabloon laadt het verzoek in {format} formaat. Wijzig het bronformaat om in een ander formaat te laden.","compatibilityTester":"Compatibiliteitstester","compatibilityReport":"Compatibiliteitsrapport","testBenchDescription":"Voer vooraf gedefinieerde scenario\'s uit (Simple Chat, Tool Calling, enz.) om de vertaling en compatibiliteit van providers te verifiëren. Selecteer een bronformaat en doelprovider en voer vervolgens alle tests uit om een compatibiliteitspercentage te zien. Gebruik dit om te ontdekken welke functies bij verschillende providers werken.","targetProvider":"Doelaanbieder","runAllTests":"Voer alle tests uit","runTest":"Test uitvoeren","reRun":"Opnieuw uitvoeren","running":"Rennen...","passed":"voorbij","failed":"mislukt","passedIconLabel":"✅Geslaagd","chunks":"brokken","scenarioSimpleChat":"Eenvoudig chatten","scenarioToolCalling":"Gereedschap bellen","scenarioMultiTurn":"Multi-turn","scenarioThinking":"Denken","scenarioSystemPrompt":"Systeemprompt","scenarioStreaming":"Streamen","templateNames":{"simple-chat":"Eenvoudig chatten","tool-calling":"Gereedschap bellen","multi-turn":"Multi-turn","thinking":"Denken","system-prompt":"Systeemprompt","streaming":"Streamen"},"templateDescriptions":{"simple-chat":"Basis sms-bericht","tool-calling":"Functie-/toolaanroep","multi-turn":"Gesprek met de geschiedenis","thinking":"Uitgebreid nadenken/redeneren","system-prompt":"Complexe systeeminstructies","streaming":"SSE-streamingverzoek"},"templatePayloads":{"simpleChat":{"system":"Je bent een behulpzame assistent.","userGreeting":"Hallo! Hoe gaat het vandaag met je?"},"toolCalling":{"userWeather":"Hoe is het weer in Sao Paulo?","toolDescription":"Ontvang het huidige weer voor een locatie","cityNameDescription":"Naam van de stad"},"multiTurn":{"system":"Je bent codeerassistent.","userInitial":"Schrijf een functie om een array in Python te sorteren.","assistantExample":"Hier is een eenvoudige sorteerfunctie:\\n\\n```python\\ndef sort_array(arr):\\n retour gesorteerd(arr)\\n```","userFollowUp":"Sorteer het nu in aflopende volgorde."},"thinking":{"question":"Wat is de som van de eerste 100 priemgetallen?"},"systemPrompt":{"systemInstruction":"Je bent een senior software engineer, gespecialiseerd in gedistribueerde systemen. Beantwoord vragen beknopt met behulp van best practices uit de branche. Geef altijd codevoorbeelden wanneer dit relevant is. Formatteer uw antwoorden met behulp van markdown.","question":"Hoe implementeer ik een stroomonderbrekerpatroon?"},"streaming":{"prompt":"Vertel me een kort verhaal over een robot die leert schilderen."}},"openaiCompatibleLabel":"OpenAI-compatibel","anthropicCompatibleLabel":"Antropisch compatibel","noTemplateForFormat":"Geen sjabloon voor dit formaat","translationFailed":"Vertaling mislukt: {error}","pipelineDebugger":"Pijplijn-foutopsporing","translationPipeline":"Vertaalpijplijn","pipelineVisualization":"Visualisatie van pijpleidingen","pipelineVisualizationHint":"Stuur een bericht om te zien hoe uw verzoek via detectie → vertaling → provideroproep verloopt.","chatTesterDescription":"Verzend berichten in een specifiek klantformaat en inspecteer elke stap van de vertaalpijplijn.","chatTesterFlow":"Klantverzoek → Formaatdetectie → OpenAI Intermediate → Providerformaat → Reactie","clickStepToInspect":"Klik op een willekeurige stap om de gegevens in dat stadium te inspecteren.","clientFormat":"Klantformaat","provider":"Aanbieder","modelPlaceholder":"Selecteer of typ een modelnaam...","sendMessageToSeePipeline":"Stuur een bericht om de vertaalpijplijn te bekijken","chatMessageHintPrefix":"Uw bericht wordt opgemaakt als een","chatMessageHintSuffix":"verzoek, vertaald via de pijplijn en verzonden naar de geselecteerde provider.","youWithFormat":"Jij ({format})","assistant":"Assistent","typeMessage":"Typ een bericht...","send":"Verzenden","clientRequest":"Klantverzoek","clientRequestDescription":"De verzoektekst zoals uw klant deze zou verzenden","formatDetected":"Formaat gedetecteerd","formatDetectedDescription":"OmniRoute detecteert automatisch het API-formaat uit de aanvraagstructuur","openaiIntermediate":"OpenAI gemiddeld","openaiIntermediateDescription":"Alle formaten worden eerst genormaliseerd naar OpenAI-formaat (de universele bridge)","providerFormat":"Provider-formaat","providerFormatDescription":"Het OpenAI-formaat wordt vertaald naar het oorspronkelijke formaat van de provider","providerResponse":"Reactie van de leverancier","providerResponseRawDescription":"Het onbewerkte antwoord van de provider-API","providerResponseSseDescription":"De onbewerkte SSE-stream van de provider-API","unexpectedError":"Er is een onverwachte fout opgetreden","error":"Fout","errorMessage":"Fout: {message}","requestFailed":"Verzoek mislukt","noTextExtracted":"(Geen tekst geëxtraheerd)","liveMonitorDescriptionPrefix":"Toont vertaalgebeurtenissen terwijl API-aanroepen door OmniRoute stromen. Gebeurtenissen komen uit de buffer in het geheugen (wordt gereset bij opnieuw opstarten). Gebruik","liveMonitorDescriptionSuffix":"of externe API-aanroepen om gebeurtenissen te genereren."},"usage":{"title":"Gebruik","loggerTab":"Logger","proxyTab":"Proxy","budgetManagement":"Budgetbeheer","budgetSaved":"Budgetlimieten opgeslagen","budgetSaveFailed":"Het is niet gelukt om budget op te slaan","loadingBudgetData":"Budgetgegevens laden...","noApiKeysTitle":"Geen API-sleutels","noApiKeysDescription":"Voeg eerst API-sleutels toe om budgetlimieten in te stellen.","apiKey":"API-sleutel","todaysSpend":"De uitgaven van vandaag","thisMonth":"Deze maand","setLimits":"Stel grenzen","dailyLimitUsd":"Dagelijkse limiet (USD)","monthlyLimitUsd":"Maandelijkse limiet (USD)","warningThresholdPercent":"Waarschuwingsdrempel (%)","dailyLimitPlaceholder":"bijv. 5.00 uur","monthlyLimitPlaceholder":"bijv. 50,00","warningThresholdPlaceholder":"80","saveLimits":"Bewaar grenzen","budgetOk":"Budget OK — {remaining} resterend","budgetExceeded":"Budget overschreden: verzoeken kunnen worden geblokkeerd","totalRequests":"Totaal aantal verzoeken","noDataYet":"Nog geen gegevens","latency":"Latentie","latencyP50":"p50","latencyP95":"p95","latencyP99":"p99","promptCache":"Snelle cache","systemHealth":"Systeemgezondheid","entries":"Inzendingen","activeCount":"{count} actief","openCircuitBreakersDetected":"Open stroomonderbrekers gedetecteerd","hitRate":"Hitpercentage","hitsMisses":"Hits / missers","circuitBreakers":"Stroomonderbrekers","lockedIPs":"Vergrendelde IP\'s","lockoutsAutoRefreshHint":"Tarieflimietvergrendelingen per model • Automatisch vernieuwen 10s","lockedCount":"{count, plural, one {# locked} other {# locked}}","timeLeft":"{time} over","howItWorks":"Hoe het werkt","howItWorksSubtitle":"Ontdek hoe evaluaties uw LLM-reacties valideren","define":"Definieer","defineStepDescription":"Maak testcases met invoerprompts en verwachte uitvoercriteria met behulp van strategieën zoals contain, regex of exacte match.","run":"Rennen","runStepDescription":"Voer testcases uit op uw LLM-eindpunten via OmniRoute. Elke case wordt verzonden als een echt API-verzoek.","evaluate":"Evalueer","evaluateStepDescription":"De antwoorden worden vergeleken met de verwachte criteria. Bekijk voor elk geval de geslaagde/mislukte resultaten met latentiestatistieken en gedetailleerde feedback.","evalSuites":"Evaluatiesuites","evalSuitesHint":"Klik op een suite om testcases te bekijken en voer deze vervolgens uit om uw LLM-eindpunten te evalueren","evalsLoading":"Evaluatiesuites laden...","noEvalSuitesFound":"Geen Eval-suites gevonden","noEvalSuitesDescription":"Eval-suites kunnen worden gedefinieerd via de API of in code. Ze testen de modeluitvoer tegen de verwachte resultaten met behulp van strategieën zoals contain, regex, exacte match en aangepaste functies.","columnCase":"Geval","columnStatus":"Status","columnLatency":"Latentie","columnDetails":"Details","columnModel":"Model","columnStrategy":"Strategie","columnExpected":"Verwacht","statsSuites":"Suites","statsTestCases":"Testgevallen","statsModels":"Modellen","statsCoverage":"Dekking","statsStrategiesCount":"{count} strategieën","evaluationStrategies":"Evaluatiestrategieën","modelsUnderTest":"Modellen die worden getest","searchSuitesPlaceholder":"Zoek suites...","passSuffix":"passeren","casesCount":"{count, plural, one {# case} other {# cases}}","runEval":"Voer Eval uit","runningProgress":"{current}/{total} wordt uitgevoerd...","passRate":"slagingspercentage","summaryBreakdown":"{passed} geslaagd · {failed} mislukt · {total} totaal","passedIconLabel":"✅Geslaagd","failedIconLabel":"❌ Mislukt","detailsContains":"Bevat: \\"{term}\\"","detailsRegex":"Regex: {pattern}","detailsExpected":"Verwacht: \\"{expected}\\"","noResultsYet":"Nog geen resultaten","testCasesCount":"Testgevallen ({count})","noTestCasesDefined":"Geen testgevallen gedefinieerd","runEvalHint":"Klik op \'Eval uitvoeren\' om alle cases tegen uw LLM-eindpunt uit te voeren. Elke test verzendt een echt verzoek via OmniRoute.","notifyNoTestCases":"Er zijn geen testgevallen gedefinieerd voor deze suite","notifyAllCasesPassed":"Alle {total} cases zijn geslaagd ✅","notifySomeCasesFailed":"{passed}/{total} geslaagd, {failed} mislukt","notifyEvalRunFailed":"Evaluatierun mislukt","notifyEvalTitle":"Evaluatie: {name}","modelEvals":"Modelevaluaties","evalsHeroDescription":"Test en valideer uw LLM-eindpunten door vooraf gedefinieerde evaluatiesuites uit te voeren. Elke suite bevat testcases die echte aanwijzingen sturen via OmniRoute en de antwoorden vergelijken met de verwachte criteria, zodat u regressies kunt detecteren, modellen kunt vergelijken en de responskwaliteit van alle providers kunt garanderen.","qualityValidation":"Kwaliteitsvalidatie","modelComparison":"Modelvergelijking","regressionDetection":"Regressiedetectie","latencyBenchmarks":"Latentiebenchmarks","modelLockouts":"Modelvergrendelingen","noLockouts":"Er zijn momenteel geen modellen vergrendeld","activeSessions":"Actieve sessies","noSessions":"Geen actieve sessies","sessionsHint":"Sessies verschijnen terwijl verzoeken door de proxy stromen","sessionsTrackedHint":"Bijgehouden via verzoek om vingerafdrukken • Automatisch vernieuwen 5s","session":"Sessie","age":"Leeftijd","requests":"Verzoeken","connection":"Verbinding","durationMillisecondsShort":"{value}ms","durationSecondsShort":"{value}s","durationMinutesShort":"{value}m","durationHoursShort":"{value}u","reasonSeparator":" - ","notAvailableSymbol":"-","providerLimits":"Limieten van aanbieders","noProviders":"Geen providers aangesloten","connectProvidersForQuota":"Maak verbinding met providers met OAuth om uw API-quotumlimieten en -gebruik bij te houden.","accountsCount":"{count, plural, one {# account} other {# accounts}}","filteredFromCount":"(gefilterd van {count})","autoRefresh":"Automatisch vernieuwen","refreshAll":"Alles vernieuwen","loadingQuotas":"Laden...","account":"Rekening","modelQuotas":"Modelquota","lastUsed":"Laatst gebruikt","actions":"Acties","refreshQuota":"Quota vernieuwen","today":"Vandaag","tomorrow":"Morgen","dayTimeFormat":"{day}, {time}","inDuration":"in {duration}","notApplicable":"N.v.t","rawPlanWithValue":"Ruw plan: {plan}","noPlanFromProvider":"Geen abonnement van aanbieder","noQuotaData":"Geen quotagegevens","ungrouped":"Ungrouped","viewFlat":"Flat","viewByEnvironment":"By Environment","noQuotaDataAvailable":"Geen quotagegevens beschikbaar","noAccountsForTierFilter":"Er zijn geen accounts gevonden voor niveaufilter","tierAll":"Allemaal","tierEnterprise":"Onderneming","tierTeam":"Team","tierBusiness":"Zakelijk","tierUltra":"Ultra","tierPro":"Pro","tierPlus":"Plus","tierFree":"Gratis","tierUnknown":"Onbekend"},"modals":{"waitingAuth":"Wachten op toestemming","verificationUrl":"Verificatie-URL","yourCode":"Jouw code","remoteAccess":"Toegang op afstand:","connectedSuccess":"Succesvol verbonden!","connectionFailed":"Verbinding mislukt","chooseAuthMethod":"Kies uw authenticatiemethode:","awsBuilderId":"AWS Builder-ID","awsIamIdentity":"AWS IAM Identiteitscentrum","googleAccount":"Google-account","githubAccount":"GitHub-account","importToken":"Token importeren","pasteToken":"Plak het vernieuwingstoken uit Kiro IDE.","awsRegion":"AWS-regio","autoDetecting":"Tokens automatisch detecteren...","readingFromCache":"Lezen uit AWS SSO-cache","readingFromCursor":"Lezen uit de Cursor IDE-database","initializing":"Initialiseren...","pricingConfig":"Prijsconfiguratie","loadingPricing":"Prijsgegevens laden...","pricingRatesFormat":"Formaat prijstarieven","noPricingData":"Geen prijsgegevens beschikbaar","noModelsFound":"Geen modellen gevonden"},"loggers":{"allProviders":"Alle aanbieders","allModels":"Alle modellen","allAccounts":"Alle rekeningen","allApiKeys":"Alle API-sleutels","allTypes":"Alle soorten","allLevels":"Alle niveaus","modelAZ":"Model A-Z","modelZA":"Model Z-A","loadingLogs":"Logboeken laden...","loadingProxyLogs":"Proxylogboeken laden...","noLogEntries":"Geen logvermeldingen gevonden","noPayloadData":"Er zijn geen payloadgegevens beschikbaar voor deze logvermelding.","proxyEvent":"Proxy-evenement","proxy":"Proxy","level":"Niveau","directNative":"Direct (native)","combo":"Combinatie","inputTokens":"ik:","outputTokens":"O:"},"stats":{"usageOverview":"Gebruiksoverzicht","outputTokens":"Uitvoertokens","totalCost":"Totale kosten","usageByModel":"Gebruik per model","usageByAccount":"Gebruik per account","failedToLoad":"Kan gebruiksstatistieken niet laden.","tokenHealth":"Tokengezondheid","totalOAuth":"Totaal OAuth","healthy":"Gezond","warning":"Waarschuwing","errored":"Fout","lastCheck":"Laatste controle","noData":"Geen gegevens","share":"Deel","unableToLoad":"Kan systeemstatistieken niet laden","product":"Product","resources":"Hulpbronnen","company":"Bedrijf"},"auth":{"welcome":"Welkom","signIn":"Log in","enterPassword":"Voer uw wachtwoord in om door te gaan","password":"Wachtwoord","unifiedProxy":"Uniforme AI API-proxy","unifiedAiApiProxy":"Uniforme AI API-proxy","unifiedAiApiProxyDesc":"Routeer verzoeken naar meerdere AI-providers via één eindpunt. Load-balancing, failover en gebruiksregistratie zijn ingebouwd.","passwordNotEnabled":"Wachtwoordbeveiliging is niet ingeschakeld","loading":"Laden...","invalidPassword":"Ongeldig wachtwoord","errorOccurredRetry":"Er is een fout opgetreden. Probeer het opnieuw.","configureInstance":"Laten we uw OmniRoute-instantie configureren","runOnboardingWizard":"Voer de onboardingwizard uit om uw wachtwoord in te stellen en verbinding te maken met uw eerste AI-provider.","startOnboarding":"Begin met onboarden","secureYourInstance":"Beveilig uw exemplaar","setPasswordDescription":"Stel een wachtwoord in om uw dashboard te beschermen en uw API-eindpunten te beveiligen tegen ongeautoriseerde toegang.","configurePassword":"Wachtwoord configureren","continue":"Ga door","windowWillClose":"Dit venster wordt automatisch gesloten...","closeTabNow":"U kunt dit tabblad nu sluiten.","copyUrlManual":"Kopieer de URL uit de adresbalk en plak deze in de applicatie.","accessDeniedDescription":"U heeft geen toegang tot deze bron. Controleer uw API-sleutel of neem contact op met de beheerder.","goToDashboard":"Ga naar Dashboard","featureMultiProviderTitle":"Meerdere aanbieders","featureMultiProviderDesc":"OpenAI, Anthropic, Google en meer","featureLoadBalancingTitle":"Load-balancering","featureLoadBalancingDesc":"Verdeel verzoeken op een intelligente manier","featureUsageTrackingTitle":"Gebruik volgen","featureUsageTrackingDesc":"Houd de kosten en tokens in de gaten","resetPassword":"Wachtwoord opnieuw instellen","resetDescription":"Kies een methode om de toegang tot uw dashboard te herstellen","stopServer":"Stop de OmniRoute-server","processing":"Verwerken...","pleaseWait":"Een ogenblik geduld terwijl we de autorisatie voltooien.","authSuccess":"Autorisatie succesvol!","copyUrl":"Kopieer deze URL","accessDenied":"Toegang geweigerd","methodCliTitle":"Methode 1: CLI-reset","methodCliDescription":"Voer de volgende opdracht uit op de server waarop OmniRoute draait:","methodCliHint":"Hierdoor wordt u gevraagd een nieuw wachtwoord in te stellen. De server moet eerst worden gestopt.","methodManualTitle":"Methode 2: Handmatige reset","methodManualDescription":"Verwijder het wachtwoord uit de database en stel bij het opstarten een nieuw wachtwoord in:","setPasswordInYour":"Stel een nieuw wachtwoord in in uw","fileLabelSuffix":"bestand:","newPasswordPlaceholder":"uw_nieuwe_wachtwoord","deleteSettingsFile":"Verwijderen","orRemovePasswordHashField":"of verwijder het wachtwoordHash-veld","restartServerWithNewPassword":"Start de server opnieuw op. Deze gebruikt het nieuwe wachtwoord","backToLogin":"Terug naar Inloggen","forgotPassword":"Wachtwoord vergeten?","defaultPasswordHint":"Default password: 123456 (unless INITIAL_PASSWORD was set)","Authorization":"Autorisatie","Content-Disposition":"Inhoud-dispositie","waitingForAuthorization":"Wachten op toestemming...","waitingForGoogleAuthorization":"Wachten op Google-autorisatie...","waitingForOpenAIAuthorization":"Wachten op OpenAI-autorisatie...","waitingForAntigravityAuthorization":"Wachten op toestemming voor anti-zwaartekracht...","waitingForIFlowAuthorization":"Wachten op iFlow-autorisatie...","exchangingCodeForTokens":"Code uitwisselen voor tokens..."},"landing":{"brandName":"OmniRoute","navigateHome":"Navigeer naar huis","toggleMenu":"Schakelmenu","featuresLink":"Kenmerken","docsLink":"Documenten","github":"GitHub","versionLive":"v1.0 is nu live","oneEndpoint":"Eén eindpunt voor","allProviders":"Alle AI-providers","heroDescription":"AI-eindpuntproxy met webdashboard - Een JavaScript-poort van CLIProxyAPI. Werkt naadloos samen met Claude Code, OpenAI Codex, Cline, RooCode en andere CLI-tools.","getStarted":"Aan de slag","viewOnGithub":"Bekijk op GitHub","powerfulFeatures":"Krachtige functies","featuresSubtitle":"Alles wat u nodig heeft om uw AI-infrastructuur op één plek te beheren, gebouwd voor schaal.","featureUnifiedEndpointTitle":"Uniform eindpunt","featureUnifiedEndpointDesc":"Toegang tot alle providers via één standaard API-URL.","featureEasySetupTitle":"Eenvoudige installatie","featureEasySetupDesc":"Ga binnen enkele minuten aan de slag met de opdracht npx.","featureModelFallbackTitle":"Modelterugval","featureModelFallbackDesc":"Schakel automatisch over naar providers bij storingen of hoge latentie.","featureUsageTrackingTitle":"Gebruik volgen","featureUsageTrackingDesc":"Gedetailleerde analyses en kostenmonitoring voor alle modellen.","featureOAuthApiKeysTitle":"OAuth- en API-sleutels","featureOAuthApiKeysDesc":"Beheer inloggegevens veilig in één kluis.","featureCloudSyncTitle":"Cloudsynchronisatie","featureCloudSyncDesc":"Synchroniseer uw configuraties direct op verschillende apparaten.","featureCliSupportTitle":"CLI-ondersteuning","featureCliSupportDesc":"Werkt met Claude Code, Codex, Cline, Cursor en meer.","featureDashboardTitle":"Dashboard","featureDashboardDesc":"Visueel dashboard voor realtime verkeersanalyse.","howItWorks":"Hoe OmniRoute werkt","howItWorksDescription":"Gegevens stromen naadloos van uw applicatie via onze intelligente routeringslaag naar de beste provider voor de taak.","howItWorksStep1Title":"1. CLI en SDK\'s","howItWorksStep1Description":"Uw verzoeken beginnen vanuit uw favoriete tools of onze uniforme SDK. Wijzig gewoon de basis-URL.","howItWorksStep2Title":"2. OmniRoute-hub","howItWorksStep2Description":"Onze engine analyseert de prompt, controleert de status van de provider en routeert voor de laagste latentie of kosten.","howItWorksStep3Title":"3. AI-aanbieders","howItWorksStep3Description":"Aan het verzoek wordt onmiddellijk voldaan door OpenAI, Anthropic, Gemini of anderen.","getStartedIn30Seconds":"Ga binnen 30 seconden aan de slag","getStartedDescription":"Installeer OmniRoute, configureer uw providers via een webdashboard en begin met het routeren van AI-verzoeken.","installOmniRoute":"Installeer OmniRoute","installStepDescription":"Voer de npx-opdracht uit om de server onmiddellijk te starten","openDashboard":"Dashboard openen","openDashboardStepDescription":"Configureer providers en API-sleutels via de webinterface","routeRequests":"Routeverzoeken","routeRequestsStepDescription":"Verwijs uw CLI-tools naar {endpoint}","terminal":"terminaal","copy":"Kopieer","copied":"✓ Gekopieerd","startingOmniRoute":"OmniRoute starten...","serverRunningOnLabel":"Server draait aan","dashboardLabel":"Dashboard","readyToRoute":"Klaar om te routen! ✓","configureProvidersNote":"📝 Configureer providers in het dashboard of gebruik omgevingsvariabelen","dataLocation":"Gegevenslocatie:","dataLocationMacLinux":" macOS/Linux:","dataLocationWindows":" Ramen:","product":"Product","dashboardLink":"Dashboard","changelog":"Wijzigingslog","resources":"Hulpbronnen","documentation":"Documentatie","npm":"NPM","legal":"Legaal","mitLicense":"MIT-licentie","footerTagline":"Het uniforme eindpunt voor het genereren van AI. Verbind, routeer en beheer uw AI-providers eenvoudig.","copyright":"© {year} OmniRoute. Alle rechten voorbehouden.","flowToolClaudeCode":"Claude Code","flowToolOpenAICodex":"OpenAI-codex","flowToolCline":"Klijn","flowToolCursor":"Cursor","flowProviderOpenAI":"OpenAI","flowProviderAnthropic":"Antropisch","flowProviderGemini":"Tweeling","flowProviderGithubCopilot":"GitHub-copiloot","interactiveDiagram":"Interactief diagram zichtbaar op het bureaublad","ctaTitle":"Klaar om uw AI-infrastructuur te vereenvoudigen?","ctaDescription":"Sluit u aan bij ontwikkelaars die hun AI-integraties stroomlijnen met OmniRoute. Open source en gratis om te beginnen.","startFree":"Begin gratis","readDocumentation":"Documentatie lezen"},"docs":{"title":"Documentatie","quickStart":"Snel beginnen","features":"Kenmerken","supportedProviders":"Ondersteunde providers","supportedProvidersToc":"Aanbieders","commonUseCases":"Veelvoorkomende gebruiksscenario\'s","clientCompatibility":"Compatibiliteit met klanten","protocolsToc":"Protocols","apiReference":"API-referentie","method":"Methode","path":"Pad","notes":"Opmerkingen","modelPrefixes":"Modelvoorvoegsels","prefix":"Voorvoegsel","troubleshooting":"Problemen oplossen","supportsChat":"Ondersteunt zowel chat- als reacties-eindpunten.","oauthAutoRefresh":"OAuth-verbinding met automatische tokenvernieuwing.","fullStreaming":"Volledige streamingondersteuning voor alle modellen.","docsLabel":"Documenten","docsHeroDescription":"AI-gateway voor LLM\'s met meerdere providers. Eén eindpunt voor OpenAI, Anthropic, Gemini, GitHub Copilot, Claude Code, Cursor en nog meer dan 20 providers.","openDashboard":"Dashboard openen","endpointPage":"Eindpuntpagina","github":"GitHub","reportIssue":"Rapporteer probleem","onThisPage":"Op deze pagina","documentationVersion":"Documentatie - v{version}","quickStartStep1Title":"1. Installeren en uitvoeren","quickStartStep1Prefix":"Rennen","quickStartStep1Middle":"of kloon van GitHub en voer het uit","quickStartStep2Title":"2. Maak een API-sleutel","quickStartStep2Text":"Ga naar Eindpunt -> Geregistreerde sleutels. Genereer één sleutel per omgeving.","quickStartStep3Title":"3. Verbind aanbieders","quickStartStep3Text":"Voeg provideraccounts toe via OAuth-aanmelding, API-sleutel of gratis automatische verbinding.","quickStartStep4Title":"4. Stel de clientbasis-URL in","quickStartStep4Prefix":"Verwijs naar uw IDE- of API-client","quickStartStep4Suffix":"Gebruik bijvoorbeeld het providervoorvoegsel","featureRoutingTitle":"Routering door meerdere providers","featureRoutingText":"Routeer verzoeken naar meer dan 30 AI-providers via één enkel OpenAI-compatibel eindpunt. Ondersteunt API\'s voor chat, reacties, audio en afbeeldingen.","featureCombosTitle":"Combo\'s en balanceren","featureCombosText":"Creëer modelcombinaties met fallback-ketens en balanceringsstrategieën: round-robin, prioriteit, willekeurig, minst gebruikt en kostengeoptimaliseerd.","featureUsageTitle":"Gebruik en kosten bijhouden","featureUsageText":"Realtime tokentelling, kostenberekening per provider/model en gedetailleerd gebruiksoverzicht per API-sleutel en account.","featureAnalyticsTitle":"Analytics-dashboard","featureAnalyticsText":"Visuele analyses met grafieken voor verzoeken, tokens, fouten, latentie, kosten en modelpopulariteit in de loop van de tijd.","featureHealthTitle":"Gezondheidsmonitoring","featureHealthText":"Live statuscontroles, providerstatus, status van stroomonderbrekers en automatische detectie van snelheidslimieten met exponentiële uitstel.","featureCliTitle":"CLI-hulpmiddelen","featureCliText":"Beheer IDE-configuraties, exporteer/importeer back-ups, ontdek codexprofielen en configureer instellingen vanaf het dashboard.","featureSecurityTitle":"Beveiliging en beleid","featureSecurityText":"API-sleutelverificatie, IP-filtering, prompt injection guard, domeinbeleid, sessiebeheer en auditlogboekregistratie.","featureCloudSyncTitle":"Cloudsynchronisatie","featureCloudSyncText":"Synchroniseer uw configuratie met Cloudflare Workers voor externe toegang met gecodeerde inloggegevens en automatische failover.","providersAcrossConnectionTypes":"{count} providers in drie verbindingstypen.","manageProviders":"Beheer aanbieders","providersCount":"{count} aanbieders","providerTypeFree":"Gratis niveau","providerTypeOAuth":"OAuth","providerTypeApiKey":"API-sleutel","useCaseSingleEndpointTitle":"Eén eindpunt voor veel providers","useCaseSingleEndpointText":"Verwijs clients naar één basis-URL en routeer op modelvoorvoegsel (bijvoorbeeld: gh/, cc/, kr/, openai/).","useCaseFallbackTitle":"Fallback en modelwisseling met combo\'s","useCaseFallbackText":"Creëer combomodellen in Dashboard en houd de clientconfiguratie stabiel terwijl providers intern roteren.","useCaseUsageVisibilityTitle":"Zichtbaarheid van gebruik, kosten en foutopsporing","useCaseUsageVisibilityText":"Houd tokens en kosten bij per provider, account en API-sleutel op de tabbladen Gebruik en Analyse.","clientCherryStudioTitle":"Kersenstudio","baseUrlLabel":"Basis-URL","chatEndpointLabel":"Chat-eindpunt","modelRecommendationLabel":"Modelaanbeveling: expliciet voorvoegsel","clientCodexTitle":"Codex / GitHub Copilot-modellen","clientCodexBullet1":"Gebruik model-ID\'s met","clientCodexBullet2":"Modellen uit de Codex-familie routeren automatisch naar","clientCodexBullet3":"Niet-Codex-modellen gaan door","clientCursorTitle":"Cursor-IDE","clientCursorBullet1":"Gebruik","clientCursorBullet1Suffix":"voorvoegsel voor Cursor-modellen.","clientCursorBullet2":"OAuth-verbinding - log in vanaf de pagina Providers.","clientClaudeTitle":"Claude Code / Antizwaartekracht","clientClaudeBullet1Prefix":"Gebruik","clientClaudeBullet1Middle":"(Claude) of","clientClaudeBullet1Suffix":"(Antizwaartekracht) voorvoegsel.","protocolsTitle":"Protocols: MCP & A2A","protocolsDescription":"OmniRoute exposes two operational protocols in addition to OpenAI-compatible APIs: MCP for tool execution and A2A for agent-to-agent workflows.","protocolMcpTitle":"MCP (Model Context Protocol)","protocolMcpDesc":"Use MCP over stdio to let clients discover and call OmniRoute tools with audit visibility.","protocolMcpStep1":"Start MCP transport with `omniroute --mcp`.","protocolMcpStep2":"Point your MCP client to stdio transport.","protocolMcpStep3":"Call `omniroute_get_health` and `omniroute_list_combos` to validate connectivity.","protocolA2aTitle":"A2A (Agent2Agent)","protocolA2aDesc":"Use A2A JSON-RPC to submit tasks synchronously or via SSE streaming.","protocolA2aStep1":"Read `/.well-known/agent.json` for agent discovery.","protocolA2aStep2":"Send `message/send` or `message/stream` requests to `POST /a2a`.","protocolA2aStep3":"Manage task lifecycle with `tasks/get` and `tasks/cancel`.","protocolTroubleshootingTitle":"Protocol Troubleshooting","protocolTroubleshooting1":"If MCP status is offline, verify the stdio process is running and heartbeat file is updating.","protocolTroubleshooting2":"If A2A tasks stay in `working`, inspect `/api/a2a/tasks/:id` and stream events for terminal state.","protocolTroubleshooting3":"Use `/dashboard/mcp` and `/dashboard/a2a` for operational controls and audit visibility.","endpointChatNote":"OpenAI-compatibel chat-eindpunt (standaard).","endpointResponsesNote":"Reacties API-eindpunt (Codex, o-serie).","endpointModelsNote":"Modelcatalogus voor alle aangesloten providers.","endpointAudioNote":"Audiotranscriptie (Deepgram, AssemblyAI).","endpointImagesNote":"Beeldgeneratie (NanoBanana).","endpointRewriteChatNote":"Herschrijfhulp voor clients zonder /v1.","endpointRewriteResponsesNote":"Herschrijfhulp voor reacties zonder /v1.","endpointRewriteModelsNote":"Herschrijfhulp voor modeldetectie zonder /v1.","modelPrefixesDescriptionStart":"Gebruik het providervoorvoegsel vóór de modelnaam om naar een specifieke provider te routeren. Voorbeeld:","modelPrefixesDescriptionEnd":"routes naar GitHub Copilot.","provider":"Aanbieder","type":"Typ","troubleshootingModelRouting":"Als de client faalt met modelrouting, gebruik dan een expliciete provider/model (bijvoorbeeld: gh/gpt-5.1-codex).","troubleshootingAmbiguousModels":"Als u dubbelzinnige modelfouten ontvangt, kiest u een providervoorvoegsel in plaats van een kale model-ID.","troubleshootingCodexFamily":"Voor modellen uit de GitHub Codex-familie behoudt u het model als gh/codex-model; router selecteert /responses automatisch.","troubleshootingTestConnection":"Gebruik Dashboard > Providers > Verbinding testen voordat u gaat testen vanaf IDE\'s of externe clients.","troubleshootingCircuitBreaker":"Als een provider aangeeft dat de stroomonderbreker open is, wacht dan op de cooldown of kijk op de Gezondheidspagina voor meer informatie.","troubleshootingOAuth":"Voor OAuth-providers geldt dat u opnieuw moet verifiëren als tokens verlopen. Controleer de statusindicator van de providerkaart.","managementApiReference":"Management API Reference","managementApiDescription":"Automation endpoints for proxy registry, scope assignments, and legacy proxy migration.","mgmtProxiesListNote":"List saved proxy registry items (supports pagination).","mgmtProxiesCreateNote":"Create a reusable proxy item in the registry.","mgmtProxiesHealthNote":"Get 24h/rolling health metrics per saved proxy from proxy logs.","mgmtProxiesBulkAssignNote":"Assign or clear one proxy across many scope IDs in one request.","mgmtAssignmentsListNote":"List proxy assignments by scope, scope_id, or proxy_id.","mgmtAssignmentsUpdateNote":"Assign or clear proxy for global/provider/account/combo scope.","mgmtLegacyMigrationNote":"Import legacy proxyConfig maps into registry assignments.","endpointSpeechNote":"Tekst-naar-spraakgeneratie (ElevenLabs, OpenAI TTS).","endpointEmbeddingsNote":"Genereren van tekstinsluiting (OpenAI, Cohere, Voyage)."},"legal":{"privacyPolicy":"Privacybeleid","termsOfService":"Servicevoorwaarden","providerConfigurations":"Providerconfiguraties","apiKeys":"API-sleutels","usageLogs":"Gebruikslogboeken","applicationSettings":"Applicatie-instellingen","viewExportAnalytics":"Gebruiksanalyses bekijken en exporteren","clearHistory":"Wis de gebruiksgeschiedenis op elk gewenst moment","configureRetention":"Configureer het bewaarbeleid voor logboeken","backupRestore":"Maak een back-up van uw database en herstel deze","privacyMetadataTitle":"Privacybeleid | OmniRoute","privacyMetadataDescription":"Privacybeleid voor de OmniRoute AI API-proxyrouter.","termsMetadataTitle":"Servicevoorwaarden | OmniRoute","termsMetadataDescription":"Servicevoorwaarden voor de OmniRoute AI API-proxyrouter.","backToHome":"Terug naar huis","lastUpdated":"Laatst bijgewerkt: {date}","policyLastUpdatedDate":"13 februari 2026","listSeparator":"-","questionsVisit":"Vragen? Bezoek onze","githubRepository":"GitHub-opslagplaats","privacySection1Title":"1. Lokaal-eerste architectuur","privacySection1Text":"OmniRoute is ontworpen als een local-first applicatie. Alle gegevensverwerking en opslag vindt volledig op uw machine plaats. Er is geen gecentraliseerde server die uw gegevens verzamelt.","privacySection2Title":"2. Gegevens die we opslaan","privacyDataStoredIn":"De volgende gegevens worden lokaal opgeslagen in","privacyDataProviderConfigurationsDesc":"verbindings-URL\'s, providertypen en prioriteitsinstellingen","privacyDataApiKeysDesc":"gecodeerd en lokaal opgeslagen voor authenticatie bij AI-providers","privacyDataUsageLogsDesc":"aantal verzoeken, tokengebruik, modelnamen, tijdstempels en responstijden","privacyDataApplicationSettingsDesc":"themavoorkeuren, routeringsstrategie en combo-configuraties","privacySection3Title":"3. Geen telemetrie","privacySection3Text":"OmniRoute verzamelt geen telemetrie-, analyse- of crashrapporten. Er worden geen gegevens naar ons of een derde partij verzonden. Uw gebruikspatronen, API-aanroepen en configuraties blijven volledig privé.","privacySection4Title":"4. Externe AI-aanbieders","privacySection4Text":"Wanneer u API-aanroepen doet via OmniRoute, worden uw verzoeken doorgestuurd naar de AI-providers die u heeft geconfigureerd (bijvoorbeeld: OpenAI, Anthropic, Google). Deze providers hebben hun eigen privacybeleid waarin wordt bepaald hoe zij met uw gegevens omgaan. Controleer alstublieft:","privacyOpenAiPolicy":"OpenAI-privacybeleid","privacyAnthropicPolicy":"Antropisch privacybeleid","privacyGooglePolicy":"Google-privacybeleid","privacySection5Title":"5. Cloudsynchronisatie (optioneel)","privacySection5Text":"Als u de optionele cloudsynchronisatiefunctie inschakelt, kunnen providerconfiguraties en API-sleutels worden verzonden naar een geconfigureerd cloudeindpunt. Deze functie is standaard uitgeschakeld en vereist expliciete aanmelding.","privacySection6Title":"6. Loggen","privacyLoggingIntro":"Verzoeklogboeken kunnen worden geconfigureerd via de dashboardinstellingen. U kunt:","privacySection7Title":"7. Uw rechten","privacySection7TextStart":"Omdat alle gegevens lokaal worden opgeslagen, heeft u volledige controle. U kunt uw gegevens op elk gewenst moment verwijderen door de","privacySection7TextEnd":"map of met behulp van de databaseback-up- en -herstelfuncties in het dashboard.","termsSection1Title":"1. Overzicht","termsSection1Text":"OmniRoute is een local-first AI API-proxyrouter die volledig op uw machine werkt. Het stuurt verzoeken door naar meerdere AI-providers met taakverdeling, failover en gebruiksregistratie.","termsSection2Title":"2. Verantwoordelijkheden van gebruikers","termsResponsibilityApiKeys":"U bent als enige verantwoordelijk voor het beheer van uw eigen API-sleutels en inloggegevens voor externe AI-providers (OpenAI, Anthropic, Google, enz.).","termsResponsibilityCompliance":"U moet voldoen aan de servicevoorwaarden van elke AI-provider waarvan u via OmniRoute toegang krijgt tot de API.","termsResponsibilitySecurity":"U bent verantwoordelijk voor de beveiliging van uw lokale OmniRoute-installatie, inclusief het instellen van een wachtwoord en het beperken van netwerktoegang.","termsSection3Title":"3. Hoe het werkt","termsSection3Text":"OmniRoute fungeert als intermediaire proxy. API-aanroepen die naar OmniRoute worden verzonden, worden vertaald en doorgestuurd naar uw geconfigureerde AI-providers. OmniRoute wijzigt de inhoud van uw verzoeken of antwoorden niet behalve de noodzakelijke protocolvertaling.","termsSection4Title":"4. Gegevensverwerking","termsDataStoredLocally":"Alle gegevens worden lokaal op uw machine opgeslagen in een SQLite-database.","termsNoTransmission":"OmniRoute verzendt geen gegevens naar externe servers, tenzij u expliciet cloudsynchronisatiefuncties inschakelt.","termsDataLocationText":"Gebruikslogboeken, API-sleutels en configuratie worden opgeslagen in","termsSection5Title":"5. Disclaimer","termsSection5Text":"OmniRoute wordt geleverd \\"zoals het is\\" zonder enige vorm van garantie. Wij zijn niet verantwoordelijk voor eventuele kosten die voortvloeien uit API-gebruik, serviceonderbrekingen of gegevensverlies. Zorg altijd voor back-ups van uw configuratie.","termsSection6Title":"6. Open-source","termsSection6Text":"OmniRoute is open source-software. U bent vrij om het te inspecteren, wijzigen en distribueren onder de voorwaarden van de licentie."},"endpoints":{"tabProxy":"Endpoint Proxy","tabApiEndpoints":"API Endpoints","apiEndpointsTitle":"API Endpoints","apiEndpointsDescription":"Backend API endpoints that can be consumed by other applications and services. This section will list all available REST APIs with documentation and testing capabilities.","comingSoon":"Coming Soon","plannedFeatures":"Planned Features","featureRestApi":"REST API endpoint catalog with interactive documentation","featureWebhooks":"Webhook configuration and event subscriptions","featureSwagger":"OpenAPI / Swagger spec auto-generation","featureAuth":"API key and OAuth scope management per endpoint"},"agents":{"title":"CLI Agents","description":"Discover installed CLI agents on your system. Add custom agents for auto-detection.","refresh":"Refresh","installed":"Installed","notFound":"Not Found","builtIn":"Built-in","custom":"Custom","remove":"Remove","addCustomAgent":"Add Custom Agent","addCustomAgentDesc":"Register any CLI tool for detection. It will be scanned automatically on refresh.","agentName":"Agent Name","binaryName":"Binary Name","versionCommand":"Version Command","spawnArgs":"Spawn Args","addAgent":"Add Agent","scanning":"Scanning system for CLI agents...","opencodeIntegration":"OpenCode Integration","opencodeDetected":"opencode {version} detected","opencodeDesc":"Generate a ready-to-use {configFile} with your OmniRoute base URL and all available models — drop it in your project root and run {command}.","downloadConfig":"Download {file}","downloaded":"Downloaded!","setupGuideTitle":"Setup guide","openCliTools":"Open CLI Tools","setupGuideDetectCliTitle":"Detect installed CLIs","setupGuideDetectCliDesc":"Click Refresh after installing or updating a CLI so OmniRoute can rescan binaries and versions.","setupGuideCustomAgentTitle":"Register custom binary","setupGuideCustomAgentDesc":"Use Add Custom Agent when your CLI is not in the built-in list. Provide binary name and version command.","setupGuideCommandMissingTitle":"Fix \'command not found\'","setupGuideCommandMissingDesc":"Ensure the CLI command exists in PATH, open a new terminal session, and rerun Refresh."},"autoCombo":{"title":"Auto-Combo Engine","statusNormal":"Normal","statusIncident":"Incident Mode","modePack":"Mode Pack","providerScores":"Provider Scores","noAutoCombo":"No auto-combo configured.","excludedProviders":"Excluded Providers","noExclusions":"No providers currently excluded.","factorQuota":"Quota","factorHealth":"Health","factorCost":"Cost","factorLatency":"Latency","factorTaskFit":"Task Fit","factorStability":"Stability","factorTierPriority":"Tier Priority","factorTierPriorityDesc":"Prefers accounts with higher quota tiers (Ultra/Pro over Free)","scoreFactorBreakdown":"Scoring Factors","modePackShipFast":"Ship Fast","modePackCostSaver":"Cost Saver","modePackQualityFirst":"Quality First","modePackOfflineFriendly":"Offline Friendly"},"search":{"searchQuery":"Search Query","searchResults":"Search Results","cachedResult":"Cached","searchCost":"Cost","searchTools":"Search Tools","searchToolsDesc":"Advanced search testing with provider comparison","compareProviders":"Compare Providers","rerankResults":"Rerank Results","searchHistory":"Search History","urlOverlap":"URL Overlap","noSearchProviders":"No search providers configured. Add providers in Settings.","noRerankModels":"No rerank model available","webSearch":"Web Search","provider":"Provider","searchType":"Search Type","maxResults":"Max Results","filters":"Filters","country":"Country","language":"Language","timeRange":"Time Range","includeDomains":"Include Domains","excludeDomains":"Exclude Domains","safeSearch":"Safe Search","formatted":"Formatted","rawJson":"JSON","cacheMiss":"cache miss","cacheHit":"cache hit","latency":"Latency","cost":"Cost","results":"Results","rerank":"Rerank","rerankModel":"Rerank Model","positionDelta":"Position Change","emptyState":"Send a search query to see results","safeSearchOff":"Off","safeSearchModerate":"Moderate","safeSearchStrict":"Strict","queryPlaceholder":"Enter search query...","providerAuto":"auto (cheapest)","searchTypeWeb":"web","searchTypeNews":"news","optionAny":"any","timeRangeDay":"Past day","timeRangeWeek":"Past week","timeRangeMonth":"Past month","timeRangeYear":"Past year","domainPlaceholder":"example.com","requestTimedOut":"Request timed out ({seconds}s)","networkError":"Network error"},"templateNames":{"simple-chat":"Eenvoudig chatten","streaming":"Streamen","system-prompt":"Systeemprompt","thinking":"Denken","tool-calling":"Gereedschap bellen","multi-turn":"Multi-turn"},"templateDescriptions":{"simple-chat":"Basischatsjabloon met systeembericht","streaming":"Sjabloon voor het streamen van antwoorden","system-prompt":"Sjabloon met aangepaste systeemprompt","thinking":"Sjabloon met redeneer-/denkbudget","tool-calling":"Sjabloon voor het oproepen van gereedschap/functies","multi-turn":"Sjabloon voor gesprekken met meerdere beurten"},"templatePayloads":{"simpleChat":{"system":"Je bent een behulpzame AI-assistent.","userGreeting":"Hallo! Hoe kan ik je vandaag helpen?"},"streaming":{"prompt":"Schrijf een verhaal over"},"systemPrompt":{"question":"Wat is de zin van het leven?","systemInstruction":"Geef een doordacht, filosofisch antwoord."},"thinking":{"question":"Kwantumcomputers uitleggen"},"toolCalling":{"cityNameDescription":"De naam van de stad waarvoor u het weer wilt ophalen","toolDescription":"Ontvang het huidige weer voor een locatie","userWeather":"Hoe is het weer in Tokio?"},"multiTurn":{"system":"Je bent een behulpzame assistent.","assistantExample":"Ik help je daar graag mee.","userInitial":"Ik heb hulp nodig bij","userFollowUp":"Kunt u dat nader toelichten?"}},"cache":{"title":"Cache Management","description":"Monitor and manage semantic response cache, hit rates, and token savings.","refresh":"Refresh","clearAll":"Clear All","memoryEntries":"Memory Entries","dbEntries":"DB Entries","cacheHits":"Cache Hits","tokensSaved":"Tokens Saved","hitRate":"Hit Rate","performance":"Cache Performance","behavior":"Cache Behavior","idempotency":"Idempotency Layer","clearSuccess":"Cache cleared. {count} expired entries removed.","clearError":"Failed to clear cache.","unavailable":"Cache unavailable","unavailableDesc":"Could not fetch cache statistics. Make sure the server is running.","memoryEntriesSub":"In-memory LRU","dbEntriesSub":"Persisted (SQLite)","cacheHitsSub":"of {total} total","tokensSavedSub":"Estimated from hits","autoRefresh":"Auto-refreshes every {seconds}s","hits":"Hits","misses":"Misses","total":"Total","behaviorDeterministic":"Only non-streaming requests with temperature=0 are cached.","behaviorBypass":"Bypass with header {header}.","behaviorTwoTier":"Two-tier storage: in-memory LRU (fast) + SQLite (persistent across restarts).","behaviorTtl":"Default TTL: 30 minutes. Configure via {envVar}.","activeDedupKeys":"Active Dedup Keys","dedupWindow":"Dedup Window"}}'))}];
|
|
1
|
+
module.exports=[895355,a=>{a.v(JSON.parse('{"common":{"save":"Opslaan","cancel":"Annuleer","delete":"Verwijderen","loading":"Laden...","error":"Er is een fout opgetreden","success":"Succes","confirm":"Weet je het zeker?","refresh":"Vernieuwen","close":"Sluiten","add":"Toevoegen","edit":"Bewerken","search":"Zoeken","back":"Terug","next":"Volgende","submit":"Verzenden","reset":"Opnieuw instellen","copy":"Kopieer","copied":"Gekopieerd!","enabled":"Ingeschakeld","disabled":"Uitgeschakeld","active":"Actief","inactive":"Inactief","noData":"Geen gegevens beschikbaar","configure":"Configureer","manage":"Beheer","name":"Naam","actions":"Acties","status":"Status","type":"Typ","model":"Model","models":"modellen","provider":"Aanbieder","account":"Rekening","time":"Tijd","details":"Details","created":"Gemaakt","lastUsed":"Laatst gebruikt","loadMore":"Laad meer","noResults":"Geen resultaten gevonden","reloadPage":"Pagina opnieuw laden","connected":"Verbonden","disconnected":"Verbinding verbroken","notConfigured":"Niet geconfigureerd","testConnection":"Verbinding testen","enable":"Inschakelen","disable":"Uitschakelen","columns":"Kolommen","newest":"Nieuwste","oldest":"Oudste","all":"Allemaal","none":"Geen","yes":"Ja","no":"Nee","warning":"Waarschuwing","note":"Let op","free":"Gratis","skipToContent":"Ga naar de inhoud","maintenanceServerIssues":"Server is experiencing issues. Some features may be unavailable.","maintenanceServerUnreachable":"Server is unreachable. Reconnecting...","accept":"Accepteer","accountId":"Account-ID","alias":"Alias","apiKeyId":"API-sleutel-ID","apiKeyName":"API-sleutelnaam","apiKeySecret":"API-sleutelgeheim","authorization":"Autorisatie","content-type":"Inhoudstype","content-length":"Inhoud lengte","cookie":"Koekje","file":"Bestand","host":"Gastheer","id":"Identiteitskaart","import":"Importeren","limit":"Limiet","offset":"Offset","open":"Openen","origin":"Oorsprong","promptTokens":"Prompt-tokens","completionTokens":"Voltooiingstokens","totalTokens":"Totaal tokens","rawModel":"Ruw model","scope":"Reikwijdte","skill":"Vaardigheid","sortBy":"Sorteer op","sortOrder":"Sorteervolgorde","tab":"Tab","text":"Tekst","textarea":"Tekstgebied","tool":"Gereedschap","toolId":"Gereedschaps-ID","web":"Web","whereUsed":"Waar gebruikt","whitelist":"Witte lijst","blacklist":"Zwarte lijst","resolve":"Oplossen","force":"Kracht","base64url":"Base64-URL","hex":"Hex","range":"Bereik","component":"Onderdeel","redirect_uri":"Omleidings-URI","idempotency-key":"Idempotentie sleutel","error_description":"Foutbeschrijving","code":"Codeer","compatible":"Compatibel","chat-completions":"Chat-voltooiingen","oauth":"OAuth","auth_token":"Authenticatietoken","crypto":"Crypto","hours":"Uur","selfsigned":"Zelf ondertekend","proxy_id":"Proxy-ID","proxyId":"Proxy-ID","connectionId":"Verbindings-ID","resolveConnectionId":"Verbindings-ID oplossen","resolve_connection_id":"Verbindings-ID oplossen","scope_id":"Bereik-ID","scopeId":"Bereik-ID","jwtSecret":"JWT-geheim","keytar":"Keytar","better-sqlite3":"beter-sqlite3","undici":"undici","builder-id":"Bouwer-ID","musicDesc":"Muziekbeschrijving","musicGeneration":"Muziek generatie","idc":"IDC","cloud-status-changed":"Cloudstatus gewijzigd","where_used":"Waar gebruikt","windowMs":"Venster (ms)","social-github":"GitHub","social-google":"Googlen","TOOL_ALLOWLIST":"Tool Toelatingslijst","TOOL_DENYLIST":"Tool-weigerlijst","Failed to save pricing":"Kan de prijzen niet opslaan","Failed to reset pricing":"Kan de prijzen niet opnieuw instellen","apikey":"API-sleutel","http":"HTTP"},"sidebar":{"home":"Thuis","dashboard":"Dashboard","providers":"Aanbieders","combos":"Combo\'s","usage":"Gebruik","analytics":"Analyses","costs":"Kosten","health":"Gezondheid","limits":"Limieten en quota\'s","cliTools":"CLI-hulpmiddelen","media":"Media","settings":"Instellingen","translator":"Vertaler","docs":"Documenten","issues":"Problemen","apiManager":"API-beheerder","logs":"Logboeken","auditLog":"Auditlogboek","shutdown":"Afsluiten","restart":"Opnieuw opstarten","shutdownConfirm":"OmniRoute afsluiten?","restartConfirm":"OmniRoute opnieuw starten?","version":"v{version}","debug":"Foutopsporing","system":"Systeem","help":"Hulp","serverDisconnected":"Serververbinding verbroken","serverDisconnectedMsg":"De proxyserver is gestopt of wordt opnieuw opgestart.","expandSidebar":"Vouw zijbalk uit","collapseSidebar":"Zijbalk samenvouwen","themes":"Themes","presetColors":"Popular colors","createTheme":"Create theme","chooseColor":"Pick one color","themeCoral":"Coral","themeBlue":"Blue","themeRed":"Red","themeGreen":"Green","themeViolet":"Violet","themeOrange":"Orange","themeCyan":"Cyan","endpoints":"Eindpunten","playground":"Speeltuin","agents":"Agenten","cliToolsShort":"Gereedschap","autoCombo":"Auto Combo","searchTools":"Search Tools","cache":"Cache","cacheShort":"Cache"},"themesPage":{"title":"Themes","description":"Choose a preset theme or create your own with a single color","presetColors":"Popular colors","customTheme":"Custom theme","customThemeDesc":"Click create theme and pick one color","createTheme":"Create theme","activePreset":"Actief thema"},"header":{"logout":"Uitloggen","language":"Taal","providers":"Aanbieders","providerDescription":"Beheer uw AI-providerverbindingen","combos":"Combo\'s","comboDescription":"Modelcombo\'s met fallback","usage":"Gebruik en analyse","usageDescription":"Bewaak uw API-gebruik, tokenverbruik en verzoeklogboeken","analytics":"Analyses","analyticsDescription":"Grafieken, trends en evaluatie-inzichten","cliTools":"CLI-hulpmiddelen","cliToolsDescription":"Configureer CLI-tools","home":"Thuis","homeDescription":"Welkom bij OmniRoute","endpoint":"Endpoints","endpointDescription":"Manage proxy endpoints, MCP, A2A, and API endpoints","settings":"Instellingen","settingsDescription":"Beheer uw voorkeuren","openaiCompatible":"OpenAI-compatibel","anthropicCompatible":"Antropisch compatibel","media":"Media","mediaDescription":"Genereer afbeeldingen, video\'s en muziek","themes":"Themes","themesDescription":"Choose a color theme for the whole dashboard panel","mcp":"MCP","mcpDescription":"Model Context Protocol server management and tools","a2a":"A2A","a2aDescription":"Agent-to-Agent protocol tasks and observability"},"home":{"quickStart":"Snel beginnen","quickStartDesc":"In 4 stappen aan de slag. Verbind providers, routemodellen, monitor alles.","fullDocs":"Volledige documenten","step1Title":"1. Maak een API-sleutel","step1Desc":"Ga naar <endpoint>Eindpunt</endpoint> -> Geregistreerde sleutels. Genereer één sleutel per omgeving.","step2Title":"2. Verbind aanbieders","step2Desc":"Voeg accounts toe in <providers>Providers</providers>. Ondersteunt OAuth, API Key en gratis lagen.","step3Title":"3. Wijs uw klant aan","step3Desc":"Stel de basis-URL in op {url} in uw IDE- of API-client.","step4Title":"4. Monitoren en optimaliseren","step4Desc":"Houd tokens, kosten en fouten bij in <logs>Aanvraaglogboeken</logs> en <analytics>Analytics</analytics>.","providersOverview":"Overzicht aanbieders","configuredOf":"{configured} geconfigureerd van {total} beschikbare providers","noModelsAvailable":"Er zijn geen modellen beschikbaar voor deze aanbieder.","configureFirst":"Configureer eerst een verbinding in {providers}","configureProvider":"Configureer aanbieder","modelAvailable":"{count} model beschikbaar","modelsAvailable":"{count} modellen beschikbaar","connectionsActive":"{count} verbinding actief","connectionsActivePlural":"{count} verbindingen actief","copyModelName":"Kopieer de modelnaam","documentation":"Documentatie","healthMonitor":"Gezondheidsmonitor","reportIssue":"Probleem melden","activeError":"{active} actief · {errors} fout","oauthLabel":"OAuth","apiKeyLabel":"API-sleutel","requestsShort":"{count} vereisten","providerModelsTitle":"{provider} - Modellen","copiedModel":"Gekopieerd: {model}","aliasLabel":"alias","updateNow":"Nu bijwerken","updating":"Updaten...","updateAvailableDesc":"Er is een nieuwe versie beschikbaar. Klik om bij te werken.","updateStarted":"Update gestart..."},"analytics":{"title":"Analyses","overviewDescription":"Houd toezicht op uw API-gebruikspatronen, tokenverbruik, kosten en activiteitstrends voor alle providers en modellen.","evalsDescription":"Voer evaluatiesuites uit om uw LLM-eindpunten te testen en te valideren. Vergelijk de modelkwaliteit, detecteer regressies en benchmark de latentie.","overview":"Overzicht","evals":"Evals"},"apiManager":{"title":"API-sleutels","createKey":"Maak een API-sleutel","key":"Sleutel","revokeKey":"Sleutel intrekken","revokeConfirm":"Weet u zeker dat u deze API-sleutel wilt intrekken?","noKeys":"Nog geen API-sleutels","noKeysDesc":"Maak uw eerste API-sleutel om verzoeken aan uw eindpunt te verifiëren","keyLabel":"Sleutellabel","permissions":"Machtigingen","expiresAt":"Verloopt","never":"Nooit","revoke":"Intrekken","showKey":"Toon sleutel","hideKey":"Sleutel verbergen","copyKey":"Kopieer API-sleutel","allModels":"Alle modellen","selectedModels":"Geselecteerde modellen","readOnly":"Alleen lezen","fullAccess":"Volledige toegang","keyManagement":"API-sleutelbeheer","keyManagementDesc":"Maak en beheer API-sleutels voor het verifiëren van verzoeken aan uw eindpunt","totalKeys":"Totaal aantal sleutels","restricted":"Beperkt","totalRequests":"Totaal aantal verzoeken","modelsAvailable":"Modellen beschikbaar","registeredKeys":"Geregistreerde sleutels","keysRegistered":"{count} sleutels geregistreerd","keyRegistered":"{count} sleutel geregistreerd","keysSecurityNote":"Elke sleutel isoleert het volgen van het gebruik en kan onafhankelijk worden ingetrokken. Om veiligheidsredenen worden sleutels na het aanmaken gemaskeerd.","createFirstKey":"Maak uw eerste sleutel","name":"Naam","usage":"Gebruik","created":"Gemaakt","actions":"Acties","reqs":"verzoek","neverUsed":"Nooit gebruikt","deleteConfirm":"Deze API-sleutel verwijderen?","usageTips":"Gebruikstips","tipAuth":"Gebruik API-sleutels in de Authorization-header als Bearer YOUR_KEY","tipSecure":"Sleutels worden tijdens het aanmaken slechts één keer getoond. Bewaar ze veilig","tipSeparate":"Maak afzonderlijke sleutels voor verschillende klanten of omgevingen","tipRestrict":"Beperk sleutels tot specifieke modellen voor betere beveiliging en kostenbeheersing","keyName":"Sleutelnaam","keyNamePlaceholder":"bijvoorbeeld productiesleutel, ontwikkelingssleutel","keyNameDesc":"Kies een beschrijvende naam om het doel van deze sleutel te identificeren","keyCreated":"API-sleutel gemaakt","keyCreatedSuccess":"Sleutel succesvol aangemaakt!","keyCreatedNote":"Kopieer en bewaar deze sleutel nu. Deze wordt niet meer weergegeven.","done":"Klaar","savePermissions":"Bewaar machtigingen","allowAll":"Alles toestaan","restrict":"Beperken","allowAllInfo":"Met deze sleutel heeft u toegang tot alle beschikbare modellen.","restrictInfo":"Deze sleutel heeft toegang tot {selected} van {total} modellen.","selected":"{count} geselecteerd","all":"Allemaal","clear":"Duidelijk","searchModels":"Zoek modellen op naam of aanbieder...","noModelsFound":"Geen modellen gevonden","keyNameRequired":"Sleutelnaam is vereist","keyNameTooLong":"De sleutelnaam mag maximaal {max} tekens bevatten","keyNameInvalid":"De sleutelnaam mag alleen letters, cijfers, spaties, koppeltekens en onderstrepingstekens bevatten","invalidKeyName":"Ongeldige sleutelnaam","failedCreateKey":"Kan sleutel niet maken","failedCreateKeyRetry":"Kan sleutel niet maken. Probeer het opnieuw.","invalidKeyId":"Ongeldige sleutel-ID","failedDeleteKey":"Kan de sleutel niet verwijderen","failedDeleteKeyRetry":"Kan de sleutel niet verwijderen. Probeer het opnieuw.","invalidModelsSelection":"Ongeldige modellenselectie","cannotSelectMoreThanModels":"Kan niet meer dan {max} modellen selecteren","failedUpdatePermissions":"Kan rechten niet updaten","failedUpdatePermissionsRetry":"Kan rechten niet updaten. Probeer het opnieuw.","unknownProvider":"onbekend","copyMaskedKey":"Kopieer gemaskeerde sleutel","modelsCount":"{count, plural, one {# model} other {# models}}","lastUsedOn":"Laatste: {date}","editPermissions":"Machtigingen bewerken","deleteKey":"Sleutel verwijderen","model":"{count}-model","models":"{count} modellen","permissionsTitle":"Machtigingen: {name}","allowAllDesc":"Met deze sleutel heeft u toegang tot alle beschikbare modellen.","restrictDesc":"Deze sleutel heeft toegang tot {selectedCount} van {totalModels} modellen.","selectedCount":"{count} geselecteerd","autoResolve":"Auto-Resolve","autoResolveDesc":"Auto-resolve ambiguous model names to native provider for this API key.","keyActive":"Key Active","keyActiveDesc":"Enable or disable this API key. Disabled keys are immediately rejected with 403.","accessSchedule":"Access Schedule","accessScheduleDesc":"Restrict access to specific hours and days of the week.","scheduleFrom":"From","scheduleUntil":"Until","scheduleDays":"Days","scheduleTimezone":"Timezone","scheduleTimezoneHint":"Use IANA timezone names, e.g. America/New_York, Europe/Berlin","scheduleActive":"Schedule","disabled":"Disabled","daySun":"Sun","dayMon":"Mon","dayTue":"Tue","dayWed":"Wed","dayThu":"Thu","dayFri":"Fri","daySat":"Sat","keyOnlyAvailableAtCreation":"Full key available only at creation time — copy it when you first create the key"},"auditLog":{"title":"Auditlogboek","searchPlaceholder":"Zoekacties...","action":"Actie","actor":"Acteur","target":"Doel","ipAddress":"IP-adres","timestamp":"Tijdstempel","noEntries":"Geen auditgegevens gevonden","filterByAction":"Filter op actie...","filterByActor":"Filter op acteur...","filterEntriesAria":"Filter auditlogboekvermeldingen","filterByActionTypeAria":"Filter op actietype","filterByActorAria":"Filter op acteur","refreshAuditLogAria":"Vernieuw het auditlogboek","tableAria":"Auditlogboekvermeldingen","failedFetchAuditLog":"Kan het auditlogboek niet ophalen","notAvailable":"—","description":"Administratieve acties en beveiligingsgebeurtenissen","showing":"{count} items tonen (offset {offset})","previous":"Vorige"},"media":{"title":"Media-werkplaats","subtitle":"Genereer afbeeldingen, video’s en muziek","model":"Model","prompt":"Prompt","generate":"Genereren","generating":"Generating...","loadingModels":"Loading available models...","noModels":"No models available. Configure providers with media capabilities first.","error":"Generation Failed","result":"Result","imageDescription":"Generate images from text prompts using OpenAI, xAI, Together, Hyperbolic, SD WebUI, ComfyUI and more.","videoDescription":"Create videos with AnimateDiff, Stable Video Diffusion via ComfyUI or SD WebUI.","musicDescription":"Compose music using Stable Audio Open or MusicGen via ComfyUI."},"cliTools":{"title":"CLI-hulpmiddelen","noActiveProviders":"Geen actieve aanbieders","noActiveProvidersDesc":"Voeg eerst providers toe en verbind ze om CLI-tools te configureren.","mapModels":"Kaartmodellen","testConnection":"Verbinding testen","connectionStatus":"Verbindingsstatus","configureEndpoint":"Eindpunt configureren","instructions":"Instructies","modelMapping":"Modeltoewijzing","baseUrl":"Basis-URL","apiKey":"API-sleutel","configured":"Geconfigureerd","notConfigured":"Niet geconfigureerd","notInstalled":"Niet geïnstalleerd","custom":"Aangepast","unknown":"Onbekend","lastSavedAt":"Laatst opgeslagen: {date}","never":"Nooit","justNow":"zojuist","minutesAgoShort":"{count}m geleden","hoursAgoShort":"{count}u geleden","daysAgoShort":"{count}d geleden","monthsAgoShort":"{count}mo geleden","yearsAgoShort":"{count}y geleden","runtimeCheckFailed":"Runtimecontrole is mislukt","yourApiKeyPlaceholder":"jouw-api-sleutel","modelPlaceholder":"provider/model-id","configurationSaved":"Configuratie succesvol opgeslagen.","failedToSave":"Kan configuratie niet opslaan.","noApiKeysCreateOne":"Geen API-sleutels - Maak er een op de pagina Sleutels","defaultOmnirouteKey":"sk_omniroute (standaard)","selectModel":"Selecteer Model","selectModelForAlias":"Selecteer model voor {alias}","selectModelForTool":"Selecteer model voor {tool}","select":"Selecteer","clear":"Duidelijk","comingSoon":"Binnenkort beschikbaar","checkingRuntime":"Runtimestatus controleren...","guideOnlyIntegration":"Alleen-gids-integratie (geen lokale runtime vereist)","cliRuntimeDetected":"CLI-runtime gedetecteerd en gereed","cliFoundNotRunnable":"CLI gevonden maar niet uitvoerbaar{reason}","cliRuntimeNotDetected":"CLI-runtime niet gedetecteerd","binary":"Binair","configPath":"Configuratiepad","configPathShort":"Configuratie","failedCheckRuntimeStatus":"Kan de runtimestatus niet controleren.","copy":"Kopieer","copied":"Gekopieerd","copyConfig":"Kopieer configuratie","saveConfig":"Configuratie opslaan","selectionSaved":"Selectie opgeslagen","guide":"Gids","detected":"Gedetecteerd","notReady":"Niet klaar","active":"Actief","inactive":"Inactief","startMitm":"MITM starten","stopMitm":"Stop MITM","mitmStarted":"MITM is succesvol gestart!","mitmStopped":"MITM is succesvol gestopt!","failedStart":"Kan MITM niet starten","failedStop":"Kan MITM niet stoppen","saveMappings":"Bewaar toewijzingen","mappingsSaved":"Kaarten opgeslagen!","failedSaveMappings":"Kan toewijzingen niet opslaan","howItWorks":"Hoe het werkt:","antigravityHowWorksDesc":"Antigravity stuurt verzoeken naar het eindpunt van Google. MITM onderschept ze en stuurt ze door naar OmniRoute.","antigravityStep1":"1. Start MITM om aanvragen via OmniRoute te routeren.","antigravityStep2Prefix":"2. Toevoegen","antigravityStep2Suffix":"naar uw hosts-bestand als 127.0.0.1.","antigravityStep3":"3. Open Antigravity en verzoeken zullen worden geproxyd.","sudoPasswordRequiredTitle":"Sudo-wachtwoord vereist","sudoPasswordHint":"Het beheerderswachtwoord is vereist om de hosts-bestand- en systeemproxy-instellingen te wijzigen.","enterSudoPassword":"Voer het sudo-wachtwoord in","sudoPasswordRequiredError":"Sudo-wachtwoord is vereist.","cancel":"Annuleer","confirm":"Bevestig","settingsApplied":"Instellingen succesvol toegepast!","failedApplySettings":"Kan instellingen niet toepassen","settingsReset":"Instellingen opnieuw ingesteld!","failedResetSettings":"Kan de instellingen niet resetten","backupRestored":"Back-up hersteld!","failedRestore":"Herstellen is mislukt","checkingCli":"{tool} CLI controleren...","cliNotRunnable":"{tool} CLI geïnstalleerd maar kan niet worden uitgevoerd","cliNotInstalled":"{tool} CLI niet geïnstalleerd","cliNotDetected":"{tool} CLI niet gedetecteerd","cliDetectedReady":"{tool} CLI gedetecteerd en gereed","cliFoundFailedHealthcheck":"{tool} CLI is gevonden, maar de runtime-gezondheidscontrole{reason} is mislukt.","installCliPrompt":"Installeer {tool} CLI om deze functie te gebruiken.","installCodexPrompt":"Installeer Codex CLI om de functie voor automatisch toepassen te gebruiken.","hide":"Verbergen","howToInstall":"Hoe te installeren","installationGuide":"Installatiehandleiding","platforms":"macOS/Linux/Windows:","afterInstallationRun":"Na de installatie uitvoeren","toVerify":"verifiëren.","current":"Huidig","baseUrlPlaceholder":"https://.../v1","resetToDefault":"Resetten naar standaard","providerModelPlaceholder":"provider/model-id","apply":"Toepassen","reset":"Opnieuw instellen","manualConfig":"Handmatige configuratie","backups":"Back-ups","configBackups":"Back-ups configureren","noBackupsYet":"Nog geen back-ups. Er worden automatisch back-ups gemaakt vóór elke toepassing of reset.","restore":"Herstellen","backupRestoredReloading":"Back-up hersteld! Status herladen...","failedRestoreBackup":"Kan back-up niet herstellen","applied":"Toegepast!","failed":"Mislukt","resetDone":"Opnieuw instellen!","omnirouteConfiguredOpenAiCompatible":"OmniRoute is geconfigureerd als OpenAI-compatibele provider","provider":"Aanbieder","model":"Model","providers":"Aanbieders","auth":"Aut","noApiKeysAvailable":"Geen API-sleutels beschikbaar","usingDefaultOmniroute":"Standaard gebruiken: sk_omniroute","updateConfig":"Configuratie bijwerken","applyConfig":"Configuratie toepassen","noBackupsAvailable":"Geen back-ups beschikbaar.","profileSaved":"Profiel \\"{name}\\" opgeslagen!","failedSaveProfile":"Kan profiel niet opslaan","profileActivated":"Profiel geactiveerd!","failedActivateProfile":"Kan profiel niet activeren","profiles":"Profielen","savedProfiles":"Opgeslagen profielen","noProfilesYet":"Nog geen profielen opgeslagen. Sla de huidige configuratie op als profiel hieronder.","activate":"Activeer","deleteProfile":"Profiel verwijderen","profileNamePlaceholder":"Profielnaam (bijv. Persoonlijk account)","saveCurrent":"Bewaar huidige","codexAuthNotePrefix":"Codex-gebruik","codexAuthNoteMiddle":"met","codexAuthNoteSuffix":"Klik op \\"Toepassen\\" om automatisch te configureren.","claudeManualConfiguration":"Claude CLI - Handmatige configuratie","codexManualConfiguration":"Codex CLI - Handmatige configuratie","droidManualConfiguration":"Factory Droid - Handmatige configuratie","openClawManualConfiguration":"Open Claw - Handmatige configuratie","clineManualConfiguration":"Cline handmatige configuratie","kiloManualConfiguration":"Kilocode handmatige configuratie","toolDescriptions":{"antigravity":"Google Antigravity IDE met MITM","claude":"Antropische Claude Code CLI","codex":"OpenAI Codex-CLI","droid":"Factory Droid AI-assistent","openclaw":"Open Claw AI-assistent","cline":"Cline AI Coderingsassistent CLI","kilo":"Kilocode AI Assistent CLI","cursor":"Cursor AI-code-editor","continue":"Ga door met AI-assistent","opencode":"OpenCode AI coding agent (Terminal)","kiro":"Amazon Kiro — AI-powered IDE","windsurf":"Windsurf AI Code Editor","copilot":"GitHub Copilot AI Assistant"},"guides":{"cursor":{"notes":{"0":"Vereist Cursor Pro-account om deze functie te gebruiken.","1":"Cursor routeert verzoeken via zijn eigen server, dus lokaal eindpunt wordt niet ondersteund. Schakel Cloud Endpoint in via Instellingen."},"steps":{"1":{"title":"Instellingen openen","desc":"Ga naar Instellingen -> Modellen"},"2":{"title":"Schakel de OpenAI-API in","desc":"Schakel de optie \\"OpenAI API-sleutel\\" in"},"3":{"title":"Basis-URL"},"4":{"title":"API-sleutel"},"5":{"title":"Aangepast model toevoegen","desc":"Klik op \'Alle modellen bekijken\' -> \'Aangepast model toevoegen\'"},"6":{"title":"Selecteer Model"}}},"continue":{"steps":{"1":{"title":"Configuratie openen","desc":"Open het configuratiebestand Doorgaan"},"2":{"title":"API-sleutel"},"3":{"title":"Selecteer Model"},"4":{"title":"Modelconfiguratie toevoegen","desc":"Voeg de volgende configuratie toe aan uw modellenarray:"}},"notes":{"0":"Doorgaan gebruikt het JSON-configuratiebestand."}},"opencode":{"steps":{"1":{"title":"Install OpenCode","desc":"Install via npm: npm install -g opencode-ai"},"2":{"title":"API Key"},"3":{"title":"Set Base URL","desc":"opencode config set baseUrl {{baseUrl}}"},"4":{"title":"Select Model"}},"notes":{"0":"OpenCode vereist API-sleutelconfiguratie.","1":"Stel de basis-URL in op uw OmniRoute-eindpunt."}},"kiro":{"steps":{"1":{"title":"Open Kiro Settings","desc":"Go to Settings → AI Provider"},"2":{"title":"Base URL","desc":"Paste your OmniRoute endpoint URL"},"3":{"title":"API Key"},"4":{"title":"Select Model"}},"notes":{"0":"Voor Kiro is een Amazon-account vereist."}}},"mitmHowWorksDesc":"{toolName} sends requests to its provider endpoint. MITM intercepts and redirects them to OmniRoute.","mitmStep1":"1. Start MITM to route requests through OmniRoute.","mitmStep2Prefix":"2. Add","mitmStep2Suffix":"to your hosts file as 127.0.0.1.","mitmStep3":"3. Open {toolName} and requests will be proxied.","whenToUseLabel":"Wanneer te gebruiken","openToolDocs":"Gereedschapsdocumentatie openen","toolUseCases":{"claude":"Gebruik deze optie als u krachtige planningsworkflows en lange refactoren van meerdere bestanden wilt met Claude Code.","codex":"Gebruik wanneer uw team is gestandaardiseerd op OpenAI Codex CLI-stromen en op profielen gebaseerde authenticatie.","droid":"Gebruik deze wanneer u een lichtgewicht terminalagent nodig heeft die zich richt op snelle codering en opdrachtuitvoeringslussen.","openclaw":"Gebruik dit wanneer u een codeeragent in Open Claw-stijl wilt, maar gerouteerd via OmniRoute-beleid.","cline":"Gebruik deze optie wanneer u codeeragenten in editors configureert en begeleide installatie wilt met OmniRoute-modellen.","kilo":"Gebruik dit wanneer uw workflow afhankelijk is van Kilo Code-opdrachten en snelle iteratieve bewerkingen.","cursor":"Gebruik dit bij het coderen in Cursor en u hebt aangepaste OpenAI-compatibele modellen nodig via OmniRoute.","continue":"Gebruik dit wanneer u Doorgaan in IDE\'s uitvoert en u een draagbare, op JSON gebaseerde providerconfiguratie nodig hebt.","opencode":"Gebruik dit wanneer u de voorkeur geeft aan terminal-native agentruns en scriptautomatisering via OpenCode.","kiro":"Te gebruiken bij het integreren van Kiro en het centraal beheren van modelrouting vanuit OmniRoute.","antigravity":"Gebruik wanneer Antigravity/Kiro-verkeer moet worden onderschept via MITM en naar OmniRoute moet worden gerouteerd.","copilot":"Gebruik wanneer u UX in Copilot-chatstijl wilt terwijl u OmniRoute-sleutels en routeringsregels afdwingt."}},"combos":{"title":"Combo\'s","description":"Creëer modelcombinaties met gewogen routing en fallback-ondersteuning","createCombo":"Combinatie maken","editCombo":"Combinatie bewerken","deleteCombo":"Combinatie verwijderen","noModels":"Geen modellen","noModelsYet":"Er zijn nog geen modellen toegevoegd","addModel":"Model toevoegen","addModelToCombo":"Model toevoegen aan combo","routingStrategy":"Routeringsstrategie","maxRetries":"Maximaal aantal nieuwe pogingen","timeout":"Time-out (ms)","healthcheck":"Gezondheidscontrole","priority":"Prioriteit","fallback":"Terugval","roundRobin":"Ronde Robin","random":"Willekeurig","leastLatency":"Minste latentie","comboName":"Combinatienaam","comboNamePlaceholder":"mijn-combo","deleteConfirm":"Deze combinatie verwijderen?","noCombosYet":"Nog geen combo\'s","comboCreated":"Combinatie is succesvol aangemaakt","comboUpdated":"Combo is succesvol bijgewerkt","comboDeleted":"Combinatie verwijderd","failedCreate":"Kan combo niet maken","failedUpdate":"Kan combo niet updaten","errorCreating":"Fout bij maken van combo","errorUpdating":"Fout bij updaten van combo","errorDeleting":"Fout bij verwijderen van combo","testFailed":"Testverzoek is mislukt","failedToggle":"Kan combo niet schakelen","testResults":"Testresultaten — {name}","resolvedBy":"Opgelost door:","more":"+{count} meer","reqs":"verzoek","success":"succes","proxyConfigured":"Proxy geconfigureerd","copyComboName":"Kopieer de combonaam","enableCombo":"Combinatie inschakelen","disableCombo":"Combinatie uitschakelen","testCombo":"Combinatie testen","duplicate":"Duplicaat","proxyConfig":"Proxy-configuratie","nameRequired":"Naam is vereist","nameInvalid":"Alleen letters, cijfers, -, _, / en . toegestaan","nameHint":"Letters, cijfers, -, _, / en . toegestaan","priorityDesc":"Sequentiële fallback: probeert eerst model 1, dan 2, etc.","weightedDesc":"Verdeelt verkeer op basis van gewichtspercentage met terugval","roundRobinDesc":"Circulaire distributie: elke aanvraag gaat roulerend naar het volgende model","randomDesc":"Uniforme willekeurige selectie en vervolgens terugvallen op de resterende modellen","leastUsedDesc":"Kiest het model met de minste verzoeken, waarbij de belasting in de loop van de tijd wordt verdeeld","costOptimizedDesc":"Routes eerst naar het goedkoopste model op basis van prijzen","strictRandom":"Strict Random","strictRandomDesc":"Shuffle deck — uses each model once before reshuffling","models":"Modellen","autoBalance":"Automatische balans","advancedSettings":"Geavanceerde instellingen","retryDelay":"Vertraging opnieuw proberen (ms)","concurrencyPerModel":"Gelijktijdigheid / model","queueTimeout":"Wachtrijtime-out (ms)","advancedHint":"Laat leeg om globale standaardwaarden te gebruiken. Deze overschrijven de instellingen per provider.","moveUp":"Ga omhoog","moveDown":"Ga naar beneden","removeModel":"Verwijderen","saving":"Opslaan...","weighted":"Gewogen","leastUsed":"Minst gebruikt","costOpt":"Kosten-opt","strategyGuideTitle":"Hoe deze strategie te gebruiken","strategyGuideWhen":"Wanneer te gebruiken","strategyGuideAvoid":"Vermijd wanneer","strategyGuideExample":"Voorbeeld","strategyGuide":{"priority":{"when":"U heeft één voorkeursmodel en wilt alleen terugvallen op mislukkingen.","avoid":"You need request distribution across models.","example":"Primary coding model with cheaper backup for outages."},"weighted":{"when":"You need controlled traffic split across models.","avoid":"You cannot maintain accurate weights over time.","example":"80% stable model + 20% canary model rollout."},"round-robin":{"when":"You want predictable and even distribution.","avoid":"Models differ too much in latency or cost.","example":"Same model on multiple accounts to spread throughput."},"random":{"when":"You want simple distribution with minimal setup.","avoid":"You need strict traffic guarantees.","example":"Quick prototyping with equivalent models."},"least-used":{"when":"You want adaptive balancing based on live demand.","avoid":"Traffic is too low to benefit from usage balancing.","example":"Mixed workloads where one model often gets overloaded."},"cost-optimized":{"when":"Cost reduction is your top priority.","avoid":"Pricing data is missing or outdated.","example":"Background or batch jobs where lower cost is preferred."}},"advancedHelp":{"maxRetries":"How many retries are attempted before failing a request.","retryDelay":"Initial wait between retries. Higher values reduce burst pressure.","timeout":"Maximum request duration before aborting.","healthcheck":"Skips unhealthy models/providers from routing decisions.","concurrencyPerModel":"Max simultaneous requests allowed per model in round-robin.","queueTimeout":"How long a request can wait in queue before timing out."},"templatesTitle":"Quick templates","templatesDescription":"Apply a starting profile, then adjust models and config.","templateApply":"Apply template","templateHighAvailability":"High availability","templateHighAvailabilityDesc":"Priority routing with health checks and safe retries.","templateCostSaver":"Cost saver","templateCostSaverDesc":"Cost-optimized routing for budget-first workloads.","templateBalanced":"Balanced load","templateBalancedDesc":"Least-used routing to spread demand over time.","usageGuideHide":"Hide","usageGuideDontShowAgain":"Don\'t show again","usageGuideShow":"Show guide","quickTestTitle":"Combo ready to validate","quickTestDescription":"Run a test now to confirm fallback and latency behavior.","testNow":"Test now","pricingCoverage":"Pricing coverage","pricingCoverageHint":"Cost-optimized works best when all combo models have pricing.","pricingAvailable":"Pricing available","pricingMissing":"No pricing","pricingAvailableShort":"priced","pricingMissingShort":"no-price","warningRoundRobinSingleModel":"Round-robin is most useful with at least 2 models.","warningCostOptimizedPartialPricing":"Only {priced} of {total} models have pricing. Routing may be partially cost-aware.","warningCostOptimizedNoPricing":"No pricing data found for this combo. Cost-optimized may route unexpectedly.","readinessTitle":"Klaar om te besparen?","readinessDescription":"Bekijk de checklist voordat u deze combo maakt of bijwerkt.","readinessCheckName":"Combinatienaam is geldig","readinessCheckModels":"Er is minimaal één model geselecteerd","readinessCheckWeights":"Gewogen totaal is 100%","readinessCheckWeightsOptional":"Gewichtsregel niet vereist","readinessCheckPricing":"Er zijn prijsgegevens beschikbaar","readinessCheckPricingOptional":"Prijsregel is niet vereist","saveBlockedTitle":"Opslaan is geblokkeerd totdat de volgende items zijn opgelost:","saveBlockName":"Definieer een combonaam.","saveBlockModels":"Voeg ten minste één model toe.","saveBlockWeighted":"Stel de gewichten in op 100% (huidig: {total}%).","saveBlockPricing":"Voeg prijzen toe voor ten minste één model of kies een andere strategie.","recommendationsLabel":"Recommended setup","applyRecommendations":"Apply recommendations","recommendationsUpdated":"Recommendations updated for {strategy}.","recommendationsApplied":"Recommendations applied to this combo.","strategyRecommendations":{"priority":{"title":"Fail-safe baseline","description":"Use one primary model and keep fallback chain short and reliable.","tip1":"Put your most reliable model first.","tip2":"Keep 1-2 backup models with similar quality.","tip3":"Use safe retries to absorb transient provider failures."},"weighted":{"title":"Controlled traffic split","description":"Great for canary rollouts and gradual migration between models.","tip1":"Start with conservative split like 90/10.","tip2":"Keep the total at 100% and auto-balance after changes.","tip3":"Monitor success and latency before increasing canary weight."},"round-robin":{"title":"Predictable load sharing","description":"Best when models are equivalent and you need smooth distribution.","tip1":"Use at least 2 models.","tip2":"Set concurrency limits to avoid burst overload.","tip3":"Use queue timeout to fail fast under saturation."},"random":{"title":"Quick spread with low setup","description":"Use when you need simple distribution without strict guarantees.","tip1":"Use models with similar latency profiles.","tip2":"Keep retries enabled to absorb random misses.","tip3":"Prefer this for experimentation, not strict SLAs."},"least-used":{"title":"Adaptive balancing","description":"Routes to less-used models to reduce hotspots over time.","tip1":"Works better under continuous traffic.","tip2":"Combine with health checks for safer balancing.","tip3":"Track per-model usage to validate distribution gains."},"cost-optimized":{"title":"Budget-first routing","description":"Routes to lower-cost models when pricing metadata is available.","tip1":"Ensure pricing coverage for all selected models.","tip2":"Keep a quality fallback for hard prompts.","tip3":"Use for batch/background jobs where cost is the main KPI."}},"templateFreeStack":"Free Stack ($0)","templateFreeStackDesc":"Round-robin across all free providers: Kiro (Claude), iFlow (5 models), Qwen (4 models), Gemini CLI. Zero cost, never stops coding."},"costs":{"title":"Kosten","budget":"Begroting","totalCost":"Totale kosten","breakdown":"Kostenverdeling","noData":"Geen kostengegevens","byModel":"Per model","byProvider":"Door aanbieder"},"endpoint":{"title":"API-eindpunt","available":"Beschikbare eindpunten","cloudProxy":"Cloud-proxy","disableConfirm":"Weet u zeker dat u cloudproxy wilt uitschakelen?","baseUrl":"Basis-URL","apiKeyLabel":"API-sleutel","registeredKeys":"Geregistreerde sleutels","chatCompletions":"Chat-voltooiingen","responses":"Reacties","listModels":"Lijstmodellen","usingCloudProxy":"Cloudproxy gebruiken","usingLocalServer":"Lokale server gebruiken","machineId":"Machine-ID: {id}...","disableCloud":"Schakel Cloud uit","enableCloud":"Schakel Cloud in","modelsAcrossEndpoints":"{models} modellen voor {endpoints} eindpunten","chatDesc":"Streaming & non-streaming chat met alle providers","embeddings":"Inbedding","embeddingsDesc":"Tekstinsluitingen voor zoek- en RAG-pijplijnen","imageGeneration":"Beeld genereren","imageDesc":"Genereer afbeeldingen op basis van tekstprompts","rerank":"Herschikken","rerankDesc":"Herschik documenten op relevantie voor een zoekopdracht","audioTranscription":"Audiotranscriptie","audioTranscriptionDesc":"Audiobestanden omzetten naar tekst (Whisper)","textToSpeech":"Tekst naar spraak","textToSpeechDesc":"Converteer tekst naar natuurlijk klinkende spraak","moderations":"Moderaties","moderationsDesc":"Contentmoderatie en veiligheidsclassificatie","responsesDesc":"OpenAI Responses API for Codex and advanced agentic workflows","listModelsDesc":"List all available models across all connected providers","settingsApiDesc":"Read and modify OmniRoute configuration via API","settingsApi":"Settings API","categoryCore":"Kern-API\'s","categoryMedia":"Media & Multi-Modaal","categoryUtility":"Hulpmiddelen & Beheer","enableCloudTitle":"Schakel Cloudproxy in","whatYouGet":"Wat je krijgt","cloudBenefitAccess":"Krijg overal ter wereld toegang tot uw API","cloudBenefitShare":"Deel het eindpunt eenvoudig met uw team","cloudBenefitPorts":"U hoeft geen poorten te openen of een firewall te configureren","cloudBenefitEdge":"Snel wereldwijd edge-netwerk","cloudSessionNote":"Cloud bewaart uw authentificatiesessie gedurende 1 dag. Als het niet wordt gebruikt, wordt het automatisch verwijderd.","cloudUnstableNote":"De cloud is momenteel in sommige gevallen instabiel met Claude Code OAuth.","cloudConnected":"Cloudproxy verbonden!","connectingToCloud":"Verbinding maken met de cloud...","verifyingConnection":"Verbinding verifiëren...","connecting":"Verbinden...","verifying":"Verifiëren...","connected":"Verbonden!","disableCloudTitle":"Schakel Cloudproxy uit","disableWarning":"Alle authentificatiesessies worden uit de cloud verwijderd.","syncingData":"Laatste gegevens synchroniseren...","disablingCloud":"Cloud uitschakelen...","syncing":"Synchroniseren...","disabling":"Uitschakelen...","cloudConnectedVerified":"Cloud Proxy verbonden en geverifieerd!","connectedVerificationPending":"Verbonden - verificatie in behandeling","connectedVerificationPendingWithError":"Verbonden — verificatie in behandeling: {error}","cloudDisabledSuccess":"Cloud is succesvol uitgeschakeld","syncedSuccess":"Gesynchroniseerd","failedDisable":"Kan de cloud niet uitschakelen","failedEnable":"Kan cloud niet inschakelen","cloudRequestTimeout":"Time-out van cloudverzoek","cloudRequestFailed":"Cloudverzoek mislukt","cloudWorkerUnreachable":"Kon de cloudwerker niet bereiken. Zorg ervoor dat de cloudservice actief is (npm run dev in /cloud).","connectionFailed":"Verbinding mislukt","syncFailed":"Synchroniseren van cloudgegevens is mislukt","providerModelsTitle":"{provider} — Modellen","noModelsForProvider":"Er zijn geen modellen beschikbaar voor deze aanbieder.","chat":"Chatten","embedding":"Inbedding","image":"Afbeelding","custom":"gewoonte","modelsCount":"{count, plural, one {# model} other {# models}}","sectionTitle":"Integration Surface","sectionDescription":"OpenAI-compatible APIs and operational protocol endpoints","tabApis":"OpenAI-compatible APIs","tabProtocols":"Protocols","tabsAria":"Endpoint sections","protocolsTitle":"Protocols","protocolsDescription":"MCP and A2A are first-class endpoints with dedicated observability and controls.","mcpCardTitle":"MCP Server","mcpCardDescription":"Model Context Protocol over stdio","a2aCardTitle":"A2A Server","a2aCardDescription":"Agent2Agent JSON-RPC endpoint","protocolToolsLabel":"Tools","protocolTasksLabel":"Tasks","protocolActiveStreamsLabel":"Active streams","protocolLastActivity":"Last activity","quickStart":"Quick Start","openMcpDashboard":"Open MCP management","openA2aDashboard":"Open A2A management","mcpQuickStartTitle":"MCP Quick Start","mcpQuickStartStep1":"Run the MCP server via `omniroute --mcp`.","mcpQuickStartStep2":"Configure your MCP client to connect over stdio transport.","mcpQuickStartStep3":"Invoke tools such as `omniroute_get_health` and `omniroute_list_combos`.","a2aQuickStartTitle":"A2A Quick Start","a2aQuickStartStep1":"Discover the agent card at `/.well-known/agent.json`.","a2aQuickStartStep2":"Send JSON-RPC requests to `POST /a2a` using `message/send` or `message/stream`.","a2aQuickStartStep3":"Track and control tasks using `tasks/get` and `tasks/cancel`.","completionsLegacy":"Completions (Legacy)","completionsLegacyDesc":"Legacy OpenAI text completions — accepts both prompt string and messages array format","categorySearch":"Search & Discovery","webSearch":"Web Search","webSearchDesc":"Unified web search across multiple providers with automatic failover and caching","searchProvider":"Search Provider","searchProviderDesc":"This provider is used for web search via POST /v1/search. No model configuration needed — search providers are ready to use once an API key is connected.","cloudflaredUrlNotice":"Creates a temporary Cloudflare Quick Tunnel. The URL changes after every restart."},"mcpDashboard":{"loading":"Loading MCP dashboard...","activate":"activate","deactivate":"deactivate","confirmSwitchCombo":"Confirm {action} combo \\"{combo}\\"?","switchComboFailed":"Failed to switch combo state.","switchComboSuccess":"Combo \\"{combo}\\" updated.","confirmApplyProfile":"Apply resilience profile \\"{profile}\\"?","applyProfileFailed":"Failed to apply resilience profile.","applyProfileSuccess":"Profile \\"{profile}\\" applied.","confirmResetBreakers":"Reset all circuit breakers?","resetBreakersFailed":"Failed to reset circuit breakers.","resetBreakersSuccess":"Circuit breakers reset.","processStatus":"Process status","online":"Online","offline":"Offline","pid":"PID","sessionUptime":"Session uptime","lastHeartbeat":"Last heartbeat","activity24h":"Activity (24h)","totalCalls":"Total calls","successRate":"Success rate","avgLatency":"Avg latency","topTools":"Top tools","noToolCalls24h":"No tool calls in the last 24 hours.","runtimeDetails":"Runtime details","transport":"Transport","scopesEnforced":"Scopes enforced","yes":"yes","no":"no","lastCall":"Last call","heartbeatPath":"Heartbeat path","operationalControls":"Operational controls","switchCombo":"Switch combo","inactive":"inactive","active":"active","activateCombo":"Activate combo","deactivateCombo":"Deactivate combo","applyResilienceProfile":"Apply resilience profile","profileAggressive":"aggressive","profileBalanced":"balanced","profileConservative":"conservative","applyProfile":"Apply profile","resetCircuitBreakers":"Reset circuit breakers","resetCircuitBreakersHelp":"Clears current breaker state and failure counters for providers.","resetAllBreakers":"Reset all breakers","toolsAndScopes":"Tools and scopes","tableTool":"Tool","tableScopes":"Scopes","tablePhase":"Phase","tableAudit":"Audit","auditLog":"Audit log","auditSummary":"Calls: {total} | page {page} of {totalPages}","allTools":"All tools","allResults":"All results","success":"Success","failure":"Failure","apiKeyIdPlaceholder":"apiKeyId","loadingAuditEntries":"Loading audit entries...","noAuditEntriesForFilters":"No audit entries found for current filters.","tableTimestamp":"Timestamp","tableDuration":"Duration","tableResult":"Result","tableApiKey":"API key","failed":"failed","previous":"Previous","next":"Next"},"a2aDashboard":{"loading":"Loading A2A dashboard...","confirmCancelTask":"Cancel task {taskId}?","cancelTaskFailed":"Failed to cancel task.","cancelTaskSuccess":"Task {taskId} cancelled.","smokeSendFailed":"message/send smoke test failed.","smokeSendSuccessWithTask":"message/send ok (task {taskId}).","smokeSendSuccess":"message/send ok.","smokeStreamFailed":"message/stream smoke test failed.","smokeStreamSuccessWithTask":"message/stream ok (task {taskId}{stateSuffix}).","smokeStreamNoTaskId":"message/stream finished without task id.","health":"Health","ok":"ok","totalTasks":"Total tasks","activeStreams":"Active streams","lastTask":"Last task","taskStateOverview":"Task state overview","state":{"submitted":"submitted","working":"working","completed":"completed","failed":"failed","cancelled":"cancelled"},"agentCard":"Agentenkaart","version":"Versie","url":"URL","capabilities":"Mogelijkheden","agentCardNotAvailable":"Agentenkaart niet beschikbaar.","quickValidation":"Snelle validatie","quickValidationDescription":"Voert rookoproepen uit via het live `/a2a` eindpunt.","runMessageSend":"Run message/send","runMessageStream":"Run message/stream","taskManagement":"Task management","taskSummary":"{total} tasks | page {page} of {totalPages}","allStates":"all","allSkills":"all skills","loadingTasks":"Loading tasks...","noTasksForFilters":"No tasks found for current filters.","tableTask":"Task","tableSkill":"Skill","tableState":"State","tableUpdated":"Updated","tableActions":"Actions","view":"View","cancel":"Cancel","previous":"Previous","next":"Next","taskDetail":"Task detail","close":"Close","metadata":"Metadata","events":"Events","artifacts":"Artifacts"},"health":{"title":"Systeemgezondheid","description":"Realtime monitoring van uw OmniRoute-instantie","healthy":"Gezond","degraded":"Gedegradeerd","down":"Naar beneden","uptime":"Uptime","memory":"Geheugen","memoryRss":"Geheugen (RSS)","heap":"Hoop","cpu":"CPU","database":"Database","version":"Versie","lastCheck":"Laatste controle","providerHealth":"Gezondheid van de aanbieder","systemMetrics":"Systeemstatistieken","tokenHealth":"Tokengezondheid","refreshAll":"Alles vernieuwen","checkNow":"Controleer nu","loadingHealth":"Gezondheidsgegevens laden...","failedToLoad":"Kan gezondheidsgegevens niet laden: {error}","retry":"Opnieuw proberen","allOperational":"Alle systemen operationeel","issuesDetected":"Systeemproblemen gedetecteerd","updatedAt":"{time} bijgewerkt","latency":"Latentie","latencyP50":"p50","latencyP95":"p95","latencyP99":"p99","millisecondsShort":"{value}ms","notAvailable":"—","totalRequests":"Totaal aantal verzoeken","noDataYet":"Nog geen gegevens","promptCache":"Snelle cache","entries":"Inzendingen","hitRate":"Hitpercentage","hitsMisses":"Hits / missers","signatureCache":"Handtekeningcache","signatureDefaults":"Standaardwaarden","signatureTool":"Gereedschap","signatureFamily":"Familie","signatureSession":"Sessie","recovering":"Herstellend","noCBData":"Er zijn geen stroomonderbrekergegevens beschikbaar. Doe eerst een aantal verzoeken.","providerHealthStatusAria":"Gezondheidsstatus van de provider","issuesLabel":"Problemen gedetecteerd","operational":"Operationeel","providers":"Aanbieders","healthyCount":"{count} gezond","nodeVersion":"Knooppunt {version}","failures":"{count} fout","failuresPlural":"{count} fouten","lastFailure":"Laatste","rateLimitStatus":"Status van tarieflimiet","activeLimiters":"{count} actieve limiter","activeLimitersPlural":"{count} actieve limiters","queued":"In de wachtrij","queuedCount":"{count} staat in de wachtrij","running":"rennen","runningCount":"{count} actief","ok":"Oké","activeLockouts":"Actieve vergrendelingen","resetConfirm":"Alle stroomonderbrekers resetten naar een gezonde status? Hiermee worden alle foutaantallen gewist en worden alle providers teruggezet naar de operationele status.","resetAllTitle":"Reset alle stroomonderbrekers naar de gezonde status","resetting":"Resetten...","resetAll":"Alles resetten","until":"Tot {time}","activeProviders":"{count} active","monitoredProviders":"{count} monitored","configuredProvidersLabel":"Geconfigureerd in dashboard","configuredProvidersHint":"Providers met inloggegevens opgeslagen in /dashboard/providers, ongeacht de runtimestatus.","activeProvidersHint":"Geconfigureerde providers die momenteel zijn ingeschakeld voor het routeren van verzoeken.","monitoredProvidersHint":"Providers worden momenteel gevolgd door gezondheidsmonitors van stroomonderbrekers."},"limits":{"title":"Limieten en quota\'s","rateLimit":"Tarieflimiet","remaining":"Resterend","requestsPerMinute":"Verzoeken/min","tokensPerMinute":"Munten/min","dailyLimit":"Dagelijkse limiet"},"logs":{"title":"Logboeken","requestLogs":"Logboeken aanvragen","proxyLogs":"Proxylogboeken","auditLog":"Auditlogboek","console":"Console","auditLogDesc":"Administratieve acties en beveiligingsgebeurtenissen","loading":"Laden...","refresh":"Vernieuwen","filterByAction":"Filter op actie...","filterByActor":"Filter op acteur...","filterEntriesAria":"Filter auditlogboekvermeldingen","filterByActionTypeAria":"Filter op actietype","filterByActorAria":"Filter op acteur","refreshAuditLogAria":"Vernieuw het auditlogboek","tableAria":"Auditlogboekvermeldingen","failedFetchAuditLog":"Kan het auditlogboek niet ophalen","showing":"{count} items tonen (offset {offset})","search":"Zoeken","timestamp":"Tijdstempel","action":"Actie","actor":"Acteur","target":"Doel","details":"Details","ipAddress":"IP-adres","notAvailable":"—","noEntries":"Geen auditlogboekvermeldingen gevonden","previous":"Vorige","next":"Volgende"},"onboarding":{"welcome":"Welkom","security":"Beveiliging","test":"Testen","ready":"Klaar!","setPassword":"Wachtwoord instellen","addProvider":"Voeg uw eerste provider toe","getStarted":"Aan de slag","skip":"Overslaan","skipWizard":"Sla de wizard geheel over","skipPassword":"Wachtwoordconfiguratie overslaan","skipAndContinue":"Overslaan en doorgaan","passwordLabel":"Wachtwoord","confirmPassword":"Bevestig wachtwoord","enterPassword":"Voer wachtwoord in","confirmPasswordPlaceholder":"Bevestig wachtwoord","passwordsMismatch":"Wachtwoorden komen niet overeen","setupComplete":"Installatie voltooid!","goToDashboard":"Ga naar Dashboard →","welcomeDesc":"OmniRoute is uw lokale AI API-proxy. Het stuurt verzoeken door naar meerdere AI-providers met taakverdeling, failover en gebruiksregistratie.","multiProvider":"Meerdere aanbieders","usageTracking":"Gebruik volgen","apiKeyMgmt":"API-sleutelbeheer","securityDesc":"Stel een wachtwoord in om uw dashboard te beschermen, of sla dit voorlopig over.","providerDesc":"Sluit uw eerste AI-provider aan. Je kunt later meer toevoegen.","apiKeyRequired":"API-sleutel (vereist)","customUrlOptional":"Aangepaste URL (optioneel)","testDesc":"Laten we controleren of uw providerverbinding werkt.","runTest":"Voer de verbindingstest uit","testingConnection":"Verbinding testen...","connectionSuccessful":"Verbinding succesvol! Uw provider is er klaar voor.","noProviderFound":"Geen aanbieder gevonden. U kunt er later een toevoegen via het dashboard.","testFailed":"Test mislukt, maar u kunt dit later configureren.","couldNotTest":"Kon nu niet testen. U kunt testen vanaf het dashboard.","doneDesc":"Je bent helemaal klaar! Uw OmniRoute-instantie is geconfigureerd en klaar om AI-verzoeken te proxyeren.","yourEndpoint":"Uw eindpunt:","continue":"Ga door","retry":"Opnieuw proberen","failedSetPassword":"Kan wachtwoord niet instellen. Probeer het opnieuw.","failedAddProvider":"Kan provider niet toevoegen. Probeer het opnieuw.","connectionError":"Verbindingsfout. Probeer het opnieuw.","provider":"Aanbieder"},"providers":{"title":"Aanbieders","addProvider":"Aanbieder toevoegen","editProvider":"Aanbieder bewerken","deleteProvider":"Aanbieder verwijderen","noProviders":"Geen providers geconfigureerd","modelAvailability":"Beschikbaarheid van modellen","accounts":"Rekeningen","newAccount":"Nieuw account","deleteConfirm":"Weet u zeker dat u deze aanbieder wilt verwijderen?","testing":"Testen...","testConnection":"Verbinding testen","testSuccess":"Verbinding succesvol","testFailed":"Verbinding mislukt","available":"Beschikbaar","cooldown":"Afkoelen","unavailable":"Niet beschikbaar","unknown":"Onbekend","oauthLabel":"OAuth","compatibleLabel":"Compatibel","chat":"Chatten","responses":"Reacties","messages":"Berichten","oauthProviders":"OAuth-providers","freeProviders":"Gratis aanbieders","apiKeyProviders":"API-sleutelproviders","compatibleProviders":"API-sleutel-compatibele providers","testAll":"Alles testen","testAllOAuth":"Test alle OAuth-verbindingen","testAllFree":"Test alle vrije verbindingen","testAllApiKey":"Test alle API Key-verbindingen","testAllCompatible":"Test alle compatibele verbindingen","connected":"{count} Verbonden","errorCount":"{count} Fout ({code})","errorCountNoCode":"{count} Fout","noConnections":"Geen verbindingen","disabled":"Uitgeschakeld","enableProvider":"Aanbieder inschakelen","disableProvider":"Schakel aanbieder uit","testResults":"Testresultaten","noCompatibleYet":"Er zijn nog geen compatibele providers toegevoegd","compatibleHint":"Gebruik de knoppen hierboven om OpenAI- of Anthropic-compatibele eindpunten toe te voegen","addOpenAICompatible":"Voeg OpenAI-compatibel toe","addAnthropicCompatible":"Antropisch compatibel toevoegen","addNewProvider":"Nieuwe aanbieder toevoegen","backToProviders":"Terug naar Aanbieders","configureNewProvider":"Configureer een nieuwe AI-provider voor gebruik met uw toepassingen.","providerLabel":"Aanbieder","selectProvider":"Selecteer een aanbieder","selectedProvider":"Geselecteerde aanbieder","authMethod":"Authenticatiemethode","apiKeyLabel":"API-sleutel","apiKeyRequired":"API-sleutel is vereist","selectProviderRequired":"Selecteer een aanbieder","enterApiKey":"Voer uw API-sleutel in","apiKeySecure":"Uw API-sleutel wordt gecodeerd en veilig opgeslagen.","oauth2Connect":"Maak verbinding met OAuth2","oauth2Label":"OAuth2","oauth2Desc":"Verbind uw account met OAuth2-authenticatie.","displayName":"Weergavenaam","displayNamePlaceholder":"bijvoorbeeld productie-API, ontwikkelomgeving","displayNameHint":"Optioneel. Een beschrijvende naam om deze configuratie te identificeren.","active":"Actief","activeDescription":"Schakel deze provider in voor gebruik in uw applicaties","cancel":"Annuleer","createProvider":"Aanbieder maken","failedCreate":"Kan provider niet maken","errorOccurred":"Er is een fout opgetreden. Probeer het opnieuw.","modelStatus":"Modelstatus","allModelsOperational":"Alle modellen operationeel","modelsWithIssues":"{count} model(len) met problemen","allModelsNormal":"Alle modellen reageren normaal.","cooldownCleared":"Afkoelperiode gewist voor {model}","failedClearCooldown":"Kan de cooldown niet wissen","loadingAvailability":"Beschikbaarheid van modellen laden...","clearCooldown":"Duidelijk","clearing":"Wissen...","until":"Tot {time}","providerTestFailed":"Providertest mislukt","modeTest":"{mode} Testen","passedCount":"{count} geslaagd","failedCount":"{count} mislukt","testedCount":"{count} getest","millisecondsAbbr":"{value}ms","okShort":"Oké","errorShort":"FOUT","noActiveConnectionsInGroup":"Er zijn geen actieve verbindingen gevonden voor deze groep.","allTestsPassed":"Alle {total} tests zijn geslaagd","testSummary":"{passed}/{total} geslaagd, {failed} mislukt","nameLabel":"Naam","prefixLabel":"Voorvoegsel","baseUrlLabel":"Basis-URL","apiTypeLabel":"API-type","prefixHint":"Vereist. Uniek voorvoegsel voor modelnamen.","nameHint":"Vereist. Een vriendelijk label voor dit knooppunt.","baseUrlHint":"Vereist. Basis-URL van de provider-API.","anthropicPrefixPlaceholder":"ac-prod","openaiPrefixPlaceholder":"oc-prod","anthropicBaseUrlPlaceholder":"https://api.anthropic.com/v1","openaiBaseUrlPlaceholder":"https://api.openai.com/v1","validateConnection":"Valideer verbinding","validating":"Valideren...","connectionValid":"Verbinding is geldig!","connectionFailed":"Verbinding mislukt. Controleer URL en sleutel.","testKeyLabel":"API-sleutel testen","testKeyPlaceholder":"sk-... (alleen ter validatie)","providerNotFound":"Aanbieder niet gevonden","deleteConnectionConfirm":"Deze verbinding verwijderen?","failedSetAlias":"Kan alias niet instellen","failedSaveConnection":"Kan de verbinding niet opslaan","failedSaveConnectionRetry":"Kan de verbinding niet opslaan. Probeer het opnieuw.","failedRetestConnection":"Kan de verbinding niet opnieuw testen","deleteCompatibleNodeConfirm":"Dit {type} compatibele knooppunt verwijderen?","anthropicCompatibleDetails":"Antropische compatibele details","openaiCompatibleDetails":"OpenAI-compatibele details","messagesApi":"Berichten-API","responsesApi":"Reacties-API","chatCompletions":"Chat-voltooiingen","importingModels":"Importeren...","importFromModels":"Importeren uit /modellen","clearAllModels":"Wis alle modellen","clearAllModelsConfirm":"Weet u zeker dat u alle modellen voor deze aanbieder wilt verwijderen? Dit kan niet ongedaan worden gemaakt.","clearAllModelsSuccess":"Alle modellen gewist","clearAllModelsFailed":"Kan modellen niet wissen","addConnectionToImport":"Voeg een verbinding toe om importeren mogelijk te maken.","noModelsConfigured":"Geen modellen geconfigureerd","connectionCount":"{count} verbinding(en)","fetchingModels":"Beschikbare modellen ophalen...","failedFetchModels":"Kan modellen niet ophalen","noModelsFound":"Geen modellen gevonden","importFailed":"Importeren is mislukt","noNewModelsAdded":"Er zijn geen nieuwe modellen toegevoegd.","adding":"Toevoegen...","importingModelsTitle":"Modellen importeren","copyModel":"Kopieermodel","removeModel":"Model verwijderen","rateLimitProtected":"Beschermd","rateLimitUnprotected":"Onbeschermd","enableRateLimitProtection":"Klik om de snelheidslimietbescherming in te schakelen","disableRateLimitProtection":"Klik om de snelheidslimietbescherming uit te schakelen","productionKey":"Productie sleutel","enterNewApiKey":"Voer een nieuwe API-sleutel in","optional":"Optioneel","anthropicCompatibleName":"Antropisch compatibel","openaiCompatibleName":"OpenAI-compatibel","failedImportModels":"Kan modellen niet importeren","noModelsReturnedFromEndpoint":"Er zijn geen modellen geretourneerd door het /models-eindpunt.","importingModelsProgress":"Importeren van {current} van {total} modellen...","foundModelsStartingImport":"{count} modellen gevonden. Importeren starten...","importingModelById":"{modelId} importeren...","importSuccessCount":"Succesvol geïmporteerd {count, plural, one {# model} other {# models}}!","noNewModelsAddedExisting":"Er zijn geen nieuwe modellen toegevoegd (ze bestaan allemaal al).","importDoneCount":"✓ Klaar! {count, plural, one {# model imported.} other {# models imported.}}","unexpectedErrorOccurred":"Er is een onverwachte fout opgetreden","connectionCountLabel":"{count, plural, one {# connection} other {# connections}}","messagesPath":"berichten","responsesPath":"reacties","chatCompletionsPath":"chat/voltooiingen","add":"Toevoegen","edit":"Bewerken","delete":"Verwijderen","anthropic":"Antropisch","openai":"OpenAI","singleConnectionPerCompatible":"Per compatibel knooppunt is slechts één verbinding toegestaan. Voeg nog een knooppunt toe als u meer verbindingen nodig heeft.","connections":"Verbindingen","providerProxyTitleConfigured":"Providerproxy: {host}","configured":"geconfigureerd","providerProxyConfigureHint":"Configureer proxy voor alle verbindingen van deze provider","providerProxy":"Proxy van aanbieder","noConnectionsYet":"Nog geen verbindingen","addFirstConnectionHint":"Voeg uw eerste verbinding toe om aan de slag te gaan","addConnection":"Verbinding toevoegen","availableModels":"Beschikbare modellen","pageAutoRefresh":"Pagina wordt automatisch vernieuwd...","statusDisabled":"uitgeschakeld","statusConnected":"verbonden","statusRuntimeIssue":"runtime-probleem","statusAuthFailed":"verificatie is mislukt","statusRateLimited":"tarief beperkt","statusNetworkIssue":"netwerk probleem","statusTestUnsupported":"test niet ondersteund","statusUnavailable":"niet beschikbaar","statusFailed":"mislukt","statusError":"fout","oauthAccount":"OAuth-account","errorTypeRuntime":"Lokale looptijd","errorTypeUpstreamAuth":"Upstream-auth","errorTypeMissingCredential":"Ontbrekende legitimatie","errorTypeRefreshFailed":"Vernieuwen mislukt","errorTypeTokenExpired":"Token verlopen","errorTypeRateLimited":"Tarief beperkt","errorTypeUpstreamUnavailable":"Stroomopwaarts niet beschikbaar","errorTypeNetworkError":"Netwerkfout","errorTypeTestUnsupported":"Test niet ondersteund","errorTypeUpstreamError":"Stroomopwaartse fout","proxySourceGlobal":"Globaal","proxySourceProvider":"Aanbieder","proxySourceKey":"Sleutel","proxyConfiguredBySource":"Proxy ({source}): {host}","autoPriority":"Automatisch: {priority}","proxy":"Proxy","retestAuthentication":"Test de authenticatie opnieuw","retest":"Opnieuw testen","disableConnection":"Verbinding uitschakelen","enableConnection":"Verbinding inschakelen","reauthenticateConnection":"Authenticeer deze verbinding opnieuw","proxyConfig":"Proxy-configuratie","aliasExistsAlert":"Alias \\"{alias}\\" bestaat al. Gebruik een ander model of bewerk de bestaande alias.","openRouterAnyModelHint":"OpenRouter ondersteunt elk model. Voeg modellen toe en maak aliassen voor snelle toegang.","modelIdFromOpenRouter":"Model-ID (van OpenRouter)","openRouterModelPlaceholder":"antropisch/claude-3-opus","customModels":"Aangepaste modellen","customModelsHint":"Voeg model-ID\'s toe die niet in de standaardlijst staan. Deze zullen beschikbaar zijn voor routering.","modelId":"Model-ID","customModelPlaceholder":"bijv. gpt-4.5-turbo","loading":"Laden...","removeCustomModel":"Aangepast model verwijderen","noCustomModels":"Er zijn nog geen aangepaste modellen toegevoegd.","allSuggestedAliasesExist":"Alle voorgestelde aliassen bestaan al. Kies een ander model of verwijder conflicterende aliassen.","failedSaveCustomModel":"Kan aangepast model niet opslaan","modelAddedSuccess":"Model {modelId} is succesvol toegevoegd","failedAddModelTryAgain":"Kan model niet toevoegen. Probeer het opnieuw.","failedSaveImportedModel":"Kan het geïmporteerde model niet opslaan in de aangepaste database","failedImportModelsTryAgain":"Kan modellen niet importeren. Probeer het opnieuw.","failedRemoveModelFromDatabase":"Kan het model niet uit de database verwijderen","modelRemovedSuccess":"Model succesvol verwijderd","failedDeleteModelTryAgain":"Kan model niet verwijderen. Probeer het opnieuw.","compatibleModelsDescription":"Voeg {type}-compatibele modellen handmatig toe of importeer ze vanaf het /models-eindpunt.","anthropicCompatibleModelPlaceholder":"claude-3-opus-20240229","openaiCompatibleModelPlaceholder":"gpt-4o","apiKeyValidationFailed":"Validatie van API-sleutel mislukt. Controleer uw sleutel en probeer het opnieuw.","addProviderApiKeyTitle":"Voeg {provider} API-sleutel toe","checking":"Controleren...","check":"Controleer","valid":"Geldig","invalid":"Ongeldig","creating":"Creëren...","validationChecksAnthropicCompatible":"Validatiecontroles {provider} door de API-sleutel te verifiëren.","validationChecksOpenAiCompatible":"Validatiecontroles {provider} via /models op uw basis-URL.","priorityLabel":"Prioriteit","saving":"Opslaan...","save":"Opslaan","editConnection":"Verbinding bewerken","accountName":"Accountnaam","email":"E-mail","healthCheckMinutes":"Gezondheidscontrole (min)","healthCheckHint":"Proactief tokenvernieuwingsinterval. 0 = uitgeschakeld.","groupLabel":"Environment","groupPlaceholder":"e.g. eKaizen, Personal","failedTestConnection":"Kan de verbinding niet testen","failed":"Mislukt","leaveBlankKeepCurrentApiKey":"Laat dit leeg om de huidige API-sleutel te behouden.","editCompatibleTitle":"Bewerk {type} Compatibel","compatibleBaseUrlHint":"Root URL of your {type}-compatible API. Use Advanced Settings for custom endpoint paths.","apiKeyForCheck":"API-sleutel (ter controle)","compatibleProdPlaceholder":"{type} Compatibel (product)","providerTestTimeout":"Provider test timed out — too many connections to test at once","advancedSettings":"Advanced Settings","chatPathLabel":"Chat Endpoint Path","chatPathPlaceholder":"/chat/completions","chatPathHint":"Custom chat path for providers with non-standard APIs (e.g. /v4/chat/completions)","modelsPathLabel":"Models Endpoint Path","modelsPathPlaceholder":"/models","modelsPathHint":"Custom models path for validation (e.g. /v4/models)","builtInModels":"Built-in models","builtInModelsHint":"Registry models for this provider. Use the pencil to set compatibility options.","normalizeToolCallIdLabel":"Normalize tool call IDs to 9 characters (e.g. Mistral)","preserveDeveloperRoleLabel":"Keep OpenAI Responses developer role (do not map to system)","compatAdjustmentsTitle":"Compatibility","compatButtonLabel":"Compatibility","compatToolIdShort":"Tool ID 9","compatDeveloperShort":"Developer role","compatDoNotPreserveDeveloper":"Do not preserve developer role","compatBadgeNoPreserve":"No preserve","compatProtocolLabel":"Client request protocol","compatProtocolHint":"These options apply when OmniRoute detects this request shape (OpenAI Chat, Responses API, or Anthropic Messages).","compatProtocolOpenAI":"OpenAI Chat Completions","compatProtocolOpenAIResponses":"OpenAI Responses API","compatProtocolClaude":"Anthropic Messages","tokenRefreshed":"Token refreshed successfully","tokenRefreshFailed":"Token refresh failed","compatBadgeUpstreamHeaders":"Headers","compatUpstreamAddRow":"Add header","compatUpstreamHeaderName":"Header name","compatUpstreamHeaderValue":"Value","compatUpstreamHeadersHint":"High-privilege setting — same trust level as editing provider API credentials; only trusted admins should use it. Merged after OmniRoute adds auth from the provider API key. If a custom header uses the same name as an existing one (e.g. Authorization), your value fully replaces the auto-generated header (including the Bearer token) — the upstream only sees what you typed, not the key from settings. Misconfiguration can cause 401 or broken upstream auth. One row per header (e.g. extra Authentication for some gateways). Hover or focus the value to preview. Saves on blur, outside click, or closing this panel.","compatUpstreamHeadersLabel":"Extra upstream headers","compatUpstreamRemoveRow":"Remove row","autoSync":"Automatische synchronisatie","autoSyncTooltip":"Modellijst automatisch elke 24 uur vernieuwen (configureerbaar via MODEL_SYNC_INTERVAL_HOURS)","autoSyncEnabled":"Automatische synchronisatie ingeschakeld: modellen worden periodiek vernieuwd","autoSyncDisabled":"Automatische synchronisatie uitgeschakeld","autoSyncToggleFailed":"Kan automatische synchronisatie niet in- of uitschakelen","allModelsAlreadyImported":"Alle modellen zijn al geïmporteerd","noNewModelsToImport":"Geen nieuwe modellen om te importeren — alle modellen staan al in het register of de lijst met aangepaste modellen","skippingExistingModels":"{count} bestaande modellen overgeslagen"},"settings":{"title":"Instellingen","general":"Algemeen","security":"Beveiliging","appearance":"Uiterlijk","routing":"Routering","cache":"Cache","resilience":"Veerkracht","systemPrompt":"Systeemprompt","thinkingBudget":"Denkbudget","proxy":"Proxy","pricing":"Prijzen","storage":"Opslag","policies":"Beleid","ipFilter":"IP-filter","comboDefaults":"Combo-standaardinstellingen","fallbackChains":"Terugvalketens","changePassword":"Wachtwoord wijzigen","enablePassword":"Wachtwoord inschakelen","darkMode":"Donkere modus","lightMode":"Lichtmodus","systemTheme":"Systeem Thema","enableCache":"Cache inschakelen","cacheTTL":"TTL cachen","maxCacheSize":"Maximale cachegrootte","clearCache":"Cache wissen","cacheHits":"Cache-hits","cacheMisses":"Cache-missers","hitRate":"Hitpercentage","cacheEntries":"Cache-invoer","circuitBreaker":"Stroomonderbreker","retryPolicy":"Beleid voor opnieuw proberen","maxRetries":"Maximaal aantal nieuwe pogingen","retryDelay":"Vertraging opnieuw proberen","timeoutMs":"Time-out (ms)","enableSystemPrompt":"Systeemprompt inschakelen","systemPromptText":"Systeemprompttekst","enableThinking":"Maak het denken mogelijk","maxThinkingTokens":"Max Thinking-tokens","enableProxy":"Schakel proxy in","proxyUrl":"Proxy-URL","pricingRates":"Formaat prijstarieven","currentPricing":"Actueel prijsoverzicht","loadingPricing":"Prijsgegevens laden...","noPricing":"Geen prijsgegevens beschikbaar","input":"Invoer","output":"Uitvoer","cached":"In cache opgeslagen","reasoning":"Redenering","cacheCreation":"Cache-creatie","customPricing":"Aangepaste prijzen","databaseSize":"Databasegrootte","backupDb":"Back-updatabase","restoreDb":"Database herstellen","exportData":"Gegevens exporteren","importData":"Gegevens importeren","clearData":"Wis alle gegevens","clearDataConfirm":"Hierdoor worden alle gegevens definitief verwijderd. Weet je het zeker?","enableRequestLogs":"Schakel aanvraaglogboeken in","logRetention":"Logboekbehoud","ipWhitelist":"IP-witte lijst","ipBlacklist":"IP-zwarte lijst","addIP":"IP toevoegen","savedSuccessfully":"Instellingen succesvol opgeslagen","ai":"AI","advanced":"Geavanceerd","localMode":"Lokale modus — Alle gegevens die op uw machine zijn opgeslagen","settingsSectionsAria":"Instellingensecties","switchThemes":"Wissel tussen lichte en donkere thema\'s","themeSelectionAria":"Thema selectie","themeLight":"Licht","themeDark":"Donker","themeSystem":"Systeem","hideHealthLogs":"Statuschecklogboeken verbergen","hideHealthLogsDesc":"Indien AAN: onderdruk [HealthCheck]-berichten in de serverconsole","themeAccent":"Themakleur","themeAccentDesc":"Kies een vooraf ingestelde kleur of maak je eigen thema met één kleur","themeCreate":"Thema maken","themeCustom":"Aangepast thema","themeBlue":"Blauw","themeRed":"Rood","themeGreen":"Groen","themeViolet":"Violet","themeOrange":"Oranje","themeCyan":"Cyaan","promptCache":"Snelle cache","flushCache":"Cache leegmaken","flushing":"Doorspoelen…","size":"Grootte","hits":"Hits","evictions":"Uitzettingen","loadingCacheStats":"Cachestatistieken laden…","globalProxy":"Mondiale proxy","globalProxyDesc":"Configureer een globale uitgaande proxy voor alle API-aanroepen. Individuele providers, combo\'s en sleutels kunnen dit overschrijven.","noGlobalProxy":"Geen globale proxy geconfigureerd","globalLabel":"Globaal","configure":"Configureer","globalSystemPrompt":"Globale systeemprompt","systemPromptDesc":"Geïnjecteerd in alle verzoeken op proxyniveau","saved":"Opgeslagen","systemPromptPlaceholder":"Voer de systeemprompt in om in alle verzoeken te injecteren...","systemPromptHint":"Deze prompt wordt toegevoegd aan het systeembericht van elk verzoek. Gebruik voor algemene instructies, veiligheidsrichtlijnen of regels voor de opmaak van antwoorden.","chars":"{count} tekens","thinkingBudgetTitle":"Denkbudget","thinkingBudgetDesc":"Beheer het gebruik van AI-redeneringstokens voor alle verzoeken","passthrough":"Doorvoer","passthroughDesc":"Geen wijzigingen – de klant bepaalt het denkbudget","auto":"Automatisch","autoDesc":"Verwijder alle denkconfiguraties – laat de provider beslissen","custom":"Aangepast","customDesc":"Stel een vast tokenbudget in voor alle verzoeken","adaptive":"Adaptief","adaptiveDesc":"Schaal het budget op basis van de complexiteit van de aanvraag","effortNone":"Geen (0 tokens)","effortLow":"Laag (1K-tokens)","effortMedium":"Medium (10K-tokens)","effortHigh":"Hoog (128K tokens)","tokenBudget":"Tokenbudget","tokens":"tokens","baseEffortLevel":"Basisinspanningsniveau","adaptiveHint":"De adaptieve modus schaalt vanaf dit basisniveau op basis van het aantal berichten, het gebruik van tools en de lengte van de prompt.","requireLogin":"Inloggen vereisen","requireLoginDesc":"Indien AAN vereist het dashboard een wachtwoord. Wanneer UIT: toegang zonder inloggen.","currentPassword":"Huidig wachtwoord","enterCurrentPassword":"Voer het huidige wachtwoord in","newPassword":"Nieuw wachtwoord","enterNewPassword":"Voer een nieuw wachtwoord in","confirmPassword":"Bevestig nieuw wachtwoord","confirmPasswordPlaceholder":"Bevestig nieuw wachtwoord","passwordsNoMatch":"Wachtwoorden komen niet overeen","passwordUpdated":"Wachtwoord succesvol bijgewerkt","failedUpdatePassword":"Kan wachtwoord niet updaten","errorOccurred":"Er is een fout opgetreden","updatePassword":"Wachtwoord bijwerken","setPassword":"Wachtwoord instellen","apiEndpointProtection":"API-eindpuntbeveiliging","requireAuthModels":"API-sleutel vereisen voor /models","requireAuthModelsDesc":"Indien AAN, retourneert het /v1/models eindpunt 404 voor niet-geverifieerde verzoeken. Voorkomt modeldetectie door ongeautoriseerde gebruikers.","blockedProviders":"Geblokkeerde aanbieders","blockedProvidersDesc":"Verberg specifieke providers in het antwoord /v1/models. Geblokkeerde aanbieders verschijnen niet in modeloverzichten.","providersBlocked":"{count} provider(s) geblokkeerd voor /models","blockProviderTitle":"Blokkeer {provider}","unblockProviderTitle":"Deblokkeer {provider}","routingStrategy":"Routeringsstrategie","fillFirst":"Vul eerst","fillFirstDesc":"Gebruik accounts in prioriteitsvolgorde","roundRobin":"Ronde Robin","roundRobinDesc":"Blader door alle accounts","p2c":"P2C","p2cDesc":"Kies er 2 willekeurig, gebruik de gezondere","random":"Willekeurig","randomDesc":"Willekeurig account bij elk verzoek","leastUsed":"Minst gebruikt","leastUsedDesc":"Kies het minst recent gebruikte account","costOpt":"Kosten opt","costOptDesc":"Geef de voorkeur aan het goedkoopste beschikbare account","strictRandom":"Strict Random","strictRandomDesc":"Shuffle deck — uses each account once before reshuffling","stickyLimit":"Kleverige limiet","stickyLimitDesc":"Gesprekken per account voordat u overstapt","modelAliases":"Modelaliassen","modelAliasesTitle":"Model Aliases","modelAliasesDesc":"Jokertekenpatronen om modelnamen opnieuw toe te wijzen • Gebruik * en ?","addCustomAlias":"Aangepast Alias Toevoegen","deprecatedModelId":"Verouderd model-ID","newModelId":"Nieuw model-ID","customAliases":"Aangepaste Aliases","builtInAliases":"Ingebouwde Aliases","backgroundDegradationTitle":"Achtergrondtaak Degradatie","backgroundDegradationDesc":"Detecteert automatisch achtergrondtaken (titels, samenvattingen) en routeert naar goedkopere modellen","enableDegradation":"Achtergrond Degradatie Inschakelen","enableDegradationHint":"Wanneer ingeschakeld, worden achtergrondtaken zoals titelgeneratie en samenvattingen automatisch naar goedkopere modellen gerouteerd","tasksDetected":"Taken gedetecteerd","degradationMap":"Model Degradatie Kaart","premiumModel":"Premium model","cheapModel":"Goedkoop model","detectionPatterns":"Detectiepatronen","newPattern":"bijv. \\"genereer een titel\\"","aliasPatternPlaceholder":"claude-sonnet-*","aliasTargetPlaceholder":"claude-sonnet-4-20250514","pattern":"Patroon","targetModel":"Doelmodel","add":"+ Toevoegen","session":"Sessie","sessionDetailsAria":"Sessiedetails","status":"Status","authenticated":"Geauthenticeerd","guest":"Gast","loginTime":"Inlogtijd","sessionAge":"Sessie leeftijd","browser":"Browser","clearLocalData":"Lokale gegevens wissen","logout":"Uitloggen","clearLocalDataConfirm":"Alle lokale gegevens wissen? Hiermee worden uw voorkeuren opnieuw ingesteld.","unknown":"Onbekend","systemActor":"systeem","ipAccessControl":"IP-toegangscontrole","ipAccessControlDesc":"Blokkeer of sta specifieke IP-adressen toe","ipModeDisabled":"Uitgeschakeld","ipModeBlacklist":"Zwarte lijst","ipModeWhitelist":"Witte lijst","ipModeWhitelistPriority":"WL-prioriteit","addIpAddress":"IP-adres toevoegen","ipAddressPlaceholder":"192.168.1.0/24 of 10.0.*.*","block":"+ Blok","allow":"+ Toestaan","blocked":"Geblokkeerd ({count})","allowed":"Toegestaan ({count})","temporaryBans":"Tijdelijke verbanningen ({count})","minLeft":"{min}m over","auditLog":"Auditlogboek","searchAuditLogs":"Auditlogboeken zoeken...","failedLoadAuditLog":"Kan het auditlogboek niet laden","noAuditEvents":"Geen auditgebeurtenissen gevonden","action":"Actie","actor":"Acteur","details":"Details","time":"Tijd","fallbackChainsTitle":"Terugvalketens","fallbackChainsDesc":"Definieer de terugvalvolgorde van de provider per model","addChain":"+ Ketting toevoegen","modelName":"Modelnaam","modelNamePlaceholder":"claude-sonnet-4-20250514","providersCommaSeparated":"Providers (door komma\'s gescheiden, in prioriteitsvolgorde)","providersCommaSeparatedPlaceholder":"antropisch, openai, gemini","createChain":"Creëer keten","noFallbackChains":"Geen terugvalketens","noFallbackChainsDesc":"Maak een keten om de terugvalvolgorde van de provider voor een model te definiëren.","loadingFallbackChains":"Terugvalketens laden...","deleteChainConfirm":"Terugvalketen voor \\"{model}\\" verwijderen?","chainCreated":"Keten gemaakt voor {model}","chainDeleted":"Keten verwijderd voor {model}","failedCreateChain":"Kan keten niet maken","failedDeleteChain":"Kan keten niet verwijderen","deleteChain":"Ketting verwijderen","fillModelAndProviders":"Vul de modelnaam en leveranciers in","addAtLeastOneProvider":"Voeg ten minste één aanbieder toe","comboDefaultsTitle":"Combo-standaardinstellingen","globalComboConfig":"Globale combo-configuratie","defaultStrategy":"Standaardstrategie","defaultStrategyDesc":"Toegepast op nieuwe combo\'s zonder expliciete strategie","comboStrategyAria":"Combinatiestrategie","priority":"Prioriteit","weighted":"Gewogen","maxRetriesLabel":"Maximaal aantal nieuwe pogingen","retryDelayLabel":"Vertraging opnieuw proberen (ms)","timeoutLabel":"Time-out (ms)","healthCheck":"Gezondheidscontrole","healthCheckDesc":"Controleer vooraf de beschikbaarheid van de provider","trackMetrics":"Houd statistieken bij","trackMetricsDesc":"Registreer verzoekstatistieken per combinatie","providerOverrides":"Provideroverschrijvingen","providerOverridesDesc":"Time-out en nieuwe pogingen per provider negeren. Providerinstellingen overschrijven de algemene standaardwaarden.","providerMaxRetriesAria":"{provider} max. nieuwe pogingen","providerTimeoutAria":"{provider} time-out ms","removeProviderOverrideAria":"Verwijder de overschrijving van {provider}","newProviderNamePlaceholder":"bijv. google, open...","newProviderNameAria":"Nieuwe providernaam","retries":"nieuwe pogingen","ms":"mevrouw","saveComboDefaults":"Bewaar combo-standaardinstellingen","maxNestingDepth":"Maximale nestdiepte","concurrencyPerModel":"Gelijktijdigheid / model","queueTimeout":"Wachtrijtime-out (ms)","providerProfiles":"Providerprofielen","providerProfilesDesc":"Afzonderlijke veerkrachtinstellingen voor OAuth (sessiegebaseerd) en API Key (gemeten) providers. OAuth-providers hanteren strengere drempels vanwege lagere tarieflimieten.","oauthProviders":"OAuth-providers","apiKeyProviders":"API-sleutelproviders","transientCooldown":"Tijdelijke afkoeling","rateLimitCooldown":"Afkoelperiode van snelheidslimiet","maxBackoffLevel":"Maximaal uitstelniveau","cbThreshold":"CB-drempel","cbResetTime":"CB-resettijd","rateLimiting":"Tariefbeperking","rateLimitingDesc":"API-sleutelproviders zijn automatisch beperkt in snelheid met veilige standaardinstellingen. Limieten worden geleerd uit antwoordheaders en worden in de loop van de tijd aangepast.","defaultSafetyNet":"Standaard veiligheidsnet","rpm":"toerental","minGap":"Min. kloof","maxConcurrent":"Maximaal gelijktijdig","activeLimiters":"Actieve begrenzers","noActiveLimiters":"Nog geen actieve snelheidsbegrenzers.","reservoir":"Reservoir","running":"Rennen","queued":"In de wachtrij","circuitBreakers":"Stroomonderbrekers","breakerStateClosed":"Gesloten","breakerStateOpen":"Openen","breakerStateHalfOpen":"Halfopen","tripped":"{count} is geactiveerd","healthy":"{count} gezond","resetAll":"Alles resetten","noCircuitBreakers":"Er zijn nog geen stroomonderbrekers actief. Ze worden automatisch gemaakt wanneer aanvragen via de combo-pijplijn stromen.","failures":"{count} fout(en)","policiesLocked":"Beleid en vergrendelde identificatiegegevens","allOperational":"Alle systemen operationeel — geen vergrendelingen of geactiveerde onderbrekers","loadingPolicies":"Beleid laden...","lockedIdentifiers":"Vergrendelde identificatiegegevens","unlockedIdentifier":"Ontgrendeld: {identifier}","sinceDate":"sinds {date}","forceUnlock":"Forceer ontgrendeling","unlocking":"Ontgrendelen...","failedUnlock":"Ontgrendelen is mislukt","failedLoadWithStatus":"Kan niet laden: {status}","failedLoadResilience":"Kan de veerkrachtstatus niet laden","saveFailed":"Opslaan mislukt","resetFailed":"Resetten mislukt","loadingResilience":"Veerkrachtstatus laden...","retry":"Opnieuw proberen","systemStorage":"Systeem en opslag","allDataLocal":"Alle gegevens lokaal opgeslagen op uw machine","databasePath":"Databasepad","exportDatabase":"Database exporteren","exportAll":"Alles exporteren (.tar.gz)","importDatabase":"Database importeren","confirmDbImport":"Bevestig database-import","confirmDbImportDesc":"Hierdoor worden alle huidige gegevens vervangen door de inhoud van {file}. Er wordt automatisch een back-up gemaakt vóór de import.","yesImport":"Ja, importeren","lastBackup":"Laatste back-up","noBackupYet":"Nog geen back-up","backupNow":"Maak nu een back-up","backupRestore":"Back-up en herstel","viewBackups":"Back-ups bekijken","hide":"Verbergen","backupRetentionDesc":"Database-snapshots worden automatisch gemaakt vóór herstel en elke 15 minuten wanneer gegevens veranderen. Retentie: 24 uur per dag + 30 dagelijkse back-ups met slimme rotatie.","loadingBackups":"Back-ups laden...","noBackupsYet":"Er zijn nog geen back-ups beschikbaar. Er worden automatisch back-ups gemaakt als gegevens veranderen.","backupsAvailable":"{count} back-up(s) beschikbaar","refresh":"Vernieuwen","confirm":"Bevestigen?","yes":"Ja","no":"Nee","restore":"Herstellen","invalidFileType":"Ongeldig bestandstype. Alleen .sqlite-bestanden worden geaccepteerd.","exportFailed":"Exporteren is mislukt","exportFailedWithError":"Exporteren mislukt: {error}","fullExportFailedWithError":"Volledige export mislukt: {error}","backupCreated":"Back-up gemaakt: {file}","restoreSuccess":"Hersteld! {connections} verbindingen, {nodes} knooppunten, {combos} combo\'s, {apiKeys} API-sleutels.","importSuccess":"Database geïmporteerd! {connections} verbindingen, {nodes} knooppunten, {combos} combo\'s, {apiKeys} API-sleutels.","justNow":"zojuist","minutesAgo":"{count}m geleden","hoursAgo":"{count}u geleden","daysAgo":"{count}d geleden","backupReasonManual":"handleiding","backupReasonPreRestore":"vooraf herstellen","connectionsCount":"{count, plural, one {# connection} other {# connections}}","noChangesSinceBackup":"Geen wijzigingen sinds de laatste back-up","backupFailed":"Back-up mislukt","restoreFailed":"Herstellen mislukt","importFailed":"Importeren is mislukt","errorDuringRestore":"Er is een fout opgetreden tijdens het herstellen","errorDuringImport":"Er is een fout opgetreden tijdens het importeren","modelPricing":"Modelprijzen","modelPricingDesc":"Kostentarieven per model configureren • Alle tarieven in $/1M tokens","providers":"Aanbieders","registry":"Register","priced":"Geprijsd","searchProvidersModels":"Zoekaanbieders of modellen...","showAll":"Toon alles","noProvidersMatch":"Er zijn geen aanbieders die overeenkomen met uw zoekopdracht.","howPricingWorks":"Hoe prijzen werken","cacheWrite":"Cache schrijven","unsaved":"niet opgeslagen","resetDefaults":"Standaardwaarden opnieuw instellen","saveProvider":"Aanbieder opslaan","saving":"Opslaan...","model":"Model","models":"modellen","moreProviders":"{count} meer aanbieders","withPricing":"met geconfigureerde prijzen","policiesCircuitBreakers":"Beleid en stroomonderbrekers","activeIssuesDetected":"Actieve problemen gedetecteerd","off":"Uit","resetPricingConfirm":"Alle prijzen voor {provider} terugzetten naar de standaardwaarden?","pricingDescInput":"Invoer: tokens verzonden naar het model","pricingDescOutput":"Uitvoer: tokens gegenereerd","pricingDescCached":"In cache opgeslagen: hergebruikte invoer (~50% van invoersnelheid)","pricingDescReasoning":"Redeneren: denktokens (valt terug naar Output)","pricingDescCacheWrite":"Cache Write: cache-items maken (valt terug naar Input)","pricingDescFormula":"Kosten = (invoer × invoer_snelheid) + (uitvoer × uitvoer_snelheid) + (in cache opgeslagen × in cache opgeslagen_snelheid) per miljoen tokens.","pricingSettingsTitle":"Prijsinstellingen","totalModels":"Totaal modellen","active":"Actief","costCalculation":"Kostenberekening","costCalculationDesc":"De kosten worden berekend op basis van tokengebruik en prijstarieven die voor elk model zijn geconfigureerd.","pricingFormat":"Prijsformaat","pricingFormatDesc":"Alle tarieven zijn in $/1 miljoen tokens (dollars per miljoen tokens).","tokenTypes":"Tokentypen","inputTokenDesc":"Standaard prompttokens","outputTokenDesc":"Voltooiing/antwoordtokens","cachedTokenDesc":"Invoertokens in cache (meestal 50% van invoersnelheid)","reasoningTokenDesc":"Speciale redeneer-/denkfiches (terugval op uitvoersnelheid)","cacheCreationTokenDesc":"Tokens die worden gebruikt om cache-items te maken (terugval op invoersnelheid)","customPricingNote":"U kunt de standaardprijzen voor specifieke modellen overschrijven. Aangepaste overschrijvingen hebben voorrang op automatisch gedetecteerde prijzen.","editPricing":"Prijzen bewerken","viewFullDetails":"Bekijk volledige details","themeCoral":"Koraal","cliFingerprint":"CLI Fingerprint Matching","cliFingerprintDesc":"Match native CLI binary signatures when proxying requests. Reorders headers and body fields to look identical to the official CLI tools. Your proxy IP is preserved.","cliFingerprintEnabled":"{count} provider(s) with CLI fingerprint active","enableFingerprintTitle":"Enable fingerprint for {provider}","disableFingerprintTitle":"Disable fingerprint for {provider}","routingAdvancedGuideTitle":"Geavanceerde routebegeleiding","routingAdvancedGuideHint1":"Gebruik Fill First voor voorspelbare prioriteit, Round Robin voor eerlijkheid en P2C voor latency-veerkracht.","routingAdvancedGuideHint2":"Als aanbieders variëren in kwaliteit/kosten, begin dan met Kosten Opt voor achtergrondwerk en Minst Gebruikt voor evenwichtige slijtage.","comboDefaultsGuideTitle":"Combo-standaardinstellingen afstemmen","comboDefaultsGuideHint1":"Houd het aantal nieuwe pogingen laag bij stromen met lage latentie; verhoog de time-out alleen voor lange generatietaken.","comboDefaultsGuideHint2":"Gebruik provideroverschrijvingen wanneer een provider ander time-out/opnieuw gedrag nodig heeft dan de algemene standaardwaarden."},"translator":{"title":"Vertaler","metaTitle":"Vertaler Speeltuin | OmniRoute","metaDescription":"Debug, test en visualiseer vertalingen van API-indelingen tussen providers","playgroundTitle":"Vertaler Speeltuin","playground":"Speeltuin","realtime":"Realtime vertaalactiviteit","chatTester":"Chattester","testBench":"Testbank","liveMonitor":"Live-monitor","modeDescriptionPlayground":"Plak de hoofdtekst van een API-verzoek en kijk hoe OmniRoute deze vertaalt tussen providerformaten (OpenAI ↔ Claude ↔ Gemini ↔ Responses API)","modeDescriptionChatTester":"Stuur echte chatverzoeken via OmniRoute en inspecteer de volledige retour: invoer, vertaalde aanvraag, respons van de provider en vertaalde uitvoer.","modeDescriptionTestBench":"Voer vooraf gedefinieerde scenario\'s uit en vergelijk de compatibiliteit tussen providers en modellen.","modeDescriptionLiveMonitor":"Bekijk vertaalgebeurtenissen in realtime terwijl verzoeken via OmniRoute stromen.","modeDescriptionFallback":"Debug, test en visualiseer hoe OmniRoute API-verzoeken tussen providers vertaalt.","recentTranslations":"Recente vertalingen","noTranslations":"Nog geen vertalingen","source":"Bron","target":"Doel","time":"Tijd","model":"Model","status":"Status","latency":"Latentie","totalTranslations":"Totaal aantal vertalingen","successful":"Succesvol","errors":"Fouten","avgLatency":"Gem. latentie","millisecondsShort":"{value}ms","notAvailableSymbol":"—","liveAutoRefreshing":"Live - Automatisch vernieuwen","paused":"Gepauzeerd","eventsAppearHint":"Vertaalgebeurtenissen verschijnen hier terwijl verzoeken door OmniRoute stromen. Gebruik een van deze methoden om gebeurtenissen te genereren:","chatTesterTab":"Tabblad Chattester","testBenchTab":"Tabblad Testbank","externalApiCalls":"Externe API-aanroepen","ideCliIntegrations":"IDE/CLI-integraties","inMemoryNote":"Opmerking: Gebeurtenissen worden in het geheugen opgeslagen en opnieuw ingesteld wanneer de server opnieuw opstart.","ok":"Oké","errorShort":"ERR","formatConverter":"Formaatconverter","formatConverterDescription":"Plak of typ een JSON-aanvraagtekst. De vertaler detecteert automatisch het bronformaat en converteert dit naar het doelformaat. Gebruik dit om fouten op te sporen in de manier waarop OmniRoute verzoeken tussen formaten vertaalt (OpenAI ↔ Claude ↔ Gemini ↔ Responses API).","input":"Invoer","output":"Uitvoer","auto":"Automatisch","swapFormats":"Wissel formaten","translateAction":"Vertalen","clear":"Duidelijk","inputPlaceholder":"Plak hier een verzoektekst of selecteer hieronder een sjabloon...","exampleTemplates":"Voorbeeldsjablonen","exampleTemplatesHint":"— Klik om te laden","templateLoadHint":"Sjabloon laadt het verzoek in {format} formaat. Wijzig het bronformaat om in een ander formaat te laden.","compatibilityTester":"Compatibiliteitstester","compatibilityReport":"Compatibiliteitsrapport","testBenchDescription":"Voer vooraf gedefinieerde scenario\'s uit (Simple Chat, Tool Calling, enz.) om de vertaling en compatibiliteit van providers te verifiëren. Selecteer een bronformaat en doelprovider en voer vervolgens alle tests uit om een compatibiliteitspercentage te zien. Gebruik dit om te ontdekken welke functies bij verschillende providers werken.","targetProvider":"Doelaanbieder","runAllTests":"Voer alle tests uit","runTest":"Test uitvoeren","reRun":"Opnieuw uitvoeren","running":"Rennen...","passed":"voorbij","failed":"mislukt","passedIconLabel":"✅Geslaagd","chunks":"brokken","scenarioSimpleChat":"Eenvoudig chatten","scenarioToolCalling":"Gereedschap bellen","scenarioMultiTurn":"Multi-turn","scenarioThinking":"Denken","scenarioSystemPrompt":"Systeemprompt","scenarioStreaming":"Streamen","templateNames":{"simple-chat":"Eenvoudig chatten","tool-calling":"Gereedschap bellen","multi-turn":"Multi-turn","thinking":"Denken","system-prompt":"Systeemprompt","streaming":"Streamen"},"templateDescriptions":{"simple-chat":"Basis sms-bericht","tool-calling":"Functie-/toolaanroep","multi-turn":"Gesprek met de geschiedenis","thinking":"Uitgebreid nadenken/redeneren","system-prompt":"Complexe systeeminstructies","streaming":"SSE-streamingverzoek"},"templatePayloads":{"simpleChat":{"system":"Je bent een behulpzame assistent.","userGreeting":"Hallo! Hoe gaat het vandaag met je?"},"toolCalling":{"userWeather":"Hoe is het weer in Sao Paulo?","toolDescription":"Ontvang het huidige weer voor een locatie","cityNameDescription":"Naam van de stad"},"multiTurn":{"system":"Je bent codeerassistent.","userInitial":"Schrijf een functie om een array in Python te sorteren.","assistantExample":"Hier is een eenvoudige sorteerfunctie:\\n\\n```python\\ndef sort_array(arr):\\n retour gesorteerd(arr)\\n```","userFollowUp":"Sorteer het nu in aflopende volgorde."},"thinking":{"question":"Wat is de som van de eerste 100 priemgetallen?"},"systemPrompt":{"systemInstruction":"Je bent een senior software engineer, gespecialiseerd in gedistribueerde systemen. Beantwoord vragen beknopt met behulp van best practices uit de branche. Geef altijd codevoorbeelden wanneer dit relevant is. Formatteer uw antwoorden met behulp van markdown.","question":"Hoe implementeer ik een stroomonderbrekerpatroon?"},"streaming":{"prompt":"Vertel me een kort verhaal over een robot die leert schilderen."}},"openaiCompatibleLabel":"OpenAI-compatibel","anthropicCompatibleLabel":"Antropisch compatibel","noTemplateForFormat":"Geen sjabloon voor dit formaat","translationFailed":"Vertaling mislukt: {error}","pipelineDebugger":"Pijplijn-foutopsporing","translationPipeline":"Vertaalpijplijn","pipelineVisualization":"Visualisatie van pijpleidingen","pipelineVisualizationHint":"Stuur een bericht om te zien hoe uw verzoek via detectie → vertaling → provideroproep verloopt.","chatTesterDescription":"Verzend berichten in een specifiek klantformaat en inspecteer elke stap van de vertaalpijplijn.","chatTesterFlow":"Klantverzoek → Formaatdetectie → OpenAI Intermediate → Providerformaat → Reactie","clickStepToInspect":"Klik op een willekeurige stap om de gegevens in dat stadium te inspecteren.","clientFormat":"Klantformaat","provider":"Aanbieder","modelPlaceholder":"Selecteer of typ een modelnaam...","sendMessageToSeePipeline":"Stuur een bericht om de vertaalpijplijn te bekijken","chatMessageHintPrefix":"Uw bericht wordt opgemaakt als een","chatMessageHintSuffix":"verzoek, vertaald via de pijplijn en verzonden naar de geselecteerde provider.","youWithFormat":"Jij ({format})","assistant":"Assistent","typeMessage":"Typ een bericht...","send":"Verzenden","clientRequest":"Klantverzoek","clientRequestDescription":"De verzoektekst zoals uw klant deze zou verzenden","formatDetected":"Formaat gedetecteerd","formatDetectedDescription":"OmniRoute detecteert automatisch het API-formaat uit de aanvraagstructuur","openaiIntermediate":"OpenAI gemiddeld","openaiIntermediateDescription":"Alle formaten worden eerst genormaliseerd naar OpenAI-formaat (de universele bridge)","providerFormat":"Provider-formaat","providerFormatDescription":"Het OpenAI-formaat wordt vertaald naar het oorspronkelijke formaat van de provider","providerResponse":"Reactie van de leverancier","providerResponseRawDescription":"Het onbewerkte antwoord van de provider-API","providerResponseSseDescription":"De onbewerkte SSE-stream van de provider-API","unexpectedError":"Er is een onverwachte fout opgetreden","error":"Fout","errorMessage":"Fout: {message}","requestFailed":"Verzoek mislukt","noTextExtracted":"(Geen tekst geëxtraheerd)","liveMonitorDescriptionPrefix":"Toont vertaalgebeurtenissen terwijl API-aanroepen door OmniRoute stromen. Gebeurtenissen komen uit de buffer in het geheugen (wordt gereset bij opnieuw opstarten). Gebruik","liveMonitorDescriptionSuffix":"of externe API-aanroepen om gebeurtenissen te genereren."},"usage":{"title":"Gebruik","loggerTab":"Logger","proxyTab":"Proxy","budgetManagement":"Budgetbeheer","budgetSaved":"Budgetlimieten opgeslagen","budgetSaveFailed":"Het is niet gelukt om budget op te slaan","loadingBudgetData":"Budgetgegevens laden...","noApiKeysTitle":"Geen API-sleutels","noApiKeysDescription":"Voeg eerst API-sleutels toe om budgetlimieten in te stellen.","apiKey":"API-sleutel","todaysSpend":"De uitgaven van vandaag","thisMonth":"Deze maand","setLimits":"Stel grenzen","dailyLimitUsd":"Dagelijkse limiet (USD)","monthlyLimitUsd":"Maandelijkse limiet (USD)","warningThresholdPercent":"Waarschuwingsdrempel (%)","dailyLimitPlaceholder":"bijv. 5.00 uur","monthlyLimitPlaceholder":"bijv. 50,00","warningThresholdPlaceholder":"80","saveLimits":"Bewaar grenzen","budgetOk":"Budget OK — {remaining} resterend","budgetExceeded":"Budget overschreden: verzoeken kunnen worden geblokkeerd","totalRequests":"Totaal aantal verzoeken","noDataYet":"Nog geen gegevens","latency":"Latentie","latencyP50":"p50","latencyP95":"p95","latencyP99":"p99","promptCache":"Snelle cache","systemHealth":"Systeemgezondheid","entries":"Inzendingen","activeCount":"{count} actief","openCircuitBreakersDetected":"Open stroomonderbrekers gedetecteerd","hitRate":"Hitpercentage","hitsMisses":"Hits / missers","circuitBreakers":"Stroomonderbrekers","lockedIPs":"Vergrendelde IP\'s","lockoutsAutoRefreshHint":"Tarieflimietvergrendelingen per model • Automatisch vernieuwen 10s","lockedCount":"{count, plural, one {# locked} other {# locked}}","timeLeft":"{time} over","howItWorks":"Hoe het werkt","howItWorksSubtitle":"Ontdek hoe evaluaties uw LLM-reacties valideren","define":"Definieer","defineStepDescription":"Maak testcases met invoerprompts en verwachte uitvoercriteria met behulp van strategieën zoals contain, regex of exacte match.","run":"Rennen","runStepDescription":"Voer testcases uit op uw LLM-eindpunten via OmniRoute. Elke case wordt verzonden als een echt API-verzoek.","evaluate":"Evalueer","evaluateStepDescription":"De antwoorden worden vergeleken met de verwachte criteria. Bekijk voor elk geval de geslaagde/mislukte resultaten met latentiestatistieken en gedetailleerde feedback.","evalSuites":"Evaluatiesuites","evalSuitesHint":"Klik op een suite om testcases te bekijken en voer deze vervolgens uit om uw LLM-eindpunten te evalueren","evalsLoading":"Evaluatiesuites laden...","noEvalSuitesFound":"Geen Eval-suites gevonden","noEvalSuitesDescription":"Eval-suites kunnen worden gedefinieerd via de API of in code. Ze testen de modeluitvoer tegen de verwachte resultaten met behulp van strategieën zoals contain, regex, exacte match en aangepaste functies.","columnCase":"Geval","columnStatus":"Status","columnLatency":"Latentie","columnDetails":"Details","columnModel":"Model","columnStrategy":"Strategie","columnExpected":"Verwacht","statsSuites":"Suites","statsTestCases":"Testgevallen","statsModels":"Modellen","statsCoverage":"Dekking","statsStrategiesCount":"{count} strategieën","evaluationStrategies":"Evaluatiestrategieën","modelsUnderTest":"Modellen die worden getest","searchSuitesPlaceholder":"Zoek suites...","passSuffix":"passeren","casesCount":"{count, plural, one {# case} other {# cases}}","runEval":"Voer Eval uit","runningProgress":"{current}/{total} wordt uitgevoerd...","passRate":"slagingspercentage","summaryBreakdown":"{passed} geslaagd · {failed} mislukt · {total} totaal","passedIconLabel":"✅Geslaagd","failedIconLabel":"❌ Mislukt","detailsContains":"Bevat: \\"{term}\\"","detailsRegex":"Regex: {pattern}","detailsExpected":"Verwacht: \\"{expected}\\"","noResultsYet":"Nog geen resultaten","testCasesCount":"Testgevallen ({count})","noTestCasesDefined":"Geen testgevallen gedefinieerd","runEvalHint":"Klik op \'Eval uitvoeren\' om alle cases tegen uw LLM-eindpunt uit te voeren. Elke test verzendt een echt verzoek via OmniRoute.","notifyNoTestCases":"Er zijn geen testgevallen gedefinieerd voor deze suite","notifyAllCasesPassed":"Alle {total} cases zijn geslaagd ✅","notifySomeCasesFailed":"{passed}/{total} geslaagd, {failed} mislukt","notifyEvalRunFailed":"Evaluatierun mislukt","notifyEvalTitle":"Evaluatie: {name}","modelEvals":"Modelevaluaties","evalsHeroDescription":"Test en valideer uw LLM-eindpunten door vooraf gedefinieerde evaluatiesuites uit te voeren. Elke suite bevat testcases die echte aanwijzingen sturen via OmniRoute en de antwoorden vergelijken met de verwachte criteria, zodat u regressies kunt detecteren, modellen kunt vergelijken en de responskwaliteit van alle providers kunt garanderen.","qualityValidation":"Kwaliteitsvalidatie","modelComparison":"Modelvergelijking","regressionDetection":"Regressiedetectie","latencyBenchmarks":"Latentiebenchmarks","modelLockouts":"Modelvergrendelingen","noLockouts":"Er zijn momenteel geen modellen vergrendeld","activeSessions":"Actieve sessies","noSessions":"Geen actieve sessies","sessionsHint":"Sessies verschijnen terwijl verzoeken door de proxy stromen","sessionsTrackedHint":"Bijgehouden via verzoek om vingerafdrukken • Automatisch vernieuwen 5s","session":"Sessie","age":"Leeftijd","requests":"Verzoeken","connection":"Verbinding","durationMillisecondsShort":"{value}ms","durationSecondsShort":"{value}s","durationMinutesShort":"{value}m","durationHoursShort":"{value}u","reasonSeparator":" - ","notAvailableSymbol":"-","providerLimits":"Limieten van aanbieders","noProviders":"Geen providers aangesloten","connectProvidersForQuota":"Maak verbinding met providers met OAuth om uw API-quotumlimieten en -gebruik bij te houden.","accountsCount":"{count, plural, one {# account} other {# accounts}}","filteredFromCount":"(gefilterd van {count})","autoRefresh":"Automatisch vernieuwen","refreshAll":"Alles vernieuwen","loadingQuotas":"Laden...","account":"Rekening","modelQuotas":"Modelquota","lastUsed":"Laatst gebruikt","actions":"Acties","refreshQuota":"Quota vernieuwen","today":"Vandaag","tomorrow":"Morgen","dayTimeFormat":"{day}, {time}","inDuration":"in {duration}","notApplicable":"N.v.t","rawPlanWithValue":"Ruw plan: {plan}","noPlanFromProvider":"Geen abonnement van aanbieder","noQuotaData":"Geen quotagegevens","ungrouped":"Ungrouped","viewFlat":"Flat","viewByEnvironment":"By Environment","noQuotaDataAvailable":"Geen quotagegevens beschikbaar","noAccountsForTierFilter":"Er zijn geen accounts gevonden voor niveaufilter","tierAll":"Allemaal","tierEnterprise":"Onderneming","tierTeam":"Team","tierBusiness":"Zakelijk","tierUltra":"Ultra","tierPro":"Pro","tierPlus":"Plus","tierFree":"Gratis","tierUnknown":"Onbekend"},"modals":{"waitingAuth":"Wachten op toestemming","verificationUrl":"Verificatie-URL","yourCode":"Jouw code","remoteAccess":"Toegang op afstand:","connectedSuccess":"Succesvol verbonden!","connectionFailed":"Verbinding mislukt","chooseAuthMethod":"Kies uw authenticatiemethode:","awsBuilderId":"AWS Builder-ID","awsIamIdentity":"AWS IAM Identiteitscentrum","googleAccount":"Google-account","githubAccount":"GitHub-account","importToken":"Token importeren","pasteToken":"Plak het vernieuwingstoken uit Kiro IDE.","awsRegion":"AWS-regio","autoDetecting":"Tokens automatisch detecteren...","readingFromCache":"Lezen uit AWS SSO-cache","readingFromCursor":"Lezen uit de Cursor IDE-database","initializing":"Initialiseren...","pricingConfig":"Prijsconfiguratie","loadingPricing":"Prijsgegevens laden...","pricingRatesFormat":"Formaat prijstarieven","noPricingData":"Geen prijsgegevens beschikbaar","noModelsFound":"Geen modellen gevonden"},"loggers":{"allProviders":"Alle aanbieders","allModels":"Alle modellen","allAccounts":"Alle rekeningen","allApiKeys":"Alle API-sleutels","allTypes":"Alle soorten","allLevels":"Alle niveaus","modelAZ":"Model A-Z","modelZA":"Model Z-A","loadingLogs":"Logboeken laden...","loadingProxyLogs":"Proxylogboeken laden...","noLogEntries":"Geen logvermeldingen gevonden","noPayloadData":"Er zijn geen payloadgegevens beschikbaar voor deze logvermelding.","proxyEvent":"Proxy-evenement","proxy":"Proxy","level":"Niveau","directNative":"Direct (native)","combo":"Combinatie","inputTokens":"ik:","outputTokens":"O:"},"stats":{"usageOverview":"Gebruiksoverzicht","outputTokens":"Uitvoertokens","totalCost":"Totale kosten","usageByModel":"Gebruik per model","usageByAccount":"Gebruik per account","failedToLoad":"Kan gebruiksstatistieken niet laden.","tokenHealth":"Tokengezondheid","totalOAuth":"Totaal OAuth","healthy":"Gezond","warning":"Waarschuwing","errored":"Fout","lastCheck":"Laatste controle","noData":"Geen gegevens","share":"Deel","unableToLoad":"Kan systeemstatistieken niet laden","product":"Product","resources":"Hulpbronnen","company":"Bedrijf"},"auth":{"welcome":"Welkom","signIn":"Log in","enterPassword":"Voer uw wachtwoord in om door te gaan","password":"Wachtwoord","unifiedProxy":"Uniforme AI API-proxy","unifiedAiApiProxy":"Uniforme AI API-proxy","unifiedAiApiProxyDesc":"Routeer verzoeken naar meerdere AI-providers via één eindpunt. Load-balancing, failover en gebruiksregistratie zijn ingebouwd.","passwordNotEnabled":"Wachtwoordbeveiliging is niet ingeschakeld","loading":"Laden...","invalidPassword":"Ongeldig wachtwoord","errorOccurredRetry":"Er is een fout opgetreden. Probeer het opnieuw.","configureInstance":"Laten we uw OmniRoute-instantie configureren","runOnboardingWizard":"Voer de onboardingwizard uit om uw wachtwoord in te stellen en verbinding te maken met uw eerste AI-provider.","startOnboarding":"Begin met onboarden","secureYourInstance":"Beveilig uw exemplaar","setPasswordDescription":"Stel een wachtwoord in om uw dashboard te beschermen en uw API-eindpunten te beveiligen tegen ongeautoriseerde toegang.","configurePassword":"Wachtwoord configureren","continue":"Ga door","windowWillClose":"Dit venster wordt automatisch gesloten...","closeTabNow":"U kunt dit tabblad nu sluiten.","copyUrlManual":"Kopieer de URL uit de adresbalk en plak deze in de applicatie.","accessDeniedDescription":"U heeft geen toegang tot deze bron. Controleer uw API-sleutel of neem contact op met de beheerder.","goToDashboard":"Ga naar Dashboard","featureMultiProviderTitle":"Meerdere aanbieders","featureMultiProviderDesc":"OpenAI, Anthropic, Google en meer","featureLoadBalancingTitle":"Load-balancering","featureLoadBalancingDesc":"Verdeel verzoeken op een intelligente manier","featureUsageTrackingTitle":"Gebruik volgen","featureUsageTrackingDesc":"Houd de kosten en tokens in de gaten","resetPassword":"Wachtwoord opnieuw instellen","resetDescription":"Kies een methode om de toegang tot uw dashboard te herstellen","stopServer":"Stop de OmniRoute-server","processing":"Verwerken...","pleaseWait":"Een ogenblik geduld terwijl we de autorisatie voltooien.","authSuccess":"Autorisatie succesvol!","copyUrl":"Kopieer deze URL","accessDenied":"Toegang geweigerd","methodCliTitle":"Methode 1: CLI-reset","methodCliDescription":"Voer de volgende opdracht uit op de server waarop OmniRoute draait:","methodCliHint":"Hierdoor wordt u gevraagd een nieuw wachtwoord in te stellen. De server moet eerst worden gestopt.","methodManualTitle":"Methode 2: Handmatige reset","methodManualDescription":"Verwijder het wachtwoord uit de database en stel bij het opstarten een nieuw wachtwoord in:","setPasswordInYour":"Stel een nieuw wachtwoord in in uw","fileLabelSuffix":"bestand:","newPasswordPlaceholder":"uw_nieuwe_wachtwoord","deleteSettingsFile":"Verwijderen","orRemovePasswordHashField":"of verwijder het wachtwoordHash-veld","restartServerWithNewPassword":"Start de server opnieuw op. Deze gebruikt het nieuwe wachtwoord","backToLogin":"Terug naar Inloggen","forgotPassword":"Wachtwoord vergeten?","defaultPasswordHint":"Default password: 123456 (unless INITIAL_PASSWORD was set)","Authorization":"Autorisatie","Content-Disposition":"Inhoud-dispositie","waitingForAuthorization":"Wachten op toestemming...","waitingForGoogleAuthorization":"Wachten op Google-autorisatie...","waitingForOpenAIAuthorization":"Wachten op OpenAI-autorisatie...","waitingForAntigravityAuthorization":"Wachten op toestemming voor anti-zwaartekracht...","waitingForIFlowAuthorization":"Wachten op iFlow-autorisatie...","exchangingCodeForTokens":"Code uitwisselen voor tokens..."},"landing":{"brandName":"OmniRoute","navigateHome":"Navigeer naar huis","toggleMenu":"Schakelmenu","featuresLink":"Kenmerken","docsLink":"Documenten","github":"GitHub","versionLive":"v1.0 is nu live","oneEndpoint":"Eén eindpunt voor","allProviders":"Alle AI-providers","heroDescription":"AI-eindpuntproxy met webdashboard - Een JavaScript-poort van CLIProxyAPI. Werkt naadloos samen met Claude Code, OpenAI Codex, Cline, RooCode en andere CLI-tools.","getStarted":"Aan de slag","viewOnGithub":"Bekijk op GitHub","powerfulFeatures":"Krachtige functies","featuresSubtitle":"Alles wat u nodig heeft om uw AI-infrastructuur op één plek te beheren, gebouwd voor schaal.","featureUnifiedEndpointTitle":"Uniform eindpunt","featureUnifiedEndpointDesc":"Toegang tot alle providers via één standaard API-URL.","featureEasySetupTitle":"Eenvoudige installatie","featureEasySetupDesc":"Ga binnen enkele minuten aan de slag met de opdracht npx.","featureModelFallbackTitle":"Modelterugval","featureModelFallbackDesc":"Schakel automatisch over naar providers bij storingen of hoge latentie.","featureUsageTrackingTitle":"Gebruik volgen","featureUsageTrackingDesc":"Gedetailleerde analyses en kostenmonitoring voor alle modellen.","featureOAuthApiKeysTitle":"OAuth- en API-sleutels","featureOAuthApiKeysDesc":"Beheer inloggegevens veilig in één kluis.","featureCloudSyncTitle":"Cloudsynchronisatie","featureCloudSyncDesc":"Synchroniseer uw configuraties direct op verschillende apparaten.","featureCliSupportTitle":"CLI-ondersteuning","featureCliSupportDesc":"Werkt met Claude Code, Codex, Cline, Cursor en meer.","featureDashboardTitle":"Dashboard","featureDashboardDesc":"Visueel dashboard voor realtime verkeersanalyse.","howItWorks":"Hoe OmniRoute werkt","howItWorksDescription":"Gegevens stromen naadloos van uw applicatie via onze intelligente routeringslaag naar de beste provider voor de taak.","howItWorksStep1Title":"1. CLI en SDK\'s","howItWorksStep1Description":"Uw verzoeken beginnen vanuit uw favoriete tools of onze uniforme SDK. Wijzig gewoon de basis-URL.","howItWorksStep2Title":"2. OmniRoute-hub","howItWorksStep2Description":"Onze engine analyseert de prompt, controleert de status van de provider en routeert voor de laagste latentie of kosten.","howItWorksStep3Title":"3. AI-aanbieders","howItWorksStep3Description":"Aan het verzoek wordt onmiddellijk voldaan door OpenAI, Anthropic, Gemini of anderen.","getStartedIn30Seconds":"Ga binnen 30 seconden aan de slag","getStartedDescription":"Installeer OmniRoute, configureer uw providers via een webdashboard en begin met het routeren van AI-verzoeken.","installOmniRoute":"Installeer OmniRoute","installStepDescription":"Voer de npx-opdracht uit om de server onmiddellijk te starten","openDashboard":"Dashboard openen","openDashboardStepDescription":"Configureer providers en API-sleutels via de webinterface","routeRequests":"Routeverzoeken","routeRequestsStepDescription":"Verwijs uw CLI-tools naar {endpoint}","terminal":"terminaal","copy":"Kopieer","copied":"✓ Gekopieerd","startingOmniRoute":"OmniRoute starten...","serverRunningOnLabel":"Server draait aan","dashboardLabel":"Dashboard","readyToRoute":"Klaar om te routen! ✓","configureProvidersNote":"📝 Configureer providers in het dashboard of gebruik omgevingsvariabelen","dataLocation":"Gegevenslocatie:","dataLocationMacLinux":" macOS/Linux:","dataLocationWindows":" Ramen:","product":"Product","dashboardLink":"Dashboard","changelog":"Wijzigingslog","resources":"Hulpbronnen","documentation":"Documentatie","npm":"NPM","legal":"Legaal","mitLicense":"MIT-licentie","footerTagline":"Het uniforme eindpunt voor het genereren van AI. Verbind, routeer en beheer uw AI-providers eenvoudig.","copyright":"© {year} OmniRoute. Alle rechten voorbehouden.","flowToolClaudeCode":"Claude Code","flowToolOpenAICodex":"OpenAI-codex","flowToolCline":"Klijn","flowToolCursor":"Cursor","flowProviderOpenAI":"OpenAI","flowProviderAnthropic":"Antropisch","flowProviderGemini":"Tweeling","flowProviderGithubCopilot":"GitHub-copiloot","interactiveDiagram":"Interactief diagram zichtbaar op het bureaublad","ctaTitle":"Klaar om uw AI-infrastructuur te vereenvoudigen?","ctaDescription":"Sluit u aan bij ontwikkelaars die hun AI-integraties stroomlijnen met OmniRoute. Open source en gratis om te beginnen.","startFree":"Begin gratis","readDocumentation":"Documentatie lezen"},"docs":{"title":"Documentatie","quickStart":"Snel beginnen","features":"Kenmerken","supportedProviders":"Ondersteunde providers","supportedProvidersToc":"Aanbieders","commonUseCases":"Veelvoorkomende gebruiksscenario\'s","clientCompatibility":"Compatibiliteit met klanten","protocolsToc":"Protocols","apiReference":"API-referentie","method":"Methode","path":"Pad","notes":"Opmerkingen","modelPrefixes":"Modelvoorvoegsels","prefix":"Voorvoegsel","troubleshooting":"Problemen oplossen","supportsChat":"Ondersteunt zowel chat- als reacties-eindpunten.","oauthAutoRefresh":"OAuth-verbinding met automatische tokenvernieuwing.","fullStreaming":"Volledige streamingondersteuning voor alle modellen.","docsLabel":"Documenten","docsHeroDescription":"AI-gateway voor LLM\'s met meerdere providers. Eén eindpunt voor OpenAI, Anthropic, Gemini, GitHub Copilot, Claude Code, Cursor en nog meer dan 20 providers.","openDashboard":"Dashboard openen","endpointPage":"Eindpuntpagina","github":"GitHub","reportIssue":"Rapporteer probleem","onThisPage":"Op deze pagina","documentationVersion":"Documentatie - v{version}","quickStartStep1Title":"1. Installeren en uitvoeren","quickStartStep1Prefix":"Rennen","quickStartStep1Middle":"of kloon van GitHub en voer het uit","quickStartStep2Title":"2. Maak een API-sleutel","quickStartStep2Text":"Ga naar Eindpunt -> Geregistreerde sleutels. Genereer één sleutel per omgeving.","quickStartStep3Title":"3. Verbind aanbieders","quickStartStep3Text":"Voeg provideraccounts toe via OAuth-aanmelding, API-sleutel of gratis automatische verbinding.","quickStartStep4Title":"4. Stel de clientbasis-URL in","quickStartStep4Prefix":"Verwijs naar uw IDE- of API-client","quickStartStep4Suffix":"Gebruik bijvoorbeeld het providervoorvoegsel","featureRoutingTitle":"Routering door meerdere providers","featureRoutingText":"Routeer verzoeken naar meer dan 30 AI-providers via één enkel OpenAI-compatibel eindpunt. Ondersteunt API\'s voor chat, reacties, audio en afbeeldingen.","featureCombosTitle":"Combo\'s en balanceren","featureCombosText":"Creëer modelcombinaties met fallback-ketens en balanceringsstrategieën: round-robin, prioriteit, willekeurig, minst gebruikt en kostengeoptimaliseerd.","featureUsageTitle":"Gebruik en kosten bijhouden","featureUsageText":"Realtime tokentelling, kostenberekening per provider/model en gedetailleerd gebruiksoverzicht per API-sleutel en account.","featureAnalyticsTitle":"Analytics-dashboard","featureAnalyticsText":"Visuele analyses met grafieken voor verzoeken, tokens, fouten, latentie, kosten en modelpopulariteit in de loop van de tijd.","featureHealthTitle":"Gezondheidsmonitoring","featureHealthText":"Live statuscontroles, providerstatus, status van stroomonderbrekers en automatische detectie van snelheidslimieten met exponentiële uitstel.","featureCliTitle":"CLI-hulpmiddelen","featureCliText":"Beheer IDE-configuraties, exporteer/importeer back-ups, ontdek codexprofielen en configureer instellingen vanaf het dashboard.","featureSecurityTitle":"Beveiliging en beleid","featureSecurityText":"API-sleutelverificatie, IP-filtering, prompt injection guard, domeinbeleid, sessiebeheer en auditlogboekregistratie.","featureCloudSyncTitle":"Cloudsynchronisatie","featureCloudSyncText":"Synchroniseer uw configuratie met Cloudflare Workers voor externe toegang met gecodeerde inloggegevens en automatische failover.","providersAcrossConnectionTypes":"{count} providers in drie verbindingstypen.","manageProviders":"Beheer aanbieders","providersCount":"{count} aanbieders","providerTypeFree":"Gratis niveau","providerTypeOAuth":"OAuth","providerTypeApiKey":"API-sleutel","useCaseSingleEndpointTitle":"Eén eindpunt voor veel providers","useCaseSingleEndpointText":"Verwijs clients naar één basis-URL en routeer op modelvoorvoegsel (bijvoorbeeld: gh/, cc/, kr/, openai/).","useCaseFallbackTitle":"Fallback en modelwisseling met combo\'s","useCaseFallbackText":"Creëer combomodellen in Dashboard en houd de clientconfiguratie stabiel terwijl providers intern roteren.","useCaseUsageVisibilityTitle":"Zichtbaarheid van gebruik, kosten en foutopsporing","useCaseUsageVisibilityText":"Houd tokens en kosten bij per provider, account en API-sleutel op de tabbladen Gebruik en Analyse.","clientCherryStudioTitle":"Kersenstudio","baseUrlLabel":"Basis-URL","chatEndpointLabel":"Chat-eindpunt","modelRecommendationLabel":"Modelaanbeveling: expliciet voorvoegsel","clientCodexTitle":"Codex / GitHub Copilot-modellen","clientCodexBullet1":"Gebruik model-ID\'s met","clientCodexBullet2":"Modellen uit de Codex-familie routeren automatisch naar","clientCodexBullet3":"Niet-Codex-modellen gaan door","clientCursorTitle":"Cursor-IDE","clientCursorBullet1":"Gebruik","clientCursorBullet1Suffix":"voorvoegsel voor Cursor-modellen.","clientCursorBullet2":"OAuth-verbinding - log in vanaf de pagina Providers.","clientClaudeTitle":"Claude Code / Antizwaartekracht","clientClaudeBullet1Prefix":"Gebruik","clientClaudeBullet1Middle":"(Claude) of","clientClaudeBullet1Suffix":"(Antizwaartekracht) voorvoegsel.","protocolsTitle":"Protocols: MCP & A2A","protocolsDescription":"OmniRoute exposes two operational protocols in addition to OpenAI-compatible APIs: MCP for tool execution and A2A for agent-to-agent workflows.","protocolMcpTitle":"MCP (Model Context Protocol)","protocolMcpDesc":"Use MCP over stdio to let clients discover and call OmniRoute tools with audit visibility.","protocolMcpStep1":"Start MCP transport with `omniroute --mcp`.","protocolMcpStep2":"Point your MCP client to stdio transport.","protocolMcpStep3":"Call `omniroute_get_health` and `omniroute_list_combos` to validate connectivity.","protocolA2aTitle":"A2A (Agent2Agent)","protocolA2aDesc":"Use A2A JSON-RPC to submit tasks synchronously or via SSE streaming.","protocolA2aStep1":"Read `/.well-known/agent.json` for agent discovery.","protocolA2aStep2":"Send `message/send` or `message/stream` requests to `POST /a2a`.","protocolA2aStep3":"Manage task lifecycle with `tasks/get` and `tasks/cancel`.","protocolTroubleshootingTitle":"Protocol Troubleshooting","protocolTroubleshooting1":"If MCP status is offline, verify the stdio process is running and heartbeat file is updating.","protocolTroubleshooting2":"If A2A tasks stay in `working`, inspect `/api/a2a/tasks/:id` and stream events for terminal state.","protocolTroubleshooting3":"Use `/dashboard/mcp` and `/dashboard/a2a` for operational controls and audit visibility.","endpointChatNote":"OpenAI-compatibel chat-eindpunt (standaard).","endpointResponsesNote":"Reacties API-eindpunt (Codex, o-serie).","endpointModelsNote":"Modelcatalogus voor alle aangesloten providers.","endpointAudioNote":"Audiotranscriptie (Deepgram, AssemblyAI).","endpointImagesNote":"Beeldgeneratie (NanoBanana).","endpointRewriteChatNote":"Herschrijfhulp voor clients zonder /v1.","endpointRewriteResponsesNote":"Herschrijfhulp voor reacties zonder /v1.","endpointRewriteModelsNote":"Herschrijfhulp voor modeldetectie zonder /v1.","modelPrefixesDescriptionStart":"Gebruik het providervoorvoegsel vóór de modelnaam om naar een specifieke provider te routeren. Voorbeeld:","modelPrefixesDescriptionEnd":"routes naar GitHub Copilot.","provider":"Aanbieder","type":"Typ","troubleshootingModelRouting":"Als de client faalt met modelrouting, gebruik dan een expliciete provider/model (bijvoorbeeld: gh/gpt-5.1-codex).","troubleshootingAmbiguousModels":"Als u dubbelzinnige modelfouten ontvangt, kiest u een providervoorvoegsel in plaats van een kale model-ID.","troubleshootingCodexFamily":"Voor modellen uit de GitHub Codex-familie behoudt u het model als gh/codex-model; router selecteert /responses automatisch.","troubleshootingTestConnection":"Gebruik Dashboard > Providers > Verbinding testen voordat u gaat testen vanaf IDE\'s of externe clients.","troubleshootingCircuitBreaker":"Als een provider aangeeft dat de stroomonderbreker open is, wacht dan op de cooldown of kijk op de Gezondheidspagina voor meer informatie.","troubleshootingOAuth":"Voor OAuth-providers geldt dat u opnieuw moet verifiëren als tokens verlopen. Controleer de statusindicator van de providerkaart.","managementApiReference":"Management API Reference","managementApiDescription":"Automation endpoints for proxy registry, scope assignments, and legacy proxy migration.","mgmtProxiesListNote":"List saved proxy registry items (supports pagination).","mgmtProxiesCreateNote":"Create a reusable proxy item in the registry.","mgmtProxiesHealthNote":"Get 24h/rolling health metrics per saved proxy from proxy logs.","mgmtProxiesBulkAssignNote":"Assign or clear one proxy across many scope IDs in one request.","mgmtAssignmentsListNote":"List proxy assignments by scope, scope_id, or proxy_id.","mgmtAssignmentsUpdateNote":"Assign or clear proxy for global/provider/account/combo scope.","mgmtLegacyMigrationNote":"Import legacy proxyConfig maps into registry assignments.","endpointSpeechNote":"Tekst-naar-spraakgeneratie (ElevenLabs, OpenAI TTS).","endpointEmbeddingsNote":"Genereren van tekstinsluiting (OpenAI, Cohere, Voyage)."},"legal":{"privacyPolicy":"Privacybeleid","termsOfService":"Servicevoorwaarden","providerConfigurations":"Providerconfiguraties","apiKeys":"API-sleutels","usageLogs":"Gebruikslogboeken","applicationSettings":"Applicatie-instellingen","viewExportAnalytics":"Gebruiksanalyses bekijken en exporteren","clearHistory":"Wis de gebruiksgeschiedenis op elk gewenst moment","configureRetention":"Configureer het bewaarbeleid voor logboeken","backupRestore":"Maak een back-up van uw database en herstel deze","privacyMetadataTitle":"Privacybeleid | OmniRoute","privacyMetadataDescription":"Privacybeleid voor de OmniRoute AI API-proxyrouter.","termsMetadataTitle":"Servicevoorwaarden | OmniRoute","termsMetadataDescription":"Servicevoorwaarden voor de OmniRoute AI API-proxyrouter.","backToHome":"Terug naar huis","lastUpdated":"Laatst bijgewerkt: {date}","policyLastUpdatedDate":"13 februari 2026","listSeparator":"-","questionsVisit":"Vragen? Bezoek onze","githubRepository":"GitHub-opslagplaats","privacySection1Title":"1. Lokaal-eerste architectuur","privacySection1Text":"OmniRoute is ontworpen als een local-first applicatie. Alle gegevensverwerking en opslag vindt volledig op uw machine plaats. Er is geen gecentraliseerde server die uw gegevens verzamelt.","privacySection2Title":"2. Gegevens die we opslaan","privacyDataStoredIn":"De volgende gegevens worden lokaal opgeslagen in","privacyDataProviderConfigurationsDesc":"verbindings-URL\'s, providertypen en prioriteitsinstellingen","privacyDataApiKeysDesc":"gecodeerd en lokaal opgeslagen voor authenticatie bij AI-providers","privacyDataUsageLogsDesc":"aantal verzoeken, tokengebruik, modelnamen, tijdstempels en responstijden","privacyDataApplicationSettingsDesc":"themavoorkeuren, routeringsstrategie en combo-configuraties","privacySection3Title":"3. Geen telemetrie","privacySection3Text":"OmniRoute verzamelt geen telemetrie-, analyse- of crashrapporten. Er worden geen gegevens naar ons of een derde partij verzonden. Uw gebruikspatronen, API-aanroepen en configuraties blijven volledig privé.","privacySection4Title":"4. Externe AI-aanbieders","privacySection4Text":"Wanneer u API-aanroepen doet via OmniRoute, worden uw verzoeken doorgestuurd naar de AI-providers die u heeft geconfigureerd (bijvoorbeeld: OpenAI, Anthropic, Google). Deze providers hebben hun eigen privacybeleid waarin wordt bepaald hoe zij met uw gegevens omgaan. Controleer alstublieft:","privacyOpenAiPolicy":"OpenAI-privacybeleid","privacyAnthropicPolicy":"Antropisch privacybeleid","privacyGooglePolicy":"Google-privacybeleid","privacySection5Title":"5. Cloudsynchronisatie (optioneel)","privacySection5Text":"Als u de optionele cloudsynchronisatiefunctie inschakelt, kunnen providerconfiguraties en API-sleutels worden verzonden naar een geconfigureerd cloudeindpunt. Deze functie is standaard uitgeschakeld en vereist expliciete aanmelding.","privacySection6Title":"6. Loggen","privacyLoggingIntro":"Verzoeklogboeken kunnen worden geconfigureerd via de dashboardinstellingen. U kunt:","privacySection7Title":"7. Uw rechten","privacySection7TextStart":"Omdat alle gegevens lokaal worden opgeslagen, heeft u volledige controle. U kunt uw gegevens op elk gewenst moment verwijderen door de","privacySection7TextEnd":"map of met behulp van de databaseback-up- en -herstelfuncties in het dashboard.","termsSection1Title":"1. Overzicht","termsSection1Text":"OmniRoute is een local-first AI API-proxyrouter die volledig op uw machine werkt. Het stuurt verzoeken door naar meerdere AI-providers met taakverdeling, failover en gebruiksregistratie.","termsSection2Title":"2. Verantwoordelijkheden van gebruikers","termsResponsibilityApiKeys":"U bent als enige verantwoordelijk voor het beheer van uw eigen API-sleutels en inloggegevens voor externe AI-providers (OpenAI, Anthropic, Google, enz.).","termsResponsibilityCompliance":"U moet voldoen aan de servicevoorwaarden van elke AI-provider waarvan u via OmniRoute toegang krijgt tot de API.","termsResponsibilitySecurity":"U bent verantwoordelijk voor de beveiliging van uw lokale OmniRoute-installatie, inclusief het instellen van een wachtwoord en het beperken van netwerktoegang.","termsSection3Title":"3. Hoe het werkt","termsSection3Text":"OmniRoute fungeert als intermediaire proxy. API-aanroepen die naar OmniRoute worden verzonden, worden vertaald en doorgestuurd naar uw geconfigureerde AI-providers. OmniRoute wijzigt de inhoud van uw verzoeken of antwoorden niet behalve de noodzakelijke protocolvertaling.","termsSection4Title":"4. Gegevensverwerking","termsDataStoredLocally":"Alle gegevens worden lokaal op uw machine opgeslagen in een SQLite-database.","termsNoTransmission":"OmniRoute verzendt geen gegevens naar externe servers, tenzij u expliciet cloudsynchronisatiefuncties inschakelt.","termsDataLocationText":"Gebruikslogboeken, API-sleutels en configuratie worden opgeslagen in","termsSection5Title":"5. Disclaimer","termsSection5Text":"OmniRoute wordt geleverd \\"zoals het is\\" zonder enige vorm van garantie. Wij zijn niet verantwoordelijk voor eventuele kosten die voortvloeien uit API-gebruik, serviceonderbrekingen of gegevensverlies. Zorg altijd voor back-ups van uw configuratie.","termsSection6Title":"6. Open-source","termsSection6Text":"OmniRoute is open source-software. U bent vrij om het te inspecteren, wijzigen en distribueren onder de voorwaarden van de licentie."},"endpoints":{"tabProxy":"Endpoint Proxy","tabApiEndpoints":"API Endpoints","apiEndpointsTitle":"API Endpoints","apiEndpointsDescription":"Backend API endpoints that can be consumed by other applications and services. This section will list all available REST APIs with documentation and testing capabilities.","comingSoon":"Coming Soon","plannedFeatures":"Planned Features","featureRestApi":"REST API endpoint catalog with interactive documentation","featureWebhooks":"Webhook configuration and event subscriptions","featureSwagger":"OpenAPI / Swagger spec auto-generation","featureAuth":"API key and OAuth scope management per endpoint"},"agents":{"title":"CLI Agents","description":"Discover installed CLI agents on your system. Add custom agents for auto-detection.","refresh":"Refresh","installed":"Installed","notFound":"Not Found","builtIn":"Built-in","custom":"Custom","remove":"Remove","addCustomAgent":"Add Custom Agent","addCustomAgentDesc":"Register any CLI tool for detection. It will be scanned automatically on refresh.","agentName":"Agent Name","binaryName":"Binary Name","versionCommand":"Version Command","spawnArgs":"Spawn Args","addAgent":"Add Agent","scanning":"Scanning system for CLI agents...","opencodeIntegration":"OpenCode Integration","opencodeDetected":"opencode {version} detected","opencodeDesc":"Generate a ready-to-use {configFile} with your OmniRoute base URL and all available models — drop it in your project root and run {command}.","downloadConfig":"Download {file}","downloaded":"Downloaded!","setupGuideTitle":"Setup guide","openCliTools":"Open CLI Tools","setupGuideDetectCliTitle":"Detect installed CLIs","setupGuideDetectCliDesc":"Click Refresh after installing or updating a CLI so OmniRoute can rescan binaries and versions.","setupGuideCustomAgentTitle":"Register custom binary","setupGuideCustomAgentDesc":"Use Add Custom Agent when your CLI is not in the built-in list. Provide binary name and version command.","setupGuideCommandMissingTitle":"Fix \'command not found\'","setupGuideCommandMissingDesc":"Ensure the CLI command exists in PATH, open a new terminal session, and rerun Refresh."},"autoCombo":{"title":"Auto-Combo Engine","statusNormal":"Normal","statusIncident":"Incident Mode","modePack":"Mode Pack","providerScores":"Provider Scores","noAutoCombo":"No auto-combo configured.","excludedProviders":"Excluded Providers","noExclusions":"No providers currently excluded.","factorQuota":"Quota","factorHealth":"Health","factorCost":"Cost","factorLatency":"Latency","factorTaskFit":"Task Fit","factorStability":"Stability","factorTierPriority":"Tier Priority","factorTierPriorityDesc":"Prefers accounts with higher quota tiers (Ultra/Pro over Free)","scoreFactorBreakdown":"Scoring Factors","modePackShipFast":"Ship Fast","modePackCostSaver":"Cost Saver","modePackQualityFirst":"Quality First","modePackOfflineFriendly":"Offline Friendly"},"search":{"searchQuery":"Search Query","searchResults":"Search Results","cachedResult":"Cached","searchCost":"Cost","searchTools":"Search Tools","searchToolsDesc":"Advanced search testing with provider comparison","compareProviders":"Compare Providers","rerankResults":"Rerank Results","searchHistory":"Search History","urlOverlap":"URL Overlap","noSearchProviders":"No search providers configured. Add providers in Settings.","noRerankModels":"No rerank model available","webSearch":"Web Search","provider":"Provider","searchType":"Search Type","maxResults":"Max Results","filters":"Filters","country":"Country","language":"Language","timeRange":"Time Range","includeDomains":"Include Domains","excludeDomains":"Exclude Domains","safeSearch":"Safe Search","formatted":"Formatted","rawJson":"JSON","cacheMiss":"cache miss","cacheHit":"cache hit","latency":"Latency","cost":"Cost","results":"Results","rerank":"Rerank","rerankModel":"Rerank Model","positionDelta":"Position Change","emptyState":"Send a search query to see results","safeSearchOff":"Off","safeSearchModerate":"Moderate","safeSearchStrict":"Strict","queryPlaceholder":"Enter search query...","providerAuto":"auto (cheapest)","searchTypeWeb":"web","searchTypeNews":"news","optionAny":"any","timeRangeDay":"Past day","timeRangeWeek":"Past week","timeRangeMonth":"Past month","timeRangeYear":"Past year","domainPlaceholder":"example.com","requestTimedOut":"Request timed out ({seconds}s)","networkError":"Network error"},"templateNames":{"simple-chat":"Eenvoudig chatten","streaming":"Streamen","system-prompt":"Systeemprompt","thinking":"Denken","tool-calling":"Gereedschap bellen","multi-turn":"Multi-turn"},"templateDescriptions":{"simple-chat":"Basischatsjabloon met systeembericht","streaming":"Sjabloon voor het streamen van antwoorden","system-prompt":"Sjabloon met aangepaste systeemprompt","thinking":"Sjabloon met redeneer-/denkbudget","tool-calling":"Sjabloon voor het oproepen van gereedschap/functies","multi-turn":"Sjabloon voor gesprekken met meerdere beurten"},"templatePayloads":{"simpleChat":{"system":"Je bent een behulpzame AI-assistent.","userGreeting":"Hallo! Hoe kan ik je vandaag helpen?"},"streaming":{"prompt":"Schrijf een verhaal over"},"systemPrompt":{"question":"Wat is de zin van het leven?","systemInstruction":"Geef een doordacht, filosofisch antwoord."},"thinking":{"question":"Kwantumcomputers uitleggen"},"toolCalling":{"cityNameDescription":"De naam van de stad waarvoor u het weer wilt ophalen","toolDescription":"Ontvang het huidige weer voor een locatie","userWeather":"Hoe is het weer in Tokio?"},"multiTurn":{"system":"Je bent een behulpzame assistent.","assistantExample":"Ik help je daar graag mee.","userInitial":"Ik heb hulp nodig bij","userFollowUp":"Kunt u dat nader toelichten?"}},"cache":{"title":"Cache Management","description":"Monitor and manage semantic response cache, hit rates, and token savings.","refresh":"Refresh","clearAll":"Clear All","memoryEntries":"Memory Entries","dbEntries":"DB Entries","cacheHits":"Cache Hits","tokensSaved":"Tokens Saved","hitRate":"Hit Rate","performance":"Cache Performance","behavior":"Cache Behavior","idempotency":"Idempotency Layer","clearSuccess":"Cache cleared. {count} expired entries removed.","clearError":"Failed to clear cache.","unavailable":"Cache unavailable","unavailableDesc":"Could not fetch cache statistics. Make sure the server is running.","memoryEntriesSub":"In-memory LRU","dbEntriesSub":"Persisted (SQLite)","cacheHitsSub":"of {total} total","tokensSavedSub":"Estimated from hits","autoRefresh":"Auto-refreshes every {seconds}s","hits":"Hits","misses":"Misses","total":"Total","behaviorDeterministic":"Only non-streaming requests with temperature=0 are cached.","behaviorBypass":"Bypass with header {header}.","behaviorTwoTier":"Two-tier storage: in-memory LRU (fast) + SQLite (persistent across restarts).","behaviorTtl":"Default TTL: 30 minutes. Configure via {envVar}.","activeDedupKeys":"Active Dedup Keys","dedupWindow":"Dedup Window"}}'))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_i18n_messages_nl_json_55ad1507._.js.map
|