cmux/web/messages/no.json
Lawrence Chen 84af32c56e
Add cmux omo command for oh-my-openagent integration (#2087)
* Add `cmux omo` command for OpenCode + oh-my-openagent integration

Same pattern as `cmux claude-teams`: creates a tmux shim so
oh-my-openagent's TmuxSessionManager spawns agents as native cmux
splits instead of tmux panes. Sets TMUX/TMUX_PANE env vars, prepends
shim to PATH, and execs into opencode.

Closes https://github.com/manaflow-ai/cmux/issues/2085

* Auto-install oh-my-opencode plugin when running cmux omo

Before launching opencode, cmux omo now:
- Checks if oh-my-opencode is registered in ~/.config/opencode/opencode.json
- If not, creates/updates the config with the plugin entry
- Checks if the npm package is installed in node_modules
- If not, runs bun add (or npm install) to install it
- Then proceeds with tmux shim setup and exec

* Use shadow config dir to avoid modifying user's opencode setup

Instead of writing directly to ~/.config/opencode/opencode.json,
cmux omo now creates a shadow config at ~/.cmuxterm/omo-config/ that
layers oh-my-opencode on top of the user's existing config. Symlinks
node_modules, package.json, bun.lock, and plugin config from the
original dir. Sets OPENCODE_CONFIG_DIR to the shadow directory.

Running plain `opencode` remains unaffected.

* Add Agent Integrations docs section with Claude Code Teams and oh-my-opencode pages

Adds sectioned sidebar navigation to the docs site. The new Agent
Integrations section contains separate pages for cmux claude-teams and
cmux omo, documenting usage, tmux shim mechanics, directory layout,
environment variables, and the shadow config approach. Both pages
include a nightly-only warning. Full English and Japanese translations,
nav item keys added to all 19 locales.

* Remove uppercase from sidebar section headers

* Add more spacing above and below sidebar section headers

* Enable tmux mode in oh-my-opencode config, improve docs

- cmux omo now writes tmux.enabled=true to the shadow oh-my-opencode.json
  config. Without this, oh-my-openagent's TmuxSessionManager won't spawn
  visual panes even though $TMUX is set (the config defaults to false).
- Nightly warnings now link to /nightly instead of generic text.
- Added "What you get" section to oh-my-opencode docs explaining the
  visual pane behavior (auto-layout, idle cleanup, queueing).
- Added tmux.enabled step to first-run and how-it-works sections.

* Add terminal-notifier shim to route oh-my-openagent notifications to cmux

oh-my-openagent sends macOS notifications via terminal-notifier
(args: -title <t> -message <m> [-activate <id>]). The shim in
~/.cmuxterm/omo-bin/terminal-notifier intercepts these calls and
routes them through cmux notify, so notifications appear in cmux's
sidebar panel instead of as raw macOS notifications.

* Add pane geometry to tmux-compat for oh-my-openagent grid planning

oh-my-openagent's TmuxSessionManager needs pane geometry (columns,
rows, position, window dimensions) to decide where to spawn agent
panes. Without this data, agents run headlessly.

Server side:
- pane.list v2 response now includes pixel_frame, cell_size, columns,
  rows per pane, plus container_frame at the top level
- Uses BonsplitController.layoutSnapshot() for pixel geometry and
  ghostty_surface_size() for terminal grid dimensions

CLI side:
- tmuxEnrichContextWithGeometry() computes character-cell positions
  from pixel frames and cell dimensions for tmux format variables
  (pane_width, pane_height, pane_left, pane_top, pane_active,
  window_width, window_height)
- list-panes now resolves pane targets (%uuid) via tmuxResolvePaneTarget
  instead of failing with "Workspace not found"
- display-message enriched with geometry for format strings like
  #{pane_width},#{window_width}
- tmux -V now returns "tmux 3.4" (needed by oh-my-openagent's
  tmux-path-resolver verification)

* Add socket tests for tmux-compat pane geometry

6 tests verifying the geometry enrichment works end-to-end:
- pane.list returns pixel_frame, columns, rows, cell_size, container_frame
- tmux -V returns version string
- list-panes -F renders geometry format variables as integers
- list-panes -t %<uuid> resolves pane targets
- display -p renders pane_width and window_width
- After split, two panes have different positions and halved widths

All 6 pass on macmini (cmux-macmini).

* Handle tmux -V in shim script directly (no socket needed)

oh-my-openagent's tmux-path-resolver runs tmux -V to verify the binary
works. The __tmux-compat handler requires a socket connection, which
may not be established at verification time. Handle -V in the bash
shim directly to avoid the socket dependency.

* Lower default tmux pane min widths for cmux omo

oh-my-openagent defaults: main_pane_min_width=120, agent_pane_min_width=40,
requiring 161+ columns. Most terminal windows are narrower, causing
decideSpawnActions to return canSpawn=false and defer agents forever.

cmux omo now sets: main_pane_min_width=60, agent_pane_min_width=30,
main_pane_size=50, requiring only 91 columns. Also moved tmux -V
handling into the bash shim to avoid needing a socket connection for
the version check.

* Resolve merge conflicts with main (main-vertical layout, focus param)

- Keep upstream main-vertical layout anchoring from #2119
- Keep upstream focus param (v2Bool) instead of no_focus
- Combine with our -d flag handling: -d sets focus=false
- Include customCommands nav item from main

* Implement select-layout equalize and resize-pane absolute width

When oh-my-openagent spawns agent panes, it calls select-layout
main-vertical after each split to redistribute panes evenly, then
resize-pane -x <columns> to set the main pane width. Both were
previously no-ops, causing cascading uneven splits.

Server side:
- Add workspace.equalize_splits v2 API that calls the existing
  TabManager.equalizeSplits (sets all dividers to 0.5)

CLI side:
- select-layout now calls workspace.equalize_splits before tracking
  main-vertical state
- resize-pane -x <columns> without directional flags now computes
  the pixel delta from current to desired width and resizes accordingly

* Fix equalize to use proportional divider positions

The previous equalize set all dividers to 0.5, which in a right-
recursive binary tree (from successive splits) gives 50/25/12.5/6.25%
instead of equal sizes.

New algorithm counts leaf panes on each side of each split and sets
the divider to N_left / (N_left + N_right). For 5 panes in a chain:
1/5, 1/4, 1/3, 1/2, giving each pane exactly 20%.

* Fix select-layout main-vertical to only equalize vertical splits

The proportional equalize was treating the top-level horizontal split
(main vs agent column) the same as vertical splits, setting the main
pane to 1/6 of the window with 5 agents.

For main-vertical layout, only equalize vertical splits (the agent
column), leaving the horizontal main/agent divider untouched. The
subsequent resize-pane -x handles the main pane width.

workspace.equalize_splits now accepts an optional orientation filter
("vertical" or "horizontal") to scope which splits get equalized.

* Re-equalize agent column after kill-pane

* Address PR review comments

- Fix cmux omo --help: remove omo from the help-bypass guard so
  --help shows usage text instead of trying to launch opencode
- Don't overwrite unreadable opencode.json: fail with an error
  instead of silently resetting to empty config
- Drain installer pipes concurrently before waitUntilExit to
  prevent deadlock from full pipe buffers during bun/npm install

---------

Co-authored-by: Lawrence Chen <lawrencecchen@users.noreply.github.com>
2026-03-26 16:07:59 -07:00

