功能插件定价资源
更改语言
资源如何使用 Poedit:完整指南 (2026)

如何使用 Poedit:完整指南 (2026)

SimplePoTranslate Team2026年4月25日
如何使用 Poedit:完整指南 (2026)

如果你曾用纯文本编辑器打开过 .po 文件,你一定深有体会。成百上千的 msgidmsgstr 对,模糊标记散落各处,一个错误的按键就可能破坏整个目录。现在有更好的方法,十多年来,标准的答案一直是同一个桌面应用程序:Poedit。

这篇 Poedit 教程 将涵盖从安装应用程序到编译第一个 .mo 文件的所有内容。无论你是在翻译 WordPress 主题、插件,还是你自己的基于 Gettext 的项目,Poedit 都为你提供了一个清晰的可视化编辑器,它隐藏了原始文件格式,让你专注于实际的翻译工作。

读完本指南后,你将了解 Poedit 界面,知道如何从 .pot 模板开始翻译,使用翻译记忆库来加速工作,并准确识别何时免费桌面工具的效率会降低,从而知道何时转向云端工作流。

什么是 Poedit 以及如何安装它?

Poedit 是一款免费的跨平台桌面编辑器,用于 Gettext 翻译文件(.po.pot 和编译后的 .mo)。它可在 macOS、Windows 和 Linux 上运行,是任何手动编辑翻译目录的人最广泛推荐的起点。

安装非常简单。前往官方 Poedit 网站下载适用于你操作系统的安装程序,或者使用包管理器。

# macOS (Homebrew)
brew install --cask poedit

# Debian / Ubuntu
sudo apt install poedit

# Windows (winget)
winget install Poedit.Poedit

免费版本完全涵盖了核心编辑体验。还有一个付费的 Poedit Pro 版本,它增加了源代码扫描和预翻译功能,我们稍后会介绍。目前,免费下载就足以打开和编辑任何目录。

如果在决定使用前想更全面地了解编辑工具,我们关于 Mac 和 Windows 上编辑和翻译 PO 文件的最佳免费工具 的汇总文章比较了 Poedit 与主要替代品的优劣。

了解 Poedit 界面

当你打开一个 .po 文件(通过“文件”菜单选择“打开”,或者直接将文件拖放到窗口中)时,Poedit 会呈现一个三区域布局,它直接映射到底层的 Gettext 结构。

源文本和译文窗格

主要区域是一个两列列表。左侧列显示了开发人员在代码中编写的 源字符串 (msgid)。右侧列显示了你的 译文 (msgstr)。点击任何一行都会将其加载到底部的编辑面板中,你可以在其中输入翻译文本。

请看文件中的这个原始条目:

#: includes/checkout.php:142
msgid "Your order has been placed."
msgstr ""

在 Poedit 中,相同的条目显示为一行:左侧是源文本,右侧是空的翻译单元格。你无需接触原始语法。你只需在底部面板中输入,Poedit 就会为你写入 msgstr

模糊标记和状态颜色

