# Main menu
menu:
  subtitle: 'Terminal Skrivetrener'
  adaptive_drill: 'Adaptiv oevelse'
  adaptive_drill_desc: 'Fonetiske ord med adaptiv bokstavopplaasing'
  code_drill: 'Kodeoevelse'
  code_drill_desc: 'Oev paa aa skrive kodesyntaks'
  passage_drill: 'Tekstoevelse'
  passage_drill_desc: 'Skriv av passasjer fra boeker'
  skill_tree: 'Ferdighetstre'
  skill_tree_desc: 'Se fremgangsgrener og start oevelser'
  keyboard: 'Tastatur'
  keyboard_desc: 'Utforsk tastaturoppsett og tasterstatistikk'
  statistics: 'Statistikk'
  statistics_desc: 'Se skrivestatistikken din'
  settings: 'Innstillinger'
  settings_desc: 'Konfigurer keydr'
  day_streak: ' | %{days} dagers rekke'
  key_progress: ' Tastefremgang %{unlocked}/%{total} (%{mastered} mestret) | Maal %{target} WPM%{streak}'
  hint_start: 'Start'
  hint_skill_tree: 'Ferdighetstre'
  hint_keyboard: 'Tastatur'
  hint_stats: 'Statistikk'
  hint_settings: 'Innstillinger'
  hint_quit: 'Avslutt'

# Drill screen
drill:
  title: ' Oevelse '
  mode_adaptive: 'Adaptiv'
  mode_code: 'Kode (Urangert)'
  mode_passage: 'Tekst (Urangert)'
  focus_char: 'Fokus: ''%{ch}'''
  focus_bigram: 'Fokus: "%{bigram}"'
  focus_both: 'Fokus: ''%{ch}'' + "%{bigram}"'
  header_wpm: 'WPM'
  header_acc: 'Noey'
  header_err: 'Feil'
  code_source: ' Kodekilde '
  passage_source: ' Tekstkilde '
  footer: '[ESC] Avslutt oevelse  [Backspace] Slett'
  keys_reenabled: 'Taster reaktivert etter %{ms}ms'
  hint_end: 'Avslutt oevelse'
  hint_backspace: 'Slett'

# Dashboard / drill result
dashboard:
  title: ' Oevelse fullfoert '
  results: 'Resultater'
  unranked_note_prefix: '  (Urangert'
  unranked_note_suffix: ' teller ikke for ferdighetstreet)'
  speed: '  Hastighet:     '
  accuracy_label: '  Noeyaktighet:  '
  time_label: '  Tid:           '
  errors_label: '  Feil:          '
  correct_detail: '  (%{correct}/%{total} korrekte)'
  input_blocked: '  Inndata midlertidig blokkert '
  input_blocked_ms: '(%{ms}ms gjenstaar)'
  hint_continue: 'Fortsett'
  hint_retry: 'Proev igjen'
  hint_menu: 'Meny'
  hint_stats: 'Statistikk'
  hint_delete: 'Slett'

# Stats sidebar (during drill)
sidebar:
  title: ' Statistikk '
  wpm: 'WPM: '
  target: 'Maal: '
  target_wpm: '%{wpm} WPM'
  accuracy: 'Noeyaktighet: '
  progress: 'Fremgang: '
  correct: 'Korrekte: '
  errors: 'Feil:    '
  time: 'Tid: '
  last_drill: ' Forrige oevelse '
  vs_avg: '  vs snitt: '

