随笔

Navicat 中文助手:让英文报错说人话

在 Navicat 里执行 SQL 报错,信息面板里蹦出一行英文:`1146 - Table 'wh0524.t_user' doesn't exist`。老手扫一眼就懂,新手得先翻译再理解。**根据项目记录推测**,作者自己写 SQL 时被英文报错烦到了,决定做个小工具让它"说人话"。思路很巧:**外挂式独立小程序**。不截图识别(OCR 又慢又不准),不联网,直接读取 Navicat"信息"面板的文本。也不向 Navicat 写入任何内容——只读不写,干净。

Navicat 中文助手:让英文报错说人话

本文根据 GitHub 仓库 xueze-ai/navicat-chinese-helper 的 README 整理。无确切记录之处已标注"根据项目记录推测"或"待补充"。

为什么做

在 Navicat 里执行 SQL 报错,信息面板里蹦出一行英文:1146 - Table 'wh0524.t_user' doesn't exist。老手扫一眼就懂,新手得先翻译再理解。根据项目记录推测,作者自己写 SQL 时被英文报错烦到了,决定做个小工具让它"说人话"。

怎么做

思路很巧:外挂式独立小程序。不截图识别(OCR 又慢又不准),不联网,直接读取 Navicat"信息"面板的文本。也不向 Navicat 写入任何内容——只读不写,干净。

两层翻译:

  1. 词库翻译:完全离线,本地词库把英文报错变成中文,装完就能用
  2. AI 分析(可选):填一个自己的 OpenAI 兼容接口(比如阿里云百炼),程序会把"原因 + 怎么检查 + 怎么解决"写在报错下面,还按严重程度着色。不填密钥就完全不联网

技术选择

  • C#:Windows 桌面小工具的经典选择
  • 直接读面板文本:比 OCR 可靠得多,也快得多
  • 离线优先,AI 可选:把选择权交给用户,不想联网就别填密钥

效果

README 里给了对照表,1062 - Duplicate entry 变成"值重复,违反唯一约束",1049 - Unknown database 变成"未知数据库"。根据项目记录推测,词库覆盖的是 MySQL 最常见的那几十种报错——解决 90% 的日常场景。

现在的状态

  • 仓库:xueze-ai/navicat-chinese-helper
  • 许可:待补充(README 未注明)
  • 状态:可用,持续打磨中(根据项目记录推测)

小工具解决小痛点。这种"为自己做工具"的项目,往往比大而全的项目更有生命力。