# Translation glossary — English → Norwegian (bokmål)

Internal reference for keeping the Norwegian (`no/`) pages terminologically
consistent with the English (`en/`) source. Not linear machine translation:
where a loanword is already standard in Norwegian developer/academic usage, we
keep it rather than force a native coinage that would read as unnatural or be
unfamiliar to students. Update this file first when adding new English
content, then translate against it.

| English term | Preferred Norwegian | Notes |
|---|---|---|
| AI / artificial intelligence | KI / kunstig intelligens | "KI" is the Language Council–recommended abbreviation; spell out as "kunstig intelligens" on first use per page, then "KI". |
| AI tool | KI-verktøy | |
| AI assistant | KI-assistent | |
| AI-assisted | KI-assistert | |
| agent / agentic tool | agent / agentbasert verktøy | "Agentisk" avoided — reads as a calque, not established. |
| autonomous agent | autonom agent | |
| background agent / asynchronous agent | bakgrunnsagent / asynkron agent | |
| cloud agent | skyagent | |
| prompt | prompt | Kept as loanword — standard in Norwegian developer usage; do not translate to "ledetekst". |
| prompt engineering | promptutforming | |
| chat-based assistant | chatbasert assistent | |
| copy-paste workflow | kopier-lim-inn-arbeidsflyt | |
| inline autocomplete | innebygd autofullføring | |
| ghost text | forslagstekst (ghost text) | Give the English term in parentheses on first use — visually distinct grey suggestion text has no settled NO name yet. |
| code completion | kodefullføring | |
| IDE (integrated development environment) | IDE (utviklingsmiljø) | Spell out "utviklingsmiljø" once, then use "IDE". |
| CLI (command-line interface) | kommandolinje / CLI | |
| pull request / PR | pull request / PR | Kept as loanword — universal in NO dev teams; do not translate literally. |
| code review | kodegjennomgang | |
| diff | diff | |
| refactor / refactoring | refaktorere / refaktorering | Already an established loanword. |
| boilerplate (code) | bunnkode | |
| sandbox | sandkasse | |
| hallucination (AI) | hallusinasjon | |
| context window | kontekstvindu | |
| token | token | |
| spec-first (prompting) | spesifikasjonsstyrt | |
| workflow | arbeidsflyt | |
| best practice | beste praksis | |
| core skill | kjerneferdighet | |
| shortcut (bypassing learning) | snarvei (forbi læringen) | Use in context "ta en snarvei forbi læringen", not as a standalone noun. |
| entry-level / intro course | innføringskurs / grunnkurs | |
| advanced / upper-level course | videregående kurs / avansert kurs | |
| multi-file edit | endring i flere filer | |
| test suite | testsuite | |
| developer | utvikler | |
| student | student | |

## Project & collaboration terms

Added for the "AI in Team Projects" page. Norwegian software teams work in an
English-heavy vocabulary; forcing native coinages for tooling concepts (branch,
hook, linter) reads as unnatural and makes the text harder to use in practice.
The rule applied here: translate the *concept* words, keep the *tool* words.

| English term | Preferred Norwegian | Notes |
|---|---|---|
| configuration file | konfigurasjonsfil | |
| project instructions | prosjektinstruksjoner | For the content of `CLAUDE.md` / `AGENTS.md`. |
| repository / repo | repo / kodelager | "Repo" in running text; "kodelager" only if the full term is needed once. |
| codebase | kodebase | |
| subagent | subagent | Kept as loanword — no established Norwegian alternative; "underagent" would be a coinage. |
| skill (packaged instructions) | skill | Kept as loanword and explained on first use. Do **not** translate to "ferdighet" here — that word is already used for [[core skill]] → "kjerneferdighet" and would collide. |
| hook | hook | Established loanword in NO dev usage; do not translate to "krok". |
| linter | linter | |
| formatter | formateringsverktøy | |
| type checker | typesjekker | |
| CI (continuous integration) | CI (kontinuerlig integrasjon) | Spell out once, then "CI". |
| pipeline | pipeline | |
| branch | branch | Loanword is standard; "gren" reads as unnatural in dev context. |
| worktree | worktree | |
| merge conflict | flettekonflikt | "Merge-konflikt" also acceptable; be consistent within a page. |
| commit (noun/verb) | commit / committe | |
| co-author trailer | co-author-trailer | |
| provenance | opphav / sporbarhet | Use "sporbarhet" when the emphasis is on being able to trace it later. |
| supply chain (attack) | forsyningskjede(angrep) | |
| allowlist | tillatelsesliste | |
| permissions | tilganger / rettigheter | |
| guardrail | sikringsmekanisme | |
| dependency | avhengighet | |
| edge case | grensetilfelle | Consistent with existing usage on the learning page. |
| invariant | invariant | |
| monorepo | monorepo | |
| scope creep | omfangsutglidning | |
| pull request review | PR-gjennomgang | Consistent with [[code review]] → "kodegjennomgang". |
| unattended (running) | uten tilsyn | |
| design document / ADR | designdokument | |
| onboarding | onboarding | |
| deterministic | deterministisk | |
| signal-to-noise ratio | signal-støy-forhold | |

