mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-05-17 22:32:58 +02:00
Fix pushing to branch when upstream not stored locally (#3619)
- **PR Description** This fixes three different problems; two were recent regressions, one has never worked. 1. For branches whose remote is not stored locally, don't ask to force push right away. Try a normal push first. This broke with #3528. 2. For branches whose remote is not stored locally (but only for those), if the server rejects the update, ask to force push. This broke with #3387. 3. When force-pushing a branch whose remote is not stored locally, use `--force` instead of `--force-with-lease`; otherwise the push would always fail with a "stale info" error. This has never worked. Fixes #3588.
This commit is contained in:
commit
c5baa5da3a
@ -19,6 +19,7 @@ func NewSyncCommands(gitCommon *GitCommon) *SyncCommands {
|
||||
// Push pushes to a branch
|
||||
type PushOpts struct {
|
||||
Force bool
|
||||
ForceWithLease bool
|
||||
UpstreamRemote string
|
||||
UpstreamBranch string
|
||||
SetUpstream bool
|
||||
@ -30,7 +31,8 @@ func (self *SyncCommands) PushCmdObj(task gocui.Task, opts PushOpts) (oscommands
|
||||
}
|
||||
|
||||
cmdArgs := NewGitCmd("push").
|
||||
ArgIf(opts.Force, "--force-with-lease").
|
||||
ArgIf(opts.Force, "--force").
|
||||
ArgIf(opts.ForceWithLease, "--force-with-lease").
|
||||
ArgIf(opts.SetUpstream, "--set-upstream").
|
||||
ArgIf(opts.UpstreamRemote != "", opts.UpstreamRemote).
|
||||
ArgIf(opts.UpstreamBranch != "", opts.UpstreamBranch).
|
||||
|
@ -18,24 +18,32 @@ func TestSyncPush(t *testing.T) {
|
||||
scenarios := []scenario{
|
||||
{
|
||||
testName: "Push with force disabled",
|
||||
opts: PushOpts{Force: false},
|
||||
opts: PushOpts{ForceWithLease: false},
|
||||
test: func(cmdObj oscommands.ICmdObj, err error) {
|
||||
assert.Equal(t, cmdObj.Args(), []string{"git", "push"})
|
||||
assert.NoError(t, err)
|
||||
},
|
||||
},
|
||||
{
|
||||
testName: "Push with force-with-lease enabled",
|
||||
opts: PushOpts{ForceWithLease: true},
|
||||
test: func(cmdObj oscommands.ICmdObj, err error) {
|
||||
assert.Equal(t, cmdObj.Args(), []string{"git", "push", "--force-with-lease"})
|
||||
assert.NoError(t, err)
|
||||
},
|
||||
},
|
||||
{
|
||||
testName: "Push with force enabled",
|
||||
opts: PushOpts{Force: true},
|
||||
test: func(cmdObj oscommands.ICmdObj, err error) {
|
||||
assert.Equal(t, cmdObj.Args(), []string{"git", "push", "--force-with-lease"})
|
||||
assert.Equal(t, cmdObj.Args(), []string{"git", "push", "--force"})
|
||||
assert.NoError(t, err)
|
||||
},
|
||||
},
|
||||
{
|
||||
testName: "Push with force disabled, upstream supplied",
|
||||
opts: PushOpts{
|
||||
Force: false,
|
||||
ForceWithLease: false,
|
||||
UpstreamRemote: "origin",
|
||||
UpstreamBranch: "master",
|
||||
},
|
||||
@ -47,7 +55,7 @@ func TestSyncPush(t *testing.T) {
|
||||
{
|
||||
testName: "Push with force disabled, setting upstream",
|
||||
opts: PushOpts{
|
||||
Force: false,
|
||||
ForceWithLease: false,
|
||||
UpstreamRemote: "origin",
|
||||
UpstreamBranch: "master",
|
||||
SetUpstream: true,
|
||||
@ -58,9 +66,9 @@ func TestSyncPush(t *testing.T) {
|
||||
},
|
||||
},
|
||||
{
|
||||
testName: "Push with force enabled, setting upstream",
|
||||
testName: "Push with force-with-lease enabled, setting upstream",
|
||||
opts: PushOpts{
|
||||
Force: true,
|
||||
ForceWithLease: true,
|
||||
UpstreamRemote: "origin",
|
||||
UpstreamBranch: "master",
|
||||
SetUpstream: true,
|
||||
@ -73,7 +81,7 @@ func TestSyncPush(t *testing.T) {
|
||||
{
|
||||
testName: "Push with remote branch but no origin",
|
||||
opts: PushOpts{
|
||||
Force: true,
|
||||
ForceWithLease: true,
|
||||
UpstreamRemote: "",
|
||||
UpstreamBranch: "master",
|
||||
SetUpstream: true,
|
||||
|
@ -104,7 +104,7 @@ func (b *Branch) IsBehindForPull() bool {
|
||||
}
|
||||
|
||||
func (b *Branch) IsBehindForPush() bool {
|
||||
return b.BehindForPush != "" && b.BehindForPush != "0"
|
||||
return b.RemoteBranchStoredLocally() && b.BehindForPush != "0"
|
||||
}
|
||||
|
||||
// for when we're in a detached head state
|
||||
|
@ -89,7 +89,7 @@ func (self *SyncController) branchCheckedOut(f func(*models.Branch) error) func(
|
||||
func (self *SyncController) push(currentBranch *models.Branch) error {
|
||||
// if we are behind our upstream branch we'll ask if the user wants to force push
|
||||
if currentBranch.IsTrackingRemote() {
|
||||
opts := pushOpts{}
|
||||
opts := pushOpts{remoteBranchStoredLocally: currentBranch.RemoteBranchStoredLocally()}
|
||||
if currentBranch.IsBehindForPush() {
|
||||
return self.requestToForcePush(currentBranch, opts)
|
||||
} else {
|
||||
@ -180,9 +180,16 @@ func (self *SyncController) pullWithLock(task gocui.Task, opts PullFilesOptions)
|
||||
|
||||
type pushOpts struct {
|
||||
force bool
|
||||
forceWithLease bool
|
||||
upstreamRemote string
|
||||
upstreamBranch string
|
||||
setUpstream bool
|
||||
|
||||
// If this is false, we can't tell ahead of time whether a force-push will
|
||||
// be necessary, so we start with a normal push and offer to force-push if
|
||||
// the server rejected. If this is true, we don't offer to force-push if the
|
||||
// server rejected, but rather ask the user to fetch.
|
||||
remoteBranchStoredLocally bool
|
||||
}
|
||||
|
||||
func (self *SyncController) pushAux(currentBranch *models.Branch, opts pushOpts) error {
|
||||
@ -192,13 +199,32 @@ func (self *SyncController) pushAux(currentBranch *models.Branch, opts pushOpts)
|
||||
task,
|
||||
git_commands.PushOpts{
|
||||
Force: opts.force,
|
||||
ForceWithLease: opts.forceWithLease,
|
||||
UpstreamRemote: opts.upstreamRemote,
|
||||
UpstreamBranch: opts.upstreamBranch,
|
||||
SetUpstream: opts.setUpstream,
|
||||
})
|
||||
if err != nil {
|
||||
if strings.Contains(err.Error(), "Updates were rejected") {
|
||||
return errors.New(self.c.Tr.UpdatesRejected)
|
||||
if !opts.force && !opts.forceWithLease && strings.Contains(err.Error(), "Updates were rejected") {
|
||||
if opts.remoteBranchStoredLocally {
|
||||
return errors.New(self.c.Tr.UpdatesRejected)
|
||||
}
|
||||
|
||||
forcePushDisabled := self.c.UserConfig.Git.DisableForcePushing
|
||||
if forcePushDisabled {
|
||||
return errors.New(self.c.Tr.UpdatesRejectedAndForcePushDisabled)
|
||||
}
|
||||
_ = self.c.Confirm(types.ConfirmOpts{
|
||||
Title: self.c.Tr.ForcePush,
|
||||
Prompt: self.forcePushPrompt(),
|
||||
HandleConfirm: func() error {
|
||||
newOpts := opts
|
||||
newOpts.force = true
|
||||
|
||||
return self.pushAux(currentBranch, newOpts)
|
||||
},
|
||||
})
|
||||
return nil
|
||||
}
|
||||
return err
|
||||
}
|
||||
@ -216,7 +242,7 @@ func (self *SyncController) requestToForcePush(currentBranch *models.Branch, opt
|
||||
Title: self.c.Tr.ForcePush,
|
||||
Prompt: self.forcePushPrompt(),
|
||||
HandleConfirm: func() error {
|
||||
opts.force = true
|
||||
opts.forceWithLease = true
|
||||
return self.pushAux(currentBranch, opts)
|
||||
},
|
||||
})
|
||||
|
@ -35,323 +35,324 @@ const chineseIntroPopupMessage = `
|
||||
// exporting this so we can use it in tests
|
||||
func chineseTranslationSet() TranslationSet {
|
||||
return TranslationSet{
|
||||
NotEnoughSpace: "没有足够的空间来渲染面板",
|
||||
DiffTitle: "差异",
|
||||
FilesTitle: "文件",
|
||||
BranchesTitle: "分支",
|
||||
CommitsTitle: "提交",
|
||||
StashTitle: "贮藏",
|
||||
UnstagedChanges: `未暂存更改`,
|
||||
StagedChanges: `已暂存更改`,
|
||||
MainTitle: "主要",
|
||||
StagingTitle: "正在暂存",
|
||||
MergingTitle: "正在合并",
|
||||
NormalTitle: "正常",
|
||||
CommitSummary: "提交信息",
|
||||
CredentialsUsername: "用户名",
|
||||
CredentialsPassword: "密码",
|
||||
CredentialsPassphrase: "输入 SSH 密钥的密码",
|
||||
PassUnameWrong: "密码 和/或 用户名错误",
|
||||
Commit: "提交更改",
|
||||
AmendLastCommit: "修补最后一次提交",
|
||||
AmendLastCommitTitle: "修补最后一次提交",
|
||||
SureToAmend: "您确定要修补上一次提交吗?之后您可以从提交面板更改提交消息。",
|
||||
NoCommitToAmend: "没有需要提交的修补。",
|
||||
CommitChangesWithEditor: "提交更改(使用编辑器编辑提交信息)",
|
||||
StatusTitle: "状态",
|
||||
Menu: "菜单",
|
||||
Execute: "执行",
|
||||
Stage: "切换暂存状态",
|
||||
ToggleStagedAll: "切换所有文件的暂存状态",
|
||||
ToggleTreeView: "切换文件树视图",
|
||||
OpenMergeTool: "打开外部合并工具 (git mergetool)",
|
||||
Refresh: "刷新",
|
||||
Push: "推送",
|
||||
Pull: "拉取",
|
||||
Scroll: "滚动",
|
||||
MergeConflictsTitle: "合并冲突",
|
||||
Checkout: "检出",
|
||||
NoChangedFiles: "没有更改过文件",
|
||||
SoftReset: "软重置",
|
||||
AlreadyCheckedOutBranch: "您已经检出至此分支",
|
||||
SureForceCheckout: "您确定要强制检出吗?您将丢失所有本地更改",
|
||||
ForceCheckoutBranch: "强制检出分支",
|
||||
BranchName: "分支名称",
|
||||
NewBranchNameBranchOff: "新分支名称(基于 {{.branchName}})",
|
||||
CantDeleteCheckOutBranch: "您不能删除已检出的分支!",
|
||||
ForceDeleteBranchMessage: "{{.selectedBranchName}} 还没有被完全合并。您确定要删除它吗?",
|
||||
RebaseBranch: "将已检出的分支变基到该分支",
|
||||
CantRebaseOntoSelf: "您不能将分支变基到其自身",
|
||||
CantMergeBranchIntoItself: "您不能将分支合并到其自身",
|
||||
ForceCheckout: "强制检出",
|
||||
CheckoutByName: "按名称检出",
|
||||
NewBranch: "新分支",
|
||||
NoBranchesThisRepo: "此仓库中没有分支",
|
||||
CommitWithoutMessageErr: "您必须编写提交消息才能进行提交",
|
||||
CloseCancel: "关闭",
|
||||
Confirm: "确认",
|
||||
Close: "关闭",
|
||||
Quit: "退出",
|
||||
NoCommitsThisBranch: "该分支没有提交",
|
||||
CannotSquashOrFixupFirstCommit: "There's no commit below to squash into",
|
||||
Fixup: "修正(fixup)",
|
||||
SureFixupThisCommit: "您确定要“修正”此提交吗?它将合并到下面的提交中",
|
||||
SureSquashThisCommit: "您确定要将这个提交压缩到下面的提交中吗?",
|
||||
Squash: "压缩",
|
||||
PickCommitTooltip: "选择提交(变基过程中)",
|
||||
RevertCommit: "还原提交",
|
||||
Reword: "改写提交",
|
||||
DropCommit: "删除提交",
|
||||
MoveDownCommit: "下移提交",
|
||||
MoveUpCommit: "上移提交",
|
||||
EditCommitTooltip: "编辑提交",
|
||||
AmendCommitTooltip: "用已暂存的更改来修补提交",
|
||||
RewordCommitEditor: "使用编辑器重命名提交",
|
||||
Error: "错误",
|
||||
PickHunk: "选中区块",
|
||||
PickAllHunks: "选中所有区块",
|
||||
Undo: "撤销",
|
||||
UndoReflog: "(通过 reflog)撤销「实验功能」",
|
||||
RedoReflog: "(通过 reflog)重做「实验功能」",
|
||||
Pop: "应用并删除",
|
||||
Drop: "删除",
|
||||
Apply: "应用",
|
||||
NoStashEntries: "没有贮藏条目",
|
||||
StashDrop: "删除贮藏",
|
||||
SureDropStashEntry: "您确定要删除此贮藏条目吗?",
|
||||
StashPop: "应用并删除贮藏",
|
||||
SurePopStashEntry: "您确定要应用并删除此贮藏条目吗?",
|
||||
StashApply: "应用贮藏",
|
||||
SureApplyStashEntry: "您确定要应用此贮藏条目?",
|
||||
NoTrackedStagedFilesStash: "没有可以贮藏的已跟踪/暂存文件",
|
||||
StashChanges: "贮藏更改",
|
||||
RenameStash: "Rename stash",
|
||||
RenameStashPrompt: "Rename stash: {{.stashName}}",
|
||||
OpenConfig: "打开配置文件",
|
||||
EditConfig: "编辑配置文件",
|
||||
ForcePush: "强制推送",
|
||||
ForcePushPrompt: "您的分支已与远程分支不同。按‘esc’取消,或‘enter’强制推送.",
|
||||
ForcePushDisabled: "您的分支已与远程分支不同, 并且您已经禁用了强行推送",
|
||||
CheckForUpdate: "检查更新",
|
||||
CheckingForUpdates: "正在检查更新…",
|
||||
OnLatestVersionErr: "已是最新版本",
|
||||
MajorVersionErr: "新版本 ({{.newVersion}}) 与当前版本 ({{.currentVersion}}) 相比,具有非向后兼容的更改",
|
||||
CouldNotFindBinaryErr: "在 {{.url}} 处找不到任何二进制文件",
|
||||
MergeToolTitle: "合并工具",
|
||||
MergeToolPrompt: "确定要打开 `git mergetool` 吗?",
|
||||
IntroPopupMessage: chineseIntroPopupMessage,
|
||||
GitconfigParseErr: `由于存在未加引号的'\'字符,因此 Gogit 无法解析您的 gitconfig 文件。删除它们应该可以解决问题。`,
|
||||
EditFile: `编辑文件`,
|
||||
OpenFile: `打开文件`,
|
||||
IgnoreFile: `添加到 .gitignore`,
|
||||
RefreshFiles: `刷新文件`,
|
||||
Merge: `合并到当前检出的分支`,
|
||||
ConfirmQuit: `您确定要退出吗?`,
|
||||
SwitchRepo: `切换到最近的仓库`,
|
||||
AllBranchesLogGraph: `显示所有分支的日志`,
|
||||
UnsupportedGitService: `不支持的 git 服务`,
|
||||
CreatePullRequest: `创建抓取请求`,
|
||||
CopyPullRequestURL: `将抓取请求 URL 复制到剪贴板`,
|
||||
NoBranchOnRemote: `该分支在远程上不存在. 您需要先将其推送到远程.`,
|
||||
Fetch: `抓取`,
|
||||
NoAutomaticGitFetchTitle: `无法自动进行 "git fetch"`,
|
||||
NoAutomaticGitFetchBody: `Lazygit 不能在私人仓库中使用 "git fetch"; 请在文件面板中使用 'f' 手动运行 "git fetch"`,
|
||||
FileEnter: `暂存单个 块/行 用于文件, 或 折叠/展开 目录`,
|
||||
FileStagingRequirements: `只能暂存跟踪文件的单独行`,
|
||||
StageSelectionTooltip: `切换行暂存状态`,
|
||||
DiscardSelection: `取消变更 (git reset)`,
|
||||
ToggleRangeSelect: `切换拖动选择`,
|
||||
ToggleSelectHunk: `切换选择区块`,
|
||||
ToggleSelectionForPatch: `添加/移除 行到补丁`,
|
||||
ToggleStagingView: `切换到其他面板`,
|
||||
ReturnToFilesPanel: `返回文件面板`,
|
||||
FastForward: `从上游快进此分支`,
|
||||
FastForwarding: "抓取并快进",
|
||||
FoundConflictsTitle: "自动合并失败",
|
||||
ViewMergeRebaseOptions: "查看 合并/变基 选项",
|
||||
NotMergingOrRebasing: "您目前既不进行变基也不进行合并",
|
||||
RecentRepos: "最近的仓库",
|
||||
MergeOptionsTitle: "合并选项",
|
||||
RebaseOptionsTitle: "变基选项",
|
||||
CommitSummaryTitle: "提交讯息",
|
||||
LocalBranchesTitle: "分支页面",
|
||||
SearchTitle: "搜索",
|
||||
TagsTitle: "标签页面",
|
||||
MenuTitle: "菜单",
|
||||
RemotesTitle: "远程页面",
|
||||
RemoteBranchesTitle: "远程分支",
|
||||
PatchBuildingTitle: "构建补丁中",
|
||||
InformationTitle: "信息",
|
||||
SecondaryTitle: "次要",
|
||||
ReflogCommitsTitle: "Reflog 页面",
|
||||
GlobalTitle: "全局键绑定",
|
||||
ConflictsResolved: "已解决所有冲突。是否继续?",
|
||||
ConfirmMerge: "您确定要将分支 {{.selectedBranch}} 合并到 {{.checkedOutBranch}} 吗?",
|
||||
FwdNoUpstream: "此分支没有上游,无法快进",
|
||||
FwdNoLocalUpstream: "此分支的远程未在本地注册,无法快进",
|
||||
FwdCommitsToPush: "此分支带有尚未推送的提交,无法快进",
|
||||
ErrorOccurred: "发生错误!请在以下位置创建 issue",
|
||||
NoRoom: "空间不足",
|
||||
YouAreHere: "您在这里",
|
||||
RewordNotSupported: "当前不支持交互式重新基准化时的重新措词提交",
|
||||
CherryPickCopy: "复制提交(拣选)",
|
||||
PasteCommits: "粘贴提交(拣选)",
|
||||
SureCherryPick: "您确定要将选中的提交进行拣选到这个分支吗?",
|
||||
CherryPick: "拣选 (Cherry-Pick)",
|
||||
Donate: "捐助",
|
||||
AskQuestion: "提问咨询",
|
||||
PrevLine: "选择上一行",
|
||||
NextLine: "选择下一行",
|
||||
PrevHunk: "选择上一个区块",
|
||||
NextHunk: "选择下一个区块",
|
||||
PrevConflict: "选择上一个冲突",
|
||||
NextConflict: "选择下一个冲突",
|
||||
SelectPrevHunk: "选择顶部块",
|
||||
SelectNextHunk: "选择底部块",
|
||||
ScrollDown: "向下滚动",
|
||||
ScrollUp: "向上滚动",
|
||||
ScrollUpMainWindow: "向上滚动主面板",
|
||||
ScrollDownMainWindow: "向下滚动主面板",
|
||||
AmendCommitTitle: "修改提交",
|
||||
AmendCommitPrompt: "您确定要使用暂存文件来修改此提交吗?",
|
||||
DropCommitTitle: "删除提交",
|
||||
DropCommitPrompt: "您确定要删除此提交吗?",
|
||||
PullingStatus: "正在拉取",
|
||||
PushingStatus: "正在推送",
|
||||
FetchingStatus: "正在抓取",
|
||||
SquashingStatus: "正在压缩",
|
||||
FixingStatus: "正在修正",
|
||||
DeletingStatus: "正在删除",
|
||||
MovingStatus: "正在移动",
|
||||
RebasingStatus: "正在变基",
|
||||
AmendingStatus: "正在修改",
|
||||
CherryPickingStatus: "正在拣选",
|
||||
UndoingStatus: "正在撤销",
|
||||
RedoingStatus: "正在重做",
|
||||
CheckingOutStatus: "长子检出",
|
||||
CommittingStatus: "正在提交",
|
||||
CommitFiles: "提交文件",
|
||||
ViewItemFiles: "查看提交的文件",
|
||||
CommitFilesTitle: "提交文件",
|
||||
CheckoutCommitFileTooltip: "检出文件",
|
||||
DiscardOldFileChangeTooltip: "放弃对此文件的提交更改",
|
||||
DiscardFileChangesTitle: "放弃文件更改",
|
||||
DiscardFileChangesPrompt: "您确定要舍弃此提交对该文件的更改吗?如果此文件是在此提交中创建的,它将被删除",
|
||||
DisabledForGPG: "该功能不适用于使用 GPG 的用户",
|
||||
CreateRepo: "当前目录不在 git 仓库中。是否在此目录创建一个新的 git 仓库?(y/n): ",
|
||||
AutoStashTitle: "自动存储?",
|
||||
AutoStashPrompt: "您必须隐藏并弹出更改以使更改生效。自动执行?(enter/esc)",
|
||||
StashPrefix: "自动隐藏更改 ",
|
||||
Discard: "查看'放弃更改'选项",
|
||||
Cancel: "取消",
|
||||
DiscardAllChanges: "放弃所有更改",
|
||||
DiscardUnstagedChanges: "放弃未暂存的变更",
|
||||
DiscardAllChangesToAllFiles: "清空工作区",
|
||||
DiscardAnyUnstagedChanges: "丢弃未暂存的变更",
|
||||
DiscardUntrackedFiles: "丢弃未跟踪的文件",
|
||||
HardReset: "硬重置",
|
||||
ViewResetOptions: `查看重置选项`,
|
||||
CreateFixupCommit: `为此提交创建修正`,
|
||||
SquashAboveCommitsTooltip: `压缩在所选提交之上的所有“fixup!”提交(自动压缩)`,
|
||||
CreateFixupCommitTooltip: `创建修正提交`,
|
||||
ExecuteCustomCommand: "执行自定义命令",
|
||||
CustomCommand: "自定义命令:",
|
||||
CommitChangesWithoutHook: "提交更改而无需预先提交钩子",
|
||||
SkipHookPrefixNotConfigured: "您尚未配置用于跳过钩子的提交消息前缀。请在您的配置中设置 `git.skipHookPrefix ='WIP'`",
|
||||
ResetTo: `重置为`,
|
||||
PressEnterToReturn: "按下 Enter 键返回 lazygit",
|
||||
ViewStashOptions: "查看贮藏选项",
|
||||
StashAllChanges: "将所有更改加入贮藏",
|
||||
StashAllChangesKeepIndex: "将已暂存的更改加入贮藏",
|
||||
StashOptions: "贮藏选项",
|
||||
NotARepository: "错误:必须在 git 仓库中运行",
|
||||
Jump: "跳到面板",
|
||||
ScrollLeftRight: "左右滚动",
|
||||
ScrollLeft: "向左滚动",
|
||||
ScrollRight: "向右滚动",
|
||||
DiscardPatch: "丢弃补丁",
|
||||
DiscardPatchConfirm: "您一次只能通过一个提交或贮藏条目构建补丁。需要放弃当前补丁吗?",
|
||||
CantPatchWhileRebasingError: "处于合并或变基状态时,您无法构建修补程序或运行修补程序命令",
|
||||
ToggleAddToPatch: "补丁中包含的切换文件",
|
||||
ViewPatchOptions: "查看自定义补丁选项",
|
||||
PatchOptionsTitle: "补丁选项",
|
||||
NoPatchError: "尚未创建补丁。你可以在提交中的文件上按下“空格”或使用“回车”添加其中的特定行以开始构建补丁",
|
||||
EnterCommitFile: "输入文件以将所选行添加到补丁中(或切换目录折叠)",
|
||||
ExitCustomPatchBuilder: `退出逐行模式`,
|
||||
EnterUpstream: `以这种格式输入上游:'<远程仓库> <分支名称>'`,
|
||||
InvalidUpstream: "上游格式无效,格式应当为:'<remote> <branchname>'",
|
||||
ReturnToRemotesList: `返回远程仓库列表`,
|
||||
NewRemote: `添加新的远程仓库`,
|
||||
NewRemoteName: `新远程仓库名称:`,
|
||||
NewRemoteUrl: `新远程仓库 URL:`,
|
||||
EditRemoteName: `输入远程仓库 {{.remoteName}} 的新名称:`,
|
||||
EditRemoteUrl: `输入远程仓库 {{.remoteName}} 的新 URL:`,
|
||||
RemoveRemote: `删除远程`,
|
||||
RemoveRemotePrompt: "您确定要删除远程仓库吗?",
|
||||
DeleteRemoteBranch: "删除远程分支",
|
||||
DeleteRemoteBranchMessage: "您确定要删除远程分支吗?",
|
||||
SetUpstream: "设置为检出分支的上游",
|
||||
SetAsUpstreamTooltip: "设置为检出分支的上游",
|
||||
SetUpstreamTitle: "设置上游分支",
|
||||
SetUpstreamMessage: "您确定要将 {{.checkedOut}} 的上游分支设置为 {{.selected}} 吗?",
|
||||
EditRemoteTooltip: "编辑远程仓库",
|
||||
TagCommit: "标签提交",
|
||||
TagMenuTitle: "创建标签",
|
||||
TagNameTitle: "标签名称",
|
||||
TagMessageTitle: "标签消息",
|
||||
AnnotatedTag: "附注标签",
|
||||
LightweightTag: "轻量标签",
|
||||
PushTagTitle: "将 {{.tagName}} 推送到远程仓库:",
|
||||
PushTag: "推送标签",
|
||||
NewTag: "创建标签",
|
||||
FetchRemoteTooltip: "抓取远程仓库",
|
||||
FetchingRemoteStatus: "抓取远程仓库中",
|
||||
CheckoutCommit: "检出提交",
|
||||
SureCheckoutThisCommit: "您确定要检出此提交吗?",
|
||||
GitFlowOptions: "显示 git-flow 选项",
|
||||
NotAGitFlowBranch: "这似乎不是 git flow 分支",
|
||||
NewGitFlowBranchPrompt: "新的 {{.branchType}} 名称:",
|
||||
IgnoreTracked: "忽略跟踪文件",
|
||||
IgnoreTrackedPrompt: "您确定要忽略已跟踪的文件吗?",
|
||||
ViewResetToUpstreamOptions: "查看上游重置选项",
|
||||
NextScreenMode: "下一屏模式(正常/半屏/全屏)",
|
||||
PrevScreenMode: "上一屏模式",
|
||||
StartSearch: "开始搜索",
|
||||
Panel: "面板",
|
||||
Keybindings: "按键绑定",
|
||||
RenameBranch: "重命名分支",
|
||||
NewBranchNamePrompt: "输入分支的新名称",
|
||||
RenameBranchWarning: "该分支正在跟踪远程仓库。此操作将仅会重命名本地分支名称,而不会重命名远程分支的名称。确定继续?",
|
||||
OpenKeybindingsMenu: "打开菜单",
|
||||
ResetCherryPick: "重置已拣选(复制)的提交",
|
||||
NextTab: "下一个标签",
|
||||
PrevTab: "上一个标签",
|
||||
CantUndoWhileRebasing: "进行基础调整时无法撤消",
|
||||
CantRedoWhileRebasing: "变基时无法重做",
|
||||
MustStashWarning: "将补丁拉出到索引中需要存储和取消存储所做的更改。如果出现问题,您将可以从存储中访问文件。继续?",
|
||||
MustStashTitle: "必须保存进度",
|
||||
ConfirmationTitle: "确认面板",
|
||||
PrevPage: "上一页",
|
||||
NextPage: "下一页",
|
||||
GotoTop: "滚动到顶部",
|
||||
GotoBottom: "滚动到底部",
|
||||
FilteringBy: "过滤依据",
|
||||
ResetInParentheses: "(重置)",
|
||||
OpenFilteringMenu: "查看按路径过滤选项",
|
||||
FilterBy: "过滤",
|
||||
ExitFilterMode: "停止按路径过滤",
|
||||
FilterPathOption: "输入要过滤的路径",
|
||||
EnterFileName: "输入路径:",
|
||||
FilteringMenuTitle: "正在过滤",
|
||||
MustExitFilterModeTitle: "命令不可用",
|
||||
MustExitFilterModePrompt: "命令在过滤模式下不可用。退出过滤模式?",
|
||||
Diff: "差异",
|
||||
EnterRefToDiff: "输入 ref 以 diff",
|
||||
EnterRefName: "输入 ref:",
|
||||
ExitDiffMode: "退出差异模式",
|
||||
DiffingMenuTitle: "正在 diff",
|
||||
SwapDiff: "反向 diff",
|
||||
ViewDiffingOptions: "打开 diff 菜单",
|
||||
NotEnoughSpace: "没有足够的空间来渲染面板",
|
||||
DiffTitle: "差异",
|
||||
FilesTitle: "文件",
|
||||
BranchesTitle: "分支",
|
||||
CommitsTitle: "提交",
|
||||
StashTitle: "贮藏",
|
||||
UnstagedChanges: `未暂存更改`,
|
||||
StagedChanges: `已暂存更改`,
|
||||
MainTitle: "主要",
|
||||
StagingTitle: "正在暂存",
|
||||
MergingTitle: "正在合并",
|
||||
NormalTitle: "正常",
|
||||
CommitSummary: "提交信息",
|
||||
CredentialsUsername: "用户名",
|
||||
CredentialsPassword: "密码",
|
||||
CredentialsPassphrase: "输入 SSH 密钥的密码",
|
||||
PassUnameWrong: "密码 和/或 用户名错误",
|
||||
Commit: "提交更改",
|
||||
AmendLastCommit: "修补最后一次提交",
|
||||
AmendLastCommitTitle: "修补最后一次提交",
|
||||
SureToAmend: "您确定要修补上一次提交吗?之后您可以从提交面板更改提交消息。",
|
||||
NoCommitToAmend: "没有需要提交的修补。",
|
||||
CommitChangesWithEditor: "提交更改(使用编辑器编辑提交信息)",
|
||||
StatusTitle: "状态",
|
||||
Menu: "菜单",
|
||||
Execute: "执行",
|
||||
Stage: "切换暂存状态",
|
||||
ToggleStagedAll: "切换所有文件的暂存状态",
|
||||
ToggleTreeView: "切换文件树视图",
|
||||
OpenMergeTool: "打开外部合并工具 (git mergetool)",
|
||||
Refresh: "刷新",
|
||||
Push: "推送",
|
||||
Pull: "拉取",
|
||||
Scroll: "滚动",
|
||||
MergeConflictsTitle: "合并冲突",
|
||||
Checkout: "检出",
|
||||
NoChangedFiles: "没有更改过文件",
|
||||
SoftReset: "软重置",
|
||||
AlreadyCheckedOutBranch: "您已经检出至此分支",
|
||||
SureForceCheckout: "您确定要强制检出吗?您将丢失所有本地更改",
|
||||
ForceCheckoutBranch: "强制检出分支",
|
||||
BranchName: "分支名称",
|
||||
NewBranchNameBranchOff: "新分支名称(基于 {{.branchName}})",
|
||||
CantDeleteCheckOutBranch: "您不能删除已检出的分支!",
|
||||
ForceDeleteBranchMessage: "{{.selectedBranchName}} 还没有被完全合并。您确定要删除它吗?",
|
||||
RebaseBranch: "将已检出的分支变基到该分支",
|
||||
CantRebaseOntoSelf: "您不能将分支变基到其自身",
|
||||
CantMergeBranchIntoItself: "您不能将分支合并到其自身",
|
||||
ForceCheckout: "强制检出",
|
||||
CheckoutByName: "按名称检出",
|
||||
NewBranch: "新分支",
|
||||
NoBranchesThisRepo: "此仓库中没有分支",
|
||||
CommitWithoutMessageErr: "您必须编写提交消息才能进行提交",
|
||||
CloseCancel: "关闭",
|
||||
Confirm: "确认",
|
||||
Close: "关闭",
|
||||
Quit: "退出",
|
||||
NoCommitsThisBranch: "该分支没有提交",
|
||||
CannotSquashOrFixupFirstCommit: "There's no commit below to squash into",
|
||||
Fixup: "修正(fixup)",
|
||||
SureFixupThisCommit: "您确定要“修正”此提交吗?它将合并到下面的提交中",
|
||||
SureSquashThisCommit: "您确定要将这个提交压缩到下面的提交中吗?",
|
||||
Squash: "压缩",
|
||||
PickCommitTooltip: "选择提交(变基过程中)",
|
||||
RevertCommit: "还原提交",
|
||||
Reword: "改写提交",
|
||||
DropCommit: "删除提交",
|
||||
MoveDownCommit: "下移提交",
|
||||
MoveUpCommit: "上移提交",
|
||||
EditCommitTooltip: "编辑提交",
|
||||
AmendCommitTooltip: "用已暂存的更改来修补提交",
|
||||
RewordCommitEditor: "使用编辑器重命名提交",
|
||||
Error: "错误",
|
||||
PickHunk: "选中区块",
|
||||
PickAllHunks: "选中所有区块",
|
||||
Undo: "撤销",
|
||||
UndoReflog: "(通过 reflog)撤销「实验功能」",
|
||||
RedoReflog: "(通过 reflog)重做「实验功能」",
|
||||
Pop: "应用并删除",
|
||||
Drop: "删除",
|
||||
Apply: "应用",
|
||||
NoStashEntries: "没有贮藏条目",
|
||||
StashDrop: "删除贮藏",
|
||||
SureDropStashEntry: "您确定要删除此贮藏条目吗?",
|
||||
StashPop: "应用并删除贮藏",
|
||||
SurePopStashEntry: "您确定要应用并删除此贮藏条目吗?",
|
||||
StashApply: "应用贮藏",
|
||||
SureApplyStashEntry: "您确定要应用此贮藏条目?",
|
||||
NoTrackedStagedFilesStash: "没有可以贮藏的已跟踪/暂存文件",
|
||||
StashChanges: "贮藏更改",
|
||||
RenameStash: "Rename stash",
|
||||
RenameStashPrompt: "Rename stash: {{.stashName}}",
|
||||
OpenConfig: "打开配置文件",
|
||||
EditConfig: "编辑配置文件",
|
||||
ForcePush: "强制推送",
|
||||
ForcePushPrompt: "您的分支已与远程分支不同。按‘esc’取消,或‘enter’强制推送.",
|
||||
ForcePushDisabled: "您的分支已与远程分支不同, 并且您已经禁用了强行推送",
|
||||
UpdatesRejectedAndForcePushDisabled: "更新被拒绝,您已禁用强制推送",
|
||||
CheckForUpdate: "检查更新",
|
||||
CheckingForUpdates: "正在检查更新…",
|
||||
OnLatestVersionErr: "已是最新版本",
|
||||
MajorVersionErr: "新版本 ({{.newVersion}}) 与当前版本 ({{.currentVersion}}) 相比,具有非向后兼容的更改",
|
||||
CouldNotFindBinaryErr: "在 {{.url}} 处找不到任何二进制文件",
|
||||
MergeToolTitle: "合并工具",
|
||||
MergeToolPrompt: "确定要打开 `git mergetool` 吗?",
|
||||
IntroPopupMessage: chineseIntroPopupMessage,
|
||||
GitconfigParseErr: `由于存在未加引号的'\'字符,因此 Gogit 无法解析您的 gitconfig 文件。删除它们应该可以解决问题。`,
|
||||
EditFile: `编辑文件`,
|
||||
OpenFile: `打开文件`,
|
||||
IgnoreFile: `添加到 .gitignore`,
|
||||
RefreshFiles: `刷新文件`,
|
||||
Merge: `合并到当前检出的分支`,
|
||||
ConfirmQuit: `您确定要退出吗?`,
|
||||
SwitchRepo: `切换到最近的仓库`,
|
||||
AllBranchesLogGraph: `显示所有分支的日志`,
|
||||
UnsupportedGitService: `不支持的 git 服务`,
|
||||
CreatePullRequest: `创建抓取请求`,
|
||||
CopyPullRequestURL: `将抓取请求 URL 复制到剪贴板`,
|
||||
NoBranchOnRemote: `该分支在远程上不存在. 您需要先将其推送到远程.`,
|
||||
Fetch: `抓取`,
|
||||
NoAutomaticGitFetchTitle: `无法自动进行 "git fetch"`,
|
||||
NoAutomaticGitFetchBody: `Lazygit 不能在私人仓库中使用 "git fetch"; 请在文件面板中使用 'f' 手动运行 "git fetch"`,
|
||||
FileEnter: `暂存单个 块/行 用于文件, 或 折叠/展开 目录`,
|
||||
FileStagingRequirements: `只能暂存跟踪文件的单独行`,
|
||||
StageSelectionTooltip: `切换行暂存状态`,
|
||||
DiscardSelection: `取消变更 (git reset)`,
|
||||
ToggleRangeSelect: `切换拖动选择`,
|
||||
ToggleSelectHunk: `切换选择区块`,
|
||||
ToggleSelectionForPatch: `添加/移除 行到补丁`,
|
||||
ToggleStagingView: `切换到其他面板`,
|
||||
ReturnToFilesPanel: `返回文件面板`,
|
||||
FastForward: `从上游快进此分支`,
|
||||
FastForwarding: "抓取并快进",
|
||||
FoundConflictsTitle: "自动合并失败",
|
||||
ViewMergeRebaseOptions: "查看 合并/变基 选项",
|
||||
NotMergingOrRebasing: "您目前既不进行变基也不进行合并",
|
||||
RecentRepos: "最近的仓库",
|
||||
MergeOptionsTitle: "合并选项",
|
||||
RebaseOptionsTitle: "变基选项",
|
||||
CommitSummaryTitle: "提交讯息",
|
||||
LocalBranchesTitle: "分支页面",
|
||||
SearchTitle: "搜索",
|
||||
TagsTitle: "标签页面",
|
||||
MenuTitle: "菜单",
|
||||
RemotesTitle: "远程页面",
|
||||
RemoteBranchesTitle: "远程分支",
|
||||
PatchBuildingTitle: "构建补丁中",
|
||||
InformationTitle: "信息",
|
||||
SecondaryTitle: "次要",
|
||||
ReflogCommitsTitle: "Reflog 页面",
|
||||
GlobalTitle: "全局键绑定",
|
||||
ConflictsResolved: "已解决所有冲突。是否继续?",
|
||||
ConfirmMerge: "您确定要将分支 {{.selectedBranch}} 合并到 {{.checkedOutBranch}} 吗?",
|
||||
FwdNoUpstream: "此分支没有上游,无法快进",
|
||||
FwdNoLocalUpstream: "此分支的远程未在本地注册,无法快进",
|
||||
FwdCommitsToPush: "此分支带有尚未推送的提交,无法快进",
|
||||
ErrorOccurred: "发生错误!请在以下位置创建 issue",
|
||||
NoRoom: "空间不足",
|
||||
YouAreHere: "您在这里",
|
||||
RewordNotSupported: "当前不支持交互式重新基准化时的重新措词提交",
|
||||
CherryPickCopy: "复制提交(拣选)",
|
||||
PasteCommits: "粘贴提交(拣选)",
|
||||
SureCherryPick: "您确定要将选中的提交进行拣选到这个分支吗?",
|
||||
CherryPick: "拣选 (Cherry-Pick)",
|
||||
Donate: "捐助",
|
||||
AskQuestion: "提问咨询",
|
||||
PrevLine: "选择上一行",
|
||||
NextLine: "选择下一行",
|
||||
PrevHunk: "选择上一个区块",
|
||||
NextHunk: "选择下一个区块",
|
||||
PrevConflict: "选择上一个冲突",
|
||||
NextConflict: "选择下一个冲突",
|
||||
SelectPrevHunk: "选择顶部块",
|
||||
SelectNextHunk: "选择底部块",
|
||||
ScrollDown: "向下滚动",
|
||||
ScrollUp: "向上滚动",
|
||||
ScrollUpMainWindow: "向上滚动主面板",
|
||||
ScrollDownMainWindow: "向下滚动主面板",
|
||||
AmendCommitTitle: "修改提交",
|
||||
AmendCommitPrompt: "您确定要使用暂存文件来修改此提交吗?",
|
||||
DropCommitTitle: "删除提交",
|
||||
DropCommitPrompt: "您确定要删除此提交吗?",
|
||||
PullingStatus: "正在拉取",
|
||||
PushingStatus: "正在推送",
|
||||
FetchingStatus: "正在抓取",
|
||||
SquashingStatus: "正在压缩",
|
||||
FixingStatus: "正在修正",
|
||||
DeletingStatus: "正在删除",
|
||||
MovingStatus: "正在移动",
|
||||
RebasingStatus: "正在变基",
|
||||
AmendingStatus: "正在修改",
|
||||
CherryPickingStatus: "正在拣选",
|
||||
UndoingStatus: "正在撤销",
|
||||
RedoingStatus: "正在重做",
|
||||
CheckingOutStatus: "长子检出",
|
||||
CommittingStatus: "正在提交",
|
||||
CommitFiles: "提交文件",
|
||||
ViewItemFiles: "查看提交的文件",
|
||||
CommitFilesTitle: "提交文件",
|
||||
CheckoutCommitFileTooltip: "检出文件",
|
||||
DiscardOldFileChangeTooltip: "放弃对此文件的提交更改",
|
||||
DiscardFileChangesTitle: "放弃文件更改",
|
||||
DiscardFileChangesPrompt: "您确定要舍弃此提交对该文件的更改吗?如果此文件是在此提交中创建的,它将被删除",
|
||||
DisabledForGPG: "该功能不适用于使用 GPG 的用户",
|
||||
CreateRepo: "当前目录不在 git 仓库中。是否在此目录创建一个新的 git 仓库?(y/n): ",
|
||||
AutoStashTitle: "自动存储?",
|
||||
AutoStashPrompt: "您必须隐藏并弹出更改以使更改生效。自动执行?(enter/esc)",
|
||||
StashPrefix: "自动隐藏更改 ",
|
||||
Discard: "查看'放弃更改'选项",
|
||||
Cancel: "取消",
|
||||
DiscardAllChanges: "放弃所有更改",
|
||||
DiscardUnstagedChanges: "放弃未暂存的变更",
|
||||
DiscardAllChangesToAllFiles: "清空工作区",
|
||||
DiscardAnyUnstagedChanges: "丢弃未暂存的变更",
|
||||
DiscardUntrackedFiles: "丢弃未跟踪的文件",
|
||||
HardReset: "硬重置",
|
||||
ViewResetOptions: `查看重置选项`,
|
||||
CreateFixupCommit: `为此提交创建修正`,
|
||||
SquashAboveCommitsTooltip: `压缩在所选提交之上的所有“fixup!”提交(自动压缩)`,
|
||||
CreateFixupCommitTooltip: `创建修正提交`,
|
||||
ExecuteCustomCommand: "执行自定义命令",
|
||||
CustomCommand: "自定义命令:",
|
||||
CommitChangesWithoutHook: "提交更改而无需预先提交钩子",
|
||||
SkipHookPrefixNotConfigured: "您尚未配置用于跳过钩子的提交消息前缀。请在您的配置中设置 `git.skipHookPrefix ='WIP'`",
|
||||
ResetTo: `重置为`,
|
||||
PressEnterToReturn: "按下 Enter 键返回 lazygit",
|
||||
ViewStashOptions: "查看贮藏选项",
|
||||
StashAllChanges: "将所有更改加入贮藏",
|
||||
StashAllChangesKeepIndex: "将已暂存的更改加入贮藏",
|
||||
StashOptions: "贮藏选项",
|
||||
NotARepository: "错误:必须在 git 仓库中运行",
|
||||
Jump: "跳到面板",
|
||||
ScrollLeftRight: "左右滚动",
|
||||
ScrollLeft: "向左滚动",
|
||||
ScrollRight: "向右滚动",
|
||||
DiscardPatch: "丢弃补丁",
|
||||
DiscardPatchConfirm: "您一次只能通过一个提交或贮藏条目构建补丁。需要放弃当前补丁吗?",
|
||||
CantPatchWhileRebasingError: "处于合并或变基状态时,您无法构建修补程序或运行修补程序命令",
|
||||
ToggleAddToPatch: "补丁中包含的切换文件",
|
||||
ViewPatchOptions: "查看自定义补丁选项",
|
||||
PatchOptionsTitle: "补丁选项",
|
||||
NoPatchError: "尚未创建补丁。你可以在提交中的文件上按下“空格”或使用“回车”添加其中的特定行以开始构建补丁",
|
||||
EnterCommitFile: "输入文件以将所选行添加到补丁中(或切换目录折叠)",
|
||||
ExitCustomPatchBuilder: `退出逐行模式`,
|
||||
EnterUpstream: `以这种格式输入上游:'<远程仓库> <分支名称>'`,
|
||||
InvalidUpstream: "上游格式无效,格式应当为:'<remote> <branchname>'",
|
||||
ReturnToRemotesList: `返回远程仓库列表`,
|
||||
NewRemote: `添加新的远程仓库`,
|
||||
NewRemoteName: `新远程仓库名称:`,
|
||||
NewRemoteUrl: `新远程仓库 URL:`,
|
||||
EditRemoteName: `输入远程仓库 {{.remoteName}} 的新名称:`,
|
||||
EditRemoteUrl: `输入远程仓库 {{.remoteName}} 的新 URL:`,
|
||||
RemoveRemote: `删除远程`,
|
||||
RemoveRemotePrompt: "您确定要删除远程仓库吗?",
|
||||
DeleteRemoteBranch: "删除远程分支",
|
||||
DeleteRemoteBranchMessage: "您确定要删除远程分支吗?",
|
||||
SetUpstream: "设置为检出分支的上游",
|
||||
SetAsUpstreamTooltip: "设置为检出分支的上游",
|
||||
SetUpstreamTitle: "设置上游分支",
|
||||
SetUpstreamMessage: "您确定要将 {{.checkedOut}} 的上游分支设置为 {{.selected}} 吗?",
|
||||
EditRemoteTooltip: "编辑远程仓库",
|
||||
TagCommit: "标签提交",
|
||||
TagMenuTitle: "创建标签",
|
||||
TagNameTitle: "标签名称",
|
||||
TagMessageTitle: "标签消息",
|
||||
AnnotatedTag: "附注标签",
|
||||
LightweightTag: "轻量标签",
|
||||
PushTagTitle: "将 {{.tagName}} 推送到远程仓库:",
|
||||
PushTag: "推送标签",
|
||||
NewTag: "创建标签",
|
||||
FetchRemoteTooltip: "抓取远程仓库",
|
||||
FetchingRemoteStatus: "抓取远程仓库中",
|
||||
CheckoutCommit: "检出提交",
|
||||
SureCheckoutThisCommit: "您确定要检出此提交吗?",
|
||||
GitFlowOptions: "显示 git-flow 选项",
|
||||
NotAGitFlowBranch: "这似乎不是 git flow 分支",
|
||||
NewGitFlowBranchPrompt: "新的 {{.branchType}} 名称:",
|
||||
IgnoreTracked: "忽略跟踪文件",
|
||||
IgnoreTrackedPrompt: "您确定要忽略已跟踪的文件吗?",
|
||||
ViewResetToUpstreamOptions: "查看上游重置选项",
|
||||
NextScreenMode: "下一屏模式(正常/半屏/全屏)",
|
||||
PrevScreenMode: "上一屏模式",
|
||||
StartSearch: "开始搜索",
|
||||
Panel: "面板",
|
||||
Keybindings: "按键绑定",
|
||||
RenameBranch: "重命名分支",
|
||||
NewBranchNamePrompt: "输入分支的新名称",
|
||||
RenameBranchWarning: "该分支正在跟踪远程仓库。此操作将仅会重命名本地分支名称,而不会重命名远程分支的名称。确定继续?",
|
||||
OpenKeybindingsMenu: "打开菜单",
|
||||
ResetCherryPick: "重置已拣选(复制)的提交",
|
||||
NextTab: "下一个标签",
|
||||
PrevTab: "上一个标签",
|
||||
CantUndoWhileRebasing: "进行基础调整时无法撤消",
|
||||
CantRedoWhileRebasing: "变基时无法重做",
|
||||
MustStashWarning: "将补丁拉出到索引中需要存储和取消存储所做的更改。如果出现问题,您将可以从存储中访问文件。继续?",
|
||||
MustStashTitle: "必须保存进度",
|
||||
ConfirmationTitle: "确认面板",
|
||||
PrevPage: "上一页",
|
||||
NextPage: "下一页",
|
||||
GotoTop: "滚动到顶部",
|
||||
GotoBottom: "滚动到底部",
|
||||
FilteringBy: "过滤依据",
|
||||
ResetInParentheses: "(重置)",
|
||||
OpenFilteringMenu: "查看按路径过滤选项",
|
||||
FilterBy: "过滤",
|
||||
ExitFilterMode: "停止按路径过滤",
|
||||
FilterPathOption: "输入要过滤的路径",
|
||||
EnterFileName: "输入路径:",
|
||||
FilteringMenuTitle: "正在过滤",
|
||||
MustExitFilterModeTitle: "命令不可用",
|
||||
MustExitFilterModePrompt: "命令在过滤模式下不可用。退出过滤模式?",
|
||||
Diff: "差异",
|
||||
EnterRefToDiff: "输入 ref 以 diff",
|
||||
EnterRefName: "输入 ref:",
|
||||
ExitDiffMode: "退出差异模式",
|
||||
DiffingMenuTitle: "正在 diff",
|
||||
SwapDiff: "反向 diff",
|
||||
ViewDiffingOptions: "打开 diff 菜单",
|
||||
// 实际视图 (actual view) 是附加视图 (extras view),未来,我打算为附加视图提供更多选项卡,但现在,上面的文本只需要提及“命令日志”这个部分
|
||||
OpenCommandLogMenu: "打开命令日志菜单",
|
||||
ShowingGitDiff: "显示输出:",
|
||||
|
@ -198,6 +198,7 @@ type TranslationSet struct {
|
||||
ForcePushPrompt string
|
||||
ForcePushDisabled string
|
||||
UpdatesRejected string
|
||||
UpdatesRejectedAndForcePushDisabled string
|
||||
CheckForUpdate string
|
||||
CheckingForUpdates string
|
||||
UpdateAvailableTitle string
|
||||
@ -1160,6 +1161,7 @@ func EnglishTranslationSet() TranslationSet {
|
||||
ForcePushPrompt: "Your branch has diverged from the remote branch. Press {{.cancelKey}} to cancel, or {{.confirmKey}} to force push.",
|
||||
ForcePushDisabled: "Your branch has diverged from the remote branch and you've disabled force pushing",
|
||||
UpdatesRejected: "Updates were rejected. Please fetch and examine the remote changes before pushing again.",
|
||||
UpdatesRejectedAndForcePushDisabled: "Updates were rejected and you have disabled force pushing",
|
||||
CheckForUpdate: "Check for update",
|
||||
CheckingForUpdates: "Checking for updates...",
|
||||
UpdateAvailableTitle: "Update available!",
|
||||
|
@ -19,270 +19,271 @@ lazygit!를 이용해주셔서 감사합니다. Seriously you rock. Three things
|
||||
// exporting this so we can use it in tests
|
||||
func koreanTranslationSet() TranslationSet {
|
||||
return TranslationSet{
|
||||
NotEnoughSpace: "패널을 렌더링 할 공간이 부족합니다.",
|
||||
DiffTitle: "Diff",
|
||||
FilesTitle: "파일",
|
||||
BranchesTitle: "브랜치",
|
||||
CommitsTitle: "커밋",
|
||||
StashTitle: "Stash",
|
||||
UnstagedChanges: `Staged되지 않은 변경 내용`,
|
||||
StagedChanges: `Staged된 변경 내용`,
|
||||
MainTitle: "메인",
|
||||
MergeConfirmTitle: "병합",
|
||||
StagingTitle: "메인 패널 (Staging)",
|
||||
MergingTitle: "메인 패널 (Merging)",
|
||||
NormalTitle: "메인 패널 (Normal)",
|
||||
LogTitle: "로그",
|
||||
CommitSummary: "커밋 메시지",
|
||||
CredentialsUsername: "사용자 이름",
|
||||
CredentialsPassword: "패스워드",
|
||||
CredentialsPassphrase: "SSH키의 passphrase 입력",
|
||||
PassUnameWrong: "패스워드, passphrase 또는 사용자 이름이 잘못되었습니다.",
|
||||
Commit: "커밋 변경내용",
|
||||
AmendLastCommit: "마지맛 커밋 수정",
|
||||
AmendLastCommitTitle: "마지막 커밋 수정",
|
||||
SureToAmend: "마지막 커밋을 수정하시겠습니까? 그런 다음 커밋 패널에서 커밋 메시지를 변경할 수 있습니다.",
|
||||
NoCommitToAmend: "Amend 가능한 커밋이 없습니다.",
|
||||
CommitChangesWithEditor: "Git 편집기를 사용하여 변경 내용을 커밋합니다.",
|
||||
StatusTitle: "상태",
|
||||
Menu: "메뉴",
|
||||
Execute: "실행",
|
||||
Stage: "Staged 전환",
|
||||
ToggleStagedAll: "모든 변경을 Staged/unstaged으로 전환",
|
||||
ToggleTreeView: "파일 트리뷰로 전환",
|
||||
OpenMergeTool: "Git mergetool를 열기",
|
||||
Refresh: "새로고침",
|
||||
Push: "푸시",
|
||||
Pull: "업데이트",
|
||||
Scroll: "스크롤",
|
||||
MergeConflictsTitle: "병합 충돌 내용",
|
||||
Checkout: "체크아웃",
|
||||
FileFilter: "파일을 필터하기 (Staged/unstaged)",
|
||||
FilterStagedFiles: "Staged된 파일만 표시",
|
||||
FilterUnstagedFiles: "Stage되지 않은 파일만 표시",
|
||||
ResetFilter: "필터 리셋",
|
||||
NoChangedFiles: "변경된 파일이 없습니다.",
|
||||
SoftReset: "소프트 리셋",
|
||||
AlreadyCheckedOutBranch: "브랜치가 이미 체크아웃 되었습니다",
|
||||
SureForceCheckout: "강제로 체크아웃하시겠습니까? 모든 로컬 변경 사항을 잃게 됩니다.",
|
||||
ForceCheckoutBranch: "브랜치 강제 체크아웃",
|
||||
BranchName: "브랜치 이름",
|
||||
NewBranchNameBranchOff: "새 브랜치 이름 (branch is off of '{{.branchName}}')",
|
||||
CantDeleteCheckOutBranch: "체크아웃하는 브랜치는 삭제할 수 없습니다!",
|
||||
ForceDeleteBranchMessage: "'{{.selectedBranchName}}'는 완전히 병합되지 않았습니다. 정말 삭제하시겠습니까?",
|
||||
RebaseBranch: "체크아웃된 브랜치를 이 브랜치에 리베이스",
|
||||
CantRebaseOntoSelf: "브랜치를 자기 자신에게 리베이스할 수는 없습니다.",
|
||||
CantMergeBranchIntoItself: "브랜치를 자기 자신에게 병합할 수는 없습니다.",
|
||||
ForceCheckout: "강제 체크아웃",
|
||||
CheckoutByName: "이름으로 체크아웃",
|
||||
NewBranch: "새 브랜치 생성",
|
||||
NoBranchesThisRepo: "저장소에 브랜치가 존재하지 않습니다.",
|
||||
CommitWithoutMessageErr: "커밋 메시지를 입력하세요.",
|
||||
CloseCancel: "닫기/취소",
|
||||
Confirm: "확인",
|
||||
Close: "닫기",
|
||||
Quit: "종료",
|
||||
NoCommitsThisBranch: "이 브랜치에 커밋이 없습니다.",
|
||||
CannotSquashOrFixupFirstCommit: "There's no commit below to squash into",
|
||||
Fixup: "Fixup",
|
||||
SureFixupThisCommit: "Are you sure you want to 'fixup' this commit? It will be merged into the commit below",
|
||||
SureSquashThisCommit: "Are you sure you want to squash this commit into the commit below?",
|
||||
Squash: "Squash",
|
||||
PickCommitTooltip: "Pick commit (when mid-rebase)",
|
||||
RevertCommit: "커밋 되돌리기",
|
||||
Reword: "커밋메시지 변경",
|
||||
DropCommit: "커밋 삭제",
|
||||
MoveDownCommit: "커밋을 1개 아래로 이동",
|
||||
MoveUpCommit: "커밋을 1개 위로 이동",
|
||||
EditCommitTooltip: "커밋을 편집",
|
||||
AmendCommitTooltip: "Amend commit with staged changes",
|
||||
ResetAuthor: "Reset commit author",
|
||||
SureResetCommitAuthor: "The author field of this commit will be updated to match the configured user. This also renews the author timestamp. Continue?",
|
||||
RewordCommitEditor: "에디터에서 커밋메시지 수정",
|
||||
Error: "오류",
|
||||
PickHunk: "Pick hunk",
|
||||
PickAllHunks: "Pick all hunks",
|
||||
Undo: "되돌리기",
|
||||
UndoReflog: "되돌리기 (reflog) (실험적)",
|
||||
RedoReflog: "다시 실행 (reflog) (실험적)",
|
||||
Pop: "Pop",
|
||||
Drop: "Drop",
|
||||
Apply: "적용",
|
||||
NoStashEntries: "Stash가 존재하지 않습니다.",
|
||||
StashDrop: "Stash를 삭제",
|
||||
SureDropStashEntry: "정말로 Stash를 삭제하시겠습니까?",
|
||||
StashPop: "Stash를 pop",
|
||||
SurePopStashEntry: "정말로 Stash를 pop하시겠습니까?",
|
||||
StashApply: "Stash 적용",
|
||||
SureApplyStashEntry: "정말로 Stash를 적용하시겠습니까?",
|
||||
NoTrackedStagedFilesStash: "You have no tracked/staged files to stash",
|
||||
StashChanges: "변경을 Stash",
|
||||
RenameStash: "Rename stash",
|
||||
RenameStashPrompt: "Rename stash: {{.stashName}}",
|
||||
OpenConfig: "설정 파일 열기",
|
||||
EditConfig: "설정 파일 수정",
|
||||
ForcePush: "강제 푸시",
|
||||
ForcePushPrompt: "브랜치가 원격 브랜치에서 분기하고 있습니다. 'esc'를 눌러 취소하거나, 'enter'를 눌러 강제로 푸시하세요.",
|
||||
ForcePushDisabled: "브랜치가 원격 브랜치에서 분기하고 있습니다. force push가 비활성화 되었습니다.",
|
||||
CheckForUpdate: "업데이트 확인",
|
||||
CheckingForUpdates: "업데이트 확인 중...",
|
||||
UpdateAvailableTitle: "새로운 업데이트 사용가능!",
|
||||
UpdateAvailable: "버전 {{.newVersion}} 을(를) 설치하시겠습니까?",
|
||||
UpdateInProgressWaitingStatus: "업데이트 중",
|
||||
UpdateCompletedTitle: "업데이트 완료!",
|
||||
UpdateCompleted: "업데이트 설치에 성공했습니다. lazygit를 재시작해주세요.",
|
||||
FailedToRetrieveLatestVersionErr: "버전 정보를 받아오는데 실패했습니다.",
|
||||
OnLatestVersionErr: "이미 최신 버전을 사용하고 있습니다.",
|
||||
MajorVersionErr: "새 버전 ({{.newVersion}}) 에 현재 버전({{.currentVersion}}) 과 비교할 때 호환되지 않는 변경 사항이 있습니다.",
|
||||
CouldNotFindBinaryErr: "{{.url}} 에서 바이너리를 찾을 수 없습니다.",
|
||||
UpdateFailedErr: "업데이트 실패: {{.errMessage}}",
|
||||
ConfirmQuitDuringUpdateTitle: "현재 업데이트 중입니다.",
|
||||
ConfirmQuitDuringUpdate: "현재 업데이트를 진행 중입니다.종료하시겠습니까?",
|
||||
MergeToolTitle: "병합 도구",
|
||||
MergeToolPrompt: "정말로 `git mergetool`을 여시겠습니까?",
|
||||
IntroPopupMessage: koreanIntroPopupMessage,
|
||||
GitconfigParseErr: `따옴표로 묶이지 않은 '\' 문자가 있어서 Gogit이 gitconfig 파일을 분석하지 못했습니다. 이를 제거하면 문제가 해결됩니다.`,
|
||||
EditFile: `파일 편집`,
|
||||
OpenFile: `파일 닫기`,
|
||||
IgnoreFile: `.gitignore에 추가`,
|
||||
RefreshFiles: `파일 새로고침`,
|
||||
Merge: `현재 브랜치에 병합`,
|
||||
ConfirmQuit: `정말로 종료하시겠습니까?`,
|
||||
SwitchRepo: `최근에 사용한 저장소로 전환`,
|
||||
AllBranchesLogGraph: `모든 브랜치 로그 표시`,
|
||||
UnsupportedGitService: `지원되지 않는 Git 서비스입니다.`,
|
||||
CreatePullRequest: `풀 리퀘스트 생성`,
|
||||
CopyPullRequestURL: `풀 리퀘스트 URL을 클립보드에 복사`,
|
||||
NoBranchOnRemote: `브랜치가 원격에 없습니다. 원격에 먼저 푸시해야합니다.`,
|
||||
Fetch: `Fetch`,
|
||||
NoAutomaticGitFetchTitle: `자동 git 업데이트) 없음`,
|
||||
NoAutomaticGitFetchBody: `Lazygit은 private 저장소에서 "git fetch"를 사용할 수 없습니다. 파일 패널에서 'f'를 사용하여 "git fetch"를 수동으로 실행하세요.`,
|
||||
FileEnter: `Stage individual hunks/lines for file, or collapse/expand for directory`,
|
||||
FileStagingRequirements: `추적된 파일에 대해 개별 라인만 stage할 수 있습니다.`,
|
||||
StageSelectionTooltip: `선택한 행을 staged / unstaged`,
|
||||
DiscardSelection: `변경을 삭제 (git reset)`,
|
||||
ToggleRangeSelect: `드래그 선택 전환`,
|
||||
ToggleSelectHunk: `Toggle select hunk`,
|
||||
ToggleSelectionForPatch: `Line(s)을 패치에 추가/삭제`,
|
||||
ToggleStagingView: `패널 전환`,
|
||||
ReturnToFilesPanel: `파일 목록으로 돌아가기`,
|
||||
FastForward: `Fast-forward this branch from its upstream`,
|
||||
FastForwarding: "Fast-forwarding",
|
||||
FoundConflictsTitle: "Auto-merge failed",
|
||||
ViewMergeRebaseOptions: "View merge/rebase options",
|
||||
NotMergingOrRebasing: "You are currently neither rebasing nor merging",
|
||||
RecentRepos: "최근에 사용한 저장소",
|
||||
MergeOptionsTitle: "Merge options",
|
||||
RebaseOptionsTitle: "Rebase options",
|
||||
CommitSummaryTitle: "커밋메시지",
|
||||
LocalBranchesTitle: "브랜치",
|
||||
SearchTitle: "검색",
|
||||
TagsTitle: "태그",
|
||||
MenuTitle: "메뉴",
|
||||
RemotesTitle: "원격",
|
||||
RemoteBranchesTitle: "원격 브랜치",
|
||||
PatchBuildingTitle: "메인 패널 (Patch Building)",
|
||||
InformationTitle: "정보",
|
||||
SecondaryTitle: "Secondary",
|
||||
ReflogCommitsTitle: "Reflog",
|
||||
GlobalTitle: "글로벌 키 바인딩",
|
||||
ConflictsResolved: "모든 병합 충돌이 해결되었습니다. 계속 할까요?",
|
||||
ConfirmMerge: "정말로 '{{.selectedBranch}}' 을(를) '{{.checkedOutBranch}}'에 병합하시겠습니까?",
|
||||
FwdNoUpstream: "Cannot fast-forward a branch with no upstream",
|
||||
FwdNoLocalUpstream: "Cannot fast-forward a branch whose remote is not registered locally",
|
||||
FwdCommitsToPush: "Cannot fast-forward a branch with commits to push",
|
||||
ErrorOccurred: "오류가 발생했습니다! issue를 작성해 주세요: ",
|
||||
NoRoom: "Not enough room",
|
||||
YouAreHere: "현재 위치",
|
||||
RewordNotSupported: "Rewording commits while interactively rebasing is not currently supported",
|
||||
CherryPickCopy: "커밋을 복사 (cherry-pick)",
|
||||
PasteCommits: "커밋을 붙여넣기 (cherry-pick)",
|
||||
SureCherryPick: "정말로 복사한 커밋을 이 브랜치에 체리픽하시겠습니까?",
|
||||
CherryPick: "체리픽",
|
||||
Donate: "후원",
|
||||
AskQuestion: "질문하기",
|
||||
PrevLine: "이전 줄 선택",
|
||||
NextLine: "다음 줄 선택",
|
||||
PrevHunk: "이전 hunk를 선택",
|
||||
NextHunk: "다음 hunk를 선택",
|
||||
PrevConflict: "이전 충돌을 선택",
|
||||
NextConflict: "다음 충돌을 선택",
|
||||
SelectPrevHunk: "이전 hunk를 선택",
|
||||
SelectNextHunk: "다음 hunk를 선택",
|
||||
ScrollDown: "아래로 스크롤",
|
||||
ScrollUp: "위로 스크롤",
|
||||
ScrollUpMainWindow: "메인 패널을 위로 스크롤",
|
||||
ScrollDownMainWindow: "메인 패널을 아래로로 스크롤",
|
||||
AmendCommitTitle: "Amend commit",
|
||||
AmendCommitPrompt: "Are you sure you want to amend this commit with your staged files?",
|
||||
DropCommitTitle: "커밋 삭제",
|
||||
DropCommitPrompt: "정말로 선택한 커밋을 삭제하시겠습니까?",
|
||||
PullingStatus: "업데이트 중",
|
||||
PushingStatus: "푸시 중",
|
||||
FetchingStatus: "패치 중",
|
||||
SquashingStatus: "Squashing",
|
||||
FixingStatus: "Fixing up",
|
||||
DeletingStatus: "Deleting",
|
||||
MovingStatus: "Moving",
|
||||
RebasingStatus: "Rebasing",
|
||||
AmendingStatus: "Amending",
|
||||
CherryPickingStatus: "Cherry-picking",
|
||||
UndoingStatus: "Undoing",
|
||||
RedoingStatus: "Redoing",
|
||||
CheckingOutStatus: "Checking out",
|
||||
CommittingStatus: "Committing",
|
||||
CommitFiles: "Commit files",
|
||||
SubCommitsDynamicTitle: "커밋 (%s)",
|
||||
CommitFilesDynamicTitle: "Diff files (%s)",
|
||||
RemoteBranchesDynamicTitle: "원격브랜치 (%s)",
|
||||
ViewItemFiles: "View selected item's files",
|
||||
CommitFilesTitle: "커밋 파일",
|
||||
CheckoutCommitFileTooltip: "Checkout file",
|
||||
DiscardOldFileChangeTooltip: "Discard this commit's changes to this file",
|
||||
DiscardFileChangesTitle: "파일 변경 사항 버리기",
|
||||
DiscardFileChangesPrompt: "Are you sure you want to discard this commit's changes to this file? If this file was created in this commit, it will be deleted",
|
||||
DisabledForGPG: "Feature not available for users using GPG",
|
||||
CreateRepo: "Git 저장소가 아닙니다. 저장소를 생성하시겠습니까? (y/n): ",
|
||||
AutoStashTitle: "Autostash?",
|
||||
AutoStashPrompt: "You must stash and pop your changes to bring them across. Do this automatically? (enter/esc)",
|
||||
StashPrefix: "Auto-stashing changes for ",
|
||||
Discard: "View 'discard changes' options",
|
||||
Cancel: "취소",
|
||||
DiscardAllChanges: "모든 변경사항 버리기",
|
||||
DiscardUnstagedChanges: "Discard unstaged changes",
|
||||
DiscardAllChangesToAllFiles: "Nuke working tree",
|
||||
DiscardAnyUnstagedChanges: "Discard unstaged changes",
|
||||
DiscardUntrackedFiles: "Discard untracked files",
|
||||
HardReset: "Hard reset",
|
||||
ViewResetOptions: `View reset options`,
|
||||
CreateFixupCommitTooltip: `Create fixup commit for this commit`,
|
||||
SquashAboveCommitsTooltip: `Squash all 'fixup!' commits above selected commit (autosquash)`,
|
||||
CreateFixupCommit: `Create fixup commit`,
|
||||
ExecuteCustomCommand: "Execute custom command",
|
||||
CustomCommand: "Custom command:",
|
||||
CommitChangesWithoutHook: "Commit changes without pre-commit hook",
|
||||
SkipHookPrefixNotConfigured: "You have not configured a commit message prefix for skipping hooks. Set `git.skipHookPrefix = 'WIP'` in your config",
|
||||
ResetTo: `Reset to`,
|
||||
PressEnterToReturn: "엔터를 눌러 lazygit으로 돌아갑니다.",
|
||||
ViewStashOptions: "Stash 옵션 보기",
|
||||
StashAllChanges: "변경사항을 Stash",
|
||||
StashStagedChanges: "Stash staged changes",
|
||||
StashOptions: "Stash 옵션",
|
||||
NotARepository: "Error: must be run inside a git repository",
|
||||
Jump: "패널로 이동",
|
||||
ScrollLeftRight: "좌우로 스크롤",
|
||||
ScrollLeft: "우 스크롤",
|
||||
ScrollRight: "좌 스크롤",
|
||||
DiscardPatch: "Patch 버리기",
|
||||
DiscardPatchConfirm: "You can only build a patch from one commit/stash-entry at a time. Discard current patch?",
|
||||
CantPatchWhileRebasingError: "You cannot build a patch or run patch commands while in a merging or rebasing state",
|
||||
ToggleAddToPatch: "Toggle file included in patch",
|
||||
ToggleAllInPatch: "Toggle all files included in patch",
|
||||
UpdatingPatch: "Updating patch",
|
||||
ViewPatchOptions: "커스텀 Patch 옵션 보기",
|
||||
PatchOptionsTitle: "Patch 옵션",
|
||||
NoPatchError: "No patch created yet. To start building a patch, use 'space' on a commit file or enter to add specific lines",
|
||||
EnterCommitFile: "Enter file to add selected lines to the patch (or toggle directory collapsed)",
|
||||
NotEnoughSpace: "패널을 렌더링 할 공간이 부족합니다.",
|
||||
DiffTitle: "Diff",
|
||||
FilesTitle: "파일",
|
||||
BranchesTitle: "브랜치",
|
||||
CommitsTitle: "커밋",
|
||||
StashTitle: "Stash",
|
||||
UnstagedChanges: `Staged되지 않은 변경 내용`,
|
||||
StagedChanges: `Staged된 변경 내용`,
|
||||
MainTitle: "메인",
|
||||
MergeConfirmTitle: "병합",
|
||||
StagingTitle: "메인 패널 (Staging)",
|
||||
MergingTitle: "메인 패널 (Merging)",
|
||||
NormalTitle: "메인 패널 (Normal)",
|
||||
LogTitle: "로그",
|
||||
CommitSummary: "커밋 메시지",
|
||||
CredentialsUsername: "사용자 이름",
|
||||
CredentialsPassword: "패스워드",
|
||||
CredentialsPassphrase: "SSH키의 passphrase 입력",
|
||||
PassUnameWrong: "패스워드, passphrase 또는 사용자 이름이 잘못되었습니다.",
|
||||
Commit: "커밋 변경내용",
|
||||
AmendLastCommit: "마지맛 커밋 수정",
|
||||
AmendLastCommitTitle: "마지막 커밋 수정",
|
||||
SureToAmend: "마지막 커밋을 수정하시겠습니까? 그런 다음 커밋 패널에서 커밋 메시지를 변경할 수 있습니다.",
|
||||
NoCommitToAmend: "Amend 가능한 커밋이 없습니다.",
|
||||
CommitChangesWithEditor: "Git 편집기를 사용하여 변경 내용을 커밋합니다.",
|
||||
StatusTitle: "상태",
|
||||
Menu: "메뉴",
|
||||
Execute: "실행",
|
||||
Stage: "Staged 전환",
|
||||
ToggleStagedAll: "모든 변경을 Staged/unstaged으로 전환",
|
||||
ToggleTreeView: "파일 트리뷰로 전환",
|
||||
OpenMergeTool: "Git mergetool를 열기",
|
||||
Refresh: "새로고침",
|
||||
Push: "푸시",
|
||||
Pull: "업데이트",
|
||||
Scroll: "스크롤",
|
||||
MergeConflictsTitle: "병합 충돌 내용",
|
||||
Checkout: "체크아웃",
|
||||
FileFilter: "파일을 필터하기 (Staged/unstaged)",
|
||||
FilterStagedFiles: "Staged된 파일만 표시",
|
||||
FilterUnstagedFiles: "Stage되지 않은 파일만 표시",
|
||||
ResetFilter: "필터 리셋",
|
||||
NoChangedFiles: "변경된 파일이 없습니다.",
|
||||
SoftReset: "소프트 리셋",
|
||||
AlreadyCheckedOutBranch: "브랜치가 이미 체크아웃 되었습니다",
|
||||
SureForceCheckout: "강제로 체크아웃하시겠습니까? 모든 로컬 변경 사항을 잃게 됩니다.",
|
||||
ForceCheckoutBranch: "브랜치 강제 체크아웃",
|
||||
BranchName: "브랜치 이름",
|
||||
NewBranchNameBranchOff: "새 브랜치 이름 (branch is off of '{{.branchName}}')",
|
||||
CantDeleteCheckOutBranch: "체크아웃하는 브랜치는 삭제할 수 없습니다!",
|
||||
ForceDeleteBranchMessage: "'{{.selectedBranchName}}'는 완전히 병합되지 않았습니다. 정말 삭제하시겠습니까?",
|
||||
RebaseBranch: "체크아웃된 브랜치를 이 브랜치에 리베이스",
|
||||
CantRebaseOntoSelf: "브랜치를 자기 자신에게 리베이스할 수는 없습니다.",
|
||||
CantMergeBranchIntoItself: "브랜치를 자기 자신에게 병합할 수는 없습니다.",
|
||||
ForceCheckout: "강제 체크아웃",
|
||||
CheckoutByName: "이름으로 체크아웃",
|
||||
NewBranch: "새 브랜치 생성",
|
||||
NoBranchesThisRepo: "저장소에 브랜치가 존재하지 않습니다.",
|
||||
CommitWithoutMessageErr: "커밋 메시지를 입력하세요.",
|
||||
CloseCancel: "닫기/취소",
|
||||
Confirm: "확인",
|
||||
Close: "닫기",
|
||||
Quit: "종료",
|
||||
NoCommitsThisBranch: "이 브랜치에 커밋이 없습니다.",
|
||||
CannotSquashOrFixupFirstCommit: "There's no commit below to squash into",
|
||||
Fixup: "Fixup",
|
||||
SureFixupThisCommit: "Are you sure you want to 'fixup' this commit? It will be merged into the commit below",
|
||||
SureSquashThisCommit: "Are you sure you want to squash this commit into the commit below?",
|
||||
Squash: "Squash",
|
||||
PickCommitTooltip: "Pick commit (when mid-rebase)",
|
||||
RevertCommit: "커밋 되돌리기",
|
||||
Reword: "커밋메시지 변경",
|
||||
DropCommit: "커밋 삭제",
|
||||
MoveDownCommit: "커밋을 1개 아래로 이동",
|
||||
MoveUpCommit: "커밋을 1개 위로 이동",
|
||||
EditCommitTooltip: "커밋을 편집",
|
||||
AmendCommitTooltip: "Amend commit with staged changes",
|
||||
ResetAuthor: "Reset commit author",
|
||||
SureResetCommitAuthor: "The author field of this commit will be updated to match the configured user. This also renews the author timestamp. Continue?",
|
||||
RewordCommitEditor: "에디터에서 커밋메시지 수정",
|
||||
Error: "오류",
|
||||
PickHunk: "Pick hunk",
|
||||
PickAllHunks: "Pick all hunks",
|
||||
Undo: "되돌리기",
|
||||
UndoReflog: "되돌리기 (reflog) (실험적)",
|
||||
RedoReflog: "다시 실행 (reflog) (실험적)",
|
||||
Pop: "Pop",
|
||||
Drop: "Drop",
|
||||
Apply: "적용",
|
||||
NoStashEntries: "Stash가 존재하지 않습니다.",
|
||||
StashDrop: "Stash를 삭제",
|
||||
SureDropStashEntry: "정말로 Stash를 삭제하시겠습니까?",
|
||||
StashPop: "Stash를 pop",
|
||||
SurePopStashEntry: "정말로 Stash를 pop하시겠습니까?",
|
||||
StashApply: "Stash 적용",
|
||||
SureApplyStashEntry: "정말로 Stash를 적용하시겠습니까?",
|
||||
NoTrackedStagedFilesStash: "You have no tracked/staged files to stash",
|
||||
StashChanges: "변경을 Stash",
|
||||
RenameStash: "Rename stash",
|
||||
RenameStashPrompt: "Rename stash: {{.stashName}}",
|
||||
OpenConfig: "설정 파일 열기",
|
||||
EditConfig: "설정 파일 수정",
|
||||
ForcePush: "강제 푸시",
|
||||
ForcePushPrompt: "브랜치가 원격 브랜치에서 분기하고 있습니다. 'esc'를 눌러 취소하거나, 'enter'를 눌러 강제로 푸시하세요.",
|
||||
ForcePushDisabled: "브랜치가 원격 브랜치에서 분기하고 있습니다. force push가 비활성화 되었습니다.",
|
||||
UpdatesRejectedAndForcePushDisabled: "업데이트가 거부되었으며 강제 푸시를 비활성화했습니다.",
|
||||
CheckForUpdate: "업데이트 확인",
|
||||
CheckingForUpdates: "업데이트 확인 중...",
|
||||
UpdateAvailableTitle: "새로운 업데이트 사용가능!",
|
||||
UpdateAvailable: "버전 {{.newVersion}} 을(를) 설치하시겠습니까?",
|
||||
UpdateInProgressWaitingStatus: "업데이트 중",
|
||||
UpdateCompletedTitle: "업데이트 완료!",
|
||||
UpdateCompleted: "업데이트 설치에 성공했습니다. lazygit를 재시작해주세요.",
|
||||
FailedToRetrieveLatestVersionErr: "버전 정보를 받아오는데 실패했습니다.",
|
||||
OnLatestVersionErr: "이미 최신 버전을 사용하고 있습니다.",
|
||||
MajorVersionErr: "새 버전 ({{.newVersion}}) 에 현재 버전({{.currentVersion}}) 과 비교할 때 호환되지 않는 변경 사항이 있습니다.",
|
||||
CouldNotFindBinaryErr: "{{.url}} 에서 바이너리를 찾을 수 없습니다.",
|
||||
UpdateFailedErr: "업데이트 실패: {{.errMessage}}",
|
||||
ConfirmQuitDuringUpdateTitle: "현재 업데이트 중입니다.",
|
||||
ConfirmQuitDuringUpdate: "현재 업데이트를 진행 중입니다.종료하시겠습니까?",
|
||||
MergeToolTitle: "병합 도구",
|
||||
MergeToolPrompt: "정말로 `git mergetool`을 여시겠습니까?",
|
||||
IntroPopupMessage: koreanIntroPopupMessage,
|
||||
GitconfigParseErr: `따옴표로 묶이지 않은 '\' 문자가 있어서 Gogit이 gitconfig 파일을 분석하지 못했습니다. 이를 제거하면 문제가 해결됩니다.`,
|
||||
EditFile: `파일 편집`,
|
||||
OpenFile: `파일 닫기`,
|
||||
IgnoreFile: `.gitignore에 추가`,
|
||||
RefreshFiles: `파일 새로고침`,
|
||||
Merge: `현재 브랜치에 병합`,
|
||||
ConfirmQuit: `정말로 종료하시겠습니까?`,
|
||||
SwitchRepo: `최근에 사용한 저장소로 전환`,
|
||||
AllBranchesLogGraph: `모든 브랜치 로그 표시`,
|
||||
UnsupportedGitService: `지원되지 않는 Git 서비스입니다.`,
|
||||
CreatePullRequest: `풀 리퀘스트 생성`,
|
||||
CopyPullRequestURL: `풀 리퀘스트 URL을 클립보드에 복사`,
|
||||
NoBranchOnRemote: `브랜치가 원격에 없습니다. 원격에 먼저 푸시해야합니다.`,
|
||||
Fetch: `Fetch`,
|
||||
NoAutomaticGitFetchTitle: `자동 git 업데이트) 없음`,
|
||||
NoAutomaticGitFetchBody: `Lazygit은 private 저장소에서 "git fetch"를 사용할 수 없습니다. 파일 패널에서 'f'를 사용하여 "git fetch"를 수동으로 실행하세요.`,
|
||||
FileEnter: `Stage individual hunks/lines for file, or collapse/expand for directory`,
|
||||
FileStagingRequirements: `추적된 파일에 대해 개별 라인만 stage할 수 있습니다.`,
|
||||
StageSelectionTooltip: `선택한 행을 staged / unstaged`,
|
||||
DiscardSelection: `변경을 삭제 (git reset)`,
|
||||
ToggleRangeSelect: `드래그 선택 전환`,
|
||||
ToggleSelectHunk: `Toggle select hunk`,
|
||||
ToggleSelectionForPatch: `Line(s)을 패치에 추가/삭제`,
|
||||
ToggleStagingView: `패널 전환`,
|
||||
ReturnToFilesPanel: `파일 목록으로 돌아가기`,
|
||||
FastForward: `Fast-forward this branch from its upstream`,
|
||||
FastForwarding: "Fast-forwarding",
|
||||
FoundConflictsTitle: "Auto-merge failed",
|
||||
ViewMergeRebaseOptions: "View merge/rebase options",
|
||||
NotMergingOrRebasing: "You are currently neither rebasing nor merging",
|
||||
RecentRepos: "최근에 사용한 저장소",
|
||||
MergeOptionsTitle: "Merge options",
|
||||
RebaseOptionsTitle: "Rebase options",
|
||||
CommitSummaryTitle: "커밋메시지",
|
||||
LocalBranchesTitle: "브랜치",
|
||||
SearchTitle: "검색",
|
||||
TagsTitle: "태그",
|
||||
MenuTitle: "메뉴",
|
||||
RemotesTitle: "원격",
|
||||
RemoteBranchesTitle: "원격 브랜치",
|
||||
PatchBuildingTitle: "메인 패널 (Patch Building)",
|
||||
InformationTitle: "정보",
|
||||
SecondaryTitle: "Secondary",
|
||||
ReflogCommitsTitle: "Reflog",
|
||||
GlobalTitle: "글로벌 키 바인딩",
|
||||
ConflictsResolved: "모든 병합 충돌이 해결되었습니다. 계속 할까요?",
|
||||
ConfirmMerge: "정말로 '{{.selectedBranch}}' 을(를) '{{.checkedOutBranch}}'에 병합하시겠습니까?",
|
||||
FwdNoUpstream: "Cannot fast-forward a branch with no upstream",
|
||||
FwdNoLocalUpstream: "Cannot fast-forward a branch whose remote is not registered locally",
|
||||
FwdCommitsToPush: "Cannot fast-forward a branch with commits to push",
|
||||
ErrorOccurred: "오류가 발생했습니다! issue를 작성해 주세요: ",
|
||||
NoRoom: "Not enough room",
|
||||
YouAreHere: "현재 위치",
|
||||
RewordNotSupported: "Rewording commits while interactively rebasing is not currently supported",
|
||||
CherryPickCopy: "커밋을 복사 (cherry-pick)",
|
||||
PasteCommits: "커밋을 붙여넣기 (cherry-pick)",
|
||||
SureCherryPick: "정말로 복사한 커밋을 이 브랜치에 체리픽하시겠습니까?",
|
||||
CherryPick: "체리픽",
|
||||
Donate: "후원",
|
||||
AskQuestion: "질문하기",
|
||||
PrevLine: "이전 줄 선택",
|
||||
NextLine: "다음 줄 선택",
|
||||
PrevHunk: "이전 hunk를 선택",
|
||||
NextHunk: "다음 hunk를 선택",
|
||||
PrevConflict: "이전 충돌을 선택",
|
||||
NextConflict: "다음 충돌을 선택",
|
||||
SelectPrevHunk: "이전 hunk를 선택",
|
||||
SelectNextHunk: "다음 hunk를 선택",
|
||||
ScrollDown: "아래로 스크롤",
|
||||
ScrollUp: "위로 스크롤",
|
||||
ScrollUpMainWindow: "메인 패널을 위로 스크롤",
|
||||
ScrollDownMainWindow: "메인 패널을 아래로로 스크롤",
|
||||
AmendCommitTitle: "Amend commit",
|
||||
AmendCommitPrompt: "Are you sure you want to amend this commit with your staged files?",
|
||||
DropCommitTitle: "커밋 삭제",
|
||||
DropCommitPrompt: "정말로 선택한 커밋을 삭제하시겠습니까?",
|
||||
PullingStatus: "업데이트 중",
|
||||
PushingStatus: "푸시 중",
|
||||
FetchingStatus: "패치 중",
|
||||
SquashingStatus: "Squashing",
|
||||
FixingStatus: "Fixing up",
|
||||
DeletingStatus: "Deleting",
|
||||
MovingStatus: "Moving",
|
||||
RebasingStatus: "Rebasing",
|
||||
AmendingStatus: "Amending",
|
||||
CherryPickingStatus: "Cherry-picking",
|
||||
UndoingStatus: "Undoing",
|
||||
RedoingStatus: "Redoing",
|
||||
CheckingOutStatus: "Checking out",
|
||||
CommittingStatus: "Committing",
|
||||
CommitFiles: "Commit files",
|
||||
SubCommitsDynamicTitle: "커밋 (%s)",
|
||||
CommitFilesDynamicTitle: "Diff files (%s)",
|
||||
RemoteBranchesDynamicTitle: "원격브랜치 (%s)",
|
||||
ViewItemFiles: "View selected item's files",
|
||||
CommitFilesTitle: "커밋 파일",
|
||||
CheckoutCommitFileTooltip: "Checkout file",
|
||||
DiscardOldFileChangeTooltip: "Discard this commit's changes to this file",
|
||||
DiscardFileChangesTitle: "파일 변경 사항 버리기",
|
||||
DiscardFileChangesPrompt: "Are you sure you want to discard this commit's changes to this file? If this file was created in this commit, it will be deleted",
|
||||
DisabledForGPG: "Feature not available for users using GPG",
|
||||
CreateRepo: "Git 저장소가 아닙니다. 저장소를 생성하시겠습니까? (y/n): ",
|
||||
AutoStashTitle: "Autostash?",
|
||||
AutoStashPrompt: "You must stash and pop your changes to bring them across. Do this automatically? (enter/esc)",
|
||||
StashPrefix: "Auto-stashing changes for ",
|
||||
Discard: "View 'discard changes' options",
|
||||
Cancel: "취소",
|
||||
DiscardAllChanges: "모든 변경사항 버리기",
|
||||
DiscardUnstagedChanges: "Discard unstaged changes",
|
||||
DiscardAllChangesToAllFiles: "Nuke working tree",
|
||||
DiscardAnyUnstagedChanges: "Discard unstaged changes",
|
||||
DiscardUntrackedFiles: "Discard untracked files",
|
||||
HardReset: "Hard reset",
|
||||
ViewResetOptions: `View reset options`,
|
||||
CreateFixupCommitTooltip: `Create fixup commit for this commit`,
|
||||
SquashAboveCommitsTooltip: `Squash all 'fixup!' commits above selected commit (autosquash)`,
|
||||
CreateFixupCommit: `Create fixup commit`,
|
||||
ExecuteCustomCommand: "Execute custom command",
|
||||
CustomCommand: "Custom command:",
|
||||
CommitChangesWithoutHook: "Commit changes without pre-commit hook",
|
||||
SkipHookPrefixNotConfigured: "You have not configured a commit message prefix for skipping hooks. Set `git.skipHookPrefix = 'WIP'` in your config",
|
||||
ResetTo: `Reset to`,
|
||||
PressEnterToReturn: "엔터를 눌러 lazygit으로 돌아갑니다.",
|
||||
ViewStashOptions: "Stash 옵션 보기",
|
||||
StashAllChanges: "변경사항을 Stash",
|
||||
StashStagedChanges: "Stash staged changes",
|
||||
StashOptions: "Stash 옵션",
|
||||
NotARepository: "Error: must be run inside a git repository",
|
||||
Jump: "패널로 이동",
|
||||
ScrollLeftRight: "좌우로 스크롤",
|
||||
ScrollLeft: "우 스크롤",
|
||||
ScrollRight: "좌 스크롤",
|
||||
DiscardPatch: "Patch 버리기",
|
||||
DiscardPatchConfirm: "You can only build a patch from one commit/stash-entry at a time. Discard current patch?",
|
||||
CantPatchWhileRebasingError: "You cannot build a patch or run patch commands while in a merging or rebasing state",
|
||||
ToggleAddToPatch: "Toggle file included in patch",
|
||||
ToggleAllInPatch: "Toggle all files included in patch",
|
||||
UpdatingPatch: "Updating patch",
|
||||
ViewPatchOptions: "커스텀 Patch 옵션 보기",
|
||||
PatchOptionsTitle: "Patch 옵션",
|
||||
NoPatchError: "No patch created yet. To start building a patch, use 'space' on a commit file or enter to add specific lines",
|
||||
EnterCommitFile: "Enter file to add selected lines to the patch (or toggle directory collapsed)",
|
||||
// ExitCustomPatchBuilder: ``,
|
||||
EnterUpstream: `'<remote> <branchname>'와 같은 형식으로 입력하세요.`,
|
||||
InvalidUpstream: "Upstream의 형식이 잘못되었습니다.'<remote> <branchname>' 와 같은 형식으로 입력하세요.",
|
||||
|
@ -183,6 +183,7 @@ func polishTranslationSet() TranslationSet {
|
||||
ForcePush: "Wymuś wysłanie",
|
||||
ForcePushPrompt: "Twoja gałąź rozbiegła się z gałęzią zdalną. Naciśnij {{.cancelKey}}, aby anulować, lub {{.confirmKey}}, aby wymusić wysłanie.",
|
||||
ForcePushDisabled: "Twoja gałąź rozbiegła się z gałęzią zdalną i masz wyłączone wymuszanie wysyłania",
|
||||
UpdatesRejectedAndForcePushDisabled: "Aktualizacje zostały odrzucone i wyłączyłeś wymuszenie wysłania",
|
||||
CheckForUpdate: "Sprawdź aktualizacje",
|
||||
CheckingForUpdates: "Sprawdzanie aktualizacji...",
|
||||
UpdateAvailableTitle: "Dostępna aktualizacja!",
|
||||
|
@ -35,389 +35,390 @@ const russianDeprecatedEditConfigWarning = `
|
||||
// exporting this so we can use it in tests
|
||||
func RussianTranslationSet() TranslationSet {
|
||||
return TranslationSet{
|
||||
NotEnoughSpace: "Недостаточно места для отрисовки панелей",
|
||||
DiffTitle: "Сравнения",
|
||||
FilesTitle: "Файлы",
|
||||
BranchesTitle: "Ветки",
|
||||
CommitsTitle: "Коммиты",
|
||||
StashTitle: "Хранилище",
|
||||
SnakeTitle: "Змейка",
|
||||
EasterEgg: "Пасхалка",
|
||||
UnstagedChanges: `Непроиндексированные Изменения`,
|
||||
StagedChanges: `Проиндексированные Изменения`,
|
||||
MainTitle: "Главная",
|
||||
MergeConfirmTitle: "Слияние",
|
||||
StagingTitle: "Главная панель (Индексирование)",
|
||||
MergingTitle: "Главная панель (Слияние)",
|
||||
NormalTitle: "Главная панель (Обычный)",
|
||||
LogTitle: "Журнал",
|
||||
CommitSummary: "Сводка коммита",
|
||||
CredentialsUsername: "Имя пользователя",
|
||||
CredentialsPassword: "Пароль",
|
||||
CredentialsPassphrase: "Введите пароль для SSH ключа",
|
||||
CredentialsPIN: "Введите PIN-код для SSH ключа",
|
||||
PassUnameWrong: "Неверный пароль, кодовая фраза и/или имя пользователя",
|
||||
Commit: "Сохранить изменения",
|
||||
AmendLastCommit: "Правка последнего коммита",
|
||||
AmendLastCommitTitle: "Правка Последнего Коммита",
|
||||
SureToAmend: "Вы уверены, что хотите править последний коммит? Впоследствии можно изменить сообщение коммита на панели коммитов.",
|
||||
NoCommitToAmend: "Не найден коммит для внесения поправок.",
|
||||
CommitChangesWithEditor: "Сохранить изменения с помощью редактора git",
|
||||
StatusTitle: "Статус",
|
||||
Menu: "Меню",
|
||||
Execute: "Выполнить",
|
||||
Stage: "Переключить индекс",
|
||||
ToggleStagedAll: "Все проиндексированные/непроиндексированные",
|
||||
ToggleTreeView: "Переключить вид дерева файлов",
|
||||
OpenMergeTool: "Открыть внешний инструмент слияния (git mergetool)",
|
||||
Refresh: "Обновить",
|
||||
Push: "Отправить изменения",
|
||||
Pull: "Получить и слить изменения",
|
||||
Scroll: "Прокрутить",
|
||||
MergeConflictsTitle: "Конфликты Слияния",
|
||||
Checkout: "Переключить",
|
||||
FileFilter: "Фильтровать файлы (проиндексированные/непроиндексированные)",
|
||||
FilterStagedFiles: "Показывать только проиндексированные файлы",
|
||||
FilterUnstagedFiles: "Показывать только непроиндексированные файлы",
|
||||
ResetFilter: "Сбросить фильтр",
|
||||
NoChangedFiles: "Нет изменённых файлов",
|
||||
SoftReset: "Мягкий сброс",
|
||||
AlreadyCheckedOutBranch: "Вы уже переключились в эту ветку",
|
||||
SureForceCheckout: "Вы уверены, что хотите принудительная переключить? Вы потеряете все локальные изменения",
|
||||
ForceCheckoutBranch: "Принудительное Переключение Ветки",
|
||||
BranchName: "Название ветки",
|
||||
NewBranchNameBranchOff: "Название новой ветки (Ветка с '{{.branchName}}')",
|
||||
CantDeleteCheckOutBranch: "Невозможно удалить переключённую ветку!",
|
||||
ForceDeleteBranchMessage: "'{{.selectedBranchName}}' не полностью слилась. Вы уверены, что хотите удалить его?",
|
||||
RebaseBranch: "Перебазировать переключённую ветку на эту ветку",
|
||||
CantRebaseOntoSelf: "Невозможно перебазировать ветку на себя",
|
||||
CantMergeBranchIntoItself: "Невозможно объединить ветку в себя",
|
||||
ForceCheckout: "Принудительное переключение",
|
||||
CheckoutByName: "Переключить по названию",
|
||||
NewBranch: "Новая ветка",
|
||||
NoBranchesThisRepo: "Нет веток для этого репозитория",
|
||||
CommitWithoutMessageErr: "Вы не можете сохранить изменения без сообщения коммита",
|
||||
Close: "Закрыть",
|
||||
CloseCancel: "Закрыть/отменить",
|
||||
Confirm: "Подтвердить",
|
||||
Quit: "Выйти",
|
||||
NoCommitsThisBranch: "Нет коммитов для этой ветки",
|
||||
UpdateRefHere: "Обновить ветку '{{.ref}}' здесь",
|
||||
CannotSquashOrFixupFirstCommit: "Ниже нет коммита, который можно было бы объединить",
|
||||
Fixup: "Объединить несколько коммитов в один отбросив сообщение коммита (Fixup) ",
|
||||
SureFixupThisCommit: "Вы уверены, что хотите объединить несколько коммитов, отбросив сообщение коммита? Он будет объединён с коммитом ниже",
|
||||
SureSquashThisCommit: "Вы уверены, что хотите объединить несколько коммитов в нижний коммит?",
|
||||
Squash: "Объединить коммиты (Squash)",
|
||||
PickCommitTooltip: "Выбрать коммит (в середине перебазирования)",
|
||||
RevertCommit: "Отменить коммит",
|
||||
Reword: "Перефразировать коммит",
|
||||
DropCommit: "Удалить коммит",
|
||||
MoveDownCommit: "Переместить коммит вниз на один",
|
||||
MoveUpCommit: "Переместить коммит вверх на один",
|
||||
EditCommitTooltip: "Изменить коммит",
|
||||
AmendCommitTooltip: "Править последний коммит с проиндексированными изменениями",
|
||||
ResetAuthor: "Сброс автора коммита",
|
||||
SetAuthor: "Установить автора",
|
||||
AmendCommitAttribute: "Установить/убрать автора коммита",
|
||||
SetAuthorPromptTitle: "Установить автора (должно выглядеть как «Имя <Email>»)",
|
||||
SureResetCommitAuthor: "Поле автора этого автора будет обновлено в соответствии с настроенным пользователем. Это также обновляет временную метку автора. Продолжить?",
|
||||
RewordCommitEditor: "Переписать коммит с помощью редактора",
|
||||
Error: "Ошибка",
|
||||
PickHunk: "Выбрать эту часть",
|
||||
PickAllHunks: "Выбрать все части",
|
||||
Undo: "Отменить",
|
||||
UndoReflog: "Отменить (через reflog) (экспериментальный)",
|
||||
RedoReflog: "Повторить (через reflog) (экспериментальный)",
|
||||
UndoTooltip: "Журнал ссылок (reflog) будет использоваться для определения того, какую команду git запустить, чтобы отменить последнюю команду git. Сюда не входят изменения в рабочем дереве; учитываются только коммиты.",
|
||||
RedoTooltip: "Журнал ссылок (reflog) будет использоваться для определения того, какую команду git нужно запустить, чтобы повторить последнюю команду git. Сюда не входят изменения в рабочем дереве; учитываются только коммиты.",
|
||||
DiscardAllTooltip: "Отменить проиндексированные и непроиндексированные изменения в '{{.path}}'.",
|
||||
DiscardUnstagedTooltip: "Отменить непроиндексированные изменения в '{{.path}}'.",
|
||||
Pop: "Применить припрятанные изменения и тут же удалить их из хранилища",
|
||||
Drop: "Удалить припрятанные изменения из хранилища",
|
||||
Apply: "Применить припрятанные изменения",
|
||||
NoStashEntries: "Нет записей в хранилище",
|
||||
StashDrop: "Сбросить хранилище",
|
||||
SureDropStashEntry: "Вы уверены, что хотите удалить эту запись хранилища?",
|
||||
StashPop: "Применить припрятанные изменения и тут же удалить их из хранилища",
|
||||
SurePopStashEntry: "Вы уверены, что хотите применить эти припрятанные изменения и тут же удалить их из хранилища?",
|
||||
StashApply: "Применить припрятанные изменения",
|
||||
SureApplyStashEntry: "Вы уверены, что хотите применить эти припрятанные изменения?",
|
||||
NoTrackedStagedFilesStash: "У вас нет отслеженных/проиндексированных файлов для хранения",
|
||||
NoFilesToStash: "У вас нет файлов для хранения",
|
||||
StashChanges: "Припрятать изменения",
|
||||
RenameStash: "Переименовать хранилище",
|
||||
RenameStashPrompt: "Переименовать хранилище: {{.stashName}}",
|
||||
OpenConfig: "Открыть файл конфигурации",
|
||||
EditConfig: "Редактировать файл конфигурации",
|
||||
ForcePush: "Принудительная отправка изменении",
|
||||
ForcePushPrompt: "Ветка отклонилась от удалённой ветки. Нажмите «esc», чтобы отменить, или «enter», чтобы начать принудительную отправку изменении.",
|
||||
ForcePushDisabled: "Ветка отклонилась от удалённой ветки. Принудительная отправка изменении была отключена",
|
||||
CheckForUpdate: "Проверить обновления",
|
||||
CheckingForUpdates: "Проверка обновлений...",
|
||||
UpdateAvailableTitle: "Доступно обновление!",
|
||||
UpdateAvailable: "Скачать и установить версию {{.newVersion}}?",
|
||||
UpdateInProgressWaitingStatus: "Обновление",
|
||||
UpdateCompletedTitle: "Обновление завершено!",
|
||||
UpdateCompleted: "Обновление успешно установлено. Перезапустите lazygit, чтобы обновление вступило в силу.",
|
||||
FailedToRetrieveLatestVersionErr: "Не удалось получить информацию о версии",
|
||||
OnLatestVersionErr: "Установлена последняя версия",
|
||||
MajorVersionErr: "Новая версия ({{.newVersion}}) содержит несовместимые с предыдущими версии изменения по сравнению с текущей версией ({{.currentVersion}})",
|
||||
CouldNotFindBinaryErr: "Не удалось найти бинарный файл на {{.url}}",
|
||||
UpdateFailedErr: "Не удалось обновить: {{.errMessage}}",
|
||||
ConfirmQuitDuringUpdateTitle: "Идёт Обновление",
|
||||
ConfirmQuitDuringUpdate: "Выполняется обновление. Вы уверены, что хотите выйти?",
|
||||
MergeToolTitle: "Инструмент слияния",
|
||||
MergeToolPrompt: "Вы уверены, что хотите открыть `git mergetool`?",
|
||||
IntroPopupMessage: russianIntroPopupMessage,
|
||||
DeprecatedEditConfigWarning: russianDeprecatedEditConfigWarning,
|
||||
GitconfigParseErr: `Gogit не удалось проанализировать ваш файл gitconfig из-за наличия символов «\» без кавычек. Их удаление должно решить проблему.`,
|
||||
EditFile: `Редактировать файл`,
|
||||
OpenFile: `Открыть файл`,
|
||||
IgnoreFile: `Добавить в .gitignore`,
|
||||
ExcludeFile: `Добавить в .git/info/exclude`,
|
||||
RefreshFiles: `Обновить файлы`,
|
||||
Merge: `Слияние с текущей переключённой веткой`,
|
||||
ConfirmQuit: `Вы уверены, что хотите выйти?`,
|
||||
SwitchRepo: `Переключиться на последний репозиторий`,
|
||||
AllBranchesLogGraph: `Показать все логи ветки`,
|
||||
UnsupportedGitService: `Неподдерживаемая служба git`,
|
||||
CreatePullRequest: `Создать запрос на принятие изменений`,
|
||||
CopyPullRequestURL: `Скопировать URL запроса на принятие изменений в буфер обмена`,
|
||||
NoBranchOnRemote: `Этой ветки не существует в удалённом репозитории. Сначала вам нужно его отправить в удалённый репозитории.`,
|
||||
Fetch: `Получить изменения`,
|
||||
NoAutomaticGitFetchTitle: `Нет автоматического получения изменении`,
|
||||
NoAutomaticGitFetchBody: `Lazygit не может использовать «git fetch» в приватном репозитории; используйте «f» на панели файлов, чтобы запустить «git fetch» вручную`,
|
||||
FileEnter: `Проиндексировать отдельные части/строки для файла или свернуть/развернуть для каталога`,
|
||||
FileStagingRequirements: `Можно проиндексировать только отдельные строки для отслеживаемых файлов`,
|
||||
StageSelectionTooltip: `Переключить строку в проиндексированные / непроиндексированные`,
|
||||
DiscardSelection: `Отменить изменение (git reset)`,
|
||||
ToggleRangeSelect: `Переключить выборку перетаскивания`,
|
||||
ToggleSelectHunk: `Переключить выборку частей`,
|
||||
ToggleSelectionForPatch: `Добавить/удалить строку(и) для патча`,
|
||||
EditHunk: `Изменить эту часть`,
|
||||
ToggleStagingView: `Переключиться на другую панель (проиндексированные/непроиндексированные изменения)`,
|
||||
ReturnToFilesPanel: `Вернуться к панели файлов`,
|
||||
FastForward: `Перемотать эту ветку вперёд из её upstream-ветки`,
|
||||
FastForwarding: "Получить изменения и перемотать вперёд",
|
||||
FoundConflictsTitle: "Конфликты!",
|
||||
ViewConflictsMenuItem: "Просмотр конфликтов",
|
||||
AbortMenuItem: "Прервать %s",
|
||||
ViewMergeRebaseOptions: "Просмотреть параметры слияния/перебазирования",
|
||||
NotMergingOrRebasing: "В данный момент вы не выполняете ни перебазирования, ни слияние",
|
||||
AlreadyRebasing: "Невозможно выполнить это действие во время перебазирования",
|
||||
RecentRepos: "Последние репозитории",
|
||||
MergeOptionsTitle: "Параметры слияния",
|
||||
RebaseOptionsTitle: "Параметры перебазирования",
|
||||
CommitSummaryTitle: "Сводка коммита",
|
||||
CommitDescriptionTitle: "Описание коммита",
|
||||
CommitDescriptionSubTitle: "Нажмите вкладку, чтобы переключить фокус",
|
||||
LocalBranchesTitle: "Локальные Ветки",
|
||||
SearchTitle: "Поиск",
|
||||
TagsTitle: "Теги",
|
||||
MenuTitle: "Меню",
|
||||
RemotesTitle: "Удалённые репозитории",
|
||||
RemoteBranchesTitle: "Удалённые ветки",
|
||||
PatchBuildingTitle: "Главная панель (сборка патчей)",
|
||||
InformationTitle: "Информация",
|
||||
SecondaryTitle: "Вторичный",
|
||||
ReflogCommitsTitle: "Журнал ссылок (Reflog)",
|
||||
GlobalTitle: "Глобальные сочетания клавиш",
|
||||
ConflictsResolved: "Все конфликты слияния разрешены. Продолжить?",
|
||||
Continue: "Продолжить",
|
||||
Keybindings: "Связки клавиш",
|
||||
RebasingTitle: "Перебазировать '{{.checkedOutBranch}}' на '{{.ref}}'",
|
||||
SimpleRebase: "Простая перебазировка",
|
||||
InteractiveRebase: "Интерактивная перебазировка",
|
||||
InteractiveRebaseTooltip: "Начать интерактивную перебазировку с перерыва в начале, чтобы можно было обновить TODO коммиты, прежде чем продолжить.",
|
||||
ConfirmMerge: "Вы уверены, что хотите to merge '{{.selectedBranch}}' into '{{.checkedOutBranch}}'?",
|
||||
FwdNoUpstream: "Невозможно перемотать ветку без upstream-ветки",
|
||||
FwdNoLocalUpstream: "Невозможно перемотать ветку. Удалённый репозитории не зарегистрирован локально",
|
||||
FwdCommitsToPush: "Невозможно перемотать ветку с коммитами для отправки",
|
||||
ErrorOccurred: "Произошла ошибка! Пожалуйста, заявите о проблеме на",
|
||||
NoRoom: "Недостаточно места",
|
||||
YouAreHere: "ВЫ ЗДЕСЬ",
|
||||
YouDied: "ТЫ УМЕР!",
|
||||
RewordNotSupported: "Переформулировка коммитов при интерактивном перебазировании в настоящее время не поддерживается",
|
||||
ChangingThisActionIsNotAllowed: "Изменение этого типа записи todo перебазирования не допускается",
|
||||
CherryPickCopy: "Скопировать отобранные коммит (cherry-pick)",
|
||||
PasteCommits: "Вставить отобранные коммиты (cherry-pick)",
|
||||
SureCherryPick: "Вы уверены, что хотите выборочно применить (cherry-picked) отобранные коммиты в эту ветку?",
|
||||
CherryPick: "Выборочная отборка (Cherry-Pick)",
|
||||
Donate: "Пожертвовать",
|
||||
AskQuestion: "Задать вопрос",
|
||||
PrevLine: "Выбрать предыдущую строку",
|
||||
NextLine: "Выбрать следующую строку",
|
||||
PrevHunk: "Выбрать предыдущую часть",
|
||||
NextHunk: "Выбрать следующую часть",
|
||||
PrevConflict: "Выбрать предыдущий конфликт",
|
||||
NextConflict: "Выбрать следующий конфликт",
|
||||
SelectPrevHunk: "Выбрать предыдущую часть",
|
||||
SelectNextHunk: "Выбрать следующую часть",
|
||||
ScrollDown: "Прокрутить вниз",
|
||||
ScrollUp: "Прокрутить вверх",
|
||||
ScrollUpMainWindow: "Прокрутить вверх главную панель",
|
||||
ScrollDownMainWindow: "Прокрутить вниз главную панель",
|
||||
AmendCommitTitle: "Править коммит (amend)",
|
||||
AmendCommitPrompt: "Вы уверены, что хотите править этот коммит проиндексированными файлами?",
|
||||
DropCommitTitle: "Удалить коммит",
|
||||
DropCommitPrompt: "Вы уверены, что хотите удалить этот коммит?",
|
||||
PullingStatus: "Получение и слияние изменении",
|
||||
PushingStatus: "Отправка изменении",
|
||||
FetchingStatus: "Получение изменении",
|
||||
SquashingStatus: "Объединение коммитов",
|
||||
FixingStatus: "Объединение коммитов, отбросив сообщение коммита",
|
||||
DeletingStatus: "Удаление",
|
||||
MovingStatus: "Перемещение",
|
||||
RebasingStatus: "Перебазирование",
|
||||
MergingStatus: "Слияние",
|
||||
LowercaseRebasingStatus: "перебазировка", // lowercase because it shows up in parentheses
|
||||
LowercaseMergingStatus: "слияние", // lowercase because it shows up in parentheses
|
||||
AmendingStatus: "Правка коммита",
|
||||
CherryPickingStatus: "Выборочная отборка (cherry-picking)",
|
||||
UndoingStatus: "Отмена последней команды",
|
||||
RedoingStatus: "Выполнение последней команды",
|
||||
CheckingOutStatus: "Переключение",
|
||||
CommittingStatus: "Сохранение изменении",
|
||||
CommitFiles: "Сохранить изменения файлов",
|
||||
SubCommitsDynamicTitle: "Коммиты (%s)",
|
||||
CommitFilesDynamicTitle: "Различия файлов (%s)",
|
||||
RemoteBranchesDynamicTitle: "Удалённые ветки (%s)",
|
||||
ViewItemFiles: "Просмотреть файлы выбранного элемента",
|
||||
CommitFilesTitle: "Сохранить Изменения Файлов",
|
||||
CheckoutCommitFileTooltip: "Переключить файл",
|
||||
CanOnlyDiscardFromLocalCommits: "Изменения можно отменить только из локальных коммитов.",
|
||||
DiscardOldFileChangeTooltip: "Отменить изменения коммита в этом файле",
|
||||
DiscardFileChangesTitle: "Отменить изменения файла",
|
||||
DiscardFileChangesPrompt: "Вы уверены, что хотите удалить изменения в выбранных файлах из этого коммита?\n\nЭто действие запустит перебазирование и отменит изменения в этих файлах. Обратите внимание, что если последующие коммиты зависят от этих изменений, вам, возможно, придется разрешить конфликты.\nПримечание: это также сбросит все активные пользовательские патчи.",
|
||||
DisabledForGPG: "Функция недоступна для пользователей, использующих GPG",
|
||||
CreateRepo: "Не в git репозитории. Создать новый git репозиторий? (y/n):",
|
||||
BareRepo: "Вы пытались открыть Lazygit в пустом репозитории, но Lazygit ещё не поддерживает пустые репозитории. Открыть последний репозиторий? (y/n)",
|
||||
InitialBranch: "Название ветки? (оставьте пустым для git по умолчанию):",
|
||||
NoRecentRepositories: "Необходимо открыть lazygit в git репозитории. Нет валидных последних репозиториев. Выход.",
|
||||
IncorrectNotARepository: "Неверное значение 'notARepository'. Это должно быть одним из 'prompt', 'create', 'skip', или 'quit'.",
|
||||
AutoStashTitle: "Автосохранить изменения?",
|
||||
AutoStashPrompt: "Чтобы перенести изменения, их нужно сохранить и вынуть. Сделать это автоматически? (enter/esc)",
|
||||
StashPrefix: "Автосохранение изменений для",
|
||||
Discard: "Просмотреть параметры «отмены изменении»",
|
||||
Cancel: "Отменить",
|
||||
DiscardAllChanges: "Отменить все изменения",
|
||||
DiscardUnstagedChanges: "Отменить непроиндексированные изменения",
|
||||
DiscardAllChangesToAllFiles: "Разбомбить рабочее дерево?",
|
||||
DiscardAnyUnstagedChanges: "Отменить непроиндексированные изменения",
|
||||
DiscardUntrackedFiles: "Удалить неотслеживаемые файлы",
|
||||
DiscardStagedChanges: "Отменить проиндексированные изменения",
|
||||
HardReset: "Жёсткий сброс",
|
||||
ViewResetOptions: `Просмотреть параметры сброса`,
|
||||
CreateFixupCommitTooltip: `Создать fixup коммит для этого коммита`,
|
||||
SquashAboveCommitsTooltip: `Объединить все 'fixup!' коммиты выше в выбранный коммит (автосохранение)`,
|
||||
CreateFixupCommit: `Создать fixup коммит`,
|
||||
ExecuteCustomCommand: "Выполнить пользовательскую команду",
|
||||
CustomCommand: "Пользовательская Команда:",
|
||||
CommitChangesWithoutHook: "Закоммитить изменения без предварительного хука коммита",
|
||||
SkipHookPrefixNotConfigured: "Вы не настроили префикс сообщения коммита для пропуска хуков. Установите `git.skipHookPrefix = 'WIP'` в вашей конфигурации",
|
||||
ResetTo: `Сбросить на`,
|
||||
PressEnterToReturn: "Нажмите Enter, чтобы вернуться в lazygit",
|
||||
ViewStashOptions: "Просмотреть параметры хранилища",
|
||||
StashAllChanges: "Припрятать все изменения",
|
||||
StashStagedChanges: "Припрятать проиндексированные изменения",
|
||||
StashAllChangesKeepIndex: "Припрятать все изменения и сохранить индекс",
|
||||
StashUnstagedChanges: "Припрятать непроиндексированные изменения",
|
||||
StashIncludeUntrackedChanges: "Припрятать все изменения, включая неотслеживаемые файлы",
|
||||
StashOptions: "Параметры хранилища",
|
||||
NotARepository: "Ошибка: необходимо запустить внутри git репозитория",
|
||||
Jump: "Перейти к панели",
|
||||
ScrollLeftRight: "Прокрутить влево/вправо",
|
||||
ScrollLeft: "Прокрутить влево",
|
||||
ScrollRight: "Прокрутить вправо",
|
||||
DiscardPatch: "Отменить патч",
|
||||
DiscardPatchConfirm: "Вы можете собрать патч только из одной записи коммита/хранилища за раз. Отменить текущий патч?",
|
||||
CantPatchWhileRebasingError: "Вы не можете создавать патчи или запускать команды патча, находясь в состоянии слияния или перемещения.",
|
||||
ToggleAddToPatch: "Переключить файлы включённые в патч",
|
||||
ToggleAllInPatch: "Переключить все файлы, включённые в патч",
|
||||
UpdatingPatch: "Обновление патча",
|
||||
ViewPatchOptions: "Просмотреть пользовательские параметры патча",
|
||||
PatchOptionsTitle: "Параметры патча",
|
||||
NoPatchError: "Патч ещё не создан. Чтобы начать сборку патча, используйте «пробел» в файле коммита или введите, чтобы добавить определённые строки.",
|
||||
EnterCommitFile: "Введите файл, чтобы добавить выбранные строки в патч (или свернуть каталог переключения)",
|
||||
ExitCustomPatchBuilder: `Выйти из сборщика пользовательских патчей`,
|
||||
EnterUpstream: `Введите upstream как '<remote> <branchname>'`,
|
||||
InvalidUpstream: "Недействительный upstream. Должен быть в формате '<remote> <branchname>'",
|
||||
ReturnToRemotesList: `Вернуться к списку удалённых репозитории`,
|
||||
NewRemote: `Добавить новую удалённую ветку`,
|
||||
NewRemoteName: `Название новой удалённой ветки`,
|
||||
NewRemoteUrl: `Ссылка новой удалённой ветки`,
|
||||
EditRemoteName: `Введите новое название для удалённое ветки {{.remoteName}}:`,
|
||||
EditRemoteUrl: `Введите новую ссылку для удалённое ветки {{.remoteName}}:`,
|
||||
RemoveRemote: `Удалить удалённую ветку`,
|
||||
RemoveRemotePrompt: "Вы уверены, что хотите удалить удалённую ветку?",
|
||||
DeleteRemoteBranch: "Удалить Удалённую Ветку",
|
||||
DeleteRemoteBranchMessage: "Вы уверены, что хотите удалить удалённую ветку",
|
||||
SetAsUpstreamTooltip: "Установить как upstream-ветку переключённую ветку",
|
||||
SetUpstream: "Установить upstream-ветку из выбранной ветки",
|
||||
UnsetUpstream: "Убрать upstream-ветку из выбранной ветки",
|
||||
SetUpstreamTitle: "Установить upstream-ветку",
|
||||
SetUpstreamMessage: "Вы уверены, что хотите установить upstream-ветвь '{{.checkedOut}}' на '{{.selected}}'",
|
||||
EditRemoteTooltip: "Редактировать удалённый репозитории",
|
||||
TagCommit: "Пометить коммит тегом",
|
||||
TagMenuTitle: "Создать тег",
|
||||
TagNameTitle: "Название тега",
|
||||
TagMessageTitle: "Сообщения тега",
|
||||
AnnotatedTag: "Аннотированный тег",
|
||||
LightweightTag: "Легковесный тег",
|
||||
DeleteTagTitle: "Удалить тег",
|
||||
PushTagTitle: "Удалённый репозитории для отправки тега '{{.tagName}}' в:",
|
||||
PushTag: "Отправить тег",
|
||||
NewTag: "Создать тег",
|
||||
FetchRemoteTooltip: "Получение изменения из удалённого репозитория",
|
||||
FetchingRemoteStatus: "Получение статуса удалённого репозитория",
|
||||
CheckoutCommit: "Переключить коммит",
|
||||
SureCheckoutThisCommit: "Вы уверены, что хотите переключить коммит?",
|
||||
GitFlowOptions: "Показать параметры git-flow",
|
||||
NotAGitFlowBranch: "Это не похоже на ветку git-flow",
|
||||
NewGitFlowBranchPrompt: "Новое {{.branchType}} название:",
|
||||
IgnoreTracked: "Игнорировать отслеживаемый файл",
|
||||
IgnoreTrackedPrompt: "Вы уверены, что хотите игнорировать отслеживаемый файл?",
|
||||
ExcludeTracked: "Исключить отслеживаемый файл",
|
||||
ExcludeTrackedPrompt: "Вы уверены, что хотите исключить отслеживаемый файл?",
|
||||
ViewResetToUpstreamOptions: "Просмотреть параметры сброса upstream-ветки",
|
||||
NextScreenMode: "Следующий режим экрана (нормальный/полуэкранный/полноэкранный)",
|
||||
PrevScreenMode: "Предыдущий режим экрана",
|
||||
StartSearch: "Найти",
|
||||
Panel: "Панель",
|
||||
KeybindingsLegend: "Связки клавиш",
|
||||
RenameBranch: "Переименовать ветку",
|
||||
NewBranchNamePrompt: "Введите новое название ветки",
|
||||
RenameBranchWarning: "Эта ветвь отслеживает удалённый репозитории. Это действие переименует только имя локальной ветки, а не имя удалённой ветки. Продолжать?",
|
||||
OpenKeybindingsMenu: "Открыть меню",
|
||||
ResetCherryPick: "Сбросить отобранную (скопированную | cherry-picked) выборку коммитов",
|
||||
NextTab: "Следующая вкладка",
|
||||
PrevTab: "Предыдущая вкладка",
|
||||
CantUndoWhileRebasing: "Невозможно отменить во время перебазирования",
|
||||
CantRedoWhileRebasing: "Невозможно повторить при перебазировании",
|
||||
MustStashWarning: "Вытаскивание исправления в индекс требует сохранения и распаковки ваших изменений. Если что-то пойдёт не так, можно получить доступ к файлам из хранилища. Продолжить?",
|
||||
MustStashTitle: "Необходимо припрятать",
|
||||
ConfirmationTitle: "Панель Подтверждения",
|
||||
PrevPage: "Предыдущая страница",
|
||||
NextPage: "Следующая страница",
|
||||
GotoTop: "Пролистать наверх",
|
||||
GotoBottom: "Прокрутить вниз",
|
||||
FilteringBy: "Фильтрация по",
|
||||
ResetInParentheses: "(сбросить)",
|
||||
OpenFilteringMenu: "Просмотреть параметры фильтрации по пути",
|
||||
FilterBy: "Фильтровать по",
|
||||
ExitFilterMode: "Прекратить фильтрацию по пути",
|
||||
FilterPathOption: "Введите путь для фильтрации",
|
||||
EnterFileName: "Введите путь:",
|
||||
FilteringMenuTitle: "Фильтрация",
|
||||
MustExitFilterModeTitle: "Команда недоступна",
|
||||
MustExitFilterModePrompt: "Команда недоступна в режиме фильтрации. Выйти из режима фильтрации?",
|
||||
Diff: "Разница",
|
||||
EnterRefToDiff: "Введите ссылку для сравнения",
|
||||
EnterRefName: "Введите ссылку:",
|
||||
ExitDiffMode: "Выйти из режима сравнения",
|
||||
DiffingMenuTitle: "Сравнение",
|
||||
SwapDiff: "Обратное направление сравнении",
|
||||
ViewDiffingOptions: "Открыть меню сравнении",
|
||||
NotEnoughSpace: "Недостаточно места для отрисовки панелей",
|
||||
DiffTitle: "Сравнения",
|
||||
FilesTitle: "Файлы",
|
||||
BranchesTitle: "Ветки",
|
||||
CommitsTitle: "Коммиты",
|
||||
StashTitle: "Хранилище",
|
||||
SnakeTitle: "Змейка",
|
||||
EasterEgg: "Пасхалка",
|
||||
UnstagedChanges: `Непроиндексированные Изменения`,
|
||||
StagedChanges: `Проиндексированные Изменения`,
|
||||
MainTitle: "Главная",
|
||||
MergeConfirmTitle: "Слияние",
|
||||
StagingTitle: "Главная панель (Индексирование)",
|
||||
MergingTitle: "Главная панель (Слияние)",
|
||||
NormalTitle: "Главная панель (Обычный)",
|
||||
LogTitle: "Журнал",
|
||||
CommitSummary: "Сводка коммита",
|
||||
CredentialsUsername: "Имя пользователя",
|
||||
CredentialsPassword: "Пароль",
|
||||
CredentialsPassphrase: "Введите пароль для SSH ключа",
|
||||
CredentialsPIN: "Введите PIN-код для SSH ключа",
|
||||
PassUnameWrong: "Неверный пароль, кодовая фраза и/или имя пользователя",
|
||||
Commit: "Сохранить изменения",
|
||||
AmendLastCommit: "Правка последнего коммита",
|
||||
AmendLastCommitTitle: "Правка Последнего Коммита",
|
||||
SureToAmend: "Вы уверены, что хотите править последний коммит? Впоследствии можно изменить сообщение коммита на панели коммитов.",
|
||||
NoCommitToAmend: "Не найден коммит для внесения поправок.",
|
||||
CommitChangesWithEditor: "Сохранить изменения с помощью редактора git",
|
||||
StatusTitle: "Статус",
|
||||
Menu: "Меню",
|
||||
Execute: "Выполнить",
|
||||
Stage: "Переключить индекс",
|
||||
ToggleStagedAll: "Все проиндексированные/непроиндексированные",
|
||||
ToggleTreeView: "Переключить вид дерева файлов",
|
||||
OpenMergeTool: "Открыть внешний инструмент слияния (git mergetool)",
|
||||
Refresh: "Обновить",
|
||||
Push: "Отправить изменения",
|
||||
Pull: "Получить и слить изменения",
|
||||
Scroll: "Прокрутить",
|
||||
MergeConflictsTitle: "Конфликты Слияния",
|
||||
Checkout: "Переключить",
|
||||
FileFilter: "Фильтровать файлы (проиндексированные/непроиндексированные)",
|
||||
FilterStagedFiles: "Показывать только проиндексированные файлы",
|
||||
FilterUnstagedFiles: "Показывать только непроиндексированные файлы",
|
||||
ResetFilter: "Сбросить фильтр",
|
||||
NoChangedFiles: "Нет изменённых файлов",
|
||||
SoftReset: "Мягкий сброс",
|
||||
AlreadyCheckedOutBranch: "Вы уже переключились в эту ветку",
|
||||
SureForceCheckout: "Вы уверены, что хотите принудительная переключить? Вы потеряете все локальные изменения",
|
||||
ForceCheckoutBranch: "Принудительное Переключение Ветки",
|
||||
BranchName: "Название ветки",
|
||||
NewBranchNameBranchOff: "Название новой ветки (Ветка с '{{.branchName}}')",
|
||||
CantDeleteCheckOutBranch: "Невозможно удалить переключённую ветку!",
|
||||
ForceDeleteBranchMessage: "'{{.selectedBranchName}}' не полностью слилась. Вы уверены, что хотите удалить его?",
|
||||
RebaseBranch: "Перебазировать переключённую ветку на эту ветку",
|
||||
CantRebaseOntoSelf: "Невозможно перебазировать ветку на себя",
|
||||
CantMergeBranchIntoItself: "Невозможно объединить ветку в себя",
|
||||
ForceCheckout: "Принудительное переключение",
|
||||
CheckoutByName: "Переключить по названию",
|
||||
NewBranch: "Новая ветка",
|
||||
NoBranchesThisRepo: "Нет веток для этого репозитория",
|
||||
CommitWithoutMessageErr: "Вы не можете сохранить изменения без сообщения коммита",
|
||||
Close: "Закрыть",
|
||||
CloseCancel: "Закрыть/отменить",
|
||||
Confirm: "Подтвердить",
|
||||
Quit: "Выйти",
|
||||
NoCommitsThisBranch: "Нет коммитов для этой ветки",
|
||||
UpdateRefHere: "Обновить ветку '{{.ref}}' здесь",
|
||||
CannotSquashOrFixupFirstCommit: "Ниже нет коммита, который можно было бы объединить",
|
||||
Fixup: "Объединить несколько коммитов в один отбросив сообщение коммита (Fixup) ",
|
||||
SureFixupThisCommit: "Вы уверены, что хотите объединить несколько коммитов, отбросив сообщение коммита? Он будет объединён с коммитом ниже",
|
||||
SureSquashThisCommit: "Вы уверены, что хотите объединить несколько коммитов в нижний коммит?",
|
||||
Squash: "Объединить коммиты (Squash)",
|
||||
PickCommitTooltip: "Выбрать коммит (в середине перебазирования)",
|
||||
RevertCommit: "Отменить коммит",
|
||||
Reword: "Перефразировать коммит",
|
||||
DropCommit: "Удалить коммит",
|
||||
MoveDownCommit: "Переместить коммит вниз на один",
|
||||
MoveUpCommit: "Переместить коммит вверх на один",
|
||||
EditCommitTooltip: "Изменить коммит",
|
||||
AmendCommitTooltip: "Править последний коммит с проиндексированными изменениями",
|
||||
ResetAuthor: "Сброс автора коммита",
|
||||
SetAuthor: "Установить автора",
|
||||
AmendCommitAttribute: "Установить/убрать автора коммита",
|
||||
SetAuthorPromptTitle: "Установить автора (должно выглядеть как «Имя <Email>»)",
|
||||
SureResetCommitAuthor: "Поле автора этого автора будет обновлено в соответствии с настроенным пользователем. Это также обновляет временную метку автора. Продолжить?",
|
||||
RewordCommitEditor: "Переписать коммит с помощью редактора",
|
||||
Error: "Ошибка",
|
||||
PickHunk: "Выбрать эту часть",
|
||||
PickAllHunks: "Выбрать все части",
|
||||
Undo: "Отменить",
|
||||
UndoReflog: "Отменить (через reflog) (экспериментальный)",
|
||||
RedoReflog: "Повторить (через reflog) (экспериментальный)",
|
||||
UndoTooltip: "Журнал ссылок (reflog) будет использоваться для определения того, какую команду git запустить, чтобы отменить последнюю команду git. Сюда не входят изменения в рабочем дереве; учитываются только коммиты.",
|
||||
RedoTooltip: "Журнал ссылок (reflog) будет использоваться для определения того, какую команду git нужно запустить, чтобы повторить последнюю команду git. Сюда не входят изменения в рабочем дереве; учитываются только коммиты.",
|
||||
DiscardAllTooltip: "Отменить проиндексированные и непроиндексированные изменения в '{{.path}}'.",
|
||||
DiscardUnstagedTooltip: "Отменить непроиндексированные изменения в '{{.path}}'.",
|
||||
Pop: "Применить припрятанные изменения и тут же удалить их из хранилища",
|
||||
Drop: "Удалить припрятанные изменения из хранилища",
|
||||
Apply: "Применить припрятанные изменения",
|
||||
NoStashEntries: "Нет записей в хранилище",
|
||||
StashDrop: "Сбросить хранилище",
|
||||
SureDropStashEntry: "Вы уверены, что хотите удалить эту запись хранилища?",
|
||||
StashPop: "Применить припрятанные изменения и тут же удалить их из хранилища",
|
||||
SurePopStashEntry: "Вы уверены, что хотите применить эти припрятанные изменения и тут же удалить их из хранилища?",
|
||||
StashApply: "Применить припрятанные изменения",
|
||||
SureApplyStashEntry: "Вы уверены, что хотите применить эти припрятанные изменения?",
|
||||
NoTrackedStagedFilesStash: "У вас нет отслеженных/проиндексированных файлов для хранения",
|
||||
NoFilesToStash: "У вас нет файлов для хранения",
|
||||
StashChanges: "Припрятать изменения",
|
||||
RenameStash: "Переименовать хранилище",
|
||||
RenameStashPrompt: "Переименовать хранилище: {{.stashName}}",
|
||||
OpenConfig: "Открыть файл конфигурации",
|
||||
EditConfig: "Редактировать файл конфигурации",
|
||||
ForcePush: "Принудительная отправка изменении",
|
||||
ForcePushPrompt: "Ветка отклонилась от удалённой ветки. Нажмите «esc», чтобы отменить, или «enter», чтобы начать принудительную отправку изменении.",
|
||||
ForcePushDisabled: "Ветка отклонилась от удалённой ветки. Принудительная отправка изменении была отключена",
|
||||
UpdatesRejectedAndForcePushDisabled: "Обновления были отклонены. Принудительная отправка изменении была отключена",
|
||||
CheckForUpdate: "Проверить обновления",
|
||||
CheckingForUpdates: "Проверка обновлений...",
|
||||
UpdateAvailableTitle: "Доступно обновление!",
|
||||
UpdateAvailable: "Скачать и установить версию {{.newVersion}}?",
|
||||
UpdateInProgressWaitingStatus: "Обновление",
|
||||
UpdateCompletedTitle: "Обновление завершено!",
|
||||
UpdateCompleted: "Обновление успешно установлено. Перезапустите lazygit, чтобы обновление вступило в силу.",
|
||||
FailedToRetrieveLatestVersionErr: "Не удалось получить информацию о версии",
|
||||
OnLatestVersionErr: "Установлена последняя версия",
|
||||
MajorVersionErr: "Новая версия ({{.newVersion}}) содержит несовместимые с предыдущими версии изменения по сравнению с текущей версией ({{.currentVersion}})",
|
||||
CouldNotFindBinaryErr: "Не удалось найти бинарный файл на {{.url}}",
|
||||
UpdateFailedErr: "Не удалось обновить: {{.errMessage}}",
|
||||
ConfirmQuitDuringUpdateTitle: "Идёт Обновление",
|
||||
ConfirmQuitDuringUpdate: "Выполняется обновление. Вы уверены, что хотите выйти?",
|
||||
MergeToolTitle: "Инструмент слияния",
|
||||
MergeToolPrompt: "Вы уверены, что хотите открыть `git mergetool`?",
|
||||
IntroPopupMessage: russianIntroPopupMessage,
|
||||
DeprecatedEditConfigWarning: russianDeprecatedEditConfigWarning,
|
||||
GitconfigParseErr: `Gogit не удалось проанализировать ваш файл gitconfig из-за наличия символов «\» без кавычек. Их удаление должно решить проблему.`,
|
||||
EditFile: `Редактировать файл`,
|
||||
OpenFile: `Открыть файл`,
|
||||
IgnoreFile: `Добавить в .gitignore`,
|
||||
ExcludeFile: `Добавить в .git/info/exclude`,
|
||||
RefreshFiles: `Обновить файлы`,
|
||||
Merge: `Слияние с текущей переключённой веткой`,
|
||||
ConfirmQuit: `Вы уверены, что хотите выйти?`,
|
||||
SwitchRepo: `Переключиться на последний репозиторий`,
|
||||
AllBranchesLogGraph: `Показать все логи ветки`,
|
||||
UnsupportedGitService: `Неподдерживаемая служба git`,
|
||||
CreatePullRequest: `Создать запрос на принятие изменений`,
|
||||
CopyPullRequestURL: `Скопировать URL запроса на принятие изменений в буфер обмена`,
|
||||
NoBranchOnRemote: `Этой ветки не существует в удалённом репозитории. Сначала вам нужно его отправить в удалённый репозитории.`,
|
||||
Fetch: `Получить изменения`,
|
||||
NoAutomaticGitFetchTitle: `Нет автоматического получения изменении`,
|
||||
NoAutomaticGitFetchBody: `Lazygit не может использовать «git fetch» в приватном репозитории; используйте «f» на панели файлов, чтобы запустить «git fetch» вручную`,
|
||||
FileEnter: `Проиндексировать отдельные части/строки для файла или свернуть/развернуть для каталога`,
|
||||
FileStagingRequirements: `Можно проиндексировать только отдельные строки для отслеживаемых файлов`,
|
||||
StageSelectionTooltip: `Переключить строку в проиндексированные / непроиндексированные`,
|
||||
DiscardSelection: `Отменить изменение (git reset)`,
|
||||
ToggleRangeSelect: `Переключить выборку перетаскивания`,
|
||||
ToggleSelectHunk: `Переключить выборку частей`,
|
||||
ToggleSelectionForPatch: `Добавить/удалить строку(и) для патча`,
|
||||
EditHunk: `Изменить эту часть`,
|
||||
ToggleStagingView: `Переключиться на другую панель (проиндексированные/непроиндексированные изменения)`,
|
||||
ReturnToFilesPanel: `Вернуться к панели файлов`,
|
||||
FastForward: `Перемотать эту ветку вперёд из её upstream-ветки`,
|
||||
FastForwarding: "Получить изменения и перемотать вперёд",
|
||||
FoundConflictsTitle: "Конфликты!",
|
||||
ViewConflictsMenuItem: "Просмотр конфликтов",
|
||||
AbortMenuItem: "Прервать %s",
|
||||
ViewMergeRebaseOptions: "Просмотреть параметры слияния/перебазирования",
|
||||
NotMergingOrRebasing: "В данный момент вы не выполняете ни перебазирования, ни слияние",
|
||||
AlreadyRebasing: "Невозможно выполнить это действие во время перебазирования",
|
||||
RecentRepos: "Последние репозитории",
|
||||
MergeOptionsTitle: "Параметры слияния",
|
||||
RebaseOptionsTitle: "Параметры перебазирования",
|
||||
CommitSummaryTitle: "Сводка коммита",
|
||||
CommitDescriptionTitle: "Описание коммита",
|
||||
CommitDescriptionSubTitle: "Нажмите вкладку, чтобы переключить фокус",
|
||||
LocalBranchesTitle: "Локальные Ветки",
|
||||
SearchTitle: "Поиск",
|
||||
TagsTitle: "Теги",
|
||||
MenuTitle: "Меню",
|
||||
RemotesTitle: "Удалённые репозитории",
|
||||
RemoteBranchesTitle: "Удалённые ветки",
|
||||
PatchBuildingTitle: "Главная панель (сборка патчей)",
|
||||
InformationTitle: "Информация",
|
||||
SecondaryTitle: "Вторичный",
|
||||
ReflogCommitsTitle: "Журнал ссылок (Reflog)",
|
||||
GlobalTitle: "Глобальные сочетания клавиш",
|
||||
ConflictsResolved: "Все конфликты слияния разрешены. Продолжить?",
|
||||
Continue: "Продолжить",
|
||||
Keybindings: "Связки клавиш",
|
||||
RebasingTitle: "Перебазировать '{{.checkedOutBranch}}' на '{{.ref}}'",
|
||||
SimpleRebase: "Простая перебазировка",
|
||||
InteractiveRebase: "Интерактивная перебазировка",
|
||||
InteractiveRebaseTooltip: "Начать интерактивную перебазировку с перерыва в начале, чтобы можно было обновить TODO коммиты, прежде чем продолжить.",
|
||||
ConfirmMerge: "Вы уверены, что хотите to merge '{{.selectedBranch}}' into '{{.checkedOutBranch}}'?",
|
||||
FwdNoUpstream: "Невозможно перемотать ветку без upstream-ветки",
|
||||
FwdNoLocalUpstream: "Невозможно перемотать ветку. Удалённый репозитории не зарегистрирован локально",
|
||||
FwdCommitsToPush: "Невозможно перемотать ветку с коммитами для отправки",
|
||||
ErrorOccurred: "Произошла ошибка! Пожалуйста, заявите о проблеме на",
|
||||
NoRoom: "Недостаточно места",
|
||||
YouAreHere: "ВЫ ЗДЕСЬ",
|
||||
YouDied: "ТЫ УМЕР!",
|
||||
RewordNotSupported: "Переформулировка коммитов при интерактивном перебазировании в настоящее время не поддерживается",
|
||||
ChangingThisActionIsNotAllowed: "Изменение этого типа записи todo перебазирования не допускается",
|
||||
CherryPickCopy: "Скопировать отобранные коммит (cherry-pick)",
|
||||
PasteCommits: "Вставить отобранные коммиты (cherry-pick)",
|
||||
SureCherryPick: "Вы уверены, что хотите выборочно применить (cherry-picked) отобранные коммиты в эту ветку?",
|
||||
CherryPick: "Выборочная отборка (Cherry-Pick)",
|
||||
Donate: "Пожертвовать",
|
||||
AskQuestion: "Задать вопрос",
|
||||
PrevLine: "Выбрать предыдущую строку",
|
||||
NextLine: "Выбрать следующую строку",
|
||||
PrevHunk: "Выбрать предыдущую часть",
|
||||
NextHunk: "Выбрать следующую часть",
|
||||
PrevConflict: "Выбрать предыдущий конфликт",
|
||||
NextConflict: "Выбрать следующий конфликт",
|
||||
SelectPrevHunk: "Выбрать предыдущую часть",
|
||||
SelectNextHunk: "Выбрать следующую часть",
|
||||
ScrollDown: "Прокрутить вниз",
|
||||
ScrollUp: "Прокрутить вверх",
|
||||
ScrollUpMainWindow: "Прокрутить вверх главную панель",
|
||||
ScrollDownMainWindow: "Прокрутить вниз главную панель",
|
||||
AmendCommitTitle: "Править коммит (amend)",
|
||||
AmendCommitPrompt: "Вы уверены, что хотите править этот коммит проиндексированными файлами?",
|
||||
DropCommitTitle: "Удалить коммит",
|
||||
DropCommitPrompt: "Вы уверены, что хотите удалить этот коммит?",
|
||||
PullingStatus: "Получение и слияние изменении",
|
||||
PushingStatus: "Отправка изменении",
|
||||
FetchingStatus: "Получение изменении",
|
||||
SquashingStatus: "Объединение коммитов",
|
||||
FixingStatus: "Объединение коммитов, отбросив сообщение коммита",
|
||||
DeletingStatus: "Удаление",
|
||||
MovingStatus: "Перемещение",
|
||||
RebasingStatus: "Перебазирование",
|
||||
MergingStatus: "Слияние",
|
||||
LowercaseRebasingStatus: "перебазировка", // lowercase because it shows up in parentheses
|
||||
LowercaseMergingStatus: "слияние", // lowercase because it shows up in parentheses
|
||||
AmendingStatus: "Правка коммита",
|
||||
CherryPickingStatus: "Выборочная отборка (cherry-picking)",
|
||||
UndoingStatus: "Отмена последней команды",
|
||||
RedoingStatus: "Выполнение последней команды",
|
||||
CheckingOutStatus: "Переключение",
|
||||
CommittingStatus: "Сохранение изменении",
|
||||
CommitFiles: "Сохранить изменения файлов",
|
||||
SubCommitsDynamicTitle: "Коммиты (%s)",
|
||||
CommitFilesDynamicTitle: "Различия файлов (%s)",
|
||||
RemoteBranchesDynamicTitle: "Удалённые ветки (%s)",
|
||||
ViewItemFiles: "Просмотреть файлы выбранного элемента",
|
||||
CommitFilesTitle: "Сохранить Изменения Файлов",
|
||||
CheckoutCommitFileTooltip: "Переключить файл",
|
||||
CanOnlyDiscardFromLocalCommits: "Изменения можно отменить только из локальных коммитов.",
|
||||
DiscardOldFileChangeTooltip: "Отменить изменения коммита в этом файле",
|
||||
DiscardFileChangesTitle: "Отменить изменения файла",
|
||||
DiscardFileChangesPrompt: "Вы уверены, что хотите удалить изменения в выбранных файлах из этого коммита?\n\nЭто действие запустит перебазирование и отменит изменения в этих файлах. Обратите внимание, что если последующие коммиты зависят от этих изменений, вам, возможно, придется разрешить конфликты.\nПримечание: это также сбросит все активные пользовательские патчи.",
|
||||
DisabledForGPG: "Функция недоступна для пользователей, использующих GPG",
|
||||
CreateRepo: "Не в git репозитории. Создать новый git репозиторий? (y/n):",
|
||||
BareRepo: "Вы пытались открыть Lazygit в пустом репозитории, но Lazygit ещё не поддерживает пустые репозитории. Открыть последний репозиторий? (y/n)",
|
||||
InitialBranch: "Название ветки? (оставьте пустым для git по умолчанию):",
|
||||
NoRecentRepositories: "Необходимо открыть lazygit в git репозитории. Нет валидных последних репозиториев. Выход.",
|
||||
IncorrectNotARepository: "Неверное значение 'notARepository'. Это должно быть одним из 'prompt', 'create', 'skip', или 'quit'.",
|
||||
AutoStashTitle: "Автосохранить изменения?",
|
||||
AutoStashPrompt: "Чтобы перенести изменения, их нужно сохранить и вынуть. Сделать это автоматически? (enter/esc)",
|
||||
StashPrefix: "Автосохранение изменений для",
|
||||
Discard: "Просмотреть параметры «отмены изменении»",
|
||||
Cancel: "Отменить",
|
||||
DiscardAllChanges: "Отменить все изменения",
|
||||
DiscardUnstagedChanges: "Отменить непроиндексированные изменения",
|
||||
DiscardAllChangesToAllFiles: "Разбомбить рабочее дерево?",
|
||||
DiscardAnyUnstagedChanges: "Отменить непроиндексированные изменения",
|
||||
DiscardUntrackedFiles: "Удалить неотслеживаемые файлы",
|
||||
DiscardStagedChanges: "Отменить проиндексированные изменения",
|
||||
HardReset: "Жёсткий сброс",
|
||||
ViewResetOptions: `Просмотреть параметры сброса`,
|
||||
CreateFixupCommitTooltip: `Создать fixup коммит для этого коммита`,
|
||||
SquashAboveCommitsTooltip: `Объединить все 'fixup!' коммиты выше в выбранный коммит (автосохранение)`,
|
||||
CreateFixupCommit: `Создать fixup коммит`,
|
||||
ExecuteCustomCommand: "Выполнить пользовательскую команду",
|
||||
CustomCommand: "Пользовательская Команда:",
|
||||
CommitChangesWithoutHook: "Закоммитить изменения без предварительного хука коммита",
|
||||
SkipHookPrefixNotConfigured: "Вы не настроили префикс сообщения коммита для пропуска хуков. Установите `git.skipHookPrefix = 'WIP'` в вашей конфигурации",
|
||||
ResetTo: `Сбросить на`,
|
||||
PressEnterToReturn: "Нажмите Enter, чтобы вернуться в lazygit",
|
||||
ViewStashOptions: "Просмотреть параметры хранилища",
|
||||
StashAllChanges: "Припрятать все изменения",
|
||||
StashStagedChanges: "Припрятать проиндексированные изменения",
|
||||
StashAllChangesKeepIndex: "Припрятать все изменения и сохранить индекс",
|
||||
StashUnstagedChanges: "Припрятать непроиндексированные изменения",
|
||||
StashIncludeUntrackedChanges: "Припрятать все изменения, включая неотслеживаемые файлы",
|
||||
StashOptions: "Параметры хранилища",
|
||||
NotARepository: "Ошибка: необходимо запустить внутри git репозитория",
|
||||
Jump: "Перейти к панели",
|
||||
ScrollLeftRight: "Прокрутить влево/вправо",
|
||||
ScrollLeft: "Прокрутить влево",
|
||||
ScrollRight: "Прокрутить вправо",
|
||||
DiscardPatch: "Отменить патч",
|
||||
DiscardPatchConfirm: "Вы можете собрать патч только из одной записи коммита/хранилища за раз. Отменить текущий патч?",
|
||||
CantPatchWhileRebasingError: "Вы не можете создавать патчи или запускать команды патча, находясь в состоянии слияния или перемещения.",
|
||||
ToggleAddToPatch: "Переключить файлы включённые в патч",
|
||||
ToggleAllInPatch: "Переключить все файлы, включённые в патч",
|
||||
UpdatingPatch: "Обновление патча",
|
||||
ViewPatchOptions: "Просмотреть пользовательские параметры патча",
|
||||
PatchOptionsTitle: "Параметры патча",
|
||||
NoPatchError: "Патч ещё не создан. Чтобы начать сборку патча, используйте «пробел» в файле коммита или введите, чтобы добавить определённые строки.",
|
||||
EnterCommitFile: "Введите файл, чтобы добавить выбранные строки в патч (или свернуть каталог переключения)",
|
||||
ExitCustomPatchBuilder: `Выйти из сборщика пользовательских патчей`,
|
||||
EnterUpstream: `Введите upstream как '<remote> <branchname>'`,
|
||||
InvalidUpstream: "Недействительный upstream. Должен быть в формате '<remote> <branchname>'",
|
||||
ReturnToRemotesList: `Вернуться к списку удалённых репозитории`,
|
||||
NewRemote: `Добавить новую удалённую ветку`,
|
||||
NewRemoteName: `Название новой удалённой ветки`,
|
||||
NewRemoteUrl: `Ссылка новой удалённой ветки`,
|
||||
EditRemoteName: `Введите новое название для удалённое ветки {{.remoteName}}:`,
|
||||
EditRemoteUrl: `Введите новую ссылку для удалённое ветки {{.remoteName}}:`,
|
||||
RemoveRemote: `Удалить удалённую ветку`,
|
||||
RemoveRemotePrompt: "Вы уверены, что хотите удалить удалённую ветку?",
|
||||
DeleteRemoteBranch: "Удалить Удалённую Ветку",
|
||||
DeleteRemoteBranchMessage: "Вы уверены, что хотите удалить удалённую ветку",
|
||||
SetAsUpstreamTooltip: "Установить как upstream-ветку переключённую ветку",
|
||||
SetUpstream: "Установить upstream-ветку из выбранной ветки",
|
||||
UnsetUpstream: "Убрать upstream-ветку из выбранной ветки",
|
||||
SetUpstreamTitle: "Установить upstream-ветку",
|
||||
SetUpstreamMessage: "Вы уверены, что хотите установить upstream-ветвь '{{.checkedOut}}' на '{{.selected}}'",
|
||||
EditRemoteTooltip: "Редактировать удалённый репозитории",
|
||||
TagCommit: "Пометить коммит тегом",
|
||||
TagMenuTitle: "Создать тег",
|
||||
TagNameTitle: "Название тега",
|
||||
TagMessageTitle: "Сообщения тега",
|
||||
AnnotatedTag: "Аннотированный тег",
|
||||
LightweightTag: "Легковесный тег",
|
||||
DeleteTagTitle: "Удалить тег",
|
||||
PushTagTitle: "Удалённый репозитории для отправки тега '{{.tagName}}' в:",
|
||||
PushTag: "Отправить тег",
|
||||
NewTag: "Создать тег",
|
||||
FetchRemoteTooltip: "Получение изменения из удалённого репозитория",
|
||||
FetchingRemoteStatus: "Получение статуса удалённого репозитория",
|
||||
CheckoutCommit: "Переключить коммит",
|
||||
SureCheckoutThisCommit: "Вы уверены, что хотите переключить коммит?",
|
||||
GitFlowOptions: "Показать параметры git-flow",
|
||||
NotAGitFlowBranch: "Это не похоже на ветку git-flow",
|
||||
NewGitFlowBranchPrompt: "Новое {{.branchType}} название:",
|
||||
IgnoreTracked: "Игнорировать отслеживаемый файл",
|
||||
IgnoreTrackedPrompt: "Вы уверены, что хотите игнорировать отслеживаемый файл?",
|
||||
ExcludeTracked: "Исключить отслеживаемый файл",
|
||||
ExcludeTrackedPrompt: "Вы уверены, что хотите исключить отслеживаемый файл?",
|
||||
ViewResetToUpstreamOptions: "Просмотреть параметры сброса upstream-ветки",
|
||||
NextScreenMode: "Следующий режим экрана (нормальный/полуэкранный/полноэкранный)",
|
||||
PrevScreenMode: "Предыдущий режим экрана",
|
||||
StartSearch: "Найти",
|
||||
Panel: "Панель",
|
||||
KeybindingsLegend: "Связки клавиш",
|
||||
RenameBranch: "Переименовать ветку",
|
||||
NewBranchNamePrompt: "Введите новое название ветки",
|
||||
RenameBranchWarning: "Эта ветвь отслеживает удалённый репозитории. Это действие переименует только имя локальной ветки, а не имя удалённой ветки. Продолжать?",
|
||||
OpenKeybindingsMenu: "Открыть меню",
|
||||
ResetCherryPick: "Сбросить отобранную (скопированную | cherry-picked) выборку коммитов",
|
||||
NextTab: "Следующая вкладка",
|
||||
PrevTab: "Предыдущая вкладка",
|
||||
CantUndoWhileRebasing: "Невозможно отменить во время перебазирования",
|
||||
CantRedoWhileRebasing: "Невозможно повторить при перебазировании",
|
||||
MustStashWarning: "Вытаскивание исправления в индекс требует сохранения и распаковки ваших изменений. Если что-то пойдёт не так, можно получить доступ к файлам из хранилища. Продолжить?",
|
||||
MustStashTitle: "Необходимо припрятать",
|
||||
ConfirmationTitle: "Панель Подтверждения",
|
||||
PrevPage: "Предыдущая страница",
|
||||
NextPage: "Следующая страница",
|
||||
GotoTop: "Пролистать наверх",
|
||||
GotoBottom: "Прокрутить вниз",
|
||||
FilteringBy: "Фильтрация по",
|
||||
ResetInParentheses: "(сбросить)",
|
||||
OpenFilteringMenu: "Просмотреть параметры фильтрации по пути",
|
||||
FilterBy: "Фильтровать по",
|
||||
ExitFilterMode: "Прекратить фильтрацию по пути",
|
||||
FilterPathOption: "Введите путь для фильтрации",
|
||||
EnterFileName: "Введите путь:",
|
||||
FilteringMenuTitle: "Фильтрация",
|
||||
MustExitFilterModeTitle: "Команда недоступна",
|
||||
MustExitFilterModePrompt: "Команда недоступна в режиме фильтрации. Выйти из режима фильтрации?",
|
||||
Diff: "Разница",
|
||||
EnterRefToDiff: "Введите ссылку для сравнения",
|
||||
EnterRefName: "Введите ссылку:",
|
||||
ExitDiffMode: "Выйти из режима сравнения",
|
||||
DiffingMenuTitle: "Сравнение",
|
||||
SwapDiff: "Обратное направление сравнении",
|
||||
ViewDiffingOptions: "Открыть меню сравнении",
|
||||
// the actual view is the extras view which I intend to give more tabs in future but for now we'll only mention the command log part
|
||||
OpenCommandLogMenu: "Открыть меню журнала команд",
|
||||
ShowingGitDiff: "Показывает вывод для:",
|
||||
|
@ -67,389 +67,390 @@ const traditionalChineseDeprecatedEditConfigWarning = `
|
||||
// exporting this so we can use it in tests
|
||||
func traditionalChineseTranslationSet() TranslationSet {
|
||||
return TranslationSet{
|
||||
NotEnoughSpace: "無足夠空間顯示面板",
|
||||
DiffTitle: "差異",
|
||||
FilesTitle: "檔案",
|
||||
BranchesTitle: "分支",
|
||||
CommitsTitle: "提交",
|
||||
StashTitle: "收藏 (Stash)",
|
||||
SnakeTitle: "貪食蛇",
|
||||
EasterEgg: "彩蛋",
|
||||
UnstagedChanges: "未預存變更",
|
||||
StagedChanges: "已預存變更",
|
||||
MainTitle: "主要",
|
||||
MergeConfirmTitle: "合併",
|
||||
StagingTitle: "主面板(預存)",
|
||||
MergingTitle: "主面板(合併)",
|
||||
NormalTitle: "主面板(一般)",
|
||||
LogTitle: "版本記錄",
|
||||
CommitSummary: "提交摘要",
|
||||
CredentialsUsername: "使用者名稱",
|
||||
CredentialsPassword: "密碼",
|
||||
CredentialsPassphrase: "SSH 金鑰密語",
|
||||
CredentialsPIN: "SSH 金鑰 PIN 碼",
|
||||
PassUnameWrong: "密碼、密語或使用者名稱錯誤",
|
||||
Commit: "提交變更",
|
||||
AmendLastCommit: "修改上次提交",
|
||||
AmendLastCommitTitle: "修改上次提交",
|
||||
SureToAmend: "是否確定要修改上次提交?之後你可以從提交面板中再次更改此次提交的訊息。",
|
||||
NoCommitToAmend: "沒有可以修改的提交。",
|
||||
CommitChangesWithEditor: "使用 git 編輯器提交變更",
|
||||
StatusTitle: "狀態",
|
||||
Menu: "選單",
|
||||
Execute: "執行",
|
||||
Stage: "切換預存",
|
||||
ToggleStagedAll: "全部預存/取消預存",
|
||||
ToggleTreeView: "顯示檔案樹狀視圖",
|
||||
OpenMergeTool: "開啟外部合併工具 (git mergetool)",
|
||||
Refresh: "重新整理",
|
||||
Push: "推送",
|
||||
Pull: "拉取",
|
||||
Scroll: "捲動",
|
||||
MergeConflictsTitle: "合併衝突",
|
||||
Checkout: "檢出",
|
||||
FileFilter: "篩選檔案 (預存/未預存)",
|
||||
FilterStagedFiles: "僅顯示預存的檔案",
|
||||
FilterUnstagedFiles: "僅顯示未預存的檔案",
|
||||
ResetFilter: "重設篩選",
|
||||
NoChangedFiles: "沒有變更的檔案",
|
||||
SoftReset: "軟重設",
|
||||
AlreadyCheckedOutBranch: "你已經檢出這個分支了",
|
||||
SureForceCheckout: "是否強制檢出?這將會使你失去本地的所有更改",
|
||||
ForceCheckoutBranch: "強制檢出分支",
|
||||
BranchName: "分支名稱",
|
||||
NewBranchNameBranchOff: "新的分支名稱 (根據 '{{.branchName}}' 分支創建)",
|
||||
CantDeleteCheckOutBranch: "無法刪除已檢出的分支!",
|
||||
ForceDeleteBranchMessage: "'{{.selectedBranchName}}' 分支尚未完全合併。是否刪除?",
|
||||
RebaseBranch: "將已檢出的分支變基至此分支",
|
||||
CantRebaseOntoSelf: "無法將分支變基至自己",
|
||||
CantMergeBranchIntoItself: "無法將一個分支合併至自己",
|
||||
ForceCheckout: "強制檢出",
|
||||
CheckoutByName: "根據名稱檢出",
|
||||
NewBranch: "新分支",
|
||||
NoBranchesThisRepo: "這個版本庫中沒有分支",
|
||||
CommitWithoutMessageErr: "沒有提交訊息,無法提交",
|
||||
Close: "關閉",
|
||||
CloseCancel: "關閉/取消",
|
||||
Confirm: "確認",
|
||||
Quit: "結束",
|
||||
NoCommitsThisBranch: "這個分支沒有提交",
|
||||
UpdateRefHere: "在這裡更新 '{{.ref}}' 分支",
|
||||
CannotSquashOrFixupFirstCommit: "沒有可以壓縮的提交",
|
||||
Fixup: "修復 (Fixup)",
|
||||
SureFixupThisCommit: "是否對此提交進行 '修復' ? 其將被合併於以下之提交中",
|
||||
SureSquashThisCommit: "是否要把這個提交壓縮到下面的提交中?",
|
||||
Squash: "壓縮 (Squash)",
|
||||
PickCommitTooltip: "挑選提交 (於變基過程中)",
|
||||
RevertCommit: "還原提交",
|
||||
Reword: "改寫提交",
|
||||
DropCommit: "刪除提交",
|
||||
MoveDownCommit: "向下移動提交",
|
||||
MoveUpCommit: "向上移動提交",
|
||||
EditCommitTooltip: "編輯提交",
|
||||
AmendCommitTooltip: "使用已預存的更改修正提交",
|
||||
ResetAuthor: "重設作者",
|
||||
SetAuthor: "設定作者",
|
||||
AmendCommitAttribute: "設定/重設提交作者",
|
||||
SetAuthorPromptTitle: "設定作者(格式:「姓名 <電子郵件>」)",
|
||||
SureResetCommitAuthor: "為了符合已配置的使用者,此作者的提交欄位以及時間戳將被更新。是否繼續?",
|
||||
RewordCommitEditor: "使用編輯器改寫提交",
|
||||
Error: "錯誤",
|
||||
PickHunk: "挑選程式碼片段",
|
||||
PickAllHunks: "挑選所有程式碼片段",
|
||||
Undo: "復原",
|
||||
UndoReflog: "復原",
|
||||
RedoReflog: "取消復原",
|
||||
UndoTooltip: "將使用 reflog 確任 git 指令以復原。這不包括工作區更改;只考慮提交。",
|
||||
RedoTooltip: "將使用 reflog 確任 git 指令以重作。這不包括工作區更改;只考慮提交。",
|
||||
DiscardAllTooltip: "捨棄 '{{.path}}' 預存/未預存更改。",
|
||||
DiscardUnstagedTooltip: "捨棄 '{{.path}}' 未預存更改。",
|
||||
Pop: "還原",
|
||||
Drop: "捨棄",
|
||||
Apply: "套用",
|
||||
NoStashEntries: "沒有收藏記錄",
|
||||
StashDrop: "放棄收藏記錄",
|
||||
SureDropStashEntry: "是否捨棄這條收藏記錄?",
|
||||
StashPop: "還原收藏記錄",
|
||||
SurePopStashEntry: "是否從收藏中還原這個記錄?",
|
||||
StashApply: "套用收藏記錄",
|
||||
SureApplyStashEntry: "是否套用這個收藏記錄?",
|
||||
NoTrackedStagedFilesStash: "你沒有被追蹤的、預存的檔案可進行收藏",
|
||||
NoFilesToStash: "沒有檔案可以進行收藏",
|
||||
StashChanges: "安置現有變更到收藏中",
|
||||
RenameStash: "重新命名收藏",
|
||||
RenameStashPrompt: "重新命名收藏:{{.stashName}}",
|
||||
OpenConfig: "開啟設定檔案",
|
||||
EditConfig: "編輯設定檔案",
|
||||
ForcePush: "強制推送",
|
||||
ForcePushPrompt: "你的分支與遠端分支分岔。按 'ESC' 取消,或按 'Enter' 強制推送。",
|
||||
ForcePushDisabled: "你的分支與遠端分支分岔,你已禁用強制推送",
|
||||
CheckForUpdate: "檢查更新",
|
||||
CheckingForUpdates: "正在檢查更新...",
|
||||
UpdateAvailableTitle: "有可用的更新!",
|
||||
UpdateAvailable: "下載並安裝版本 {{.newVersion}}?",
|
||||
UpdateInProgressWaitingStatus: "更新中",
|
||||
UpdateCompletedTitle: "更新已完成!",
|
||||
UpdateCompleted: "更新已成功安裝。為了使其生效,請重新啟動 lazygit。",
|
||||
FailedToRetrieveLatestVersionErr: "無法取得版本資訊",
|
||||
OnLatestVersionErr: "已更新至最新版本",
|
||||
MajorVersionErr: "新版本({{.newVersion}})不支援當前版本({{.currentVersion}})更改",
|
||||
CouldNotFindBinaryErr: "找不到 {{.url}} 執行檔",
|
||||
UpdateFailedErr: "更新失敗:{{.errMessage}}",
|
||||
ConfirmQuitDuringUpdateTitle: "正在更新中",
|
||||
ConfirmQuitDuringUpdate: "正在進行更新,是否結束?",
|
||||
MergeToolTitle: "合併工具",
|
||||
MergeToolPrompt: "是否開啟 'git mergetool'?",
|
||||
IntroPopupMessage: traditionalChineseIntroPopupMessage,
|
||||
DeprecatedEditConfigWarning: traditionalChineseDeprecatedEditConfigWarning,
|
||||
GitconfigParseErr: `Gogit 無法解析你的 gitconfig 檔案,因為存在未引用的 '\' 字符,刪除它們應該可以解決這個問題。`,
|
||||
EditFile: `編輯檔案`,
|
||||
OpenFile: `開啟檔案`,
|
||||
IgnoreFile: `添加到 .gitignore`,
|
||||
ExcludeFile: `添加到 .git/info/exclude`,
|
||||
RefreshFiles: `重新整理檔案`,
|
||||
Merge: `合併到當前檢出的分支`,
|
||||
ConfirmQuit: `是否結束?`,
|
||||
SwitchRepo: `切換到最近使用的版本庫`,
|
||||
AllBranchesLogGraph: `顯示所有分支日誌`,
|
||||
UnsupportedGitService: `不支援的 git 服務`,
|
||||
CreatePullRequest: `建立拉取請求`,
|
||||
CopyPullRequestURL: `複製拉取請求的 URL 到剪貼板`,
|
||||
NoBranchOnRemote: `這個分支在遠端不存在。需要先將其推送至遠端。`,
|
||||
Fetch: `擷取`,
|
||||
NoAutomaticGitFetchTitle: `手動 git 擷取`,
|
||||
NoAutomaticGitFetchBody: `lazygit 無法在私有庫使用 "git 擷取";在檔案面板中使用 'f' 手動執行 "git 擷取"`,
|
||||
FileEnter: `選擇檔案中的單個程式碼塊/行,或展開/折疊目錄`,
|
||||
FileStagingRequirements: `只能選擇跟踪檔案中的單個行`,
|
||||
StageSelectionTooltip: `切換現有行的狀態 (已預存/未預存)`,
|
||||
DiscardSelection: `刪除變更 (git reset)`,
|
||||
ToggleRangeSelect: `切換拖曳選擇`,
|
||||
ToggleSelectHunk: `切換選擇程式碼塊`,
|
||||
ToggleSelectionForPatch: `向 (或從) 補丁中添加/刪除行`,
|
||||
EditHunk: `編輯程式碼塊`,
|
||||
ToggleStagingView: `切換至另一個面板 (已預存/未預存更改)`,
|
||||
ReturnToFilesPanel: `返回檔案面板`,
|
||||
FastForward: `從上游快進此分支`,
|
||||
FastForwarding: "的擷取和快進中",
|
||||
FoundConflictsTitle: "自動合併失敗",
|
||||
ViewMergeRebaseOptions: "查看合併/變基選項",
|
||||
NotMergingOrRebasing: "你當前既不在變基也不在合併中",
|
||||
AlreadyRebasing: "無法在變基期間執行此操作",
|
||||
RecentRepos: "最近的版本庫",
|
||||
MergeOptionsTitle: "合併選項",
|
||||
RebaseOptionsTitle: "變基選項",
|
||||
CommitSummaryTitle: "提交摘要",
|
||||
CommitDescriptionTitle: "提交描述",
|
||||
CommitDescriptionSubTitle: "按 tab 鍵聚焦",
|
||||
LocalBranchesTitle: "本地分支",
|
||||
SearchTitle: "搜尋",
|
||||
TagsTitle: "標籤",
|
||||
MenuTitle: "功能表",
|
||||
RemotesTitle: "遠端",
|
||||
RemoteBranchesTitle: "遠端分支",
|
||||
PatchBuildingTitle: "主面板 (補丁生成)",
|
||||
InformationTitle: "資訊",
|
||||
SecondaryTitle: "次要",
|
||||
ReflogCommitsTitle: "日誌",
|
||||
GlobalTitle: "全域快捷鍵",
|
||||
ConflictsResolved: "所有合併衝突都已解決。是否繼續?",
|
||||
Continue: "確認",
|
||||
Keybindings: "鍵盤快捷鍵",
|
||||
RebasingTitle: "將 '{{.checkedOutBranch}}' 變基至 '{{.ref}}'",
|
||||
SimpleRebase: "簡單變基",
|
||||
InteractiveRebase: "互動變基",
|
||||
InteractiveRebaseTooltip: "開始一個互動變基,以中斷開始,這樣你可以在繼續之前更新TODO提交",
|
||||
ConfirmMerge: "是否將 '{{.selectedBranch}}' 合併至 '{{.checkedOutBranch}}' ?",
|
||||
FwdNoUpstream: "無法快進無上游分支",
|
||||
FwdNoLocalUpstream: "無法快進尚未在本地註冊的遠端分支",
|
||||
FwdCommitsToPush: "無法快進帶有尚未推送的提交的分支",
|
||||
ErrorOccurred: "發生錯誤!請在此詢問錯誤:",
|
||||
NoRoom: "無足夠的空間",
|
||||
YouAreHere: "你在這",
|
||||
YouDied: "你死了!",
|
||||
RewordNotSupported: "在互動變基期間改寫提交目前不支援",
|
||||
ChangingThisActionIsNotAllowed: "不允許更改此類變基待辦事項",
|
||||
CherryPickCopy: "複製提交 (揀選)",
|
||||
PasteCommits: "貼上提交 (揀選)",
|
||||
SureCherryPick: "是否將複製的提交揀選到此分支?",
|
||||
CherryPick: "揀選 (Cherry-pick)",
|
||||
Donate: "贊助",
|
||||
AskQuestion: "諮詢",
|
||||
PrevLine: "選擇上一行",
|
||||
NextLine: "選擇下一行",
|
||||
PrevHunk: "選擇上一段",
|
||||
NextHunk: "選擇下一段",
|
||||
PrevConflict: "選擇上一個衝突",
|
||||
NextConflict: "選擇下一個衝突",
|
||||
SelectPrevHunk: "選擇上一段",
|
||||
SelectNextHunk: "選擇下一段",
|
||||
ScrollDown: "向下捲動",
|
||||
ScrollUp: "向上捲動",
|
||||
ScrollUpMainWindow: "向上捲動主面板",
|
||||
ScrollDownMainWindow: "向下捲動主面板",
|
||||
AmendCommitTitle: "修改提交",
|
||||
AmendCommitPrompt: "是否使用預存檔案修改提交?",
|
||||
DropCommitTitle: "刪除提交",
|
||||
DropCommitPrompt: "是否刪除此提交?",
|
||||
PullingStatus: "拉取",
|
||||
PushingStatus: "推送",
|
||||
FetchingStatus: "擷取",
|
||||
SquashingStatus: "壓縮中",
|
||||
FixingStatus: "修復中",
|
||||
DeletingStatus: "刪除中",
|
||||
MovingStatus: "移動中",
|
||||
RebasingStatus: "變基中",
|
||||
MergingStatus: "合併中",
|
||||
LowercaseRebasingStatus: "變基", // lowercase because it shows up in parentheses
|
||||
LowercaseMergingStatus: "合併", // lowercase because it shows up in parentheses
|
||||
AmendingStatus: "修改中",
|
||||
CherryPickingStatus: "揀選中",
|
||||
UndoingStatus: "復原中",
|
||||
RedoingStatus: "重做中",
|
||||
CheckingOutStatus: "檢出中",
|
||||
CommittingStatus: "提交中",
|
||||
RevertingStatus: "還原中",
|
||||
CommitFiles: "提交檔案",
|
||||
SubCommitsDynamicTitle: "提交 (共 %s項)",
|
||||
CommitFilesDynamicTitle: "差異檔案 (共 %s項)",
|
||||
RemoteBranchesDynamicTitle: "遠端分支 (共 %s項)",
|
||||
ViewItemFiles: "檢視所選項目的檔案",
|
||||
CommitFilesTitle: "提交檔案",
|
||||
CheckoutCommitFileTooltip: "檢出檔案",
|
||||
DiscardFileChangesTitle: "捨棄檔案更改",
|
||||
DiscardFileChangesPrompt: "是否捨棄此提交?如果這個檔案是在此提交中創建的,它將被刪除",
|
||||
DisabledForGPG: "此功能不適用於 GPG 加密",
|
||||
CreateRepo: "未在 git 版本庫中。是否建立新版本庫? (y/n): ",
|
||||
BareRepo: "你嘗試在裸版本庫中開啟 Lazygit,但 Lazygit 尚未支援裸版本庫。是否開啟最新版本庫? (y/n) ",
|
||||
InitialBranch: "分支名稱?(留空使用 git 的預設值):",
|
||||
NoRecentRepositories: "必須在 git 版本庫中開啟 lazygit。沒有有效的最近版本庫。退出。",
|
||||
IncorrectNotARepository: "無效 `notARepository` 輸入。輸入應為「prompt」、「create」、「skip」、或「quit」。",
|
||||
AutoStashTitle: "是否自動收藏?",
|
||||
AutoStashPrompt: "必須收藏並拾起變更才得以繼續操作。是否自動執行?(Enter/Esc)",
|
||||
StashPrefix: "自動收藏 ",
|
||||
Cancel: "取消",
|
||||
DiscardAllChanges: "刪除所有變更",
|
||||
DiscardUnstagedChanges: "刪除未預存變更",
|
||||
DiscardAllChangesToAllFiles: "刪除工作目錄",
|
||||
DiscardAnyUnstagedChanges: "刪除未預存變更",
|
||||
DiscardUntrackedFiles: "刪除未追蹤檔案",
|
||||
DiscardStagedChanges: "刪除已預存變更",
|
||||
HardReset: "強制重設",
|
||||
ViewResetOptions: "檢視重設選項",
|
||||
CreateFixupCommitTooltip: "為此提交建立修復提交",
|
||||
SquashAboveCommits: "壓縮上方所有「fixup」提交(自動壓縮)",
|
||||
SquashAboveCommitsTooltip: "是否壓縮上方 {{.commit}} 所有「fixup」提交?",
|
||||
CreateFixupCommit: "建立修復提交",
|
||||
ExecuteCustomCommand: "執行自訂命令",
|
||||
CustomCommand: "自訂命令:",
|
||||
CommitChangesWithoutHook: "沒有預提交 hook 就提交更改",
|
||||
SkipHookPrefixNotConfigured: "你尚未配置略過 hook 的提交訊息前綴,請在設定中設置 `git.skipHookPrefix = 'WIP'`",
|
||||
ResetTo: `重設至`,
|
||||
PressEnterToReturn: "按 Enter 返回到 lazygit",
|
||||
ViewStashOptions: "檢視收藏選項",
|
||||
StashAllChanges: "收藏所有變更",
|
||||
StashStagedChanges: "收藏已預存變更",
|
||||
StashAllChangesKeepIndex: "收藏所有變更並保留預存區",
|
||||
StashUnstagedChanges: "收藏未預存變更",
|
||||
StashIncludeUntrackedChanges: "收藏所有變更,包括未追蹤檔案",
|
||||
StashOptions: "收藏選項",
|
||||
NotARepository: "錯誤:必須在 git 版本庫中執行",
|
||||
Jump: "跳轉至面板",
|
||||
ScrollLeftRight: "左右捲動",
|
||||
ScrollLeft: "向左捲動",
|
||||
ScrollRight: "向右捲動",
|
||||
DiscardPatch: "捨棄補丁",
|
||||
DiscardPatchConfirm: "你只能從單一提交或收藏項目建立一個補丁。是否捨棄當前補丁?",
|
||||
CantPatchWhileRebasingError: "在合併或變基狀態下,你不能建立或運行補丁命令",
|
||||
ToggleAddToPatch: "切換檔案是否包含在補丁中",
|
||||
ToggleAllInPatch: "切換所有檔案是否包含在補丁中",
|
||||
UpdatingPatch: "正在更新補丁",
|
||||
ViewPatchOptions: "檢視自訂補丁選項",
|
||||
PatchOptionsTitle: "補丁選項",
|
||||
NoPatchError: "尚未建立補丁。要開始建立補丁,請在提交檔案上使用空格或輸入以添加特定行",
|
||||
EnterCommitFile: "輸入檔案以將選定的行添加至補丁(或切換目錄折疊)",
|
||||
ExitCustomPatchBuilder: `退出自訂補丁建立器`,
|
||||
EnterUpstream: `輸入上游為 '<remote> <branchname>'`,
|
||||
InvalidUpstream: "無效的上游。必須符合 '<remote> <branchname>' 的格式",
|
||||
ReturnToRemotesList: `返回遠端列表`,
|
||||
NewRemote: `新增遠端`,
|
||||
NewRemoteName: `新遠端名稱:`,
|
||||
NewRemoteUrl: `新遠端 URL:`,
|
||||
EditRemoteName: `輸入更新 {{.remoteName}} 遠端名稱:`,
|
||||
EditRemoteUrl: `輸入更新 {{.remoteName}} 遠端 URL:`,
|
||||
RemoveRemote: `移除遠端`,
|
||||
RemoveRemotePrompt: "你確定要移除遠端?",
|
||||
DeleteRemoteBranch: "刪除遠端分支",
|
||||
DeleteRemoteBranchMessage: "你確定要刪除遠端分支?",
|
||||
SetAsUpstreamTooltip: "將此分支設為當前分支之上游",
|
||||
SetUpstream: "設定所選分支之上游",
|
||||
UnsetUpstream: "取消設定選定分支之上游",
|
||||
SetUpstreamTitle: "設定上游分支",
|
||||
SetUpstreamMessage: "你確定要將 '{{. selected}}' 設為 '{{.checkedOut}}' 的上游分支?",
|
||||
EditRemoteTooltip: "編輯遠端",
|
||||
TagCommit: "打標籤到提交",
|
||||
TagMenuTitle: "建立標籤",
|
||||
TagNameTitle: "標籤名稱",
|
||||
TagMessageTitle: "標籤訊息",
|
||||
AnnotatedTag: "附註標籤",
|
||||
LightweightTag: "輕量標籤",
|
||||
PushTagTitle: "推送標籤 '{{.tagName}}' 至遠端:",
|
||||
PushTag: "推送標籤",
|
||||
NewTag: "建立標籤",
|
||||
FetchRemoteTooltip: "擷取遠端",
|
||||
FetchingRemoteStatus: "正在擷取遠端",
|
||||
CheckoutCommit: "檢出提交",
|
||||
SureCheckoutThisCommit: "你確定要檢出這個提交?",
|
||||
GitFlowOptions: "顯示 git-flow 選項",
|
||||
NotAGitFlowBranch: "這似乎不是一個 git flow 分支",
|
||||
NewGitFlowBranchPrompt: "{{.branchType}} 名稱:",
|
||||
IgnoreTracked: "忽略已追蹤檔案",
|
||||
IgnoreTrackedPrompt: "你確定要忽略一個已追蹤的檔案?",
|
||||
ExcludeTracked: "排除已追蹤檔案",
|
||||
ViewResetToUpstreamOptions: "檢視上游重設選項",
|
||||
NextScreenMode: "下一個螢幕模式(常規/半螢幕/全螢幕)",
|
||||
PrevScreenMode: "上一個螢幕模式",
|
||||
StartSearch: "搜尋",
|
||||
StartFilter: "搜尋",
|
||||
Panel: "面板",
|
||||
KeybindingsLegend: "說明:`<c-b>` 表示 Ctrl+B、`<a-b>` 表示 Alt+B,`B`表示 Shift+B",
|
||||
RenameBranch: "重新命名分支",
|
||||
BranchUpstreamOptionsTitle: "上游分支設定",
|
||||
ViewBranchUpstreamOptionsTooltip: "檢視有關上游分支的設定(例如重設至上游)",
|
||||
UpstreamNotSetError: "目標分支沒有上游分支(或其上游分支未儲存於本地)",
|
||||
ViewBranchUpstreamOptions: "檢視上游設定",
|
||||
NewBranchNamePrompt: "為分支輸入新名稱",
|
||||
RenameBranchWarning: "此分支正在追蹤遠端分支。此操作僅會重新命名本地分支名稱,而不是遠端分支的名稱。是否繼續?",
|
||||
OpenKeybindingsMenu: "開啟選單",
|
||||
ResetCherryPick: "重設選定的揀選 (複製) 提交",
|
||||
NextTab: "下一個索引標籤",
|
||||
PrevTab: "上一個索引標籤",
|
||||
CantUndoWhileRebasing: "在變基時無法復原",
|
||||
CantRedoWhileRebasing: "在變基時無法取消復原",
|
||||
MustStashWarning: "將補丁提取到索引中需要收藏並取消收藏你的變更。如果出現問題,你可以從收藏中訪問你的檔案。是否繼續?",
|
||||
MustStashTitle: "必須收藏",
|
||||
ConfirmationTitle: "確認面板",
|
||||
PrevPage: "上一頁",
|
||||
NextPage: "下一頁",
|
||||
GotoTop: "捲動到頂部",
|
||||
GotoBottom: "捲動到底部",
|
||||
FilteringBy: "篩選方式",
|
||||
ResetInParentheses: "(已重設)",
|
||||
OpenFilteringMenu: "檢視篩選路徑選項",
|
||||
FilterBy: "篩選路徑",
|
||||
ExitFilterMode: "停止按路徑篩選",
|
||||
FilterPathOption: "輸入要依路徑篩選的路徑",
|
||||
EnterFileName: "輸入路徑:",
|
||||
FilteringMenuTitle: "篩選",
|
||||
MustExitFilterModeTitle: "命令不可用",
|
||||
MustExitFilterModePrompt: "在按路徑篩選的模式下,該命令不可用。是否退出按路徑篩選的模式?",
|
||||
Diff: "差異",
|
||||
EnterRefToDiff: "輸入欲比較之 Ref",
|
||||
EnterRefName: "輸入 Ref:",
|
||||
ExitDiffMode: "退出差異模式",
|
||||
DiffingMenuTitle: "差異比較",
|
||||
SwapDiff: "反轉差異方向",
|
||||
ViewDiffingOptions: "開啟差異比較選單",
|
||||
NotEnoughSpace: "無足夠空間顯示面板",
|
||||
DiffTitle: "差異",
|
||||
FilesTitle: "檔案",
|
||||
BranchesTitle: "分支",
|
||||
CommitsTitle: "提交",
|
||||
StashTitle: "收藏 (Stash)",
|
||||
SnakeTitle: "貪食蛇",
|
||||
EasterEgg: "彩蛋",
|
||||
UnstagedChanges: "未預存變更",
|
||||
StagedChanges: "已預存變更",
|
||||
MainTitle: "主要",
|
||||
MergeConfirmTitle: "合併",
|
||||
StagingTitle: "主面板(預存)",
|
||||
MergingTitle: "主面板(合併)",
|
||||
NormalTitle: "主面板(一般)",
|
||||
LogTitle: "版本記錄",
|
||||
CommitSummary: "提交摘要",
|
||||
CredentialsUsername: "使用者名稱",
|
||||
CredentialsPassword: "密碼",
|
||||
CredentialsPassphrase: "SSH 金鑰密語",
|
||||
CredentialsPIN: "SSH 金鑰 PIN 碼",
|
||||
PassUnameWrong: "密碼、密語或使用者名稱錯誤",
|
||||
Commit: "提交變更",
|
||||
AmendLastCommit: "修改上次提交",
|
||||
AmendLastCommitTitle: "修改上次提交",
|
||||
SureToAmend: "是否確定要修改上次提交?之後你可以從提交面板中再次更改此次提交的訊息。",
|
||||
NoCommitToAmend: "沒有可以修改的提交。",
|
||||
CommitChangesWithEditor: "使用 git 編輯器提交變更",
|
||||
StatusTitle: "狀態",
|
||||
Menu: "選單",
|
||||
Execute: "執行",
|
||||
Stage: "切換預存",
|
||||
ToggleStagedAll: "全部預存/取消預存",
|
||||
ToggleTreeView: "顯示檔案樹狀視圖",
|
||||
OpenMergeTool: "開啟外部合併工具 (git mergetool)",
|
||||
Refresh: "重新整理",
|
||||
Push: "推送",
|
||||
Pull: "拉取",
|
||||
Scroll: "捲動",
|
||||
MergeConflictsTitle: "合併衝突",
|
||||
Checkout: "檢出",
|
||||
FileFilter: "篩選檔案 (預存/未預存)",
|
||||
FilterStagedFiles: "僅顯示預存的檔案",
|
||||
FilterUnstagedFiles: "僅顯示未預存的檔案",
|
||||
ResetFilter: "重設篩選",
|
||||
NoChangedFiles: "沒有變更的檔案",
|
||||
SoftReset: "軟重設",
|
||||
AlreadyCheckedOutBranch: "你已經檢出這個分支了",
|
||||
SureForceCheckout: "是否強制檢出?這將會使你失去本地的所有更改",
|
||||
ForceCheckoutBranch: "強制檢出分支",
|
||||
BranchName: "分支名稱",
|
||||
NewBranchNameBranchOff: "新的分支名稱 (根據 '{{.branchName}}' 分支創建)",
|
||||
CantDeleteCheckOutBranch: "無法刪除已檢出的分支!",
|
||||
ForceDeleteBranchMessage: "'{{.selectedBranchName}}' 分支尚未完全合併。是否刪除?",
|
||||
RebaseBranch: "將已檢出的分支變基至此分支",
|
||||
CantRebaseOntoSelf: "無法將分支變基至自己",
|
||||
CantMergeBranchIntoItself: "無法將一個分支合併至自己",
|
||||
ForceCheckout: "強制檢出",
|
||||
CheckoutByName: "根據名稱檢出",
|
||||
NewBranch: "新分支",
|
||||
NoBranchesThisRepo: "這個版本庫中沒有分支",
|
||||
CommitWithoutMessageErr: "沒有提交訊息,無法提交",
|
||||
Close: "關閉",
|
||||
CloseCancel: "關閉/取消",
|
||||
Confirm: "確認",
|
||||
Quit: "結束",
|
||||
NoCommitsThisBranch: "這個分支沒有提交",
|
||||
UpdateRefHere: "在這裡更新 '{{.ref}}' 分支",
|
||||
CannotSquashOrFixupFirstCommit: "沒有可以壓縮的提交",
|
||||
Fixup: "修復 (Fixup)",
|
||||
SureFixupThisCommit: "是否對此提交進行 '修復' ? 其將被合併於以下之提交中",
|
||||
SureSquashThisCommit: "是否要把這個提交壓縮到下面的提交中?",
|
||||
Squash: "壓縮 (Squash)",
|
||||
PickCommitTooltip: "挑選提交 (於變基過程中)",
|
||||
RevertCommit: "還原提交",
|
||||
Reword: "改寫提交",
|
||||
DropCommit: "刪除提交",
|
||||
MoveDownCommit: "向下移動提交",
|
||||
MoveUpCommit: "向上移動提交",
|
||||
EditCommitTooltip: "編輯提交",
|
||||
AmendCommitTooltip: "使用已預存的更改修正提交",
|
||||
ResetAuthor: "重設作者",
|
||||
SetAuthor: "設定作者",
|
||||
AmendCommitAttribute: "設定/重設提交作者",
|
||||
SetAuthorPromptTitle: "設定作者(格式:「姓名 <電子郵件>」)",
|
||||
SureResetCommitAuthor: "為了符合已配置的使用者,此作者的提交欄位以及時間戳將被更新。是否繼續?",
|
||||
RewordCommitEditor: "使用編輯器改寫提交",
|
||||
Error: "錯誤",
|
||||
PickHunk: "挑選程式碼片段",
|
||||
PickAllHunks: "挑選所有程式碼片段",
|
||||
Undo: "復原",
|
||||
UndoReflog: "復原",
|
||||
RedoReflog: "取消復原",
|
||||
UndoTooltip: "將使用 reflog 確任 git 指令以復原。這不包括工作區更改;只考慮提交。",
|
||||
RedoTooltip: "將使用 reflog 確任 git 指令以重作。這不包括工作區更改;只考慮提交。",
|
||||
DiscardAllTooltip: "捨棄 '{{.path}}' 預存/未預存更改。",
|
||||
DiscardUnstagedTooltip: "捨棄 '{{.path}}' 未預存更改。",
|
||||
Pop: "還原",
|
||||
Drop: "捨棄",
|
||||
Apply: "套用",
|
||||
NoStashEntries: "沒有收藏記錄",
|
||||
StashDrop: "放棄收藏記錄",
|
||||
SureDropStashEntry: "是否捨棄這條收藏記錄?",
|
||||
StashPop: "還原收藏記錄",
|
||||
SurePopStashEntry: "是否從收藏中還原這個記錄?",
|
||||
StashApply: "套用收藏記錄",
|
||||
SureApplyStashEntry: "是否套用這個收藏記錄?",
|
||||
NoTrackedStagedFilesStash: "你沒有被追蹤的、預存的檔案可進行收藏",
|
||||
NoFilesToStash: "沒有檔案可以進行收藏",
|
||||
StashChanges: "安置現有變更到收藏中",
|
||||
RenameStash: "重新命名收藏",
|
||||
RenameStashPrompt: "重新命名收藏:{{.stashName}}",
|
||||
OpenConfig: "開啟設定檔案",
|
||||
EditConfig: "編輯設定檔案",
|
||||
ForcePush: "強制推送",
|
||||
ForcePushPrompt: "你的分支與遠端分支分岔。按 'ESC' 取消,或按 'Enter' 強制推送。",
|
||||
ForcePushDisabled: "你的分支與遠端分支分岔,你已禁用強制推送",
|
||||
UpdatesRejectedAndForcePushDisabled: "更新被拒絕,你已禁用強制推送",
|
||||
CheckForUpdate: "檢查更新",
|
||||
CheckingForUpdates: "正在檢查更新...",
|
||||
UpdateAvailableTitle: "有可用的更新!",
|
||||
UpdateAvailable: "下載並安裝版本 {{.newVersion}}?",
|
||||
UpdateInProgressWaitingStatus: "更新中",
|
||||
UpdateCompletedTitle: "更新已完成!",
|
||||
UpdateCompleted: "更新已成功安裝。為了使其生效,請重新啟動 lazygit。",
|
||||
FailedToRetrieveLatestVersionErr: "無法取得版本資訊",
|
||||
OnLatestVersionErr: "已更新至最新版本",
|
||||
MajorVersionErr: "新版本({{.newVersion}})不支援當前版本({{.currentVersion}})更改",
|
||||
CouldNotFindBinaryErr: "找不到 {{.url}} 執行檔",
|
||||
UpdateFailedErr: "更新失敗:{{.errMessage}}",
|
||||
ConfirmQuitDuringUpdateTitle: "正在更新中",
|
||||
ConfirmQuitDuringUpdate: "正在進行更新,是否結束?",
|
||||
MergeToolTitle: "合併工具",
|
||||
MergeToolPrompt: "是否開啟 'git mergetool'?",
|
||||
IntroPopupMessage: traditionalChineseIntroPopupMessage,
|
||||
DeprecatedEditConfigWarning: traditionalChineseDeprecatedEditConfigWarning,
|
||||
GitconfigParseErr: `Gogit 無法解析你的 gitconfig 檔案,因為存在未引用的 '\' 字符,刪除它們應該可以解決這個問題。`,
|
||||
EditFile: `編輯檔案`,
|
||||
OpenFile: `開啟檔案`,
|
||||
IgnoreFile: `添加到 .gitignore`,
|
||||
ExcludeFile: `添加到 .git/info/exclude`,
|
||||
RefreshFiles: `重新整理檔案`,
|
||||
Merge: `合併到當前檢出的分支`,
|
||||
ConfirmQuit: `是否結束?`,
|
||||
SwitchRepo: `切換到最近使用的版本庫`,
|
||||
AllBranchesLogGraph: `顯示所有分支日誌`,
|
||||
UnsupportedGitService: `不支援的 git 服務`,
|
||||
CreatePullRequest: `建立拉取請求`,
|
||||
CopyPullRequestURL: `複製拉取請求的 URL 到剪貼板`,
|
||||
NoBranchOnRemote: `這個分支在遠端不存在。需要先將其推送至遠端。`,
|
||||
Fetch: `擷取`,
|
||||
NoAutomaticGitFetchTitle: `手動 git 擷取`,
|
||||
NoAutomaticGitFetchBody: `lazygit 無法在私有庫使用 "git 擷取";在檔案面板中使用 'f' 手動執行 "git 擷取"`,
|
||||
FileEnter: `選擇檔案中的單個程式碼塊/行,或展開/折疊目錄`,
|
||||
FileStagingRequirements: `只能選擇跟踪檔案中的單個行`,
|
||||
StageSelectionTooltip: `切換現有行的狀態 (已預存/未預存)`,
|
||||
DiscardSelection: `刪除變更 (git reset)`,
|
||||
ToggleRangeSelect: `切換拖曳選擇`,
|
||||
ToggleSelectHunk: `切換選擇程式碼塊`,
|
||||
ToggleSelectionForPatch: `向 (或從) 補丁中添加/刪除行`,
|
||||
EditHunk: `編輯程式碼塊`,
|
||||
ToggleStagingView: `切換至另一個面板 (已預存/未預存更改)`,
|
||||
ReturnToFilesPanel: `返回檔案面板`,
|
||||
FastForward: `從上游快進此分支`,
|
||||
FastForwarding: "的擷取和快進中",
|
||||
FoundConflictsTitle: "自動合併失敗",
|
||||
ViewMergeRebaseOptions: "查看合併/變基選項",
|
||||
NotMergingOrRebasing: "你當前既不在變基也不在合併中",
|
||||
AlreadyRebasing: "無法在變基期間執行此操作",
|
||||
RecentRepos: "最近的版本庫",
|
||||
MergeOptionsTitle: "合併選項",
|
||||
RebaseOptionsTitle: "變基選項",
|
||||
CommitSummaryTitle: "提交摘要",
|
||||
CommitDescriptionTitle: "提交描述",
|
||||
CommitDescriptionSubTitle: "按 tab 鍵聚焦",
|
||||
LocalBranchesTitle: "本地分支",
|
||||
SearchTitle: "搜尋",
|
||||
TagsTitle: "標籤",
|
||||
MenuTitle: "功能表",
|
||||
RemotesTitle: "遠端",
|
||||
RemoteBranchesTitle: "遠端分支",
|
||||
PatchBuildingTitle: "主面板 (補丁生成)",
|
||||
InformationTitle: "資訊",
|
||||
SecondaryTitle: "次要",
|
||||
ReflogCommitsTitle: "日誌",
|
||||
GlobalTitle: "全域快捷鍵",
|
||||
ConflictsResolved: "所有合併衝突都已解決。是否繼續?",
|
||||
Continue: "確認",
|
||||
Keybindings: "鍵盤快捷鍵",
|
||||
RebasingTitle: "將 '{{.checkedOutBranch}}' 變基至 '{{.ref}}'",
|
||||
SimpleRebase: "簡單變基",
|
||||
InteractiveRebase: "互動變基",
|
||||
InteractiveRebaseTooltip: "開始一個互動變基,以中斷開始,這樣你可以在繼續之前更新TODO提交",
|
||||
ConfirmMerge: "是否將 '{{.selectedBranch}}' 合併至 '{{.checkedOutBranch}}' ?",
|
||||
FwdNoUpstream: "無法快進無上游分支",
|
||||
FwdNoLocalUpstream: "無法快進尚未在本地註冊的遠端分支",
|
||||
FwdCommitsToPush: "無法快進帶有尚未推送的提交的分支",
|
||||
ErrorOccurred: "發生錯誤!請在此詢問錯誤:",
|
||||
NoRoom: "無足夠的空間",
|
||||
YouAreHere: "你在這",
|
||||
YouDied: "你死了!",
|
||||
RewordNotSupported: "在互動變基期間改寫提交目前不支援",
|
||||
ChangingThisActionIsNotAllowed: "不允許更改此類變基待辦事項",
|
||||
CherryPickCopy: "複製提交 (揀選)",
|
||||
PasteCommits: "貼上提交 (揀選)",
|
||||
SureCherryPick: "是否將複製的提交揀選到此分支?",
|
||||
CherryPick: "揀選 (Cherry-pick)",
|
||||
Donate: "贊助",
|
||||
AskQuestion: "諮詢",
|
||||
PrevLine: "選擇上一行",
|
||||
NextLine: "選擇下一行",
|
||||
PrevHunk: "選擇上一段",
|
||||
NextHunk: "選擇下一段",
|
||||
PrevConflict: "選擇上一個衝突",
|
||||
NextConflict: "選擇下一個衝突",
|
||||
SelectPrevHunk: "選擇上一段",
|
||||
SelectNextHunk: "選擇下一段",
|
||||
ScrollDown: "向下捲動",
|
||||
ScrollUp: "向上捲動",
|
||||
ScrollUpMainWindow: "向上捲動主面板",
|
||||
ScrollDownMainWindow: "向下捲動主面板",
|
||||
AmendCommitTitle: "修改提交",
|
||||
AmendCommitPrompt: "是否使用預存檔案修改提交?",
|
||||
DropCommitTitle: "刪除提交",
|
||||
DropCommitPrompt: "是否刪除此提交?",
|
||||
PullingStatus: "拉取",
|
||||
PushingStatus: "推送",
|
||||
FetchingStatus: "擷取",
|
||||
SquashingStatus: "壓縮中",
|
||||
FixingStatus: "修復中",
|
||||
DeletingStatus: "刪除中",
|
||||
MovingStatus: "移動中",
|
||||
RebasingStatus: "變基中",
|
||||
MergingStatus: "合併中",
|
||||
LowercaseRebasingStatus: "變基", // lowercase because it shows up in parentheses
|
||||
LowercaseMergingStatus: "合併", // lowercase because it shows up in parentheses
|
||||
AmendingStatus: "修改中",
|
||||
CherryPickingStatus: "揀選中",
|
||||
UndoingStatus: "復原中",
|
||||
RedoingStatus: "重做中",
|
||||
CheckingOutStatus: "檢出中",
|
||||
CommittingStatus: "提交中",
|
||||
RevertingStatus: "還原中",
|
||||
CommitFiles: "提交檔案",
|
||||
SubCommitsDynamicTitle: "提交 (共 %s項)",
|
||||
CommitFilesDynamicTitle: "差異檔案 (共 %s項)",
|
||||
RemoteBranchesDynamicTitle: "遠端分支 (共 %s項)",
|
||||
ViewItemFiles: "檢視所選項目的檔案",
|
||||
CommitFilesTitle: "提交檔案",
|
||||
CheckoutCommitFileTooltip: "檢出檔案",
|
||||
DiscardFileChangesTitle: "捨棄檔案更改",
|
||||
DiscardFileChangesPrompt: "是否捨棄此提交?如果這個檔案是在此提交中創建的,它將被刪除",
|
||||
DisabledForGPG: "此功能不適用於 GPG 加密",
|
||||
CreateRepo: "未在 git 版本庫中。是否建立新版本庫? (y/n): ",
|
||||
BareRepo: "你嘗試在裸版本庫中開啟 Lazygit,但 Lazygit 尚未支援裸版本庫。是否開啟最新版本庫? (y/n) ",
|
||||
InitialBranch: "分支名稱?(留空使用 git 的預設值):",
|
||||
NoRecentRepositories: "必須在 git 版本庫中開啟 lazygit。沒有有效的最近版本庫。退出。",
|
||||
IncorrectNotARepository: "無效 `notARepository` 輸入。輸入應為「prompt」、「create」、「skip」、或「quit」。",
|
||||
AutoStashTitle: "是否自動收藏?",
|
||||
AutoStashPrompt: "必須收藏並拾起變更才得以繼續操作。是否自動執行?(Enter/Esc)",
|
||||
StashPrefix: "自動收藏 ",
|
||||
Cancel: "取消",
|
||||
DiscardAllChanges: "刪除所有變更",
|
||||
DiscardUnstagedChanges: "刪除未預存變更",
|
||||
DiscardAllChangesToAllFiles: "刪除工作目錄",
|
||||
DiscardAnyUnstagedChanges: "刪除未預存變更",
|
||||
DiscardUntrackedFiles: "刪除未追蹤檔案",
|
||||
DiscardStagedChanges: "刪除已預存變更",
|
||||
HardReset: "強制重設",
|
||||
ViewResetOptions: "檢視重設選項",
|
||||
CreateFixupCommitTooltip: "為此提交建立修復提交",
|
||||
SquashAboveCommits: "壓縮上方所有「fixup」提交(自動壓縮)",
|
||||
SquashAboveCommitsTooltip: "是否壓縮上方 {{.commit}} 所有「fixup」提交?",
|
||||
CreateFixupCommit: "建立修復提交",
|
||||
ExecuteCustomCommand: "執行自訂命令",
|
||||
CustomCommand: "自訂命令:",
|
||||
CommitChangesWithoutHook: "沒有預提交 hook 就提交更改",
|
||||
SkipHookPrefixNotConfigured: "你尚未配置略過 hook 的提交訊息前綴,請在設定中設置 `git.skipHookPrefix = 'WIP'`",
|
||||
ResetTo: `重設至`,
|
||||
PressEnterToReturn: "按 Enter 返回到 lazygit",
|
||||
ViewStashOptions: "檢視收藏選項",
|
||||
StashAllChanges: "收藏所有變更",
|
||||
StashStagedChanges: "收藏已預存變更",
|
||||
StashAllChangesKeepIndex: "收藏所有變更並保留預存區",
|
||||
StashUnstagedChanges: "收藏未預存變更",
|
||||
StashIncludeUntrackedChanges: "收藏所有變更,包括未追蹤檔案",
|
||||
StashOptions: "收藏選項",
|
||||
NotARepository: "錯誤:必須在 git 版本庫中執行",
|
||||
Jump: "跳轉至面板",
|
||||
ScrollLeftRight: "左右捲動",
|
||||
ScrollLeft: "向左捲動",
|
||||
ScrollRight: "向右捲動",
|
||||
DiscardPatch: "捨棄補丁",
|
||||
DiscardPatchConfirm: "你只能從單一提交或收藏項目建立一個補丁。是否捨棄當前補丁?",
|
||||
CantPatchWhileRebasingError: "在合併或變基狀態下,你不能建立或運行補丁命令",
|
||||
ToggleAddToPatch: "切換檔案是否包含在補丁中",
|
||||
ToggleAllInPatch: "切換所有檔案是否包含在補丁中",
|
||||
UpdatingPatch: "正在更新補丁",
|
||||
ViewPatchOptions: "檢視自訂補丁選項",
|
||||
PatchOptionsTitle: "補丁選項",
|
||||
NoPatchError: "尚未建立補丁。要開始建立補丁,請在提交檔案上使用空格或輸入以添加特定行",
|
||||
EnterCommitFile: "輸入檔案以將選定的行添加至補丁(或切換目錄折疊)",
|
||||
ExitCustomPatchBuilder: `退出自訂補丁建立器`,
|
||||
EnterUpstream: `輸入上游為 '<remote> <branchname>'`,
|
||||
InvalidUpstream: "無效的上游。必須符合 '<remote> <branchname>' 的格式",
|
||||
ReturnToRemotesList: `返回遠端列表`,
|
||||
NewRemote: `新增遠端`,
|
||||
NewRemoteName: `新遠端名稱:`,
|
||||
NewRemoteUrl: `新遠端 URL:`,
|
||||
EditRemoteName: `輸入更新 {{.remoteName}} 遠端名稱:`,
|
||||
EditRemoteUrl: `輸入更新 {{.remoteName}} 遠端 URL:`,
|
||||
RemoveRemote: `移除遠端`,
|
||||
RemoveRemotePrompt: "你確定要移除遠端?",
|
||||
DeleteRemoteBranch: "刪除遠端分支",
|
||||
DeleteRemoteBranchMessage: "你確定要刪除遠端分支?",
|
||||
SetAsUpstreamTooltip: "將此分支設為當前分支之上游",
|
||||
SetUpstream: "設定所選分支之上游",
|
||||
UnsetUpstream: "取消設定選定分支之上游",
|
||||
SetUpstreamTitle: "設定上游分支",
|
||||
SetUpstreamMessage: "你確定要將 '{{. selected}}' 設為 '{{.checkedOut}}' 的上游分支?",
|
||||
EditRemoteTooltip: "編輯遠端",
|
||||
TagCommit: "打標籤到提交",
|
||||
TagMenuTitle: "建立標籤",
|
||||
TagNameTitle: "標籤名稱",
|
||||
TagMessageTitle: "標籤訊息",
|
||||
AnnotatedTag: "附註標籤",
|
||||
LightweightTag: "輕量標籤",
|
||||
PushTagTitle: "推送標籤 '{{.tagName}}' 至遠端:",
|
||||
PushTag: "推送標籤",
|
||||
NewTag: "建立標籤",
|
||||
FetchRemoteTooltip: "擷取遠端",
|
||||
FetchingRemoteStatus: "正在擷取遠端",
|
||||
CheckoutCommit: "檢出提交",
|
||||
SureCheckoutThisCommit: "你確定要檢出這個提交?",
|
||||
GitFlowOptions: "顯示 git-flow 選項",
|
||||
NotAGitFlowBranch: "這似乎不是一個 git flow 分支",
|
||||
NewGitFlowBranchPrompt: "{{.branchType}} 名稱:",
|
||||
IgnoreTracked: "忽略已追蹤檔案",
|
||||
IgnoreTrackedPrompt: "你確定要忽略一個已追蹤的檔案?",
|
||||
ExcludeTracked: "排除已追蹤檔案",
|
||||
ViewResetToUpstreamOptions: "檢視上游重設選項",
|
||||
NextScreenMode: "下一個螢幕模式(常規/半螢幕/全螢幕)",
|
||||
PrevScreenMode: "上一個螢幕模式",
|
||||
StartSearch: "搜尋",
|
||||
StartFilter: "搜尋",
|
||||
Panel: "面板",
|
||||
KeybindingsLegend: "說明:`<c-b>` 表示 Ctrl+B、`<a-b>` 表示 Alt+B,`B`表示 Shift+B",
|
||||
RenameBranch: "重新命名分支",
|
||||
BranchUpstreamOptionsTitle: "上游分支設定",
|
||||
ViewBranchUpstreamOptionsTooltip: "檢視有關上游分支的設定(例如重設至上游)",
|
||||
UpstreamNotSetError: "目標分支沒有上游分支(或其上游分支未儲存於本地)",
|
||||
ViewBranchUpstreamOptions: "檢視上游設定",
|
||||
NewBranchNamePrompt: "為分支輸入新名稱",
|
||||
RenameBranchWarning: "此分支正在追蹤遠端分支。此操作僅會重新命名本地分支名稱,而不是遠端分支的名稱。是否繼續?",
|
||||
OpenKeybindingsMenu: "開啟選單",
|
||||
ResetCherryPick: "重設選定的揀選 (複製) 提交",
|
||||
NextTab: "下一個索引標籤",
|
||||
PrevTab: "上一個索引標籤",
|
||||
CantUndoWhileRebasing: "在變基時無法復原",
|
||||
CantRedoWhileRebasing: "在變基時無法取消復原",
|
||||
MustStashWarning: "將補丁提取到索引中需要收藏並取消收藏你的變更。如果出現問題,你可以從收藏中訪問你的檔案。是否繼續?",
|
||||
MustStashTitle: "必須收藏",
|
||||
ConfirmationTitle: "確認面板",
|
||||
PrevPage: "上一頁",
|
||||
NextPage: "下一頁",
|
||||
GotoTop: "捲動到頂部",
|
||||
GotoBottom: "捲動到底部",
|
||||
FilteringBy: "篩選方式",
|
||||
ResetInParentheses: "(已重設)",
|
||||
OpenFilteringMenu: "檢視篩選路徑選項",
|
||||
FilterBy: "篩選路徑",
|
||||
ExitFilterMode: "停止按路徑篩選",
|
||||
FilterPathOption: "輸入要依路徑篩選的路徑",
|
||||
EnterFileName: "輸入路徑:",
|
||||
FilteringMenuTitle: "篩選",
|
||||
MustExitFilterModeTitle: "命令不可用",
|
||||
MustExitFilterModePrompt: "在按路徑篩選的模式下,該命令不可用。是否退出按路徑篩選的模式?",
|
||||
Diff: "差異",
|
||||
EnterRefToDiff: "輸入欲比較之 Ref",
|
||||
EnterRefName: "輸入 Ref:",
|
||||
ExitDiffMode: "退出差異模式",
|
||||
DiffingMenuTitle: "差異比較",
|
||||
SwapDiff: "反轉差異方向",
|
||||
ViewDiffingOptions: "開啟差異比較選單",
|
||||
// the actual view is the extras view which I intend to give more tabs in future but for now we'll only mention the command log part
|
||||
OpenCommandLogMenu: "開啟命令記錄選單",
|
||||
ShowingGitDiff: "顯示輸出:",
|
||||
|
@ -0,0 +1,81 @@
|
||||
package sync
|
||||
|
||||
import (
|
||||
"github.com/jesseduffield/lazygit/pkg/config"
|
||||
. "github.com/jesseduffield/lazygit/pkg/integration/components"
|
||||
)
|
||||
|
||||
var ForcePushRemoteBranchNotStoredLocally = NewIntegrationTest(NewIntegrationTestArgs{
|
||||
Description: "Push a branch whose remote branch is not stored locally, requiring a force push",
|
||||
ExtraCmdArgs: []string{},
|
||||
Skip: false,
|
||||
SetupConfig: func(config *config.AppConfig) {},
|
||||
SetupRepo: func(shell *Shell) {
|
||||
shell.EmptyCommit("one")
|
||||
shell.EmptyCommit("two")
|
||||
|
||||
shell.Clone("some-remote")
|
||||
|
||||
// remove the 'two' commit so that we have something to pull from the remote
|
||||
shell.HardReset("HEAD^")
|
||||
|
||||
shell.SetConfig("branch.master.remote", "../some-remote")
|
||||
shell.SetConfig("branch.master.pushRemote", "../some-remote")
|
||||
shell.SetConfig("branch.master.merge", "refs/heads/master")
|
||||
|
||||
shell.CreateFileAndAdd("file1", "file1 content")
|
||||
},
|
||||
Run: func(t *TestDriver, keys config.KeybindingConfig) {
|
||||
t.Views().Commits().
|
||||
Lines(
|
||||
Contains("one"),
|
||||
)
|
||||
|
||||
t.Views().Status().Content(Contains("? repo → master"))
|
||||
|
||||
// We're behind our upstream now, so we expect to be asked to force-push
|
||||
t.Views().Files().IsFocused().Press(keys.Universal.Push)
|
||||
|
||||
t.ExpectPopup().Confirmation().
|
||||
Title(Equals("Force push")).
|
||||
Content(Equals("Your branch has diverged from the remote branch. Press <esc> to cancel, or <enter> to force push.")).
|
||||
Confirm()
|
||||
|
||||
// Make a new local commit
|
||||
t.Views().Files().IsFocused().Press(keys.Files.CommitChanges)
|
||||
t.ExpectPopup().CommitMessagePanel().Type("new").Confirm()
|
||||
|
||||
t.Views().Commits().
|
||||
Lines(
|
||||
Contains("new"),
|
||||
Contains("one"),
|
||||
)
|
||||
|
||||
// Pushing this works without needing to force push
|
||||
t.Views().Files().IsFocused().Press(keys.Universal.Push)
|
||||
|
||||
// Now add the clone as a remote just so that we can check if what we
|
||||
// pushed arrived there correctly
|
||||
t.Views().Remotes().Focus().
|
||||
Press(keys.Universal.New)
|
||||
|
||||
t.ExpectPopup().Prompt().
|
||||
Title(Equals("New remote name:")).Type("some-remote").Confirm()
|
||||
t.ExpectPopup().Prompt().
|
||||
Title(Equals("New remote url:")).Type("../some-remote").Confirm()
|
||||
t.Views().Remotes().Lines(
|
||||
Contains("some-remote").IsSelected(),
|
||||
).
|
||||
PressEnter()
|
||||
|
||||
t.Views().RemoteBranches().IsFocused().Lines(
|
||||
Contains("master").IsSelected(),
|
||||
).
|
||||
PressEnter()
|
||||
|
||||
t.Views().SubCommits().IsFocused().Lines(
|
||||
Contains("new"),
|
||||
Contains("one"),
|
||||
)
|
||||
},
|
||||
})
|
@ -276,6 +276,7 @@ var tests = []*components.IntegrationTest{
|
||||
sync.ForcePush,
|
||||
sync.ForcePushMultipleMatching,
|
||||
sync.ForcePushMultipleUpstream,
|
||||
sync.ForcePushRemoteBranchNotStoredLocally,
|
||||
sync.ForcePushTriangular,
|
||||
sync.Pull,
|
||||
sync.PullAndSetUpstream,
|
||||
|
Loading…
x
Reference in New Issue
Block a user