<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>开源项目 on 小景</title>
        <link>https://jingyuan-zheng.github.io/zh/categories/%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE/</link>
        <description>Recent content in 开源项目 on 小景</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh</language>
        <copyright>Jingyuan Zheng</copyright>
        <lastBuildDate>Mon, 25 May 2026 12:00:00 +0200</lastBuildDate><atom:link href="https://jingyuan-zheng.github.io/zh/categories/%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE/index.xml" rel="self" type="application/rss+xml" /><item>
            <title>macOS 美式键盘增强：输入重音字母、拼音声调、希腊字母和马耳他语字符</title>
            <link>https://jingyuan-zheng.github.io/zh/p/abc-custom-keyboard/</link>
            <pubDate>Mon, 25 May 2026 12:00:00 +0200</pubDate>
            <guid>https://jingyuan-zheng.github.io/zh/p/abc-custom-keyboard/</guid>
            <description>&lt;img src=&#34;https://jingyuan-zheng.github.io/img/abc-custom-keyboard/featured.png&#34; alt=&#34;Featured image of post macOS 美式键盘增强：输入重音字母、拼音声调、希腊字母和马耳他语字符&#34; /&gt;&lt;p&gt;本文介绍 ABC Custom Keyboard：日常输入仍然是美式键盘，但按住 Option 就能输入重音字母、拼音声调、希腊字母、马耳他语字符和常用符号。&lt;/p&gt;&#xA;&lt;p&gt;我开源了 &lt;strong&gt;ABC Custom Keyboard&lt;/strong&gt;，这是一个面向 macOS 的自定义键盘布局。&lt;/p&gt;&#xA;&lt;p&gt;项目地址在这里：&lt;a class=&#34;link&#34; href=&#34;https://github.com/Jingyuan-Zheng/ABC-Custom-Keyboard&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Jingyuan-Zheng/ABC-Custom-Keyboard&lt;/a&gt;。&lt;/p&gt;&#xA;&lt;p&gt;它的目标很直接：保留标准 US ABC / 美式键盘的日常输入体验，同时在 &lt;code&gt;Option&lt;/code&gt; 层加入一套有规律、容易联想的扩展输入，用来输入欧洲拉丁字母、希腊字母、汉语拼音声调、马耳他语相关扩展字母、数学符号、编号符号和技术符号。&lt;/p&gt;&#xA;&lt;h2 id=&#34;为什么要做这个键盘&#34;&gt;为什么要做这个键盘&#xA;&lt;/h2&gt;&lt;p&gt;美式键盘很适合英文、编程和快捷键，但一旦进入多语言写作，问题就来了。&lt;/p&gt;&#xA;&lt;p&gt;你可能要写德语、法语、意大利语、西班牙语、葡萄牙语、马耳他语，也可能要输入拼音声调、希腊字母或论文里常见的数学符号。系统自带的特殊字符输入不够统一，切换到语言专用键盘又会改变物理键位记忆。比如德语键盘里的 &lt;code&gt;Y&lt;/code&gt; 位置就和美式键盘不同。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;ABC Custom Keyboard&lt;/strong&gt; 的思路是：基础层完全保持标准 US ABC，只把多语言和学术符号放到有规律的 &lt;code&gt;Option&lt;/code&gt; / dead key 层里。这样一把美式键盘就能覆盖更多写作场景。&lt;/p&gt;&#xA;&lt;h2 id=&#34;基础层保持-us-abc&#34;&gt;基础层保持 US ABC&#xA;&lt;/h2&gt;&lt;p&gt;ABC Custom 假设你使用的是标准 US ABC 物理键盘。基础层不做重新排列，所以日常英文输入、常见 &lt;code&gt;Command&lt;/code&gt; / &lt;code&gt;Control&lt;/code&gt; 快捷键都尽量保持原样。&lt;/p&gt;&#xA;&lt;div class=&#34;post-figure&#34;&gt;&#xA;    &lt;img src=&#34;https://jingyuan-zheng.github.io/img/abc-custom-keyboard/01-us-abc-base.svg&#34; alt=&#34;标准 US ABC 基础键盘布局&#34;&gt;&#xA;    &lt;div class=&#34;caption&#34;&gt;图 1：基础层保持标准 US ABC 布局。&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;直接-option-层&#34;&gt;直接 Option 层&#xA;&lt;/h2&gt;&lt;p&gt;按住 &lt;code&gt;Option&lt;/code&gt; 再按键，就可以输入键帽上显示的符号。蓝色键是 dead key 前缀：先按前缀组合，松开，再按目标键。&lt;/p&gt;&#xA;&lt;div class=&#34;post-figure&#34;&gt;&#xA;    &lt;img src=&#34;https://jingyuan-zheng.github.io/img/abc-custom-keyboard/02-option-layer.svg&#34; alt=&#34;ABC Custom Option 键盘层&#34;&gt;&#xA;    &lt;div class=&#34;caption&#34;&gt;图 2：Option 层提供常用符号和容易记忆的 dead key 前缀。&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;&lt;code&gt;Shift&lt;/code&gt; + &lt;code&gt;Option&lt;/code&gt; 是另一组直接符号层，也包含上标和圈号字符的 dead key 前缀。&lt;/p&gt;&#xA;&lt;div class=&#34;post-figure&#34;&gt;&#xA;    &lt;img src=&#34;https://jingyuan-zheng.github.io/img/abc-custom-keyboard/03-shift-option-layer.svg&#34; alt=&#34;ABC Custom Shift Option 键盘层&#34;&gt;&#xA;    &lt;div class=&#34;caption&#34;&gt;图 3：Shift + Option 在不改变基础键位的前提下扩展更多符号。&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;这些直接层覆盖了 &lt;code&gt;ℕ&lt;/code&gt;、&lt;code&gt;ℤ&lt;/code&gt;、&lt;code&gt;ℚ&lt;/code&gt;、&lt;code&gt;ℝ&lt;/code&gt;、&lt;code&gt;π&lt;/code&gt;、&lt;code&gt;Σ&lt;/code&gt;、&lt;code&gt;√&lt;/code&gt;、&lt;code&gt;∂&lt;/code&gt;、&lt;code&gt;≠&lt;/code&gt;、&lt;code&gt;≤&lt;/code&gt;、&lt;code&gt;≥&lt;/code&gt;、箭头、破折号、货币符号、勾选符号、方框和星号标记等常用字符。&lt;/p&gt;&#xA;&lt;h2 id=&#34;更容易记的-dead-key&#34;&gt;更容易记的 Dead Key&#xA;&lt;/h2&gt;&lt;p&gt;dead key 的使用方式是：先按前缀组合，松开，再按目标键。&lt;/p&gt;&#xA;&lt;p&gt;例如：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;Option&lt;/code&gt; + &lt;code&gt;1&lt;/code&gt; 后再按 &lt;code&gt;a&lt;/code&gt;，输出 &lt;code&gt;ā&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Option&lt;/code&gt; + &lt;code&gt;2&lt;/code&gt; 后再按 &lt;code&gt;e&lt;/code&gt;，输出 &lt;code&gt;é&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Option&lt;/code&gt; + &lt;code&gt;5&lt;/code&gt; 后再按 &lt;code&gt;u&lt;/code&gt;，输出 &lt;code&gt;ü&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Option&lt;/code&gt; + &lt;code&gt;G&lt;/code&gt; 后再按 &lt;code&gt;p&lt;/code&gt;，输出 &lt;code&gt;π&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;拼音声调层直接对应声调编号：&lt;code&gt;Option&lt;/code&gt; + &lt;code&gt;1&lt;/code&gt; 到 &lt;code&gt;4&lt;/code&gt; 分别对应一到四声。&lt;/p&gt;&#xA;&lt;div class=&#34;post-figure&#34;&gt;&#xA;    &lt;img src=&#34;https://jingyuan-zheng.github.io/img/abc-custom-keyboard/04-dead-key-tone-1.svg&#34; alt=&#34;ABC Custom 拼音一声 dead key 层&#34;&gt;&#xA;    &lt;div class=&#34;caption&#34;&gt;图 4：一声使用 Option + 1，再按目标元音。&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;两点 / umlaut 层使用 &lt;code&gt;Option&lt;/code&gt; + &lt;code&gt;5&lt;/code&gt;，因为 &lt;code&gt;%&lt;/code&gt; 这个键上有两个圈，容易联想到字母上的两点。上点字母层使用 &lt;code&gt;Option&lt;/code&gt; + &lt;code&gt;8&lt;/code&gt;，因为 &lt;code&gt;*&lt;/code&gt; 可以联想到点或星号。&lt;/p&gt;&#xA;&lt;div class=&#34;post-figure&#34;&gt;&#xA;    &lt;img src=&#34;https://jingyuan-zheng.github.io/img/abc-custom-keyboard/08-dead-key-umlaut.svg&#34; alt=&#34;ABC Custom umlaut dead key 层&#34;&gt;&#xA;    &lt;div class=&#34;caption&#34;&gt;图 5：umlaut 层覆盖 ä、ë、ï、ö、ü 等字符。&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;post-figure&#34;&gt;&#xA;    &lt;img src=&#34;https://jingyuan-zheng.github.io/img/abc-custom-keyboard/13-dead-key-dot-above.svg&#34; alt=&#34;ABC Custom 上点字母 dead key 层&#34;&gt;&#xA;    &lt;div class=&#34;caption&#34;&gt;图 6：上点字母对马耳他语和学术转写很有用。&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;希腊字母上下标和技术符号&#34;&gt;希腊字母、上下标和技术符号&#xA;&lt;/h2&gt;&lt;p&gt;学术写作里常见的希腊字母也被放到了联想位置。&lt;code&gt;Option&lt;/code&gt; + &lt;code&gt;G&lt;/code&gt; 表示 Greek，例如 &lt;code&gt;p&lt;/code&gt; 对应 &lt;code&gt;π&lt;/code&gt;，&lt;code&gt;m&lt;/code&gt; 对应 &lt;code&gt;μ&lt;/code&gt;，&lt;code&gt;l&lt;/code&gt; 对应 &lt;code&gt;λ&lt;/code&gt;，&lt;code&gt;w&lt;/code&gt; 对应 &lt;code&gt;ω&lt;/code&gt;，&lt;code&gt;d&lt;/code&gt; 对应 &lt;code&gt;δ&lt;/code&gt;。&lt;/p&gt;&#xA;&lt;div class=&#34;post-figure&#34;&gt;&#xA;    &lt;img src=&#34;https://jingyuan-zheng.github.io/img/abc-custom-keyboard/11-dead-key-greek.svg&#34; alt=&#34;ABC Custom 希腊字母 dead key 层&#34;&gt;&#xA;    &lt;div class=&#34;caption&#34;&gt;图 7：希腊字母层尽量使用拉丁字母的联想位置。&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;此外，它还提供成对的下标和上标层，以及度数、直径、空集、版权、注册、商标、圈号字符和圆形运算符等技术符号。&lt;/p&gt;&#xA;&lt;div class=&#34;post-figure&#34;&gt;&#xA;    &lt;img src=&#34;https://jingyuan-zheng.github.io/img/abc-custom-keyboard/15-dead-key-superscript.svg&#34; alt=&#34;ABC Custom 上标 dead key 层&#34;&gt;&#xA;    &lt;div class=&#34;caption&#34;&gt;图 8：上标可以通过 Shift + Option + 9 进入。&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;安装方式&#34;&gt;安装方式&#xA;&lt;/h2&gt;&lt;p&gt;最简单的方式是使用 DMG：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;从最新 GitHub Release 下载 &lt;code&gt;ABC-Custom-Keyboard.dmg&lt;/code&gt;。&lt;/li&gt;&#xA;&lt;li&gt;打开 DMG，把 &lt;code&gt;ABC Custom.bundle&lt;/code&gt; 拖到窗口里的 &lt;code&gt;Keyboard Layouts&lt;/code&gt; 文件夹。&lt;/li&gt;&#xA;&lt;li&gt;退出登录后重新登录，或重启 macOS。&lt;/li&gt;&#xA;&lt;li&gt;打开系统设置，在键盘输入源里添加 &lt;code&gt;ABC Custom&lt;/code&gt;。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;也可以手动安装，把 &lt;code&gt;bundle/ABC Custom.bundle&lt;/code&gt; 复制到：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;~/Library/Keyboard Layouts/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;然后退出登录后重新登录，或重启 macOS。&lt;/p&gt;&#xA;&lt;h2 id=&#34;如果你想自己修改&#34;&gt;如果你想自己修改&#xA;&lt;/h2&gt;&lt;p&gt;可编辑的布局文件在 &lt;code&gt;layouts/ABC Custom.keylayout&lt;/code&gt;。发布用的 macOS 键盘布局 bundle 在 &lt;code&gt;bundle/ABC Custom.bundle&lt;/code&gt;，README 里的键位图来自 &lt;code&gt;assets/*.svg&lt;/code&gt;，可以通过 &lt;code&gt;tools/generate_keymap_svg.py&lt;/code&gt; 重新生成。&lt;/p&gt;&#xA;&lt;p&gt;如果你经常在欧洲语言、拼音声调、马耳他语字符、希腊字母和数学符号之间切换，ABC Custom Keyboard 可以把这些字符放到一套更稳定、更容易记忆的位置上，同时不牺牲标准美式键盘的输入习惯。&lt;/p&gt;&#xA;&lt;h2 id=&#34;相关阅读&#34;&gt;相关阅读&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;如果你的多语言工作还涉及文档翻译，可以看 &lt;a class=&#34;link&#34; href=&#34;https://jingyuan-zheng.github.io/zh/p/translate-document-quick-action/&#34; &gt;Translate Document Quick Action：在 Finder 里一键翻译文档，并尽量保留原结构&lt;/a&gt;。&lt;/li&gt;&#xA;&lt;li&gt;如果你想在 macOS 上使用系统原生词典，也可以看 &lt;a class=&#34;link&#34; href=&#34;https://jingyuan-zheng.github.io/zh/p/the-little-dict-macos/&#34; &gt;The Little Dict (Apple Dictionary 格式) - macOS 专用分享&lt;/a&gt;。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</description>
        </item><item>
            <title>Mac 上一键翻译文档：PDF、Word、Markdown、图片和录音都能处理</title>
            <link>https://jingyuan-zheng.github.io/zh/p/translate-document-quick-action/</link>
            <pubDate>Mon, 25 May 2026 10:00:00 +0200</pubDate>
            <guid>https://jingyuan-zheng.github.io/zh/p/translate-document-quick-action/</guid>
            <description>&lt;img src=&#34;https://jingyuan-zheng.github.io/img/translate-document-quick-action/featured.png&#34; alt=&#34;Featured image of post Mac 上一键翻译文档：PDF、Word、Markdown、图片和录音都能处理&#34; /&gt;&lt;p&gt;本文介绍 Translate Document Quick Action，一个可以从 Finder 调用的 Mac 文档翻译工具，支持 PDF、Word、Markdown、TXT、图片 OCR 和音视频转录文本。&lt;/p&gt;&#xA;&lt;p&gt;我开源了一个新的小工具：&lt;strong&gt;Translate Document Quick Action&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;p&gt;项目地址在这里：&lt;a class=&#34;link&#34; href=&#34;https://github.com/Jingyuan-Zheng/translate-document-quick-action&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Jingyuan-Zheng/translate-document-quick-action&lt;/a&gt;。&lt;/p&gt;&#xA;&lt;p&gt;它最初是一个 macOS Finder Quick Action：选中文档，右键运行，就在原文件旁边生成翻译后的文件。后来我把核心逻辑整理成了普通 Python 脚本，所以它也可以从命令行使用。&lt;/p&gt;&#xA;&lt;h2 id=&#34;为什么要做这个工具&#34;&gt;为什么要做这个工具&#xA;&lt;/h2&gt;&lt;p&gt;实际工作里的“翻译文档”很少只有一种格式。&lt;/p&gt;&#xA;&lt;p&gt;今天可能是 PDF 报告，明天是 Word 文档，后天又变成 Markdown 笔记、截图、扫描图，甚至是一段会议录音，需要先转录再翻译。&lt;/p&gt;&#xA;&lt;p&gt;很多工具只能解决其中一小段流程。&lt;strong&gt;Translate Document Quick Action&lt;/strong&gt; 想解决的是更日常的问题：尽量把这些常见文件格式放进同一个入口里，让你不用每次都临时找工具、改脚本、搬文件。&lt;/p&gt;&#xA;&lt;h2 id=&#34;支持哪些格式&#34;&gt;支持哪些格式&#xA;&lt;/h2&gt;&lt;p&gt;目前项目支持：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;PDF&lt;/strong&gt;：通过 &lt;code&gt;pdf2zh-next&lt;/code&gt; 翻译&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;DOCX&lt;/strong&gt;：直接修改 Word XML，尽量保留原始包结构和媒体引用&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Markdown&lt;/strong&gt;：保护常见 Markdown 结构后翻译&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;TXT&lt;/strong&gt;：按行保留文本结构&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;图片&lt;/strong&gt;：可使用 macOS Vision OCR 的轻量方案，或接入 &lt;code&gt;manga-image-translator&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;音频和视频&lt;/strong&gt;：通过 MacWhisper 的 &lt;code&gt;mw&lt;/code&gt; CLI 生成转录文本，并可继续翻译转录稿&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;输出文件会生成在原文件旁边，并且不会覆盖已有文件。单语译文会使用目标语言后缀，例如 &lt;code&gt;_CN.docx&lt;/code&gt;；双语文件会使用源语言和目标语言后缀，例如 &lt;code&gt;_EN_CN.docx&lt;/code&gt;。&lt;/p&gt;&#xA;&lt;h2 id=&#34;翻译效果预览&#34;&gt;翻译效果预览&#xA;&lt;/h2&gt;&lt;p&gt;PDF 双语输出使用 &lt;code&gt;pdf2zh-next&lt;/code&gt; 的双语 PDF 模式，适合对照检查原文和译文，也尽量保持页面布局的可读性。&lt;/p&gt;&#xA;&lt;div class=&#34;post-figure&#34;&gt;&#xA;    &lt;img src=&#34;https://jingyuan-zheng.github.io/img/translate-document-quick-action/featured.png&#34; alt=&#34;PDF 双语翻译输出&#34;&gt;&#xA;    &lt;div class=&#34;caption&#34;&gt;图 1：PDF 双语输出，方便对照原文与译文。&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;Markdown 和 TXT 的双语输出会按段落交错排列。这个形式很适合审校，因为你可以直接看到每段原文下面对应的译文。&lt;/p&gt;&#xA;&lt;div class=&#34;post-figure&#34;&gt;&#xA;    &lt;img src=&#34;https://jingyuan-zheng.github.io/img/translate-document-quick-action/txt-output.png&#34; alt=&#34;TXT 翻译输出&#34;&gt;&#xA;    &lt;div class=&#34;caption&#34;&gt;图 2：TXT 输出保留按行检查的便利性。&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;post-figure&#34;&gt;&#xA;    &lt;img src=&#34;https://jingyuan-zheng.github.io/img/translate-document-quick-action/markdown-bilingual.png&#34; alt=&#34;Markdown 双语翻译输出&#34;&gt;&#xA;    &lt;div class=&#34;caption&#34;&gt;图 3：Markdown 双语输出会尽量保留常见文档结构。&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;DOCX 的双语输出会在原段落后插入译文段落，同时尽量保留文档里的图片、媒体引用和原有结构。&lt;/p&gt;&#xA;&lt;div class=&#34;post-figure&#34;&gt;&#xA;    &lt;img src=&#34;https://jingyuan-zheng.github.io/img/translate-document-quick-action/docx-bilingual.png&#34; alt=&#34;DOCX 双语翻译输出&#34;&gt;&#xA;    &lt;div class=&#34;caption&#34;&gt;图 4：DOCX 双语输出适合在 Word 里继续审阅。&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;图片翻译则可以走 macOS Vision OCR 的轻量路径：识别图片里的文字，翻译后再把译文画回检测到的文本区域。它适合截图、图表、幻灯片这类相对干净的图片。&lt;/p&gt;&#xA;&lt;div class=&#34;post-figure&#34;&gt;&#xA;    &lt;img src=&#34;https://jingyuan-zheng.github.io/img/translate-document-quick-action/image-bilingual.png&#34; alt=&#34;图片双语翻译输出&#34;&gt;&#xA;    &lt;div class=&#34;caption&#34;&gt;图 5：图片双语输出会把原图和译图并排放在一起。&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;翻译引擎与隐私选择&#34;&gt;翻译引擎与隐私选择&#xA;&lt;/h2&gt;&lt;p&gt;文本翻译部分目前支持 Google、Bing 的网页端点，也支持本地 &lt;strong&gt;Ollama&lt;/strong&gt; 适配器。&lt;/p&gt;&#xA;&lt;p&gt;Google 和 Bing 的方式胜在方便，但它们不是官方付费 API，可能遇到限流，也可能因为上游行为变化而失效。如果是敏感文档，我更建议使用本地 Ollama 后端，或者把翻译适配器替换成正式的官方 API。&lt;/p&gt;&#xA;&lt;p&gt;这个项目刻意把“文件结构处理”和“翻译后端”分开，后续要换引擎会比较直接。&lt;/p&gt;&#xA;&lt;h2 id=&#34;安装方式&#34;&gt;安装方式&#xA;&lt;/h2&gt;&lt;p&gt;先安装 Python 依赖：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;python3 -m venv .venv&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;source&lt;/span&gt; .venv/bin/activate&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pip install -r requirements.txt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;如果要翻译 PDF，需要单独安装 &lt;code&gt;pdf2zh-next&lt;/code&gt;：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;uv tool install --python python3.13 &lt;span class=&#34;s2&#34;&gt;&amp;#34;pdf2zh-next==2.6.4&amp;#34;&lt;/span&gt; --with &lt;span class=&#34;s2&#34;&gt;&amp;#34;BabelDOC==0.5.16&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;如果要使用 macOS Finder Quick Actions，可以运行：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;python3 macos/install_quick_actions.py&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h2 id=&#34;命令行用法&#34;&gt;命令行用法&#xA;&lt;/h2&gt;&lt;p&gt;翻译 TXT、Markdown 和 DOCX：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;python3 scripts/translate_document_worker.py --engine google --lang-out zh --mode both file.txt notes.md paper.docx&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;用 macOS Vision OCR 的轻量方案翻译图片：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;python3 scripts/translate_image_worker.py --image-engine simple-macos --text-engine google --lang-in auto --lang-out zh --mode both image.png&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;转录音频或视频，并翻译转录稿：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;python3 scripts/translate_audio_worker.py --operation both --engine google --lang-out zh --mode dual interview.m4a&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h2 id=&#34;使用时要注意什么&#34;&gt;使用时要注意什么&#xA;&lt;/h2&gt;&lt;p&gt;这是一个面向日常自动化的工具，不是“所有复杂文档都能完美翻译”的承诺。&lt;/p&gt;&#xA;&lt;p&gt;DOCX 目前覆盖正文、页眉、页脚、脚注、尾注和批注等常见内容。像 SmartArt、嵌入对象、公式、复杂文本框这类 Word 高级结构，仍然需要更多测试。&lt;/p&gt;&#xA;&lt;p&gt;图片里的 &lt;code&gt;simple-macos&lt;/code&gt; 引擎适合干净截图、图表和幻灯片。它不是 AI 修图或智能重绘。如果背景复杂，或者是漫画这类场景，更适合接入可选的 &lt;code&gt;manga-image-translator&lt;/code&gt;。&lt;/p&gt;&#xA;&lt;p&gt;如果你的翻译工作经常在 PDF、Word、Markdown、截图和录音之间来回切换，这个项目至少能把入口统一起来，让常见任务不用再散落在一堆临时脚本里。&lt;/p&gt;&#xA;&lt;h2 id=&#34;相关阅读&#34;&gt;相关阅读&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;如果你更关心纯文本的本地 AI 翻译和隐私，可以看 &lt;a class=&#34;link&#34; href=&#34;https://jingyuan-zheng.github.io/zh/p/mac-lite-translator-local-ai-translation/&#34; &gt;Mac-Lite-Translator：基于 Google Gemma 的 Mac 本地翻译工具&lt;/a&gt;。&lt;/li&gt;&#xA;&lt;li&gt;如果你经常处理多语言写作，也可以看 &lt;a class=&#34;link&#34; href=&#34;https://jingyuan-zheng.github.io/zh/p/abc-custom-keyboard/&#34; &gt;ABC Custom Keyboard：一把美式键盘覆盖多语言写作和学术符号&lt;/a&gt;。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</description>
        </item><item>
            <title>Mac DMG 安装包怎么做？用 DMG Maker 自动生成带背景的安装镜像</title>
            <link>https://jingyuan-zheng.github.io/zh/p/dmg-maker-%E8%87%AA%E5%8A%A8%E5%8C%96%E5%88%9B%E5%BB%BA%E7%B2%BE%E7%BE%8E%E7%9A%84-macos-%E5%AE%89%E8%A3%85%E5%8C%85/</link>
            <pubDate>Tue, 12 May 2026 20:10:17 +0800</pubDate>
            <guid>https://jingyuan-zheng.github.io/zh/p/dmg-maker-%E8%87%AA%E5%8A%A8%E5%8C%96%E5%88%9B%E5%BB%BA%E7%B2%BE%E7%BE%8E%E7%9A%84-macos-%E5%AE%89%E8%A3%85%E5%8C%85/</guid>
            <description>&lt;img src=&#34;https://jingyuan-zheng.github.io/img/dmg-maker/featured.png&#34; alt=&#34;Featured image of post Mac DMG 安装包怎么做？用 DMG Maker 自动生成带背景的安装镜像&#34; /&gt;&lt;p&gt;本文介绍 DMG Maker，一个帮 macOS 小工具自动生成 DMG 安装包的脚本，适合需要背景图、图标摆放和快捷链接的分发场景。&lt;/p&gt;&#xA;&lt;p&gt;我刚刚开源了 &lt;strong&gt;DMG Maker&lt;/strong&gt;，这是一个旨在简化 macOS 专业安装包制作过程的小工具。&lt;/p&gt;&#xA;&lt;h2 id=&#34;为什么使用-dmg-maker&#34;&gt;为什么使用 DMG Maker？&#xA;&lt;/h2&gt;&lt;p&gt;手动制作带背景图的 DMG 通常需要编写复杂的 AppleScript 或者繁琐的 Finder 手动操作。DMG Maker 通过一行命令将这一切自动化。&lt;/p&gt;&#xA;&lt;h2 id=&#34;核心功能&#34;&gt;核心功能&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;自动软链接&lt;/strong&gt;: 自动识别文件类型（如 &lt;code&gt;.dictionary&lt;/code&gt; 或 &lt;code&gt;.app&lt;/code&gt;）并链接到对应的系统目录。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;自定义视觉&lt;/strong&gt;: 轻松应用背景图并根据坐标定位图标。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;开源&lt;/strong&gt;: 欢迎在 &lt;a class=&#34;link&#34; href=&#34;https://github.com/Jingyuan-Zheng/dmg-maker&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;GitHub&lt;/a&gt; 上查看源码。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;快来尝试为你的项目制作精美的安装包吧！&lt;/p&gt;&#xA;&lt;h2 id=&#34;相关阅读&#34;&gt;相关阅读&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;我在 &lt;a class=&#34;link&#34; href=&#34;https://jingyuan-zheng.github.io/zh/p/the-little-dict-macos/&#34; &gt;The Little Dict (Apple Dictionary 格式) - macOS 专用分享&lt;/a&gt; 里就用到了 DMG 分发词典文件，这类 &lt;code&gt;.dictionary&lt;/code&gt; 安装包很适合用 DMG 做引导。&lt;/li&gt;&#xA;&lt;li&gt;如果你想做更完整的 macOS 工具分发，也可以看 &lt;a class=&#34;link&#34; href=&#34;https://jingyuan-zheng.github.io/zh/p/abc-custom-keyboard/&#34; &gt;ABC Custom Keyboard：一把美式键盘覆盖多语言写作和学术符号&lt;/a&gt;。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</description>
        </item></channel>
</rss>
