//! Git-panel + Git-dialog strings for this locale.
//!
//! Split out of `vi.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" => "Mở bảng Git",
        "git.closePanel" => "Đóng bảng Git",
        "git.title" => "Git · {{fileName}}",
        "git.titleNoFile" => "Git · (Chưa chọn tệp)",
        "git.close" => "Đóng",
        "git.initializing" => "Đang khởi tạo kho…",
        "git.conflict.title" => "Xung đột hợp nhất",
        "git.conflict.description" => "Giải quyết từng xung đột bằng các thẻ bên dưới, sau đó áp dụng gộp.",
        "git.conflict.abort" => "Hủy hợp nhất",
        "git.conflict.nonOp.title" => "Gộp tạm dừng ở các tệp không phải .op",
        "git.conflict.nonOp.description" => "Gộp .op đã hoàn tất, nhưng các tệp khác trong kho vẫn chưa được giải quyết. Giải quyết chúng bên ngoài OpenPencil, sau đó tiếp tục.",
        "git.conflict.nonOp.unresolvedHeading_one" => "1 tệp cần xử lý",
        "git.conflict.nonOp.unresolvedHeading_other" => "{{count}} tệp cần xử lý",
        "git.conflict.nonOp.continue" => "Tiếp tục gộp",
        "git.conflict.nonOp.abort" => "Hủy gộp",
        "git.conflict.banner.progress" => "{{resolved}} / {{total}} đã giải quyết",
        "git.conflict.banner.apply" => "Áp dụng gộp",
        "git.conflict.banner.continue" => "Tiếp tục",
        "git.conflict.banner.finalizeError" => "Không thể áp dụng: {{message}}",
        "git.conflict.banner.pollError" => "Kiểm tra trạng thái tạm dừng do lỗi: {{message}}",
        "git.conflict.banner.reopenMessage" => "Bảng điều khiển được mở lại trong khi hợp nhất — vui lòng hủy và pull lại.",
        "git.conflict.list.heading" => "Tất cả xung đột",
        "git.conflict.list.progress" => "{{resolved}} / {{total}} đã giải quyết",
        "git.conflict.list.allResolved" => "Đã giải quyết tất cả",
        "git.conflict.list.allOurs" => "Tất cả của tôi",
        "git.conflict.list.allTheirs" => "Tất cả của họ",
        "git.conflict.item.nodeConflict" => "Xung đột node",
        "git.conflict.item.fieldConflict" => "Xung đột trường",
        "git.conflict.item.resolved" => "Đã giải quyết",
        "git.conflict.card.ours" => "Của tôi",
        "git.conflict.card.theirs" => "Của họ",
        "git.conflict.card.base" => "Cơ sở",
        "git.conflict.card.keepMine" => "Giữ của tôi",
        "git.conflict.card.keepTheirs" => "Giữ của họ",
        "git.conflict.card.oursThumbnailAlt" => "Phiên bản của tôi",
        "git.conflict.card.theirsThumbnailAlt" => "Phiên bản của họ",
        "git.conflict.editor.editManually" => "Chỉnh sửa thủ công",
        "git.conflict.editor.cancel" => "Hủy",
        "git.conflict.editor.apply" => "Áp dụng",
        "git.conflict.editor.invalidJson" => "JSON không hợp lệ",
        "git.conflict.editor.textareaLabel" => "Chỉnh sửa giá trị JSON",
        "git.error.dismiss" => "Bỏ qua",
        "git.error.retry" => "Thử lại",
        "git.error.title" => "Đã xảy ra lỗi",
        "git.empty.heading" => "Chưa có lịch sử phiên bản",
        "git.empty.optional" => "Git là tùy chọn — bỏ qua cũng không sao",
        "git.empty.requireSavedFile" => "Lưu tệp .op trước để bật lịch sử",
        "git.empty.newCard" => "Tạo mới",
        "git.empty.newCardDescription" => "Tạo lịch sử cục bộ",
        "git.empty.openCard" => "Mở",
        "git.empty.openCardDescription" => "Kho hiện có",
        "git.empty.cloneCard" => "Nhân bản",
        "git.empty.cloneCardDescription" => "Từ xa",
        "git.author.heading" => "Tác giả commit",
        "git.author.subheading" => "Lưu commit đầu tiên cần tên và email",
        "git.author.nameLabel" => "Tên",
        "git.author.namePlaceholder" => "Tên của bạn",
        "git.author.emailLabel" => "Email",
        "git.author.emailPlaceholder" => "ban@vidu.com",
        "git.author.submit" => "Lưu",
        "git.author.cancel" => "Hủy",
        "git.author.validationName" => "Tên là bắt buộc",
        "git.author.validationEmail" => "Cần email hợp lệ",
        "git.picker.heading" => "Kho này có {{count}} tệp .op:",
        "git.picker.milestoneCount" => "{{count}} cột mốc",
        "git.picker.noHistory" => "Chưa có lịch sử",
        "git.picker.lastCommit" => "{{message}} · {{time}}",
        "git.picker.bindButton" => "Theo dõi tệp này",
        "git.picker.bindAndOpenButton" => "Theo dõi và mở",
        "git.picker.back" => "Quay lại",
        "git.picker.backClose" => "Hủy",
        "git.picker.empty.heading" => "Không có tệp .op trong kho này",
        "git.picker.empty.body" => "Bảng Git cần ít nhất một tệp .op để hoạt động.",
        "git.picker.empty.close" => "Đóng bảng",
        "git.autoBind.confirmHeading" => "Đã tìm thấy {{fileName}} — mở nó?",
        "git.autoBind.openButton" => "Mở",
        "git.autoBind.dismissButton" => "Bỏ qua",
        "git.relativeTime.justNow" => "vừa xong",
        "git.relativeTime.minutesAgo" => "{{count}} phút trước",
        "git.relativeTime.hoursAgo" => "{{count}} giờ trước",
        "git.relativeTime.daysAgo" => "{{count}} ngày trước",
        "git.commit.placeholder" => "Mô tả thay đổi này…",
        "git.commit.submitButton" => "Lưu mốc",
        "git.commit.saveRequiredTitle" => "Hãy lưu tài liệu trước",
        "git.commit.saveRequiredBody" => "Bạn có thay đổi chưa lưu. Lưu tài liệu để tiếp tục: {{label}}",
        "git.commit.saveRequiredSave" => "Lưu",
        "git.commit.saveRequiredCancel" => "Hủy",
        "git.header.autosaveError" => "Lỗi tự động lưu",
        "git.header.autosaveErrorTitle" => "Tự động lưu gần nhất thất bại",
        "git.header.authorMissingWarning" => "Đặt tác giả commit để ghi lại quyền tác giả",
        "git.header.overflowSwitchTracked" => "Chuyển tệp theo dõi…",
        "git.header.overflowClearAuthor" => "Xóa tác giả commit",
        "git.header.overflowCloseRepo" => "Đóng kho",
        "git.header.overflowRemoteSettings" => "Cài đặt remote…",
        "git.header.overflowSshKeys" => "Khóa SSH…",
        "git.header.overflowMoreActions" => "Thêm thao tác",
        "git.history.empty" => "Chưa có lịch sử",
        "git.history.autosaveGroup_one" => "1 tự động lưu",
        "git.history.autosaveGroup_other" => "{{count}} tự động lưu",
        "git.history.autosaveLabel" => "auto {{time}}",
        "git.history.milestoneDetailTitle" => "Chi tiết mốc",
        "git.history.restoreButton" => "Khôi phục",
        "git.history.copyHashButton" => "Sao chép hash",
        "git.history.copiedToast" => "Đã sao chép",
        "git.history.diff.loading" => "Đang tải diff…",
        "git.history.diff.initialCommit" => "Commit đầu tiên — không có cha để so sánh",
        "git.history.diff.noChanges" => "Không phát hiện thay đổi",
        "git.history.diff.error" => "Diff không khả dụng: {{message}}",
        "git.history.diff.framesChanged_one" => "1 khung đã thay đổi",
        "git.history.diff.framesChanged_other" => "{{count}} khung đã thay đổi",
        "git.history.diff.nodesAdded_one" => "1 nút được thêm",
        "git.history.diff.nodesAdded_other" => "{{count}} nút được thêm",
        "git.history.diff.nodesRemoved_one" => "1 nút bị xóa",
        "git.history.diff.nodesRemoved_other" => "{{count}} nút bị xóa",
        "git.history.diff.nodesModified_one" => "1 nút bị sửa đổi",
        "git.history.diff.nodesModified_other" => "{{count}} nút bị sửa đổi",
        "git.history.promoteButton" => "Nâng lên mốc",
        "git.history.promoteSuccessToast" => "Đã nâng lên mốc",
        "git.history.loadMore" => "Tải thêm",
        "git.autosave.messagePrefix" => "auto",
        "git.autosave.messageDiffSuffix" => "",
        "git.branch.listHeading" => "Nhánh",
        "git.branch.createAction" => "Nhánh mới",
        "git.branch.createPlaceholder" => "feature/login-redesign",
        "git.branch.createSubmit" => "Tạo nhánh",
        "git.branch.createEmpty" => "Nhập tên nhánh",
        "git.branch.createExists" => "Nhánh {{name}} đã tồn tại",
        "git.branch.mergeAction" => "Gộp nhánh…",
        "git.branch.mergeHeading" => "Gộp vào {{name}}",
        "git.branch.deletePrompt" => "Xóa nhánh {{name}}?",
        "git.branch.deleteLabel" => "Xóa nhánh {{name}}",
        "git.branch.deleteWarning" => "Nhánh {{name}} có commit chưa được gộp",
        "git.branch.deleteConfirm" => "Xóa",
        "git.branch.deleteForce" => "Bắt buộc xóa",
        "git.branch.cancel" => "Hủy",
        "git.branch.conflictDisabled" => "Hoàn tất gộp trước khi chuyển nhánh",
        "git.branch.noCommits" => "Chưa có commit",
        "git.wizard.clone.heading" => "Sao chép kho lưu trữ từ xa",
        "git.wizard.clone.subheading" => "Chọn URL từ xa và thư mục đích.",
        "git.wizard.clone.urlLabel" => "URL từ xa",
        "git.wizard.clone.urlPlaceholder" => "https://github.com/owner/repo.git",
        "git.wizard.clone.destLabel" => "Thư mục đích",
        "git.wizard.clone.destPlaceholder" => "/đường/dẫn/clone",
        "git.wizard.clone.destPickButton" => "Duyệt…",
        "git.wizard.clone.usernameLabel" => "Tên người dùng (tùy chọn)",
        "git.wizard.clone.tokenLabel" => "Mã thông báo truy cập (tùy chọn)",
        "git.wizard.clone.tokenPlaceholder" => "ghp_… để trống cho repo công khai",
        "git.wizard.clone.anonymousHint" => "Để trống để sao chép ẩn danh (chỉ repo công khai).",
        "git.wizard.clone.sshHint" => "URL này yêu cầu xác thực bằng khóa SSH.",
        "git.wizard.clone.hostDetected" => "Đã phát hiện: {{host}} · {{mode}}",
        "git.wizard.clone.authMode.token-or-anon" => "mã thông báo hoặc ẩn danh",
        "git.wizard.clone.authMode.ssh" => "khóa SSH",
        "git.wizard.clone.cancel" => "Hủy",
        "git.wizard.clone.submit" => "Sao chép",
        "git.wizard.clone.validationUrl" => "Cần URL từ xa",
        "git.wizard.clone.validationDest" => "Cần thư mục đích",
        "git.wizard.clone.validationTokenUsername" => "Cần tên người dùng khi cung cấp mã thông báo",
        "git.wizard.clone.error.clone-network" => "Lỗi mạng khi sao chép. Kiểm tra kết nối và thử lại.",
        "git.wizard.clone.error.network" => "Lỗi mạng. Kiểm tra kết nối và thử lại.",
        "git.wizard.clone.error.timeout" => "Sao chép hết thời gian. Thử lại hoặc dùng kho lưu trữ nhỏ hơn.",
        "git.wizard.clone.error.auth-required" => "Kho lưu trữ này cần xác thực.",
        "git.wizard.clone.error.auth-failed" => "Xác thực thất bại. Kiểm tra tên người dùng và mã thông báo.",
        "git.wizard.clone.error.auth-token-invalid" => "Mã thông báo truy cập bị từ chối. Tạo mã mới và thử lại.",
        "git.wizard.clone.error.clone-failed" => "Sao chép thất bại. Hãy xác minh URL trỏ đến một kho lưu trữ thực sự.",
        "git.wizard.clone.error.clone-target-exists" => "Thư mục đích đã tồn tại hoặc không trống.",
        "git.pull.label" => "Pull",
        "git.pull.tooltip" => "Pull từ origin",
        "git.pull.noRemote" => "Chưa cấu hình remote — thêm trong cài đặt Git",
        "git.pull.retry" => "Thử lại pull",
        "git.push.label" => "Push",
        "git.push.tooltip_one" => "Push 1 commit lên origin",
        "git.push.tooltip_other" => "Push {{count}} commit lên origin",
        "git.push.noRemote" => "Chưa cấu hình remote — thêm trong cài đặt Git",
        "git.push.upToDate" => "Không có gì để push — bạn đã cập nhật",
        "git.push.retry" => "Thử lại push",
        "git.push.rejectedBody" => "Remote có các commit bạn chưa có. Hãy pull trước rồi push lại.",
        "git.push.rejectedDismiss" => "Đóng",
        "git.push.rejectedPull" => "Pull ngay",
        "git.remote.dismissError" => "Đóng",
        "git.remote.settingsLabel" => "Cài đặt remote",
        "git.remote.settingsHeading" => "Remote",
        "git.remote.back" => "Quay lại",
        "git.remote.cancel" => "Hủy",
        "git.remote.emptyNoOrigin" => "Chưa cấu hình remote nào. Thêm một cái:",
        "git.remote.urlLabel" => "URL origin",
        "git.remote.urlPlaceholder" => "https://github.com/owner/repo.git",
        "git.remote.saveButton" => "Lưu",
        "git.remote.clearButton" => "Xóa",
        "git.remote.clearConfirmHeading" => "Xóa origin?",
        "git.remote.clearConfirmBody" => "Thao tác này sẽ xóa remote origin khỏi kho lưu trữ này.",
        "git.remote.clearConfirmAction" => "Xác nhận",
        "git.remote.aheadBehind" => "Trước {{ahead}} · Sau {{behind}}",
        "git.remote.fetchButton" => "Fetch",
        "git.remote.sshIsoUnsupported" => "Engine tích hợp không hỗ trợ truyền tải SSH. Cài đặt git hệ thống hoặc chuyển sang URL remote HTTPS.",
        "git.remote.storedAuthLabel" => "Thông tin xác thực đã lưu",
        "git.remote.storedAuth.token" => "Token",
        "git.remote.storedAuth.ssh" => "Khóa SSH",
        "git.remote.storedAuth.none" => "Không có",
        "git.remote.storedAuth.loading" => "Đang tải…",
        "git.remote.storedAuth.noHost" => "Không phát hiện máy chủ",
        "git.remote.clearAuthButton" => "Xóa thông tin xác thực đã lưu",
        "git.ssh.label" => "Khóa SSH",
        "git.ssh.heading" => "Khóa SSH",
        "git.ssh.back" => "Quay lại",
        "git.ssh.cancel" => "Hủy",
        "git.ssh.isoUnsupported" => "Remote hiện tại dùng SSH, nhưng engine tích hợp không thể thực hiện truyền tải SSH. Cài đặt git hệ thống hoặc đổi URL remote sang HTTPS.",
        "git.ssh.emptyList" => "Chưa có khóa SSH nào.",
        "git.ssh.generateAction" => "Tạo mới",
        "git.ssh.importAction" => "Nhập khóa có sẵn",
        "git.ssh.copyPublicKey" => "Sao chép khóa công khai",
        "git.ssh.copiedHint" => "Đã sao chép",
        "git.ssh.copyUnsupported" => "Không có clipboard — vui lòng sao chép khóa này theo cách thủ công.",
        "git.ssh.deleteKey" => "Xóa {{name}}",
        "git.ssh.deletePrompt" => "Xóa khóa SSH {{name}}?",
        "git.ssh.deleteConfirm" => "Xóa",
        "git.ssh.currentHostBadge" => "máy chủ hiện tại",
        "git.ssh.hostLabel" => "Máy chủ",
        "git.ssh.hostPlaceholder" => "github.com",
        "git.ssh.commentLabel" => "Ghi chú",
        "git.ssh.commentPlaceholder" => "laptop@home",
        "git.ssh.generateSubmit" => "Tạo",
        "git.ssh.importPathLabel" => "Đường dẫn khóa riêng",
        "git.ssh.importPathPlaceholder" => "/path/to/id_ed25519",
        "git.ssh.importBrowse" => "Duyệt…",
        "git.ssh.importSubmit" => "Nhập",
        "git.ssh.validationHost" => "Máy chủ là bắt buộc",
        "git.ssh.validationComment" => "Ghi chú là bắt buộc",
        "git.ssh.validationImportPath" => "Chọn tệp khóa riêng để nhập",
        "git.ssh.providerLink" => "Mở cài đặt khóa SSH {{host}}",
        "git.ssh.genericGuidance" => "Sao chép khóa công khai và thêm vào cài đặt khóa SSH của nhà cung cấp Git của bạn.",
        "git.auth.formLabel" => "Thông tin xác thực Git",
        "git.auth.heading" => "Xác thực với {{host}}",
        "git.auth.headingUnknown" => "Xác thực với remote này",
        "git.auth.modeToggleLabel" => "Loại thông tin xác thực",
        "git.auth.modeToken" => "Token",
        "git.auth.modeSsh" => "SSH",
        "git.auth.usernameLabel" => "Tên người dùng (tùy chọn)",
        "git.auth.tokenLabel" => "Access token",
        "git.auth.tokenPlaceholder" => "ghp_… hoặc PAT",
        "git.auth.sshKeyLabel" => "Khóa SSH",
        "git.auth.sshNoKeys" => "Không có khóa SSH khả dụng. Nhập hoặc tạo mới trong cài đặt Git trước.",
        "git.auth.rememberLabel" => "Ghi nhớ thông tin xác thực cho máy chủ này",
        "git.auth.rememberHint" => "Ghi nhớ thông tin xác thực cho máy chủ này",
        "git.auth.cancel" => "Hủy",
        "git.auth.validationToken" => "Cần access token",
        "git.auth.validationSshKey" => "Chọn một khóa SSH",
        "git.auth.error.auth-required" => "Remote này cần xác thực.",
        "git.auth.error.auth-failed" => "Xác thực thất bại. Kiểm tra thông tin và thử lại.",
        "git.auth.error.auth-token-invalid" => "Access token bị từ chối. Tạo mới và thử lại.",
        "git.error.pushTitle" => "Push thất bại",
        "git.error.pushBody" => "git push không thể hoàn tất.",
        "git.error.pullTitle" => "Pull thất bại",
        "git.error.pullBody" => "git pull không thể hoàn tất.",
        "git.error.commitTitle" => "Commit thất bại",
        "git.error.commitBody" => "git commit không thể hoàn tất.",
        "git.merge.conflictTitle" => "Hợp nhất có xung đột",
        "git.merge.conflictBody" => "Hợp nhất {{branch}} xung đột ở {{count}} tệp; việc hợp nhất chưa được áp dụng và cây làm việc của bạn không đổi. Hãy giải quyết xung đột trước:",
        "git.ssh.readyTitle" => "Khóa SSH đã sẵn sàng",
        "git.ssh.readyBody" => "Đã tạo và liên kết khóa SSH cho {{host}}; pull và push giờ sẽ dùng khóa này. Thêm khóa công khai này vào cài đặt khóa SSH của máy chủ:",
        "git.panel.title" => "Git",
        "git.panel.loading" => "Đang tải kho lưu trữ…",
        "git.panel.notARepo" => "Không phải kho git.",
        "git.panel.detachedHead" => "HEAD tách rời",
        "git.panel.branch" => "⎇ {{name}}",
        "git.panel.abortMerge" => "Hủy hợp nhất",
        "git.panel.refresh" => "Làm mới",
        "git.panel.complete" => "Hoàn tất",
        "git.panel.commit" => "Commit",
        "git.panel.pull" => "Pull",
        "git.panel.push" => "Push",
        "git.panel.mergeInProgress" => "Đang hợp nhất — hãy giải quyết xung đột",
        "git.panel.conflicts" => "Xung đột",
        "git.panel.noConflicts" => "Không có xung đột.",
        "git.panel.changes" => "Thay đổi — đã chuẩn bị {{staged}}/{{total}}",
        "git.panel.recentCommits" => "Commit gần đây",
        "git.panel.noCommits" => "Chưa có commit.",
        "git.panel.branches" => "Nhánh",
        "git.panel.commitPlaceholder" => "Thông điệp commit…",
        "git.panel.footer" => "Nhấp dòng trạng thái hoặc một hàng để xem diff",
        "git.panel.pulling" => "Đang pull…",
        "git.panel.pushing" => "Đang push…",
        "git.panel.changedConflicted" => "{{changed}} thay đổi · {{conflicted}} xung đột",
        "git.panel.changed" => "{{count}} thay đổi",
        "git.panel.clean" => "Cây làm việc sạch",
        "git.panel.diffTitle" => "Diff · {{title}}",
        "git.panel.diffNoChanges" => "Không có thay đổi.",
        "git.panel.diffComputing" => "Đang tính diff…",
        "git.panel.diffLoading" => "đang tải…",
        "git.panel.diffWorkingTree" => "Cây làm việc",
        "git.panel.diffCommit" => "commit {{rev}}",
        "git.panel.stage" => "Chuẩn bị",
        "git.panel.diffFooter" => "Dòng {{start}}–{{end}} trên {{total}}{{col}}",
        "git.panel.diffCol" => " · cột {{n}}",
        "git.panel.remotes" => "Kho từ xa",
        "git.panel.remotesMore" => "{{name}} +{{count}} nữa",
        "git.panel.noRemote" => "Không có kho từ xa — thêm origin bên dưới.",
        "git.panel.remotePlaceholder" => "https://github.com/you/repo.git",
        "git.panel.httpsPlaceholder" => "tên người dùng:token",
        "git.panel.set" => "Đặt",
        "git.panel.login" => "Đăng nhập",
        "git.panel.resolveTitle" => "Giải quyết hợp nhất — {{branch}}",
        "git.panel.resolveSubtitle" => "{{count}} xung đột nút — chọn một phía cho mỗi cái",
        "git.panel.ours" => "Của ta",
        "git.panel.theirs" => "Của họ",
        "git.panel.applyMerge" => "Áp dụng hợp nhất",
        "git.panel.resolveFooter" => "Áp dụng sẽ chạy lại hợp nhất theo lựa chọn của bạn",
        "git.panel.resolveFooterMore" => "+{{count}} nữa giữ là của ta · Hủy sẽ dừng hợp nhất",
        "git.conflict.bothModified" => "cả hai cùng sửa",
        "git.conflict.structuralChange" => "thứ tự con thay đổi",
        "git.conflict.deleteModify" => "xóa / sửa",
        "git.conflict.bothAdded" => "cả hai cùng thêm",
        "git.conflict.addedOnRemote" => "thêm ở kho từ xa",
        "git.merge.autoMergeable" => "{{path}} — tự hợp nhất được về cấu trúc",
        "git.merge.andMore" => "    … và {{count}} nữa",
        "git.panel.diffError" => "(không lấy được diff: {{message}})",
        "git.reload.confirmTitle" => "Thay đổi chưa lưu",
        "git.reload.confirmBody" => "Hành động Git này tải lại tài liệu từ đĩa và loại bỏ các chỉnh sửa chưa lưu của bạn.\n\nCó = Lưu trước · Không = Bỏ · Hủy = ở lại.",
        "git.gitError.notFound" => "Git chưa được cài đặt — hãy cài Git để dùng kiểm soát phiên bản.",
        "git.gitError.notARepo" => "Không phải kho git: {{detail}}",
        "git.gitError.commandFailed" => "Lệnh git thất bại:\n{{detail}}",
        "git.gitError.mergeInProgress" => "Đã có một hợp nhất đang diễn ra — hãy giải quyết hoặc hủy nó trước.",
        "git.gitError.workingTreeDirty" => "Cây làm việc có thay đổi chưa commit — hãy commit hoặc stash trước khi hợp nhất.",
        "git.gitError.io" => "Lỗi tiến trình git: {{detail}}",
        _ => return None,
    })
}
