//! Git-panel + Git-dialog strings for this locale.
//!
//! Split out of `ja.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" => "Git パネルを開く",
        "git.closePanel" => "Git パネルを閉じる",
        "git.title" => "Git · {{fileName}}",
        "git.titleNoFile" => "Git · (ファイル未選択)",
        "git.close" => "閉じる",
        "git.initializing" => "リポジトリを初期化中…",
        "git.conflict.title" => "マージコンフリクト",
        "git.conflict.description" => "以下のカードで各コンフリクトを解決してから、マージを適用してください。",
        "git.conflict.abort" => "マージを中止",
        "git.conflict.nonOp.title" => ".op 以外のファイルによりマージが一時停止しました",
        "git.conflict.nonOp.description" => ".op ファイルのマージは完了しましたが、このリポジトリ内の他のファイルがまだ未解決です。OpenPencil の外で解決してから続行してください。",
        "git.conflict.nonOp.unresolvedHeading_one" => "1 個のファイルに対応が必要",
        "git.conflict.nonOp.unresolvedHeading_other" => "{{count}} 個のファイルに対応が必要",
        "git.conflict.nonOp.continue" => "マージを続行",
        "git.conflict.nonOp.abort" => "マージを中止",
        "git.conflict.banner.progress" => "{{resolved}} / {{total}} 解決済み",
        "git.conflict.banner.apply" => "マージを適用",
        "git.conflict.banner.continue" => "続行",
        "git.conflict.banner.finalizeError" => "適用できませんでした: {{message}}",
        "git.conflict.banner.pollError" => "エラーのためステータスポーリングを一時停止中: {{message}}",
        "git.conflict.banner.reopenMessage" => "マージ中にパネルが再開されました — 中止して再度プルしてください。",
        "git.conflict.list.heading" => "すべての競合",
        "git.conflict.list.progress" => "{{resolved}} / {{total}} 解決済み",
        "git.conflict.list.allResolved" => "すべて解決済み",
        "git.conflict.list.allOurs" => "すべて自分のものに",
        "git.conflict.list.allTheirs" => "すべて相手のものに",
        "git.conflict.item.nodeConflict" => "ノード競合",
        "git.conflict.item.fieldConflict" => "フィールド競合",
        "git.conflict.item.resolved" => "解決済み",
        "git.conflict.card.ours" => "自分",
        "git.conflict.card.theirs" => "相手",
        "git.conflict.card.base" => "ベース",
        "git.conflict.card.keepMine" => "自分のものを使用",
        "git.conflict.card.keepTheirs" => "相手のものを使用",
        "git.conflict.card.oursThumbnailAlt" => "自分のバージョン",
        "git.conflict.card.theirsThumbnailAlt" => "相手のバージョン",
        "git.conflict.editor.editManually" => "手動で編集",
        "git.conflict.editor.cancel" => "キャンセル",
        "git.conflict.editor.apply" => "適用",
        "git.conflict.editor.invalidJson" => "無効な JSON",
        "git.conflict.editor.textareaLabel" => "JSON 値を編集",
        "git.error.dismiss" => "閉じる",
        "git.error.retry" => "再試行",
        "git.error.title" => "問題が発生しました",
        "git.empty.heading" => "まだバージョン履歴がありません",
        "git.empty.optional" => "Git は任意 — スキップしても問題ありません",
        "git.empty.requireSavedFile" => "履歴を作成するには .op ファイルを保存してください",
        "git.empty.newCard" => "新規",
        "git.empty.newCardDescription" => "ローカル履歴を作成",
        "git.empty.openCard" => "開く",
        "git.empty.openCardDescription" => "既存のリポジトリ",
        "git.empty.cloneCard" => "クローン",
        "git.empty.cloneCardDescription" => "リモートから",
        "git.author.heading" => "コミット作者",
        "git.author.subheading" => "最初のコミットには名前とメールが必要です",
        "git.author.nameLabel" => "名前",
        "git.author.namePlaceholder" => "あなたの名前",
        "git.author.emailLabel" => "メール",
        "git.author.emailPlaceholder" => "you@example.com",
        "git.author.submit" => "保存",
        "git.author.cancel" => "キャンセル",
        "git.author.validationName" => "名前を入力してください",
        "git.author.validationEmail" => "有効なメールアドレスを入力してください",
        "git.picker.heading" => "このリポジトリには {{count}} 個の .op ファイルがあります:",
        "git.picker.milestoneCount" => "{{count}} マイルストーン",
        "git.picker.noHistory" => "履歴なし",
        "git.picker.lastCommit" => "{{message}} · {{time}}",
        "git.picker.bindButton" => "このファイルを追跡",
        "git.picker.bindAndOpenButton" => "追跡して開く",
        "git.picker.back" => "戻る",
        "git.picker.backClose" => "キャンセル",
        "git.picker.empty.heading" => "このリポジトリには .op ファイルがありません",
        "git.picker.empty.body" => "Git パネルには少なくとも 1 つの .op ファイルが必要です",
        "git.picker.empty.close" => "パネルを閉じる",
        "git.autoBind.confirmHeading" => "{{fileName}} が見つかりました — エディタで開きますか?",
        "git.autoBind.openButton" => "開く",
        "git.autoBind.dismissButton" => "スキップ",
        "git.relativeTime.justNow" => "今",
        "git.relativeTime.minutesAgo" => "{{count}}分前",
        "git.relativeTime.hoursAgo" => "{{count}}時間前",
        "git.relativeTime.daysAgo" => "{{count}}日前",
        "git.commit.placeholder" => "この変更を説明…",
        "git.commit.submitButton" => "マイルストーンとして保存",
        "git.commit.saveRequiredTitle" => "まず文書を保存してください",
        "git.commit.saveRequiredBody" => "未保存の変更があります。続行するには文書を保存してください: {{label}}",
        "git.commit.saveRequiredSave" => "保存",
        "git.commit.saveRequiredCancel" => "キャンセル",
        "git.header.autosaveError" => "自動保存エラー",
        "git.header.autosaveErrorTitle" => "前回の自動保存が失敗",
        "git.header.authorMissingWarning" => "コミット作者を設定してください",
        "git.header.overflowSwitchTracked" => "追跡ファイルを切替…",
        "git.header.overflowClearAuthor" => "コミット作者をクリア",
        "git.header.overflowCloseRepo" => "リポジトリを閉じる",
        "git.header.overflowRemoteSettings" => "リモート設定…",
        "git.header.overflowSshKeys" => "SSH 鍵…",
        "git.header.overflowMoreActions" => "その他の操作",
        "git.history.empty" => "履歴なし",
        "git.history.autosaveGroup_one" => "1 件の自動保存",
        "git.history.autosaveGroup_other" => "{{count}} 件の自動保存",
        "git.history.autosaveLabel" => "auto {{time}}",
        "git.history.milestoneDetailTitle" => "マイルストーン詳細",
        "git.history.restoreButton" => "復元",
        "git.history.copyHashButton" => "ハッシュをコピー",
        "git.history.copiedToast" => "コピー済み",
        "git.history.diff.loading" => "差分を読み込み中…",
        "git.history.diff.initialCommit" => "初回コミット — 比較できる親コミットがありません",
        "git.history.diff.noChanges" => "変更なし",
        "git.history.diff.error" => "差分を利用できません: {{message}}",
        "git.history.diff.framesChanged_one" => "1 件のフレームが変更されました",
        "git.history.diff.framesChanged_other" => "{{count}} 件のフレームが変更されました",
        "git.history.diff.nodesAdded_one" => "ノードが 1 件追加されました",
        "git.history.diff.nodesAdded_other" => "ノードが {{count}} 件追加されました",
        "git.history.diff.nodesRemoved_one" => "ノードが 1 件削除されました",
        "git.history.diff.nodesRemoved_other" => "ノードが {{count}} 件削除されました",
        "git.history.diff.nodesModified_one" => "ノードが 1 件変更されました",
        "git.history.diff.nodesModified_other" => "ノードが {{count}} 件変更されました",
        "git.history.promoteButton" => "マイルストーンに昇格",
        "git.history.promoteSuccessToast" => "マイルストーンに昇格しました",
        "git.history.loadMore" => "さらに読み込む",
        "git.autosave.messagePrefix" => "auto",
        "git.autosave.messageDiffSuffix" => "",
        "git.branch.listHeading" => "ブランチ",
        "git.branch.createAction" => "新規ブランチ",
        "git.branch.createPlaceholder" => "feature/login-redesign",
        "git.branch.createSubmit" => "ブランチを作成",
        "git.branch.createEmpty" => "ブランチ名を入力してください",
        "git.branch.createExists" => "ブランチ {{name}} は既に存在します",
        "git.branch.mergeAction" => "ブランチをマージ…",
        "git.branch.mergeHeading" => "{{name}} にマージ",
        "git.branch.deletePrompt" => "ブランチ {{name}} を削除しますか?",
        "git.branch.deleteLabel" => "ブランチ {{name}} を削除",
        "git.branch.deleteWarning" => "ブランチ {{name}} に未マージのコミットがあります",
        "git.branch.deleteConfirm" => "削除",
        "git.branch.deleteForce" => "強制削除",
        "git.branch.cancel" => "キャンセル",
        "git.branch.conflictDisabled" => "ブランチを切り替える前にマージを完了してください",
        "git.branch.noCommits" => "コミットがまだありません",
        "git.wizard.clone.heading" => "リモートリポジトリをクローン",
        "git.wizard.clone.subheading" => "リモート URL とコピー先フォルダを選択してください。",
        "git.wizard.clone.urlLabel" => "リモート URL",
        "git.wizard.clone.urlPlaceholder" => "https://github.com/owner/repo.git",
        "git.wizard.clone.destLabel" => "コピー先フォルダ",
        "git.wizard.clone.destPlaceholder" => "/path/to/clone",
        "git.wizard.clone.destPickButton" => "参照…",
        "git.wizard.clone.usernameLabel" => "ユーザー名(任意)",
        "git.wizard.clone.tokenLabel" => "アクセストークン(任意)",
        "git.wizard.clone.tokenPlaceholder" => "ghp_… 公開リポジトリは空欄可",
        "git.wizard.clone.anonymousHint" => "空欄のままにすると匿名でクローンします(公開リポジトリのみ)。",
        "git.wizard.clone.sshHint" => "この URL には SSH 鍵認証が必要です。",
        "git.wizard.clone.hostDetected" => "検出: {{host}} · {{mode}}",
        "git.wizard.clone.authMode.token-or-anon" => "トークンまたは匿名",
        "git.wizard.clone.authMode.ssh" => "SSH 鍵",
        "git.wizard.clone.cancel" => "キャンセル",
        "git.wizard.clone.submit" => "クローン",
        "git.wizard.clone.validationUrl" => "リモート URL を入力してください",
        "git.wizard.clone.validationDest" => "コピー先フォルダを選択してください",
        "git.wizard.clone.validationTokenUsername" => "トークンを指定する場合はユーザー名が必要です",
        "git.wizard.clone.error.clone-network" => "クローン中にネットワークエラーが発生しました。接続を確認して再試行してください。",
        "git.wizard.clone.error.network" => "ネットワークエラー。接続を確認して再試行してください。",
        "git.wizard.clone.error.timeout" => "クローンがタイムアウトしました。再試行するか、より小さなリポジトリを使用してください。",
        "git.wizard.clone.error.auth-required" => "このリポジトリは認証が必要です。",
        "git.wizard.clone.error.auth-failed" => "認証に失敗しました。ユーザー名とトークンを確認してください。",
        "git.wizard.clone.error.auth-token-invalid" => "アクセストークンが拒否されました。新しいトークンを生成して再試行してください。",
        "git.wizard.clone.error.clone-failed" => "クローンに失敗しました。URL が実在するリポジトリを指していることを確認してください。",
        "git.wizard.clone.error.clone-target-exists" => "コピー先フォルダが既に存在するか、空ではありません。",
        "git.pull.label" => "プル",
        "git.pull.tooltip" => "origin からプル",
        "git.pull.noRemote" => "リモートが設定されていません — Git 設定で追加してください",
        "git.pull.retry" => "プルを再試行",
        "git.push.label" => "プッシュ",
        "git.push.tooltip_one" => "1 件のコミットを origin にプッシュ",
        "git.push.tooltip_other" => "{{count}} 件のコミットを origin にプッシュ",
        "git.push.noRemote" => "リモートが設定されていません — Git 設定で追加してください",
        "git.push.upToDate" => "プッシュする内容はありません — 最新の状態です",
        "git.push.retry" => "プッシュを再試行",
        "git.push.rejectedBody" => "リモートに未取得のコミットがあります。先にプルしてから再度プッシュしてください。",
        "git.push.rejectedDismiss" => "閉じる",
        "git.push.rejectedPull" => "今すぐプル",
        "git.remote.dismissError" => "閉じる",
        "git.remote.settingsLabel" => "リモート設定",
        "git.remote.settingsHeading" => "リモート",
        "git.remote.back" => "戻る",
        "git.remote.cancel" => "キャンセル",
        "git.remote.emptyNoOrigin" => "リモートが設定されていません。追加してください:",
        "git.remote.urlLabel" => "Origin URL",
        "git.remote.urlPlaceholder" => "https://github.com/owner/repo.git",
        "git.remote.saveButton" => "保存",
        "git.remote.clearButton" => "クリア",
        "git.remote.clearConfirmHeading" => "origin をクリアしますか?",
        "git.remote.clearConfirmBody" => "このリポジトリから origin リモートが削除されます。",
        "git.remote.clearConfirmAction" => "確認",
        "git.remote.aheadBehind" => "{{ahead}} 先行 · {{behind}} 遅延",
        "git.remote.fetchButton" => "Fetch",
        "git.remote.sshIsoUnsupported" => "内蔵エンジンは SSH トランスポートをサポートしていません。システム git をインストールするか、HTTPS リモート URL に切り替えてください。",
        "git.remote.storedAuthLabel" => "保存済み認証情報",
        "git.remote.storedAuth.token" => "トークン",
        "git.remote.storedAuth.ssh" => "SSH 鍵",
        "git.remote.storedAuth.none" => "なし",
        "git.remote.storedAuth.loading" => "読み込み中…",
        "git.remote.storedAuth.noHost" => "ホストが検出されません",
        "git.remote.clearAuthButton" => "保存済み認証情報をクリア",
        "git.ssh.label" => "SSH 鍵",
        "git.ssh.heading" => "SSH 鍵",
        "git.ssh.back" => "戻る",
        "git.ssh.cancel" => "キャンセル",
        "git.ssh.isoUnsupported" => "現在のリモートは SSH を使用していますが、内蔵エンジンは SSH トランスポートを実行できません。システム git をインストールするか、リモート URL を HTTPS に変更してください。",
        "git.ssh.emptyList" => "SSH 鍵はまだありません。",
        "git.ssh.generateAction" => "新しく生成",
        "git.ssh.importAction" => "既存のものをインポート",
        "git.ssh.copyPublicKey" => "公開鍵をコピー",
        "git.ssh.copiedHint" => "コピーしました",
        "git.ssh.copyUnsupported" => "クリップボードを利用できません。この鍵を手動でコピーしてください。",
        "git.ssh.deleteKey" => "{{name}} を削除",
        "git.ssh.deletePrompt" => "SSH 鍵 {{name}} を削除しますか?",
        "git.ssh.deleteConfirm" => "削除",
        "git.ssh.currentHostBadge" => "現在のホスト",
        "git.ssh.hostLabel" => "ホスト",
        "git.ssh.hostPlaceholder" => "github.com",
        "git.ssh.commentLabel" => "コメント",
        "git.ssh.commentPlaceholder" => "laptop@home",
        "git.ssh.generateSubmit" => "生成",
        "git.ssh.importPathLabel" => "秘密鍵のパス",
        "git.ssh.importPathPlaceholder" => "/path/to/id_ed25519",
        "git.ssh.importBrowse" => "参照…",
        "git.ssh.importSubmit" => "インポート",
        "git.ssh.validationHost" => "ホストを入力してください",
        "git.ssh.validationComment" => "コメントを入力してください",
        "git.ssh.validationImportPath" => "インポートする秘密鍵ファイルを選択してください",
        "git.ssh.providerLink" => "{{host}} の SSH 鍵設定を開く",
        "git.ssh.genericGuidance" => "公開鍵をコピーして、Git プロバイダの SSH 鍵設定に追加してください。",
        "git.auth.formLabel" => "Git 認証情報",
        "git.auth.heading" => "{{host}} に対して認証",
        "git.auth.headingUnknown" => "このリモートに対して認証",
        "git.auth.modeToggleLabel" => "認証情報の種類",
        "git.auth.modeToken" => "トークン",
        "git.auth.modeSsh" => "SSH",
        "git.auth.usernameLabel" => "ユーザー名(任意)",
        "git.auth.tokenLabel" => "アクセストークン",
        "git.auth.tokenPlaceholder" => "ghp_… または PAT",
        "git.auth.sshKeyLabel" => "SSH キー",
        "git.auth.sshNoKeys" => "利用可能な SSH キーがありません。先に Git 設定でインポートまたは生成してください。",
        "git.auth.rememberLabel" => "このホストの認証情報を記憶する",
        "git.auth.rememberHint" => "このホストの認証情報を記憶する",
        "git.auth.cancel" => "キャンセル",
        "git.auth.validationToken" => "アクセストークンは必須です",
        "git.auth.validationSshKey" => "SSH キーを選択してください",
        "git.auth.error.auth-required" => "このリモートには認証が必要です。",
        "git.auth.error.auth-failed" => "認証に失敗しました。認証情報を確認して再度お試しください。",
        "git.auth.error.auth-token-invalid" => "アクセストークンが拒否されました。新しいトークンを生成してから再試行してください。",
        "git.error.pushTitle" => "プッシュに失敗しました",
        "git.error.pushBody" => "git push を完了できませんでした。",
        "git.error.pullTitle" => "プルに失敗しました",
        "git.error.pullBody" => "git pull を完了できませんでした。",
        "git.error.commitTitle" => "コミットに失敗しました",
        "git.error.commitBody" => "git commit を完了できませんでした。",
        "git.merge.conflictTitle" => "マージに競合があります",
        "git.merge.conflictBody" => "ブランチ {{branch}} と現在のブランチで {{count}} 個のファイルが競合しています。マージは適用されず、作業ツリーはそのままです。先に競合を解決してください:",
        "git.ssh.readyTitle" => "SSH キーの準備ができました",
        "git.ssh.readyBody" => "{{host}} 用の SSH キーを生成して登録しました。pull と push でこのキーを使用します。次の公開鍵をホストの SSH キー設定に追加してください:",
        "git.panel.title" => "Git",
        "git.panel.loading" => "リポジトリを読み込み中…",
        "git.panel.notARepo" => "Git リポジトリではありません。",
        "git.panel.detachedHead" => "detached HEAD",
        "git.panel.branch" => "⎇ {{name}}",
        "git.panel.abortMerge" => "マージを中止",
        "git.panel.refresh" => "更新",
        "git.panel.complete" => "完了",
        "git.panel.commit" => "コミット",
        "git.panel.pull" => "プル",
        "git.panel.push" => "プッシュ",
        "git.panel.mergeInProgress" => "マージ中 — 競合を解決してください",
        "git.panel.conflicts" => "競合",
        "git.panel.noConflicts" => "競合なし。",
        "git.panel.changes" => "変更 — {{staged}}/{{total}} をステージ済み",
        "git.panel.recentCommits" => "最近のコミット",
        "git.panel.noCommits" => "まだコミットがありません。",
        "git.panel.branches" => "ブランチ",
        "git.panel.commitPlaceholder" => "コミットメッセージ…",
        "git.panel.footer" => "ステータス行または行をクリックして差分を表示",
        "git.panel.pulling" => "プル中…",
        "git.panel.pushing" => "プッシュ中…",
        "git.panel.changedConflicted" => "{{changed}} 件変更 · {{conflicted}} 件競合",
        "git.panel.changed" => "{{count}} 件変更",
        "git.panel.clean" => "作業ツリーはクリーンです",
        "git.panel.diffTitle" => "差分 · {{title}}",
        "git.panel.diffNoChanges" => "変更なし。",
        "git.panel.diffComputing" => "差分を計算中…",
        "git.panel.diffLoading" => "読み込み中…",
        "git.panel.diffWorkingTree" => "作業ツリー",
        "git.panel.diffCommit" => "コミット {{rev}}",
        "git.panel.stage" => "ステージ",
        "git.panel.diffFooter" => "{{total}} 行中 {{start}}–{{end}} 行{{col}}",
        "git.panel.diffCol" => " · 列 {{n}}",
        "git.panel.remotes" => "リモート",
        "git.panel.remotesMore" => "{{name}} 他 +{{count}} 件",
        "git.panel.noRemote" => "リモートなし — 下に origin を追加してください。",
        "git.panel.remotePlaceholder" => "https://github.com/you/repo.git",
        "git.panel.httpsPlaceholder" => "ユーザー名:トークン",
        "git.panel.set" => "設定",
        "git.panel.login" => "ログイン",
        "git.panel.resolveTitle" => "マージを解決 — {{branch}}",
        "git.panel.resolveSubtitle" => "{{count}} 件のノード競合 — それぞれ採用する側を選択",
        "git.panel.ours" => "自分",
        "git.panel.theirs" => "相手",
        "git.panel.applyMerge" => "マージを適用",
        "git.panel.resolveFooter" => "適用すると選択内容でマージを再実行します",
        "git.panel.resolveFooterMore" => "他 +{{count}} 件は自分側を保持 · キャンセルでマージを中止",
        "git.conflict.bothModified" => "両方で変更",
        "git.conflict.structuralChange" => "子の順序が変更",
        "git.conflict.deleteModify" => "削除 / 変更",
        "git.conflict.bothAdded" => "両方で追加",
        "git.conflict.addedOnRemote" => "リモートのみ追加",
        "git.merge.autoMergeable" => "{{path}} — 構造的に自動マージ可能",
        "git.merge.andMore" => "    … 他 {{count}} 件",
        "git.panel.diffError" => "(差分の取得に失敗しました: {{message}})",
        "git.reload.confirmTitle" => "未保存の変更があります",
        "git.reload.confirmBody" => "この Git 操作はディスクからドキュメントを再読み込みし、保存していない編集を破棄します。\n\nはい = 先に保存 · いいえ = 破棄 · キャンセル = 中止。",
        "git.gitError.notFound" => "Git がインストールされていません — バージョン管理を使うには Git をインストールしてください。",
        "git.gitError.notARepo" => "Git リポジトリではありません: {{detail}}",
        "git.gitError.commandFailed" => "git コマンドが失敗しました:\n{{detail}}",
        "git.gitError.mergeInProgress" => "すでにマージが進行中です — まず解決するか中止してください。",
        "git.gitError.workingTreeDirty" => "作業ツリーに未コミットの変更があります — マージ前にコミットまたはスタッシュしてください。",
        "git.gitError.io" => "Git プロセスエラー: {{detail}}",
        _ => return None,
    })
}