## Tools, MCP & agent workflow terms

| English term | Preferred Norwegian | Notes |
|---|---|---|
| tool (an agent capability) | verktøy | Same word as a "tool" in the product sense; when both senses appear close together, use "agentverktøy" for the capability. |
| tool call | verktøykall | |
| tool result | verktøyresultat | |
| built-in tools | innebygde verktøy | |
| MCP (Model Context Protocol) | MCP (Model Context Protocol) | Protocol name is never translated. Spell it out once per page, then "MCP". |
| MCP server | MCP-server | |
| transport (stdio/HTTP) | transport | |
| blast radius | skadeomfang | |
| least privilege | minste privilegium | |
| prompt injection | promptinjeksjon | Consistent with keeping "prompt" as a loanword. Explain the concept on first use — the term is not yet widely known in Norwegian. |
| untrusted content | upålitelig innhold | |
| exfiltration (of data) | eksfiltrering | Add "uttrekking av data" in parentheses on first use. |
| denylist | blokkeringsliste | Pairs with [[allowlist]] → "tillatelsesliste". |
| read-only | kun lesetilgang | |
| write access | skrivetilgang | |
| plan mode | planmodus | |
| task brief | oppgavebeskrivelse | |
| context window | kontekstvindu | Already listed above; repeated here because this section leans on it heavily. |
| context management | kontekststyring | |
| compaction (of context) | komprimering | Of the context window specifically — say "komprimering av konteksten" on first use. |
| verification loop | verifiseringssløyfe | |
| feedback signal | tilbakemeldingssignal | |
| flaky test | ustabil test | |
| test subset | testutvalg | |
| dev server | utviklingsserver | |
| iterate | iterere | |
| sunk cost | ugjenkallelig kostnad | In running text prefer a rewrite ("det du allerede har brukt tid på") — the economics term reads stiffly. |
| scope (a task) | avgrense (en oppgave) | |

## Learning & pedagogy terms

Used on the "Using AI to Learn" page. Norwegian pedagogical vocabulary is well
established, so these translate properly rather than staying in English — the
opposite of the tooling rule above.

| English term | Preferred Norwegian | Notes |
|---|---|---|
| fluency illusion | flytillusjon | Explain on first use ("følelsen av å forstå fordi noe er lett å lese"); the term is not in common Norwegian use. |
| fluency (ease of processing) | flyt | |
| competence | kompetanse | |
| comprehension | forståelse | Contrast with [[production]] → "å produsere selv". |
| production (being able to produce) | å produsere selv | Rendered as a verb phrase; "produksjon" alone reads industrial. |
| productive struggle | produktiv motstand | Established in NO didactics literature. |
| to be stuck | å stå fast | |
| mental model | mental modell | |
| working memory | arbeidsminne | |
| cognitive load | kognitiv belastning | |
| automatic / automaticity | automatisert / automatisering | Of a skill, not of a process. |
| scaffolding (pedagogical) | stillasbygging | Established didactics term. |
| retrieval (practice) | gjenhenting | |
| diagnostic (assessment) | diagnostisk (vurdering) | |
| feedback signal | tilbakemeldingssignal | |
| closed-book (exam) | uten hjelpemidler | Not a literal translation; this is the standard NO exam phrasing. |
| coursework | arbeidskrav / øvingsopplegg | "Arbeidskrav" where it is compulsory, "øvinger" for exercises generally. |
| hand-in / submission | innlevering | |
| deadline | frist | |
| assignment | oppgave | |
| exercise | øving | |
| intro course | innføringskurs | Already listed above. |
| edge case | grensetilfelle | Already listed above. |
| artifact (the thing produced) | produkt | "Artefakt" is understood but reads archaeological; "produkt" is clearer here. |
| skill | ferdighet | The learning sense — distinct from the packaged-instructions [[skill]], which stays English. Context disambiguates; never use "skill" for this sense in Norwegian. |
| boilerplate | bunnkode | Already listed above. |
| to bypass (learning) | å omgå (læringen) | Distinct from "snarvei" — use "omgå" when the emphasis is on avoiding the work entirely. |
| tutor | veileder | |
| contractor | oppdragstaker | In the AI-mode metaphor; keep the contrast with "veileder" explicit. |

## Style and idiom notes

Not term mappings, but recurring phrasings where a literal translation produces
Norwegian that is grammatical yet reads wrong to a native speaker. These are the
mistakes worth checking for on every pass.

| English | Do **not** write | Write instead | Why |
|---|---|---|---|
| quietly / silently (= without being noticed) | `stille` | `umerkelig`, or drop the adverb entirely | Norwegian `stille` means quiet in the *acoustic* sense. It is not idiomatic for something that happens unnoticed, which is the sense English "quietly replaces / quietly caps / silent scope creep" always carries here. Where the sentence already implies the lack of notice, dropping the adverb reads better than reaching for a substitute — e.g. "eller erstatte læring", not "eller umerkelig erstatte læring". |

When a native speaker corrects a phrasing, fix **every** instance of the pattern
rather than the one that was pointed out, and add the rule here. Search
case-insensitively — a capitalised occurrence at the start of a heading is easy
to miss.