Poedit 会对行进行颜色编码,以便你一目了然地看到目录的健康状况。未翻译 的字符串会很醒目,而 模糊 字符串(文件中标记为 #, fuzzy 的条目,因为源文本已更改或翻译是自动匹配的)则会显示为不同的颜色(通常是橙色或黄色)。模糊字符串本质上是“需要审核”的标记。WordPress 不会在实时网站上显示它们,因此清除它们很重要。一旦你确认翻译正确,可以通过一个快捷键切换任何行的模糊状态。

底部的状态栏显示你的进度:总字符串数、已翻译的数量以及仍处于模糊或未翻译状态的数量。

底部编辑面板还提供有用的上下文信息。它显示源引用注释,即字符串在代码中使用的行(例如 #: includes/checkout.php:142),以及文件中留下的任何开发人员注释。当一个像“Order”这样的短字符串既可以是名词也可以是动词时,这些注释是无价的,源引用告诉你它属于哪个文件和功能,这样你第一次就能正确翻译。花几秒钟阅读这些上下文信息,是确保目录准确无误与充满笨拙、不合时宜的措辞之间的区别。

如何从 POT 文件开始新翻译?

.pot 文件是一个模板,其中包含所有源字符串但没有翻译。要开始一种全新的语言,你需要从该模板创建 .po 文件,而不是直接编辑 .pot 文件。

在 Poedit 中,选择“文件”然后“从 POT/PO 文件新建”,选择主题或插件的 .pot 文件(通常在其 /languages 文件夹内),然后选择你的目标语言。Poedit 随后会询问语言并生成一个符合正确文件名约定的新目录,例如德语的 de_DE.po

配置目录和复数形式标头

每个 .po 文件都带有一个标头块,其中最重要的正确字段是 Plural-Forms。此表达式告诉 Gettext 一种语言需要多少种复数变体,以及在给定数量时选择哪一种。

"Plural-Forms: nplurals=2; plural=(n != 1);\n"

英语使用两种形式。像波兰语和俄语这样的语言需要三种或更多,而错误的标头会导致语法上错误的计数。当你选择语言时,Poedit 会设置一个合理的默认值,但你可以在“目录”下的“属性”中查看和编辑它。如果你想更深入地了解为什么这个标头如此容易出错,请参阅我们关于 Gettext 复数和复杂复数化 的指南。

目录属性还允许你设置项目名称、译者姓名和电子邮件、语言团队以及字符集。字符集几乎总是应该选择 UTF-8;否则可能会损坏带重音的字符和非拉丁文字。Poedit 默认新文件使用 UTF-8,但如果你继承了一个旧目录,则值得确认。一开始就正确设置标头可以避免以后重复工作。

配置完成后,你只需按列表顺序翻译每一行。Poedit 会自动保存你的位置,因此你可以在目录编辑到一半时关闭应用程序,并在离开的地方准确地继续。对于大型目录,跳转到下一个未翻译或下一个模糊字符串的键盘快捷键可以让你无需滚动就能继续工作,这在手动编辑中节省了大部分时间。

翻译记忆库与免费版和专业版之间的区别

Poedit 最有用的功能之一是 翻译记忆库 (TM)。在你翻译时,Poedit 会记住每个源文本与译文对。下次在同一文件或不同项目中出现相同或相似的源字符串时,Poedit 会自动建议你以前的翻译。经过数月的工作,这会建立一个个人数据库,极大地加快了“保存”、“取消”和“添加到购物车”等重复性 UI 字符串的翻译速度。

TM 建议会出现在编辑面板中,你可以通过按键接受它们。请注意,由 TM 填充的条目通常默认标记为模糊,因此在清除标记之前应该对其进行审核。

Poedit Pro 增加了哪些功能?

免费编辑器完全支持手动翻译。Poedit Pro(付费升级版)增加了两个主要功能:

  • 源代码扫描:Pro 版可以扫描你的 PHP 或 JavaScript 源代码,找到每一个 __()_e() Gettext 调用,并提取新的 .pot 文件或更新现有目录,无需命令行。
  • 预翻译:Pro 版提供整个目录的机器预翻译功能,但它采用付费、基于积分的模式。你需要购买积分,大型目录会很快消耗掉积分。

对于单一语言和中等规模的目录,Pro 版很方便。其真正的局限在于规模。预翻译积分会累积,而且工作流程仍然基本上是一次处理一个文件、一种语言、一个桌面会话。

此外,还需要明确翻译记忆库的功能和局限。TM 只会建议你(或共享团队数据库)以前生成过的翻译。对于一个没有历史记录的全新项目,记忆库是空的,所以在你手动翻译了大量内容之前,它不会提供任何建议。TM 会加速重复和循环出现的字符串的翻译;它不会翻译全新的内容。这种区别在你估算新目录所需时间时很重要,因为第一种语言总是最慢的,而且除非字符串有重叠,否则每一种后续语言都将从零开始。

保存工作并编译 MO 文件

为什么在你只编辑了 .po 文件时,WordPress 还需要 .mo 文件?因为 WordPress 在运行时读取的是编译后的二进制 .mo 文件,而不是人类可读的 .po 文件。好消息是 Poedit 会自动处理这个问题。

当你按下“保存”时,Poedit 会写入 .po 文件,并默认在同一文件夹中编译匹配的 .mo 文件。

# After saving in Poedit you get both files:
wp-content/languages/themes/
  storefront-de_DE.po   # editable source
  storefront-de_DE.mo   # compiled binary WordPress loads

如果保存时没有生成 .mo 文件,请检查“首选项”然后“常规”,并确认“保存时自动编译 MO 文件”已启用。缺少或过时的 .mo 文件是已完成的翻译未能在实时网站上显示的最常见原因之一。如果你遇到这个问题,我们的 WordPress 翻译不显示故障排除指南 涵盖了完整的检查清单。

当 Poedit 不够用时:超越桌面应用的扩展

Poedit 作为一款精确、手动、单文件编辑器,表现出色。但当你需求增长时,摩擦就出现了。将一个插件翻译成十二种语言意味着十二个独立的会话。一个包含数千个字符串的 10MB 目录意味着数小时的打字或耗尽预翻译积分。手动编辑总是存在弄错 %s%1$s 等占位符并默默破坏输出的风险。

这正是云端工作流发挥作用的地方。SimplePoTranslate 通过具有 语法锁定 功能的 上下文感知 AI 处理你的目录,语法锁定会冻结每个 %s%1$s{name} 和 HTML 标签,确保在翻译过程中结构永远不会损坏。智能批处理 无需手动分割即可处理 10MB 以上的文件,你将立即获得一个包含 .po.mo.json.php.xliff 的可部署 ZIP 文件,所有这些都在云端完成,无需桌面安装,也无臃肿。

使用 Poedit 进行微调和审核,这是它最擅长的工作。当你需要跨多种语言进行批量快速处理,同时不牺牲占位符安全时,请使用云端服务。

准备好将整个目录翻译成几十种语言,而无需在桌面编辑器中耗费数小时吗?免费试用 SimplePoTranslate — 无需信用卡。免费套餐可让你在几分钟内翻译第一个 .po 文件,并且每个字符串都具有语法锁定功能。