LiveCaptions Translator for macOS - 实时字幕翻译助手
版本:1.0.0
更新日期:2026年2月
LCT (LiveCaptions Translator) 是一款专为 macOS 设计的实时字幕翻译应用程序。它能够:
- 🎤 实时捕获音频:支持系统音频和麦克风输入
- 🗣️ 精准语音识别:使用 Apple 的 SFSpeechRecognizer 技术,支持 14 种语言
- 🌍 智能翻译:通过本地 Ollama AI 模型实现高质量翻译
- 📊 实时显示:主窗口和悬浮窗口同步显示字幕和翻译
- 📝 历史记录:自动保存所有翻译历史,支持搜索和导出
- 🎨 可定制界面:灵活的窗口设置和显示选项
- 📹 在线会议翻译:实时翻译 Zoom、Teams、Meet 等会议内容
- 🎬 视频内容翻译:观看外语视频时提供实时字幕翻译
- 🎓 在线课程学习:帮助理解外语教学内容
- 💼 跨语言沟通:商务会议中的实时翻译助手
- 🎮 游戏交流:多人游戏中的语音交流翻译
- 操作系统:macOS 15.0 (Sequoia) 或更高版本
- 处理器:Apple Silicon (M1/M2/M3) 或 Intel Core i5 及以上
- 内存:8 GB RAM(推荐 16 GB)
- 存储空间:至少 8 GB 可用空间(用于应用和默认 Ollama 模型)
- 网络:首次安装时需要网络连接下载 AI 模型
- 处理器:Apple Silicon (M1 Pro/Max/Ultra, M2 Pro/Max, M3 Pro/Max)
- 内存:16 GB RAM 或更多
- 存储空间:10 GB 可用空间(用于多个 AI 模型)
- ✅ 麦克风访问权限
- ✅ 屏幕录制权限(用于捕获系统音频)
- ✅ 语音识别权限
- 从 GitHub Releases 页面下载最新版本
- 下载
LCT-macOS-{version}.dmg文件
LCT 需要 Ollama 作为本地 AI 翻译引擎。
首次启动 LCT 时,应用会自动检测 Ollama 是否安装:
- 如果未安装,应用会提供一键安装按钮
- 点击"Install Ollama"即可自动下载并安装
如果自动安装失败,可以手动安装:
# 使用 Homebrew 安装
brew install ollama
# 启动 Ollama 服务
ollama serve或访问 Ollama 官网 下载安装包。
- 双击下载的
.dmg文件 - 将 LCT 图标拖拽到"应用程序"文件夹
- 从启动台或应用程序文件夹启动 LCT
首次启动时,LCT 会引导你完成初始设置:
- 了解 LCT 的主要功能
- 点击"开始设置"继续
LCT 需要以下权限才能正常工作:
-
麦克风权限:用于捕获你的语音输入
- 系统会弹出权限对话框,点击"好"授予权限
-
屏幕录制权限:用于捕获系统音频(如会议、视频音频)
- 前往"系统设置 > 隐私与安全性 > 屏幕录制"
- 勾选 LCT
-
语音识别权限:用于语音转文字
- 系统会弹出权限对话框,点击"好"授予权限
- LCT 会自动检测 Ollama 是否已安装并运行
- 如果 Ollama 未安装,会提供安装选项
- 如果 Ollama 已安装但未运行,会提示启动服务
- LCT 会推荐并下载默认 AI 模型(qwen3.5:4b-mlx)
- 下载过程可能需要几分钟,取决于网络速度
- 也可以选择其他推荐模型:
qwen3.5:4b-mlx- 平衡性能(推荐,约 2.5GB)llama3.2:3b- Meta 官方模型(2GB)gemma2:2b- Google 轻量模型(1.6GB)
- 设置完成后,LCT 会进入主界面
- 你现在可以开始使用实时翻译功能了!
点击主窗口左上角的 "Start" 按钮,或使用快捷键 ⌘ + Space。
- 🎤 麦克风指示器会变为绿色(如果启用麦克风)
- 🔊 系统音频指示器会变为绿色(如果启用系统音频)
- 应用会开始监听音频并进行实时识别
- 主窗口:显示最近的多条转录记录
- 悬浮窗口:轻量级的浮动窗口,可放置在屏幕任意位置
- 原文识别完成后,会自动进行翻译
- 翻译结果显示在字幕下方
- 延迟时间(毫秒)会显示在右侧
- 点击翻译文本右侧的"复制"按钮
- 或使用快捷键
⌘ + ⇧ + C
再次点击 "Stop" 按钮,或使用快捷键 ⌘ + Space。
- 用途:捕获应用程序播放的所有音频
- 适用场景:会议软件、视频播放器、浏览器音频等
- 注意:需要"屏幕录制"权限
- 用途:捕获你的语音输入
- 适用场景:需要翻译自己说话内容
- 注意:需要"麦克风"权限
- 主窗口底部显示实时音频电平
- 绿色波形表示正在接收音频
- 可以用于调试音频输入是否正常
LCT 使用 Apple 的 SFSpeechRecognizer,支持以下语言:
| 语言 | 识别代码 | 支持质量 |
|---|---|---|
| 英语(美国) | en-US | ⭐⭐⭐⭐⭐ |
| 英语(英国) | en-GB | ⭐⭐⭐⭐⭐ |
| 中文(简体) | zh-CN | ⭐⭐⭐⭐⭐ |
| 中文(繁体) | zh-TW | ⭐⭐⭐⭐ |
| 日语 | ja-JP | ⭐⭐⭐⭐⭐ |
| 韩语 | ko-KR | ⭐⭐⭐⭐ |
| 西班牙语 | es-ES | ⭐⭐⭐⭐⭐ |
| 法语 | fr-FR | ⭐⭐⭐⭐ |
| 德语 | de-DE | ⭐⭐⭐⭐ |
| 俄语 | ru-RU | ⭐⭐⭐⭐ |
| 葡萄牙语 | pt-BR | ⭐⭐⭐⭐ |
| 意大利语 | it-IT | ⭐⭐⭐⭐ |
| 阿拉伯语 | ar-SA | ⭐⭐⭐ |
| 印地语 | hi-IN | ⭐⭐⭐ |
- 实时识别:边说边显示
- 自动标点:智能添加标点符号
- 置信度显示:显示识别准确度
- 说话人识别:未来版本将支持
- 🇨🇳 中文 (Chinese)
- 🇺🇸 英语 (English)
- 🇯🇵 日语 (Japanese)
- 🇰🇷 韩语 (Korean)
- 🇪🇸 西班牙语 (Spanish)
- 🇫🇷 法语 (French)
- 🇩🇪 德语 (German)
- 🇷🇺 俄语 (Russian)
- 🇸🇦 阿拉伯语 (Arabic)
- 🇧🇷 葡萄牙语 (Portuguese)
- 上下文感知:基于之前的翻译历史提供更准确的翻译
- 术语保留:自动识别并保留专有名词、公司名称等
- 不完整句处理:智能处理未完成的句子
- 自定义提示词:可以自定义翻译风格和要求
- 防抖队列:避免频繁的翻译请求
- 智能合并:自动合并连续的短句
- 延迟显示:显示每次翻译的耗时
- 始终置顶:窗口始终显示在最前面
- 半透明背景:不遮挡后面的内容
- 可拖动:可以移动到屏幕任意位置
- 可调整大小:拖动边角调整窗口大小
- 点击穿透:可选择是否允许点击穿透
- 最近 3 条转录记录
- 当前翻译结果
- 可选择性显示延迟时间
- 鼠标悬停显示控制按钮
- 快速关闭/最小化
- 点击主窗口的"历史"按钮,或使用快捷键
⌘ + ⇧ + H - 历史窗口会显示所有翻译记录
- 时间排序:最新记录在最前
- 搜索功能:搜索原文或译文
- 日期筛选:按日期范围筛选
- 详细信息:
- 原始文本
- 翻译文本
- 目标语言
- 翻译时间
- 延迟时间(毫秒)
- CSV 导出:可导出为 CSV 文件用于 Excel 分析
- 复制单条:复制单条翻译记录
- 清除历史:清除所有历史记录
- 历史记录使用 SQLite 数据库存储
- 存储位置:
~/Library/Application Support/LCT/history.sqlite - 自动建立索引以提高查询速度
- 点击主窗口的"设置"按钮
- 或使用快捷键
⌘ + , - 或从菜单栏选择 "LCT > Settings..."
- 默认:开启
- 说明:捕获应用程序播放的音频
- 用途:会议、视频等
- 默认:开启
- 说明:捕获麦克风输入的音频
- 用途:自己的语音输入
💡 提示:可以同时启用两者,或根据需要单独启用
- 默认:English (US)
- 说明:选择要识别的语音语言
- 建议:选择与说话内容最匹配的语言
- 默认:
localhost - 说明:Ollama 服务的主机地址
- 高级:如果 Ollama 运行在其他机器上,可以填写对应 IP
- 默认:
11434 - 说明:Ollama 服务的端口号
- 注意:通常不需要修改
- 默认:
qwen3.5:4b-mlx - 说明:用于翻译的 AI 模型
- 推荐选项:
qwen3.5:4b-mlx- 平衡性能(推荐)qwen2.5:7b- 更高质量(需要更多内存)llama3.2:3b- Meta 官方模型gemma2:2b- 轻量快速
💡 提示:点击模型名称旁的"管理模型"按钮可以下载新模型
- 默认:30 秒
- 说明:翻译请求的最大等待时间
- 建议:15-60 秒之间
- 默认:0.3
- 范围:0.0 - 1.0
- 说明:
- 低温度(0-0.3):更准确、一致的翻译
- 中温度(0.3-0.7):平衡创造性和准确性
- 高温度(0.7-1.0):更有创造性,但可能不太准确
- 推荐:翻译场景使用 0.2-0.4
- 默认:Chinese(中文)
- 说明:翻译的目标语言
- 注意:显示语言的英文名和本地名称
- 默认:开启
- 说明:使用之前的翻译历史提供更好的上下文理解
- 效果:提高翻译连贯性和准确性
- 默认:5
- 范围:1-10
- 说明:翻译时参考的历史条目数量
- 建议:3-7 条,更多可能影响速度
- 默认:使用内置专业翻译提示词
- 说明:自定义翻译的风格和要求
- 用途:
- 指定特定领域术语处理
- 调整翻译风格(正式/非正式)
- 添加特殊要求
默认提示词示例:
You are a professional simultaneous interpreter.
Translate the text enclosed in 🔤 markers to {TARGET_LANGUAGE}.
CRITICAL RULES:
1. Output ONLY the translated text, never the original text
2. Handle incomplete sentences naturally and professionally
3. Preserve technical terms, company names, and proper nouns accurately
4. Maintain appropriate tone and formality
5. For unclear speech, provide the most likely interpretation
- 默认:开启
- 说明:启动时是否显示悬浮窗口
- 快捷键:
⌘ + O可随时切换
- 默认:0.85
- 范围:0.0 - 1.0
- 说明:0 完全透明,1 完全不透明
- 默认:14.0
- 范围:10.0 - 24.0
- 说明:悬浮窗口中字幕的字体大小
- 默认:开启
- 说明:是否显示翻译延迟时间
- 默认:5
- 范围:3-10
- 说明:主窗口中显示的最大转录卡片数量
- 默认:关闭
- 说明:启用后,可以点击悬浮窗口下方的内容
- 用途:当需要与悬浮窗口下方的应用交互时启用
- 默认:白色 (#FFFFFF)
- 说明:悬浮窗口中的文字颜色
- 建议:根据背景选择对比度高的颜色
- 默认:黑色 (#000000)
- 说明:悬浮窗口的背景颜色
- 提示:配合透明度使用
- 点击"Done"按钮保存所有更改
- 大部分设置会立即生效
- 某些设置(如模型选择)可能需要重启捕获
| 快捷键 | 功能 | 说明 |
|---|---|---|
⌘ + Space |
开始/停止捕获 | 切换音频捕获状态 |
⌘ + P |
暂停/继续 | 暂停或继续识别和翻译 |
⌘ + , |
打开设置 | 打开设置窗口 |
⌘ + ⇧ + C |
复制翻译 | 复制当前翻译内容 |
⌘ + O |
切换悬浮窗口 | 显示/隐藏悬浮窗口 |
⌘ + ⇧ + H |
查看历史 | 打开历史记录窗口 |
⌘ + W |
关闭窗口 | 关闭当前窗口 |
⌘ + Q |
退出应用 | 完全退出 LCT |
⌘ + U |
检查更新 | 检查应用更新(待实现) |
⌘ + C:复制选中的文本⌘ + A:全选⌘ + F:搜索(历史窗口)
- 鼠标悬停:显示控制按钮
- 拖动:移动窗口位置
- 拖动边角:调整窗口大小
Q1: 首次启动时提示"无法打开应用"怎么办?
A: 这是 macOS 的安全机制。解决方法:
- 右键点击 LCT 应用
- 选择"打开"
- 在弹出的对话框中点击"打开"
或者在"系统设置 > 隐私与安全性"中允许运行。
Q2: Ollama 安装失败怎么办?
A: 尝试手动安装:
# 使用 Homebrew
brew install ollama
# 启动服务
ollama serve如果还是失败,访问 Ollama 官网 下载官方安装包。
Q3: 如何验证 Ollama 是否正常运行?
A: 打开终端,运行:
curl http://localhost:11434/api/tags如果返回 JSON 数据,说明 Ollama 正在运行。
Q4: 授予了屏幕录制权限,但还是无法捕获系统音频?
A: 授予权限后需要重启应用:
- 完全退出 LCT(
⌘ + Q) - 重新启动 LCT
- 再次尝试捕获
Q5: 如何重新授予权限?
A: 前往"系统设置":
- 点击"隐私与安全性"
- 分别点击"麦克风"、"屏幕录制"、"语音识别"
- 取消勾选 LCT
- 重新勾选 LCT
- 重启应用
Q6: 为什么没有声音识别出来?
A: 检查以下几点:
- ✅ 确认"开始"按钮已点击(显示绿色)
- ✅ 确认音频电平指示器有波动
- ✅ 确认选择了正确的源语言
- ✅ 确认音量足够大
- ✅ 确认授予了相应权限(麦克风或屏幕录制)
Q7: 识别出来了,但没有翻译?
A: 检查以下几点:
- ✅ Ollama 服务是否在运行:在终端运行
ollama serve - ✅ AI 模型是否已下载:在终端运行
ollama list - ✅ Ollama 设置是否正确(主机、端口、模型名称)
- ✅ 查看主窗口是否有错误提示
Q8: 翻译速度太慢怎么办?
A: 尝试以下优化:
- 使用更小的模型(如
gemma2:2b) - 减少上下文条目数量(设置中的"Max Context Entries")
- 降低 Temperature 值
- 确保 Mac 没有在省电模式下运行
Q9: 悬浮窗口不见了怎么办?
A:
- 使用快捷键
⌘ + O切换显示 - 或在设置中重新启用"Show Overlay Window"
- 检查窗口是否被移到了屏幕外(重启应用会重置位置)
Q10: 如何在全屏应用中使用悬浮窗口?
A: 悬浮窗口默认会显示在所有窗口之上,包括全屏应用。如果看不到:
- 确认悬浮窗口已启用
- 尝试调整透明度(如果太透明可能看不清)
- 某些全屏游戏可能会覆盖悬浮窗口,这是系统限制
Q11: 应用占用内存太大?
A: 正常情况下,LCT 占用 100-500 MB 内存,取决于:
- Ollama 模型大小
- 历史记录数量
- 音频缓冲区大小
优化建议:
- 定期清理历史记录
- 使用更小的 AI 模型
- 不使用时停止捕获
Q12: CPU 占用过高?
A: 实时识别和翻译会占用一定 CPU,但通常不应超过 30%。如果过高:
- 检查是否有其他应用同时占用 CPU
- 尝试降低音频采样率(需要修改代码)
- 更换更强大的模型可能会占用更多 CPU
Q13: 如何下载其他模型?
A: 在终端中运行:
# 下载默认模型
ollama pull qwen3.5:4b-mlx
# 下载 llama3.2:3b
ollama pull llama3.2:3b
# 下载 gemma2:2b
ollama pull gemma2:2b或在 LCT 设置中点击"管理模型"。
Q14: 哪个模型最好?
A: 取决于你的需求:
- 最佳平衡:
qwen3.5:4b-mlx- 推荐日常使用 - 最快速度:
gemma2:2b- 适合低配置 Mac - 最高质量:
qwen2.5:7b- 需要 16GB+ 内存 - 兼容性:
llama3.2:3b- Meta 官方模型
Q15: 如何删除不用的模型?
A: 在终端中运行:
ollama rm <model-name>
# 例如
ollama rm qwen2.5:7b症状:双击应用图标后没有反应
解决方法:
- 检查系统要求(macOS 15.0+)
- 查看"控制台"应用中的错误日志
- 尝试从终端启动:
/Applications/LCT.app/Contents/MacOS/LCT
- 重新下载并安装应用
症状:应用显示"Ollama 未连接"
解决方法:
-
确认 Ollama 已安装:
which ollama
-
启动 Ollama 服务:
ollama serve
-
检查端口是否被占用:
lsof -i :11434
-
验证连接:
curl http://localhost:11434/api/tags
-
如果使用自定义端口,在设置中修改
症状:识别结果错误或缺字
解决方法:
- 确认语言选择正确:源语言要与说话语言一致
- 改善音频质量:
- 减少背景噪音
- 靠近麦克风说话
- 提高音量
- 检查网络连接:Apple 的语音识别可能需要网络
- 重启语音识别服务:停止后重新开始捕获
症状:翻译不准确或不自然
优化方法:
- 启用上下文感知翻译:提供更好的连贯性
- 调整 Temperature:降低到 0.2-0.3
- 使用更大的模型:如
qwen2.5:7b - 自定义提示词:添加特定领域的要求
- 增加上下文条目:提高到 5-7 条
症状:之前的翻译历史找不到了
解决方法:
-
检查数据库文件是否存在:
ls ~/Library/Application\ Support/LCT/history.sqlite
-
如果文件存在,尝试在历史窗口中搜索
-
如果文件损坏,LCT 会自动创建新的数据库
-
定期导出历史记录作为备份
紧急处理:
-
使用
⌘ + Q尝试正常退出 -
如果无响应,强制退出:
⌘ + ⌥ + Esc- 选择 LCT
- 点击"强制退出"
-
或在终端中:
killall LCT
预防措施:
- 定期重启应用
- 清理历史记录
- 监控内存使用
- 更新到最新版本
如果需要报告问题,可以收集日志:
-
应用日志:
- 打开"控制台"应用
- 搜索"LCT"或"com.yourcompany.LCT"
- 导出相关日志
-
Ollama 日志:
# 查看 Ollama 服务日志 journalctl -u ollama -
系统日志:
# 查看系统日志 log show --predicate 'process == "LCT"' --last 1h
LCT 承诺保护你的隐私:
- 语音识别:使用 Apple 的 SFSpeechRecognizer,可能会发送音频到 Apple 服务器进行处理
- AI 翻译:完全在本地运行(通过 Ollama),不会发送到任何服务器
- 历史记录:存储在本地 SQLite 数据库,不会上传
- 不收集用户身份信息
- 不收集使用统计数据
- 不包含广告或追踪器
- 可以随时清除历史记录
- 可以导出数据
- 卸载应用时可以手动删除数据文件
- 历史数据库:
~/Library/Application Support/LCT/history.sqlite - 设置文件:
~/Library/Preferences/com.yourcompany.LCT.plist - 临时音频缓冲:内存中,不会保存到磁盘
如果需要完全删除 LCT 的所有数据:
# 删除应用
rm -rf /Applications/LCT.app
# 删除数据文件
rm -rf ~/Library/Application\ Support/LCT
# 删除设置
rm ~/Library/Preferences/com.yourcompany.LCT.plist
# 删除缓存(如果有)
rm -rf ~/Library/Caches/com.yourcompany.LCT- 用途:仅用于捕获你的语音进行识别
- 何时使用:仅在启用"Capture Microphone"并点击开始时
- 数据处理:音频会发送到 Apple 进行识别,识别结果保存在本地
- 用途:仅用于捕获系统音频(应用程序的声音)
- 何时使用:仅在启用"Capture System Audio"并点击开始时
- 不会录制:不会录制屏幕画面,只捕获音频
- 数据处理:与麦克风相同
- 用途:使用 Apple 的语音识别 API
- 数据处理:Apple 可能会保存语音数据用于改进服务
- 隐私政策:参考 Apple 隐私政策
LCT 在以下情况下需要网络连接:
- 首次安装:下载 AI 模型
- 语音识别:Apple 的语音识别可能需要网络连接(取决于语言)
- 检查更新:手动检查应用更新时
- 保持更新:及时安装应用更新和安全补丁
- 密码保护:如果翻译内容包含敏感信息,使用 Mac 的屏幕锁定功能
- 定期清理:定期清除历史记录中的敏感内容
- 谨慎分享:导出的历史记录文件包含所有翻译内容,分享时注意
- GitHub Issues:报告问题或建议
- 文档:在线文档
- Email:support@example.com
报告问题时,请提供:
- macOS 版本
- LCT 版本
- 问题描述
- 复现步骤
- 错误日志(如果有)
LCT 是开源项目,欢迎贡献:
- 报告 Bug
- 提出新功能建议
- 提交代码改进
- 改进文档
首次发布 🎉
核心功能:
- ✅ 实时语音识别(支持 14 种语言)
- ✅ 实时 AI 翻译(支持 10 种目标语言)
- ✅ 主窗口和悬浮窗口显示
- ✅ 历史记录管理和搜索
- ✅ 上下文感知翻译
- ✅ 自定义设置和提示词
- ✅ 首次使用向导
- ✅ Ollama 自动检测和模型管理
技术特性:
- 使用 Apple SFSpeechRecognizer
- 集成 Ollama 本地 AI
- SQLite 历史数据库
- SwiftUI 原生界面
- 支持 Apple Silicon 和 Intel
LCT 基于以下优秀的开源项目和技术:
- Apple SFSpeech:语音识别框架
- Ollama:本地 AI 模型运行引擎
- SQLite.swift:SQLite 数据库封装
- SwiftUI:现代化的 UI 框架
感谢所有贡献者和用户的支持!
LCT 使用 MIT 许可证发布。详见 LICENSE 文件。
Enjoy real-time translation with LCT! 🚀
如有任何问题或建议,欢迎联系我们!