# Statistics dashboard
stats:
  title: ' Statistikk '
  empty: 'Ingen oevelser fullfoert ennaa. Begynn aa skrive!'
  tab_dashboard: '[1] Dashboard'
  tab_history: '[2] Historikk'
  tab_activity: '[3] Aktivitet'
  tab_accuracy: '[4] Noeyaktighet'
  tab_timing: '[5] Timing'
  tab_ngrams: '[6] N-grammer'
  hint_back: 'Tilbake'
  hint_next_tab: 'Neste fane'
  hint_switch_tab: 'Bytt fane'
  hint_navigate: 'Naviger'
  hint_page: 'Side'
  hint_delete: 'Slett'
  summary_title: ' Sammendrag '
  drills: '  Oevelser: '
  avg_wpm: '    Snitt WPM: '
  best_wpm: '    Beste WPM: '
  accuracy_label: '  Noeyaktighet: '
  total_time: '    Total tid: '
  wpm_chart_title: ' WPM per oevelse (Siste 20, Maal: %{target}) '
  accuracy_chart_title: ' Noeyaktighet %% (Siste 50 oevelser) '
  chart_drill: 'Oevelse #'
  chart_accuracy_pct: 'Noeyaktighet %%'
  sessions_title: ' Siste oekter '
  session_header: '   #     WPM    Raa    Noey%%   Tid       Dato/Tid          Modus      Rangert  Delvis'
  session_separator: '  ─────────────────────────────────────────────────────────────────────'
  delete_confirm: 'Slett oekt #%{idx}? (y/n)'
  confirm_title: ' Bekreft '
  yes: 'ja'
  no: 'nei'
  keyboard_accuracy_title: ' Tastatur noeyaktighet %% '
  keyboard_timing_title: ' Tastatur timing (ms) '
  slowest_keys_title: ' Tregeste taster (ms) '
  fastest_keys_title: ' Raskeste taster (ms) '
  worst_accuracy_title: ' Daarligste noeyaktighet (%%) '
  best_accuracy_title: ' Beste noeyaktighet (%%) '
  not_enough_data: ' Ikke nok data'
  streaks_title: ' Rekker '
  current_streak: '  Naavaerende: '
  best_streak: '    Beste: '
  active_days: '    Aktive dager: '
  top_days_none: '  Toppdager: ingen'
  top_days: '  Toppdager: %{days}'
  wpm_label: '  WPM: %{avg}/%{target} (%{pct}%%)'
  acc_label: '  Noey: %{pct}%%'
  keys_label: '  Taster: %{unlocked}/%{total} (%{mastered} mestret)'
  ngram_empty: 'Fullfaor noen adaptive oevelser for aa se n-gram data'
  ngram_header_speed_narrow: ' Bgrm Hast Forv Anom%'
  ngram_header_error_narrow: ' Bgrm Feil Stp Freq Forv Anom%'
  ngram_header_speed: ' Bigram   Hast   Forvent  Stikkpr.  Anom%'
  ngram_header_error: ' Bigram  Feil    Stikkpr.  Freq  Forvent   Anom%'
  focus_title: ' Aktivt fokus '
  focus_char_label: '  Fokus: '
  focus_bigram_value: 'Bigram %{label}'
  focus_plus: ' + '
  anomaly_error: 'feil'
  anomaly_speed: 'hastighet'
  focus_detail_both: '  Tegn ''%{ch}'': svakeste tast | Bigram %{label}: %{type}-anomali %{pct}%%'
  focus_detail_char_only: '  Tegn ''%{ch}'': svakeste tast, ingen bekreftede bigram-anomalier'
  focus_detail_bigram_only: '  (%{type}-anomali: %{pct}%%)'
  focus_empty: '  Fullfaor noen adaptive oevelser for aa se fokusdata'
  error_anomalies_title: ' Feil-anomalier (%{count}) '
  no_error_anomalies: ' Ingen feil-anomalier oppdaget'
  speed_anomalies_title: ' Hastighets-anomalier (%{count}) '
  no_speed_anomalies: ' Ingen hastighets-anomalier oppdaget'
  scope_label_prefix: ' '
  bi_label: ' | Bi: %{count}'
  hes_label: ' | Hes: >%{ms}ms'
  focus_char_value: 'Tegn ''%{ch}'''

# Activity heatmap
heatmap:
  title: ' Daglig aktivitet (Oekter per dag) '
  jan: 'Jan'
  feb: 'Feb'
  mar: 'Mar'
  apr: 'Apr'
  may: 'Mai'
  jun: 'Jun'
  jul: 'Jul'
  aug: 'Aug'
  sep: 'Sep'
  oct: 'Okt'
  nov: 'Nov'
  dec: 'Des'

# Chart
chart:
  wpm_over_time: ' WPM over tid '
  drill_number: 'Oevelse #'

