//! Git-panel + Git-dialog strings for this locale.
//!
//! Split out of `en.rs` to keep that table under the
//! repo's 800-line file cap. The main table falls through
//! here for any `git.*` key.

pub fn lookup(key: &str) -> Option<&'static str> {
    Some(match key {
        "git.openPanel" => "Open Git panel",
        "git.closePanel" => "Close Git panel",
        "git.title" => "Git · {{fileName}}",
        "git.titleNoFile" => "Git · (No file selected)",
        "git.close" => "Close",
        "git.initializing" => "Initializing repository…",
        "git.conflict.title" => "Merge conflict",
        "git.conflict.description" => "Resolve each conflict using the cards below, then apply the merge.",
        "git.conflict.abort" => "Abort merge",
        "git.conflict.nonOp.title" => "Merge paused on non-.op files",
        "git.conflict.nonOp.description" => "The .op merge finished, but other files in this repo are still unresolved. Fix them outside OpenPencil, then continue.",
        "git.conflict.nonOp.unresolvedHeading_one" => "1 file needs attention",
        "git.conflict.nonOp.unresolvedHeading_other" => "{{count}} files need attention",
        "git.conflict.nonOp.continue" => "Continue merge",
        "git.conflict.nonOp.abort" => "Abort merge",
        "git.conflict.banner.progress" => "Resolved {{resolved}} / {{total}}",
        "git.conflict.banner.apply" => "Apply merge",
        "git.conflict.banner.continue" => "Continue",
        "git.conflict.banner.finalizeError" => "Could not apply: {{message}}",
        "git.conflict.banner.pollError" => "Status polling paused due to an error: {{message}}",
        "git.conflict.banner.reopenMessage" => "Panel reopened mid-merge — in-memory conflict state was lost. Please abort and re-pull.",
        "git.conflict.list.heading" => "All conflicts",
        "git.conflict.list.progress" => "{{resolved}} / {{total}} resolved",
        "git.conflict.list.allResolved" => "All resolved",
        "git.conflict.list.allOurs" => "All mine",
        "git.conflict.list.allTheirs" => "All theirs",
        "git.conflict.item.nodeConflict" => "Node conflict",
        "git.conflict.item.fieldConflict" => "Field conflict",
        "git.conflict.item.resolved" => "Resolved",
        "git.conflict.card.ours" => "Mine",
        "git.conflict.card.theirs" => "Theirs",
        "git.conflict.card.base" => "Base",
        "git.conflict.card.keepMine" => "Keep mine",
        "git.conflict.card.keepTheirs" => "Keep theirs",
        "git.conflict.card.oursThumbnailAlt" => "Our version",
        "git.conflict.card.theirsThumbnailAlt" => "Their version",
        "git.conflict.editor.editManually" => "Edit manually",
        "git.conflict.editor.cancel" => "Cancel",
        "git.conflict.editor.apply" => "Apply",
        "git.conflict.editor.invalidJson" => "Invalid JSON",
        "git.conflict.editor.textareaLabel" => "Edit JSON value",
        "git.picker.back" => "Back",
        "git.picker.backClose" => "Cancel",
        "git.error.dismiss" => "Dismiss",
        "git.error.retry" => "Retry",
        "git.error.title" => "Something went wrong",
        "git.empty.heading" => "No version history yet",
        "git.empty.optional" => "Git is optional — skipping is fine",
        "git.empty.requireSavedFile" => "Save the .op file first to enable history",
        "git.empty.newCard" => "Init",
        "git.empty.newCardDescription" => "Create local history",
        "git.empty.openCard" => "Open",
        "git.empty.openCardDescription" => "Existing repo",
        "git.empty.cloneCard" => "Clone",
        "git.empty.cloneCardDescription" => "From a remote",
        "git.author.heading" => "Your commit author",
        "git.author.subheading" => "Saving the first commit needs a name and email",
        "git.author.nameLabel" => "Name",
        "git.author.namePlaceholder" => "Your name",
        "git.author.emailLabel" => "Email",
        "git.author.emailPlaceholder" => "you@example.com",
        "git.author.submit" => "Save",
        "git.author.cancel" => "Cancel",
        "git.author.validationName" => "Name is required",
        "git.author.validationEmail" => "A valid email is required",
        "git.picker.heading" => "{{count}} .op files in this repo:",
        "git.picker.milestoneCount" => "{{count}} milestones",
        "git.picker.noHistory" => "No history",
        "git.picker.lastCommit" => "{{message}} · {{time}}",
        "git.picker.bindButton" => "Track this file",
        "git.picker.bindAndOpenButton" => "Track and open",
        "git.picker.empty.heading" => "No .op files in this repo",
        "git.picker.empty.body" => "The Git panel needs at least one .op file to work.",
        "git.picker.empty.close" => "Close panel",
        "git.autoBind.confirmHeading" => "Found {{fileName}} — open it?",
        "git.autoBind.openButton" => "Open",
        "git.autoBind.dismissButton" => "Skip",
        "git.relativeTime.justNow" => "just now",
        "git.relativeTime.minutesAgo" => "{{count}}m ago",
        "git.relativeTime.hoursAgo" => "{{count}}h ago",
        "git.relativeTime.daysAgo" => "{{count}}d ago",
        "git.commit.placeholder" => "Describe this change…",
        "git.commit.submitButton" => "Save milestone",
        "git.commit.saveRequiredTitle" => "Save the document first",
        "git.commit.saveRequiredBody" => "You have unsaved changes. Save the document to continue: {{label}}",
        "git.commit.saveRequiredSave" => "Save",
        "git.commit.saveRequiredCancel" => "Cancel",
        "git.header.autosaveError" => "Autosave error",
        "git.header.autosaveErrorTitle" => "Last autosave failed",
        "git.header.authorMissingWarning" => "Set your commit author to record attribution",
        "git.header.overflowSwitchTracked" => "Switch tracked file…",
        "git.header.overflowClearAuthor" => "Clear commit author",
        "git.header.overflowCloseRepo" => "Close repository",
        "git.header.overflowRemoteSettings" => "Remote settings…",
        "git.header.overflowSshKeys" => "SSH keys…",
        "git.header.overflowMoreActions" => "More actions",
        "git.history.empty" => "No history yet",
        "git.history.autosaveGroup_one" => "1 autosave",
        "git.history.autosaveGroup_other" => "{{count}} autosaves",
        "git.history.autosaveLabel" => "auto {{time}}",
        "git.history.milestoneDetailTitle" => "Milestone details",
        "git.history.restoreButton" => "Restore",
        "git.history.copyHashButton" => "Copy hash",
        "git.history.copiedToast" => "Copied",
        "git.history.diff.loading" => "Loading diff…",
        "git.history.diff.initialCommit" => "Initial commit — no parent to diff against",
        "git.history.diff.noChanges" => "No changes detected",
        "git.history.diff.error" => "Diff unavailable: {{message}}",
        "git.history.diff.framesChanged_one" => "1 frame changed",
        "git.history.diff.framesChanged_other" => "{{count}} frames changed",
        "git.history.diff.nodesAdded_one" => "1 node added",
        "git.history.diff.nodesAdded_other" => "{{count}} nodes added",
        "git.history.diff.nodesRemoved_one" => "1 node removed",
        "git.history.diff.nodesRemoved_other" => "{{count}} nodes removed",
        "git.history.diff.nodesModified_one" => "1 node modified",
        "git.history.diff.nodesModified_other" => "{{count}} nodes modified",
        "git.history.promoteButton" => "Promote to milestone",
        "git.history.promoteSuccessToast" => "Promoted to milestone",
        "git.history.loadMore" => "Load more",
        "git.autosave.messagePrefix" => "auto",
        "git.autosave.messageDiffSuffix" => "",
        "git.branch.listHeading" => "Branches",
        "git.branch.createAction" => "New branch",
        "git.branch.createPlaceholder" => "feature/login-redesign",
        "git.branch.createSubmit" => "Create branch",
        "git.branch.createEmpty" => "Enter a branch name",
        "git.branch.createExists" => "Branch {{name}} already exists",
        "git.branch.mergeAction" => "Merge branch…",
        "git.branch.mergeHeading" => "Merge into {{name}}",
        "git.branch.deletePrompt" => "Delete branch {{name}}?",
        "git.branch.deleteLabel" => "Delete branch {{name}}",
        "git.branch.deleteWarning" => "Branch {{name}} has unmerged commits",
        "git.branch.deleteConfirm" => "Delete",
        "git.branch.deleteForce" => "Force delete",
        "git.branch.cancel" => "Cancel",
        "git.branch.conflictDisabled" => "Finish the merge before switching branches",
        "git.branch.noCommits" => "No commits yet",
        "git.wizard.clone.heading" => "Clone a remote repository",
        "git.wizard.clone.subheading" => "Pick a remote URL and a destination folder.",
        "git.wizard.clone.urlLabel" => "Remote URL",
        "git.wizard.clone.urlPlaceholder" => "https://github.com/owner/repo.git",
        "git.wizard.clone.destLabel" => "Destination folder",
        "git.wizard.clone.destPlaceholder" => "/path/to/clone",
        "git.wizard.clone.destPickButton" => "Browse…",
        "git.wizard.clone.usernameLabel" => "Username (optional)",
        "git.wizard.clone.tokenLabel" => "Access token (optional)",
        "git.wizard.clone.tokenPlaceholder" => "ghp_… or leave blank for public",
        "git.wizard.clone.anonymousHint" => "Leave blank to clone anonymously (public repos only).",
        "git.wizard.clone.sshHint" => "SSH key authentication is required for this URL.",
        "git.wizard.clone.hostDetected" => "Detected: {{host}} · {{mode}}",
        "git.wizard.clone.authMode.token-or-anon" => "token or anonymous",
        "git.wizard.clone.authMode.ssh" => "SSH key",
        "git.wizard.clone.cancel" => "Cancel",
        "git.wizard.clone.submit" => "Clone",
        "git.wizard.clone.validationUrl" => "Remote URL is required",
        "git.wizard.clone.validationDest" => "Destination folder is required",
        "git.wizard.clone.validationTokenUsername" => "Username is required when a token is provided",
        "git.wizard.clone.error.clone-network" => "Network error while cloning. Check your connection and try again.",
        "git.wizard.clone.error.network" => "Network error. Check your connection and try again.",
        "git.wizard.clone.error.timeout" => "Clone timed out. Try again or use a smaller repository.",
        "git.wizard.clone.error.auth-required" => "Authentication is required for this repository.",
        "git.wizard.clone.error.auth-failed" => "Authentication failed. Check your username and token.",
        "git.wizard.clone.error.auth-token-invalid" => "The access token was rejected. Generate a new one and try again.",
        "git.wizard.clone.error.clone-failed" => "Clone failed. Verify the URL points at a real repository.",
        "git.wizard.clone.error.clone-target-exists" => "The destination folder already exists or is not empty.",
        "git.pull.label" => "Pull",
        "git.pull.tooltip" => "Pull from origin",
        "git.pull.noRemote" => "No remote configured — add one in Git settings",
        "git.pull.retry" => "Retry pull",
        "git.push.label" => "Push",
        "git.push.tooltip_one" => "Push 1 commit to origin",
        "git.push.tooltip_other" => "Push {{count}} commits to origin",
        "git.push.noRemote" => "No remote configured — add one in Git settings",
        "git.push.upToDate" => "Nothing to push — you are up to date",
        "git.push.retry" => "Retry push",
        "git.push.rejectedBody" => "The remote has commits you do not have yet. Pull first, then push again.",
        "git.push.rejectedDismiss" => "Dismiss",
        "git.push.rejectedPull" => "Pull now",
        "git.remote.dismissError" => "Dismiss",
        "git.remote.settingsLabel" => "Remote settings",
        "git.remote.settingsHeading" => "Remote",
        "git.remote.back" => "Back",
        "git.remote.cancel" => "Cancel",
        "git.remote.emptyNoOrigin" => "No remote configured yet. Add one:",
        "git.remote.urlLabel" => "Origin URL",
        "git.remote.urlPlaceholder" => "https://github.com/owner/repo.git",
        "git.remote.saveButton" => "Save",
        "git.remote.clearButton" => "Clear",
        "git.remote.clearConfirmHeading" => "Clear origin?",
        "git.remote.clearConfirmBody" => "This will remove the origin remote from this repository.",
        "git.remote.clearConfirmAction" => "Confirm",
        "git.remote.aheadBehind" => "{{ahead}} ahead · {{behind}} behind",
        "git.remote.fetchButton" => "Fetch",
        "git.remote.sshIsoUnsupported" => "SSH transport is not supported on the built-in engine. Install system git or switch to an HTTPS remote URL.",
        "git.remote.storedAuthLabel" => "Stored credentials",
        "git.remote.storedAuth.token" => "Token",
        "git.remote.storedAuth.ssh" => "SSH key",
        "git.remote.storedAuth.none" => "None",
        "git.remote.storedAuth.loading" => "Loading…",
        "git.remote.storedAuth.noHost" => "No host detected",
        "git.remote.clearAuthButton" => "Clear saved auth",
        "git.ssh.label" => "SSH keys",
        "git.ssh.heading" => "SSH keys",
        "git.ssh.back" => "Back",
        "git.ssh.cancel" => "Cancel",
        "git.ssh.isoUnsupported" => "The current remote uses SSH but the built-in engine cannot perform SSH transport. Install system git or switch the remote URL to HTTPS.",
        "git.ssh.emptyList" => "No SSH keys yet.",
        "git.ssh.generateAction" => "Generate new",
        "git.ssh.importAction" => "Import existing",
        "git.ssh.copyPublicKey" => "Copy public key",
        "git.ssh.copiedHint" => "Copied",
        "git.ssh.copyUnsupported" => "Clipboard not available — copy this key manually.",
        "git.ssh.deleteKey" => "Delete {{name}}",
        "git.ssh.deletePrompt" => "Delete SSH key {{name}}?",
        "git.ssh.deleteConfirm" => "Delete",
        "git.ssh.currentHostBadge" => "current host",
        "git.ssh.hostLabel" => "Host",
        "git.ssh.hostPlaceholder" => "github.com",
        "git.ssh.commentLabel" => "Comment",
        "git.ssh.commentPlaceholder" => "laptop@home",
        "git.ssh.generateSubmit" => "Generate",
        "git.ssh.importPathLabel" => "Private key path",
        "git.ssh.importPathPlaceholder" => "/path/to/id_ed25519",
        "git.ssh.importBrowse" => "Browse…",
        "git.ssh.importSubmit" => "Import",
        "git.ssh.validationHost" => "Host is required",
        "git.ssh.validationComment" => "Comment is required",
        "git.ssh.validationImportPath" => "Pick a private key file to import",
        "git.ssh.providerLink" => "Open {{host}} SSH key settings",
        "git.ssh.genericGuidance" => "Copy the public key and add it to your Git provider’s SSH key settings.",
        "git.auth.formLabel" => "Git credentials",
        "git.auth.heading" => "Authenticate with {{host}}",
        "git.auth.headingUnknown" => "Authenticate with this remote",
        "git.auth.modeToggleLabel" => "Credential type",
        "git.auth.modeToken" => "Token",
        "git.auth.modeSsh" => "SSH",
        "git.auth.usernameLabel" => "Username (optional)",
        "git.auth.tokenLabel" => "Access token",
        "git.auth.tokenPlaceholder" => "ghp_… or PAT",
        "git.auth.sshKeyLabel" => "SSH key",
        "git.auth.sshNoKeys" => "No SSH keys available. Import or generate one in Git settings first.",
        "git.auth.rememberLabel" => "Remember this credential for this host",
        "git.auth.rememberHint" => "Remember this credential for this host",
        "git.auth.cancel" => "Cancel",
        "git.auth.validationToken" => "Access token is required",
        "git.auth.validationSshKey" => "Select an SSH key",
        "git.auth.error.auth-required" => "Authentication is required for this remote.",
        "git.auth.error.auth-failed" => "Authentication failed. Check your credentials and try again.",
        "git.auth.error.auth-token-invalid" => "The access token was rejected. Generate a new one and try again.",
        "git.error.pushTitle" => "Push failed",
        "git.error.pushBody" => "git push could not complete.",
        "git.error.pullTitle" => "Pull failed",
        "git.error.pullBody" => "git pull could not complete.",
        "git.error.commitTitle" => "Commit failed",
        "git.error.commitBody" => "git commit could not complete.",
        "git.merge.conflictTitle" => "Merge has conflicts",
        "git.merge.conflictBody" => "Merging {{branch}} conflicts in {{count}} file(s); the merge was not applied and your working tree is unchanged. Resolve the conflicts first:",
        "git.ssh.readyTitle" => "SSH key ready",
        "git.ssh.readyBody" => "An SSH key for {{host}} was generated and bound; pull and push now use it. Add this public key to the host's SSH-keys settings:",
        "git.panel.title" => "Git",
        "git.panel.loading" => "Loading repository…",
        "git.panel.notARepo" => "Not a git repository.",
        "git.panel.detachedHead" => "detached HEAD",
        "git.panel.branch" => "⎇ {{name}}",
        "git.panel.abortMerge" => "Abort Merge",
        "git.panel.refresh" => "Refresh",
        "git.panel.complete" => "Complete",
        "git.panel.commit" => "Commit",
        "git.panel.pull" => "Pull",
        "git.panel.push" => "Push",
        "git.panel.mergeInProgress" => "Merge in progress — resolve conflicts",
        "git.panel.conflicts" => "Conflicts",
        "git.panel.noConflicts" => "No conflicts.",
        "git.panel.changes" => "Changes — {{staged}}/{{total}} staged",
        "git.panel.recentCommits" => "Recent commits",
        "git.panel.noCommits" => "No commits yet.",
        "git.panel.branches" => "Branches",
        "git.panel.commitPlaceholder" => "Commit message…",
        "git.panel.footer" => "Click the status line or a row to view its diff",
        "git.panel.pulling" => "Pulling…",
        "git.panel.pushing" => "Pushing…",
        "git.panel.changedConflicted" => "{{changed}} changed · {{conflicted}} conflicted",
        "git.panel.changed" => "{{count}} changed",
        "git.panel.clean" => "Working tree clean",
        "git.panel.diffTitle" => "Diff · {{title}}",
        "git.panel.diffNoChanges" => "No changes.",
        "git.panel.diffComputing" => "Computing diff…",
        "git.panel.diffLoading" => "loading…",
        "git.panel.diffWorkingTree" => "Working tree",
        "git.panel.diffCommit" => "commit {{rev}}",
        "git.panel.stage" => "Stage",
        "git.panel.diffFooter" => "Lines {{start}}–{{end}} of {{total}}{{col}}",
        "git.panel.diffCol" => " · col {{n}}",
        "git.panel.remotes" => "Remotes",
        "git.panel.remotesMore" => "{{name}} +{{count}} more",
        "git.panel.noRemote" => "No remote — add origin below.",
        "git.panel.remotePlaceholder" => "https://github.com/you/repo.git",
        "git.panel.httpsPlaceholder" => "username:token",
        "git.panel.set" => "Set",
        "git.panel.login" => "Login",
        "git.panel.resolveTitle" => "Resolve merge — {{branch}}",
        "git.panel.resolveSubtitle" => "{{count}} node conflict(s) — pick a side for each",
        "git.panel.ours" => "Ours",
        "git.panel.theirs" => "Theirs",
        "git.panel.applyMerge" => "Apply merge",
        "git.panel.resolveFooter" => "Apply re-runs the merge with your choices",
        "git.panel.resolveFooterMore" => "+{{count}} more kept as ours · Cancel aborts the merge",
        "git.conflict.bothModified" => "both modified",
        "git.conflict.structuralChange" => "child order changed",
        "git.conflict.deleteModify" => "delete / modify",
        "git.conflict.bothAdded" => "added on both",
        "git.conflict.addedOnRemote" => "added on remote",
        "git.merge.autoMergeable" => "{{path}} — structurally auto-mergeable",
        "git.merge.andMore" => "    … and {{count}} more",
        "git.panel.diffError" => "(diff failed: {{message}})",
        "git.reload.confirmTitle" => "Unsaved changes",
        "git.reload.confirmBody" => "This Git action reloads the document from disk and discards your unsaved edits.\n\nYes = Save first · No = Discard · Cancel = stay.",
        "git.gitError.notFound" => "Git is not installed — install Git to use version control.",
        "git.gitError.notARepo" => "Not a git repository: {{detail}}",
        "git.gitError.commandFailed" => "The git command failed:\n{{detail}}",
        "git.gitError.mergeInProgress" => "A merge is already in progress — resolve or abort it first.",
        "git.gitError.workingTreeDirty" => "The working tree has uncommitted changes — commit or stash them before merging.",
        "git.gitError.io" => "Git process error: {{detail}}",
        _ => return None,
    })
}
