mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-04 22:32:12 +03:00
2353 lines
116 KiB
JSON
2353 lines
116 KiB
JSON
{
|
||
"common": {
|
||
"save": "Lagre",
|
||
"cancel": "Avbryt",
|
||
"delete": "Slett",
|
||
"loading": "Laster inn...",
|
||
"error": "Det oppsto en feil",
|
||
"success": "Suksess",
|
||
"confirm": "Er du sikker?",
|
||
"refresh": "Oppdater",
|
||
"close": "Lukk",
|
||
"add": "Legg til",
|
||
"edit": "Rediger",
|
||
"search": "Søk",
|
||
"back": "Tilbake",
|
||
"next": "Neste",
|
||
"submit": "Send inn",
|
||
"reset": "Tilbakestill",
|
||
"copy": "Kopier",
|
||
"copied": "Kopiert!",
|
||
"enabled": "Aktivert",
|
||
"disabled": "Deaktivert",
|
||
"active": "Aktiv",
|
||
"inactive": "Inaktiv",
|
||
"noData": "Ingen data tilgjengelig",
|
||
"configure": "Konfigurer",
|
||
"manage": "Administrer",
|
||
"name": "Navn",
|
||
"actions": "Handlinger",
|
||
"status": "Status",
|
||
"type": "Type",
|
||
"model": "Modell",
|
||
"models": "modeller",
|
||
"provider": "Leverandør",
|
||
"account": "Konto",
|
||
"time": "Tid",
|
||
"details": "Detaljer",
|
||
"created": "Opprettet",
|
||
"lastUsed": "Sist brukt",
|
||
"loadMore": "Last inn mer",
|
||
"noResults": "Ingen resultater funnet",
|
||
"reloadPage": "Last inn siden på nytt",
|
||
"connected": "Tilkoblet",
|
||
"disconnected": "Koblet fra",
|
||
"notConfigured": "Ikke konfigurert",
|
||
"testConnection": "Test tilkobling",
|
||
"enable": "Aktiver",
|
||
"disable": "Deaktiver",
|
||
"columns": "Kolonner",
|
||
"newest": "Nyeste",
|
||
"oldest": "Eldst",
|
||
"all": "Alle",
|
||
"none": "Ingen",
|
||
"yes": "Ja",
|
||
"no": "Nei",
|
||
"warning": "Advarsel",
|
||
"note": "Merk",
|
||
"free": "Gratis",
|
||
"skipToContent": "Gå til innhold"
|
||
},
|
||
"sidebar": {
|
||
"home": "Hjem",
|
||
"dashboard": "Dashbord",
|
||
"providers": "Leverandører",
|
||
"combos": "Combos",
|
||
"usage": "Bruk",
|
||
"analytics": "Analytics",
|
||
"costs": "Kostnader",
|
||
"health": "Helse",
|
||
"limits": "Grenser og kvoter",
|
||
"cliTools": "CLI-verktøy",
|
||
"media": "Medier",
|
||
"settings": "Innstillinger",
|
||
"translator": "Oversetter",
|
||
"docs": "Dokumenter",
|
||
"issues": "Problemer",
|
||
"endpoint": "Endepunkt",
|
||
"mcp": "MCP",
|
||
"a2a": "A2A",
|
||
"apiManager": "API-behandler",
|
||
"logs": "Logger",
|
||
"auditLog": "Revisjonslogg",
|
||
"shutdown": "Avslutning",
|
||
"restart": "Start på nytt",
|
||
"shutdownConfirm": "Slå av OmniRoute?",
|
||
"restartConfirm": "Starte OmniRoute på nytt?",
|
||
"version": "v{version}",
|
||
"debug": "Feilsøk",
|
||
"system": "System",
|
||
"help": "Hjelp",
|
||
"serverDisconnected": "Server frakoblet",
|
||
"serverDisconnectedMsg": "Proxy-serveren er stoppet eller starter på nytt.",
|
||
"expandSidebar": "Utvid sidefeltet",
|
||
"collapseSidebar": "Skjul sidefeltet",
|
||
"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"
|
||
},
|
||
"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": "Active theme"
|
||
},
|
||
"header": {
|
||
"logout": "Logg ut",
|
||
"language": "Språk",
|
||
"providers": "Leverandører",
|
||
"providerDescription": "Administrer AI-leverandørtilkoblingene dine",
|
||
"combos": "Combos",
|
||
"comboDescription": "Modellkombinasjoner med fallback",
|
||
"usage": "Bruk og analyse",
|
||
"usageDescription": "Overvåk API-bruken din, tokenforbruk og forespørselslogger",
|
||
"analytics": "Analytics",
|
||
"analyticsDescription": "Diagrammer, trender og evalueringsinnsikt",
|
||
"cliTools": "CLI-verktøy",
|
||
"cliToolsDescription": "Konfigurer CLI-verktøy",
|
||
"home": "Hjem",
|
||
"homeDescription": "Velkommen til OmniRoute",
|
||
"endpoint": "Endepunkt",
|
||
"endpointDescription": "API-endepunktkonfigurasjon",
|
||
"mcp": "MCP Management",
|
||
"mcpDescription": "Monitor MCP server process, tools, and operational controls",
|
||
"a2a": "A2A Management",
|
||
"a2aDescription": "Monitor Agent2Agent status, tasks, and streaming activity",
|
||
"settings": "Innstillinger",
|
||
"settingsDescription": "Administrer dine preferanser",
|
||
"openaiCompatible": "OpenAI-kompatibel",
|
||
"anthropicCompatible": "Antropisk kompatibel",
|
||
"media": "Media",
|
||
"mediaDescription": "Generate images, videos, and music",
|
||
"themes": "Themes",
|
||
"themesDescription": "Choose a color theme for the whole dashboard panel"
|
||
},
|
||
"home": {
|
||
"quickStart": "Rask start",
|
||
"quickStartDesc": "Kom i gang i 4 trinn. Koble til leverandører, rutemodeller, overvåk alt.",
|
||
"fullDocs": "Fulle dokumenter",
|
||
"step1Title": "1. Opprett API-nøkkel",
|
||
"step1Desc": "Gå til <endpoint>Endpoint</endpoint> -> Registrerte nøkler. Generer én nøkkel per miljø.",
|
||
"step2Title": "2. Koble til leverandører",
|
||
"step2Desc": "Legg til kontoer i <providers>Providers</providers>. Støtter OAuth, API Key og gratis nivåer.",
|
||
"step3Title": "3. Pek klienten din",
|
||
"step3Desc": "Angi basis-URL til {url} i IDE- eller API-klienten.",
|
||
"step4Title": "4. Overvåk og optimaliser",
|
||
"step4Desc": "Spor tokens, kostnader og feil i <logs>Request Logs</logs> og <analytics>Analytics</analytics>.",
|
||
"providersOverview": "Oversikt over leverandører",
|
||
"configuredOf": "{configured} konfigurert av {total} tilgjengelige leverandører",
|
||
"noModelsAvailable": "Ingen modeller tilgjengelig for denne leverandøren.",
|
||
"configureFirst": "Konfigurer en tilkobling først i {providers}",
|
||
"configureProvider": "Konfigurer leverandør",
|
||
"modelAvailable": "{count} modell tilgjengelig",
|
||
"modelsAvailable": "{count} modeller tilgjengelig",
|
||
"connectionsActive": "{count} tilkobling aktiv",
|
||
"connectionsActivePlural": "{count} tilkoblinger aktive",
|
||
"copyModelName": "Kopier modellnavnet",
|
||
"documentation": "Dokumentasjon",
|
||
"healthMonitor": "Helsemonitor",
|
||
"reportIssue": "Rapporter problem",
|
||
"activeError": "{active} aktiv · {errors} feil",
|
||
"oauthLabel": "OAuth",
|
||
"apiKeyLabel": "API-nøkkel",
|
||
"requestsShort": "{count} req",
|
||
"providerModelsTitle": "{provider} - Modeller",
|
||
"copiedModel": "Kopiert: {model}",
|
||
"aliasLabel": "alias"
|
||
},
|
||
"analytics": {
|
||
"title": "Analytics",
|
||
"overviewDescription": "Overvåk API-bruksmønstre, tokenforbruk, kostnader og aktivitetstrender på tvers av alle leverandører og modeller.",
|
||
"evalsDescription": "Kjør evalueringspakker for å teste og validere LLM-endepunktene dine. Sammenlign modellkvalitet, registrer regresjoner og benchmark latens.",
|
||
"overview": "Oversikt",
|
||
"evals": "Evals"
|
||
},
|
||
"apiManager": {
|
||
"title": "API-nøkler",
|
||
"createKey": "Opprett API-nøkkel",
|
||
"key": "Nøkkel",
|
||
"revokeKey": "Tilbakekall nøkkel",
|
||
"revokeConfirm": "Er du sikker på at du vil tilbakekalle denne API-nøkkelen?",
|
||
"noKeys": "Ingen API-nøkler ennå",
|
||
"noKeysDesc": "Lag din første API-nøkkel for å autentisere forespørsler til endepunktet ditt",
|
||
"keyLabel": "Nøkkeletikett",
|
||
"permissions": "Tillatelser",
|
||
"expiresAt": "Utløper",
|
||
"never": "Aldri",
|
||
"revoke": "Oppheve",
|
||
"showKey": "Vis nøkkel",
|
||
"hideKey": "Skjul nøkkel",
|
||
"copyKey": "Kopier API-nøkkel",
|
||
"allModels": "Alle modeller",
|
||
"selectedModels": "Utvalgte modeller",
|
||
"readOnly": "Kun lesetilgang",
|
||
"fullAccess": "Full tilgang",
|
||
"keyManagement": "API Key Management",
|
||
"keyManagementDesc": "Opprett og administrer API-nøkler for autentisering av forespørsler til endepunktet ditt",
|
||
"totalKeys": "Totalnøkler",
|
||
"restricted": "Begrenset",
|
||
"totalRequests": "Totalt antall forespørsler",
|
||
"modelsAvailable": "Modeller tilgjengelig",
|
||
"registeredKeys": "Registrerte nøkler",
|
||
"keysRegistered": "{count} nøkler registrert",
|
||
"keyRegistered": "{count} nøkkel registrert",
|
||
"keysSecurityNote": "Hver nøkkel isolerer brukssporing og kan trekkes tilbake uavhengig. Nøkler er maskert etter opprettelse for sikkerhet.",
|
||
"createFirstKey": "Lag din første nøkkel",
|
||
"name": "Navn",
|
||
"usage": "Bruk",
|
||
"created": "Opprettet",
|
||
"actions": "Handlinger",
|
||
"reqs": "krav",
|
||
"neverUsed": "Aldri brukt",
|
||
"deleteConfirm": "Vil du slette denne API-nøkkelen?",
|
||
"usageTips": "Brukstips",
|
||
"tipAuth": "Bruk API-nøkler i autorisasjonsoverskriften som bærer DIN_KEY",
|
||
"tipSecure": "Nøkler vises bare én gang under opprettelsen – oppbevar dem sikkert",
|
||
"tipSeparate": "Lag separate nøkler for forskjellige klienter eller miljøer",
|
||
"tipRestrict": "Begrens nøkler til spesifikke modeller for bedre sikkerhet og kostnadskontroll",
|
||
"keyName": "Nøkkelnavn",
|
||
"keyNamePlaceholder": "f.eks. produksjonsnøkkel, utviklingsnøkkel",
|
||
"keyNameDesc": "Velg et beskrivende navn for å identifisere formålet med denne nøkkelen",
|
||
"keyCreated": "API-nøkkel opprettet",
|
||
"keyCreatedSuccess": "Nøkkel ble opprettet!",
|
||
"keyCreatedNote": "Kopier og lagre denne nøkkelen nå – den vises ikke igjen.",
|
||
"done": "Ferdig",
|
||
"savePermissions": "Lagre tillatelser",
|
||
"allowAll": "Tillat alle",
|
||
"restrict": "Begrens",
|
||
"allowAllInfo": "Denne nøkkelen har tilgang til alle tilgjengelige modeller.",
|
||
"restrictInfo": "Denne nøkkelen har tilgang til {selected} av {total}-modeller.",
|
||
"selected": "{count} valgt",
|
||
"all": "Alle",
|
||
"clear": "Klart",
|
||
"searchModels": "Søk etter modeller etter navn eller leverandør...",
|
||
"noModelsFound": "Ingen modeller funnet",
|
||
"keyNameRequired": "Nøkkelnavn er påkrevd",
|
||
"keyNameTooLong": "Nøkkelnavnet må være {max} tegn eller mindre",
|
||
"keyNameInvalid": "Nøkkelnavn kan bare inneholde bokstaver, tall, mellomrom, bindestreker og understreker",
|
||
"invalidKeyName": "Ugyldig nøkkelnavn",
|
||
"failedCreateKey": "Kunne ikke opprette nøkkel",
|
||
"failedCreateKeyRetry": "Kunne ikke opprette nøkkel. Vennligst prøv igjen.",
|
||
"invalidKeyId": "Ugyldig nøkkel-ID",
|
||
"failedDeleteKey": "Kunne ikke slette nøkkelen",
|
||
"failedDeleteKeyRetry": "Kunne ikke slette nøkkelen. Vennligst prøv igjen.",
|
||
"invalidModelsSelection": "Ugyldig modellvalg",
|
||
"cannotSelectMoreThanModels": "Kan ikke velge mer enn {max} modeller",
|
||
"failedUpdatePermissions": "Kunne ikke oppdatere tillatelser",
|
||
"failedUpdatePermissionsRetry": "Kunne ikke oppdatere tillatelser. Vennligst prøv igjen.",
|
||
"unknownProvider": "ukjent",
|
||
"copyMaskedKey": "Kopier maskert nøkkel",
|
||
"modelsCount": "{count, plural, one {# model} other {# models}}",
|
||
"lastUsedOn": "Siste: {date}",
|
||
"editPermissions": "Rediger tillatelser",
|
||
"deleteKey": "Slett nøkkel",
|
||
"model": "{count} modell",
|
||
"models": "{count} modeller",
|
||
"permissionsTitle": "Tillatelser: {name}",
|
||
"allowAllDesc": "Denne nøkkelen har tilgang til alle tilgjengelige modeller.",
|
||
"restrictDesc": "Denne nøkkelen har tilgang til {selectedCount} av {totalModels}-modeller.",
|
||
"selectedCount": "{count} valgt"
|
||
},
|
||
"auditLog": {
|
||
"title": "Revisjonslogg",
|
||
"searchPlaceholder": "Søkehandlinger...",
|
||
"action": "Handling",
|
||
"actor": "Skuespiller",
|
||
"target": "Mål",
|
||
"ipAddress": "IP-adresse",
|
||
"timestamp": "Tidsstempel",
|
||
"noEntries": "Ingen revisjonsoppføringer funnet",
|
||
"filterByAction": "Filtrer etter handling...",
|
||
"filterByActor": "Filtrer etter skuespiller...",
|
||
"filterEntriesAria": "Filtrer revisjonsloggoppføringer",
|
||
"filterByActionTypeAria": "Filtrer etter handlingstype",
|
||
"filterByActorAria": "Filtrer etter skuespiller",
|
||
"refreshAuditLogAria": "Oppdater revisjonslogg",
|
||
"tableAria": "Revisjonsloggoppføringer",
|
||
"failedFetchAuditLog": "Kunne ikke hente revisjonsloggen",
|
||
"notAvailable": "—",
|
||
"description": "Administrative handlinger og sikkerhetshendelser",
|
||
"showing": "Viser {count} oppføringer (offset {offset})",
|
||
"previous": "Forrige"
|
||
},
|
||
"media": {
|
||
"title": "Medialab",
|
||
"subtitle": "Generer bilder, videoer og musikk",
|
||
"model": "Model",
|
||
"prompt": "Prompt",
|
||
"generate": "Generer",
|
||
"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-verktøy",
|
||
"noActiveProviders": "Ingen aktive tilbydere",
|
||
"noActiveProvidersDesc": "Vennligst legg til og koble til leverandører først for å konfigurere CLI-verktøy.",
|
||
"mapModels": "Kartmodeller",
|
||
"testConnection": "Test tilkobling",
|
||
"connectionStatus": "Tilkoblingsstatus",
|
||
"configureEndpoint": "Konfigurer endepunkt",
|
||
"instructions": "Instruksjoner",
|
||
"modelMapping": "Modellkartlegging",
|
||
"baseUrl": "Base URL",
|
||
"apiKey": "API-nøkkel",
|
||
"configured": "Konfigurert",
|
||
"notConfigured": "Ikke konfigurert",
|
||
"notInstalled": "Ikke installert",
|
||
"custom": "Egendefinert",
|
||
"unknown": "Ukjent",
|
||
"lastSavedAt": "Sist lagret: {date}",
|
||
"never": "Aldri",
|
||
"justNow": "akkurat nå",
|
||
"minutesAgoShort": "{count}m siden",
|
||
"hoursAgoShort": "{count}t siden",
|
||
"daysAgoShort": "{count}d siden",
|
||
"monthsAgoShort": "{count}mnd siden",
|
||
"yearsAgoShort": "{count}y siden",
|
||
"runtimeCheckFailed": "Kjøretidssjekk mislyktes",
|
||
"yourApiKeyPlaceholder": "din-api-nøkkelen",
|
||
"modelPlaceholder": "leverandør/modell-id",
|
||
"configurationSaved": "Konfigurasjonen er lagret.",
|
||
"failedToSave": "Kunne ikke lagre konfigurasjonen.",
|
||
"noApiKeysCreateOne": "Ingen API-nøkler – Opprett en på Nøkler-siden",
|
||
"defaultOmnirouteKey": "sk_omniroute (standard)",
|
||
"selectModel": "Velg modell",
|
||
"selectModelForAlias": "Velg modell for {alias}",
|
||
"selectModelForTool": "Velg modell for {tool}",
|
||
"select": "Velg",
|
||
"clear": "Klart",
|
||
"comingSoon": "Kommer snart",
|
||
"checkingRuntime": "Sjekker kjøretidsstatus ...",
|
||
"guideOnlyIntegration": "Integrasjon kun for guide (ingen lokal kjøretid kreves)",
|
||
"cliRuntimeDetected": "CLI kjøretid oppdaget og klar",
|
||
"cliFoundNotRunnable": "CLI funnet, men ikke kjørbar{reason}",
|
||
"cliRuntimeNotDetected": "CLI kjøretid ikke oppdaget",
|
||
"binary": "Binær",
|
||
"configPath": "Konfigurasjonsbane",
|
||
"configPathShort": "Konfig",
|
||
"failedCheckRuntimeStatus": "Kunne ikke sjekke kjøretidsstatus.",
|
||
"copy": "Kopier",
|
||
"copied": "Kopiert",
|
||
"copyConfig": "Kopier konfig",
|
||
"saveConfig": "Lagre konfig",
|
||
"selectionSaved": "Utvalget lagret",
|
||
"guide": "Veiledning",
|
||
"detected": "Oppdaget",
|
||
"notReady": "Ikke klar",
|
||
"active": "Aktiv",
|
||
"inactive": "Inaktiv",
|
||
"startMitm": "Start MITM",
|
||
"stopMitm": "Stopp MITM",
|
||
"mitmStarted": "MITM startet vellykket!",
|
||
"mitmStopped": "MITM stoppet vellykket!",
|
||
"failedStart": "Kunne ikke starte MITM",
|
||
"failedStop": "Kunne ikke stoppe MITM",
|
||
"saveMappings": "Lagre tilordninger",
|
||
"mappingsSaved": "Kartene er lagret!",
|
||
"failedSaveMappings": "Kunne ikke lagre tilordninger",
|
||
"howItWorks": "Slik fungerer det:",
|
||
"antigravityHowWorksDesc": "Antigravity sender forespørsler til Googles endepunkt. MITM avskjærer og omdirigerer dem til OmniRoute.",
|
||
"antigravityStep1": "1. Start MITM for å rute forespørsler gjennom OmniRoute.",
|
||
"antigravityStep2Prefix": "2. Legg til",
|
||
"antigravityStep2Suffix": "til vertsfilen din som 127.0.0.1.",
|
||
"antigravityStep3": "3. Åpne Antigravity og forespørsler vil bli fullført.",
|
||
"sudoPasswordRequiredTitle": "Sudo-passord kreves",
|
||
"sudoPasswordHint": "Administratorpassord kreves for å endre vertsfil og systemproxyinnstillinger.",
|
||
"enterSudoPassword": "Skriv inn sudo-passord",
|
||
"sudoPasswordRequiredError": "Sudo-passord kreves.",
|
||
"cancel": "Avbryt",
|
||
"confirm": "Bekreft",
|
||
"settingsApplied": "Innstillingene ble brukt!",
|
||
"failedApplySettings": "Kunne ikke bruke innstillingene",
|
||
"settingsReset": "Innstillinger tilbakestilt!",
|
||
"failedResetSettings": "Kunne ikke tilbakestille innstillingene",
|
||
"backupRestored": "Sikkerhetskopien gjenopprettet!",
|
||
"failedRestore": "Kunne ikke gjenopprette",
|
||
"checkingCli": "Sjekker {tool} CLI...",
|
||
"cliNotRunnable": "{tool} CLI installert, men ikke kjørbar",
|
||
"cliNotInstalled": "{tool} CLI ikke installert",
|
||
"cliNotDetected": "{tool} CLI ikke oppdaget",
|
||
"cliDetectedReady": "{tool} CLI oppdaget og klar",
|
||
"cliFoundFailedHealthcheck": "{tool} CLI ble funnet, men mislyktes med kjøretidshelsesjekk{reason}.",
|
||
"installCliPrompt": "Installer {tool} CLI for å bruke denne funksjonen.",
|
||
"installCodexPrompt": "Installer Codex CLI for å bruke funksjonen for automatisk bruk.",
|
||
"hide": "Skjul",
|
||
"howToInstall": "Hvordan installere",
|
||
"installationGuide": "Installasjonsveiledning",
|
||
"platforms": "macOS / Linux / Windows:",
|
||
"afterInstallationRun": "Etter installasjon, kjør",
|
||
"toVerify": "å verifisere.",
|
||
"current": "Gjeldende",
|
||
"baseUrlPlaceholder": "https://.../v1",
|
||
"resetToDefault": "Tilbakestill til standard",
|
||
"providerModelPlaceholder": "leverandør/modell-id",
|
||
"apply": "Søk",
|
||
"reset": "Tilbakestill",
|
||
"manualConfig": "Manuell konfig",
|
||
"backups": "Sikkerhetskopier",
|
||
"configBackups": "Konfigurer sikkerhetskopier",
|
||
"noBackupsYet": "Ingen sikkerhetskopier ennå. Sikkerhetskopier opprettes automatisk før hver bruk eller tilbakestilling.",
|
||
"restore": "Gjenopprett",
|
||
"backupRestoredReloading": "Sikkerhetskopien gjenopprettet! Laster inn status på nytt ...",
|
||
"failedRestoreBackup": "Kunne ikke gjenopprette sikkerhetskopien",
|
||
"applied": "Søkt!",
|
||
"failed": "Mislyktes",
|
||
"resetDone": "Tilbakestill!",
|
||
"omnirouteConfiguredOpenAiCompatible": "OmniRoute er konfigurert som OpenAI-kompatibel leverandør",
|
||
"provider": "Leverandør",
|
||
"model": "Modell",
|
||
"providers": "Leverandører",
|
||
"auth": "Auth",
|
||
"noApiKeysAvailable": "Ingen API-nøkler tilgjengelig",
|
||
"usingDefaultOmniroute": "Bruker standard: sk_omniroute",
|
||
"updateConfig": "Oppdater konfig",
|
||
"applyConfig": "Bruk Config",
|
||
"noBackupsAvailable": "Ingen sikkerhetskopier tilgjengelig.",
|
||
"profileSaved": "Profilen \"{name}\" er lagret!",
|
||
"failedSaveProfile": "Kunne ikke lagre profilen",
|
||
"profileActivated": "Profil aktivert!",
|
||
"failedActivateProfile": "Kunne ikke aktivere profilen",
|
||
"profiles": "Profiler",
|
||
"savedProfiles": "Lagrede profiler",
|
||
"noProfilesYet": "Ingen profiler er lagret ennå. Lagre gjeldende konfigurasjon som en profil nedenfor.",
|
||
"activate": "Aktiver",
|
||
"deleteProfile": "Slett profil",
|
||
"profileNamePlaceholder": "Profilnavn (f.eks. personlig konto)",
|
||
"saveCurrent": "Lagre gjeldende",
|
||
"codexAuthNotePrefix": "Codex bruker",
|
||
"codexAuthNoteMiddle": "med",
|
||
"codexAuthNoteSuffix": "Klikk \"Bruk\" for å konfigurere automatisk.",
|
||
"claudeManualConfiguration": "Claude CLI - Manuell konfigurasjon",
|
||
"codexManualConfiguration": "Codex CLI - Manual Configuration",
|
||
"droidManualConfiguration": "Factory Droid - Manuell konfigurasjon",
|
||
"openClawManualConfiguration": "Åpne Claw - Manuell konfigurasjon",
|
||
"clineManualConfiguration": "Cline manuell konfigurasjon",
|
||
"kiloManualConfiguration": "Kilokode manuell konfigurasjon",
|
||
"toolDescriptions": {
|
||
"antigravity": "Google Antigravity IDE med MITM",
|
||
"claude": "Antropisk Claude Code CLI",
|
||
"codex": "OpenAI Codex CLI",
|
||
"droid": "Factory Droid AI Assistant",
|
||
"openclaw": "Åpne Claw AI Assistant",
|
||
"cline": "Cline AI-kodingsassistent CLI",
|
||
"kilo": "Kilokode AI Assistant CLI",
|
||
"cursor": "Cursor AI Code Editor",
|
||
"continue": "Fortsett AI Assistant"
|
||
},
|
||
"guides": {
|
||
"cursor": {
|
||
"notes": {
|
||
"0": "Krever Cursor Pro-konto for å bruke denne funksjonen.",
|
||
"1": "Markøren ruter forespørsler gjennom sin egen server, så lokalt endepunkt støttes ikke. Aktiver Cloud Endpoint i Innstillinger."
|
||
},
|
||
"steps": {
|
||
"1": {
|
||
"title": "Åpne Innstillinger",
|
||
"desc": "Gå til Innstillinger -> Modeller"
|
||
},
|
||
"2": {
|
||
"title": "Aktiver OpenAI API",
|
||
"desc": "Aktiver alternativet \"OpenAI API-nøkkel\"."
|
||
},
|
||
"3": {
|
||
"title": "Base URL"
|
||
},
|
||
"4": {
|
||
"title": "API-nøkkel"
|
||
},
|
||
"5": {
|
||
"title": "Legg til egendefinert modell",
|
||
"desc": "Klikk \"Vis alle modeller\" -> \"Legg til egendefinert modell\""
|
||
},
|
||
"6": {
|
||
"title": "Velg modell"
|
||
}
|
||
}
|
||
},
|
||
"continue": {
|
||
"steps": {
|
||
"1": {
|
||
"title": "Åpne Config",
|
||
"desc": "Åpne Fortsett konfigurasjonsfil"
|
||
},
|
||
"2": {
|
||
"title": "API-nøkkel"
|
||
},
|
||
"3": {
|
||
"title": "Velg modell"
|
||
},
|
||
"4": {
|
||
"title": "Legg til modellkonfig",
|
||
"desc": "Legg til følgende konfigurasjon til modellarrayet ditt:"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"combos": {
|
||
"title": "Combos",
|
||
"description": "Lag modellkombinasjoner med vektet ruting og reservestøtte",
|
||
"createCombo": "Opprett kombinasjon",
|
||
"editCombo": "Rediger kombinasjon",
|
||
"deleteCombo": "Slett kombinasjon",
|
||
"noModels": "Ingen modeller",
|
||
"noModelsYet": "Ingen modeller lagt til ennå",
|
||
"addModel": "Legg til modell",
|
||
"addModelToCombo": "Legg til modell i kombinasjon",
|
||
"routingStrategy": "Rutingstrategi",
|
||
"maxRetries": "Max prøver på nytt",
|
||
"timeout": "Tidsavbrudd (ms)",
|
||
"healthcheck": "Helsesjekk",
|
||
"priority": "Prioritet",
|
||
"fallback": "Tilbakeslag",
|
||
"roundRobin": "Round Robin",
|
||
"random": "Tilfeldig",
|
||
"leastLatency": "Minste ventetid",
|
||
"comboName": "Kombinasjonsnavn",
|
||
"comboNamePlaceholder": "min-kombo",
|
||
"deleteConfirm": "Vil du slette denne kombinasjonen?",
|
||
"noCombosYet": "Ingen kombinasjoner ennå",
|
||
"comboCreated": "Kombinasjonen ble opprettet",
|
||
"comboUpdated": "Kombinasjonen ble oppdatert",
|
||
"comboDeleted": "Combo slettet",
|
||
"failedCreate": "Kunne ikke opprette kombinasjon",
|
||
"failedUpdate": "Kunne ikke oppdatere kombinasjonen",
|
||
"errorCreating": "Feil ved opprettelse av kombinasjon",
|
||
"errorUpdating": "Feil ved oppdatering av kombinasjon",
|
||
"errorDeleting": "Feil ved sletting av kombinasjon",
|
||
"testFailed": "Testforespørsel mislyktes",
|
||
"failedToggle": "Kunne ikke bytte kombinasjon",
|
||
"testResults": "Testresultater — {name}",
|
||
"resolvedBy": "Løst av:",
|
||
"more": "+{count} til",
|
||
"reqs": "krav",
|
||
"success": "suksess",
|
||
"proxyConfigured": "Proxy konfigurert",
|
||
"copyComboName": "Kopier kombinasjonsnavnet",
|
||
"enableCombo": "Aktiver kombinasjon",
|
||
"disableCombo": "Deaktiver kombinasjon",
|
||
"testCombo": "Testkombo",
|
||
"duplicate": "Duplikat",
|
||
"proxyConfig": "Proxy-konfigurasjon",
|
||
"nameRequired": "Navn er påkrevd",
|
||
"nameInvalid": "Bare bokstaver, tall, -, _, / og . tillatt",
|
||
"nameHint": "Bokstaver, tall, -, _, / og . tillatt",
|
||
"priorityDesc": "Sekvensiell fallback: prøver modell 1 først, deretter 2 osv.",
|
||
"weightedDesc": "Fordeler trafikk etter vektprosent med reserve",
|
||
"roundRobinDesc": "Sirkulær fordeling: hver forespørsel går til neste modell i rotasjon",
|
||
"randomDesc": "Ensartet tilfeldig valg, deretter fallback til gjenværende modeller",
|
||
"leastUsedDesc": "Velger modellen med færrest forespørsler, og balanserer belastningen over tid",
|
||
"costOptimizedDesc": "Ruter til den billigste modellen først basert på priser",
|
||
"models": "Modeller",
|
||
"autoBalance": "Autobalanse",
|
||
"advancedSettings": "Avanserte innstillinger",
|
||
"retryDelay": "Forsinkelse på nytt (ms)",
|
||
"concurrencyPerModel": "Samtidighet / modell",
|
||
"queueTimeout": "Tidsavbrudd for kø (ms)",
|
||
"advancedHint": "La stå tomt for å bruke globale standardinnstillinger. Disse overstyrer innstillingene per leverandør.",
|
||
"moveUp": "Flytt opp",
|
||
"moveDown": "Flytt ned",
|
||
"removeModel": "Fjern",
|
||
"saving": "Lagrer...",
|
||
"weighted": "Vektet",
|
||
"leastUsed": "Minst brukt",
|
||
"costOpt": "Cost-Opt",
|
||
"strategyGuideTitle": "How to use this strategy",
|
||
"strategyGuideWhen": "When to use",
|
||
"strategyGuideAvoid": "Avoid when",
|
||
"strategyGuideExample": "Example",
|
||
"strategyGuide": {
|
||
"priority": {
|
||
"when": "You have one preferred model and only want fallback on failure.",
|
||
"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."
|
||
},
|
||
"costs": {
|
||
"title": "Kostnader",
|
||
"budget": "Budsjett",
|
||
"totalCost": "Total kostnad",
|
||
"breakdown": "Kostnadsfordeling",
|
||
"noData": "Ingen kostnadsdata",
|
||
"byModel": "Etter modell",
|
||
"byProvider": "Av leverandør"
|
||
},
|
||
"endpoint": {
|
||
"title": "API-endepunkt",
|
||
"available": "Tilgjengelige endepunkter",
|
||
"cloudProxy": "Cloud Proxy",
|
||
"disableConfirm": "Er du sikker på at du vil deaktivere skyproxy?",
|
||
"baseUrl": "Base URL",
|
||
"apiKeyLabel": "API-nøkkel",
|
||
"registeredKeys": "Registrerte nøkler",
|
||
"chatCompletions": "Chatfullføringer",
|
||
"responses": "Svar",
|
||
"listModels": "Liste over modeller",
|
||
"usingCloudProxy": "Bruker Cloud Proxy",
|
||
"usingLocalServer": "Bruker lokal server",
|
||
"machineId": "Maskin-ID: {id}...",
|
||
"disableCloud": "Deaktiver Cloud",
|
||
"enableCloud": "Aktiver Cloud",
|
||
"modelsAcrossEndpoints": "{models} modeller på tvers av {endpoints} endepunkter",
|
||
"chatDesc": "Streaming og ikke-streaming chat med alle leverandører",
|
||
"embeddings": "Innstøpinger",
|
||
"embeddingsDesc": "Tekstinnbygging for søk og RAG-rørledninger",
|
||
"imageGeneration": "Bildegenerering",
|
||
"imageDesc": "Generer bilder fra tekstmeldinger",
|
||
"rerank": "Ranger på nytt",
|
||
"rerankDesc": "Ranger dokumenter på nytt etter relevans for en spørring",
|
||
"audioTranscription": "Lydtranskripsjon",
|
||
"audioTranscriptionDesc": "Transkribere lydfiler til tekst (Whisper)",
|
||
"textToSpeech": "Tekst til tale",
|
||
"textToSpeechDesc": "Konverter tekst til tale med naturlig lyd",
|
||
"moderations": "Moderasjoner",
|
||
"moderationsDesc": "Innholdsmoderering og sikkerhetsklassifisering",
|
||
"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": "Kjerne-API-er",
|
||
"categoryMedia": "Media & Multi-Modal",
|
||
"categoryUtility": "Verktøy & Administrasjon",
|
||
"enableCloudTitle": "Aktiver Cloud Proxy",
|
||
"whatYouGet": "Hva du vil få",
|
||
"cloudBenefitAccess": "Få tilgang til API-en din fra hvor som helst i verden",
|
||
"cloudBenefitShare": "Del enkelt endepunkt med teamet ditt",
|
||
"cloudBenefitPorts": "Du trenger ikke å åpne porter eller konfigurere brannmur",
|
||
"cloudBenefitEdge": "Rask globalt kantnettverk",
|
||
"cloudSessionNote": "Cloud vil beholde godkjenningsøkten din i 1 dag. Hvis den ikke brukes, slettes den automatisk.",
|
||
"cloudUnstableNote": "Cloud er for øyeblikket ustabil med Claude Code OAuth i noen tilfeller.",
|
||
"cloudConnected": "Cloud Proxy tilkoblet!",
|
||
"connectingToCloud": "Kobler til skyen ...",
|
||
"verifyingConnection": "Bekrefter tilkoblingen …",
|
||
"connecting": "Kobler til...",
|
||
"verifying": "Bekrefter...",
|
||
"connected": "Tilkoblet!",
|
||
"disableCloudTitle": "Deaktiver Cloud Proxy",
|
||
"disableWarning": "Alle autentiseringsøkter vil bli slettet fra skyen.",
|
||
"syncingData": "Synkroniserer siste data ...",
|
||
"disablingCloud": "Deaktiverer skyen …",
|
||
"syncing": "Synkroniserer...",
|
||
"disabling": "Deaktiverer...",
|
||
"cloudConnectedVerified": "Cloud Proxy tilkoblet og bekreftet!",
|
||
"connectedVerificationPending": "Tilkoblet — bekreftelse venter",
|
||
"connectedVerificationPendingWithError": "Tilkoblet — bekreftelse venter: {error}",
|
||
"cloudDisabledSuccess": "Cloud deaktivert",
|
||
"syncedSuccess": "Synkronisert vellykket",
|
||
"failedDisable": "Kunne ikke deaktivere skyen",
|
||
"failedEnable": "Kunne ikke aktivere skyen",
|
||
"cloudRequestTimeout": "Tidsavbrudd for skyforespørsel",
|
||
"cloudRequestFailed": "Skyforespørsel mislyktes",
|
||
"cloudWorkerUnreachable": "Kunne ikke nå skyarbeideren. Sørg for at skytjenesten kjører (npm kjør dev in /cloud).",
|
||
"connectionFailed": "Tilkobling mislyktes",
|
||
"syncFailed": "Kunne ikke synkronisere skydata",
|
||
"providerModelsTitle": "{provider} — Modeller",
|
||
"noModelsForProvider": "Ingen modeller tilgjengelig for denne leverandøren.",
|
||
"chat": "Chat",
|
||
"embedding": "Innebygging",
|
||
"image": "Bilde",
|
||
"custom": "tilpasset",
|
||
"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": "Påkall verktøy som `omniroute_get_health` og `omniroute_list_combos`.",
|
||
"a2aQuickStartTitle": "A2A hurtigstart",
|
||
"a2aQuickStartStep1": "Oppdag agentkortet på `/.well-known/agent.json`.",
|
||
"a2aQuickStartStep2": "Send JSON-RPC-forespørsler til `POST /a2a` ved å bruke `message/send` eller `message/stream`.",
|
||
"a2aQuickStartStep3": "Spor og kontroller oppgaver ved å bruke `tasks/get` og `tasks/cancel`."
|
||
},
|
||
"mcpDashboard": {
|
||
"loading": "Laster inn MCP-dashbordet ...",
|
||
"activate": "aktivere",
|
||
"deactivate": "deaktivere",
|
||
"confirmSwitchCombo": "Bekreft {action} kombinasjonen \"{combo}\"?",
|
||
"switchComboFailed": "Kunne ikke bytte kombinasjonstilstand.",
|
||
"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": "Agent card",
|
||
"version": "Version",
|
||
"url": "URL",
|
||
"capabilities": "Capabilities",
|
||
"agentCardNotAvailable": "Agent card not available.",
|
||
"quickValidation": "Quick validation",
|
||
"quickValidationDescription": "Executes smoke calls through the live `/a2a` endpoint.",
|
||
"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": "Systemhelse",
|
||
"description": "Sanntidsovervåking av din OmniRoute-forekomst",
|
||
"healthy": "Sunn",
|
||
"degraded": "Degradert",
|
||
"down": "Ned",
|
||
"uptime": "Oppetid",
|
||
"memory": "Minne",
|
||
"memoryRss": "Minne (RSS)",
|
||
"heap": "Heap",
|
||
"cpu": "CPU",
|
||
"database": "Database",
|
||
"version": "Versjon",
|
||
"lastCheck": "Siste sjekk",
|
||
"providerHealth": "Leverandørhelse",
|
||
"systemMetrics": "Systemmålinger",
|
||
"tokenHealth": "Token Health",
|
||
"refreshAll": "Oppdater alle",
|
||
"checkNow": "Sjekk nå",
|
||
"loadingHealth": "Laster inn helsedata ...",
|
||
"failedToLoad": "Kunne ikke laste inn helsedata: {error}",
|
||
"retry": "Prøv på nytt",
|
||
"allOperational": "Alle systemer i drift",
|
||
"issuesDetected": "Systemproblemer oppdaget",
|
||
"updatedAt": "Oppdatert {time}",
|
||
"latency": "Latens",
|
||
"latencyP50": "p50",
|
||
"latencyP95": "s95",
|
||
"latencyP99": "s99",
|
||
"millisecondsShort": "{value}ms",
|
||
"notAvailable": "—",
|
||
"totalRequests": "Totalt antall forespørsler",
|
||
"noDataYet": "Ingen data ennå",
|
||
"promptCache": "Spør Cache",
|
||
"entries": "Oppføringer",
|
||
"hitRate": "Trefffrekvens",
|
||
"hitsMisses": "Treffer / savner",
|
||
"signatureCache": "Signaturbuffer",
|
||
"signatureDefaults": "Standarder",
|
||
"signatureTool": "Verktøy",
|
||
"signatureFamily": "Familie",
|
||
"signatureSession": "Sesjon",
|
||
"recovering": "Gjenoppretter",
|
||
"noCBData": "Ingen strømbryterdata tilgjengelig. Kom med noen forespørsler først.",
|
||
"providerHealthStatusAria": "Leverandørens helsestatus",
|
||
"issuesLabel": "Problemer oppdaget",
|
||
"operational": "Operasjonell",
|
||
"providers": "Leverandører",
|
||
"healthyCount": "{count} sunn",
|
||
"nodeVersion": "Node {version}",
|
||
"failures": "{count} feil",
|
||
"failuresPlural": "{count} feil",
|
||
"lastFailure": "Sist",
|
||
"rateLimitStatus": "Takstgrensestatus",
|
||
"activeLimiters": "{count} aktiv begrenser",
|
||
"activeLimitersPlural": "{count} aktive begrensere",
|
||
"queued": "I kø",
|
||
"queuedCount": "{count} i kø",
|
||
"running": "løping",
|
||
"runningCount": "{count} kjører",
|
||
"ok": "OK",
|
||
"activeLockouts": "Aktive lockouter",
|
||
"resetConfirm": "Tilbakestille alle effektbrytere til sunn tilstand? Dette vil slette alle feiltellinger og gjenopprette alle leverandører til driftsstatus.",
|
||
"resetAllTitle": "Tilbakestill alle effektbrytere til sunn tilstand",
|
||
"resetting": "Tilbakestiller...",
|
||
"resetAll": "Tilbakestill alle",
|
||
"until": "Inntil {time}"
|
||
},
|
||
"limits": {
|
||
"title": "Grenser og kvoter",
|
||
"rateLimit": "Satsgrense",
|
||
"remaining": "Gjenværende",
|
||
"requestsPerMinute": "Forespørsler/min",
|
||
"tokensPerMinute": "Poletter/min",
|
||
"dailyLimit": "Daglig grense"
|
||
},
|
||
"logs": {
|
||
"title": "Logger",
|
||
"requestLogs": "Be om logger",
|
||
"proxyLogs": "Proxy-logger",
|
||
"auditLog": "Revisjonslogg",
|
||
"console": "Konsoll",
|
||
"auditLogDesc": "Administrative handlinger og sikkerhetshendelser",
|
||
"loading": "Laster inn...",
|
||
"refresh": "Oppdater",
|
||
"filterByAction": "Filtrer etter handling...",
|
||
"filterByActor": "Filtrer etter skuespiller...",
|
||
"filterEntriesAria": "Filtrer revisjonsloggoppføringer",
|
||
"filterByActionTypeAria": "Filtrer etter handlingstype",
|
||
"filterByActorAria": "Filtrer etter skuespiller",
|
||
"refreshAuditLogAria": "Oppdater revisjonslogg",
|
||
"tableAria": "Revisjonsloggoppføringer",
|
||
"failedFetchAuditLog": "Kunne ikke hente revisjonsloggen",
|
||
"showing": "Viser {count} oppføringer (offset {offset})",
|
||
"search": "Søk",
|
||
"timestamp": "Tidsstempel",
|
||
"action": "Handling",
|
||
"actor": "Skuespiller",
|
||
"target": "Mål",
|
||
"details": "Detaljer",
|
||
"ipAddress": "IP-adresse",
|
||
"notAvailable": "—",
|
||
"noEntries": "Ingen revisjonsloggoppføringer funnet",
|
||
"previous": "Forrige",
|
||
"next": "Neste"
|
||
},
|
||
"onboarding": {
|
||
"welcome": "Velkommen",
|
||
"security": "Sikkerhet",
|
||
"test": "Test",
|
||
"ready": "Klar!",
|
||
"setPassword": "Angi passord",
|
||
"addProvider": "Legg til din første leverandør",
|
||
"getStarted": "Kom i gang",
|
||
"skip": "Hopp over",
|
||
"skipWizard": "Hopp over veiviseren helt",
|
||
"skipPassword": "Hopp over passordoppsett",
|
||
"skipAndContinue": "Hopp over og fortsett",
|
||
"passwordLabel": "Passord",
|
||
"confirmPassword": "Bekreft passord",
|
||
"enterPassword": "Skriv inn passord",
|
||
"confirmPasswordPlaceholder": "Bekreft passord",
|
||
"passwordsMismatch": "Passord stemmer ikke",
|
||
"setupComplete": "Oppsettet er fullført!",
|
||
"goToDashboard": "Gå til Dashboard →",
|
||
"welcomeDesc": "OmniRoute er din lokale AI API-proxy. Den ruter forespørsler til flere AI-leverandører med lastbalansering, failover og brukssporing.",
|
||
"multiProvider": "Multileverandør",
|
||
"usageTracking": "Brukssporing",
|
||
"apiKeyMgmt": "API Key Mgmt",
|
||
"securityDesc": "Angi et passord for å beskytte dashbordet ditt, eller hopp over nå.",
|
||
"providerDesc": "Koble til din første AI-leverandør. Du kan legge til flere senere.",
|
||
"apiKeyRequired": "API-nøkkel (påkrevd)",
|
||
"customUrlOptional": "Egendefinert URL (valgfritt)",
|
||
"testDesc": "La oss kontrollere at leverandørtilkoblingen din fungerer.",
|
||
"runTest": "Kjør tilkoblingstest",
|
||
"testingConnection": "Tester tilkoblingen...",
|
||
"connectionSuccessful": "Tilkoblingen var vellykket! Leverandøren din er klar.",
|
||
"noProviderFound": "Ingen leverandør funnet. Du kan legge til en fra dashbordet senere.",
|
||
"testFailed": "Testen mislyktes, men du kan konfigurere dette senere.",
|
||
"couldNotTest": "Kunne ikke teste akkurat nå. Du kan teste fra dashbordet.",
|
||
"doneDesc": "Du er klar! OmniRoute-forekomsten din er konfigurert og klar til å fullføre AI-forespørsler.",
|
||
"yourEndpoint": "Ditt endepunkt:",
|
||
"continue": "Fortsett",
|
||
"retry": "Prøv på nytt",
|
||
"failedSetPassword": "Kunne ikke angi passord. Prøv igjen.",
|
||
"failedAddProvider": "Kunne ikke legge til leverandør. Prøv igjen.",
|
||
"connectionError": "Tilkoblingsfeil. Vennligst prøv igjen.",
|
||
"provider": "Leverandør"
|
||
},
|
||
"providers": {
|
||
"title": "Leverandører",
|
||
"addProvider": "Legg til leverandør",
|
||
"editProvider": "Rediger leverandør",
|
||
"deleteProvider": "Slett leverandør",
|
||
"noProviders": "Ingen leverandører er konfigurert",
|
||
"modelAvailability": "Modelltilgjengelighet",
|
||
"accounts": "Kontoer",
|
||
"newAccount": "Ny konto",
|
||
"deleteConfirm": "Er du sikker på at du vil slette denne leverandøren?",
|
||
"testing": "Tester...",
|
||
"testConnection": "Test tilkobling",
|
||
"testSuccess": "Tilkoblingen var vellykket",
|
||
"testFailed": "Tilkobling mislyktes",
|
||
"available": "Tilgjengelig",
|
||
"cooldown": "Nedkjøling",
|
||
"unavailable": "Utilgjengelig",
|
||
"unknown": "Ukjent",
|
||
"oauthLabel": "OAuth",
|
||
"compatibleLabel": "Kompatibel",
|
||
"chat": "Chat",
|
||
"responses": "Svar",
|
||
"messages": "Meldinger",
|
||
"oauthProviders": "OAuth-leverandører",
|
||
"freeProviders": "Gratis leverandører",
|
||
"apiKeyProviders": "API-nøkkelleverandører",
|
||
"compatibleProviders": "API-nøkkel-kompatible leverandører",
|
||
"testAll": "Test alle",
|
||
"testAllOAuth": "Test alle OAuth-tilkoblinger",
|
||
"testAllFree": "Test alle gratis tilkoblinger",
|
||
"testAllApiKey": "Test alle API-nøkkeltilkoblinger",
|
||
"testAllCompatible": "Test alle kompatible tilkoblinger",
|
||
"connected": "{count} Tilkoblet",
|
||
"errorCount": "{count} Feil ({code})",
|
||
"errorCountNoCode": "{count} Feil",
|
||
"noConnections": "Ingen tilkoblinger",
|
||
"disabled": "Deaktivert",
|
||
"enableProvider": "Aktiver leverandør",
|
||
"disableProvider": "Deaktiver leverandør",
|
||
"testResults": "Testresultater",
|
||
"noCompatibleYet": "Ingen kompatible leverandører lagt til ennå",
|
||
"compatibleHint": "Bruk knappene ovenfor for å legge til OpenAI eller Anthropic-kompatible endepunkter",
|
||
"addOpenAICompatible": "Legg til OpenAI-kompatibel",
|
||
"addAnthropicCompatible": "Legg til Antropisk kompatibel",
|
||
"addNewProvider": "Legg til ny leverandør",
|
||
"backToProviders": "Tilbake til Leverandører",
|
||
"configureNewProvider": "Konfigurer en ny AI-leverandør som skal brukes med applikasjonene dine.",
|
||
"providerLabel": "Leverandør",
|
||
"selectProvider": "Velg en leverandør",
|
||
"selectedProvider": "Valgt leverandør",
|
||
"authMethod": "Autentiseringsmetode",
|
||
"apiKeyLabel": "API-nøkkel",
|
||
"apiKeyRequired": "API-nøkkel kreves",
|
||
"selectProviderRequired": "Velg en leverandør",
|
||
"enterApiKey": "Skriv inn API-nøkkelen din",
|
||
"apiKeySecure": "API-nøkkelen din vil bli kryptert og lagret sikkert.",
|
||
"oauth2Connect": "Koble til OAuth2",
|
||
"oauth2Label": "OAuth2",
|
||
"oauth2Desc": "Koble til kontoen din med OAuth2-autentisering.",
|
||
"displayName": "Vist navn",
|
||
"displayNamePlaceholder": "f.eks. Production API, Dev Environment",
|
||
"displayNameHint": "Valgfritt. Et vennlig navn for å identifisere denne konfigurasjonen.",
|
||
"active": "Aktiv",
|
||
"activeDescription": "Aktiver denne leverandøren for bruk i appene dine",
|
||
"cancel": "Avbryt",
|
||
"createProvider": "Opprett leverandør",
|
||
"failedCreate": "Kunne ikke opprette leverandør",
|
||
"errorOccurred": "Det oppsto en feil. Vennligst prøv igjen.",
|
||
"modelStatus": "Modellstatus",
|
||
"allModelsOperational": "Alle modeller i drift",
|
||
"modelsWithIssues": "{count} modell(er) med problemer",
|
||
"allModelsNormal": "Alle modellene reagerer normalt.",
|
||
"cooldownCleared": "Nedkjøling ryddet for {model}",
|
||
"failedClearCooldown": "Kunne ikke fjerne nedkjøling",
|
||
"loadingAvailability": "Laster modelltilgjengelighet ...",
|
||
"clearCooldown": "Klart",
|
||
"clearing": "Rydder...",
|
||
"until": "Inntil {time}",
|
||
"providerTestFailed": "Providertesten mislyktes",
|
||
"modeTest": "{mode} Test",
|
||
"passedCount": "{count} bestått",
|
||
"failedCount": "{count} mislyktes",
|
||
"testedCount": "{count} testet",
|
||
"millisecondsAbbr": "{value}ms",
|
||
"okShort": "OK",
|
||
"errorShort": "FEIL",
|
||
"noActiveConnectionsInGroup": "Fant ingen aktive tilkoblinger for denne gruppen.",
|
||
"allTestsPassed": "Alle {total} tester bestått",
|
||
"testSummary": "{passed}/{total} bestått, {failed} mislyktes",
|
||
"nameLabel": "Navn",
|
||
"prefixLabel": "Prefiks",
|
||
"baseUrlLabel": "Base URL",
|
||
"apiTypeLabel": "API-type",
|
||
"prefixHint": "Obligatorisk. Unikt prefiks for modellnavn.",
|
||
"nameHint": "Obligatorisk. En vennlig etikett for denne noden.",
|
||
"baseUrlHint": "Obligatorisk. Leverandørens API-base-URL.",
|
||
"anthropicPrefixPlaceholder": "ac-prod",
|
||
"openaiPrefixPlaceholder": "oc-prod",
|
||
"anthropicBaseUrlPlaceholder": "https://api.anthropic.com/v1",
|
||
"openaiBaseUrlPlaceholder": "https://api.openai.com/v1",
|
||
"validateConnection": "Bekreft tilkoblingen",
|
||
"validating": "Validerer...",
|
||
"connectionValid": "Tilkoblingen er gyldig!",
|
||
"connectionFailed": "Tilkobling mislyktes. Sjekk URL og nøkkel.",
|
||
"testKeyLabel": "Test API-nøkkel",
|
||
"testKeyPlaceholder": "sk-... (kun for validering)",
|
||
"providerNotFound": "Finner ikke leverandør",
|
||
"deleteConnectionConfirm": "Vil du slette denne tilkoblingen?",
|
||
"failedSetAlias": "Kunne ikke angi alias",
|
||
"failedSaveConnection": "Kunne ikke lagre tilkoblingen",
|
||
"failedSaveConnectionRetry": "Kunne ikke lagre tilkoblingen. Vennligst prøv igjen.",
|
||
"failedRetestConnection": "Kunne ikke teste tilkoblingen på nytt",
|
||
"deleteCompatibleNodeConfirm": "Vil du slette denne {type}-kompatible noden?",
|
||
"anthropicCompatibleDetails": "Antropisk kompatible detaljer",
|
||
"openaiCompatibleDetails": "OpenAI-kompatible detaljer",
|
||
"messagesApi": "Messages API",
|
||
"responsesApi": "Responses API",
|
||
"chatCompletions": "Chatfullføringer",
|
||
"importingModels": "Importerer...",
|
||
"importFromModels": "Importer fra /models",
|
||
"addConnectionToImport": "Legg til en tilkobling for å aktivere import.",
|
||
"noModelsConfigured": "Ingen modeller er konfigurert",
|
||
"connectionCount": "{count} tilkobling(er)",
|
||
"fetchingModels": "Henter tilgjengelige modeller...",
|
||
"failedFetchModels": "Kunne ikke hente modellene",
|
||
"noModelsFound": "Ingen modeller funnet",
|
||
"importFailed": "Import mislyktes",
|
||
"noNewModelsAdded": "Ingen nye modeller ble lagt til.",
|
||
"adding": "Legger til...",
|
||
"importingModelsTitle": "Importere modeller",
|
||
"copyModel": "Kopier modell",
|
||
"removeModel": "Fjern modellen",
|
||
"rateLimitProtected": "Beskyttet",
|
||
"rateLimitUnprotected": "Ubeskyttet",
|
||
"enableRateLimitProtection": "Klikk for å aktivere satsgrensebeskyttelse",
|
||
"disableRateLimitProtection": "Klikk for å deaktivere satsgrensebeskyttelse",
|
||
"productionKey": "Produksjonsnøkkel",
|
||
"enterNewApiKey": "Skriv inn ny API-nøkkel",
|
||
"optional": "Valgfritt",
|
||
"anthropicCompatibleName": "Antropisk kompatibel",
|
||
"openaiCompatibleName": "OpenAI-kompatibel",
|
||
"failedImportModels": "Kunne ikke importere modeller",
|
||
"noModelsReturnedFromEndpoint": "Ingen modeller returnert fra /models endepunkt.",
|
||
"importingModelsProgress": "Importerer {current} av {total} modeller ...",
|
||
"foundModelsStartingImport": "Fant {count} modeller. Starter import...",
|
||
"importingModelById": "Importerer {modelId}...",
|
||
"importSuccessCount": "Vellykket importert {count, plural, one {# model} other {# models}}!",
|
||
"noNewModelsAddedExisting": "Ingen nye modeller ble lagt til (alle finnes allerede).",
|
||
"importDoneCount": "✓ Ferdig! {count, plural, one {# model imported.} other {# models imported.}}",
|
||
"unexpectedErrorOccurred": "Det oppstod en uventet feil",
|
||
"connectionCountLabel": "{count, plural, one {# connection} other {# connections}}",
|
||
"messagesPath": "meldinger",
|
||
"responsesPath": "svar",
|
||
"chatCompletionsPath": "chat/fullføringer",
|
||
"add": "Legg til",
|
||
"edit": "Rediger",
|
||
"delete": "Slett",
|
||
"anthropic": "Antropisk",
|
||
"openai": "OpenAI",
|
||
"singleConnectionPerCompatible": "Bare én tilkobling er tillatt per kompatibel node. Legg til en annen node hvis du trenger flere tilkoblinger.",
|
||
"connections": "Tilkoblinger",
|
||
"providerProxyTitleConfigured": "Leverandørproxy: {host}",
|
||
"configured": "konfigurert",
|
||
"providerProxyConfigureHint": "Konfigurer proxy for alle tilkoblinger til denne leverandøren",
|
||
"providerProxy": "Leverandørfullmakt",
|
||
"noConnectionsYet": "Ingen tilkoblinger ennå",
|
||
"addFirstConnectionHint": "Legg til din første tilkobling for å komme i gang",
|
||
"addConnection": "Legg til tilkobling",
|
||
"availableModels": "Tilgjengelige modeller",
|
||
"pageAutoRefresh": "Siden oppdateres automatisk...",
|
||
"statusDisabled": "deaktivert",
|
||
"statusConnected": "tilkoblet",
|
||
"statusRuntimeIssue": "kjøretidsproblem",
|
||
"statusAuthFailed": "auth mislyktes",
|
||
"statusRateLimited": "sats begrenset",
|
||
"statusNetworkIssue": "nettverksproblem",
|
||
"statusTestUnsupported": "test støttes ikke",
|
||
"statusUnavailable": "utilgjengelig",
|
||
"statusFailed": "mislyktes",
|
||
"statusError": "feil",
|
||
"oauthAccount": "OAuth-konto",
|
||
"errorTypeRuntime": "Lokal kjøretid",
|
||
"errorTypeUpstreamAuth": "Oppstrøms auth",
|
||
"errorTypeMissingCredential": "Mangler legitimasjon",
|
||
"errorTypeRefreshFailed": "Oppdatering mislyktes",
|
||
"errorTypeTokenExpired": "Token utløpt",
|
||
"errorTypeRateLimited": "Begrenset pris",
|
||
"errorTypeUpstreamUnavailable": "Oppstrøms utilgjengelig",
|
||
"errorTypeNetworkError": "Nettverksfeil",
|
||
"errorTypeTestUnsupported": "Testen støttes ikke",
|
||
"errorTypeUpstreamError": "Oppstrøms feil",
|
||
"proxySourceGlobal": "Globalt",
|
||
"proxySourceProvider": "Leverandør",
|
||
"proxySourceKey": "Nøkkel",
|
||
"proxyConfiguredBySource": "Fullmakt ({source}): {host}",
|
||
"autoPriority": "Auto: {priority}",
|
||
"proxy": "Fullmakt",
|
||
"retestAuthentication": "Test autentisering på nytt",
|
||
"retest": "Test på nytt",
|
||
"disableConnection": "Deaktiver tilkobling",
|
||
"enableConnection": "Aktiver tilkobling",
|
||
"reauthenticateConnection": "Autentiser denne tilkoblingen på nytt",
|
||
"proxyConfig": "Proxy konfig",
|
||
"aliasExistsAlert": "Aliaset \"{alias}\" eksisterer allerede. Bruk en annen modell eller rediger eksisterende alias.",
|
||
"openRouterAnyModelHint": "OpenRouter støtter alle modeller. Legg til modeller og lag aliaser for rask tilgang.",
|
||
"modelIdFromOpenRouter": "Modell-ID (fra OpenRouter)",
|
||
"openRouterModelPlaceholder": "antropisk/claude-3-opus",
|
||
"customModels": "Egendefinerte modeller",
|
||
"customModelsHint": "Legg til modell-ID-er som ikke er i standardlisten. Disse vil være tilgjengelige for ruting.",
|
||
"modelId": "Modell-ID",
|
||
"customModelPlaceholder": "f.eks. gpt-4.5-turbo",
|
||
"loading": "Laster inn...",
|
||
"removeCustomModel": "Fjern tilpasset modell",
|
||
"noCustomModels": "Ingen tilpassede modeller lagt til ennå.",
|
||
"allSuggestedAliasesExist": "Alle foreslåtte aliaser finnes allerede. Velg en annen modell eller fjern motstridende aliaser.",
|
||
"failedSaveCustomModel": "Kunne ikke lagre egendefinert modell",
|
||
"modelAddedSuccess": "Modell {modelId} ble lagt til",
|
||
"failedAddModelTryAgain": "Kunne ikke legge til modell. Vennligst prøv igjen.",
|
||
"failedSaveImportedModel": "Kunne ikke lagre importert modell til egendefinert database",
|
||
"failedImportModelsTryAgain": "Kunne ikke importere modeller. Vennligst prøv igjen.",
|
||
"failedRemoveModelFromDatabase": "Kunne ikke fjerne modellen fra databasen",
|
||
"modelRemovedSuccess": "Modellen ble fjernet",
|
||
"failedDeleteModelTryAgain": "Kunne ikke slette modellen. Vennligst prøv igjen.",
|
||
"compatibleModelsDescription": "Legg til {type}-kompatible modeller manuelt eller importer dem fra /models-endepunktet.",
|
||
"anthropicCompatibleModelPlaceholder": "claude-3-opus-20240229",
|
||
"openaiCompatibleModelPlaceholder": "gpt-4o",
|
||
"apiKeyValidationFailed": "API-nøkkelvalidering mislyktes. Sjekk nøkkelen din og prøv igjen.",
|
||
"addProviderApiKeyTitle": "Legg til {provider} API-nøkkel",
|
||
"checking": "Sjekker...",
|
||
"check": "Sjekk",
|
||
"valid": "Gyldig",
|
||
"invalid": "Ugyldig",
|
||
"creating": "Oppretter...",
|
||
"validationChecksAnthropicCompatible": "Valideringssjekker {provider} ved å bekrefte API-nøkkelen.",
|
||
"validationChecksOpenAiCompatible": "Valideringssjekker {provider} via /models på din basis-URL.",
|
||
"priorityLabel": "Prioritet",
|
||
"saving": "Lagrer...",
|
||
"save": "Lagre",
|
||
"editConnection": "Rediger tilkobling",
|
||
"accountName": "Kontonavn",
|
||
"email": "E-post",
|
||
"healthCheckMinutes": "Helsesjekk (min)",
|
||
"healthCheckHint": "Proaktivt token-oppdateringsintervall. 0 = deaktivert.",
|
||
"failedTestConnection": "Kunne ikke teste tilkoblingen",
|
||
"failed": "Mislyktes",
|
||
"leaveBlankKeepCurrentApiKey": "La stå tomt for å beholde gjeldende API-nøkkel.",
|
||
"editCompatibleTitle": "Rediger {type} Kompatibel",
|
||
"compatibleBaseUrlHint": "Bruk basis-URLen (som slutter på /v1) for din {type}-kompatible API.",
|
||
"apiKeyForCheck": "API-nøkkel (for sjekk)",
|
||
"compatibleProdPlaceholder": "{type} Kompatibel (Prod)"
|
||
},
|
||
"settings": {
|
||
"title": "Innstillinger",
|
||
"general": "Generelt",
|
||
"security": "Sikkerhet",
|
||
"appearance": "Utseende",
|
||
"routing": "Ruting",
|
||
"cache": "Cache",
|
||
"resilience": "Spenst",
|
||
"systemPrompt": "Systemmelding",
|
||
"thinkingBudget": "Tenker budsjett",
|
||
"proxy": "Fullmakt",
|
||
"pricing": "Prissetting",
|
||
"storage": "Oppbevaring",
|
||
"policies": "Retningslinjer",
|
||
"ipFilter": "IP-filter",
|
||
"comboDefaults": "Combo standarder",
|
||
"fallbackChains": "Reservekjeder",
|
||
"changePassword": "Endre passord",
|
||
"enablePassword": "Aktiver passord",
|
||
"darkMode": "Mørk modus",
|
||
"lightMode": "Lysmodus",
|
||
"systemTheme": "Systemtema",
|
||
"enableCache": "Aktiver cache",
|
||
"cacheTTL": "Cache TTL",
|
||
"maxCacheSize": "Maks cachestørrelse",
|
||
"clearCache": "Tøm buffer",
|
||
"cacheHits": "Cache-treff",
|
||
"cacheMisses": "Cache Misses",
|
||
"hitRate": "Trefffrekvens",
|
||
"cacheEntries": "Bufferoppføringer",
|
||
"circuitBreaker": "Strømbryter",
|
||
"retryPolicy": "Retningslinjer for forsøk",
|
||
"maxRetries": "Max prøver på nytt",
|
||
"retryDelay": "Forsinkelse på nytt",
|
||
"timeoutMs": "Tidsavbrudd (ms)",
|
||
"enableSystemPrompt": "Aktiver systemforespørsel",
|
||
"systemPromptText": "Systemmeldingstekst",
|
||
"enableThinking": "Aktiver tenkning",
|
||
"maxThinkingTokens": "Max Thinking Tokens",
|
||
"enableProxy": "Aktiver proxy",
|
||
"proxyUrl": "Proxy URL",
|
||
"pricingRates": "Prisformat",
|
||
"currentPricing": "Gjeldende prisoversikt",
|
||
"loadingPricing": "Laster inn prisdata ...",
|
||
"noPricing": "Ingen prisdata tilgjengelig",
|
||
"input": "Inndata",
|
||
"output": "Utgang",
|
||
"cached": "Bufret",
|
||
"reasoning": "Resonnement",
|
||
"cacheCreation": "Oppretting av cache",
|
||
"customPricing": "Egendefinerte priser",
|
||
"databaseSize": "Databasestørrelse",
|
||
"backupDb": "Sikkerhetskopier database",
|
||
"restoreDb": "Gjenopprett database",
|
||
"exportData": "Eksporter data",
|
||
"importData": "Importer data",
|
||
"clearData": "Fjern alle data",
|
||
"clearDataConfirm": "Dette vil slette alle data permanent. Er du sikker?",
|
||
"enableRequestLogs": "Aktiver forespørselslogger",
|
||
"logRetention": "Loggoppbevaring",
|
||
"ipWhitelist": "IP-hviteliste",
|
||
"ipBlacklist": "IP svarteliste",
|
||
"addIP": "Legg til IP",
|
||
"savedSuccessfully": "Innstillingene er lagret",
|
||
"ai": "AI",
|
||
"advanced": "Avansert",
|
||
"localMode": "Lokal modus — Alle data som er lagret på maskinen din",
|
||
"settingsSectionsAria": "Innstillinger-seksjoner",
|
||
"switchThemes": "Bytt mellom lyse og mørke temaer",
|
||
"themeSelectionAria": "Temavalg",
|
||
"themeLight": "Lys",
|
||
"themeDark": "Mørkt",
|
||
"themeSystem": "System",
|
||
"hideHealthLogs": "Skjul helsesjekklogger",
|
||
"hideHealthLogsDesc": "Når PÅ, undertrykk [HealthCheck]-meldinger i serverkonsollen",
|
||
"themeAccent": "Temafarge",
|
||
"themeAccentDesc": "Velg en forhåndsinnstilt farge eller lag ditt eget tema med én farge",
|
||
"themeCreate": "Opprett tema",
|
||
"themeCustom": "Egendefinert tema",
|
||
"themeBlue": "Blå",
|
||
"themeRed": "Rød",
|
||
"themeGreen": "Grønn",
|
||
"themeViolet": "Fiolett",
|
||
"themeOrange": "Oransje",
|
||
"themeCyan": "Cyan",
|
||
"promptCache": "Spør Cache",
|
||
"flushCache": "Skyll cache",
|
||
"flushing": "Skyller …",
|
||
"size": "Størrelse",
|
||
"hits": "Treffer",
|
||
"evictions": "Utkastelser",
|
||
"loadingCacheStats": "Laster cachestatistikk …",
|
||
"globalProxy": "Global proxy",
|
||
"globalProxyDesc": "Konfigurer en global utgående proxy for alle API-kall. Individuelle leverandører, kombinasjoner og nøkler kan overstyre dette.",
|
||
"noGlobalProxy": "Ingen global proxy er konfigurert",
|
||
"globalLabel": "Globalt",
|
||
"configure": "Konfigurer",
|
||
"globalSystemPrompt": "Global systemforespørsel",
|
||
"systemPromptDesc": "Injisert i alle forespørsler på proxy-nivå",
|
||
"saved": "Lagret",
|
||
"systemPromptPlaceholder": "Skriv inn systemforespørselen for å injisere i alle forespørsler...",
|
||
"systemPromptHint": "Denne ledeteksten vises foran systemmeldingen for hver forespørsel. Bruk for globale instruksjoner, sikkerhetsretningslinjer eller regler for responsformatering.",
|
||
"chars": "{count} tegn",
|
||
"thinkingBudgetTitle": "Tenker budsjett",
|
||
"thinkingBudgetDesc": "Kontroller bruk av AI-resonnementstoken på tvers av alle forespørsler",
|
||
"passthrough": "Gjennomgang",
|
||
"passthroughDesc": "Ingen endringer – klienten kontrollerer tenkebudsjettet",
|
||
"auto": "Auto",
|
||
"autoDesc": "Fjern all tenkekonfigurasjon – la leverandøren bestemme",
|
||
"custom": "Egendefinert",
|
||
"customDesc": "Angi et fast tokenbudsjett for alle forespørsler",
|
||
"adaptive": "Adaptiv",
|
||
"adaptiveDesc": "Skaler budsjett basert på forespørselskompleksitet",
|
||
"effortNone": "Ingen (0 tokens)",
|
||
"effortLow": "Lav (1K tokens)",
|
||
"effortMedium": "Medium (10 000 tokens)",
|
||
"effortHigh": "Høy (128 000 tokens)",
|
||
"tokenBudget": "Tokenbudsjett",
|
||
"tokens": "tokens",
|
||
"baseEffortLevel": "Grunninnsatsnivå",
|
||
"adaptiveHint": "Adaptiv modus skalerer fra dette basisnivået basert på antall meldinger, verktøybruk og forespørselslengde.",
|
||
"requireLogin": "Krev innlogging",
|
||
"requireLoginDesc": "Når PÅ, krever dashbordet passord. Når AV, tilgang uten pålogging.",
|
||
"currentPassword": "Gjeldende passord",
|
||
"enterCurrentPassword": "Skriv inn gjeldende passord",
|
||
"newPassword": "Nytt passord",
|
||
"enterNewPassword": "Skriv inn nytt passord",
|
||
"confirmPassword": "Bekreft nytt passord",
|
||
"confirmPasswordPlaceholder": "Bekreft nytt passord",
|
||
"passwordsNoMatch": "Passord stemmer ikke",
|
||
"passwordUpdated": "Passordet ble oppdatert",
|
||
"failedUpdatePassword": "Kunne ikke oppdatere passordet",
|
||
"errorOccurred": "Det oppsto en feil",
|
||
"updatePassword": "Oppdater passord",
|
||
"setPassword": "Angi passord",
|
||
"apiEndpointProtection": "API-endepunktbeskyttelse",
|
||
"requireAuthModels": "Krev API-nøkkel for /modeller",
|
||
"requireAuthModelsDesc": "Når PÅ, returnerer /v1/models-endepunktet 404 for uautentiserte forespørsler. Forhindrer modelloppdagelse av uautoriserte brukere.",
|
||
"blockedProviders": "Blokkerte leverandører",
|
||
"blockedProvidersDesc": "Skjul spesifikke leverandører fra /v1/models-svaret. Blokkerte leverandører vil ikke vises i modelloppføringer.",
|
||
"providersBlocked": "{count} leverandør(er) blokkert fra /modeller",
|
||
"blockProviderTitle": "Blokkér {provider}",
|
||
"unblockProviderTitle": "Fjern blokkering av {provider}",
|
||
"routingStrategy": "Rutingstrategi",
|
||
"fillFirst": "Fyll først",
|
||
"fillFirstDesc": "Bruk kontoer i prioritert rekkefølge",
|
||
"roundRobin": "Round Robin",
|
||
"roundRobinDesc": "Bla gjennom alle kontoer",
|
||
"p2c": "P2C",
|
||
"p2cDesc": "Velg 2 tilfeldig, bruk den sunnere",
|
||
"random": "Tilfeldig",
|
||
"randomDesc": "Tilfeldig konto hver forespørsel",
|
||
"leastUsed": "Minst brukt",
|
||
"leastUsedDesc": "Velg minst nylig brukte konto",
|
||
"costOpt": "Kostnad Opt",
|
||
"costOptDesc": "Foretrekker den billigste tilgjengelige kontoen",
|
||
"stickyLimit": "Sticky Limit",
|
||
"stickyLimitDesc": "Anrop per konto før bytte",
|
||
"modelAliases": "Modellaliaser",
|
||
"modelAliasesTitle": "Modellaliaser",
|
||
"modelAliasesDesc": "Jokertegnmønstre for å tilordne modellnavn på nytt • Bruk * og ?",
|
||
"addCustomAlias": "Legg til Tilpasset Alias",
|
||
"deprecatedModelId": "Utdatert modell-ID",
|
||
"newModelId": "Ny modell-ID",
|
||
"customAliases": "Tilpassede Aliaser",
|
||
"builtInAliases": "Innebygde Aliaser",
|
||
"backgroundDegradationTitle": "Bakgrunnsoppgave Degradering",
|
||
"backgroundDegradationDesc": "Oppdager automatisk bakgrunnsoppgaver (titler, sammendrag) og ruter til billigere modeller",
|
||
"enableDegradation": "Aktiver Bakgrunnsdegradation",
|
||
"enableDegradationHint": "Når aktivert, rutes bakgrunnsoppgaver som tittelegenerering og sammendrag automatisk til billigere modeller",
|
||
"tasksDetected": "Oppgaver oppdaget",
|
||
"degradationMap": "Modelldegraderingsschema",
|
||
"premiumModel": "Premiummodell",
|
||
"cheapModel": "Billig modell",
|
||
"detectionPatterns": "Deteksjonsmønstre",
|
||
"newPattern": "f.eks. \"generer en tittel\"",
|
||
"aliasPatternPlaceholder": "claude-sonnett-*",
|
||
"aliasTargetPlaceholder": "claude-sonnett-4-20250514",
|
||
"pattern": "Mønster",
|
||
"targetModel": "Målmodell",
|
||
"add": "+ Legg til",
|
||
"session": "Sesjon",
|
||
"sessionDetailsAria": "Sesjonsdetaljer",
|
||
"status": "Status",
|
||
"authenticated": "Autentisert",
|
||
"guest": "Gjest",
|
||
"loginTime": "Påloggingstid",
|
||
"sessionAge": "Sesjonsalder",
|
||
"browser": "Nettleser",
|
||
"clearLocalData": "Fjern lokale data",
|
||
"logout": "Logg ut",
|
||
"clearLocalDataConfirm": "Vil du slette alle lokale data? Dette vil tilbakestille innstillingene dine.",
|
||
"unknown": "Ukjent",
|
||
"systemActor": "systemet",
|
||
"ipAccessControl": "IP-tilgangskontroll",
|
||
"ipAccessControlDesc": "Blokker eller tillat bestemte IP-adresser",
|
||
"ipModeDisabled": "Deaktivert",
|
||
"ipModeBlacklist": "Svarteliste",
|
||
"ipModeWhitelist": "Hviteliste",
|
||
"ipModeWhitelistPriority": "WL prioritet",
|
||
"addIpAddress": "Legg til IP-adresse",
|
||
"ipAddressPlaceholder": "192.168.1.0/24 eller 10.0.*.*",
|
||
"block": "+ Blokker",
|
||
"allow": "+ Tillat",
|
||
"blocked": "Blokkert ({count})",
|
||
"allowed": "Tillatt ({count})",
|
||
"temporaryBans": "Midlertidig utestengelse ({count})",
|
||
"minLeft": "{min}m igjen",
|
||
"auditLog": "Revisjonslogg",
|
||
"searchAuditLogs": "Søk i revisjonslogger...",
|
||
"failedLoadAuditLog": "Kunne ikke laste inn revisjonsloggen",
|
||
"noAuditEvents": "Ingen revisjonshendelser funnet",
|
||
"action": "Handling",
|
||
"actor": "Skuespiller",
|
||
"details": "Detaljer",
|
||
"time": "Tid",
|
||
"fallbackChainsTitle": "Reservekjeder",
|
||
"fallbackChainsDesc": "Definer leverandørens reserveordre per modell",
|
||
"addChain": "+ Legg til kjede",
|
||
"modelName": "Modellnavn",
|
||
"modelNamePlaceholder": "claude-sonnett-4-20250514",
|
||
"providersCommaSeparated": "Leverandører (kommaseparert, i prioritert rekkefølge)",
|
||
"providersCommaSeparatedPlaceholder": "antropisk, openai, gemini",
|
||
"createChain": "Lag kjede",
|
||
"noFallbackChains": "Ingen reservekjeder",
|
||
"noFallbackChainsDesc": "Opprett en kjede for å definere leverandørens reserveordre for en modell.",
|
||
"loadingFallbackChains": "Laster inn reservekjeder...",
|
||
"deleteChainConfirm": "Vil du slette reservekjeden for «{model}»?",
|
||
"chainCreated": "Kjede opprettet for {model}",
|
||
"chainDeleted": "Kjede slettet for {model}",
|
||
"failedCreateChain": "Kunne ikke opprette kjede",
|
||
"failedDeleteChain": "Kunne ikke slette kjeden",
|
||
"deleteChain": "Slett kjede",
|
||
"fillModelAndProviders": "Fyll ut modellnavn og leverandører",
|
||
"addAtLeastOneProvider": "Legg til minst én leverandør",
|
||
"comboDefaultsTitle": "Combo standarder",
|
||
"globalComboConfig": "Global kombinasjonskonfigurasjon",
|
||
"defaultStrategy": "Standardstrategi",
|
||
"defaultStrategyDesc": "Brukes på nye kombinasjoner uten eksplisitt strategi",
|
||
"comboStrategyAria": "Kombinasjonsstrategi",
|
||
"priority": "Prioritet",
|
||
"weighted": "Vektet",
|
||
"maxRetriesLabel": "Max prøver på nytt",
|
||
"retryDelayLabel": "Forsinkelse på nytt (ms)",
|
||
"timeoutLabel": "Tidsavbrudd (ms)",
|
||
"healthCheck": "Helsesjekk",
|
||
"healthCheckDesc": "Forhåndssjekk leverandørens tilgjengelighet",
|
||
"trackMetrics": "Spor beregninger",
|
||
"trackMetricsDesc": "Registrer beregninger for forespørsel per kombinasjon",
|
||
"providerOverrides": "Leverandøroverstyringer",
|
||
"providerOverridesDesc": "Overstyr tidsavbrudd og forsøk på nytt per leverandør. Leverandørinnstillinger overstyrer globale standardinnstillinger.",
|
||
"providerMaxRetriesAria": "{provider} maksimalt forsøk",
|
||
"providerTimeoutAria": "{provider} tidsavbrudd ms",
|
||
"removeProviderOverrideAria": "Fjern {provider} overstyring",
|
||
"newProviderNamePlaceholder": "f.eks. google, åpne...",
|
||
"newProviderNameAria": "Nytt leverandørnavn",
|
||
"retries": "prøver på nytt",
|
||
"ms": "ms",
|
||
"saveComboDefaults": "Lagre Combo-standarder",
|
||
"maxNestingDepth": "Maks hekkedybde",
|
||
"concurrencyPerModel": "Samtidighet / modell",
|
||
"queueTimeout": "Tidsavbrudd for kø (ms)",
|
||
"providerProfiles": "Leverandørprofiler",
|
||
"providerProfilesDesc": "Separate innstillinger for motstandskraft for OAuth (øktbasert) og API Key (målt) leverandører. OAuth-leverandører har strengere terskler på grunn av lavere takstgrenser.",
|
||
"oauthProviders": "OAuth-leverandører",
|
||
"apiKeyProviders": "API-nøkkelleverandører",
|
||
"transientCooldown": "Forbigående nedkjøling",
|
||
"rateLimitCooldown": "Rate Limit Cooldown",
|
||
"maxBackoffLevel": "Maks Backoff Level",
|
||
"cbThreshold": "CB-terskel",
|
||
"cbResetTime": "CB-tilbakestillingstid",
|
||
"rateLimiting": "Satsbegrensende",
|
||
"rateLimitingDesc": "API-nøkkelleverandører er automatisk hastighetsbegrenset med sikre standardinnstillinger. Grenser læres fra responsoverskrifter og tilpasses over tid.",
|
||
"defaultSafetyNet": "Standard sikkerhetsnett",
|
||
"rpm": "RPM",
|
||
"minGap": "Min Gap",
|
||
"maxConcurrent": "Maks samtidig",
|
||
"activeLimiters": "Aktive begrensere",
|
||
"noActiveLimiters": "Ingen aktive ratebegrensere ennå.",
|
||
"reservoir": "Reservoar",
|
||
"running": "Løper",
|
||
"queued": "I kø",
|
||
"circuitBreakers": "Strømbrytere",
|
||
"breakerStateClosed": "Stengt",
|
||
"breakerStateOpen": "Åpne",
|
||
"breakerStateHalfOpen": "Halvåpent",
|
||
"tripped": "{count} utløste",
|
||
"healthy": "{count} sunn",
|
||
"resetAll": "Tilbakestill alle",
|
||
"noCircuitBreakers": "Ingen effektbrytere aktive ennå. De opprettes automatisk når forespørsler strømmer gjennom kombinasjonsrørledningen.",
|
||
"failures": "{count} feil(er)",
|
||
"policiesLocked": "Retningslinjer og låste identifikatorer",
|
||
"allOperational": "Alle systemer er i drift - ingen sperringer eller utløste brytere",
|
||
"loadingPolicies": "Laster inn retningslinjer ...",
|
||
"lockedIdentifiers": "Låste identifikatorer",
|
||
"unlockedIdentifier": "Ulåst: {identifier}",
|
||
"sinceDate": "siden {date}",
|
||
"forceUnlock": "Tving opplåsing",
|
||
"unlocking": "Låser opp ...",
|
||
"failedUnlock": "Kunne ikke låse opp",
|
||
"failedLoadWithStatus": "Kunne ikke laste inn: {status}",
|
||
"failedLoadResilience": "Kunne ikke laste inn resiliensstatus",
|
||
"saveFailed": "Lagring mislyktes",
|
||
"resetFailed": "Tilbakestilling mislyktes",
|
||
"loadingResilience": "Laster motstandsstatus ...",
|
||
"retry": "Prøv på nytt",
|
||
"systemStorage": "System og lagring",
|
||
"allDataLocal": "Alle data lagret lokalt på maskinen din",
|
||
"databasePath": "Databasebane",
|
||
"exportDatabase": "Eksporter database",
|
||
"exportAll": "Eksporter alle (.tar.gz)",
|
||
"importDatabase": "Importer database",
|
||
"confirmDbImport": "Bekreft databaseimport",
|
||
"confirmDbImportDesc": "Dette vil erstatte alle gjeldende data med innholdet fra {file}. En sikkerhetskopi opprettes automatisk før importen.",
|
||
"yesImport": "Ja, import",
|
||
"lastBackup": "Siste sikkerhetskopi",
|
||
"noBackupYet": "Ingen sikkerhetskopi ennå",
|
||
"backupNow": "Sikkerhetskopier nå",
|
||
"backupRestore": "Sikkerhetskopiering og gjenoppretting",
|
||
"viewBackups": "Se sikkerhetskopier",
|
||
"hide": "Skjul",
|
||
"backupRetentionDesc": "Database-øyeblikksbilder opprettes automatisk før gjenoppretting og hvert 15. minutt når data endres. Oppbevaring: 24 timer i timen + 30 daglige sikkerhetskopier med smart rotasjon.",
|
||
"loadingBackups": "Laster inn sikkerhetskopier...",
|
||
"noBackupsYet": "Ingen sikkerhetskopier tilgjengelig ennå. Sikkerhetskopier opprettes automatisk når data endres.",
|
||
"backupsAvailable": "{count} sikkerhetskopi(er) tilgjengelig",
|
||
"refresh": "Oppdater",
|
||
"confirm": "Bekrefte?",
|
||
"yes": "Ja",
|
||
"no": "Nei",
|
||
"restore": "Gjenopprett",
|
||
"invalidFileType": "Ugyldig filtype. Bare .sqlite-filer godtas.",
|
||
"exportFailed": "Eksporten mislyktes",
|
||
"exportFailedWithError": "Eksport mislyktes: {error}",
|
||
"fullExportFailedWithError": "Full eksport mislyktes: {error}",
|
||
"backupCreated": "Sikkerhetskopi opprettet: {file}",
|
||
"restoreSuccess": "Gjenopprettet! {connections} tilkoblinger, {nodes} noder, {combos} kombinasjoner, {apiKeys} API-nøkler.",
|
||
"importSuccess": "Database importert! {connections} tilkoblinger, {nodes} noder, {combos} kombinasjoner, {apiKeys} API-nøkler.",
|
||
"justNow": "akkurat nå",
|
||
"minutesAgo": "{count}m siden",
|
||
"hoursAgo": "{count}t siden",
|
||
"daysAgo": "{count}d siden",
|
||
"backupReasonManual": "manuell",
|
||
"backupReasonPreRestore": "forhåndsgjenoppretting",
|
||
"connectionsCount": "{count, plural, one {# connection} other {# connections}}",
|
||
"noChangesSinceBackup": "Ingen endringer siden siste sikkerhetskopiering",
|
||
"backupFailed": "Sikkerhetskopiering mislyktes",
|
||
"restoreFailed": "Gjenoppretting mislyktes",
|
||
"importFailed": "Import mislyktes",
|
||
"errorDuringRestore": "Det oppstod en feil under gjenoppretting",
|
||
"errorDuringImport": "Det oppstod en feil under import",
|
||
"modelPricing": "Modellprising",
|
||
"modelPricingDesc": "Konfigurer kostnadssatser per modell • Alle priser i $/1M tokens",
|
||
"providers": "Leverandører",
|
||
"registry": "Register",
|
||
"priced": "Priset",
|
||
"searchProvidersModels": "Søk etter leverandører eller modeller...",
|
||
"showAll": "Vis alle",
|
||
"noProvidersMatch": "Ingen leverandører samsvarer med søket ditt.",
|
||
"howPricingWorks": "Hvordan prissetting fungerer",
|
||
"cacheWrite": "Cache-skriving",
|
||
"unsaved": "ikke lagret",
|
||
"resetDefaults": "Tilbakestill standarder",
|
||
"saveProvider": "Lagre leverandør",
|
||
"saving": "Lagrer...",
|
||
"model": "Modell",
|
||
"models": "modeller",
|
||
"moreProviders": "{count} flere leverandører",
|
||
"withPricing": "med konfigurert pris",
|
||
"policiesCircuitBreakers": "Retningslinjer og effektbrytere",
|
||
"activeIssuesDetected": "Aktive problemer oppdaget",
|
||
"off": "Av",
|
||
"resetPricingConfirm": "Vil du tilbakestille all prissetting for {provider} til standardverdiene?",
|
||
"pricingDescInput": "Inndata: tokens sendt til modellen",
|
||
"pricingDescOutput": "Utgang: tokens generert",
|
||
"pricingDescCached": "Bufret: gjenbrukt inndata (~50 % av inndatahastigheten)",
|
||
"pricingDescReasoning": "Begrunnelse: tenketegn (faller tilbake til utgang)",
|
||
"pricingDescCacheWrite": "Cache Write: lage cache-oppføringer (faller tilbake til Input)",
|
||
"pricingDescFormula": "Kostnad = (input × input_rate) + (output × output_rate) + (cached × cached_rate) per million tokens.",
|
||
"pricingSettingsTitle": "Prisinnstillinger",
|
||
"totalModels": "Totalt antall modeller",
|
||
"active": "Aktiv",
|
||
"costCalculation": "Kostnadsberegning",
|
||
"costCalculationDesc": "Kostnadene beregnes basert på tokenbruk og prissatser som er konfigurert for hver modell.",
|
||
"pricingFormat": "Prisformat",
|
||
"pricingFormatDesc": "Alle priser er i $/1M tokens (dollar per million tokens).",
|
||
"tokenTypes": "Tokentyper",
|
||
"inputTokenDesc": "Standard prompt-tokens",
|
||
"outputTokenDesc": "Fullførings-/svarbrikke",
|
||
"cachedTokenDesc": "Bufret inndatatoken (vanligvis 50 % av inndatahastigheten)",
|
||
"reasoningTokenDesc": "Spesielle resonnement-/tenkesymboler (tilbakeslag til produksjonshastighet)",
|
||
"cacheCreationTokenDesc": "Tokens som brukes til å lage cache-oppføringer (tilbake til inngangshastighet)",
|
||
"customPricingNote": "Du kan overstyre standardpriser for spesifikke modeller. Egendefinerte overstyringer prioriteres fremfor automatisk oppdagede priser.",
|
||
"editPricing": "Rediger priser",
|
||
"viewFullDetails": "Se alle detaljer"
|
||
},
|
||
"translator": {
|
||
"title": "Oversetter",
|
||
"metaTitle": "Oversetter Lekeplass | OmniRoute",
|
||
"metaDescription": "Feilsøk, test og visualiser API-formatoversettelser mellom leverandører",
|
||
"playgroundTitle": "Oversetter Lekeplass",
|
||
"playground": "Lekeplass",
|
||
"realtime": "Oversettelsesaktivitet i sanntid",
|
||
"chatTester": "Chat Tester",
|
||
"testBench": "Testbenk",
|
||
"liveMonitor": "Live Monitor",
|
||
"modeDescriptionPlayground": "Lim inn en hvilken som helst API-forespørselstekst og se hvordan OmniRoute oversetter den mellom leverandørformater (OpenAI ↔ Claude ↔ Gemini ↔ Responses API)",
|
||
"modeDescriptionChatTester": "Send ekte chatteforespørsler gjennom OmniRoute og inspiser hele rundturen: inndata, oversatt forespørsel, leverandørsvar og oversatt utdata.",
|
||
"modeDescriptionTestBench": "Kjør forhåndsdefinerte scenarier og sammenlign kompatibilitet på tvers av leverandører og modeller.",
|
||
"modeDescriptionLiveMonitor": "Se oversettelsesbegivenheter i sanntid mens forespørsler strømmer gjennom OmniRoute.",
|
||
"modeDescriptionFallback": "Feilsøk, test og visualiser hvordan OmniRoute oversetter API-forespørsler mellom leverandører.",
|
||
"recentTranslations": "Nylige oversettelser",
|
||
"noTranslations": "Ingen oversettelser ennå",
|
||
"source": "Kilde",
|
||
"target": "Mål",
|
||
"time": "Tid",
|
||
"model": "Modell",
|
||
"status": "Status",
|
||
"latency": "Latens",
|
||
"totalTranslations": "Totale oversettelser",
|
||
"successful": "Vellykket",
|
||
"errors": "Feil",
|
||
"avgLatency": "Gj.sn. ventetid",
|
||
"millisecondsShort": "{value}ms",
|
||
"notAvailableSymbol": "—",
|
||
"liveAutoRefreshing": "Live — Automatisk oppdatering",
|
||
"paused": "Pause",
|
||
"eventsAppearHint": "Oversettelseshendelser vises her når forespørsler strømmer gjennom OmniRoute. Bruk en av disse metodene for å generere hendelser:",
|
||
"chatTesterTab": "Chat Tester-fanen",
|
||
"testBenchTab": "Testbenk-fanen",
|
||
"externalApiCalls": "Eksterne API-anrop",
|
||
"ideCliIntegrations": "IDE/CLI-integrasjoner",
|
||
"inMemoryNote": "Merk: Hendelser lagres i minnet og tilbakestilles når serveren starter på nytt.",
|
||
"ok": "OK",
|
||
"errorShort": "FEIL",
|
||
"formatConverter": "Formatkonvertering",
|
||
"formatConverterDescription": "Lim inn eller skriv inn en JSON-forespørselstekst. Oversetteren vil automatisk oppdage kildeformatet og konvertere det til målformatet. Bruk denne til å feilsøke hvordan OmniRoute oversetter forespørsler mellom formater (OpenAI ↔ Claude ↔ Gemini ↔ Responses API).",
|
||
"input": "Inndata",
|
||
"output": "Utgang",
|
||
"auto": "Auto",
|
||
"swapFormats": "Bytt formater",
|
||
"translateAction": "Oversett",
|
||
"clear": "Klart",
|
||
"inputPlaceholder": "Lim inn en forespørselstekst her eller velg en mal nedenfor...",
|
||
"exampleTemplates": "Eksempelmaler",
|
||
"exampleTemplatesHint": "— Klikk for å laste",
|
||
"templateLoadHint": "Malen laster forespørselen i {format}-format. Endre kildeformat for å laste inn i et annet format.",
|
||
"compatibilityTester": "Kompatibilitetstester",
|
||
"compatibilityReport": "Kompatibilitetsrapport",
|
||
"testBenchDescription": "Kjør forhåndsdefinerte scenarier (Simple Chat, Tool Calling, etc.) for å bekrefte oversettelse og leverandørkompatibilitet. Velg et kildeformat og målleverandør, og kjør deretter alle testene for å se en kompatibilitetsprosent. Bruk denne for å finne hvilke funksjoner som fungerer på tvers av leverandører.",
|
||
"targetProvider": "Målleverandør",
|
||
"runAllTests": "Kjør alle tester",
|
||
"runTest": "Kjør test",
|
||
"reRun": "Kjør på nytt",
|
||
"running": "Kjører...",
|
||
"passed": "bestått",
|
||
"failed": "mislyktes",
|
||
"passedIconLabel": "✅ Bestått",
|
||
"chunks": "biter",
|
||
"scenarioSimpleChat": "Enkel chat",
|
||
"scenarioToolCalling": "Verktøyanrop",
|
||
"scenarioMultiTurn": "Multisving",
|
||
"scenarioThinking": "Tenker",
|
||
"scenarioSystemPrompt": "Systemmelding",
|
||
"scenarioStreaming": "Streaming",
|
||
"templateNames": {
|
||
"simple-chat": "Enkel chat",
|
||
"tool-calling": "Verktøyanrop",
|
||
"multi-turn": "Multisving",
|
||
"thinking": "Tenker",
|
||
"system-prompt": "Systemmelding",
|
||
"streaming": "Streaming"
|
||
},
|
||
"templateDescriptions": {
|
||
"simple-chat": "Grunnleggende tekstmelding",
|
||
"tool-calling": "Funksjon/verktøy-påkalling",
|
||
"multi-turn": "Samtale med historien",
|
||
"thinking": "Utvidet tenkning / resonnement",
|
||
"system-prompt": "Komplekse systeminstruksjoner",
|
||
"streaming": "SSE-strømforespørsel"
|
||
},
|
||
"templatePayloads": {
|
||
"simpleChat": {
|
||
"system": "Du er en hjelpsom assistent.",
|
||
"userGreeting": "Hei! Hvordan har du det i dag?"
|
||
},
|
||
"toolCalling": {
|
||
"userWeather": "Hvordan er været i São Paulo?",
|
||
"toolDescription": "Få gjeldende vær for et sted",
|
||
"cityNameDescription": "Bynavn"
|
||
},
|
||
"multiTurn": {
|
||
"system": "Du er en kodeassistent.",
|
||
"userInitial": "Skriv en funksjon for å sortere en matrise i Python.",
|
||
"assistantExample": "Her er en enkel sorteringsfunksjon:\n\n``` python\ndef sort_array(arr):\n return sortert(arr)\n```",
|
||
"userFollowUp": "Gjør det nå sortert i synkende rekkefølge."
|
||
},
|
||
"thinking": {
|
||
"question": "Hva er summen av de første 100 primtallene?"
|
||
},
|
||
"systemPrompt": {
|
||
"systemInstruction": "Du er en senior programvareingeniør med spesialisering i distribuerte systemer. Svar konsist på spørsmål ved å bruke bransjens beste praksis. Gi alltid kodeeksempler når det er relevant. Formater svarene dine med markdown.",
|
||
"question": "Hvordan implementerer jeg et strømbrytermønster?"
|
||
},
|
||
"streaming": {
|
||
"prompt": "Fortell meg en kort historie om en robot som lærer å male."
|
||
}
|
||
},
|
||
"openaiCompatibleLabel": "OpenAI-kompatibel",
|
||
"anthropicCompatibleLabel": "Antropisk kompatibel",
|
||
"noTemplateForFormat": "Ingen mal for dette formatet",
|
||
"translationFailed": "Oversettelse mislyktes: {error}",
|
||
"pipelineDebugger": "Pipeline Debugger",
|
||
"translationPipeline": "Oversettelsesrørledning",
|
||
"pipelineVisualization": "Visualisering av pipeline",
|
||
"pipelineVisualizationHint": "Send en melding for å se hvordan forespørselen din flyter gjennom gjenkjenning → oversettelse → leverandøranrop.",
|
||
"chatTesterDescription": "Send meldinger som et spesifikt klientformat og inspiser hvert trinn i oversettelsespipelinen.",
|
||
"chatTesterFlow": "Klientforespørsel → Formatdeteksjon → OpenAI Intermediate → Leverandørformat → Svar",
|
||
"clickStepToInspect": "Klikk på et hvilket som helst trinn for å inspisere dataene på det stadiet.",
|
||
"clientFormat": "Klientformat",
|
||
"provider": "Leverandør",
|
||
"modelPlaceholder": "Velg eller skriv inn et modellnavn...",
|
||
"sendMessageToSeePipeline": "Send en melding for å se oversettelsespipeline",
|
||
"chatMessageHintPrefix": "Meldingen din vil bli formatert som en",
|
||
"chatMessageHintSuffix": "forespørsel, oversatt gjennom rørledningen og sendt til den valgte leverandøren.",
|
||
"youWithFormat": "Du ({format})",
|
||
"assistant": "Assistent",
|
||
"typeMessage": "Skriv inn en melding...",
|
||
"send": "Send",
|
||
"clientRequest": "Kundeforespørsel",
|
||
"clientRequestDescription": "Forespørselsteksten slik klienten din ville sende den",
|
||
"formatDetected": "Format oppdaget",
|
||
"formatDetectedDescription": "OmniRoute oppdager automatisk API-formatet fra forespørselsstrukturen",
|
||
"openaiIntermediate": "OpenAI Intermediate",
|
||
"openaiIntermediateDescription": "Alle formater normaliseres først til OpenAI-format (den universelle broen)",
|
||
"providerFormat": "Leverandørformat",
|
||
"providerFormatDescription": "OpenAI-formatet er oversatt til leverandørens opprinnelige format",
|
||
"providerResponse": "Leverandørens svar",
|
||
"providerResponseRawDescription": "Råsvaret fra leverandørens API",
|
||
"providerResponseSseDescription": "Den rå SSE-strømmen fra leverandørens API",
|
||
"unexpectedError": "Det oppstod en uventet feil",
|
||
"error": "Feil",
|
||
"errorMessage": "Feil: {message}",
|
||
"requestFailed": "Forespørselen mislyktes",
|
||
"noTextExtracted": "(Ingen tekst er trukket ut)",
|
||
"liveMonitorDescriptionPrefix": "Viser oversettelseshendelser når API-anrop flyter gjennom OmniRoute. Hendelser kommer fra bufferen i minnet (tilbakestilles ved omstart). Bruk",
|
||
"liveMonitorDescriptionSuffix": ", eller eksterne API-kall for å generere hendelser."
|
||
},
|
||
"usage": {
|
||
"title": "Bruk",
|
||
"loggerTab": "Logger",
|
||
"proxyTab": "Fullmakt",
|
||
"budgetManagement": "Budsjettstyring",
|
||
"budgetSaved": "Budsjettgrenser lagret",
|
||
"budgetSaveFailed": "Kunne ikke lagre budsjettet",
|
||
"loadingBudgetData": "Laster inn budsjettdata ...",
|
||
"noApiKeysTitle": "Ingen API-nøkler",
|
||
"noApiKeysDescription": "Legg til API-nøkler først for å sette opp budsjettgrenser.",
|
||
"apiKey": "API-nøkkel",
|
||
"todaysSpend": "Dagens forbruk",
|
||
"thisMonth": "Denne måneden",
|
||
"setLimits": "Sett grenser",
|
||
"dailyLimitUsd": "Daglig grense (USD)",
|
||
"monthlyLimitUsd": "Månedlig grense (USD)",
|
||
"warningThresholdPercent": "Advarselsterskel (%)",
|
||
"dailyLimitPlaceholder": "f.eks. 5.00",
|
||
"monthlyLimitPlaceholder": "f.eks. 50,00",
|
||
"warningThresholdPlaceholder": "80",
|
||
"saveLimits": "Lagre grenser",
|
||
"budgetOk": "Budsjett OK — {remaining} gjenstår",
|
||
"budgetExceeded": "Budsjettet overskredet – forespørsler kan bli blokkert",
|
||
"totalRequests": "Totalt antall forespørsler",
|
||
"noDataYet": "Ingen data ennå",
|
||
"latency": "Latens",
|
||
"latencyP50": "p50",
|
||
"latencyP95": "s95",
|
||
"latencyP99": "s99",
|
||
"promptCache": "Spør Cache",
|
||
"systemHealth": "Systemhelse",
|
||
"entries": "Oppføringer",
|
||
"activeCount": "{count} aktiv",
|
||
"openCircuitBreakersDetected": "Åpne strømbrytere oppdaget",
|
||
"hitRate": "Trefffrekvens",
|
||
"hitsMisses": "Treffer / savner",
|
||
"circuitBreakers": "Strømbrytere",
|
||
"lockedIPs": "Låste IP-er",
|
||
"lockoutsAutoRefreshHint": "Per-modell hastighetsgrense låser • Auto-refresh 10s",
|
||
"lockedCount": "{count, plural, one {# locked} other {# locked}}",
|
||
"timeLeft": "{time} igjen",
|
||
"howItWorks": "Hvordan det fungerer",
|
||
"howItWorksSubtitle": "Finn ut hvordan evalueringer validerer LLM-svarene dine",
|
||
"define": "Definer",
|
||
"defineStepDescription": "Opprett testtilfeller med inndatameldinger og forventede utdatakriterier ved å bruke strategier som inneholder, regulært uttrykk eller eksakt samsvar.",
|
||
"run": "Løp",
|
||
"runStepDescription": "Utfør testsaker mot LLM-endepunktene dine gjennom OmniRoute. Hver sak sendes som en ekte API-forespørsel.",
|
||
"evaluate": "Vurder",
|
||
"evaluateStepDescription": "Svar sammenlignes mot forventede kriterier. Se bestått/ikke bestått for hver sak med ventetid og detaljert tilbakemelding.",
|
||
"evalSuites": "Evalueringssuiter",
|
||
"evalSuitesHint": "Klikk på en suite for å se testtilfeller, og kjør deretter for å evaluere LLM-endepunktene dine",
|
||
"evalsLoading": "Laster inn eval suiter...",
|
||
"noEvalSuitesFound": "Ingen Eval-suiter funnet",
|
||
"noEvalSuitesDescription": "Eval-suiter kan defineres via API eller i kode. De tester modellutdata mot forventede resultater ved å bruke strategier som inneholder, regulært uttrykk, eksakt samsvar og tilpassede funksjoner.",
|
||
"columnCase": "Sak",
|
||
"columnStatus": "Status",
|
||
"columnLatency": "Latens",
|
||
"columnDetails": "Detaljer",
|
||
"columnModel": "Modell",
|
||
"columnStrategy": "Strategi",
|
||
"columnExpected": "Forventet",
|
||
"statsSuites": "Suiter",
|
||
"statsTestCases": "Testtilfeller",
|
||
"statsModels": "Modeller",
|
||
"statsCoverage": "Dekning",
|
||
"statsStrategiesCount": "{count} strategier",
|
||
"evaluationStrategies": "Evalueringsstrategier",
|
||
"modelsUnderTest": "Modeller under test",
|
||
"searchSuitesPlaceholder": "Søk etter suiter...",
|
||
"passSuffix": "pass",
|
||
"casesCount": "{count, plural, one {# case} other {# cases}}",
|
||
"runEval": "Kjør Eval",
|
||
"runningProgress": "Kjører {current}/{total}...",
|
||
"passRate": "bestått rate",
|
||
"summaryBreakdown": "{passed} bestått · {failed} mislyktes · {total} totalt",
|
||
"passedIconLabel": "✅ Bestått",
|
||
"failedIconLabel": "❌ Mislyktes",
|
||
"detailsContains": "Inneholder: \"{term}\"",
|
||
"detailsRegex": "Regex: {pattern}",
|
||
"detailsExpected": "Forventet: \"{expected}\"",
|
||
"noResultsYet": "Ingen resultater ennå",
|
||
"testCasesCount": "Testtilfeller ({count})",
|
||
"noTestCasesDefined": "Ingen testtilfeller definert",
|
||
"runEvalHint": "Klikk \"Run Eval\" for å utføre alle saker mot ditt LLM-endepunkt. Hver test sender en reell forespørsel gjennom OmniRoute.",
|
||
"notifyNoTestCases": "Ingen testtilfeller definert for denne suiten",
|
||
"notifyAllCasesPassed": "Alle {total} saker bestått ✅",
|
||
"notifySomeCasesFailed": "{passed}/{total} bestått, {failed} mislyktes",
|
||
"notifyEvalRunFailed": "Evalkjøring mislyktes",
|
||
"notifyEvalTitle": "Eval: {name}",
|
||
"modelEvals": "Modellvurderinger",
|
||
"evalsHeroDescription": "Test og valider LLM-endepunktene dine ved å kjøre forhåndsdefinerte evalueringspakker. Hver suite inneholder testtilfeller som sender reelle spørsmål gjennom OmniRoute og sammenligner svar med forventede kriterier – som hjelper deg med å oppdage regresjoner, sammenligne modeller og sikre svarkvalitet på tvers av leverandører.",
|
||
"qualityValidation": "Kvalitetsvalidering",
|
||
"modelComparison": "Modellsammenligning",
|
||
"regressionDetection": "Regresjonsdeteksjon",
|
||
"latencyBenchmarks": "Latency Benchmarks",
|
||
"modelLockouts": "Modellsperringer",
|
||
"noLockouts": "Ingen modeller er for øyeblikket låst",
|
||
"activeSessions": "Aktive økter",
|
||
"noSessions": "Ingen aktive økter",
|
||
"sessionsHint": "Økter vises når forespørsler flyter gjennom proxyen",
|
||
"sessionsTrackedHint": "Spores via forespørsel om fingeravtrykk • Auto-refresh 5s",
|
||
"session": "Sesjon",
|
||
"age": "Alder",
|
||
"requests": "Forespørsler",
|
||
"connection": "Tilkobling",
|
||
"durationMillisecondsShort": "{value}ms",
|
||
"durationSecondsShort": "{value}s",
|
||
"durationMinutesShort": "{value}m",
|
||
"durationHoursShort": "{value}t",
|
||
"reasonSeparator": " - ",
|
||
"notAvailableSymbol": "-",
|
||
"providerLimits": "Leverandørgrenser",
|
||
"noProviders": "Ingen leverandører tilkoblet",
|
||
"connectProvidersForQuota": "Koble til leverandører med OAuth for å spore API-kvotegrenser og bruk.",
|
||
"accountsCount": "{count, plural, one {# account} other {# accounts}}",
|
||
"filteredFromCount": "(filtrert fra {count})",
|
||
"autoRefresh": "Automatisk oppdatering",
|
||
"refreshAll": "Oppdater alle",
|
||
"loadingQuotas": "Laster inn...",
|
||
"account": "Konto",
|
||
"modelQuotas": "Modellkvoter",
|
||
"lastUsed": "Sist brukt",
|
||
"actions": "Handlinger",
|
||
"refreshQuota": "Oppdater kvote",
|
||
"today": "I dag",
|
||
"tomorrow": "I morgen",
|
||
"dayTimeFormat": "{day}, {time}",
|
||
"inDuration": "i {duration}",
|
||
"notApplicable": "N/A",
|
||
"rawPlanWithValue": "Rå plan: {plan}",
|
||
"noPlanFromProvider": "Ingen plan fra leverandøren",
|
||
"noQuotaData": "Ingen kvotedata",
|
||
"noQuotaDataAvailable": "Ingen kvotedata tilgjengelig",
|
||
"noAccountsForTierFilter": "Fant ingen kontoer for nivåfilter",
|
||
"tierAll": "Alle",
|
||
"tierEnterprise": "Enterprise",
|
||
"tierTeam": "Team",
|
||
"tierBusiness": "Business",
|
||
"tierUltra": "Ultra",
|
||
"tierPro": "Pro",
|
||
"tierPlus": "Pluss",
|
||
"tierFree": "Gratis",
|
||
"tierUnknown": "Ukjent"
|
||
},
|
||
"modals": {
|
||
"waitingAuth": "Venter på autorisasjon",
|
||
"verificationUrl": "Verifiserings-URL",
|
||
"yourCode": "Din kode",
|
||
"remoteAccess": "Fjerntilgang:",
|
||
"connectedSuccess": "Tilkoblet vellykket!",
|
||
"connectionFailed": "Tilkobling mislyktes",
|
||
"chooseAuthMethod": "Velg autentiseringsmetode:",
|
||
"awsBuilderId": "AWS Builder ID",
|
||
"awsIamIdentity": "AWS IAM Identity Center",
|
||
"googleAccount": "Google-konto",
|
||
"githubAccount": "GitHub-konto",
|
||
"importToken": "Importer token",
|
||
"pasteToken": "Lim inn oppdateringstoken fra Kiro IDE.",
|
||
"awsRegion": "AWS-regionen",
|
||
"autoDetecting": "Automatisk oppdager tokens...",
|
||
"readingFromCache": "Leser fra AWS SSO-cache",
|
||
"readingFromCursor": "Leser fra Cursor IDE-databasen",
|
||
"initializing": "Initialiserer...",
|
||
"pricingConfig": "Priskonfigurasjon",
|
||
"loadingPricing": "Laster inn prisdata ...",
|
||
"pricingRatesFormat": "Prisformat",
|
||
"noPricingData": "Ingen prisdata tilgjengelig",
|
||
"noModelsFound": "Ingen modeller funnet"
|
||
},
|
||
"loggers": {
|
||
"allProviders": "Alle leverandører",
|
||
"allModels": "Alle modeller",
|
||
"allAccounts": "Alle kontoer",
|
||
"allApiKeys": "Alle API-nøkler",
|
||
"allTypes": "Alle typer",
|
||
"allLevels": "Alle nivåer",
|
||
"modelAZ": "Modell A-Z",
|
||
"modelZA": "Modell Z-A",
|
||
"loadingLogs": "Laster inn logger...",
|
||
"loadingProxyLogs": "Laster inn proxy-logger ...",
|
||
"noLogEntries": "Ingen loggoppføringer funnet",
|
||
"noPayloadData": "Ingen nyttelastdata tilgjengelig for denne loggoppføringen.",
|
||
"proxyEvent": "Proxy-hendelse",
|
||
"proxy": "Fullmakt",
|
||
"level": "Nivå",
|
||
"directNative": "Direkte (innfødt)",
|
||
"combo": "Combo",
|
||
"inputTokens": "jeg:",
|
||
"outputTokens": "O:"
|
||
},
|
||
"stats": {
|
||
"usageOverview": "Bruksoversikt",
|
||
"outputTokens": "Output tokens",
|
||
"totalCost": "Total kostnad",
|
||
"usageByModel": "Bruk etter modell",
|
||
"usageByAccount": "Bruk etter konto",
|
||
"failedToLoad": "Kunne ikke laste inn bruksstatistikk.",
|
||
"tokenHealth": "Token Health",
|
||
"totalOAuth": "Totalt OAuth",
|
||
"healthy": "Sunn",
|
||
"warning": "Advarsel",
|
||
"errored": "Feil",
|
||
"lastCheck": "Siste sjekk",
|
||
"noData": "Ingen data",
|
||
"share": "Del",
|
||
"unableToLoad": "Kan ikke laste inn systemberegninger",
|
||
"product": "Produkt",
|
||
"resources": "Ressurser",
|
||
"company": "Selskapet"
|
||
},
|
||
"auth": {
|
||
"welcome": "Velkommen",
|
||
"signIn": "Logg på",
|
||
"enterPassword": "Skriv inn passordet ditt for å fortsette",
|
||
"password": "Passord",
|
||
"unifiedProxy": "Unified AI API Proxy",
|
||
"unifiedAiApiProxy": "Unified AI API Proxy",
|
||
"unifiedAiApiProxyDesc": "Rut forespørsler til flere AI-leverandører gjennom ett enkelt endepunkt. Lastbalansering, failover og brukssporing innebygd.",
|
||
"passwordNotEnabled": "Passordbeskyttelse er ikke aktivert",
|
||
"loading": "Laster inn...",
|
||
"invalidPassword": "Ugyldig passord",
|
||
"errorOccurredRetry": "Det oppsto en feil. Vennligst prøv igjen.",
|
||
"configureInstance": "La oss få konfigurert OmniRoute-forekomsten",
|
||
"runOnboardingWizard": "Kjør onboarding-veiviseren for å sette opp passordet ditt og koble til din første AI-leverandør.",
|
||
"startOnboarding": "Start onboarding",
|
||
"secureYourInstance": "Sikre din forekomst",
|
||
"setPasswordDescription": "Angi et passord for å beskytte dashbordet og sikre API-endepunktene dine mot uautorisert tilgang.",
|
||
"configurePassword": "Konfigurer passord",
|
||
"continue": "Fortsett",
|
||
"windowWillClose": "Dette vinduet lukkes automatisk...",
|
||
"closeTabNow": "Du kan lukke denne fanen nå.",
|
||
"copyUrlManual": "Vennligst kopier URL-en fra adressefeltet og lim den inn i applikasjonen.",
|
||
"accessDeniedDescription": "Du har ikke tillatelse til å få tilgang til denne ressursen. Sjekk API-nøkkelen din eller kontakt administratoren.",
|
||
"goToDashboard": "Gå til Dashboard",
|
||
"featureMultiProviderTitle": "Multileverandør",
|
||
"featureMultiProviderDesc": "OpenAI, Anthropic, Google og mer",
|
||
"featureLoadBalancingTitle": "Lastbalansering",
|
||
"featureLoadBalancingDesc": "Distribuer forespørsler intelligent",
|
||
"featureUsageTrackingTitle": "Brukssporing",
|
||
"featureUsageTrackingDesc": "Overvåk kostnader og tokens",
|
||
"resetPassword": "Tilbakestill passord",
|
||
"resetDescription": "Velg en metode for å gjenopprette tilgangen til dashbordet",
|
||
"stopServer": "Stopp OmniRoute-serveren",
|
||
"processing": "Behandler...",
|
||
"pleaseWait": "Vennligst vent mens vi fullfører autorisasjonen.",
|
||
"authSuccess": "Godkjenning vellykket!",
|
||
"copyUrl": "Kopier denne nettadressen",
|
||
"accessDenied": "Tilgang nektet",
|
||
"methodCliTitle": "Metode 1: CLI-tilbakestilling",
|
||
"methodCliDescription": "Kjør følgende kommando på serveren der OmniRoute kjører:",
|
||
"methodCliHint": "Dette vil be deg om å angi et nytt passord. Serveren må stoppes først.",
|
||
"methodManualTitle": "Metode 2: Manuell tilbakestilling",
|
||
"methodManualDescription": "Slett passordet fra databasen og sett et nytt ved oppstart:",
|
||
"setPasswordInYour": "Sett et nytt passord i din",
|
||
"fileLabelSuffix": "fil:",
|
||
"newPasswordPlaceholder": "ditt_nye_passord",
|
||
"deleteSettingsFile": "Slett",
|
||
"orRemovePasswordHashField": "eller fjern passordHash-feltet",
|
||
"restartServerWithNewPassword": "Start serveren på nytt - den vil bruke det nye passordet",
|
||
"backToLogin": "Tilbake til pålogging",
|
||
"forgotPassword": "Glemt passord?"
|
||
},
|
||
"landing": {
|
||
"brandName": "OmniRoute",
|
||
"navigateHome": "Naviger til hjem",
|
||
"toggleMenu": "Bytt meny",
|
||
"featuresLink": "Funksjoner",
|
||
"docsLink": "Dokumenter",
|
||
"github": "GitHub",
|
||
"versionLive": "v1.0 er nå live",
|
||
"oneEndpoint": "Ett endepunkt for",
|
||
"allProviders": "Alle AI-leverandører",
|
||
"heroDescription": "AI-endepunktproxy med web-dashboard - En JavaScript-port av CLIProxyAPI. Fungerer sømløst med Claude Code, OpenAI Codex, Cline, RooCode og andre CLI-verktøy.",
|
||
"getStarted": "Kom i gang",
|
||
"viewOnGithub": "Se på GitHub",
|
||
"powerfulFeatures": "Kraftige funksjoner",
|
||
"featuresSubtitle": "Alt du trenger for å administrere AI-infrastrukturen din på ett sted, bygget for skala.",
|
||
"featureUnifiedEndpointTitle": "Samlet endepunkt",
|
||
"featureUnifiedEndpointDesc": "Få tilgang til alle leverandører via en enkelt standard API-URL.",
|
||
"featureEasySetupTitle": "Enkelt oppsett",
|
||
"featureEasySetupDesc": "Kom i gang på få minutter med npx-kommandoen.",
|
||
"featureModelFallbackTitle": "Modell Fallback",
|
||
"featureModelFallbackDesc": "Bytt leverandør automatisk ved feil eller høy ventetid.",
|
||
"featureUsageTrackingTitle": "Brukssporing",
|
||
"featureUsageTrackingDesc": "Detaljert analyse og kostnadsovervåking på tvers av alle modeller.",
|
||
"featureOAuthApiKeysTitle": "OAuth- og API-nøkler",
|
||
"featureOAuthApiKeysDesc": "Administrer legitimasjon på en sikker måte i ett hvelv.",
|
||
"featureCloudSyncTitle": "Cloud Sync",
|
||
"featureCloudSyncDesc": "Synkroniser konfigurasjonene dine på tvers av enheter umiddelbart.",
|
||
"featureCliSupportTitle": "CLI-støtte",
|
||
"featureCliSupportDesc": "Fungerer med Claude Code, Codex, Cline, Cursor og mer.",
|
||
"featureDashboardTitle": "Dashbord",
|
||
"featureDashboardDesc": "Visuelt dashbord for trafikkanalyse i sanntid.",
|
||
"howItWorks": "Hvordan OmniRoute fungerer",
|
||
"howItWorksDescription": "Data flyter sømløst fra applikasjonen din gjennom vårt intelligente rutinglag til den beste leverandøren for jobben.",
|
||
"howItWorksStep1Title": "1. CLI og SDK-er",
|
||
"howItWorksStep1Description": "Forespørslene dine starter fra favorittverktøyene dine eller vår enhetlige SDK. Bare endre basis-URLen.",
|
||
"howItWorksStep2Title": "2. OmniRoute Hub",
|
||
"howItWorksStep2Description": "Motoren vår analyserer forespørselen, sjekker leverandørens helse og ruter for lavest ventetid eller kostnad.",
|
||
"howItWorksStep3Title": "3. AI-leverandører",
|
||
"howItWorksStep3Description": "Forespørselen oppfylles av OpenAI, Anthropic, Gemini eller andre umiddelbart.",
|
||
"getStartedIn30Seconds": "Kom i gang på 30 sekunder",
|
||
"getStartedDescription": "Installer OmniRoute, konfigurer leverandørene dine via nettdashbordet, og begynn å rute AI-forespørsler.",
|
||
"installOmniRoute": "Installer OmniRoute",
|
||
"installStepDescription": "Kjør npx-kommandoen for å starte serveren umiddelbart",
|
||
"openDashboard": "Åpne Dashboard",
|
||
"openDashboardStepDescription": "Konfigurer leverandører og API-nøkler via webgrensesnitt",
|
||
"routeRequests": "Ruteforespørsler",
|
||
"routeRequestsStepDescription": "Pek CLI-verktøyene dine til {endpoint}",
|
||
"terminal": "terminal",
|
||
"copy": "Kopier",
|
||
"copied": "✓ Kopiert",
|
||
"startingOmniRoute": "Starter OmniRoute...",
|
||
"serverRunningOnLabel": "Server kjører på",
|
||
"dashboardLabel": "Dashbord",
|
||
"readyToRoute": "Klar til rute! ✓",
|
||
"configureProvidersNote": "📝 Konfigurer leverandører i dashbordet eller bruk miljøvariabler",
|
||
"dataLocation": "Dataplassering:",
|
||
"dataLocationMacLinux": " macOS/Linux:",
|
||
"dataLocationWindows": " Windows:",
|
||
"product": "Produkt",
|
||
"dashboardLink": "Dashbord",
|
||
"changelog": "Endringslogg",
|
||
"resources": "Ressurser",
|
||
"documentation": "Dokumentasjon",
|
||
"npm": "NPM",
|
||
"legal": "Lovlig",
|
||
"mitLicense": "MIT-lisens",
|
||
"footerTagline": "Det enhetlige endepunktet for AI-generering. Koble til, rute og administrer AI-leverandørene dine på en enkel måte.",
|
||
"copyright": "© {year} OmniRoute. Alle rettigheter forbeholdt.",
|
||
"flowToolClaudeCode": "Claude Code",
|
||
"flowToolOpenAICodex": "OpenAI Codex",
|
||
"flowToolCline": "Cline",
|
||
"flowToolCursor": "Markør",
|
||
"flowProviderOpenAI": "OpenAI",
|
||
"flowProviderAnthropic": "Antropisk",
|
||
"flowProviderGemini": "Tvillingene",
|
||
"flowProviderGithubCopilot": "GitHub Copilot",
|
||
"interactiveDiagram": "Interaktivt diagram synlig på skrivebordet",
|
||
"ctaTitle": "Klar til å forenkle AI-infrastrukturen din?",
|
||
"ctaDescription": "Bli med utviklere som strømlinjeformer AI-integrasjonene sine med OmniRoute. Åpen kildekode og gratis å starte.",
|
||
"startFree": "Start gratis",
|
||
"readDocumentation": "Les dokumentasjon"
|
||
},
|
||
"docs": {
|
||
"title": "Dokumentasjon",
|
||
"quickStart": "Rask start",
|
||
"features": "Funksjoner",
|
||
"supportedProviders": "Støttede leverandører",
|
||
"supportedProvidersToc": "Leverandører",
|
||
"commonUseCases": "Vanlige brukstilfeller",
|
||
"clientCompatibility": "Klientkompatibilitet",
|
||
"protocolsToc": "Protocols",
|
||
"apiReference": "API-referanse",
|
||
"method": "Metode",
|
||
"path": "Sti",
|
||
"notes": "Notater",
|
||
"modelPrefixes": "Modellprefikser",
|
||
"prefix": "Prefiks",
|
||
"troubleshooting": "Feilsøking",
|
||
"supportsChat": "Støtter både chat- og svarendepunkter.",
|
||
"oauthAutoRefresh": "OAuth-tilkobling med automatisk tokenoppdatering.",
|
||
"fullStreaming": "Full streamingstøtte for alle modeller.",
|
||
"docsLabel": "Dokumenter",
|
||
"docsHeroDescription": "AI-gateway for LLM-er med flere leverandører. Ett endepunkt for OpenAI, Anthropic, Gemini, GitHub Copilot, Claude Code, Cursor og mer enn 20 leverandører.",
|
||
"openDashboard": "Åpne Dashboard",
|
||
"endpointPage": "Sluttpunktside",
|
||
"github": "GitHub",
|
||
"reportIssue": "Rapporter problem",
|
||
"onThisPage": "På denne siden",
|
||
"documentationVersion": "Dokumentasjon - v{version}",
|
||
"quickStartStep1Title": "1. Installer og kjør",
|
||
"quickStartStep1Prefix": "Løp",
|
||
"quickStartStep1Middle": "eller klone fra GitHub og kjøre",
|
||
"quickStartStep2Title": "2. Opprett API-nøkkel",
|
||
"quickStartStep2Text": "Gå til endepunkt -> Registrerte nøkler. Generer én nøkkel per miljø.",
|
||
"quickStartStep3Title": "3. Koble til leverandører",
|
||
"quickStartStep3Text": "Legg til leverandørkontoer via OAuth-pålogging, API-nøkkel eller gratis-lags automatisk tilkobling.",
|
||
"quickStartStep4Title": "4. Angi klientbase-URL",
|
||
"quickStartStep4Prefix": "Pek IDE- eller API-klienten din til",
|
||
"quickStartStep4Suffix": "Bruk for eksempel leverandørprefiks",
|
||
"featureRoutingTitle": "Ruting for flere leverandører",
|
||
"featureRoutingText": "Rut forespørsler til 30+ AI-leverandører gjennom ett enkelt OpenAI-kompatibelt endepunkt. Støtter chat, svar, lyd og bilde-APIer.",
|
||
"featureCombosTitle": "Kombinasjoner og balansering",
|
||
"featureCombosText": "Lag modellkombinasjoner med reservekjeder og balanseringsstrategier: round-robin, prioritet, tilfeldig, minst brukt og kostnadsoptimalisert.",
|
||
"featureUsageTitle": "Bruk og kostnadssporing",
|
||
"featureUsageText": "Sanntids-tokentelling, kostnadsberegning per leverandør/modell og detaljert bruksoppdeling etter API-nøkkel og konto.",
|
||
"featureAnalyticsTitle": "Analytics Dashboard",
|
||
"featureAnalyticsText": "Visuell analyse med diagrammer for forespørsler, tokens, feil, ventetid, kostnader og modellpopularitet over tid.",
|
||
"featureHealthTitle": "Helseovervåking",
|
||
"featureHealthText": "Live helsesjekker, leverandørstatus, strømbrytertilstander og automatisk hastighetsgrensedeteksjon med eksponentiell tilbakekobling.",
|
||
"featureCliTitle": "CLI-verktøy",
|
||
"featureCliText": "Administrer IDE-konfigurasjoner, eksporter/importer sikkerhetskopier, oppdag kodex-profiler og konfigurer innstillinger fra dashbordet.",
|
||
"featureSecurityTitle": "Sikkerhet og retningslinjer",
|
||
"featureSecurityText": "API-nøkkelautentisering, IP-filtrering, prompt-injeksjonsvakt, domenepolicyer, øktadministrasjon og revisjonslogging.",
|
||
"featureCloudSyncTitle": "Cloud Sync",
|
||
"featureCloudSyncText": "Synkroniser konfigurasjonen din med Cloudflare Workers for ekstern tilgang med kryptert legitimasjon og automatisk failover.",
|
||
"providersAcrossConnectionTypes": "{count}-leverandører på tvers av tre tilkoblingstyper.",
|
||
"manageProviders": "Administrer leverandører",
|
||
"providersCount": "{count} leverandører",
|
||
"providerTypeFree": "Gratis lag",
|
||
"providerTypeOAuth": "OAuth",
|
||
"providerTypeApiKey": "API-nøkkel",
|
||
"useCaseSingleEndpointTitle": "Enkelt endepunkt for mange leverandører",
|
||
"useCaseSingleEndpointText": "Pek klienter til én basis-URL og rute etter modellprefiks (for eksempel: gh/, cc/, kr/, openai/).",
|
||
"useCaseFallbackTitle": "Fallback og modellbytte med kombinasjoner",
|
||
"useCaseFallbackText": "Lag kombinasjonsmodeller i Dashboard og hold klientkonfigurasjonen stabil mens leverandørene roterer internt.",
|
||
"useCaseUsageVisibilityTitle": "Bruk, kostnader og feilsøkingssynlighet",
|
||
"useCaseUsageVisibilityText": "Spor tokens og kostnader etter leverandør, konto og API-nøkkel i fanene Bruk og Analytics.",
|
||
"clientCherryStudioTitle": "Cherry Studio",
|
||
"baseUrlLabel": "Base URL",
|
||
"chatEndpointLabel": "Chat-endepunkt",
|
||
"modelRecommendationLabel": "Modellanbefaling: eksplisitt prefiks",
|
||
"clientCodexTitle": "Codex / GitHub Copilot-modeller",
|
||
"clientCodexBullet1": "Bruk modell-ID-er med",
|
||
"clientCodexBullet2": "Codex-familiemodeller rutes automatisk til",
|
||
"clientCodexBullet3": "Ikke-Codex-modeller fortsetter",
|
||
"clientCursorTitle": "Markør IDE",
|
||
"clientCursorBullet1": "Bruk",
|
||
"clientCursorBullet1Suffix": "prefiks for Cursor-modeller.",
|
||
"clientCursorBullet2": "OAuth-tilkobling - logg på fra siden Leverandører.",
|
||
"clientClaudeTitle": "Claude Code / Antigravity",
|
||
"clientClaudeBullet1Prefix": "Bruk",
|
||
"clientClaudeBullet1Middle": "(Claude) eller",
|
||
"clientClaudeBullet1Suffix": "(Antigravity) prefiks.",
|
||
"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-kompatibelt chat-endepunkt (standard).",
|
||
"endpointResponsesNote": "Responses API-endepunkt (Codex, o-serien).",
|
||
"endpointModelsNote": "Modellkatalog for alle tilkoblede leverandører.",
|
||
"endpointAudioNote": "Lydtranskripsjon (Deepgram, AssemblyAI).",
|
||
"endpointImagesNote": "Bildegenerering (NanoBanana).",
|
||
"endpointRewriteChatNote": "Omskrivehjelper for klienter uten /v1.",
|
||
"endpointRewriteResponsesNote": "Omskriv hjelper for svar uten /v1.",
|
||
"endpointRewriteModelsNote": "Omskrivehjelper for modelloppdagelse uten /v1.",
|
||
"modelPrefixesDescriptionStart": "Bruk leverandørprefikset før modellnavnet for å rute til en bestemt leverandør. Eksempel:",
|
||
"modelPrefixesDescriptionEnd": "ruter til GitHub Copilot.",
|
||
"provider": "Leverandør",
|
||
"type": "Type",
|
||
"troubleshootingModelRouting": "Hvis klienten mislykkes med modellruting, bruk eksplisitt leverandør/modell (for eksempel: gh/gpt-5.1-codex).",
|
||
"troubleshootingAmbiguousModels": "Hvis du får tvetydige modellfeil, velger du et leverandørprefiks i stedet for en bare modell-ID.",
|
||
"troubleshootingCodexFamily": "For GitHub Codex-familiemodeller, behold modellen som gh/codex-model; ruteren velger /responser automatisk.",
|
||
"troubleshootingTestConnection": "Bruk Dashboard > Leverandører > Test tilkobling før du tester fra IDE-er eller eksterne klienter.",
|
||
"troubleshootingCircuitBreaker": "Hvis en leverandør viser at strømbryteren er åpen, vent på nedkjøling eller sjekk helsesiden for detaljer.",
|
||
"troubleshootingOAuth": "For OAuth-leverandører, autentiser på nytt hvis tokens utløper. Sjekk leverandørkortets statusindikator."
|
||
},
|
||
"legal": {
|
||
"privacyPolicy": "Personvernerklæring",
|
||
"termsOfService": "Vilkår for bruk",
|
||
"providerConfigurations": "Leverandørkonfigurasjoner",
|
||
"apiKeys": "API-nøkler",
|
||
"usageLogs": "Brukslogger",
|
||
"applicationSettings": "Applikasjonsinnstillinger",
|
||
"viewExportAnalytics": "Se og eksporter bruksanalyse",
|
||
"clearHistory": "Tøm brukshistorikken når som helst",
|
||
"configureRetention": "Konfigurer retningslinjer for loggoppbevaring",
|
||
"backupRestore": "Sikkerhetskopier og gjenopprett databasen",
|
||
"privacyMetadataTitle": "Personvernerklæring | OmniRoute",
|
||
"privacyMetadataDescription": "Personvernregler for OmniRoute AI API-proxy-ruteren.",
|
||
"termsMetadataTitle": "Vilkår for bruk | OmniRoute",
|
||
"termsMetadataDescription": "Vilkår for bruk for OmniRoute AI API-proxy-ruteren.",
|
||
"backToHome": "Tilbake til hjemmet",
|
||
"lastUpdated": "Sist oppdatert: {date}",
|
||
"policyLastUpdatedDate": "13. februar 2026",
|
||
"listSeparator": "-",
|
||
"questionsVisit": "Spørsmål? Besøk vår",
|
||
"githubRepository": "GitHub-depot",
|
||
"privacySection1Title": "1. Lokal-først arkitektur",
|
||
"privacySection1Text": "OmniRoute er designet som en lokal først-applikasjon. All databehandling og lagring skjer utelukkende på maskinen din. Det er ingen sentralisert server som samler inn informasjonen din.",
|
||
"privacySection2Title": "2. Data vi lagrer",
|
||
"privacyDataStoredIn": "Følgende data lagres lokalt i",
|
||
"privacyDataProviderConfigurationsDesc": "tilkoblings-URLer, leverandørtyper og prioritetsinnstillinger",
|
||
"privacyDataApiKeysDesc": "kryptert og lagret lokalt for autentisering med AI-leverandører",
|
||
"privacyDataUsageLogsDesc": "antall forespørsler, tokenbruk, modellnavn, tidsstempler og responstider",
|
||
"privacyDataApplicationSettingsDesc": "temapreferanser, rutingstrategi og kombinasjonskonfigurasjoner",
|
||
"privacySection3Title": "3. Ingen telemetri",
|
||
"privacySection3Text": "OmniRoute samler ikke inn telemetri, analyser eller krasjrapporter. Ingen data sendes til oss eller noen tredjepart. Dine bruksmønstre, API-kall og konfigurasjoner forblir helt private.",
|
||
"privacySection4Title": "4. Tredjeparts AI-leverandører",
|
||
"privacySection4Text": "Når du foretar API-anrop gjennom OmniRoute, blir forespørslene dine videresendt til AI-leverandørene du har konfigurert (for eksempel: OpenAI, Anthropic, Google). Disse leverandørene har sine egne retningslinjer for personvern som styrer hvordan de håndterer dataene dine. Vennligst se gjennom:",
|
||
"privacyOpenAiPolicy": "OpenAI personvernerklæring",
|
||
"privacyAnthropicPolicy": "Antropiske retningslinjer for personvern",
|
||
"privacyGooglePolicy": "Googles personvernregler",
|
||
"privacySection5Title": "5. Cloud Sync (valgfritt)",
|
||
"privacySection5Text": "Hvis du aktiverer den valgfrie skysynkroniseringsfunksjonen, kan leverandørkonfigurasjoner og API-nøkler overføres til et konfigurert skyendepunkt. Denne funksjonen er deaktivert som standard og krever eksplisitt opt-in.",
|
||
"privacySection6Title": "6. Logging",
|
||
"privacyLoggingIntro": "Forespørselslogger kan konfigureres gjennom dashbordinnstillingene. Du kan:",
|
||
"privacySection7Title": "7. Dine rettigheter",
|
||
"privacySection7TextStart": "Siden all data er lagret lokalt, har du full kontroll. Du kan slette dataene dine når som helst ved å fjerne",
|
||
"privacySection7TextEnd": "katalogen eller bruke funksjonene for sikkerhetskopiering og gjenoppretting av databasen i dashbordet.",
|
||
"termsSection1Title": "1. Oversikt",
|
||
"termsSection1Text": "OmniRoute er en lokal-første AI API-proxy-ruter som fungerer utelukkende på maskinen din. Den ruter forespørsler til flere AI-leverandører med lastbalansering, failover og brukssporing.",
|
||
"termsSection2Title": "2. Brukeransvar",
|
||
"termsResponsibilityApiKeys": "Du er alene ansvarlig for å administrere dine egne API-nøkler og legitimasjon for tredjeparts AI-leverandører (OpenAI, Anthropic, Google, etc.).",
|
||
"termsResponsibilityCompliance": "Du må overholde vilkårene for bruk for hver AI-leverandør hvis API du får tilgang til gjennom OmniRoute.",
|
||
"termsResponsibilitySecurity": "Du er ansvarlig for sikkerheten til din lokale OmniRoute-installasjon, inkludert å angi et passord og begrense nettverkstilgang.",
|
||
"termsSection3Title": "3. Hvordan det fungerer",
|
||
"termsSection3Text": "OmniRoute fungerer som en mellomfullmektig. API-anrop som sendes til OmniRoute, oversettes og videresendes til dine konfigurerte AI-leverandører. OmniRoute endrer ikke innholdet i dine forespørsler eller svar utover den nødvendige protokolloversettelsen.",
|
||
"termsSection4Title": "4. Datahåndtering",
|
||
"termsDataStoredLocally": "Alle data lagres lokalt på din maskin i en SQLite-database.",
|
||
"termsNoTransmission": "OmniRoute overfører ingen data til eksterne servere med mindre du eksplisitt aktiverer skysynkroniseringsfunksjoner.",
|
||
"termsDataLocationText": "Brukslogger, API-nøkler og konfigurasjon lagres i",
|
||
"termsSection5Title": "5. Ansvarsfraskrivelse",
|
||
"termsSection5Text": "OmniRoute leveres \"som den er\" uten garanti av noe slag. Vi er ikke ansvarlige for kostnader som påløper gjennom API-bruk, tjenesteavbrudd eller tap av data. Oppretthold alltid sikkerhetskopier av konfigurasjonen din.",
|
||
"termsSection6Title": "6. Åpen kildekode",
|
||
"termsSection6Text": "OmniRoute er åpen kildekode-programvare. Du står fritt til å inspisere, modifisere og distribuere den under lisensvilkårene."
|
||
}
|
||
}
|