# Settings
settings:
  title: ' Innstillinger '
  subtitle: 'Piltaster for aa navigere, Enter/Hoeyre for aa endre, ESC for aa lagre'
  target_wpm: 'Maal-WPM'
  theme: 'Tema'
  word_count: 'Antall ord'
  ui_language: 'Spraak (UI)'
  dictionary_language: 'Ordlistespraak'
  keyboard_layout: 'Tastaturoppsett'
  code_language: 'Kodespraak'
  code_downloads: 'Kode-nedlastinger'
  on: 'Paa'
  off: 'Av'
  code_download_dir: 'Kode-nedlastingsmappe'
  snippets_per_repo: 'Utdrag per repo'
  unlimited: 'Ubegrenset'
  download_code_now: 'Last ned kode naa'
  run_downloader: 'Start nedlasting'
  passage_downloads: 'Tekst-nedlastinger'
  passage_download_dir: 'Tekst-nedlastingsmappe'
  paragraphs_per_book: 'Avsnitt per bok'
  whole_book: 'Hele boken'
  download_passages_now: 'Last ned tekster naa'
  export_path: 'Eksportsti'
  export_data: 'Eksporter data'
  export_now: 'Eksporter naa'
  import_path: 'Importsti'
  import_data: 'Importer data'
  import_now: 'Importer naa'
  hint_save_back: 'Lagre & tilbake'
  hint_change_value: 'Endre verdi'
  hint_edit_path: 'Rediger'
  hint_move: 'Flytt'
  hint_tab_complete: 'Fullfaor (paa slutten)'
  hint_confirm: 'Bekreft'
  hint_cancel: 'Avbryt'
  success_title: ' Suksess '
  error_title: ' Feil '
  press_any_key: 'Trykk paa en tast'
  file_exists_title: ' Filen finnes '
  file_exists: 'Det finnes allerede en fil paa denne stien.'
  overwrite_rename: '[d] Overskriv  [r] Gi nytt navn  [Esc] Avbryt'
  erase_warning: 'Dette vil slette dine naavaerende data.'
  export_first: 'Eksporter foerst hvis du vil beholde dem.'
  proceed_yn: 'Fortsett? (y/n)'
  confirm_import_title: ' Bekreft import '

# Selection screens
select:
  dictionary_language_title: ' Velg ordlistespraak '
  keyboard_layout_title: ' Velg tastaturoppsett '
  code_language_title: ' Velg kodespraak '
  passage_source_title: ' Velg tekstkilde '
  ui_language_title: ' Velg spraak (UI) '
  more_above: '... %{count} flere over ...'
  more_below: '... %{count} flere under ...'
  current: ' (naavaerende)'
  disabled: ' (deaktivert)'
  enabled_default: ' (aktivert, standard: %{layout})'
  enabled: ' (aktivert)'
  disabled_blocked: ' (deaktivert: blokkert)'
  built_in: ' (innebygd)'
  cached: ' (lagret)'
  disabled_download: ' (deaktivert: nedlasting kraeves)'
  download_required: ' (nedlasting kraeves)'
  hint_navigate: 'Naviger'
  hint_confirm: 'Bekreft'
  hint_back: 'Tilbake'
  language_resets_layout: 'Spraakvalg tilbakestiller tastaturoppsett til spraakets standard.'
  layout_no_language_change: 'Oppsettendringer endrer ikke ordlistespraaket.'
  disabled_network_notice: 'Noen spraak er deaktivert: aktiver nettverksnedlastinger i intro/innstillinger.'
  disabled_sources_notice: 'Noen kilder er deaktivert: aktiver nettverksnedlastinger i intro/innstillinger.'
  passage_all: 'Alle (Innebygde + alle boeker)'
  passage_builtin: 'Kun innebygde passasjer'
  passage_book_prefix: 'Bok: %{title}'

# Progress
progress:
  overall_key_progress: 'Total tastefremgang'
  unlocked_mastered: '%{unlocked}/%{total} laast opp (%{mastered} mestret)'

