非法加冯

为什么要做 PostgreSQL 汉化?

PostgreSQL 19 的发布时间表定了:RC1 在下周四(10 月 15 日),不出意外的话,正式版在 10 月 29 日发布。

借这个节点,老冯报告一个和中文用户直接相关的好消息:继简体中文之后,繁体中文的消息本地化也进了 PG 19。从这个版本开始,PostgreSQL 会同时说一口完整的简体中文和繁体中文。

简体中文支持之前已经聊过,今天再聊聊为什么要做这件事。

Image

简繁中文,全部达标

顾一下:前阵子老冯给 PG 上游提交的简体中文(zh_CN)消息翻译,已经随 19 Beta 4 发布。这几天我又对简中做了一轮校补,并以此为基础生成了繁体中文(zh_TW)版本,同样提交到了上游,会随下周的 RC1 一起发布。

Image

这件事不用听我说,PG 官方的翻译状态站 babel.postgresql.org 上就能看到。PG 19 分支一共有 28 个需要翻译的组件、一万两千六百多条消息,从数据库内核 postgres、命令行客户端 psql,到 pg_dump、pg_basebackup、pg_upgrade 这些工具都在里面。

Image

截至今天,简体中文和繁体中文的 28 个组件全部在 98% 以上:内核 postgres(6806 条)是 99%,psql(1536 条)是 100%。

放到全部 30 种语言里比一比:所有组件都在 98% 以上的,只有五种:德语、瑞典语、乌克兰语,以及简体中文和繁体中文。 日语、法语、俄语、西班牙语这些老牌大语种,都还有组件没翻完。

Image

再对比一下 PG 18 分支:简体中文的 libpq 只有 13%,pg_upgrade 25%,pg_waldump 31%;繁体中文的 pg_combinebackup 52%,pg_basebackup 62%。翻译率不够的组件不会随版本发布;达标了但没翻完的,没翻到的那些消息就直接显示英文。这就是很多人在中文系统上看到 PG 中英夹杂的原因。

Image

(以上数据来自 babel.postgresql.org,截至 2026 年 10 月 10 日。)

从 PG 19 开始,自动翻译与跟进的工作流也建起来了。正式发布前还会再合并一轮,争取所有组件都补到 100%。后续新增的消息会持续跟上,简繁两版同步更新,中文覆盖不会再是一个问题。

Image

繁体中文,不是简繁转换

做繁体中文,最省事的办法是拿简体版跑一遍简繁转换,比如用 OpenCC。但两岸的技术术语本来就不一样,词典式的转换只能换掉一部分常用词,换不对、换不全的地方,台湾的朋友一看就别扭。随便举几个常见的差异:

Image

所以这次的繁体版,是在校补过的简体版基础上生成,再逐条订正术语。术语对照是我在 Claude 和 Codex 的帮助下一条条敲定的,大面上有把握。简繁两版出自同一个底子,结构、语气、用词习惯保持一致,后续也会同步更新。

Image

但毕竟两岸语言习惯有差异,所以如果你在台湾,或者习惯用繁体中文,欢迎多提意见:哪条翻得别扭、哪个术语不地道,都可以告诉我。pgsql.cc/nls 上有一个翻译工作台,所有消息的译文都能在上面查到。

AI 都这么强了,为什么还要汉化?

不少人问过我这个问题:程序员都用英文,折腾这个干嘛?老实说,这话并非没有道理。老冯自己的命令行环境里,locale 是强制设成英文的,写代码的注释也全用英文。英语是技术世界的通用语,现在又有 AI,遇到看不懂的报错扔进去翻译一下就完了,又何必费这个劲?

但老冯觉得,这件事还是应该做,主要有这么几个理由。

第一,母语阅读速度更快。 我能读英文,但读中文能一目十行,读英文就要慢一拍。平时写代码感觉不明显,可到了半夜线上出故障、满屏报错的时候,这一拍的差距是实打实的。故障现场,没人有工夫去开个对话框慢慢问 AI。

第二,开发者英语好,不代表所有用户英语好。 更好的中文错误信息,意味着更多中文用户能更快地看懂问题、更透彻地理解问题。本地化从来不是给专家做的,是给大多数人做的。

第三,半吊子的本地化,会拉低第一印象、抬高上手门槛。 大多数人的系统语言就是中文,绝大多数用户不会像我一样去改系统的 locale 和 LANG。在中文系统上装 PostgreSQL,默认看到的就是中文消息。而在 PG 19 之前,这些中文消息是过时、零散、中英夹杂的,比全英文还糟糕得多。