670 lines
45 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"meta": {
"title": "cmux — Terminalen bygget for multitasking",
"description": "Nativ macOS-terminal bygget på Ghostty. Fungerer med Claude Code, Codex, OpenCode, Gemini CLI, Kiro, Aider og ethvert CLI-verktøy. Vertikale faner, varselsringer, delte paneler og en socket-API.",
"ogDescription": "Nativ macOS-terminal for AI-kodingsagenter. Fungerer med Claude Code, Codex, OpenCode, Gemini CLI, Kiro, Aider og ethvert CLI-verktøy."
},
"common": {
"downloadForMac": "Last ned for Mac",
"viewOnGitHub": "Se på GitHub",
"closeMenu": "Lukk meny",
"openMenu": "Åpne meny",
"toggleTheme": "Bytt tema",
"backToBlog": "Tilbake til bloggen",
"readTheDocs": "Les dokumentasjonen",
"viewChangelog": "Se endringslogg"
},
"nav": {
"docs": "Dokumentasjon",
"blog": "Blogg",
"changelog": "Endringslogg",
"community": "Fellesskap",
"github": "GitHub"
},
"footer": {
"product": "Produkt",
"resources": "Ressurser",
"legal": "Juridisk",
"social": "Sosiale medier",
"blog": "Blogg",
"community": "Fellesskap",
"docs": "Dokumentasjon",
"changelog": "Endringslogg",
"privacy": "Personvern",
"terms": "Vilkår",
"eula": "EULA",
"github": "GitHub",
"twitter": "X / Twitter",
"discord": "Discord",
"contact": "Kontakt",
"nightly": "Nightly",
"copyright": "© {year} Manaflow",
"language": "Språk"
},
"home": {
"taglinePrefix": "Terminalen bygget for ",
"typingCodingAgents": "kodeagenter",
"typingMultitasking": "multitasking",
"subtitle": "Nativ macOS-app bygget på Ghostty. Vertikale faner, varselsringer når agenter trenger oppmerksomhet, delte paneler og en socket-API for automatisering.",
"features": "Funksjoner",
"faq": "Vanlige spørsmål",
"communitySection": "Fellesskap",
"feature": {
"verticalTabs": "Vertikale faner",
"verticalTabsDesc": ": sidefeltet viser git-gren, arbeidskatalog, porter og varseltekst",
"notificationRings": "Varselsringer",
"notificationRingsDesc": ": paneler lyser opp når agenter trenger oppmerksomhet",
"inAppBrowser": "Innebygd nettleser",
"inAppBrowserDesc": ": del en nettleser ved siden av terminalen med et skriptbart API",
"splitPanes": "Delte paneler",
"splitPanesDesc": ": horisontale og vertikale delinger innenfor hver fane",
"scriptable": "Skriptbar",
"scriptableDesc": ": CLI og socket-API for automatisering og skripting",
"gpuAccelerated": "GPU-akselerert",
"gpuAcceleratedDesc": ": drevet av libghostty for jevn gjengivelse",
"lightweight": "Lettvekts",
"lightweightDesc": ": nativ Swift + AppKit, ingen Electron",
"keyboardShortcuts": "Tastatursnarveier",
"keyboardShortcutsDesc": ": <link>omfattende snarveier</link> for arbeidsområder, delinger, nettleser og mer"
},
"faqGhosttyQ": "Hva er forholdet mellom cmux og Ghostty?",
"faqGhosttyA": "cmux er ikke en fork av Ghostty. Den bruker <link>libghostty</link> som et bibliotek for terminalgjengivelse, på samme måte som apper bruker WebKit for nettvisninger. Ghostty er en frittstående terminal; cmux er en annen app bygget på toppen av gjengivelsesmotoren.",
"faqPlatformQ": "Hvilke plattformer støttes?",
"faqPlatformA": "Bare macOS, foreløpig. cmux er en nativ Swift + AppKit-app.",
"faqAgentsQ": "Hvilke kodeagenter fungerer cmux med?",
"faqAgentsA": "Alle. cmux er en terminal, så enhver agent som kjører i en terminal fungerer med en gang: Claude Code, Codex, OpenCode, Gemini CLI, Kiro, Aider, Goose, Amp, Cline, Cursor Agent og alt annet du kan starte fra kommandolinjen.",
"faqNotificationsQ": "Hvordan fungerer varsler?",
"faqNotificationsA": "Når en prosess trenger oppmerksomhet, viser cmux varselsringer rundt paneler, uleste merker i sidefeltet, en varselspopover og et macOS-skrivebordvarsel. Disse utløses automatisk via standard terminal-escape-sekvenser (OSC 9/99/777), eller du kan utløse dem med <cliLink>cmux CLI</cliLink> og <hooksLink>Claude Code hooks</hooksLink>.",
"faqShortcutsQ": "Kan jeg tilpasse tastatursnarveier?",
"faqShortcutsA": "Terminaltastebindinger leses fra Ghostty-konfigurasjonsfilen din (<configPath>~/.config/ghostty/config</configPath>). cmux-spesifikke snarveier (arbeidsområder, delinger, nettleser, varsler) kan tilpasses i Innstillinger. Se <link>standardsnarveiene</link> for en komplett liste.",
"faqTmuxQ": "Hvordan sammenligner det seg med tmux?",
"faqTmuxA": "tmux er en terminalmultiplekser som kjører inne i en hvilken som helst terminal. cmux er en nativ macOS-app med et GUI: vertikale faner, delte paneler, en innebygd nettleser og et socket-API er alle innebygd. Ingen konfigurasjonsfiler eller prefikstaster nødvendig.",
"faqFreeQ": "Er cmux gratis?",
"faqFreeA": "Ja, cmux er gratis å bruke. Kildekoden er tilgjengelig på <link>GitHub</link>."
},
"community": {
"title": "Fellesskap",
"description": "Ta kontakt med andre cmux-brukere og teamet bak det.",
"discord": "Discord",
"discordAction": "Bli med i vår Discord",
"discordDesc": "Chat med fellesskapet, få hjelp og del tilbakemeldinger",
"githubAction": "Se på GitHub",
"githubDesc": "Gi repoen en stjerne, rapporter problemer og bidra",
"twitter": "Twitter",
"twitterAction": "Følg på X",
"twitterDesc": "Oppdateringer, kunngjøringer og tips",
"youtube": "YouTube",
"youtubeAction": "Abonner",
"youtubeDesc": "Demoer, veiledninger og gjennomganger",
"linkedin": "LinkedIn",
"linkedinAction": "Følg oss",
"linkedinDesc": "Bedriftsnyheter og tekniske oppdateringer",
"metaTitle": "Fellesskap — cmux",
"metaDescription": "Bli med i cmux-fellesskapet på Discord, Twitter, GitHub og mer"
},
"blog": {
"title": "Blogg",
"layoutTitle": "cmux blog",
"metaTitle": "Blogg",
"metaDescription": "Nyheter og oppdateringer fra cmux-teamet",
"description": "Nyheter og oppdateringer fra cmux-teamet",
"posts": {
"cmdShiftU": {
"title": "Cmd+Shift+U",
"summary": "Hvordan Cmd+Shift+U navigerer mellom ferdige agenter på tvers av arbeidsområder i cmux.",
"date": "4. mars 2026",
"p1": "Min favorittfunksjon i cmux er Cmd+Shift+U. Jeg har 17 arbeidsområder åpne akkurat nå, hver kjører en agent. Jeg pleide å klikke gjennom faner og varselpanelet for å finne ut hva som var ferdig. Å skrive er raskere.",
"p2": "Cmd+Shift+U hopper til det nyeste uleste <link>varselet</link>. I praksis betyr det den siste agenten som ble ferdig. Den bytter til riktig arbeidsområde, fokuserer det nøyaktige panelet, blinker det slik at du ser hvor du skal se, og markerer det som lest. Hvis varselet kom fra et annet vindu, kommer det vinduet frem."
},
"zenOfCmux": {
"title": "cmux sin Zen",
"summary": "cmux er en primitiv, ikke en løsning. Den gir deg komponerbare deler, og arbeidsflyten er opp til deg.",
"date": "27. februar 2026",
"p1": "cmux dikterer ikke hvordan utviklere bruker verktøyene sine. Det er en terminal og nettleser med en CLI, og resten er opp til deg.",
"p2": "cmux er en primitiv, ikke en løsning. Den gir deg en terminal, en nettleser, varsler, arbeidsområder, delinger, faner og en CLI for å kontrollere alt. cmux tvinger deg ikke inn i en bestemt måte å bruke kodeagenter på. Det du bygger med primitivene er ditt.",
"p3": "De beste utviklerne har alltid bygget sine egne verktøy. Ingen har funnet ut den beste måten å jobbe med agenter på ennå, og teamene som bygger lukkede produkter har definitivt ikke gjort det heller. Utviklerne som er nærmest sine egne kodebaser vil finne det ut først.",
"p4": "Gi en million utviklere komponerbare primitiver, og de vil kollektivt finne de mest effektive arbeidsflytene raskere enn noe produktteam kunne designe ovenfra og ned."
},
"showHnLaunch": {
"title": "Lansering av cmux på Show HN",
"summary": "cmux nådde #2 på Hacker News, ble delt av Mitchell Hashimoto og gikk viralt i Japan.",
"date": "21. februar 2026",
"intro": "Vi publiserte cmux på <link>Show HN</link> den 19. februar:",
"blockquote1": "Jeg kjører mange Claude Code- og Codex-økter parallelt. Jeg brukte Ghostty med en haug med delte paneler og stolte på native macOS-varsler for å vite når en agent trengte meg. Men Claude Code sitt varselinnhold er alltid bare \"Claude is waiting for your input\" uten kontekst, og med nok åpne faner kunne jeg ikke engang lese titlene lenger.",
"blockquote2": "Jeg prøvde noen kodeorkestratorer, men de fleste var Electron/Tauri-apper og ytelsen plaget meg. Jeg foretrekker også bare terminalen siden GUI-orkestratorer låser deg inn i arbeidsflyten deres. Så jeg bygget cmux som en nativ macOS-app i Swift/AppKit. Den bruker libghostty for terminalgjengivelse og leser din eksisterende Ghostty-konfigurasjon for temaer, fonter, farger og mer.",
"blockquote3": "Hovedtilleggene er sidefeltet og varselsystemet. Sidefeltet har vertikale faner som viser git-gren, arbeidskatalog, lyttende porter og den nyeste varselteksten for hvert arbeidsområde. Varselsystemet fanger opp terminalsekvenser (OSC 9/99/777) og har en CLI (cmux notify) du kan koble til agentkroker for Claude Code, OpenCode, osv. Når en agent venter, får panelet en blå ring og fanen lyser opp i sidefeltet, slik at jeg kan se hvilken som trenger meg på tvers av delinger og faner. Cmd+Shift+U hopper til den nyeste uleste.",
"blockquote4": "Den innebygde nettleseren har et skriptbart API. Agenter kan ta et øyeblikksbilde av tilgjengelighetstreet, hente elementreferanser, klikke, fylle ut skjemaer, kjøre JS og lese konsollmeldinger. Du kan dele et nettleserpanel ved siden av terminalen og la Claude Code samhandle direkte med utviklingsserveren din.",
"blockquote5": "Alt er skriptbart gjennom CLI og socket-API: opprette arbeidsområder/faner, dele paneler, sende tastetrykk, åpne URL-er i nettleseren.",
"hitNumber2": "På det meste nådde den #2 på Hacker News. Mitchell Hashimoto delte den:",
"favoriteComment": "Min favorittkommentar fra <link>HN-tråden</link>:",
"viralJapan": "Overraskende nok gikk cmux viralt i Japan:",
"translation": "Oversettelse: \"Dette ser bra ut. En Ghostty-basert terminalapp designet slik at du ikke går deg vill når du kjører flere CLI-er som Claude Code parallelt. Panelet som venter på inndata får en blå ramme, og den har sitt eget varselsystem.\"",
"viralChina": "Og semi-viralt i Kina:",
"extensions": "En annen spennende ting var å se folk bygge på toppen av cmux CLI. sasha bygget en pi-cmux-utvidelse som viser modellinformasjon, tokenbruk og agentstatus i sidefeltet:",
"scriptable": "Alt i cmux er skriptbart gjennom CLI: opprette arbeidsområder, sende tastetrykk, kontrollere nettleseren, lese varsler. En del av cmux-filosofien er å være programmerbar og komponerbar, slik at folk kan tilpasse måten de jobber med kodeagenter på. State of the art for kodeagenter endrer seg raskt, og du vil ikke bli låst inn i en ufleksibel GUI-orkestrator som ikke kan holde følge.",
"cta": "Hvis du kjører flere kodeagenter, <link>prøv cmux</link>."
},
"introducingCmux": {
"title": "Vi introduserer cmux",
"summary": "En nativ macOS-terminal bygget på Ghostty, designet for å kjøre flere AI-kodeagenter side om side.",
"date": "12. februar 2026",
"p1": "cmux er en nativ macOS-terminalapplikasjon bygget på toppen av Ghostty, designet fra bunnen av for utviklere som kjører flere AI-kodeagenter samtidig.",
"whyTitle": "Hvorfor cmux?",
"whyP": "Moderne utviklingsarbeidsflyter involverer ofte å kjøre flere agenter samtidig. Claude Code, Codex og andre verktøy, hver i sin egen terminal. Å holde oversikt over hvilke som trenger oppmerksomhet og raskt bytte mellom dem er problemet cmux løser.",
"featuresTitle": "Nøkkelfunksjoner",
"getStartedTitle": "Kom i gang",
"getStartedP": "Installer cmux via Homebrew eller last ned DMG-filen fra <link>kom i gang-guiden</link>.",
"featureVerticalTabsLabel": "Vertikale faner",
"featureVerticalTabsDesc": "se alle terminalene dine på et øyeblikk i sidefeltet",
"featureNotificationsLabel": "Varselsringer",
"featureNotificationsDesc": "faner blinker når en agent trenger inndata",
"featureSplitPanesLabel": "Delte paneler",
"featureSplitPanesDesc": "horisontale og vertikale delinger innenfor hvert arbeidsområde",
"featureSocketApiLabel": "Socket-API",
"featureSocketApiDesc": "programmatisk kontroll for å opprette faner og sende inndata",
"featureGpuLabel": "GPU-akselerert",
"featureGpuDesc": "drevet av libghostty for jevn gjengivelse"
}
},
"zenOfCmux": {
"metaTitle": "Zen i cmux",
"metaDescription": "cmux er en primitiv, ikke en løsning. Det gir deg komponerbare deler, og arbeidsflyten er opp til deg."
},
"cmdShiftU": {
"metaTitle": "Cmd+Shift+U",
"metaDescription": "Den nye tastatursnarveien som endrer hvordan du samhandler med cmux."
},
"showHnLaunch": {
"metaTitle": "Lansering av cmux på Show HN",
"metaDescription": "Historien bak lanseringen av cmux på Hacker News."
},
"introducingCmux": {
"metaTitle": "Vi presenterer cmux",
"metaDescription": "Hvorfor vi bygde cmux, en ny terminal for macOS."
}
},
"docs": {
"layoutTitle": "cmux docs",
"gettingStarted": {
"title": "Kom i gang",
"metaDescription": "Installer cmux, den native macOS-terminalen for AI-kodeagenter. Homebrew, DMG-nedlasting, CLI-oppsett og automatiske oppdateringer via Sparkle.",
"intro": "cmux er en lettvekts, nativ macOS-terminal bygget på Ghostty for å administrere flere AI-kodeagenter. Den har vertikale faner, et varselpanel og et socket-basert kontroll-API.",
"install": "Installer",
"dmgRecommended": "DMG (anbefalt)",
"dmgDesc": "Åpne .dmg-filen og dra cmux til Programmer-mappen. cmux oppdaterer automatisk via Sparkle, så du trenger bare å laste ned én gang.",
"homebrew": "Homebrew",
"updateLater": "For å oppdatere senere:",
"firstLaunchCallout": "Ved første oppstart kan macOS be deg bekrefte at du vil åpne en app fra en identifisert utvikler. Klikk <strong>Åpne</strong> for å fortsette.",
"verifyTitle": "Bekreft installasjonen",
"verifyDesc": "Åpne cmux, og du skal se:",
"verifyItem1": "Et terminalvindu med en vertikal fanesidebar på venstre side",
"verifyItem2": "Ett innledende arbeidsområde allerede åpent",
"verifyItem3": "Den Ghostty-drevne terminalen klar for inndata",
"cliSetup": "CLI-oppsett",
"cliDesc": "cmux inkluderer et kommandolinjeverktøy for automatisering. I cmux-terminaler fungerer det automatisk. For å bruke CLI utenfor cmux, opprett en symbolsk lenke:",
"cliThen": "Deretter kan du kjøre kommandoer som:",
"autoUpdates": "Automatiske oppdateringer",
"autoUpdatesDesc": "cmux sjekker automatisk etter oppdateringer via Sparkle. Når en oppdatering er tilgjengelig, ser du en oppdateringsindikator i tittellinjen. Du kan også sjekke manuelt via cmux > Check for Updates i menylinjen.",
"sessionRestore": "Sesjongjenoppretting (nåværende oppførsel)",
"sessionRestoreDesc": "Etter omstart gjenoppretter cmux kun layout og metadata:",
"sessionItem1": "Vindu-, arbeidsområde- og panellayout",
"sessionItem2": "Arbeidskataloger",
"sessionItem3": "Terminal scrollback (best effort)",
"sessionItem4": "Nettleser-URL og navigasjonshistorikk",
"sessionCallout": "cmux gjenoppretter ikke live prosesstilstand ennå. Aktive terminalappsesjoner som Claude Code, tmux og vim gjenopptas ikke etter omstart av appen.",
"requirements": "Systemkrav",
"reqItem1": "macOS 14.0 eller nyere",
"reqItem2": "Apple Silicon eller Intel Mac",
"metaTitle": "Kom i gang"
},
"concepts": {
"title": "Konsepter",
"metaDescription": "Hvordan cmux organiserer terminaler: vinduer, arbeidsområder, paneler og overflater. Hierarkiet bak sidefeltet, delingene og socket-API-et.",
"intro": "cmux organiserer terminalene dine i et hierarki med fire nivåer. Å forstå disse nivåene hjelper når du bruker socket-API, CLI og tastatursnarveier.",
"hierarchy": "Hierarki",
"windowTitle": "Vindu",
"windowDesc": "Et macOS-vindu. Åpne flere vinduer med {shortcut}. Hvert vindu har sitt eget sidefelt med uavhengige arbeidsområder.",
"workspaceTitle": "Arbeidsområde",
"workspaceDesc": "En oppføring i sidefeltet. Hvert arbeidsområde inneholder ett eller flere delte paneler. Arbeidsområder er det du ser i venstre sidefelt.",
"workspaceNote": "I brukergrensesnittet og tastatursnarveier kalles arbeidsområder ofte \"faner\" fordi de oppfører seg som faner i sidefeltet. Socket-API og miljøvariabler bruker termen \"workspace\".",
"contextHeader": "Kontekst",
"termUsedHeader": "Begrep brukt",
"sidebarUI": "Sidefelt-UI",
"tab": "Fane",
"keyboardShortcuts": "Tastatursnarveier",
"workspaceOrTab": "Arbeidsområde eller fane",
"socketAPI": "Socket-API",
"environmentVariable": "Miljøvariabel",
"workspaceShortcuts": "Snarveier: {new} (ny), {jump} (hopp), {close} (lukk), {prevNext} (forrige/neste)",
"paneTitle": "Panel",
"paneDesc": "Et delt område innenfor et arbeidsområde. Opprettet ved å dele med {right} (høyre) eller {down} (ned). Naviger mellom paneler med {nav} + piltaster.",
"paneNote": "Hvert panel kan inneholde flere overflater (faner innenfor panelet).",
"surfaceTitle": "Overflate",
"surfaceDesc": "En fane innenfor et panel. Hvert panel har sin egen fanelinje og kan inneholde flere overflater. Opprettet med {new}, naviger med {prev} / {next} eller {jump}.",
"surfaceNote": "Overflater er de individuelle terminal- eller nettleseøktene du samhandler med. Hver overflate har sin egen CMUX_SURFACE_ID miljøvariabel.",
"panelTitle": "Panel",
"panelDesc": "Innholdet inne i en overflate. For tiden to typer:",
"panelTerminal": "Terminal: en Ghostty-terminaløkt",
"panelBrowser": "Nettleser: en innebygd webvisning",
"panelNote": "Panel er hovedsakelig et internt konsept. I socket-API og CLI samhandler du med overflater i stedet for paneler direkte.",
"visualExample": "Visuelt eksempel",
"visualExampleDesc": "I dette eksempelet:",
"visualItem1": "Vinduet inneholder et sidefelt med tre arbeidsområder (dev, server, logs)",
"visualItem2": "Arbeidsområdet \"dev\" er valgt og viser to paneler side om side",
"visualItem3": "Panel 1 har to overflater ([S1] og [S2] i fanelinjen), med S1 aktiv",
"visualItem4": "Panel 2 har én overflate",
"visualItem5": "Hver overflate inneholder et panel (en terminal i dette tilfellet)",
"summary": "Oppsummering",
"levelHeader": "Nivå",
"whatItIsHeader": "Hva det er",
"createdByHeader": "Opprettet av",
"identifiedByHeader": "Identifisert av",
"macosWindow": "macOS-vindu",
"sidebarEntry": "Sidefeltoppføring",
"splitRegion": "Delt område",
"tabWithinPane": "Fane i panel",
"terminalOrBrowser": "Terminal eller nettleser",
"automatic": "Automatisk",
"paneIdSocket": "Panel-ID (socket-API)",
"panelIdInternal": "Panel-ID (intern)",
"metaTitle": "Konsepter"
},
"configuration": {
"title": "Konfigurasjon",
"metaDescription": "Konfigurer cmux via Ghostty-konfigurasjonsfiler. Font, tema, farger, stil for delte paneler, scrollback og appinnstillinger for automatiseringsmodus.",
"intro": "cmux leser konfigurasjon fra Ghostty-konfigurasjonsfiler, slik at du får kjente alternativer hvis du kommer fra Ghostty.",
"configLocations": "Plasseringer for konfigurasjonsfiler",
"configLocationsDesc": "cmux ser etter konfigurasjon på disse plasseringene (i rekkefølge):",
"createConfig": "Opprett konfigurasjonsfilen hvis den ikke finnes:",
"appearance": "Utseende",
"font": "Font",
"colors": "Farger",
"splitPanes": "Delte paneler",
"behavior": "Oppførsel",
"scrollback": "Scrollback",
"workingDirectory": "Arbeidskatalog",
"appSettings": "Appinnstillinger",
"appSettingsDesc": "Innstillinger i appen er tilgjengelige via cmux > Settings ({shortcut}):",
"themeMode": "Temamodus",
"themeSystem": "System: følg macOS-utseende",
"themeLight": "Lys: alltid lys modus",
"themeDark": "Mørk: alltid mørk modus",
"automationMode": "Automatiseringsmodus",
"automationModeDesc": "Tilgangsnivå for kontrollsocket:",
"automationOff": "Av: ingen socket-kontroll (mest sikkert)",
"automationCmux": "Bare cmux-prosesser: bare prosesser startet i cmux-terminaler kan koble til",
"automationAll": "allowAll: tillat enhver lokal prosess å koble til (CMUX_SOCKET_MODE=allowAll, kun miljøvariabeloverstyring)",
"automationCallout": "På delte maskiner, vurder å bruke \"Av\" eller \"Bare cmux-prosesser\"-modus.",
"browserLinkBehavior": "Nettleser-lenkeatferd",
"browserLinkDesc": "I Innstillinger > Nettleser eksponerer cmux to vertslister med ulike formål:",
"browserHostsEmbed": "Verter å åpne i innebygd nettleser: gjelder lenker klikket fra terminalutdata. Verter på denne listen åpnes i cmux; andre verter åpnes i standardnettleseren din. Støtter én vert eller jokertegn per linje (for eksempel: example.com, *.internal.example).",
"browserHostsHttp": "HTTP-verter tillatt i innebygd nettleser: gjelder kun HTTP (ikke-HTTPS) URL-er. Verter på denne listen kan åpnes i cmux uten advarsel. Standardverdier inkluderer localhost, 127.0.0.1, ::1, 0.0.0.0 og *.localtest.me.",
"exampleConfig": "Eksempelkonfigurasjon",
"metaTitle": "Konfigurasjon"
},
"customCommands": {
"title": "Egendefinerte kommandoer",
"metaTitle": "Egendefinerte kommandoer",
"metaDescription": "Definer egendefinerte kommandoer og workspace-oppsett i cmux.json. Per-prosjekt og global konfigurasjon med live filovervåking.",
"intro": "Definer egendefinerte kommandoer og workspace-oppsett ved å legge til en cmux.json-fil i prosjektets rotmappe eller ~/.config/cmux/. Kommandoer vises i kommandopaletten.",
"fileLocations": "Filplasseringer",
"fileLocationsDesc": "cmux søker etter konfigurasjon to steder:",
"localConfig": "Per prosjekt:",
"localConfigDesc": "ligger i prosjektmappen din, har forrang",
"globalConfig": "Global:",
"globalConfigDesc": "gjelder alle prosjekter, fyller inn kommandoer som ikke er definert lokalt",
"precedenceNote": "Lokale kommandoer overstyrer globale kommandoer med samme navn.",
"liveReload": "Endringer hentes automatisk — ingen omstart nødvendig.",
"schema": "Skjema",
"schemaDesc": "En cmux.json-fil inneholder en commands-array. Hver kommando er enten en enkel shell-kommando eller en fullstendig workspace-definisjon:",
"simpleCommands": "Enkle kommandoer",
"simpleCommandsDesc": "En enkel kommando kjører en shell-kommando i den for øyeblikket fokuserte terminalen:",
"simpleCommandFields": "Felter",
"fieldName": "Vises i kommandopaletten (påkrevd)",
"fieldDescription": "Valgfri beskrivelse",
"fieldKeywords": "Ekstra søkeord for kommandopaletten",
"fieldCommand": "Shell-kommando som kjøres i den fokuserte terminalen",
"fieldConfirm": "Vis en bekreftelsesdialog før kjøring",
"simpleCommandCwdNote": "Enkle kommandoer kjøres i den fokuserte terminalens gjeldende arbeidskatalog. Hvis kommandoen din avhenger av prosjektrelative stier, legg til prefiks",
"simpleCommandCwdRepoRoot": "for å kjøre fra repo-roten, eller",
"simpleCommandCwdCustomPath": "for en hvilken som helst spesifikk katalog.",
"workspaceCommands": "Workspace-kommandoer",
"workspaceCommandsDesc": "En workspace-kommando oppretter et nytt workspace med et egendefinert oppsett av delinger, terminaler og nettleserpaneler:",
"workspaceFields": "Workspace-felter",
"wsFieldName": "Workspace-fanenavn (standard er kommandonavn)",
"wsFieldCwd": "Arbeidsmappe for workspacet",
"wsFieldColor": "Farge på workspace-fanen",
"wsFieldLayout": "Oppsettstre som definerer delinger og paneler",
"restartBehavior": "Omstartsatferd",
"restartBehaviorDesc": "Styrer hva som skjer når et workspace med samme navn allerede eksisterer:",
"restartIgnore": "Bytt til det eksisterende workspacet (standard)",
"restartRecreate": "Lukk og gjenopprett uten å spørre",
"restartConfirm": "Spør brukeren før gjenoppretting",
"layoutTree": "Oppsettstre",
"layoutTreeDesc": "Oppsettstreet definerer hvordan paneler er arrangert ved hjelp av rekursive delingsknuter:",
"splitNode": "Delingsknute",
"splitNodeDesc": "Deler plassen i to barn:",
"or": "eller",
"splitPosition": "Delerposisjon fra 0.1 til 0.9 (standard 0.5)",
"splitChildren": "Nøyaktig to barneknuter (deling eller panel)",
"paneNode": "Panelknute",
"paneNodeDesc": "En bladknute som inneholder én eller flere overflater (faner innen panelet).",
"surfaceDefinition": "Overflatedefinisjon",
"surfaceDefinitionDesc": "Hver overflate i et panel kan være en terminal eller en nettleser:",
"surfaceName": "Egendefinert fanetittel",
"surfaceCommand": "Shell-kommando som kjøres automatisk ved opprettelse (kun terminal)",
"surfaceCwd": "Arbeidsmappe for denne overflaten",
"surfaceEnv": "Miljøvariabler som nøkkel-verdi-par",
"surfaceUrl": "URL som skal åpnes (kun nettleser)",
"surfaceFocus": "Fokuser på denne overflaten etter opprettelse",
"cwdResolution": "Oppløsning av arbeidsmappe",
"omitted": "utelatt",
"cwdRelative": "workspace-arbeidsmappe",
"cwdSubdir": "relativ til workspace-arbeidsmappen",
"cwdHome": "utvidet til hjemmemappen",
"absolutePath": "Absolutt sti",
"cwdAbsolute": "brukes som den er",
"fullExample": "Fullstendig eksempel"
},
"keyboardShortcuts": {
"title": "Tastatursnarveier",
"description": "Alle tastatursnarveier tilgjengelige i cmux, gruppert etter kategori.",
"metaDescription": "Alle cmux-tastatursnarveier for arbeidsområder, overflater, delte paneler, nettleser, varsler, søk og vindusbehandling på macOS.",
"searchPlaceholder": "Søk etter snarveier...",
"searchLabel": "Søk i tastatursnarveier",
"noResults": "Ingen snarveier funnet",
"noResultsHint": "Prøv et annet søkeord",
"cat": {
"workspaces": "Arbeidsområder",
"workspacesBlurb": "Arbeidsområder lever i sidefeltet. Hvert arbeidsområde har sitt eget sett med paneler og overflater.",
"surfaces": "Overflater",
"surfacesBlurb": "Overflater er faner inne i et panel.",
"splitPanes": "Delte paneler",
"browser": "Nettleser",
"notifications": "Varsler",
"find": "Finn",
"terminal": "Terminal",
"window": "Vindu"
},
"sc": {
"ws-new": "Nytt arbeidsområde",
"ws-prev": "Forrige arbeidsområde",
"ws-next": "Neste arbeidsområde",
"ws-jump-1-8": "Hopp til arbeidsområde 18",
"ws-jump-last": "Hopp til siste arbeidsområde",
"ws-close": "Lukk arbeidsområde",
"ws-rename": "Gi arbeidsområde nytt navn",
"sf-new": "Ny overflate",
"sf-prev-1": "Forrige overflate",
"sf-prev-2": "Forrige overflate",
"sf-jump-1-8": "Hopp til overflate 18",
"sf-jump-last": "Hopp til siste overflate",
"sf-close": "Lukk overflate",
"sp-right": "Del til høyre",
"sp-down": "Del nedover",
"sp-focus": "Fokuser panel retningsbestemt",
"sp-browser-right": "Del nettleser til høyre",
"sp-browser-down": "Del nettleser nedover",
"br-open": "Åpne nettleseroverflate",
"br-addr": "Fokuser adressefeltet",
"br-forward": "Fremover",
"br-reload": "Last inn side på nytt",
"br-devtools": "Åpne utviklerverktøy",
"nt-panel": "Vis varselpanel",
"nt-latest": "Hopp til siste uleste",
"nt-flash": "Utløs blink",
"fd-find": "Finn",
"fd-next-prev": "Finn neste / forrige",
"fd-hide": "Skjul søkelinje",
"fd-selection": "Bruk utvalg til søk",
"tm-clear": "Tøm scrollback",
"tm-copy": "Kopier (med utvalg)",
"tm-paste": "Lim inn",
"tm-font": "Øk / reduser skriftstørrelse",
"tm-reset": "Tilbakestill skriftstørrelse",
"wn-new": "Nytt vindu",
"wn-settings": "Innstillinger",
"wn-reload": "Last inn konfigurasjon på nytt",
"wn-quit": "Avslutt"
},
"metaTitle": "Tastatursnarveier"
},
"api": {
"title": "API-referanse",
"metaDescription": "cmux CLI og Unix socket API-referanse. Arbeidsområdeadministrasjon, delte paneler, inndatakontroll, varsler, sidefeltmetadata, miljøvariabler og deteksjonsmetoder.",
"intro": "cmux tilbyr både et CLI-verktøy og en Unix-socket for programmatisk kontroll. Hver kommando er tilgjengelig gjennom begge grensesnittene.",
"socket": "Socket",
"buildHeader": "Build",
"pathHeader": "Sti",
"release": "Release",
"debug": "Debug",
"taggedDebug": "Tagget debug-build",
"socketOverride": "Overstyr med CMUX_SOCKET_PATH-miljøvariabelen. Send én JSON-forespørsel terminert med linjeskift per kall:",
"socketCallout": "JSON-socketforespørsler må bruke method og params. Eldre v1 JSON-nyttelaster som <legacy>'{'\"command\":\"...\"'}'</legacy> støttes ikke.",
"accessModes": "Tilgangsmoduser",
"modeHeader": "Modus",
"descriptionHeader": "Beskrivelse",
"howToEnableHeader": "Hvordan aktivere",
"offMode": "Socket deaktivert",
"offEnable": "Innstillings-UI eller CMUX_SOCKET_MODE=off",
"cmuxOnlyMode": "Bare prosesser startet inne i cmux-terminaler kan koble til.",
"cmuxOnlyEnable": "Standardmodus i innstillings-UI",
"allowAllMode": "Tillat enhver lokal prosess å koble til (ingen herkomstsjekk).",
"allowAllEnable": "Kun miljøvariabeloverstyring: CMUX_SOCKET_MODE=allowAll",
"accessCallout": "På delte maskiner, bruk Av eller Bare cmux-prosesser.",
"cliOptions": "CLI-alternativer",
"flagHeader": "Flagg",
"customSocketPath": "Egendefinert socket-sti",
"outputJson": "Utdata i JSON-format",
"targetWindow": "Mål et spesifikt vindu",
"targetWorkspace": "Mål et spesifikt arbeidsområde",
"targetSurface": "Mål en spesifikk overflate",
"idFormat": "Kontroller identifikatorformat i JSON-utdata",
"workspaceCommands": "Arbeidsområdekommandoer",
"listWorkspacesDesc": "List alle åpne arbeidsområder.",
"newWorkspaceDesc": "Opprett et nytt arbeidsområde.",
"selectWorkspaceDesc": "Bytt til et spesifikt arbeidsområde.",
"currentWorkspaceDesc": "Hent det aktive arbeidsområdet.",
"closeWorkspaceDesc": "Lukk et arbeidsområde.",
"splitCommands": "Delingskommandoer",
"newSplitDesc": "Opprett et nytt delt panel. Retninger: left, right, up, down.",
"listSurfacesDesc": "List alle overflater i det gjeldende arbeidsområdet.",
"focusSurfaceDesc": "Fokuser en spesifikk overflate.",
"inputCommands": "Inndatakommandoer",
"sendDesc": "Send tekstinndata til den fokuserte terminalen.",
"sendKeyDesc": "Send et tastetrykk. Taster: enter, tab, escape, backspace, delete, up, down, left, right.",
"sendSurfaceDesc": "Send tekst til en spesifikk overflate.",
"sendKeySurfaceDesc": "Send et tastetrykk til en spesifikk overflate.",
"notificationCommands": "Varselkommandoer",
"notifyDesc": "Send et varsel.",
"listNotificationsDesc": "List alle varsler.",
"clearNotificationsDesc": "Fjern alle varsler.",
"sidebarMetadata": "Sidefeltmetadatakommandoer",
"sidebarMetadataDesc": "Sett statuspiller, fremdriftslinjer og loggoppføringer i sidefeltet for ethvert arbeidsområde. Nyttig for build-skript, CI-integrasjoner og AI-kodeagenter som vil vise tilstand med et øyekast.",
"setStatusDesc": "Sett en sidefelt-statuspille. Bruk en unik nøkkel slik at forskjellige verktøy kan administrere sine egne oppføringer.",
"clearStatusDesc": "Fjern en sidefelt-statusoppføring etter nøkkel.",
"listStatusDesc": "List alle sidefelt-statusoppføringer for et arbeidsområde.",
"setProgressDesc": "Sett en fremdriftslinje i sidefeltet (0.0 til 1.0).",
"clearProgressDesc": "Fjern sidefeltets fremdriftslinje.",
"logDesc": "Legg til en loggoppføring i sidefeltet. Nivåer: info, progress, success, warning, error.",
"clearLogDesc": "Fjern alle sidefeltets loggoppføringer.",
"listLogDesc": "List sidefeltets loggoppføringer.",
"sidebarStateDesc": "Dump all sidefeltmetadata (cwd, git-gren, porter, status, fremdrift, logger).",
"utilityCommands": "Hjelpekommandoer",
"pingDesc": "Sjekk om cmux kjører og svarer.",
"capabilitiesDesc": "List tilgjengelige socket-metoder og gjeldende tilgangsmodus.",
"identifyDesc": "Vis fokusert vindu/arbeidsområde/panel/overflate-kontekst.",
"envVariables": "Miljøvariabler",
"variableHeader": "Variabel",
"socketPathDesc": "Overstyr socket-stien brukt av CLI og integrasjoner",
"socketEnableDesc": "Tvangsaktiver/deaktiver socket (1/0, true/false, on/off)",
"socketModeDesc": "Overstyr tilgangsmodus (cmuxOnly, allowAll, off). Godtar også cmux-only/cmux_only og allow-all/allow_all",
"workspaceIdDesc": "Automatisk satt: gjeldende arbeidsområde-ID",
"surfaceIdDesc": "Automatisk satt: gjeldende overflate-ID",
"termProgramDesc": "Satt til ghostty",
"termDesc": "Satt til xterm-ghostty",
"envCallout": "Eldre CMUX_SOCKET_MODE-verdier full og notifications godtas fortsatt for kompatibilitet.",
"detectingCmux": "Oppdage cmux",
"examples": "Eksempler",
"pythonClient": "Python-klient",
"shellScript": "Shell-skript",
"buildScriptNotification": "Build-skript med varsel",
"metaTitle": "API-referanse"
},
"notifications": {
"title": "Varsler",
"metaDescription": "Send skrivebordsvarsler fra AI-agenter og skript i cmux. CLI, OSC 99/777 escape-sekvenser og Claude Code hooks-integrasjon.",
"intro": "cmux støtter skrivebordsvarsler, slik at AI-agenter og skript kan varsle deg når de trenger oppmerksomhet.",
"lifecycle": "Livssyklus",
"received": "Mottatt: varselet vises i panelet, skrivebordsvarsel utløses (hvis ikke undertrykt)",
"unread": "Ulest: merke vist på arbeidsområdefanen",
"read": "Lest: fjernet når du ser på det arbeidsområdet",
"cleared": "Fjernet: fjernet fra panelet",
"suppression": "Undertrykking",
"suppressionDesc": "Skrivebordsvarsler undertrykkes når:",
"suppressItem1": "cmux-vinduet er fokusert",
"suppressItem2": "Det spesifikke arbeidsområdet som sender varselet er aktivt",
"suppressItem3": "Varselpanelet er åpent",
"notificationPanel": "Varselpanel",
"notificationPanelDesc": "Trykk <openShortcut>⌘⇧I</openShortcut> for å åpne varselpanelet. Klikk et varsel for å hoppe til det arbeidsområdet. Trykk <jumpShortcut>⌘⇧U</jumpShortcut> for å hoppe direkte til arbeidsområdet med det nyeste uleste varselet.",
"customCommand": "Egendefinert kommando",
"customCommandDesc": "Kjør en shell-kommando hver gang et varsel planlegges. Sett den i Innstillinger > App > Varselkommando. Kommandoen kjøres via /bin/sh -c med disse miljøvariablene:",
"customCommandNote": "Kommandoen kjøres uavhengig av systemlydvelgeren. Sett velgeren til \"Ingen\" for å kun bruke den egendefinerte kommandoen, eller behold begge for en systemlyd pluss en egendefinert handling.",
"sending": "Sende varsler",
"cli": "CLI",
"osc777Title": "OSC 777 (enkel)",
"osc777Desc": "RXVT-protokollen bruker et fast format med tittel og brødtekst:",
"osc99Title": "OSC 99 (rik)",
"osc99Desc": "Kitty-protokollen støtter undertitler og varsel-ID-er:",
"variableHeader": "Variabel",
"descriptionHeader": "Beskrivelse",
"envTitle": "Varselstittel (arbeidsområdenavn eller appnavn)",
"envSubtitle": "Varselsundertittel",
"envBody": "Varselsbrødtekst",
"cmpTitleBody": "Tittel + brødtekst",
"cmpSubtitle": "Undertittel",
"cmpNotificationId": "Varsel-ID",
"cmpComplexity": "Kompleksitet",
"cmpYes": "Ja",
"cmpNo": "Nei",
"cmpHigher": "Høyere",
"cmpLower": "Lavere",
"featureHeader": "Funksjon",
"comparisonCallout": "Bruk OSC 777 for enkle varsler. Bruk OSC 99 når du trenger undertitler eller varsel-ID-er. Bruk CLI (cmux notify) for enklest integrasjon.",
"claudeCodeHooks": "Claude Code hooks",
"claudeCodeHooksDesc": "cmux integrerer med <link>Claude Code</link> via hooks for å varsle deg når oppgaver fullføres.",
"createHookScript": "1. Opprett hook-skriptet",
"configureClaude": "2. Konfigurer Claude Code",
"restartNote": "Start Claude Code på nytt for å bruke hooksene.",
"copilotCliHooks": "GitHub Copilot CLI",
"copilotCliHooksDesc": "Copilot CLI støtter <link>hooks</link> som kjører shell-kommandoer ved livssyklushendelser som prompt-innsending, agent-stopp og feil.",
"copilotCliRepoHooks": "For hooks på repo-nivå, opprett en .github/hooks/notify.json-fil med samme struktur:",
"integrationExamples": "Integrasjonseksempler",
"notifyAfterLong": "Varsel etter lang kommando",
"python": "Python",
"nodejs": "Node.js",
"tmuxPassthrough": "tmux-passthrough",
"tmuxDesc": "Hvis du bruker tmux inne i cmux, aktiver passthrough:",
"metaTitle": "Varsler"
},
"browserAutomation": {
"title": "Nettleserautomatisering",
"metaDescription": "Referanse for cmux browser-kommandoer for navigasjon, DOM-interaksjon, venting, inspeksjon, JavaScript-evaluering, faner, dialoger, rammer, nedlastinger og nettlesertilstand.",
"intro": "Kommandogruppen cmux browser gir nettleserautomatisering mot cmux-nettleseroverflater. Bruk den til å navigere, samhandle med DOM-elementer, inspisere sidetilstand, evaluere JavaScript og administrere nettlesersesjonsdata.",
"commandIndex": "Kommandoindeks",
"categoryHeader": "Kategori",
"subcommandsHeader": "Underkommandoer",
"navAndTargeting": "Navigasjon og målretting",
"waiting": "Venting",
"domInteraction": "DOM-interaksjon",
"inspection": "Inspeksjon",
"jsAndInjection": "JavaScript og injeksjon",
"framesDialogsDownloads": "Rammer, dialoger, nedlastinger",
"stateAndSession": "Tilstand og sesjonsdata",
"tabsAndLogs": "Faner og logger",
"targetingSurface": "Målrette en nettleseroverflate",
"targetingDesc": "De fleste underkommandoer krever en måloverflate. Du kan sende den posisjonelt eller med --surface.",
"navigation": "Navigasjon",
"waitingSection": "Venting",
"waitingDesc": "Bruk wait for å blokkere til selektorer, tekst, URL-fragmenter, lastetilstand eller en JavaScript-betingelse er oppfylt.",
"domSection": "DOM-interaksjon",
"domDesc": "Endrende handlinger støtter --snapshot-after for rask verifisering i skript.",
"inspectionSection": "Inspeksjon",
"inspectionDesc": "Bruk strukturerte getters for skript og øyeblikksbilder/skjermbilder for menneskelig gjennomgang.",
"jsSection": "JavaScript-evaluering og injeksjon",
"stateSection": "Tilstand",
"stateDesc": "Sesjonsdatakommandoer dekker informasjonskapsler, lokal/sesjonslagring og fullstendige nettlesertilstandsøyeblikksbilder.",
"tabsSection": "Faner",
"tabsDesc": "Nettleserfaneoperasjoner tilsvarer nettleseroverflater i den aktive nettleserfanegruppen.",
"consoleSection": "Konsoll og feil",
"dialogsSection": "Dialoger",
"framesSection": "Rammer",
"downloadsSection": "Nedlastinger",
"commonPatterns": "Vanlige mønstre",
"patternNavigate": "Naviger, vent, inspiser",
"patternForm": "Fyll ut et skjema og verifiser suksessmeldingen",
"patternDebug": "Fang debug-artefakter ved feil",
"patternSession": "Lagre og gjenopprett nettleserøkt",
"metaTitle": "Nettleserautomatisering"
},
"changelog": {
"title": "Endringslogg",
"metaDescription": "cmux utgivelsesnotater og versjonshistorikk. Nye funksjoner, feilrettinger og endringer for den native macOS-terminalen.",
"metaTitle": "Endringslogg"
},
"navItems": {
"gettingStarted": "Kom i gang",
"concepts": "Konsepter",
"configuration": "Konfigurasjon",
"customCommands": "Egendefinerte kommandoer",
"keyboardShortcuts": "Tastatursnarveier",
"apiReference": "API-referanse",
"browserAutomation": "Nettleserautomatisering",
"notifications": "Varsler",
"agentIntegrations": "Agent Integrations",
"claudeCodeTeams": "Claude Code Teams",
"ohMyOpenCode": "oh-my-opencode",
"changelog": "Endringslogg"
}
},
"legal": {
"privacyPolicy": "Personvernerklæring",
"termsOfService": "Vilkår for bruk",
"eula": "EULA"
},
"wallOfLove": {
"title": "Kjærlighetsveggen",
"description": "Hva folk sier om cmux."
},
"testimonials": {
"mitchellh": "Nok en dag, nok et libghostty-basert prosjekt, denne gangen en macOS-terminal med vertikale faner, bedre organisering/varsler, innebygd/skriptbar nettleser spesifikt rettet mot folk som bruker mange terminalbaserte agent-arbeidsflyter.",
"schrockn": "Dette er nøyaktig produktet jeg har lett etter. Etter to timer i morges er jeg forelsket.",
"egrefen": "Jeg har brukt dette hele helgen og det er fantastisk.",
"max4c": "dette har vært favorittverktøyet mitt de siste to ukene",
"asaza": "cmux ser så bra ut at det kanskje endelig er på tide å si adjø til VSCode",
"johnthedebs": "Hei, dette ser virkelig fantastisk ut. Elsker ideene her, spesielt: programmerbarhet, lagdelt UI, nettleser med API. Gleder meg til å prøve det. Vil også si at jeg virkelig setter pris på at Mitchell Hashimoto laget libghostty; det føles som en spennende tid å være terminalbruker.",
"joeriddles": "Vertikale faner i terminalen min! Det har jeg aldri tenkt på før. Jeg bruker og elsker Firefox vertikale faner.",
"dchu17": "Prøvde dette og det var ganske intuitivt. Bra jobba!",
"afruth": "Jeg liker det, brukte det i løpet av den siste dagen på tre parallelle prosjekter med flere worktrees. Å ha dette sammen med lazygit og yazi / nvim gjorde meg litt mer produktiv enn vanlig uten å måtte jakte på flere ghostty / iTerm-instanser. Føles også mer naturlig enn tmux.",
"northprint": "Prøvde cmux siden det så bra ut — det er bra",
"indykish": "cmux er ganske bra.",
"kataring": "Byttet til cmux.dev",
"scottw": "Dette har vært et så nyttig funn. Kan ikke anbefale det nok.",
"johnblythe": "lastet dette ned i helgen og elsket det. har ventet på noe slikt.",
"bchris91": "Dette er nøyaktig det jeg har ønsket meg. Fantastisk jobb, takk!",
"connorelsea": "Har brukt dette i en uke og det er fantastisk. Vertikal fane for hver pågående oppgave. Inni har jeg Claude på den ene siden og nettleser med PR og ressurser på den andre, bytter mellom oppgaver og holder orden. Bland det med skills for å la Claude overvåke CI rekursivt, osv. Føler meg opplyst tbh",
"tonkotsuboy": "Jeg byttet fra Warp til Ghostty i begynnelsen av året, men nå har jeg byttet til cmux. De vertikale fanene er praktiske, og jeg setter pris på å bli varslet når Claude Code-oppgaver er ferdige. Det er Ghostty-basert, så den lynraske ytelsen følger med. Grenvisning og autofullføringer jeg satte opp i Ghostty fungerer fortsatt også."
},
"nightly": {
"title": "cmux NIGHTLY",
"subtitle": "Nyeste bygg fra main",
"metaTitle": "cmux NIGHTLY — Nightly-bygg",
"metaDescription": "Last ned cmux NIGHTLY, en separat app som bygges automatisk fra siste main-commit. Kjører ved siden av den stabile versjonen med egne automatiske oppdateringer.",
"description": "cmux NIGHTLY bygges automatisk fra siste commit på main. Den har sin egen bundle-ID, så den kjører ved siden av den stabile versjonen uten konflikter. Bruk den til å teste nye funksjoner før de lanseres.",
"download": "Last ned NIGHTLY for Mac",
"warning": "Nightly-bygg kan inneholde feil eller uferdige funksjoner. Hvis noe går galt, rapporter det på <githubLink>GitHub</githubLink> eller i <discordLink>#nightly-bugs på Discord</discordLink> og bytt tilbake til den stabile versjonen."
},
"languageSwitcher": {
"label": "Språk"
}
}