feat: v0.9.0 —— 文件夹是 git 仓库时接入常用操作

编辑器
- 语言下拉挪到代码框右下角,复制仍在右上角

Git
- 打开文件夹时检测 git 仓库(rev-parse --show-toplevel),是的话侧栏底部
  出现工具条,显示当前分支,按钮:拉取(pull --ff-only)、获取(fetch --all --prune)、
  推送(push)、暂存(add -A)、提交(commit -m)
- 侧栏文件右键:打开 / 添加到提交(git add -- file) / 忽略(并从远端删除)
- 忽略流程:写入 .gitignore → git rm --cached → 提交 → 推送,执行前弹确认框
  逐条列出命令;本地文件保留,远端删除
- 新增 GitRunner:QProcess 异步执行,MergedChannels 收集输出,90 秒超时
- 多步操作走队列,按顺序执行,失败即中止并弹出 git 原始输出

其它
- 新增 29 条中英文翻译
- README 增加 Git 一节,代码结构更新
- 版本 0.9.0
This commit is contained in:
2026-10-22 18:22:47 +08:00
parent ac1811738e
commit 047dcd2b2f
9 changed files with 754 additions and 116 deletions
Binary file not shown.
+285 -106
View File
@@ -1,373 +1,552 @@
<?xml version='1.0' encoding='utf-8'?>
<TS version="2.1" language="en_US">
<context>
<name>GitRunner</name>
<message>
<location filename="../src/GitRunner.cpp" line="32" />
<source>
(超时,已中止)</source>
<translation>
(timed out, aborted)</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../src/MainWindow.cpp" line="170" />
<location filename="../src/MainWindow.cpp" line="784" />
<location filename="../src/MainWindow.cpp" line="179" />
<location filename="../src/MainWindow.cpp" line="837" />
<source>新建</source>
<translation>New</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="174" />
<location filename="../src/MainWindow.cpp" line="785" />
<location filename="../src/MainWindow.cpp" line="183" />
<location filename="../src/MainWindow.cpp" line="838" />
<source>打开…</source>
<translation>Open…</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="178" />
<location filename="../src/MainWindow.cpp" line="787" />
<location filename="../src/MainWindow.cpp" line="187" />
<location filename="../src/MainWindow.cpp" line="840" />
<source>保存</source>
<translation>Save</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="182" />
<location filename="../src/MainWindow.cpp" line="788" />
<location filename="../src/MainWindow.cpp" line="191" />
<location filename="../src/MainWindow.cpp" line="841" />
<source>另存为…</source>
<translation>Save As…</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="186" />
<location filename="../src/MainWindow.cpp" line="789" />
<location filename="../src/MainWindow.cpp" line="195" />
<location filename="../src/MainWindow.cpp" line="842" />
<source>导出 PDF…</source>
<translation>Export PDF…</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="190" />
<location filename="../src/MainWindow.cpp" line="790" />
<location filename="../src/MainWindow.cpp" line="199" />
<location filename="../src/MainWindow.cpp" line="843" />
<source>退出</source>
<translation>Quit</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="194" />
<location filename="../src/MainWindow.cpp" line="792" />
<location filename="../src/MainWindow.cpp" line="203" />
<location filename="../src/MainWindow.cpp" line="845" />
<source>撤销</source>
<translation>Undo</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="198" />
<location filename="../src/MainWindow.cpp" line="793" />
<location filename="../src/MainWindow.cpp" line="207" />
<location filename="../src/MainWindow.cpp" line="846" />
<source>重做</source>
<translation>Redo</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="202" />
<location filename="../src/MainWindow.cpp" line="794" />
<location filename="../src/MainWindow.cpp" line="211" />
<location filename="../src/MainWindow.cpp" line="847" />
<source>剪切</source>
<translation>Cut</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="206" />
<location filename="../src/MainWindow.cpp" line="795" />
<location filename="../src/MainWindow.cpp" line="215" />
<location filename="../src/MainWindow.cpp" line="848" />
<source>复制</source>
<translation>Copy</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="210" />
<location filename="../src/MainWindow.cpp" line="796" />
<location filename="../src/MainWindow.cpp" line="219" />
<location filename="../src/MainWindow.cpp" line="849" />
<source>粘贴</source>
<translation>Paste</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="214" />
<location filename="../src/MainWindow.cpp" line="797" />
<location filename="../src/MainWindow.cpp" line="223" />
<location filename="../src/MainWindow.cpp" line="850" />
<source>全选</source>
<translation>Select All</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="218" />
<location filename="../src/MainWindow.cpp" line="801" />
<location filename="../src/MainWindow.cpp" line="227" />
<location filename="../src/MainWindow.cpp" line="854" />
<source>自动换行</source>
<translation>Word Wrap</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="223" />
<location filename="../src/MainWindow.cpp" line="802" />
<location filename="../src/MainWindow.cpp" line="232" />
<location filename="../src/MainWindow.cpp" line="855" />
<source>放大</source>
<translation>Zoom In</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="227" />
<location filename="../src/MainWindow.cpp" line="803" />
<location filename="../src/MainWindow.cpp" line="236" />
<location filename="../src/MainWindow.cpp" line="856" />
<source>缩小</source>
<translation>Zoom Out</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="231" />
<location filename="../src/MainWindow.cpp" line="804" />
<location filename="../src/MainWindow.cpp" line="240" />
<location filename="../src/MainWindow.cpp" line="857" />
<source>实际大小</source>
<translation>Actual Size</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="240" />
<location filename="../src/MainWindow.cpp" line="786" />
<location filename="../src/MainWindow.cpp" line="249" />
<location filename="../src/MainWindow.cpp" line="839" />
<source>打开文件夹…</source>
<translation>Open Folder…</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="244" />
<location filename="../src/MainWindow.cpp" line="410" />
<location filename="../src/MainWindow.cpp" line="799" />
<location filename="../src/MainWindow.cpp" line="820" />
<location filename="../src/MainWindow.cpp" line="253" />
<location filename="../src/MainWindow.cpp" line="461" />
<location filename="../src/MainWindow.cpp" line="852" />
<location filename="../src/MainWindow.cpp" line="873" />
<source>侧栏</source>
<translation>Sidebar</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="258" />
<location filename="../src/MainWindow.cpp" line="800" />
<location filename="../src/MainWindow.cpp" line="267" />
<location filename="../src/MainWindow.cpp" line="853" />
<source>源代码模式</source>
<translation>Source Mode</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="263" />
<location filename="../src/MainWindow.cpp" line="816" />
<location filename="../src/MainWindow.cpp" line="272" />
<location filename="../src/MainWindow.cpp" line="869" />
<source>代码块</source>
<translation>Code Block</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="270" />
<location filename="../src/MainWindow.cpp" line="814" />
<location filename="../src/MainWindow.cpp" line="279" />
<location filename="../src/MainWindow.cpp" line="867" />
<source>标题 %1</source>
<translation>Heading %1</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="281" />
<location filename="../src/MainWindow.cpp" line="290" />
<source>文件夹</source>
<translation>Folder</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="292" />
<location filename="../src/MainWindow.cpp" line="964" />
<location filename="../src/MainWindow.cpp" line="301" />
<location filename="../src/MainWindow.cpp" line="1018" />
<source>未打开文件夹</source>
<translation>No folder open</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="318" />
<location filename="../src/MainWindow.cpp" line="774" />
<location filename="../src/MainWindow.cpp" line="319" />
<location filename="../src/MainWindow.cpp" line="1151" />
<source>Git 仓库</source>
<translation>Git repository</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="331" />
<location filename="../src/MainWindow.cpp" line="1216" />
<source>拉取</source>
<translation>Pull</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="331" />
<source>git pull --ff-only</source>
<translation>git pull --ff-only</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="332" />
<location filename="../src/MainWindow.cpp" line="1224" />
<source>获取</source>
<translation>Fetch</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="332" />
<source>git fetch --all --prune</source>
<translation>git fetch --all --prune</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="333" />
<location filename="../src/MainWindow.cpp" line="1231" />
<location filename="../src/MainWindow.cpp" line="1333" />
<source>推送</source>
<translation>Push</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="333" />
<source>git push</source>
<translation>git push</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="334" />
<location filename="../src/MainWindow.cpp" line="1238" />
<source>暂存</source>
<translation>Stage</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="334" />
<source>git add -A</source>
<translation>git add -A</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="335" />
<location filename="../src/MainWindow.cpp" line="1251" />
<location filename="../src/MainWindow.cpp" line="1258" />
<location filename="../src/MainWindow.cpp" line="1262" />
<location filename="../src/MainWindow.cpp" line="1332" />
<source>提交</source>
<translation>Commit</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="335" />
<source>把暂存区的内容提交</source>
<translation>Commit the staged changes</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="369" />
<location filename="../src/MainWindow.cpp" line="827" />
<source>文件</source>
<translation>File</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="322" />
<location filename="../src/MainWindow.cpp" line="779" />
<location filename="../src/MainWindow.cpp" line="373" />
<location filename="../src/MainWindow.cpp" line="832" />
<source>最近打开</source>
<translation>Recent Files</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="330" />
<location filename="../src/MainWindow.cpp" line="775" />
<location filename="../src/MainWindow.cpp" line="381" />
<location filename="../src/MainWindow.cpp" line="828" />
<source>编辑</source>
<translation>Edit</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="340" />
<location filename="../src/MainWindow.cpp" line="776" />
<location filename="../src/MainWindow.cpp" line="391" />
<location filename="../src/MainWindow.cpp" line="829" />
<source>视图</source>
<translation>View</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="351" />
<location filename="../src/MainWindow.cpp" line="780" />
<location filename="../src/MainWindow.cpp" line="402" />
<location filename="../src/MainWindow.cpp" line="833" />
<source>主题</source>
<translation>Theme</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="359" />
<location filename="../src/MainWindow.cpp" line="810" />
<location filename="../src/MainWindow.cpp" line="410" />
<location filename="../src/MainWindow.cpp" line="863" />
<source>6:00–18:00 使用浅色,其余时间使用深色</source>
<translation>Light from 6:00 to 18:00, dark the rest of the day</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="377" />
<location filename="../src/MainWindow.cpp" line="782" />
<location filename="../src/MainWindow.cpp" line="428" />
<location filename="../src/MainWindow.cpp" line="835" />
<source>语言</source>
<translation>Language</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="394" />
<location filename="../src/MainWindow.cpp" line="777" />
<location filename="../src/MainWindow.cpp" line="445" />
<location filename="../src/MainWindow.cpp" line="830" />
<source>格式</source>
<translation>Format</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="395" />
<location filename="../src/MainWindow.cpp" line="781" />
<location filename="../src/MainWindow.cpp" line="446" />
<location filename="../src/MainWindow.cpp" line="834" />
<source>标题</source>
<translation>Heading</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="402" />
<location filename="../src/MainWindow.cpp" line="778" />
<location filename="../src/MainWindow.cpp" line="453" />
<location filename="../src/MainWindow.cpp" line="831" />
<source>帮助</source>
<translation>Help</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="403" />
<location filename="../src/MainWindow.cpp" line="817" />
<location filename="../src/MainWindow.cpp" line="847" />
<location filename="../src/MainWindow.cpp" line="454" />
<location filename="../src/MainWindow.cpp" line="870" />
<location filename="../src/MainWindow.cpp" line="900" />
<source>关于 VoiletMark</source>
<translation>About VoiletMark</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="414" />
<location filename="../src/MainWindow.cpp" line="821" />
<location filename="../src/MainWindow.cpp" line="465" />
<location filename="../src/MainWindow.cpp" line="874" />
<source>显示 / 隐藏文件夹侧栏(Ctrl+B)</source>
<translation>Show / hide the folder sidebar (Ctrl+B)</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="422" />
<location filename="../src/MainWindow.cpp" line="824" />
<location filename="../src/MainWindow.cpp" line="473" />
<location filename="../src/MainWindow.cpp" line="877" />
<source>源代码模式:关闭语法高亮与行号(Ctrl+Shift+M)</source>
<translation>Source mode: turn off highlighting and line numbers (Ctrl+Shift+M)</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="500" />
<location filename="../src/MainWindow.cpp" line="615" />
<location filename="../src/MainWindow.cpp" line="553" />
<location filename="../src/MainWindow.cpp" line="668" />
<source>未命名</source>
<translation>Untitled</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="549" />
<location filename="../src/MainWindow.cpp" line="602" />
<source>打开 Markdown 文件</source>
<translation>Open Markdown File</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="550" />
<location filename="../src/MainWindow.cpp" line="603" />
<source>Markdown 文件 (*.md *.markdown *.mdown *.mkd);;文本文件 (*.txt);;所有文件 (*)</source>
<translation>Markdown files (*.md *.markdown *.mdown *.mkd);;Text files (*.txt);;All files (*)</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="567" />
<location filename="../src/MainWindow.cpp" line="620" />
<source>无法打开文件</source>
<translation>Cannot Open File</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="568" />
<location filename="../src/MainWindow.cpp" line="621" />
<source>读取「%1」失败:%2</source>
<translation>Could not read "%1": %2</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="602" />
<location filename="../src/MainWindow.cpp" line="655" />
<source>另存为</source>
<translation>Save As</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="603" />
<location filename="../src/MainWindow.cpp" line="656" />
<source>Markdown 文件 (*.md);;文本文件 (*.txt);;所有文件 (*)</source>
<translation>Markdown files (*.md);;Text files (*.txt);;All files (*)</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="620" />
<location filename="../src/MainWindow.cpp" line="673" />
<source>导出 PDF</source>
<translation>Export PDF</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="621" />
<location filename="../src/MainWindow.cpp" line="674" />
<source>PDF 文件 (*.pdf)</source>
<translation>PDF files (*.pdf)</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="640" />
<location filename="../src/MainWindow.cpp" line="693" />
<source>导出失败</source>
<translation>Export Failed</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="641" />
<location filename="../src/MainWindow.cpp" line="694" />
<source>没能写出「%1」,换个位置再试一次。</source>
<translation>Could not write "%1". Try another location.</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="645" />
<location filename="../src/MainWindow.cpp" line="698" />
<source>已导出 %1</source>
<translation>Exported to %1</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="660" />
<location filename="../src/MainWindow.cpp" line="667" />
<location filename="../src/MainWindow.cpp" line="672" />
<location filename="../src/MainWindow.cpp" line="713" />
<location filename="../src/MainWindow.cpp" line="720" />
<location filename="../src/MainWindow.cpp" line="725" />
<source>无法保存文件</source>
<translation>Cannot Save File</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="661" />
<location filename="../src/MainWindow.cpp" line="714" />
<source>写入「%1」失败:%2</source>
<translation>Could not write "%1": %2</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="668" />
<location filename="../src/MainWindow.cpp" line="721" />
<source>写入「%1」时发生错误。</source>
<translation>An error occurred while writing "%1".</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="673" />
<location filename="../src/MainWindow.cpp" line="726" />
<source>提交「%1」失败:%2</source>
<translation>Could not commit "%1": %2</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="681" />
<location filename="../src/MainWindow.cpp" line="734" />
<source>已保存 %1</source>
<translation>Saved to %1</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="691" />
<location filename="../src/MainWindow.cpp" line="744" />
<source>VoiletMark</source>
<translation>VoiletMark</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="692" />
<location filename="../src/MainWindow.cpp" line="745" />
<source>「%1」有未保存的修改,是否保存?</source>
<translation>"%1" has unsaved changes. Save them?</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="716" />
<location filename="../src/MainWindow.cpp" line="769" />
<source>%1[*] — VoiletMark</source>
<translation>%1[*] — VoiletMark</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="735" />
<location filename="../src/MainWindow.cpp" line="788" />
<source>行 %1,列 %2</source>
<translation>Line %1, Col %2</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="737" />
<location filename="../src/MainWindow.cpp" line="790" />
<source> 已选 %1 字</source>
<translation> %1 selected</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="738" />
<location filename="../src/MainWindow.cpp" line="791" />
<source> %1 字</source>
<translation> %1 chars</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="851" />
<location filename="../src/MainWindow.cpp" line="904" />
<source>&lt;h3&gt;VoiletMark %1&lt;/h3&gt;&lt;p&gt;一个轻量的跨平台 Markdown 编辑器。&lt;/p&gt;&lt;p&gt;基于 Qt %2 与 C++17 构建。&lt;/p&gt;</source>
<translation>&lt;h3&gt;VoiletMark %1&lt;/h3&gt;&lt;p&gt;A lightweight cross-platform Markdown editor.&lt;/p&gt;&lt;p&gt;Built with Qt %2 and C++17.&lt;/p&gt;</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="886" />
<location filename="../src/MainWindow.cpp" line="939" />
<source>(暂无记录)</source>
<translation>(none)</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="899" />
<location filename="../src/MainWindow.cpp" line="952" />
<source>清空列表</source>
<translation>Clear List</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="909" />
<location filename="../src/MainWindow.cpp" line="962" />
<source>打开文件夹</source>
<translation>Open Folder</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="965" />
<location filename="../src/MainWindow.cpp" line="1019" />
<source>文件 → 打开文件夹…</source>
<translation>File → Open Folder…</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="1001" />
<location filename="../src/MainWindow.cpp" line="1055" />
<source>(没有 Markdown 文件)</source>
<translation>(no Markdown files)</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="1187" />
<source>正在%1…</source>
<translation>%1…</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="1197" />
<source>Git 操作失败</source>
<translation>Git Operation Failed</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="1198" />
<source>%1失败:
%2</source>
<translation>%1 failed:
%2</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="1199" />
<source>(没有输出)</source>
<translation>(no output)</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="1205" />
<source>%1完成</source>
<translation>%1 finished</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="1252" />
<source>暂存区是空的,先点「暂存」把所有改动加进去。</source>
<translation>Nothing is staged yet. Click "Stage" first to add all changes.</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="1258" />
<source>提交说明:</source>
<translation>Commit message:</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="1270" />
<location filename="../src/MainWindow.cpp" line="1350" />
<source>添加到提交</source>
<translation>Add to commit</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="1280" />
<source>忽略文件</source>
<translation>Ignore File</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="1281" />
<source>忽略「%1」?
会依次执行:
1. 把路径写进 .gitignore
2. git rm --cached(从仓库移除,本地文件保留)
3. 提交并推送到远端——远端也会删掉这个文件
其他人 pull 之后,本地的那份也会被删掉。</source>
<translation>Ignore "%1"?
This will:
1. Add the path to .gitignore
2. Run git rm --cached (removes it from the repo, keeps your local file)
3. Commit and push - the file is deleted on the remote too
Anyone who pulls afterwards will lose their local copy.</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="1289" />
<source>忽略并删除远端</source>
<translation>Ignore and delete remote</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="1290" />
<source>取消</source>
<translation>Cancel</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="1327" />
<source>从仓库移除</source>
<translation>Remove from repository</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="1329" />
<source>更新忽略列表</source>
<translation>Update ignore list</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="1331" />
<source>chore: 忽略 %1</source>
<translation>chore: ignore %1</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="1346" />
<source>打开</source>
<translation>Open</translation>
</message>
<message>
<location filename="../src/MainWindow.cpp" line="1351" />
<source>忽略(并从远端删除)</source>
<translation>Ignore (and delete from remote)</translation>
</message>
</context>
<context>
<name>MarkdownEditor</name>