- 📖 一、理解WordPress国际化机制
- 🔤 1.1 什么是i18n和l10n?
- 📁 1.2 WordPress翻译文件类型详解
- 🏷️ 1.3 翻译文件命名规范
- 🛠️ 二、Poedit软件入门
- 📥 2.1 下载与安装
- 💳 2.2 免费版与Pro版功能对比
- 🖥️ 2.3 Poedit界面详解
- ⌨️ 2.4 常用快捷键大全
- 🔧 2.5 首选项配置
- ⚡ 三、使用Poedit进行汉化的完整流程
- 📋 3.1 汉化前的准备工作
- 🚀 3.2 标准汉化流程(详细步骤)
- ❓ 四、Poedit常见使用问题与解决方案
- 🔢 4.1 单复数问题(Plural Forms)
- 🔄 4.2 如何更新汉化文件
- 📝 4.3 没有.pot文件怎么办
- 🔍 4.4 翻译不显示/不生效
- 🌐 4.5 字符编码问题
- ⚡ 4.6 翻译性能问题
- 🎨 五、汉化最佳实践质量标准
- ✍️ 5.1 翻译质量指南
- 📚 5.2 WordPress常用术语对照表
- 🎯 5.3 翻译上下文判断
- 📐 5.4 译文长度控制
- ⚠️ 5.5 需要避免的常见错误
- 🚀 六、进阶技巧与效率提升
- 💾 6.1 翻译记忆库(Translation Memory)
- 🤖 6.2 AI辅助翻译(Pro版功能)
- 📦 6.3 批量处理技巧
- 🔧 6.4 处理大型翻译项目
- 📊 6.5 团队协作翻译
- 🔌 七、其他汉化工具与资源
- 🛠️ 7.1 其他常用汉化工具
- 📖 7.2 学习资源
- 📂 7.3 常用汉化资源下载
- 📋 课程总结
- 🎓 知识回顾
- 📝 重要知识点速查
- 🚀 下一步学习建议
- 📌 附录
- 附录A:汉化检查清单
- 附录B:常见错误消息及解决方案
WordPress作为一款颇受欢迎的内容管理系统(CMS),在全球范围内得到了广泛应用。根据W3Techs 2024年的最新统计数据,WordPress目前驱动着全球约43.5%的网站,这意味着互联网上每10个网站中就有超过4个是使用WordPress构建的。从个人博客到企业官网,从电商平台到新闻门户,WordPress的身影无处不在,是当之无愧的建站首选方案。
然而,对于中文用户来说,英文界面可能会造成一定的使用障碍和不便,因此对WordPress的主题和插件进行汉化变得十分重要。尤其是在为客户建站或运营中文网站时,一个完全汉化的后台界面不仅能提升工作效率,还能降低培训成本,让非技术人员也能轻松管理网站内容。
WordPress汉化是将英文版的WordPress主题、插件转换为中文版的过程。Poedit是一款常用的汉化工具,可以轻松地汉化WordPress主题和插件。Poedit自1999年首次发布以来,已经成为开源软件翻译领域最受欢迎的桌面工具之一,支持Windows、macOS和Linux三大操作系统平台。
在本课程中,我们将探讨如何使用Poedit软件来汉化WordPress主题与插件,进一步提升用户体验,以及汉化的实践方法和技巧。
📖 一、理解WordPress国际化机制
在开始汉化之前,我们需要先理解WordPress的国际化(i18n)和本地化(l10n)机制,这将帮助你更好地理解汉化的原理,也能让你在遇到问题时快速定位原因。
🔤 1.1 什么是i18n和l10n?
你可能会好奇,为什么国际化和本地化要用这么奇怪的缩写?这其实是软件行业的一个有趣传统:
| 术语 | 全称 | 缩写由来 | 含义 |
|---|---|---|---|
| i18n | Internationalization(国际化) | i和n之间有18个字母 | 指开发者在编写代码时,将文本字符串用特定函数包裹,使其具备被翻译的能力。这是一个"准备工作",让软件具备多语言的可能性。 |
| l10n | Localization(本地化) | l和n之间有10个字母 | 指翻译者将这些可翻译的字符串转换为目标语言的过程。这是实际的"翻译工作",将软件适配到特定语言和文化环境。 |
🔍 深入理解两者的区别
打个比方来说明i18n和l10n的关系:
想象你正在设计一本可以被翻译成多种语言的菜单。国际化(i18n) 就像是设计一个菜单模板,预留好放置菜名、价格、描述的位置,但不填写具体内容。本地化(l10n) 则是根据这个模板,填写中文、日文、法文等不同语言的具体内容。
在WordPress代码中,国际化是这样实现的:
// ❌ 未国际化的代码(硬编码英文)
echo "Welcome to my website";
// ✅ 已国际化的代码(使用翻译函数)
echo __( 'Welcome to my website', 'theme-text-domain' );
// ✅ 带有HTML输出的国际化
_e( 'Welcome to my website', 'theme-text-domain' );
WordPress提供了多个翻译函数,每个都有特定的用途:
| 函数 | 用途 | 示例 |
|---|---|---|
__() | 返回翻译后的字符串 | $text = __( 'Hello', 'my-theme' ); |
_e() | 直接输出翻译后的字符串 | _e( 'Hello', 'my-theme' ); |
_x() | 带上下文的翻译(消歧义) | _x( 'Post', 'noun', 'my-theme' ); |
_n() | 处理单复数形式 | _n( '%d item', '%d items', $count, 'my-theme' ); |
esc_html__() | 返回经过HTML转义的翻译 | esc_html__( 'Safe text', 'my-theme' ); |
esc_attr__() | 返回适用于属性的转义翻译 | esc_attr__( 'Button', 'my-theme' ); |
💡 关键概念:Text Domain(文本域)
Text Domain是一个唯一标识符,用于区分不同主题或插件的翻译。上面代码中的
'theme-text-domain'就是文本域。WordPress通过文本域来确定某个字符串应该使用哪个翻译文件。通常,文本域与主题/插件的文件夹名称相同。
📁 1.2 WordPress翻译文件类型详解
WordPress使用GNU gettext系统来管理翻译,这是一套成熟的开源国际化解决方案,被广泛应用于Linux系统和众多开源软件中。gettext系统涉及三种核心文件类型:
📄 POT文件(Portable Object Template)
| 属性 | 说明 |
|---|---|
| 扩展名 | .pot |
| 性质 | 模板文件,纯文本格式 |
| 创建者 | 主题/插件开发者 |
| 内容 | 所有可翻译的原始英文字符串 |
| 用途 | 作为翻译工作的起点和参考 |
| 是否必需 | 对于翻译者来说非常重要,但WordPress运行时不需要 |
POT文件的内部结构示例:
# 这是POT文件的典型结构
#: includes/class-main.php:125
msgid "Settings"
msgstr ""
#: includes/class-main.php:130
msgid "Save Changes"
msgstr ""
#: templates/header.php:45
msgid "Welcome, %s!"
msgstr ""
每个翻译条目包含:
#:行:指明该字符串在源代码中的位置(文件名和行号)msgid:原始英文字符串(消息ID)msgstr:翻译后的字符串(在POT文件中为空)
📄 PO文件(Portable Object)
| 属性 | 说明 |
|---|---|
| 扩展名 | .po |
| 性质 | 翻译工作文件,纯文本格式 |
| 创建者 | 翻译者(基于POT文件创建) |
| 内容 | 原文和译文的对照 |
| 用途 | 存储翻译内容,可用任何文本编辑器打开 |
| 是否必需 | 翻译过程中必需,便于后续维护和更新 |
PO文件的内部结构示例:
#: includes/class-main.php:125
msgid "Settings"
msgstr "设置"
#: includes/class-main.php:130
msgid "Save Changes"
msgstr "保存更改"
#: templates/header.php:45
msgid "Welcome, %s!"
msgstr "欢迎,%s!"
注意:PO文件中的
msgstr已经填写了对应的中文翻译。
📄 MO文件(Machine Object)
| 属性 | 说明 |
|---|---|
| 扩展名 | .mo |
| 性质 | 编译后的二进制文件 |
| 创建者 | 由Poedit等工具从PO文件编译生成 |
| 内容 | 与PO文件相同,但是二进制格式 |
| 用途 | WordPress实际读取的翻译文件 |
| 是否必需 | 必需!WordPress只能读取MO文件 |
⚠️ 重要提示:MO文件是二进制格式,无法用文本编辑器直接编辑。如果需要修改翻译,必须编辑对应的PO文件,然后重新编译生成MO文件。
📊 三种文件的关系流程图:
开发者编写代码 → 提取字符串生成POT文件
↓
翻译者基于POT创建PO文件
↓
使用Poedit翻译PO文件
↓
编译生成MO文件
↓
WordPress加载MO文件显示中文
🏷️ 1.3 翻译文件命名规范
翻译文件必须遵循严格的命名规范,否则WordPress无法正确加载。这是初学者最容易犯错的地方之一。
📝 命名格式
{text-domain}-{locale}.po
{text-domain}-{locale}.mo
组成部分说明:
| 组成部分 | 说明 | 示例 |
|---|---|---|
| text-domain | 主题/插件的文本域,通常与文件夹名相同 | woocommerce、developer-starter-theme |
| locale | 语言区域代码 | zh_CN、zh_TW、de_DE |
🌍 常见语言代码一览
| 语言代码 | 对应语言 | 使用地区 |
|---|---|---|
zh_CN | 简体中文 | 中国大陆 |
zh_TW | 繁体中文 | 台湾 |
zh_HK | 繁体中文 | 香港 |
en_US | 英语 | 美国 |
en_GB | 英语 | 英国 |
ja | 日语 | 日本 |
ko_KR | 韩语 | 韩国 |
de_DE | 德语 | 德国 |
fr_FR | 法语 | 法国 |
es_ES | 西班牙语 | 西班牙 |
✅ 正确命名示例
| 主题/插件 | 文本域 | 正确的文件名 |
|---|---|---|
| WooCommerce | woocommerce | woocommerce-zh_CN.po / woocommerce-zh_CN.mo |
| Starter主题 | developer-starter-theme | developer-starter-theme-zh_CN.po / developer-starter-theme-zh_CN.mo |
| Contact Form 7 | contact-form-7 | contact-form-7-zh_CN.po / contact-form-7-zh_CN.mo |
| Yoast SEO | wordpress-seo | wordpress-seo-zh_CN.po / wordpress-seo-zh_CN.mo |
❌ 常见命名错误
| 错误示例 | 问题所在 |
|---|---|
chinese.po | 缺少文本域,语言代码格式错误 |
woocommerce-chinese.po | 语言代码应该是 zh_CN 而非 chinese |
woocommerce_zh_CN.po | 文本域和语言代码之间应该用连字符 - 而非下划线 _ |
WooCommerce-zh_CN.po | 文本域应该全部小写 |
🔍 如何查找正确的文本域?
方法一:查看主题/插件的主文件头部
/*
* Plugin Name: WooCommerce
* Text Domain: woocommerce
* Domain Path: /languages
*/
方法二:查看readme.txt文件
方法三:在插件/主题代码中搜索 load_textdomain 或 load_plugin_textdomain
load_plugin_textdomain( 'woocommerce', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
💡 提示:
Domain Path指明了翻译文件应该存放的位置,通常是/languages或/lang文件夹。
🛠️ 二、Poedit软件入门
📥 2.1 下载与安装
Poedit官网: https://poedit.net/
Poedit是由Václav Slavík开发的跨平台翻译编辑器,专为处理gettext PO文件而设计。软件支持三大主流操作系统:
| 操作系统 | 下载版本 | 安装说明 |
|---|---|---|
| Windows | .exe 安装包 | 下载后双击运行,按向导完成安装 |
| macOS | .dmg 磁盘映像 | 下载后打开,将Poedit拖入应用程序文件夹 |
| Linux | 包管理器安装 | Ubuntu/Debian: sudo apt install poedit |
💳 2.2 免费版与Pro版功能对比
Poedit分为免费版和Pro付费版,两者的主要区别如下:
| 功能类别 | 具体功能 | 免费版 | Pro版 |
|---|---|---|---|
| 基础功能 | 打开/编辑PO文件 | ✅ | ✅ |
| 保存并编译为MO文件 | ✅ | ✅ | |
| 翻译记忆库基础功能 | ✅ | ✅ | |
| 术语表管理 | ✅ | ✅ | |
| 字符串提取 | 从源代码提取可翻译字符串 | ❌ | ✅ |
| WordPress主题/插件直接导入 | ❌ | ✅ | |
| 自动检测代码中的新字符串 | ❌ | ✅ | |
| 翻译辅助 | 预翻译(机器翻译) | ❌ | ✅ |
| 云端翻译记忆库同步 | ❌ | ✅ | |
| 质量检查和验证 | 基础 | 高级 | |
| 协作功能 | 团队协作翻译 | ❌ | ✅ |
| Crowdin集成 | ❌ | ✅ | |
| 价格 | - | 免费 | 约50/年或100永久授权 |
💡 购买建议:
- 偶尔汉化:免费版足够使用,配合其他工具生成POT文件即可
- 经常汉化:强烈推荐Pro版,"从源代码提取字符串"功能可节省大量时间
- 专业翻译者:Pro版的机器翻译预填充和云同步功能非常实用
🖥️ 2.3 Poedit界面详解
首次打开Poedit,你会看到一个简洁的欢迎界面。让我们详细了解各个功能区域:
📍 欢迎界面
欢迎界面提供三个主要入口:
| 按钮 | 功能 | 使用场景 |
|---|---|---|
| 翻译WordPress插件或主题 | 直接打开WordPress项目(Pro版) | 汉化没有POT文件的项目 |
| 创建新翻译 | 基于POT模板创建新的PO文件 | 开始一个新的翻译项目 |
| 浏览文件 | 打开已有的PO/POT文件 | 继续之前的翻译工作 |
📍 主工作界面
打开PO文件后,主界面分为以下几个核心区域:
┌─────────────────────────────────────────────────────┐
│ 菜单栏 │ 工具栏(保存、同步、验证等快捷按钮) │
├─────────────────────────────────────────────────────┤
│ │
│ 源文本列表区域 │
│ (显示所有待翻译条目,可排序和筛选) │
│ │
├─────────────────────────────────────────────────────┤
│ 源文本区域 │ 注释和上下文区域 │
│ (显示原文全文) │ (开发者的说明信息) │
├─────────────────────────────────────────────────────┤
│ │
│ 翻译输入区域 │
│ (输入对应的中文翻译) │
│ │
├─────────────────────────────────────────────────────┤
│ 翻译建议区域 │
│ (显示翻译记忆库匹配和机器翻译建议) │
│ │
└─────────────────────────────────────────────────────┘
各区域详细说明:
| 区域 | 位置 | 功能详解 |
|---|---|---|
| 源文本列表 | 中上部 | 显示所有待翻译的原始英文字符串,支持按翻译状态、源文本、翻译内容排序;可使用搜索框快速定位 |
| 源文本区 | 左下 | 显示当前选中字符串的完整原文,对于较长的文本尤其有用 |
| 翻译输入区 | 下部 | 输入对应的中文翻译;支持多行文本;单复数形式会显示多个输入框 |
| 翻译建议区 | 右下 | 显示翻译记忆库中的相似翻译、机器翻译建议(Pro版);双击可直接采用建议 |
| 注释区 | 右中 | 显示开发者添加的上下文说明,帮助理解字符串的使用场景 |
| 状态栏 | 底部 | 显示翻译进度(已翻译/总数)、当前文件信息 |
📍 工具栏按钮说明
| 图标/按钮 | 功能 | 快捷键 |
|---|---|---|
| 保存 | 保存PO文件并编译MO文件 | Ctrl+S |
| 验证 | 检查翻译中的格式错误 | Ctrl+Shift+V |
| 更新 | 从POT文件更新字符串 | 无 |
| 上一个未翻译 | 跳转到上一个未翻译条目 | Ctrl+↑ |
| 下一个未翻译 | 跳转到下一个未翻译条目 | Ctrl+↓ |
⌨️ 2.4 常用快捷键大全
熟练使用快捷键可以大幅提升翻译效率:
| 快捷键 | 功能 | 使用场景 |
|---|---|---|
Ctrl+S | 保存文件 | 定期保存,防止丢失 |
Ctrl+↑ | 上一个未翻译 | 快速浏览待翻译内容 |
Ctrl+↓ | 下一个未翻译 | 快速浏览待翻译内容 |
Ctrl+U | 复制原文到翻译 | 需要保留原文的情况 |
Ctrl+B | 复制原文到翻译(同上) | 备用快捷键 |
Ctrl+K | 标记为待审核 | 不确定的翻译标记后续检查 |
Ctrl+Enter | 确认翻译并跳到下一个 | 连续翻译时使用 |
Ctrl+F | 查找 | 搜索特定字符串 |
Ctrl+H | 查找和替换 | 批量修正翻译 |
Alt+U | 撤销翻译 | 恢复到原始状态 |
Ctrl+1~9 | 使用第N个翻译建议 | 快速采用建议 |
🔧 2.5 首选项配置
在开始翻译之前,建议先配置Poedit的首选项以获得最佳体验:
进入路径: 编辑 → 首选项 (macOS: Poedit → 首选项)
📍 常规设置
| 设置项 | 推荐配置 | 说明 |
|---|---|---|
| 自动编译MO文件 | ✅ 开启 | 保存PO时自动生成MO文件 |
| 启用拼写检查 | ✅ 开启 | 检查翻译中的拼写错误 |
| 自动保存 | ✅ 开启 | 防止意外丢失翻译 |
📍 翻译记忆库设置
| 设置项 | 说明 |
|---|---|
| 启用翻译记忆库 | 存储已完成的翻译,供后续项目参考 |
| 语言设置 | 设置为 中文(简体)- zh_CN |
| 学习已有翻译 | 可导入现有的PO文件到记忆库 |
📍 翻译身份设置
| 设置项 | 说明 |
|---|---|
| 你的姓名 | 填写你的名字或昵称 |
| 邮箱地址 | 填写你的邮箱 |
💡 提示:这些信息会记录在PO文件的头部,标明翻译者身份。
⚡ 三、使用Poedit进行汉化的完整流程
📋 3.1 汉化前的准备工作
在开始汉化之前,你需要做好以下准备:
✅ 准备清单
| 序号 | 准备事项 | 说明 |
|---|---|---|
| 1 | 安装Poedit | 确保已安装最新版本 |
| 2 | 获取POT文件 | 从主题/插件目录中获取,或自行生成 |
| 3 | 确认文本域 | 查看主题/插件的文本域名称 |
| 4 | 了解项目背景 | 熟悉要翻译的主题/插件的功能 |
| 5 | 准备术语表 | 收集该领域的常用术语翻译 |
📂 查找POT文件
POT文件通常位于以下位置:
wp-content/
├── plugins/
│ └── your-plugin/
│ └── languages/
│ └── your-plugin.pot ← 插件的POT文件
└── themes/
└── your-theme/
└── languages/
└── your-theme.pot ← 主题的POT文件
如果找不到POT文件,可能的原因:
| 情况 | 解决方案 |
|---|---|
| 开发者未提供 | 使用Poedit Pro或其他工具生成 |
| 放在其他位置 | 搜索 .pot 文件 |
| 项目未国际化 | 该项目无法汉化,需要开发者添加国际化支持 |
🚀 3.2 标准汉化流程(详细步骤)
步骤一:启动Poedit并创建新翻译
- 打开Poedit软件
- 点击「创建新翻译」
- 在文件选择对话框中,找到并选择目标主题/插件的
.pot文件 - 点击「打开」
💡 提示:如果你要继续之前的翻译工作,选择「浏览文件」打开已有的
.po文件即可。
步骤二:设置目标语言
- Poedit会弹出语言选择对话框
- 在搜索框中输入「Chinese」或「中文」
- 选择「Chinese (China) - 中文/中国)」即简体中文
zh_CN - 点击「确定」
语言代码选择指南:
| 选项 | 代码 | 适用场景 |
|---|---|---|
| Chinese (China) | zh_CN | 面向中国大陆用户 |
| Chinese (Taiwan) | zh_TW | 面向台湾用户 |
| Chinese (Hong Kong) | zh_HK | 面向香港用户 |
步骤三:熟悉翻译界面
设置完成后,你会看到所有待翻译的字符串列表:
- 黄色背景:模糊匹配(从翻译记忆库中找到相似翻译)
- 白色背景:未翻译
- 无特殊标记:已翻译
界面底部会显示翻译进度,例如:「已翻译 0/156 (0%)」
步骤四:开始翻译
在Poedit中,你可以看到所有需要翻译的字符串。你可以直接在Poedit中编辑这些字符串,或者将它们导出到一个文本文件中,然后使用文本编辑器进行编辑。
具体翻译步骤:
- 在列表中点击选择一个待翻译的条目
- 在下方的「源文本」区域查看原文
- 在「翻译」区域输入对应的中文
- 按
Ctrl+Enter确认并跳转到下一条 - 重复以上步骤直到全部完成
🎯 翻译时的实用技巧
| 技巧 | 操作方法 | 说明 |
|---|---|---|
| 快速导航 | 使用 Ctrl+↑/↓ | 在未翻译条目之间快速切换 |
| 复制原文 | 使用 Ctrl+U | 当需要保留英文原文时使用 |
| 查看上下文 | 点击条目查看右侧注释 | 了解该文本在代码中的使用位置 |
| 使用翻译建议 | 双击建议或按 Ctrl+1~9 | 快速采用翻译记忆库的匹配 |
| 标记待审核 | 按 Ctrl+K | 对不确定的翻译做标记 |
步骤五:处理特殊字符串
翻译过程中会遇到一些特殊情况,需要特别注意:
🔹 占位符(Placeholders)
占位符是代码中用于动态插入内容的标记,必须保留在译文中:
| 占位符 | 含义 | 原文示例 | 正确译文 |
|---|---|---|---|
%s | 字符串 | Welcome, %s! | 欢迎,%s! |
%d | 整数 | %d items | %d 个项目 |
%1$s, %2$s | 带编号的字符串 | %1$s by %2$s | %1$s 作者:%2$s |
%1$d, %2$d | 带编号的整数 | Page %1$d of %2$d | 第 %1$d 页,共 %2$d 页 |
⚠️ 警告:删除或更改占位符会导致程序出错!
🔹 HTML标签
有些字符串中包含HTML标签,需要保留:
| 原文 | 正确译文 |
|---|---|
Click <a href="%s">here</a> | 点击<a href="%s">这里</a> |
<strong>Warning:</strong> This action cannot be undone. | <strong>警告:</strong>此操作无法撤销。 |
🔹 转义字符
| 转义字符 | 含义 | 处理方式 |
|---|---|---|
\n | 换行 | 保留在对应位置 |
\t | 制表符 | 保留 |
\" | 引号 | 保留 |
步骤六:验证翻译
翻译完成后,务必进行验证检查:
- 点击工具栏的「验证」按钮(或按
Ctrl+Shift+V) - Poedit会检查以下问题:
- 占位符是否匹配
- 格式是否正确
- 是否有未翻译的条目
- 如果发现错误,会在相应条目旁显示警告图标
- 点击错误条目进行修正
步骤七:保存翻译文件
完成翻译后,你需要将翻译保存为.mo文件。在Poedit中,选择"文件">"保存",然后将文件保存到主题或插件的languages文件夹中。
详细保存步骤:
- 按
Ctrl+S或点击「文件」→「保存」 - 首次保存时,选择保存位置
- 文件名必须遵循命名规范:
{text-domain}-zh_CN.po - Poedit会自动同时生成
.po和.mo两个文件
保存后生成的文件:
your-plugin-zh_CN.po— 可编辑的翻译文件(保留此文件用于后续更新)your-plugin-zh_CN.mo— WordPress实际使用的编译文件
步骤八:部署翻译文件
将生成的翻译文件放置到正确的位置:
⚠️ 重要更新:以下是过时的方法,仅适用于WordPress 4.0之前的版本:
在WordPress中,你需要在wp-config.php文件中添加以下代码:define ('WPLANG', 'zh_CN');。这将激活中文语言包。
✅ 现代WordPress(4.0及以上版本)的正确做法:
方法一:通过后台设置语言(推荐)
- 登录WordPress后台
- 进入「设置」→「常规」
- 找到「站点语言」选项
- 在下拉菜单中选择「简体中文」
- 滚动到页面底部,点击「保存更改」
💡 说明:WordPress 4.0版本之后,语言设置已经迁移到后台图形界面,不再需要手动修改wp-config.php文件。这种方式更加直观、安全,并且支持热切换语言。
方法二:正确放置翻译文件
翻译文件的存放位置非常重要,不同位置有不同的优缺点:
| 存放路径 | 优点 | 缺点 | 推荐程度 |
|---|---|---|---|
wp-content/languages/plugins/ | 不会被插件更新覆盖 | 需要手动创建目录 | ⭐⭐⭐⭐⭐ 强烈推荐 |
wp-content/languages/themes/ | 不会被主题更新覆盖 | 需要手动创建目录 | ⭐⭐⭐⭐⭐ 强烈推荐 |
wp-content/plugins/插件名/languages/ | 方便,与插件同目录 | 更新时会被覆盖 | ⭐⭐ |
wp-content/themes/主题名/languages/ | 方便,与主题同目录 | 更新时会被覆盖 | ⭐⭐ |
目录结构示例:
wp-content/
├── languages/
│ ├── plugins/
│ │ ├── woocommerce-zh_CN.po ← 插件翻译放这里
│ │ └── woocommerce-zh_CN.mo
│ └── themes/
│ ├── developer-starter-theme-zh_CN.po ← 主题翻译放这里
│ └── developer-starter-theme-zh_CN.mo
├── plugins/
│ └── woocommerce/
│ └── languages/
│ └── woocommerce.pot ← POT模板文件
└── themes/
└── developer-starter-theme/
└── languages/
└── developer-starter-theme.pot
WordPress翻译文件加载优先级:
- 首先检查
wp-content/languages/plugins/或wp-content/languages/themes/ - 然后检查 插件/主题自带的
languages文件夹 - 最后使用 WordPress官方翻译(如果有的话)
💡 最佳实践:始终将自定义翻译放在
wp-content/languages/下对应的子目录中,这样即使主题或插件更新,你的翻译也不会丢失。
步骤九:验证翻译效果
完成部署后,刷新WordPress页面检查翻译是否生效:
| 检查项目 | 正常情况 | 异常处理 |
|---|---|---|
| 后台菜单 | 显示中文 | 检查文件名和存放位置 |
| 设置页面 | 显示中文 | 清除缓存后重试 |
| 前台页面 | 显示中文 | 确认主题支持翻译 |
如果翻译未生效,排查清单:
| 可能原因 | 解决方案 |
|---|---|
| 文件名错误 | 检查文本域和语言代码是否正确 |
| 位置不对 | 确认文件放在正确的目录 |
| 缺少MO文件 | 确认同时有.po和.mo文件 |
| 语言未设置 | 检查WordPress站点语言设置 |
| 缓存问题 | 清除WordPress缓存和浏览器缓存 |
| 文本域不匹配 | 对比代码中的文本域与文件名 |
❓ 四、Poedit常见使用问题与解决方案
Poedit在使用过程中可能会遇到一些常见问题,可以参考以下解决方法:
🔢 4.1 单复数问题(Plural Forms)
有些字符串在不同的上下文中可能需要使用不同的单复数形式。在Poedit中,你可以使用"Plural Forms"选项来处理这个问题。如果你不确定如何处理这个问题,请参考官方文档。
详细解释:
英语中存在单复数变化(如 "1 item" vs "2 items"),而中文通常不区分单复数。WordPress使用 _n() 函数来处理这种情况:
// 英文源码中的单复数处理
printf( _n( '%d comment', '%d comments', $count, 'theme-domain' ), $count );
在Poedit中处理这类字符串时:
| 情况 | 英文原文 | 中文译文建议 |
|---|---|---|
| 单数形式 | %d comment | %d 条评论 |
| 复数形式 | %d comments | %d 条评论(与单数相同) |
当遇到复数字符串时,Poedit会显示两个输入框:
单数形式: [%d 条评论 ]
复数形式: [%d 条评论 ]
💡 技巧:对于中文,单复数形式通常填写完全相同的译文即可,因为中文不通过词形变化来表示复数。
更复杂的例子:
| 英文 | 中文 | 说明 |
|---|---|---|
%d item in cart / %d items in cart | 购物车中有 %d 件商品 | 单复数译文相同 |
%d day ago / %d days ago | %d 天前 | 单复数译文相同 |
There is %d error / There are %d errors | 有 %d 个错误 | 单复数译文相同 |
🔄 4.2 如何更新汉化文件
如果你需要更新汉化文件,你可以使用Poedit打开.mo文件,然后编辑翻译。完成翻译后,你需要将翻译保存为.mo文件。在Poedit中,选择"文件">"保存",然后将文件保存到主题或插件的languages文件夹中。
⚠️ 更正:应该打开.po文件而不是.mo文件。MO文件是二进制格式,虽然Poedit可以打开,但建议始终使用PO文件进行编辑。
更新翻译的完整流程:
场景一:主题/插件有新版本,需要更新翻译
- 下载新版本的主题/插件
- 获取新版本的
.pot文件 - 使用Poedit打开你之前的
.po文件 - 点击菜单「翻译」→「从POT文件更新...」
- 选择新版本的
.pot文件 - Poedit会自动:
- 保留已有翻译
- 标记新增的未翻译字符串
- 移除已删除的字符串
- 标记可能过时的翻译(模糊匹配)
- 翻译新增的字符串
- 检查标记为「模糊」的条目,确认或修改翻译
- 保存文件,重新部署
场景二:需要修正已有翻译
- 用Poedit打开
.po文件 - 使用
Ctrl+F搜索需要修改的字符串 - 修改翻译内容
- 保存文件(会自动更新
.mo文件) - 重新上传到服务器
场景三:从WordPress官方翻译平台获取更新
WordPress官方翻译平台: https://translate.wordpress.org/
- 访问 translate.wordpress.org
- 搜索你需要的主题/插件
- 下载对应语言的翻译包
- 解压并放置到正确位置
📝 4.3 没有.pot文件怎么办
如果你需要汉化的主题或插件没有提供.pot文件,你可以使用以下几种方法来解决这个问题:
方法一:使用Poedit Pro版(最推荐)
- 打开Poedit Pro
- 选择「文件」>「新建翻译」
- 选择「翻译WordPress插件或主题」
- 选择要汉化的主题或插件的根目录文件夹
- 选择目标语言为中文(简体)
- Poedit Pro会自动扫描所有PHP文件,提取使用
__(),_e()等函数包裹的字符串 - 开始翻译扫描到的字符串
- 完成翻译后保存,将生成.po和.mo文件
💡 优势:无需额外工具,操作简单,适合非技术用户。
方法二:使用WP-CLI命令行工具(免费)
WP-CLI是WordPress的官方命令行工具,功能强大且免费:
安装WP-CLI(如果尚未安装):
# Linux/macOS
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp
# 验证安装
wp --version
生成POT文件:
# 为插件生成POT文件
wp i18n make-pot wp-content/plugins/your-plugin wp-content/plugins/your-plugin/languages/your-plugin.pot
# 为主题生成POT文件
wp i18n make-pot wp-content/themes/your-theme wp-content/themes/your-theme/languages/your-theme.pot
# 带有更多选项的命令
wp i18n make-pot wp-content/plugins/your-plugin your-plugin.pot --domain=your-plugin --exclude=node_modules,vendor
常用参数说明:
| 参数 | 说明 |
|---|---|
--domain | 指定文本域 |
--exclude | 排除特定目录(如node_modules) |
--headers | 自定义POT文件头信息 |
💡 优势:免费、功能全面、可批量处理多个项目。
方法三:使用Loco Translate插件(WordPress后台直接翻译)
Loco Translate是一个非常流行的WordPress翻译插件,允许你直接在后台进行翻译:
- 在WordPress后台安装「Loco Translate」插件
- 进入「Loco Translate」→「主题」或「插件」
- 选择要翻译的主题/插件
- 点击「新建语言」
- 选择「简体中文 (zh_CN)」
- 选择存储位置(推荐选择「系统语言目录」)
- 开始在浏览器中翻译
- 保存后自动生成PO和MO文件
Loco Translate的优势:
| 优势 | 说明 |
|---|---|
| 无需安装桌面软件 | 直接在浏览器中操作 |
| 自动扫描字符串 | 即使没有POT文件也能工作 |
| 实时预览 | 保存后立即看到效果 |
| 同步功能 | 可从WordPress官方翻译平台同步 |
方法四:使用在线翻译平台
| 平台 | 网址 | 特点 |
|---|---|---|
| POEditor | poeditor.com | 专业翻译管理平台,支持团队协作 |
| Crowdin | crowdin.com | 大型开源项目常用,功能强大 |
| Transifex | transifex.com | 企业级翻译平台 |
🔍 4.4 翻译不显示/不生效
这是最常见的问题之一,以下是完整的排查清单:
| 检查项 | 正确状态 | 如何检查 |
|---|---|---|
| 文件名 | {textdomain}-zh_CN.po/mo | 对照主题/插件的文本域 |
| 文件位置 | 正确的languages目录 | 检查上传路径 |
| 两个文件都存在 | 同时有.po和.mo | FTP查看 |
| 站点语言 | 设置为简体中文 | 后台→设置→常规 |
| 文件权限 | 644或755 | FTP查看权限 |
| 无缓存 | 已清除缓存 | 清除所有缓存插件 |
高级排查:确认WordPress是否正确加载翻译
在主题的 functions.php 中添加以下调试代码:
add_action( 'init', function() {
$locale = get_locale();
$domain = 'your-plugin-textdomain';
$mofile = WP_LANG_DIR . '/plugins/' . $domain . '-' . $locale . '.mo';
echo '<!-- Debug: ';
echo 'Locale: ' . $locale . ' | ';
echo 'MO file: ' . $mofile . ' | ';
echo 'Exists: ' . ( file_exists( $mofile ) ? 'Yes' : 'No' );
echo ' -->';
});
🌐 4.5 字符编码问题
症状:翻译后显示乱码,如「中文」显示为「涓枃」
原因与解决方案:
| 原因 | 解决方案 |
|---|---|
| PO文件编码不正确 | 确保PO文件使用UTF-8编码保存 |
| 服务器编码问题 | 检查MySQL和PHP的字符集设置 |
| 浏览器编码问题 | 确保HTML页面声明了UTF-8编码 |
在Poedit中设置正确的编码:
- 打开PO文件
- 点击「翻译」→「属性」
- 确认「字符集」设置为「UTF-8」
- 保存文件
⚡ 4.6 翻译性能问题
症状:加载翻译后网站变慢
原因与解决方案:
| 原因 | 解决方案 |
|---|---|
| MO文件过大 | 删除不必要的翻译条目 |
| 加载多个翻译文件 | 合并翻译或使用对象缓存 |
| 每次请求都解析MO文件 | 启用OPcache和对象缓存 |
性能优化建议:
// 在wp-config.php中添加
define( 'WP_CACHE', true );
// 使用Redis或Memcached对象缓存
// 安装相应的缓存插件
🎨 五、汉化最佳实践质量标准
✍️ 5.1 翻译质量指南
高质量的翻译不仅要语法正确,还要符合用户体验原则:
| 原则 | 说明 | 正确示例 | 错误示例 |
|---|---|---|---|
| 准确性 | 译文准确传达原文含义 | Settings → 设置 | Settings → 环境 |
| 一致性 | 同一术语全文使用相同译法 | Dashboard统一译为"仪表盘" | 有时"仪表盘"有时"控制面板" |
| 流畅性 | 符合中文表达习惯,不生硬 | Click here → 点击此处 | Click here → 点击这里 |
| 简洁性 | 避免冗长,尤其是UI元素 | Submit → 提交 | Submit → 点击这里提交表单 |
| 语境适当 | 根据上下文选择合适译法 | Post作为名词时→文章 | Post统一译为"发布" |
| 格式保留 | 保持HTML、占位符不变 | <strong>%s</strong> | 删除标签或占位符 |
📚 5.2 WordPress常用术语对照表
以下是WordPress生态系统中常见术语的推荐译法,建议在翻译时保持一致:
📍 核心术语
| 英文 | 推荐中文译法 | 备注 |
|---|---|---|
| Dashboard | 仪表盘 | 也可用"控制面板" |
| Post | 文章 | 作为名词时 |
| Post | 发布 | 作为动词时 |
| Page | 页面 | |
| Category | 分类 | 也可用"分类目录" |
| Tag | 标签 | |
| Archive | 存档 | 也可用"归档" |
| Widget | 小工具 | |
| Plugin | 插件 | |
| Theme | 主题 | |
| Template | 模板 | |
| Customizer | 定制器 | 也可用"自定义" |
📍 设置相关
| 英文 | 推荐中文译法 | 备注 |
|---|---|---|
| Settings | 设置 | |
| Options | 选项 | |
| General | 常规 | |
| Writing | 撰写 | |
| Reading | 阅读 | |
| Discussion | 讨论 | |
| Media | 媒体 | |
| Permalink | 固定链接 | |
| Privacy | 隐私 |
📍 内容相关
| 英文 | 推荐中文译法 | 备注 |
|---|---|---|
| Title | 标题 | |
| Content | 内容 | |
| Excerpt | 摘要 | |
| Featured Image | 特色图像 | 也可用"特色图片" |
| Thumbnail | 缩略图 | |
| Attachment | 附件 | |
| Media Library | 媒体库 | |
| Gallery | 画廊 | 也可用"相册" |
| Caption | 说明文字 | |
| Alt Text | 替代文本 |
📍 用户相关
| 英文 | 推荐中文译法 | 备注 |
|---|---|---|
| User | 用户 | |
| Profile | 个人资料 | |
| Role | 角色 | |
| Administrator | 管理员 | |
| Editor | 编辑 | |
| Author | 作者 | |
| Contributor | 贡献者 | |
| Subscriber | 订阅者 | |
| Password | 密码 | |
| Username | 用户名 |
📍 操作相关
| 英文 | 推荐中文译法 | 备注 |
|---|---|---|
| Save | 保存 | |
| Save Changes | 保存更改 | |
| Update | 更新 | |
| Delete | 删除 | |
| Edit | 编辑 | |
| Add New | 添加 | 也可用"新建" |
| View | 查看 | |
| Preview | 预览 | |
| Publish | 发布 | |
| Draft | 草稿 | |
| Pending | 待审 | |
| Trash | 回收站 | |
| Restore | 恢复 | |
| Submit | 提交 | |
| Cancel | 取消 |
📍 技术术语
| 英文 | 推荐中文译法 | 备注 |
|---|---|---|
| API | API | 保留英文 |
| REST API | REST API | 保留英文 |
| Webhook | Webhook | 保留英文 |
| Cache | 缓存 | |
| Debug | 调试 | |
| Shortcode | 短代码 | |
| Block | 区块 | 古腾堡编辑器相关 |
| Gutenberg | 古腾堡 | 可保留英文 |
| Hook | 钩子 | |
| Filter | 过滤器 | |
| Action | 动作 |
🎯 5.3 翻译上下文判断
同一个英文单词在不同语境下可能有不同的翻译:
| 英文单词 | 语境 | 正确译法 |
|---|---|---|
| Post | 名词,博客文章 | 文章 |
| Post | 动词,发布内容 | 发布 |
| Post | HTTP请求方法 | POST(保留) |
| Save | 保存文档 | 保存 |
| Save | 节省资源 | 节省 |
| Draft | 文章草稿 | 草稿 |
| Draft | 汇票 | 汇票 |
| Block | 古腾堡区块 | 区块 |
| Block | 阻止某人 | 屏蔽/拉黑 |
| Block | IP封禁 | 封禁 |
如何判断正确的语境?
- 查看Poedit中的注释信息:开发者可能提供了上下文说明
- 查看代码引用:点击字符串可以看到它在代码中的位置
- 在实际界面中预览:理解该字符串出现的实际场景
- 参考WordPress官方翻译:查看相同或类似字符串的官方译法
📐 5.4 译文长度控制
中文通常比英文更简洁,但在UI元素中需要特别注意空间限制:
| 元素类型 | 建议 | 示例 |
|---|---|---|
| 按钮文字 | 尽量简短,2-4个字 | Submit → 提交 |
| 菜单项 | 简洁明了 | My Account → 我的账户 |
| 表单标签 | 简洁但完整 | Email Address → 邮箱地址 |
| 提示信息 | 可以稍长,但要通顺 | 完整翻译 |
| 错误消息 | 清晰说明问题 | 完整翻译 |
| 帮助文本 | 可以较长 | 完整翻译 |
长度对比示例:
| 英文 | 字符数 | 中文 | 字符数 |
|---|---|---|---|
| Submit | 6 | 提交 | 2 |
| Save Changes | 12 | 保存更改 | 4 |
| Are you sure you want to delete this item? | 43 | 确定要删除此项目吗? | 10 |
⚠️ 5.5 需要避免的常见错误
| 错误类型 | 错误示例 | 正确做法 |
|---|---|---|
| 删除占位符 | Welcome, %s! → 欢迎! | 欢迎,%s! |
| 改变占位符顺序 | %1$s by %2$s → %2$s的%1$s | 保持顺序或使用编号占位符 |
| 删除HTML标签 | <a href="#">Click</a> → 点击 | <a href="#">点击</a> |
| 过度本地化 | API → 应用程序接口 | API(保留通用技术术语) |
| 机械直译 | Click here → 单击这里 | 点击此处 |
| 遗漏翻译 | 部分字符串未翻译 | 100%完成翻译 |
| 大小写混乱 | wordpress → WordPress | 保持原有大小写 |
🚀 六、进阶技巧与效率提升
💾 6.1 翻译记忆库(Translation Memory)
翻译记忆库是提升翻译效率的利器,它可以存储你之前的翻译,在遇到相同或相似的字符串时自动提供建议。
📍 设置翻译记忆库
- 打开Poedit首选项(
编辑→首选项) - 选择「翻译记忆库」标签页
- 点击「管理语言」确保添加了中文
- 设置记忆库文件存储位置
📍 导入已有翻译到记忆库
- 点击「学习翻译」按钮
- 选择已完成的
.po文件 - Poedit会从这些文件中学习翻译
- 之后翻译时会自动匹配相似内容
📍 翻译记忆库的匹配类型
| 匹配类型 | 图标 | 说明 |
|---|---|---|
| 100%匹配 | 绿色 | 完全相同的字符串,可直接采用 |
| 模糊匹配 | 黄色 | 相似的字符串,需要人工确认 |
| 无匹配 | 无 | 需要手动翻译 |
📍 批量应用翻译记忆
- 打开PO文件
- 选择「翻译」→「使用翻译记忆自动翻译」
- Poedit会自动填充所有匹配的翻译
- 检查并确认自动填充的翻译
🤖 6.2 AI辅助翻译(Pro版功能)
Poedit Pro版支持机器翻译预翻译功能,可以大幅加速初始翻译过程:
📍 设置机器翻译
- 打开Poedit首选项
- 选择「翻译」标签页
- 启用「使用机器翻译」
- 选择翻译服务提供商:
| 服务商 | 特点 | 质量评估 |
|---|---|---|
| DeepL | 质量高,中文支持好 | ⭐⭐⭐⭐⭐ |
| Google Translate | 速度快,覆盖广 | ⭐⭐⭐⭐ |
| Microsoft Translator | 稳定可靠 | ⭐⭐⭐⭐ |
📍 使用机器翻译预填充
- 打开待翻译的PO文件
- 选择「翻译」→「使用机器翻译预翻译」
- 等待翻译完成
- ⚠️ 重要:务必人工审核每一条翻译
⚠️ 警告:机器翻译仅作为参考起点,技术文档和UI文本需要人工校对以确保:
- 术语一致性
- 语境准确性
- 占位符正确保留
- 符合用户习惯
📦 6.3 批量处理技巧
📍 批量操作快捷方式
| 操作 | 方法 | 使用场景 |
|---|---|---|
| 选择多个条目 | Shift+点击 或 Ctrl+点击 | 批量操作时 |
| 批量复制原文 | 选中多个 → 右键 → 复制原文到翻译 | 需要保留原文不翻译时 |
| 批量标记为待审核 | 选中多个 → 右键 → 标记为模糊 | 不确定的翻译 |
| 全局查找替换 | Ctrl+H | 批量修正术语 |
📍 使用筛选器提高效率
Poedit提供多种筛选视图:
| 筛选器 | 显示内容 | 使用场景 |
|---|---|---|
| 全部 | 所有字符串 | 概览 |
| 未翻译 | 尚未翻译的条目 | 完成剩余翻译 |
| 需要审核 | 模糊匹配或标记的条目 | 校对阶段 |
| 有错误 | 验证失败的条目 | 修正错误 |
🔧 6.4 处理大型翻译项目
对于包含数千个字符串的大型项目(如WooCommerce),可以采用以下策略:
📍 分阶段翻译策略
| 阶段 | 优先级 | 说明 |
|---|---|---|
| 第一阶段 | 高 | 翻译用户最常见到的界面元素(菜单、按钮、表单) |
| 第二阶段 | 中 | 翻译管理后台界面 |
| 第三阶段 | 低 | 翻译错误消息、帮助文本 |
| 第四阶段 | 最低 | 翻译邮件模板、开发者相关内容 |
📍 利用WordPress官方翻译
很多流行插件已有官方中文翻译,可以直接使用或参考:
- 访问 translate.wordpress.org
- 搜索目标插件/主题
- 下载稳定版翻译
- 在此基础上进行补充或修正
📊 6.5 团队协作翻译
对于多人协作的翻译项目:
| 工具/平台 | 特点 | 适合场景 |
|---|---|---|
| Crowdin | 功能强大,支持审核流程 | 开源项目、大型团队 |
| POEditor | 界面友好,价格合理 | 小型团队、初创公司 |
| Transifex | 企业级功能 | 商业项目、多语言项目 |
| Git + Poedit | 免费,版本控制 | 技术团队、开发者 |
使用Git协作的工作流:
1. 主翻译者创建仓库,上传POT和初始PO文件
2. 协作者fork仓库
3. 各自翻译分配的部分
4. 通过Pull Request提交翻译
5. 主翻译者审核并合并
6. 定期编译并发布更新
🔌 七、其他汉化工具与资源
🛠️ 7.1 其他常用汉化工具
除了Poedit,还有一些其他工具可以用于WordPress汉化:
📍 Loco Translate插件
| 属性 | 说明 |
|---|---|
| 类型 | WordPress插件 |
| 价格 | 免费(有Pro版) |
| 官网 | https://localise.biz/wordpress/plugin |
主要功能:
- 直接在WordPress后台翻译
- 自动扫描可翻译字符串
- 支持创建POT文件
- 内置编辑器,无需桌面软件
- 可同步WordPress官方翻译
适用场景:
- 不想安装桌面软件
- 需要快速翻译少量字符串
- 客户需要自行管理翻译
📍 WPML(WordPress多语言插件)
| 属性 | 说明 |
|---|---|
| 类型 | WordPress插件 |
| 价格 | 付费(39−199/年) |
| 官网 | https://wpml.org |
主要功能:
- 完整的多语言网站解决方案
- 内置字符串翻译功能
- 支持翻译主题和插件
- 专业翻译服务集成
适用场景:
- 需要多语言网站
- 需要翻译内容和界面
- 商业项目,预算充足
📍 WP-CLI
| 属性 | 说明 |
|---|---|
| 类型 | 命令行工具 |
| 价格 | 免费开源 |
| 官网 | https://wp-cli.org |
i18n相关命令:
# 生成POT文件
wp i18n make-pot <source> <destination>
# 从PO生成MO
wp i18n make-mo <source> <destination>
# 从PO生成JSON(用于Gutenberg区块)
wp i18n make-json <source> <destination>
# 更新PO文件
wp i18n update-po <source>
📖 7.2 学习资源
📍 官方文档
| 资源 | 链接 | 说明 |
|---|---|---|
| WordPress开发者手册-国际化 | developer.wordpress.org/plugins/internationalization/ | 插件国际化指南 |
| WordPress翻译手册 | make.wordpress.org/polyglots/handbook/ | 官方翻译贡献指南 |
| Poedit官方文档 | poedit.net/docs | Poedit使用教程 |
| GNU gettext手册 | gnu.org/software/gettext/manual/ | gettext底层原理 |
📍 中文社区
| 社区 | 说明 |
|---|---|
| WordPress中国 | cn.wordpress.org |
| WordPress中文论坛 | wordpress.org.cn |
| 翻译贡献者团队 | make.wordpress.org/polyglots/teams/?locale=zh_CN |
📂 7.3 常用汉化资源下载
| 资源 | 链接 | 说明 |
|---|---|---|
| WordPress核心中文包 | translate.wordpress.org | 官方维护,质量最高 |
| WooCommerce中文包 | translate.wordpress.org | 官方维护 |
| Elementor中文包 | translate.wordpress.org | 社区维护 |
📋 课程总结
🎓 知识回顾
通过本课程的学习,你已经掌握了:
| 模块 | 学习内容 | 掌握程度 |
|---|---|---|
| 理论基础 | i18n/l10n概念、PO/POT/MO文件类型 | ✅ 深入理解 |
| 工具使用 | Poedit安装配置、界面操作、快捷键 | ✅ 熟练掌握 |
| 实操流程 | 完整的汉化工作流程(9个步骤) | ✅ 独立完成 |
| 问题解决 | 常见问题排查和解决方案 | ✅ 能够排错 |
| 质量标准 | 翻译最佳实践、术语规范 | ✅ 灵活运用 |
| 效率提升 | 翻译记忆库、AI辅助、批量处理 | ✅ 了解并应用 |
| 拓展知识 | 其他工具、学习资源 | ✅ 知道如何获取 |
📝 重要知识点速查
| 知识点 | 要点 |
|---|---|
| 文件类型 | POT(模板)→ PO(翻译)→ MO(编译) |
| 命名规范 | {textdomain}-{locale}.po/mo |
| 存放位置 | 推荐 wp-content/languages/plugins/ 或 /themes/ |
| 语言设置 | 后台 → 设置 → 常规 → 站点语言 |
| 占位符 | %s、%d、%1$s 必须保留 |
| 翻译工具 | Poedit、Loco Translate、WP-CLI |
🚀 下一步学习建议
| 步骤 | 行动建议 |
|---|---|
| 1. 实战练习 | 选择一个简单的插件进行完整汉化实践 |
| 2. 建立术语库 | 整理自己的WordPress术语翻译对照表 |
| 3. 加入社区 | 在translate.wordpress.org参与官方翻译 |
| 4. 尝试Loco Translate | 体验在WordPress后台直接翻译的便捷性 |
| 5. 学习主题/插件开发 | 了解如何让自己的代码支持国际化 |
| 6. 关注更新 | 随着WordPress版本更新,保持知识更新 |
📌 附录
附录A:汉化检查清单
完成汉化后,使用此清单进行最终检查:
附录B:常见错误消息及解决方案
| 错误消息 | 可能原因 | 解决方案 |
|---|---|---|
| "Translation not loaded" | 文件名或位置错误 | 检查文本域和语言代码 |
| "Invalid MO file" | MO文件损坏 | 重新用Poedit编译 |
| 乱码显示 | 编码问题 | 确保使用UTF-8编码 |
| 部分未翻译 | 翻译不完整或文本域不匹配 | 检查未翻译条目和代码 |
回复