# Skill tree
skill_tree:
  title: ' Ferdighetstre '
  locked: 'Laast'
  unlocked: 'laast opp'
  mastered: 'mestret'
  in_progress: 'paagaar'
  complete: 'fullfoert'
  locked_status: 'laast'
  locked_notice: 'Fullfaor %{count} grunnbokstaver for aa laase opp grener'
  branches_separator: 'Grener (tilgjengelige etter %{count} grunnbokstaver)'
  unlocked_letters: '%{unlocked}/%{total} bokstaver laast opp'
  level: 'Nivaa %{current}/%{total}'
  level_zero: 'Nivaa 0/%{total}'
  in_focus: '  i fokus'
  hint_navigate: 'Naviger'
  hint_scroll: 'Rull'
  hint_back: 'Tilbake'
  hint_unlock: 'Laas opp'
  hint_start_drill: 'Start oevelse'
  unlock_msg_1: 'Etter opplaasing blandes oplaaste taster fra denne grenen inn i den adaptive oevelsen.'
  unlock_msg_2: 'Vil du kun oeve denne grenen, start en oevelse direkte fra denne grenen i Ferdighetstreet.'
  confirm_unlock: 'Laas opp %{branch}?'
  confirm_yn: '[y] Laas opp  [n/ESC] Avbryt'
  lvl_prefix: 'Niv'
  branch_primary_letters: 'Grunnbokstaver'
  branch_capital_letters: 'Store bokstaver'
  branch_numbers: 'Tall 0-9'
  branch_prose_punctuation: 'Tegnsetting'
  branch_whitespace: 'Mellomrom'
  branch_code_symbols: 'Kodesymboler'
  level_frequency_order: 'Frekvensrekkefoelge'
  level_common_sentence_capitals: 'Vanlige setningsstorbokst.'
  level_name_capitals: 'Navnestorbokstaver'
  level_remaining_capitals: 'Oevrige storbokstaver'
  level_common_digits: 'Vanlige siffer'
  level_all_digits: 'Alle siffer'
  level_essential: 'Grunnleggende'
  level_common: 'Vanlige'
  level_expressive: 'Uttrykksfull'
  level_enter_return: 'Enter/Return'
  level_tab_indent: 'Tab/Innrykk'
  level_arithmetic_assignment: 'Aritmetikk & Tilordning'
  level_grouping: 'Gruppering'
  level_logic_reference: 'Logikk & Referanse'
  level_special: 'Spesial'

# Milestones
milestones:
  unlock_title: ' Tast laast opp! '
  mastery_title: ' Tast mestret! '
  branches_title: ' Nye ferdighetsgrener tilgjengelige! '
  branch_complete_title: ' Gren fullfoert! '
  all_unlocked_title: ' Alle taster laast opp! '
  all_mastered_title: ' Full tastaturmestring! '
  unlocked: 'laast opp'
  mastered: 'mestret'
  use_finger: 'Bruk %{finger}'
  hold_right_shift: 'Hold hoyre Shift (hoeyre lillefinger)'
  hold_left_shift: 'Hold venstre Shift (venstre lillefinger)'
  congratulations_all_letters: 'Gratulerer! Du har mestret alle %{count} grunnbokstaver'
  new_branches_available: 'Nye ferdighetsgrener er naa tilgjengelige:'
  visit_skill_tree: 'Besoek Ferdighetstreet for aa laase opp en ny gren'
  and_start_training: 'og begynn aa trene!'
  open_skill_tree: 'Trykk [t] for aa aapne Ferdighetstreet naa'
  branch_complete_msg: 'Du har fullfoert grenen %{branch}!'
  all_levels_mastered: 'Alle %{count} nivaaer mestret.'
  all_keys_confident: 'Hver tast i denne grenen har full tillit.'
  all_unlocked_msg: 'Du har laast opp hver tast paa tastaturet!'
  all_unlocked_desc: 'Hvert tegn, symbol og modifikator er naa tilgjengelig i oevelsene dine.'
  keep_practicing_mastery: 'Fortsett aa oeve for aa bygge mestring — naar hver tast naar full'
  confidence_complete: 'tillit, har du oppnaad fullstendig tastaturmestring!'
  all_mastered_msg: 'Gratulerer — du har oppnaad fullstendig tastaturmestring!'
  all_mastered_desc: 'Hver tast paa tastaturet har maksimal tillit.'
  mastery_takes_practice: 'Mestring er ikke et maal — det krever vedvarende oeving.'
  keep_drilling: 'Fortsett aa oeve for aa holde deg skarp.'
  hint_skill_tree_continue: 'Ferdighetstre  [Annen tast] Fortsett'
  hint_any_key: 'Trykk paa en tast for aa fortsette'
  input_blocked: 'Inndata midlertidig blokkert (%{ms}ms gjenstaar)'
  unlock_msg_1: 'Bra jobbet! Fortsett aa bygge skriveferdighetene dine.'
  unlock_msg_2: 'Enda en tast i arsenalet ditt!'
  unlock_msg_3: 'Tastaturet ditt vokser! Fortsett slik.'
  unlock_msg_4: 'Et skritt naermere full tastaturmestring!'
  mastery_msg_1: 'Denne tasten har naa full tillit!'
  mastery_msg_2: 'Du mestrer denne tasten perfekt!'
  mastery_msg_3: 'Muskelminne forankret!'
  mastery_msg_4: 'Enda en tast erobret!'

