mirror of
https://github.com/Nezumi-2711/9router.git
synced 2026-09-22 13:38:31 +00:00
* feat(model-select-modal): highlight added models and support bulk selection - Add addedModelValues prop to highlight already-added models with primary color - Sort models alphabetically per provider, with added models floated to top - Replace green highlight with primary brand color (orange #E56A4A) - Use check icon (10px) inline with model name instead of check_circle - Replace Done button with info bar explaining click-to-toggle behavior - Add ProviderIcon to provider group headers replacing colored dot - Import ProviderIcon, remove unused Button import * feat(cli-tools): wire addedModelValues, onDeselect, and auto-save to model select modals - Pass selectedModels as addedModelValues to ModelSelectModal in OpenCode and Copilot cards - Add onDeselect handler to remove model from list on second click - Set closeOnSelect=false to allow bulk model selection - Remove manual setModalOpen(false) from onSelect callbacks - Add saveModels() silent auto-save triggered on modal close (OpenCodeToolCard) - Use useRef to track latest selectedModels in closure-safe way * feat(modal): functional traffic light close button with hover icon and tooltip - Make red dot a clickable button that closes the modal - Show ✕ icon inside red dot on hover via group-hover opacity transition - Gray out yellow and green dots (cursor-not-allowed, no tooltip) - Increase dot size from w-3 h-3 to w-4 h-4 - Add Tooltip with brand-matched color #FF5F56 on red dot - Remove X close button from modal header * feat(tooltip): add color prop for themed tooltip backgrounds * feat(i18n): add translations for model select info bar and close tooltip - Add 'Click to add, click again to remove. Changes are saved automatically.' to all 32 locales - Add 'Close' translation to all 32 locales * fix(ui): address code review feedback on modal UX and auto-save - Modal: remove showCloseButton prop, use showTrafficLights for header condition, hide traffic lights on mobile (hidden md:flex), add mobile X button (md:hidden) with aria-label, add aria-label and title on traffic light close button - OpenCodeToolCard: validate activeModel membership before saving — fallback to models[0] or empty string; clear/reassign activeModel on deselect when removed model was the active one - CopilotToolCard: add useRef + selectedModelsRef, add saveModels() using /api/cli-tools/copilot-settings, wire auto-save on modal close - ModelSelectModal: fix JSX formatting — separate info bar closing div from Search comment onto its own line
193 lines
8.4 KiB
JSON
193 lines
8.4 KiB
JSON
{
|
|
"Cancel": "Avbryt",
|
|
"Delete": "Slett",
|
|
"Edit": "Rediger",
|
|
"Save": "Lagre",
|
|
"Close": "Lukk",
|
|
"Add": "Legg til",
|
|
"Remove": "Fjern",
|
|
"Settings": "Innstillinger",
|
|
"Profile": "Profil",
|
|
"Dashboard": "Kontrollpanel",
|
|
"Logout": "Logg ut",
|
|
"Login": "Logg inn",
|
|
"Providers": "Leverandører",
|
|
"Usage": "Bruksstatistikk",
|
|
"API Key": "API-nøkkel",
|
|
"Connected": "Tilkoblet",
|
|
"Disconnected": "Frakoblet",
|
|
"Active": "Aktiv",
|
|
"Inactive": "Inaktiv",
|
|
"Success": "Suksess",
|
|
"Failed": "Mislyktes",
|
|
"Error": "Feil",
|
|
"Warning": "Advarsel",
|
|
"Info": "Informasjon",
|
|
"Loading": "Laster",
|
|
"Search": "Søk",
|
|
"Filter": "Filter",
|
|
"Sort": "Sorter",
|
|
"Export": "Eksporter",
|
|
"Import": "Importer",
|
|
"Refresh": "Oppdater",
|
|
"Back": "Tilbake",
|
|
"Next": "Neste",
|
|
"Previous": "Forrige",
|
|
"Submit": "Send inn",
|
|
"Confirm": "Bekreft",
|
|
"Yes": "Ja",
|
|
"No": "Nei",
|
|
"OK": "OK",
|
|
"Apply": "Bruk",
|
|
"Reset": "Tilbakestill",
|
|
"Clear": "Tøm",
|
|
"Select": "Velg",
|
|
"Upload": "Last opp",
|
|
"Download": "Last ned",
|
|
"Copy": "Kopier",
|
|
"Paste": "Lim inn",
|
|
"Cut": "Klipp",
|
|
"Undo": "Angre",
|
|
"Redo": "Gjør på nytt",
|
|
"Name": "Navn",
|
|
"Description": "Beskrivelse",
|
|
"Status": "Status",
|
|
"Type": "Type",
|
|
"Date": "Dato",
|
|
"Time": "Tid",
|
|
"Created": "Opprettet",
|
|
"Updated": "Oppdatert",
|
|
"Actions": "Handlinger",
|
|
"Details": "Detaljer",
|
|
"View": "Vis",
|
|
"New": "Ny",
|
|
"Total": "Total",
|
|
"Count": "Antall",
|
|
"Price": "Pris",
|
|
"Cost": "Kostnad",
|
|
"Free": "Gratis",
|
|
"Paid": "Betalt",
|
|
"Enable": "Aktiver",
|
|
"Disable": "Deaktiver",
|
|
"Enabled": "Aktivert",
|
|
"Disabled": "Deaktivert",
|
|
"Online": "Pålogget",
|
|
"Offline": "Frakoblet",
|
|
"Available": "Tilgjengelig",
|
|
"Unavailable": "Utilgjengelig",
|
|
"Required": "Obligatorisk",
|
|
"Optional": "Valgfritt",
|
|
"Default": "Standard",
|
|
"Custom": "Tilpasset",
|
|
"Advanced": "Avansert",
|
|
"Basic": "Grunnleggende",
|
|
"Help": "Hjelp",
|
|
"Support": "Støtte",
|
|
"Documentation": "Dokumentasjon",
|
|
"Version": "Versjon",
|
|
"Language": "Språk",
|
|
"Theme": "Tema",
|
|
"Light": "Lys",
|
|
"Dark": "Mørk",
|
|
"Auto": "Automatisk",
|
|
"Endpoint": "Endepunkt",
|
|
"Combos": "Kombinasjoner",
|
|
"Quota Tracker": "Kvotasporer",
|
|
"MITM": "MITM",
|
|
"CLI Tools": "Verktøy",
|
|
"Console Log": "Konsollogg",
|
|
"System": "System",
|
|
"Debug": "Feilsøking",
|
|
"Shutdown": "Slå av",
|
|
"Close Proxy": "Lukk proxy",
|
|
"Are you sure you want to close the proxy server?": "Er du sikker på at du vil lukke proxyserveren?",
|
|
"Server Disconnected": "Server frakoblet",
|
|
"The proxy server has been stopped.": "Proxyserveren har blitt stoppet.",
|
|
"Reload Page": "Last inn siden på nytt",
|
|
"Service is running in terminal. You can close this web page. Shutdown will stop the service.": "Tjenesten kjører i terminalen. Du kan lukke denne nettsiden. Slå av vil stoppe tjenesten.",
|
|
"Manage your AI provider connections": "Administrer AI-leverandørforbindelsene dine",
|
|
"Model combos with fallback": "Modellkombinasjoner med fallback",
|
|
"Monitor your API usage, token consumption, and request logs": "Overvåk API-bruken, tokenforbruk og anmodningslogger",
|
|
"Intercept CLI tool traffic and route through 9Router": "Avlytting av CLI-verktøy trafikk og rute gjennom 9Router",
|
|
"Configure CLI tools": "Konfigurer CLI-verktøy",
|
|
"API endpoint configuration": "Konfiguration av API-endepunkt",
|
|
"Manage your preferences": "Administrer dine preferanser",
|
|
"Debug translation flow between formats": "Feilsøking av oversettelsesflyt mellom formater",
|
|
"Live server console output": "Direkte serverkonsolresultat",
|
|
"Create model combos with fallback support": "Opprett modellkombinasjoner med fallback-støtte",
|
|
"Local Mode": "Lokalt modus",
|
|
"Running on your machine": "Kjørende på maskinen din",
|
|
"Database Location": "Databaseplassering",
|
|
"Download Backup": "Last ned sikkerhetskopi",
|
|
"Import Backup": "Importer sikkerhetskopi",
|
|
"Database backup downloaded": "Databasesikkerhetskopi lastet ned",
|
|
"Database imported successfully": "Database importert med suksess",
|
|
"Security": "Sikkerhet",
|
|
"Require login": "Krev innlogging",
|
|
"When ON, dashboard requires password. When OFF, access without login.": "Når PÅ krever kontrollpanelet passord. Når AV, tilgang uten innlogging.",
|
|
"Current Password": "Gjeldende passord",
|
|
"Enter current password": "Skriv inn gjeldende passord",
|
|
"New Password": "Nytt passord",
|
|
"Enter new password": "Skriv inn nytt passord",
|
|
"Confirm New Password": "Bekreft nytt passord",
|
|
"Confirm new password": "Bekreft nytt passord",
|
|
"Update Password": "Oppdater passord",
|
|
"Set Password": "Angi passord",
|
|
"Password updated successfully": "Passord oppdatert med suksess",
|
|
"Passwords do not match": "Passordene samsvarer ikke",
|
|
"Routing Strategy": "Rutestrategi",
|
|
"Round Robin": "Runderobin",
|
|
"Cycle through accounts to distribute load": "Syklus gjennom kontoer for å distribuere belastning",
|
|
"Sticky Limit": "Klebrig grense",
|
|
"Calls per account before switching": "Anrop per konto før bytte",
|
|
"Network": "Nettverk",
|
|
"Outbound Proxy": "Utgående proxy",
|
|
"Enable proxy for OAuth + provider outbound requests.": "Aktiver proxy for OAuth + leverandør utgående forespørsler.",
|
|
"Proxy URL": "Proxy-URL",
|
|
"Leave empty to inherit existing env proxy (if any).": "La være tom for å arve eksisterende env-proxy (hvis noen).",
|
|
"No Proxy": "Ingen proxy",
|
|
"Comma-separated hostnames/domains to bypass the proxy.": "Kommaseparerte vertsnavner/domener for å omgå proxyen.",
|
|
"Test proxy URL": "Test proxy-URL",
|
|
"Proxy settings applied": "Proxyinnstillinger brukt",
|
|
"Proxy enabled": "Proxy aktivert",
|
|
"Proxy disabled": "Proxy deaktivert",
|
|
"Proxy test OK": "Proxytest OK",
|
|
"Proxy test failed": "Proxytest mislyktes",
|
|
"Please enter a Proxy URL to test": "Vennligst skriv inn en proxy-URL å teste",
|
|
"Observability": "Observerbarhet",
|
|
"Enable Observability": "Aktiver observerbarhet",
|
|
"Turn request detail recording on/off globally": "Slå detaljregistrering av forespørsel på/av globalt",
|
|
"Max Records": "Max-poster",
|
|
"Maximum request detail records to keep (older records are auto-deleted)": "Maksimum anmodningsdetaljposter å beholde (eldre poster blir automatisk slettet)",
|
|
"Batch Size": "Batch-størrelse",
|
|
"Number of items to accumulate before writing to database (higher = better performance)": "Antall elementer som skal akkumuleres før skriving til database (høyere = bedre ytelse)",
|
|
"Flush Interval (ms)": "Spylt intervall (ms)",
|
|
"Maximum time to wait before flushing buffer (prevents data loss during low traffic)": "Maksimal ventetid før spyling av buffer (forhindrer tap av data under lavt trafikk)",
|
|
"Max JSON Size (KB)": "Maks JSON-størrelse (KB)",
|
|
"Maximum size for each JSON field (request/response) before truncation": "Maksimal størrelse for hvert JSON-felt (forespørsel/svar) før avkutting",
|
|
"All data stored on your machine": "Alle data lagret på maskinen din",
|
|
"MITM Server": "MITM-server",
|
|
"Running": "Kjørende",
|
|
"Stopped": "Stoppet",
|
|
"Cert": "Sertifikat",
|
|
"Server": "Server",
|
|
"Purpose:": "Formål:",
|
|
"Use Antigravity IDE & GitHub Copilot → with ANY provider/model from 9Router": "Bruk Antigravity IDE & GitHub Copilot → med ENHVER leverandør/modell fra 9Router",
|
|
"How it works:": "Slik fungerer det:",
|
|
"Antigravity/Copilot IDE request → DNS redirect to localhost:443 → MITM proxy intercepts → 9Router → response to Antigravity/Copilot": "Antigravity/Copilot IDE-forespørsel → DNS-omdirigering til localhost:443 → MITM-proxy avlytt → 9Router → svar til Antigravity/Copilot",
|
|
"No API keys — create one in Keys page": "Ingen API-nøkler — lag en på Keys-siden",
|
|
"sk_9router (default)": "sk_9router (standard)",
|
|
"Server started": "Server startet",
|
|
"Failed to start server": "Klarte ikke å starte server",
|
|
"Server stopped — all DNS cleared": "Server stoppet — alle DNS ryddet",
|
|
"Failed to stop server": "Klarte ikke å stoppe server",
|
|
"Sudo password is required": "Sudo-passord er påkrevd",
|
|
"Stop Server": "Stopp server",
|
|
"Start Server": "Start server",
|
|
"Enable DNS per tool below to activate interception": "Aktiver DNS for hvert verktøy nedenfor for å aktivere avlytting",
|
|
"Sudo Password Required": "Sudo-passord påkrevd",
|
|
"Enter your sudo password to start/stop MITM server": "Skriv inn sudo-passordet ditt for å starte/stoppe MITM-server",
|
|
"Sudo Password": "Sudo-passord",
|
|
"Click to add, click again to remove. Changes are saved automatically.": "Klikk for å legge til, klikk igjen for å fjerne. Endringer lagres automatisk."
|
|
}
|