import type { Translations } from "./types";

export const af: Translations = {
  common: {
    save: "Stoor",
    saving: "Besig om te stoor...",
    cancel: "Kanselleer",
    close: "Maak toe",
    confirm: "Bevestig",
    delete: "Skrap",
    refresh: "Herlaai",
    retry: "Probeer weer",
    search: "Soek...",
    loading: "Besig om te laai...",
    create: "Skep",
    creating: "Besig om te skep...",
    set: "Stel",
    replace: "Vervang",
    clear: "Vee uit",
    live: "Lewendig",
    off: "Af",
    enabled: "geaktiveer",
    disabled: "gedeaktiveer",
    active: "aktief",
    inactive: "onaktief",
    unknown: "onbekend",
    untitled: "Sonder titel",
    none: "Geen",
    form: "Vorm",
    noResults: "Geen resultate",
    of: "van",
    page: "Bladsy",
    msgs: "boodskappe",
    tools: "gereedskap",
    match: "passing",
    other: "Ander",
    configured: "gekonfigureer",
    removed: "verwyder",
    failedToToggle: "Kon nie wissel nie",
    failedToRemove: "Kon nie verwyder nie",
    failedToReveal: "Kon nie openbaar nie",
    collapse: "Vou in",
    expand: "Vou uit",
    general: "Algemeen",
    messaging: "Boodskappe",
    pluginLoadFailed:
      "Kon nie hierdie inprop se skrip laai nie. Kontroleer die Netwerk-oortjie (dashboard-plugins/…) en die bediener se inprop-pad.",
    pluginNotRegistered:
      "Die inprop se skrip het nie register() geroep nie, of die skrip het 'n fout gegee. Maak die blaaier-konsole oop vir besonderhede.",
  },

  app: {
    brand: "Hermes Agent",
    brandShort: "HA",
    closeNavigation: "Maak navigasie toe",
    closeModelTools: "Maak model en gereedskap toe",
    footer: {
      org: "Nous Research",
    },
    activeSessionsLabel: "Aktiewe Sessies:",
    gatewayStatusLabel: "Gateway-status:",
    gatewayStrip: {
      failed: "Begin het misluk",
      off: "Af",
      running: "Loop",
      starting: "Begin",
      stopped: "Gestop",
    },
    nav: {
      analytics: "Analise",
      chat: "Klets",
      config: "Konfigurasie",
      cron: "Cron",
      documentation: "Dokumentasie",
      keys: "Sleutels",
      logs: "Logs",
      models: "Modelle",
      profiles: "profiele : multi-agente",
      plugins: "Inproppe",
      sessions: "Sessies",
      skills: "Vaardighede",
    },
    modelToolsSheetSubtitle: "& gereedskap",
    modelToolsSheetTitle: "Model",
    navigation: "Navigasie",
    openDocumentation: "Maak dokumentasie in 'n nuwe oortjie oop",
    openNavigation: "Maak navigasie oop",
    pluginNavSection: "Inproppe",
    sessionsActiveCount: "{count} aktief",
    statusOverview: "Statusoorsig",
    system: "Stelsel",
    webUi: "Web UI",
  },

  status: {
    actionFailed: "Aksie het misluk",
    actionFinished: "Voltooi",
    actions: "Aksies",
    agent: "Agent",
    activeSessions: "Aktiewe Sessies",
    connected: "Gekoppel",
    connectedPlatforms: "Gekoppelde Platforms",
    disconnected: "Ontkoppel",
    error: "Fout",
    failed: "Misluk",
    gateway: "Gateway",
    gatewayFailedToStart: "Gateway kon nie begin nie",
    lastUpdate: "Laaste opdatering",
    noneRunning: "Geen",
    notRunning: "Loop nie",
    pid: "PID",
    platformDisconnected: "ontkoppel",
    platformError: "fout",
    recentSessions: "Onlangse Sessies",
    restartGateway: "Herbegin Gateway",
    restartingGateway: "Besig om gateway te herbegin…",
    running: "Loop",
    runningRemote: "Loop (afgeleë)",
    startFailed: "Begin het misluk",
    starting: "Begin",
    startedInBackground: "Begin in agtergrond — kyk logs vir vordering",
    stopped: "Gestop",
    updateHermes: "Werk Hermes op",
    updatingHermes: "Besig om Hermes op te werk…",
    waitingForOutput: "Wag vir uitset…",
  },

  sessions: {
    title: "Sessies",
    history: "Geskiedenis",
    overview: "Oorsig",
    searchPlaceholder: "Soek boodskap-inhoud...",
    noSessions: "Nog geen sessies nie",
    noMatch: "Geen sessies stem ooreen met jou soektog nie",
    startConversation: "Begin 'n gesprek om dit hier te sien",
    noMessages: "Geen boodskappe",
    untitledSession: "Sessie sonder titel",
    deleteSession: "Skrap sessie",
    confirmDeleteTitle: "Skrap sessie?",
    confirmDeleteMessage:
      "Dit verwyder die gesprek en al sy boodskappe permanent. Dit kan nie ongedaan gemaak word nie.",
    sessionDeleted: "Sessie geskrap",
    failedToDelete: "Kon nie sessie skrap nie",
    deleteEmpty: "Skrap leë",
    deleteEmptyConfirmTitle: "Skrap leë sessies?",
    deleteEmptyConfirmMessage:
      "Dit verwyder permanent {count} sessies wat geen boodskappe het nie. Aktiewe en geargiveerde sessies word oorgeslaan. Dit kan nie ongedaan gemaak word nie.",
    emptySessionsDeleted: "{count} leë sessies geskrap",
    failedToDeleteEmpty: "Kon nie leë sessies skrap nie",
    selectSession: "Kies sessie",
    selectAllOnPage: "Kies alles op hierdie bladsy",
    clearSelection: "Maak keuse skoon",
    selectedCount: "{count} gekies",
    deleteSelected: "Skrap {count}",
    deleteSelectedConfirmTitle: "Skrap {count} sessies?",
    deleteSelectedConfirmMessage:
      "Dit verwyder {count} gekose sessies en al hul boodskappe permanent. Dit kan nie ongedaan gemaak word nie.",
    selectedSessionsDeleted: "{count} sessies geskrap",
    failedToDeleteSelected: "Kon nie gekose sessies skrap nie",
    resumeInChat: "Hervat in Klets",
    newChat: "Nuwe klets",
    previousPage: "Vorige bladsy",
    nextPage: "Volgende bladsy",
    roles: {
      user: "Gebruiker",
      assistant: "Assistent",
      system: "Stelsel",
      tool: "Gereedskap",
    },
  },

  analytics: {
    period: "Tydperk:",
    totalTokens: "Totale Tokens",
    totalSessions: "Totale Sessies",
    apiCalls: "API-oproepe",
    dailyTokenUsage: "Daaglikse Tokengebruik",
    dailyBreakdown: "Daaglikse Uiteensetting",
    perModelBreakdown: "Per-Model Uiteensetting",
    topSkills: "Top Vaardighede",
    skill: "Vaardigheid",
    loads: "Agent Gelaai",
    edits: "Agent Bestuur",
    lastUsed: "Laas Gebruik",
    input: "Inset",
    output: "Uitset",
    total: "Totaal",
    noUsageData: "Geen gebruiksdata vir hierdie tydperk nie",
    startSession: "Begin 'n sessie om analise hier te sien",
    date: "Datum",
    model: "Model",
    tokens: "Tokens",
    perDayAvg: "/dag gem.",
    acrossModels: "oor {count} modelle",
    inOut: "{input} in / {output} uit",
  },

  models: {
    modelsUsed: "Modelle Gebruik",
    estimatedCost: "Geskatte Koste",
    tokens: "tokens",
    sessions: "sessies",
    avgPerSession: "gem./sessie",
    apiCalls: "API-oproepe",
    toolCalls: "gereedskap-oproepe",
    noModelsData: "Geen modelgebruiksdata vir hierdie tydperk nie",
    startSession: "Begin 'n sessie om modeldata hier te sien",
  },

  logs: {
    title: "Logs",
    autoRefresh: "Outo-herlaai",
    file: "Lêer",
    level: "Vlak",
    component: "Komponent",
    lines: "Reëls",
    noLogLines: "Geen logreëls gevind nie",
  },

  cron: {
    confirmDeleteMessage:
      "Dit verwyder die taak van die skedule. Dit kan nie ongedaan gemaak word nie.",
    confirmDeleteTitle: "Skrap geskeduleerde taak?",
    newJob: "Nuwe Cron-taak",
    nameOptional: "Naam (opsioneel)",
    namePlaceholder: "bv. Daaglikse opsomming",
    prompt: "Opdrag",
    promptPlaceholder: "Wat moet die agent met elke uitvoering doen?",
    schedule: "Skedule (cron-uitdrukking)",
    schedulePlaceholder: "0 9 * * *",
    scheduleMode: "Skedule",
    scheduleModes: {
      interval: "Herhalende interval",
      daily: "Daagliks",
      weekly: "Weekliks",
      monthly: "Maandeliks",
      once: "Een keer",
      custom: "Pasgemaak (cron-uitdrukking)",
      intervalEvery: "Elke",
      intervalUnit: "Eenheid",
      unitMinutes: "minute",
      unitHours: "ure",
      unitDays: "dae",
      timeOfDay: "Tyd van die dag",
      weekdays: "Dae van die week",
      weekdaysShort: ["Son", "Maa", "Din", "Woe", "Don", "Vry", "Sat"],
      dayOfMonth: "Dag van die maand",
      onceAt: "Hardloop op",
      customLabel: "Cron-uitdrukking",
      customPlaceholder: "0 9 * * *",
      customHint:
        "Cron-uitdrukking met vyf velde (minuut, uur, dag, maand, weekdag).",
      preview: "Word gestuur as",
      previewEmpty: "(onvolledig)",
    },
    scheduleDescribe: {
      none: "—",
      everyMinutes: "Elke {n} min",
      everyHours: "Elke {n} u",
      everyDays: "Elke {n} d",
      dailyAt: "Daagliks om {time}",
      weeklyAt: "Weekliks op {days} om {time}",
      monthlyAt: "Maandeliks op die {day} om {time}",
      onceAt: "Een keer op {time}",
    },
    deliverTo: "Lewer aan",
    scheduledJobs: "Geskeduleerde Take",
    noJobs: "Geen cron-take gekonfigureer nie. Skep een hierbo.",
    last: "Laaste",
    next: "Volgende",
    pause: "Pouse",
    resume: "Hervat",
    triggerNow: "Voer nou uit",
    delivery: {
      local: "Plaaslik",
      telegram: "Telegram",
      discord: "Discord",
      slack: "Slack",
      email: "Email",
    },
  },

  profiles: {
    newProfile: "Nuwe Profiel",
    name: "Naam",
    namePlaceholder: "bv. coder, writer, ens.",
    nameRequired: "Naam word vereis",
    nameRule:
      "Slegs kleinletters, syfers, _ en -; moet met 'n letter of syfer begin; tot 64 karakters.",
    invalidName: "Ongeldige profielnaam",    cloneFrom: "Kloon konfigurasie vanaf profiel",
    cloneFromNone: "Geen (leeg)",
    allProfiles: "Profiele",
    noProfiles: "Geen profiele gevind nie.",
    defaultBadge: "verstek",
    hasEnv: "env",
    model: "Model",
    skills: "Vaardighede",
    rename: "Hernoem",
    editSoul: "Wysig SOUL.md",
    soulSection: "SOUL.md (persoonlikheid / stelselopdrag)",
    soulPlaceholder: "# Hoe hierdie agent moet optree…",
    saveSoul: "Stoor SOUL",
    soulSaved: "SOUL.md gestoor",
    openInTerminal: "Kopieer CLI-opdrag",
    commandCopied: "Na knipbord gekopieer",
    copyFailed: "Kon nie kopieer nie",
    confirmDeleteTitle: "Skrap profiel?",
    confirmDeleteMessage:
      "Dit skrap profiel '{name}' permanent — konfigurasie, sleutels, geheue, sessies, vaardighede, cron-take. Kan nie ongedaan gemaak word nie.",
    created: "Geskep",
    deleted: "Geskrap",
    renamed: "Hernoem",
  },

  pluginsPage: {
    contextEngineLabel: "Konteks-enjin",
    dashboardSlots: "Dashboard-gleuwe",
    disableRuntime: "Deaktiveer",
    enableAfterInstall: "Aktiveer ná installasie",
    enableRuntime: "Aktiveer",
    forceReinstall: "Forseer herinstallasie (skrap eers bestaande gids)",
    headline:
      "Ontdek, installeer, aktiveer en werk Hermes-inproppe op (`hermes plugins` ekwivalent).",
    identifierLabel: "Git-URL of owner/repo",
    inactive: "onaktief",
    installBtn: "Installeer",
    installHeading: "Installeer vanaf GitHub / Git-URL",
    installHint: "Gebruik owner/repo-kortvorm of 'n volledige https:// of git@ kloon-URL.",
    memoryProviderLabel: "Geheueverskaffer",
    missingEnvWarn: "Stel hierdie in Sleutels voordat die inprop kan loop:",
    noDashboardTab: "Geen dashboard-oortjie",
    openTab: "Maak oop",
    orphanHeading: "Slegs-dashboard-uitbreidings (geen ooreenstemmende agent plugin.yaml nie)",
    pluginListHeading: "Geïnstalleerde inproppe",
    providerDefaults: "ingebou / verstek",
    providersHeading: "Looptyd-verskafferinproppe",
    providersHint:
      "Skryf memory.provider (leeg = ingebou) en context.engine na config.yaml. Tree volgende sessie in werking.",
    refreshDashboard: "Herskandeer dashboard-uitbreidings",
    removeConfirm: "Verwyder hierdie inprop uit ~/.hermes/plugins/?",
    removeHint: "Slegs gebruiker-geïnstalleerde inproppe onder ~/.hermes/plugins kan verwyder word.",
    rescanHeading: "SPA-inprop-register",
    rescanHint: "Herskandeer ná die byvoeg van lêers op skyf sodat die dashboard-sybalk nuwe manifeste optel.",
    runtimeHeading: "Gateway-looptyd (YAML-inproppe)",
    saveProviders: "Stoor verskaffer-instellings",
    savedProviders: "Verskaffer-instellings gestoor.",
    sourceBadge: "Bron",
    authRequired: "Verifikasie vereis",
    authRequiredHint: "Voer hierdie opdrag uit om te verifieer:",
    updateGit: "Git pull",
    versionBadge: "Weergawe",
    showInSidebar: "Wys in sybalk",
    hideFromSidebar: "Versteek van sybalk",
  },

  skills: {
    title: "Vaardighede",
    searchPlaceholder: "Soek vaardighede en gereedskapstelle...",
    enabledOf: "{enabled}/{total} geaktiveer",
    all: "Alles",
    categories: "Kategorieë",
    filters: "Filters",
    noSkills: "Geen vaardighede gevind nie. Vaardighede word gelaai uit ~/.hermes/skills/",
    noSkillsMatch: "Geen vaardighede stem ooreen met jou soektog of filter nie.",
    skillCount: "{count} vaardighe{s}id",
    resultCount: "{count} resulta{s}at",
    noDescription: "Geen beskrywing beskikbaar nie.",
    toolsets: "Gereedskapstelle",
    toolsetLabel: "{name} gereedskapstel",
    noToolsetsMatch: "Geen gereedskapstelle stem ooreen met die soektog nie.",
    setupNeeded: "Opstelling nodig",
    disabledForCli: "Gedeaktiveer vir CLI",
    more: "+{count} meer",
  },

  config: {
    configPath: "~/.hermes/config.yaml",
    filters: "Filters",
    sections: "Afdelings",
    exportConfig: "Voer konfigurasie uit as JSON",
    importConfig: "Voer konfigurasie in vanaf JSON",
    resetDefaults: "Stel terug na verstek",
    resetScopeTooltip: "Stel {scope} terug na verstek",
    confirmResetScope: "Stel alle {scope}-instellings terug na hul verstek? Dit werk slegs die vorm op — veranderinge word nie na config.yaml geskryf voordat jy Stoor druk nie.",
    resetScopeToast: "{scope} teruggestel na verstek — kontroleer en Stoor om te behou",
    rawYaml: "Rou YAML-konfigurasie",
    searchResults: "Soekresultate",
    fields: "veld{s}",
    noFieldsMatch: 'Geen velde stem ooreen met "{query}" nie',
    configSaved: "Konfigurasie gestoor",
    yamlConfigSaved: "YAML-konfigurasie gestoor",
    failedToSave: "Kon nie stoor nie",
    failedToSaveYaml: "Kon nie YAML stoor nie",
    failedToLoadRaw: "Kon nie rou konfigurasie laai nie",
    configImported: "Konfigurasie ingevoer — kontroleer en stoor",
    invalidJson: "Ongeldige JSON-lêer",
    categories: {
      general: "Algemeen",
      agent: "Agent",
      terminal: "Terminaal",
      display: "Vertoon",
      delegation: "Delegasie",
      memory: "Geheue",
      compression: "Kompressie",
      security: "Sekuriteit",
      browser: "Blaaier",
      voice: "Stem",
      tts: "Teks-na-Spraak",
      stt: "Spraak-na-Teks",
      logging: "Aantekening",
      discord: "Discord",
      auxiliary: "Hulpmiddels",
    },
  },

  env: {
    changesNote: "Veranderinge word onmiddellik na skyf gestoor. Aktiewe sessies tel nuwe sleutels outomaties op.",
    confirmClearMessage:
      "Die gestoorde waarde vir hierdie veranderlike sal uit jou .env-lêer verwyder word. Dit kan nie vanaf die UI ongedaan gemaak word nie.",
    confirmClearTitle: "Vee hierdie sleutel uit?",
    description: "Bestuur API-sleutels en geheime gestoor in",
    hideAdvanced: "Versteek Gevorderd",
    showAdvanced: "Wys Gevorderd",
    showLess: "Wys minder",
    showMore: "Wys meer",
    llmProviders: "LLM-verskaffers",
    providersConfigured: "{configured} van {total} verskaffers gekonfigureer",
    getKey: "Kry sleutel",
    notConfigured: "{count} nie gekonfigureer nie",
    notSet: "Nie gestel nie",
    keysCount: "{count} sleutel{s}",
    enterValue: "Voer waarde in...",
    replaceCurrentValue: "Vervang huidige waarde ({preview})",
    showValue: "Wys werklike waarde",
    hideValue: "Versteek waarde",
    customTitle: "Pasgemaakte sleutels",
    customHint: "Arbitrêre omgewingsveranderlikes wat in jou .env gestoor is en wat Hermes nie herken nie. Gebruik dit om omgewingsveranderlikes vir vaardighede, MCP-bedieners of jou eie gereedskap in te spuit.",
    customConfigured: "{count} pasgemaakte sleutel(s) gestel",
    addCustomKey: "Voeg 'n pasgemaakte sleutel by",
    customKeyName: "Veranderlike naam",
    customKeyNamePlaceholder: "bv. MY_SERVICE_API_KEY",
    add: "Voeg by",
    invalidKeyName: "Gebruik slegs letters, syfers en onderstrepe (moet met 'n letter of onderstreep begin).",
  },

  oauth: {
    title: "Verskaffer-aanmeldings (OAuth)",
    providerLogins: "Verskaffer-aanmeldings (OAuth)",
    description:
      "{connected} van {total} OAuth-verskaffers gekoppel. Gebruik Meld aan vir vloeie wat die kontroleskerm ondersteun; CLI-opdragte bly beskikbaar vir eksterne of terugval-opstelling.",
    connected: "Gekoppel",
    expired: "Verval",
    notConnected: "Nie gekoppel nie. Gebruik Meld aan indien beskikbaar, of voer {command} uit in 'n terminaal.",
    runInTerminal: "in 'n terminaal.",
    noProviders: "Geen OAuth-bekwame verskaffers opgespoor nie.",
    login: "Meld aan",
    disconnect: "Ontkoppel",
    managedExternally: "Ekstern bestuur",
    copied: "Gekopieer ✓",
    copyCode: "Kopieer kode",
    copyFailed: "Kon nie outomaties kopieer nie. Kies die kode en kopieer dit met die hand.",
    cli: "Kopieer",
    copyCliCommand: "Kopieer CLI-opdrag (vir ekstern / terugval)",
    connect: "Koppel",
    sessionExpires: "Sessie verval oor {time}",
    initiatingLogin: "Aanmeldvloei word begin…",
    exchangingCode: "Kode word vir tokens omgeruil…",
    connectedClosing: "Gekoppel! Besig om toe te maak…",
    loginFailed: "Aanmelding het misluk.",
    sessionExpired: "Sessie het verval. Klik Probeer weer om 'n nuwe aanmelding te begin.",
    reOpenAuth: "Heropen verifikasiebladsy",
    reOpenVerification: "Heropen verifikasiebladsy",
    submitCode: "Dien kode in",
    pasteCode: "Plak magtigingskode (met #state agtervoegsel is in die haak)",
    waitingAuth: "Wag vir jou om in die blaaier te magtig…",
    enterCodePrompt: "'n Nuwe oortjie het oopgegaan. Voer hierdie kode in indien gevra:",
    pkceStep1: "'n Nuwe oortjie het na claude.ai oopgegaan. Meld aan en klik Magtig.",
    pkceStep2: "Kopieer die magtigingskode wat ná magtiging vertoon word.",
    pkceStep3: "Plak dit hieronder en dien in.",
    flowLabels: {
      pkce: "Blaaier-aanmelding (PKCE)",
      device_code: "Toestel-kode",
      external: "Eksterne CLI",
    },
    expiresIn: "verval oor {time}",
  },

  language: {
    switchTo: "Verander taal",
  },

  theme: {
    title: "Tema",
    switchTheme: "Wissel tema",
  },

  achievements: {
    hero: {
      kicker: "Agentic Gamerscore",
      title: "Hermes Achievements",
      subtitle:
        "Versamelbare Hermes-kentekens wat verdien word uit werklike sessiegeskiedenis. Bekende, onvoltooide prestasies word as Ontdek vertoon; Geheime prestasies bly verborge totdat die eerste ooreenstemmende gedrag verskyn.",
      scan_subtitle:
        "Hermes-sessiegeskiedenis word geskandeer. Die eerste skandering kan 5–10 sekondes neem op groot geskiedenisse.",
    },
    actions: {
      rescan: "Herskandeer",
    },
    stats: {
      unlocked: "Ontsluit",
      unlocked_hint: "verdiende kentekens",
      discovered: "Ontdek",
      discovered_hint: "bekend, nog nie verdien nie",
      secrets: "Geheime",
      secrets_hint: "verborge tot eerste sein",
      highest_tier: "Hoogste vlak",
      highest_tier_hint: "Copper → Silver → Gold → Diamond → Olympian",
      latest: "Jongste",
      latest_hint_empty: "gebruik Hermes meer",
      none_yet: "Nog geen",
    },
    state: {
      unlocked: "Ontsluit",
      discovered: "Ontdek",
      secret: "Geheim",
    },
    tier: {
      target: "Teiken {tier}",
      hidden: "Verborge",
      complete: "Voltooi",
      objective: "Doelwit",
    },
    progress: {
      hidden: "verborge",
    },
    scan: {
      building_headline: "Prestasieprofiel word gebou…",
      building_detail:
        "Sessies, gereedskaproepe, modelmetadata en ontsluitstatus word gelees.",
      starting_headline: "Prestasieskandering begin…",
      progress_detail:
        "{scanned} van {total} sessies geskandeer · {pct}%. Kentekens ontsluit soos meer geskiedenis instroom.",
      idle_detail:
        "Sessies, gereedskaproepe, modelmetadata en ontsluitstatus word gelees. Kentekens verskyn hier soos hulle ontsluit.",
    },
    guide: {
      tiers_header: "Vlakke",
      secret_header: "Geheime prestasies",
      secret_body:
        "Geheime hou hul presiese sneller verborge. Sodra Hermes 'n verwante sein sien, word die kaart Ontdek en wys sy vereiste.",
      scan_status_header: "Skanderingstatus",
      scan_status_body:
        "Hermes skandeer plaaslike geskiedenis een keer, daarna verskyn kaarte outomaties. Niks is vasgevang as dit 'n paar sekondes neem nie.",
      what_scanned_header: "Wat geskandeer word",
      what_scanned_body:
        "Sessies, gereedskaproepe, modelmetadata, foute, prestasies en plaaslike ontsluitstatus.",
    },
    card: {
      share_title: "Deel hierdie prestasie",
      share_label: "Deel {name}",
      share_text: "Deel",
      how_to_reveal: "Hoe om te onthul",
      what_counts: "Wat tel",
      evidence_label: "Bewys",
      evidence_session_fallback: "sessie",
      no_evidence: "Nog geen bewys nie",
    },
    latest: {
      header: "Onlangse ontsluitings",
    },
    empty: {
      no_secrets_header: "Geen verborge geheime in hierdie skandering oor nie.",
      no_secrets_body:
        "Wenk: geheime begin gewoonlik by ongewone mislukkings of magsgebruikerspatrone — poortbotsings, toestemmingsmure, ontbrekende env-veranderlikes, YAML-foute, Docker-botsings, terugrol/kontrolepunt-gebruik, kasterugslae of klein regstellings na baie rooi teks.",
    },
    filters: {
      all_categories: "Alles",
      visibility_all: "alles",
      visibility_unlocked: "ontsluit",
      visibility_discovered: "ontdek",
      visibility_secret: "geheim",
    },
    share: {
      dialog_label: "Deel prestasie",
      header: "Deel: {name}",
      close: "Maak toe",
      rendering: "Lewer tans…",
      card_alt: "{name} deelkaart",
      error_generic: "Iets het verkeerd geloop.",
      x_title: "Maak X oop met 'n vooraf-ingevulde plasing",
      x_button: "Deel op X",
      copy_title: "Kopieer die beeld om in jou plasing te plak",
      copy_button: "Kopieer beeld",
      copied: "Gekopieer ✓",
      download_button: "Laai PNG af",
      hint:
        "Deel op X maak 'n vooraf-ingevulde plasing in 'n nuwe oortjie oop. Klik eers op Kopieer beeld as jy die 1200×630-kenteken aangeheg wil hê — X laat jou dit direk in die tweet-skrywer plak. Laai PNG af stoor die lêer om enige plek te gebruik.",
      clipboard_unsupported:
        "Beeldkopiëring na knipbord word nie in hierdie blaaier ondersteun nie — gebruik eerder Aflaai.",
      tweet_text: "Just unlocked {tier_part}\"{name}\" in Hermes Agent ☤",
    },
  },
  kanban: {
    loading: "Kanban-bord word gelaai…",
    loadFailed: "Kon nie Kanban-bord laai nie: ",
    loadFailedHint:
      "Die agterkant skep kanban.db outomaties met die eerste lees. Indien hierdie probleem aanhou, raadpleeg die paneellogboeke.",
    board: "Bord",
    newBoard: "+ Nuwe bord",
    newBoardTitle: "Nuwe bord",
    newBoardDescription:
      "Borde laat u toe om onverwante werkstrome te skei — een per projek, repositorium of domein. Werkers op een bord sien nooit 'n ander bord se take nie.",
    slug: "Slug",
    slugHint: "— kleinletters, koppeltekens, bv. atm10-server",
    displayName: "Vertoonnaam",
    displayNameHint: "(opsioneel)",
    description: "Beskrywing",
    descriptionHint: "(opsioneel)",
    icon: "Ikoon",
    iconHint: "(enkele karakter of emoji)",
    switchAfterCreate: "Skakel oor na hierdie bord nadat dit geskep is",
    cancel: "Kanselleer",
    creating: "Word geskep…",
    createBoard: "Skep bord",
    search: "Soek",
    filterCards: "Filter kaarte…",
    tenant: "Huurder",
    allTenants: "Alle huurders",
    assignee: "Toegewysde",
    allProfiles: "Alle profiele",
    showArchived: "Wys gearchiveerde",
    lanesByProfile: "Bane per profiel",
    nudgeDispatcher: "Por versender aan",
    refresh: "Verfris",
    selected: "gekies",
    complete: "Voltooi",
    archive: "Argiveer",
    apply: "Pas toe",
    clear: "Maak skoon",
    createTask: "Skep taak in hierdie kolom",
    noTasks: "— geen take —",
    unassigned: "nie toegewys nie",
    untitled: "(sonder titel)",
    loadingDetail: "Word gelaai…",
    addComment: "Voeg 'n opmerking by… (Enter om in te dien)",
    comment: "Opmerking",
    status: "Status",
    workspace: "Werkruimte",
    skills: "Vaardighede",
    createdBy: "Geskep deur",
    result: "Resultaat",
    comments: "Opmerkings",
    events: "Gebeurtenisse",
    runHistory: "Uitvoergeskiedenis",
    workerLog: "Werker-log",
    loadingLog: "Log word gelaai…",
    noWorkerLog:
      "— nog geen werker-log nie (taak is nog nie ontketen nie of die log is geroteer) —",
    noDescription: "— geen beskrywing —",
    noComments: "— geen opmerkings —",
    edit: "redigeer",
    save: "Stoor",
    dependencies: "Afhanklikhede",
    parents: "Ouers:",
    children: "Kinders:",
    none: "geen",
    addParent: "— voeg ouer by —",
    addChild: "— voeg kind by —",
    removeDependency: "Verwyder afhanklikheid",
    block: "Blokkeer",
    unblock: "Deblokkeer",
    notifyHomeChannels: "Stel tuiskanale in kennis",
    diagnostics: "Diagnostiek",
    hide: "Versteek",
    show: "Wys",
    attention: "Aandag",
    tasksNeedAttention: "take benodig aandag",
    taskNeedsAttention: "1 taak benodig aandag",
    diagnostic: "diagnose",
    open: "Maak oop",
    close: "Sluit (Esc)",
    reassignTo: "Hertoeken aan:",
    copied: "Gekopieer",
    copyCommand: "Kopieer opdrag na knipbord",
    reclaim: "Heroor",
    reassign: "Hertoeken",
    renderingError: "Kanban-oortjie het 'n weergawefout teëgekom",
    reloadView: "Herlaai aansig",
    wsAuthFailed:
      "WebSocket-verifikasie het misluk — herlaai die bladsy om die sessietoken te verfris.",
    markDone: "Merk {n} take as klaar?",
    markArchived: "Argiveer {n} take?",
    warning: "Waarskuwing",
    phantomIds: "Spook-ID's:",
    active: "aktief",
    ended: "geëindig",
    noProfile: "(geen profiel)",
    showAllAttempts: "Wys alle pogings",
    sendingUpdates: "Stuur opdaterings na",
    sendNotifications: "Stuur completed / blocked / gave_up kennisgewings na",
    archiveBoardConfirm:
      "Argiveer bord '{name}'? Dit sal na boards/_archived/ geskuif word sodat u dit later kan herstel. Take op hierdie bord sal nie meer in die UI verskyn nie.",
    archiveBoardTitle: "Argiveer hierdie bord",
    boardSwitcherHint: "Borde laat u toe om onverwante werkstrome te skei",
    taskCreatedWarning: "Taak geskep, maar: ",
    moveFailed: "Skuif het misluk: ",
    bulkFailed: "Grootmaat: ",
    completionBlockedHallucination: "⚠ Voltooiing geblokkeer — spook-kaart-ID's",
    suspectedHallucinatedReferences: "⚠ Teks het na spook-kaart-ID's verwys",
    pickProfileFirst: "Kies eers 'n profiel.",
    unblockedMessage: "{id} gedeblokkeer. Taak is gereed vir die volgende tik.",
    unblockFailed: "Deblokkering het misluk: ",
    reclaimedMessage: "{id} heroor. Taak is terug op gereed.",
    reclaimFailed: "Heroornaming het misluk: ",
    reassignedMessage: "{id} hertoegeken aan {profile}.",
    reassignFailed: "Hertoekenning het misluk: ",
    selectForBulk: "Kies vir grootmaataksies",
    clickToEdit: "Klik om te redigeer",
    clickToEditAssignee: "Klik om toegewysde te redigeer",
    emptyAssignee: "(leeg = ontbind toekenning)",
    columnLabels: {
      triage: "Triage",
      todo: "Te doen",
      scheduled: "Geskeduleerd",
      ready: "Gereed",
      running: "Aan die gang",
      blocked: "Geblokkeer",
      done: "Klaar",
      archived: "Gearchiveer",
    },
    columnHelp: {
      triage: "Rou idees — 'n spesifiseerder sal die spesifikasie uitwerk",
      todo: "Wag op afhanklikhede of nie toegewys nie",
      scheduled: "Wag op 'n bekende tydvertraging of geskeduleerde opvolg",
      ready: "Afhanklikhede is bevredig; wys 'n profiel toe om te versend",
      running: "Deur 'n werker geëis — in vlug",
      blocked: "Werker het mensinvoer aangevra",
      done: "Voltooi",
      archived: "Gearchiveer",
    },
    confirmDone:
      "Merk hierdie taak as klaar? Die werker se eis word vrygestel en afhanklike kinders word gereed.",
    confirmArchive:
      "Argiveer hierdie taak? Dit verdwyn uit die verstek-bordaansig.",
    confirmBlocked:
      "Merk hierdie taak as geblokkeer? Die werker se eis word vrygestel.",
    completionSummary:
      "Voltooiingsopsomming vir {label}. Dit word as die taak se result gestoor.",
    completionSummaryRequired:
      "'n Voltooiingsopsomming is verpligtend voordat 'n taak as klaar gemerk word.",
    triagePlaceholder: "Rowwe idee — KI sal dit spesifiseer…",
    taskTitlePlaceholder: "Nuwe taaktitel…",
    specifier: "spesifiseerder",
    assigneePlaceholder: "toegewysde",
    priority: "Prioriteit",
    skillsPlaceholder:
      "vaardighede (opsioneel, kommageskei): translation, github-code-review",
    noParent: "— geen ouer —",
    workspacePathDir: "werkruimtepad (verpligtend, bv. ~/projects/my-app)",
    workspacePathOptional:
      "werkruimtepad (opsioneel, afgelei van toegewysde indien leeg)",
    logTruncated: "(toon laaste 100 KB — volledige log by ",
    logAt: ")",
  },
};