# Adaptive drill intro overlay
adaptive_intro:
  title: ' Velkommen til keydr! '
  how_it_works: 'Slik fungerer adaptive oevelser:'
  description: 'Du starter med et lite sett av de vanligste bokstavene laast opp. Oevelsen genererer bare ord som bruker disse bokstavene. Etter hvert som du skriver dem med trygghet, laases nye taster gradvis opp til du har mestret hele tastaturet.'
  target_wpm_label: 'Maal-WPM:'
  target_wpm_desc: 'Dette paavirker hvor raskt taster laases opp — hoeyere maal krever raskere skriving. 35 WPM er et godt utgangspunkt hvis du er usikker. Du kan alltid endre dette senere i innstillingene.'
  hint_adjust: 'Juster WPM'
  hint_start: 'Start oevelse'
  hint_back: 'Hovedmeny'

# Keyboard explorer
keyboard:
  title: ' Tastatur '
  subtitle: 'Trykk paa en tast eller klikk paa en tast'
  hint_navigate: 'Naviger'
  hint_back: 'Tilbake'
  key_label: 'Tast: '
  finger_label: 'Finger: '
  hand_left: 'Venstre'
  hand_right: 'Hoeyre'
  finger_index: 'Pekefinger'
  finger_middle: 'Langfinger'
  finger_ring: 'Ringfinger'
  finger_pinky: 'Lillefinger'
  finger_thumb: 'Tommel'
  overall_accuracy: '  Total noeyaktighet: %{correct}/%{total} (%{pct}%%)'
  ranked_accuracy: '  Rangert noeyaktighet: %{correct}/%{total} (%{pct}%%)'
  confidence: 'Tillit: '
  no_data: 'Ingen data ennaa'
  no_data_short: 'Ingen data'
  key_details: ' Tastdetaljer '
  key_details_char: ' Tastdetaljer: ''%{ch}'' '
  key_details_name: ' Tastdetaljer: %{name} '
  press_key_hint: 'Trykk paa en tast for detaljer'
  shift_label: 'Shift: '
  shift_no: 'Nei'
  overall_avg_time: 'Total snittid: '
  overall_best_time: 'Total beste tid: '
  overall_samples: 'Total stikkproever: '
  overall_accuracy_label: 'Total noeyaktighet: '
  branch_label: 'Gren: '
  level_label: 'Nivaa: '
  built_in_key: 'Innebygd tast'
  unlocked_label: 'Laast opp: '
  yes: 'Ja'
  no: 'Nei'
  in_focus_label: 'I fokus?: '
  mastery_label: 'Mestring: '
  mastery_locked: 'Laast'
  ranked_avg_time: 'Rangert snittid: '
  ranked_best_time: 'Rangert beste tid: '
  ranked_samples: 'Rangerte stikkproever: '
  ranked_accuracy_label: 'Rangert noeyaktighet: '