新用户第一眼看到这样的本地化水平,难免会嘀咕:这就是 PostgreSQL 的水准?所以,这种事要么不做,要做就做完整。半半拉拉摆在那儿,是最难看的。

顺便说说其他几个站点

消息汉化解决的是“报错看得懂”,但要用好 PG,还得有文档和资料。这块老冯也做了三个站点:pgsql.cc、pg.center 和 pgext.cloud。

pgsql.cc 是 postgresql.org 官网的中文版,由 Pigsty 团队维护,PG 官网上有的东西,这里都有对应的中文版本。这里最独特的资源,是 PostgreSQL 从 6.3 到 20devel 整整 31 个大版本的官方手册,全部按统一的标准、风格和术语翻成了中文,还配了一个更好用的全文检索,可以方便地跨版本检索各种对象。

Image

此外,这里还有 PG 扩展百科、PG 每日快讯、PG 知识图谱等几个额外的栏目。PostgreSQL 中文社区的消息与更新,以后也会在这里发布。

PG 中文文档发布:11 个大版本,一个不落

PostgreSQL 中文站,再加一份日报专栏

Image

pg.center 是一个中英双语站点,默认英文,目标是把 PostgreSQL 世界的各类知识收集整理起来,做成一部最全的 PG 百科全书。比如最近,我们把 PG 里的各类对象(SQL 命令、数据类型、函数、配置参数……)整理了一遍,并梳理了它们在 31 个大版本里的历史变迁。

Image

这里还维护着 31 个大版本的 PG 手册,以及 Patroni、pgBackRest、PgBouncer、etcd、HAProxy 的中英双语文档与索引。如果你还希望看到哪些内容,欢迎告诉我们,我们会持续补充和维护。

Image

pgext.cloud 是一个专注 PostgreSQL 扩展生态的站点,收录了 PG 世界里 2600 多个扩展。我们不只整理这些扩展的元数据,还为这 2600 个扩展提供中英双语的使用文档。除了收录信息,PGSTY 仓库还直接交付其中 600 个高质量扩展的预编译二进制包,覆盖 16 个 Linux 发行版大版本,以 RPM/DEB 的形式开箱即用。

Image

这些站点共同组成了 PostgreSQL 中文内容的门户。

写在最后

汉化也许只是一件小事。但做这件小事的时候,我一直在想另一个问题:为什么这种事,这么多年都没人做?PostgreSQL 中文社区在干什么?那么多基于 PG 的“国产数据库”又在干什么?

老冯觉得,主要原因是 PostgreSQL 中文社区的缺位与衰落。这也就回到了题目:为什么要做 PostgreSQL 汉化?老冯自己的环境是英文的,平时也很少看中文文档,这些东西我自己大概率用不上。

Image

但我知道,很多中文用户都需要它。我也想借着这些对用户有用的事情,尝试复兴 PostgreSQL 中文社区。不过这个话题有点大,明天老冯单独写一篇聊聊。

今天就先说到这里。PG 19 正式版发布之后,欢迎在中文系统上装一个试试;遇到翻得别扭的地方,告诉我。

数据库老司机
点一个关注 ⭐️,精彩不迷路

PostgreSQL 19beta4 发布:特性大砍

PostgreSQL 中文版来了!

PostgreSQL 中文站,再加一份日报专栏

PG 中文文档发布:11 个大版本,一个不落

PostgreSQL 官网中文版:pg.center

PostgreSQL 18,17,16,15,14 中文文档发布

PostgreSQL国际社区APT仓库支持龙芯CPU架构纪实

龙芯,正式进入 PostgreSQL 官方仓库

AI 用 Rust 重写 PostgreSQL?别逗了

参加 PostgreSQL 30周年开发者大会

让PG停摆一周的大会:PGCon.Dev参会记

PostgreSQL正在吞噬数据库世界

PostgreSQL,三十而立

什么是 PostgreSQL 发行版?

带有MySQL兼容的PG内核现

OrioleDB 奥利奥数据库来了!

StackOverflow 2024调研

为什么PostgreSQL是未来数据的基石?

技术极简主义:一切皆用Postgres

2023年度数据库:PostgreSQL (DB-Engine)

PostgreSQL 到底有多强?

为什么PostgreSQL是最成功的数据库?

StackOverflow 2022数据库年度调查

为什么说PostgreSQL前途无量?

PostgreSQL,三十而立

AI 时代,PostgreSQL 凭什么赢了?

PostgreSQL 官网中文版:pg.center

PostgreSQL 18,17,16,15,14 中文文档发布

PostgreSQL 高可用到底怎么搞?

AI 时代,PostgreSQL 凭什么赢了?

把 Agent 的状态放进数据库

别争了,AI时代数据库已经尘埃落定