diff --git a/TRANSLATION.md b/TRANSLATION.md index e2d1478f0..186b5de0a 100644 --- a/TRANSLATION.md +++ b/TRANSLATION.md @@ -236,6 +236,7 @@ This document shows the translation status of each locale file in the repository - Text.BranchCM.CreatePR - Text.BranchCM.CreatePRForUpstream - Text.BranchCM.EditDescription +- Text.BranchCM.InteractiveRebase.Manually - Text.BranchCM.ResetToSelectedCommit - Text.BranchCM.SwitchToWorktree - Text.BranchTree.Ahead @@ -579,6 +580,7 @@ This document shows the translation status of each locale file in the repository Missing keys in pt_BR.axaml - Text.Blame.BlameOnPreviousRevision +- Text.BranchCM.InteractiveRebase.Manually - Text.BranchTree.AheadBehind - Text.BranchTree.Behind - Text.BranchTree.Tracking @@ -913,6 +915,7 @@ This document shows the translation status of each locale file in the repository - Text.BranchCM.CreatePR - Text.BranchCM.CreatePRForUpstream - Text.BranchCM.EditDescription +- Text.BranchCM.InteractiveRebase.Manually - Text.BranchCM.ResetToSelectedCommit - Text.BranchCM.SwitchToWorktree - Text.BranchTree.Ahead @@ -1191,6 +1194,7 @@ This document shows the translation status of each locale file in the repository - Text.BranchCM.CreatePR - Text.BranchCM.CreatePRForUpstream - Text.BranchCM.EditDescription +- Text.BranchCM.InteractiveRebase.Manually - Text.BranchCM.ResetToSelectedCommit - Text.BranchCM.SwitchToWorktree - Text.BranchTree.Ahead @@ -1434,4 +1438,4 @@ This document shows the translation status of each locale file in the repository ### ![zh__CN](https://img.shields.io/badge/zh__CN-%E2%88%9A-brightgreen) -### ![zh__TW](https://img.shields.io/badge/zh__TW-%E2%88%9A-brightgreen) \ No newline at end of file +### ![zh__TW](https://img.shields.io/badge/zh__TW-%E2%88%9A-brightgreen) diff --git a/src/Resources/Locales/de_DE.axaml b/src/Resources/Locales/de_DE.axaml index 6fab3b0db..96abbb45f 100644 --- a/src/Resources/Locales/de_DE.axaml +++ b/src/Resources/Locales/de_DE.axaml @@ -74,6 +74,7 @@ Fast-Forward zu ${0}$ Fetche ${0}$ in ${1}$ hinein… Git Flow – Abschließen ${0}$ + Interaktives Rebase von ${0}$ auf ${1}$ Merge ${0}$ in ${1}$ hinein… Merge ausgewählte {0} Branches in aktuellen hinein Pull ${0}$ diff --git a/src/Resources/Locales/en_US.axaml b/src/Resources/Locales/en_US.axaml index bdd14810a..5493d4791 100644 --- a/src/Resources/Locales/en_US.axaml +++ b/src/Resources/Locales/en_US.axaml @@ -70,6 +70,7 @@ Fast-Forward to ${0}$ Fetch ${0}$ into ${1}$... Git Flow - Finish ${0}$ + Interactively Rebase ${0}$ on ${1}$ Merge ${0}$ into ${1}$... Merge selected {0} branches into current Pull ${0}$ diff --git a/src/Resources/Locales/es_ES.axaml b/src/Resources/Locales/es_ES.axaml index 032191051..32651c065 100644 --- a/src/Resources/Locales/es_ES.axaml +++ b/src/Resources/Locales/es_ES.axaml @@ -74,6 +74,7 @@ Fast-Forward a ${0}$ Fetch ${0}$ en ${1}$... Git Flow - Finalizar ${0}$ + Hacer Rebase interactivamente ${0}$ en ${1}$ Merge ${0}$ en ${1}$... Hacer merge de las ramas {0} seleccionadas hacia la rama actual Pull ${0}$ diff --git a/src/Resources/Locales/fr_FR.axaml b/src/Resources/Locales/fr_FR.axaml index 537baaddf..12293ff19 100644 --- a/src/Resources/Locales/fr_FR.axaml +++ b/src/Resources/Locales/fr_FR.axaml @@ -68,6 +68,7 @@ Fast-Forward vers ${0}$ Fetch ${0}$ vers ${1}$... Git Flow - Terminer ${0}$ + Rebaser Interactivement ${0}$ sur ${1}$ Fusionner ${0}$ dans ${1}$... Fusionner les {0} branches sélectionnées dans celle en cours Tirer ${0}$ diff --git a/src/Resources/Locales/id_ID.axaml b/src/Resources/Locales/id_ID.axaml index 2e0d0cf51..afb07fd84 100644 --- a/src/Resources/Locales/id_ID.axaml +++ b/src/Resources/Locales/id_ID.axaml @@ -64,6 +64,7 @@ Fast-Forward ke ${0}$ Fetch ${0}$ ke ${1}$... Git Flow - Selesaikan ${0}$ + Rebase ${0}$ pada ${1}$ secara Interaktif Merge ${0}$ ke ${1}$... Merge {0} branch yang dipilih ke saat ini Pull ${0}$ diff --git a/src/Resources/Locales/it_IT.axaml b/src/Resources/Locales/it_IT.axaml index 0ac0977d9..f7b6346bc 100644 --- a/src/Resources/Locales/it_IT.axaml +++ b/src/Resources/Locales/it_IT.axaml @@ -74,6 +74,7 @@ Avanzamento Veloce a ${0}$ Recupera ${0}$ in ${1}$... Git Flow - Completa ${0}$ + Ribasare interattivamente ${0}$ su ${1}$ Unisci ${0}$ in ${1}$... Unisci i {0} branch selezionati in quello corrente Scarica ${0}$ diff --git a/src/Resources/Locales/ko_KR.axaml b/src/Resources/Locales/ko_KR.axaml index 0fcf54a60..0768b096e 100644 --- a/src/Resources/Locales/ko_KR.axaml +++ b/src/Resources/Locales/ko_KR.axaml @@ -61,6 +61,7 @@ ${0}$(으)로 Fast-Forward ${0}$에서 ${1}$(으)로 Fetch... Git Flow - ${0}$ 완료 + ${1}$을(를) 기반으로 ${0}$ 대화형 리베이스 ${0}$을(를) ${1}$(으)로 병합... 선택한 {0}개의 브랜치를 현재 브랜치로 병합 ${0}$ Pull diff --git a/src/Resources/Locales/ru_RU.axaml b/src/Resources/Locales/ru_RU.axaml index f682cb845..244b22d8a 100644 --- a/src/Resources/Locales/ru_RU.axaml +++ b/src/Resources/Locales/ru_RU.axaml @@ -74,6 +74,7 @@ Перемотать вперёд к ${0}$ Извлечь ${0}$ в ${1}$... Git-процесс - Завершение ${0}$ + Интерактивное перемещение ${0}$ в ${1}$ Влить ${0}$ в ${1}$... Влить {0} выделенных веток в текущую Загрузить ${0}$ diff --git a/src/Resources/Locales/zh_CN.axaml b/src/Resources/Locales/zh_CN.axaml index 9260b56b3..0a4dbdc0e 100644 --- a/src/Resources/Locales/zh_CN.axaml +++ b/src/Resources/Locales/zh_CN.axaml @@ -74,6 +74,7 @@ 快进(fast-forward) 到 ${0}$ 拉取(fetch) ${0}$ 至 ${1}$... GIT工作流 - 完成 ${0}$ + 交互式变基 ${0}$ 到 ${1}$ 合并(merge) ${0}$ 到 ${1}$... 合并(merge) {0} 个分支到当前分支 拉回(pull) ${0}$ diff --git a/src/Resources/Locales/zh_TW.axaml b/src/Resources/Locales/zh_TW.axaml index 95ea3fb55..41ed3f8f9 100644 --- a/src/Resources/Locales/zh_TW.axaml +++ b/src/Resources/Locales/zh_TW.axaml @@ -74,6 +74,7 @@ 快轉 (fast-forward) 到 ${0}$ 提取 (fetch) ${0}$ 到 ${1}$... Git 工作流 - 完成 ${0}$ + 互動式重定基底 ${0}$ 至 ${1}$ 合併 ${0}$ 到 ${1}$... 合併 {0} 個分支到目前分支 拉取 (pull) ${0}$ diff --git a/src/Views/BranchTree.axaml.cs b/src/Views/BranchTree.axaml.cs index 6a1bdb024..8b31d4560 100644 --- a/src/Views/BranchTree.axaml.cs +++ b/src/Views/BranchTree.axaml.cs @@ -797,9 +797,21 @@ private ContextMenu CreateContextMenuForLocalBranch(ViewModels.Repository repo, repo.ShowPopup(new ViewModels.Rebase(repo, current, branch)); e.Handled = true; }; + + var interactiveRebase = new MenuItem(); + interactiveRebase.Header = App.Text("BranchCM.InteractiveRebase.Manually", current.Name, branch.Name); + interactiveRebase.Icon = App.CreateMenuIcon("Icons.InteractiveRebase"); + interactiveRebase.Click += async (_, e) => + { + var commit = await new Commands.QuerySingleCommit(repo.FullPath, branch.Head).GetResultAsync(); + await App.ShowDialog(new ViewModels.InteractiveRebase(repo, commit)); + e.Handled = true; + }; menu.Items.Add(merge); menu.Items.Add(rebase); + menu.Items.Add(new MenuItem() { Header = "-" }); + menu.Items.Add(interactiveRebase); } if (hasNoWorktree) @@ -1117,6 +1129,16 @@ public ContextMenu CreateContextMenuForRemoteBranch(ViewModels.Repository repo, repo.ShowPopup(new ViewModels.Rebase(repo, current, branch)); e.Handled = true; }; + + var interactiveRebase = new MenuItem(); + interactiveRebase.Header = App.Text("BranchCM.InteractiveRebase.Manually", current.Name, name); + interactiveRebase.Icon = App.CreateMenuIcon("Icons.InteractiveRebase"); + interactiveRebase.Click += async (_, e) => + { + var commit = await new Commands.QuerySingleCommit(repo.FullPath, branch.Head).GetResultAsync(); + await App.ShowDialog(new ViewModels.InteractiveRebase(repo, commit)); + e.Handled = true; + }; var compareWithHead = new MenuItem(); compareWithHead.Header = App.Text("BranchCM.CompareWithHead"); @@ -1140,6 +1162,8 @@ public ContextMenu CreateContextMenuForRemoteBranch(ViewModels.Repository repo, menu.Items.Add(merge); menu.Items.Add(rebase); menu.Items.Add(new MenuItem() { Header = "-" }); + menu.Items.Add(interactiveRebase); + menu.Items.Add(new MenuItem() { Header = "-" }); menu.Items.Add(compareWithHead); menu.Items.Add(compareWith); }