# Intro dialogs
intro:
  passage_title: ' Tekst-nedlasting oppsett '
  code_title: ' Kode-nedlasting oppsett '
  enable_downloads: 'Aktiver nettverksnedlastinger'
  download_dir: 'Nedlastingsmappe'
  paragraphs_per_book: 'Avsnitt per bok (0 = hele)'
  whole_book: 'hele boken'
  snippets_per_repo: 'Utdrag per repo (0 = ubegrenset)'
  unlimited: 'ubegrenset'
  start_passage_drill: 'Start tekstoevelse'
  start_code_drill: 'Start kodeoevelse'
  confirm: 'Bekreft'
  hint_navigate: 'Naviger'
  hint_adjust: 'Juster'
  hint_edit: 'Rediger'
  hint_confirm: 'Bekreft'
  hint_cancel: 'Avbryt'
  preparing_download: 'Forbereder nedlasting...'
  download_passage_title: ' Laster ned tekstkilde '
  download_code_title: ' Laster ned kodekilde '
  book_label: ' Bok: %{name}'
  repo_label: ' Repo: %{name}'
  progress_bytes: '[%{name}] %{downloaded}/%{total}  bytes'
  downloaded_bytes: 'Lastet ned: %{bytes} bytes'
  downloading_book_progress: 'Laster ned gjeldende bok: [%{bar}] %{downloaded}/%{total} bytes'
  downloading_book_bytes: 'Laster ned gjeldende bok: %{bytes} bytes'
  downloading_code_progress: 'Laster ned: [%{bar}] %{downloaded}/%{total} bytes'
  downloading_code_bytes: 'Laster ned: %{bytes} bytes'
  current_book: 'Gjeldende: %{name}  (bok %{done}/%{total})'
  current_repo: 'Gjeldende: %{name}  (repo %{done}/%{total})'
  passage_instructions_1: 'keydr kan laste ned passasjer fra Project Gutenberg for skriveoeving.'
  passage_instructions_2: 'Boeker lastes ned en gang og lagres lokalt.'
  passage_instructions_3: 'Konfigurer nedlastingsinnstillinger nedenfor og start en tekstoevelse.'
  code_instructions_1: 'keydr kan laste ned aapen kildekode fra GitHub for skriveoeving.'
  code_instructions_2: 'Kode lastes ned en gang og lagres lokalt.'
  code_instructions_3: 'Konfigurer nedlastingsinnstillinger nedenfor og start en kodeoevelse.'

# Status messages (from app.rs)
status:
  recovery_files: 'Gjenopprettingsfiler funnet fra avbrutt import. Data kan vaere inkonsistent — vurder aa importere paa nytt.'
  dir_not_exist: 'Mappe finnes ikke: %{path}'
  no_data_store: 'Ingen datalager tilgjengelig'
  serialization_error: 'Serialiseringsfeil: %{error}'
  exported_to: 'Eksportert til %{path}'
  export_failed: 'Eksport mislyktes: %{error}'
  could_not_read: 'Kunne ikke lese filen: %{error}'
  invalid_export: 'Ugyldig eksportfil: %{error}'
  unsupported_version: 'Eksportversjon stoettes ikke: %{got} (forventet %{expected})'
  import_failed: 'Import mislyktes: %{error}'
  imported_theme_fallback: 'Importert (tema ''%{theme}'' ikke funnet, standard brukes)'
  imported_success: 'Importert'
  adaptive_unavailable: 'Adaptiv rangert modus ikke tilgjengelig: %{error}'
  switched_to: 'Byttet til %{name}'
  layout_changed: 'Oppsett endret til %{name}'

# Errors (for UI boundary translation)
errors:
  unknown_language: 'Ukjent spraak: %{key}'
  unknown_layout: 'Ukjent tastaturoppsett: %{key}'
  unsupported_pair: 'Ikke-stoettet spraak-/oppsettpar: %{language} + %{layout}'
  language_blocked: 'Spraak blokkert av stoettenivaa: %{key}'

# Common
common:
  wpm: 'WPM'
  cpm: 'CPM'
  back: 'Tilbake'
