cmux/web/messages/no.json
Lawrence Chen cf75da8f8a
Internationalize website with next-intl for 19 languages (#1216)
* Add i18n framework with next-intl for 19 languages

Set up complete internationalization infrastructure:
- Install next-intl v4 with App Router support
- Create i18n config (routing, request, navigation)
- Add middleware for automatic locale detection from Accept-Language
- Restructure all routes under app/[locale]/
- Extract UI strings to messages/en.json
- Update all components to use useTranslations()
- Add language switcher dropdown in footer
- Support RTL for Arabic and Khmer
- Update sitemap with locale alternates
- Add generateStaticParams for all 19 locales

Languages: en, ja, zh-CN, zh-TW, ko, de, es, fr, it, da, pl, ru, bs, ar, no, pt-BR, th, tr, km

Locale detection: auto-detect from browser Accept-Language header,
with cookie persistence and locale prefix only for non-default (en).

* Add translations for de, fr, it, ja, zh-CN, zh-TW

* Add translations for ar, bs, da, es, km, no, pl, pt-BR, ru, th, tr

* Convert docs and legal pages to use useTranslations()

* Add i18n to keyboard shortcuts component

* Add i18n to wall-of-love, add missing blog posts to sitemap

* Add keyboard shortcuts and wallOfLove translations to all locales

* Update bun lockfile for next-intl dependency

* Fix t.rich() configPath: pass ReactNode not function for {var} interpolation

* Fix configPath: use rich text tag instead of plain interpolation for ReactNode

* Fix t.rich() interpolation: use rich text tags for all ReactNode placeholders

Changed {legacy}, {openShortcut}, {jumpShortcut} from plain variable
interpolation to <tag>content</tag> format so t.rich() gets proper
functions instead of values.

* Escape ICU curly braces in socketCallout rich text across all locales

* Fix i18n issues: Khmer RTL, zh-CN quality, locale-aware testimonials, hardcoded strings

- Fix Khmer (km) incorrectly marked as RTL (it's LTR, only Arabic is RTL)
- Fix zh-CN/zh-TW taglinePrefix to mention terminals and open source
- Add locale-aware testimonial translations: show original text, translate
  for non-matching locales, skip translation when locale matches original
- Translate hardcoded English table content in notifications page
- Add testimonial translations to all 19 locale files
- Remove unused setRequestLocale import and params from home page

* Address PR review comments: metadata localization, blog fixes, legal pages, accessibility

- Convert hardcoded metadata to generateMetadata with getTranslations on all docs, blog, community, and wall-of-love pages
- Fix blog canonical/OG URLs to be locale-aware
- Fix introducing-cmux .split(": ") by using separate label/desc translation keys
- Revert legal page titles to English (legal content stays English-only)
- Add focus-visible ring to language switcher for keyboard accessibility
- Preserve query string and hash when switching locale
- Convert site-footer to server component (remove unnecessary "use client")
- Remove .toLowerCase() on translated text in community page
- Add /docs/browser-automation and /wall-of-love to sitemap
- Fix keyboard-shortcuts jump link visibility with trimmed query
- Deduplicate blogSlugs by importing from blog-posts.ts
- Add typingCodingAgents/typingMultitasking translation keys to all locales
- Fix Spanish accent/tilde issues in es.json testimonials
- Fix nested <a> tag in homepage keyboard shortcuts feature
- Remove unused setRequestLocale import from homepage

* Convert remaining layout/index metadata to generateMetadata

- Root layout: locale-aware title, description, OG, and Twitter card metadata
- Docs layout: translated title template
- Blog layout: translated title template
- Blog index: locale-aware metadata

* Add translated metadata keys to all locales, fix docs redirect

- Add meta.title/description/ogDescription to all 18 non-English locales
- Add docs.layoutTitle, blog.layoutTitle/metaTitle/metaDescription to all locales
- Add blog post metadata (zenOfCmux, cmdShiftU, showHnLaunch, introducingCmux) to all locales
- Add community.metaTitle/metaDescription to all locales
- Fix docs index redirect to preserve locale prefix

* Add translated docs page metaTitle keys to all locales
2026-03-12 05:36:58 -07:00

587 lines
39 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",
"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"
},
"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-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.",
"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",
"keyboardShortcuts": "Tastatursnarveier",
"apiReference": "API-referanse",
"browserAutomation": "Nettleserautomatisering",
"notifications": "Varsler",
"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å."
},
"languageSwitcher": {
"label": "Språk"
}
}