9router/public/i18n/literals/da.json
Rigel Ramadhani Waloni 1fd3132647
feat(ui): enhance model select modal UX and modal traffic lights (#1111)
* 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
2026-05-15 09:21:24 +07:00

192 lines
8.4 KiB
JSON

{
"Cancel": "Annuller",
"Delete": "Slet",
"Edit": "Rediger",
"Save": "Gem",
"Close": "Luk",
"Add": "Tilføj",
"Remove": "Fjern",
"Settings": "Indstillinger",
"Profile": "Profil",
"Dashboard": "Kontrolpanel",
"Logout": "Log ud",
"Login": "Log ind",
"Providers": "Udbydere",
"Usage": "Forbrugsstatistik",
"API Key": "API-nøgle",
"Connected": "Forbundet",
"Disconnected": "Afbrudt",
"Active": "Aktiv",
"Inactive": "Inaktiv",
"Success": "Succes",
"Failed": "Mislykket",
"Error": "Fejl",
"Warning": "Advarsel",
"Info": "Info",
"Loading": "Indlæser",
"Search": "Søg",
"Filter": "Filter",
"Sort": "Sorter",
"Export": "Eksporter",
"Import": "Importer",
"Refresh": "Opdater",
"Back": "Tilbage",
"Next": "Næste",
"Previous": "Forrige",
"Submit": "Indsend",
"Confirm": "Bekræft",
"Yes": "Ja",
"No": "Nej",
"OK": "OK",
"Apply": "Anvend",
"Reset": "Nulstil",
"Clear": "Ryd",
"Select": "Vælg",
"Upload": "Upload",
"Download": "Download",
"Copy": "Kopier",
"Paste": "Indsæt",
"Cut": "Klip",
"Undo": "Fortryd",
"Redo": "Gentag",
"Name": "Navn",
"Description": "Beskrivelse",
"Status": "Status",
"Type": "Type",
"Date": "Dato",
"Time": "Tid",
"Created": "Oprettet",
"Updated": "Opdateret",
"Actions": "Handlinger",
"Details": "Detaljer",
"View": "Vis",
"New": "Ny",
"Total": "Total",
"Count": "Antal",
"Price": "Pris",
"Cost": "Omkostning",
"Free": "Gratis",
"Paid": "Betalt",
"Enable": "Aktivér",
"Disable": "Deaktivér",
"Enabled": "Aktiveret",
"Disabled": "Deaktiveret",
"Online": "Online",
"Offline": "Offline",
"Available": "Tilgængelig",
"Unavailable": "Ikke tilgængelig",
"Required": "Påkrævet",
"Optional": "Valgfrit",
"Default": "Standard",
"Custom": "Brugerdefineret",
"Advanced": "Avanceret",
"Basic": "Grundlæggende",
"Help": "Hjælp",
"Support": "Support",
"Documentation": "Dokumentation",
"Version": "Version",
"Language": "Sprog",
"Theme": "Tema",
"Light": "Lys",
"Dark": "Mørk",
"Auto": "Automatisk",
"Endpoint": "Slutpunkt",
"Combos": "Kombinationer",
"Quota Tracker": "Kvotetracker",
"MITM": "MITM",
"CLI Tools": "Værktøjer",
"Console Log": "Konsollog",
"System": "System",
"Debug": "Debug",
"Shutdown": "Luk af",
"Close Proxy": "Luk proxy",
"Are you sure you want to close the proxy server?": "Er du sikker på, at du vil lukke proxyserveren?",
"Server Disconnected": "Server afbrudt",
"The proxy server has been stopped.": "Proxyserveren er blevet stoppet.",
"Reload Page": "Genindlæs siden",
"Service is running in terminal. You can close this web page. Shutdown will stop the service.": "Tjenesten kører i terminalen. Du kan lukke denne webside. Aflukning stopper tjenesten.",
"Manage your AI provider connections": "Administrer dine AI-udbyderforbindelser",
"Model combos with fallback": "Modelkombinationer med fallback",
"Monitor your API usage, token consumption, and request logs": "Overvåg dit API-forbrug, tokenforbrugning og anmodningslogger",
"Intercept CLI tool traffic and route through 9Router": "Aflyt CLI-værktøj trafikk og rute gennem 9Router",
"Configure CLI tools": "Konfigurer CLI-værktøjer",
"API endpoint configuration": "API-slutpunktkonfiguration",
"Manage your preferences": "Administrer dine præferencer",
"Debug translation flow between formats": "Debug oversættelsesflow mellem formater",
"Live server console output": "Live serverkonsoloutput",
"Create model combos with fallback support": "Opret modelkombinationer med fallback-understøttelse",
"Local Mode": "Lokalt tilstand",
"Running on your machine": "Kørende på din maskine",
"Database Location": "Databaseplacering",
"Download Backup": "Download sikkerhedskopi",
"Import Backup": "Importer sikkerhedskopi",
"Database backup downloaded": "Databasesikkerhedskopi downloadet",
"Database imported successfully": "Database importeret med succes",
"Security": "Sikkerhed",
"Require login": "Kræv login",
"When ON, dashboard requires password. When OFF, access without login.": "Når TIL kræves adgangskode på kontrolpanelet. Når FRA tillades adgang uden login.",
"Current Password": "Nuværende adgangskode",
"Enter current password": "Indtast nuværende adgangskode",
"New Password": "Ny adgangskode",
"Enter new password": "Indtast ny adgangskode",
"Confirm New Password": "Bekræft ny adgangskode",
"Confirm new password": "Bekræft ny adgangskode",
"Update Password": "Opdater adgangskode",
"Set Password": "Indstil adgangskode",
"Password updated successfully": "Adgangskode opdateret med succes",
"Passwords do not match": "Adgangskoderne stemmer ikke overens",
"Routing Strategy": "Rutestrategi",
"Round Robin": "Rundetabel",
"Cycle through accounts to distribute load": "Cyklus gennem konti for at distribuere belastningen",
"Sticky Limit": "Klæbrig grænse",
"Calls per account before switching": "Opkald pr. konto før skift",
"Network": "Netværk",
"Outbound Proxy": "Udgående proxy",
"Enable proxy for OAuth + provider outbound requests.": "Aktivér proxy til OAuth + udbyder udgående anmodninger.",
"Proxy URL": "Proxy-URL",
"Leave empty to inherit existing env proxy (if any).": "Lad være tomt for at nedarve eksisterende env-proxy (hvis nogen).",
"No Proxy": "Ingen proxy",
"Comma-separated hostnames/domains to bypass the proxy.": "Kommaseparerede værtsnavne/domæner for at omgå proxyen.",
"Test proxy URL": "Test proxy-URL",
"Proxy settings applied": "Proxyindstillinger anvendt",
"Proxy enabled": "Proxy aktiveret",
"Proxy disabled": "Proxy deaktiveret",
"Proxy test OK": "Proxy-test OK",
"Proxy test failed": "Proxy-test mislykket",
"Please enter a Proxy URL to test": "Indtast en proxy-URL til test",
"Observability": "Observerbarhed",
"Enable Observability": "Aktivér observerbarhed",
"Turn request detail recording on/off globally": "Slå anmodningsdetaljeoptagelse til/fra globalt",
"Max Records": "Max-poster",
"Maximum request detail records to keep (older records are auto-deleted)": "Maksimum anmodningsdetaljeposter at beholde (ældre poster bliver automatisk slettet)",
"Batch Size": "Batch-størrelse",
"Number of items to accumulate before writing to database (higher = better performance)": "Antal elementer der skal akkumuleres før skrivning til database (højere = bedre ydeevne)",
"Flush Interval (ms)": "Flush-interval (ms)",
"Maximum time to wait before flushing buffer (prevents data loss during low traffic)": "Maksimal ventetid før bufferrensing (forhindrer datatab ved lavt trafikk)",
"Max JSON Size (KB)": "Max JSON-størrelse (KB)",
"Maximum size for each JSON field (request/response) before truncation": "Maksimal størrelse for hvert JSON-felt (anmodning/svar) før afkortning",
"All data stored on your machine": "Alle data lagret på din maskine",
"MITM Server": "MITM-server",
"Running": "Kørende",
"Stopped": "Stoppet",
"Cert": "Certifikat",
"Server": "Server",
"Purpose:": "Formål:",
"Use Antigravity IDE & GitHub Copilot → with ANY provider/model from 9Router": "Brug Antigravity IDE & GitHub Copilot → med ENHVER udbyder/model fra 9Router",
"How it works:": "Sådan virker det:",
"Antigravity/Copilot IDE request → DNS redirect to localhost:443 → MITM proxy intercepts → 9Router → response to Antigravity/Copilot": "Antigravity/Copilot IDE-anmodning → DNS-omdirigering til localhost:443 → MITM-proxy aflytter → 9Router → svar til Antigravity/Copilot",
"No API keys — create one in Keys page": "Ingen API-nøgler — opret en på Keys-siden",
"sk_9router (default)": "sk_9router (standard)",
"Server started": "Server startet",
"Failed to start server": "Fejl ved start af server",
"Server stopped — all DNS cleared": "Server stoppet — alle DNS slettet",
"Failed to stop server": "Fejl ved stopning af server",
"Sudo password is required": "Sudo-adgangskode er påkrævet",
"Stop Server": "Stop server",
"Start Server": "Start server",
"Enable DNS per tool below to activate interception": "Aktivér DNS for hvert værktøj nedenfor for at aktivere aflytning",
"Sudo Password Required": "Sudo-adgangskode påkrævet",
"Enter your sudo password to start/stop MITM server": "Indtast din sudo-adgangskode for at starte/stoppe MITM-server",
"Sudo Password": "Sudo-adgangskode",
"Click to add, click again to remove. Changes are saved automatically.": "Klik for at tilføje, klik igen for at fjerne. Ændringer gemmes automatisk."
}