指南

WordPress i18n 是什么?这里有您需要了解的一切!

Weglot产品图片
Merve Alsan
作者
Merve Alsan
审阅人
更新于
2026年2月2日

对于不了解的人来说,WordPress 是全球近 43%网站的核心。此外,该内容管理系统(CMS)可在205 个不同的地区使用。由于该平台是一个全球性实体,因此本地化非常重要。WordPress i18n 流程是其中的关键。

i18n 的 "提升 "在于,它是一种为翻译准备主题和插件代码的方法。这样,您就可以将准确的翻译应用于其他语言,与其他文化和地区保持一致,并从中获益。

在这篇文章中,我们将更详细地讨论 WordPress i18n,并向您展示如何应用它。虽然您需要具备一定的编码知识,但我们也会详细讨论步骤,以及 WordPress i18n 是什么(做什么)。

i18n 的含义

作为过去时代的产物,"leet speak "在网络开发圈子中依然存在。虽然你不会经常看到 "l33t "和 "n00b",但你会看到很多数字地名:例如,在讨论可访问性的地方,你会看到 a11y。

事实上,i18n 是另一个数字名称。它代表 "国际化",由第一个和最后一个字母以及一个数字组成,表示中间还有多少个字母。您还会发现本地化也有自己的数字地名:l10n。还有其他数字地名,如 globalization (g11n)、Europeanization (e13n) 等。

在这里,我们将具体讨论国际化问题。万维网联盟(W3C)的官方简介指出,这是指设计和开发能够为不同文化、地域和语言的用户提供简单的本地化服务。

需要注意的是,国际化只是翻译流程的第一步。之后,您将使用合适的翻译解决方案进行本地化。

i18n 本地化流程的基础知识

就 i18n 过程本身而言,WordPress 开发人员在将其交给翻译之前会采取一系列步骤。简而言之,本地化流程如下:

  • 在页面标题中添加 "文本域 "标签。
  • 使用 WordPress 的一些专用功能加载语言文件。
  • 使用 "gettext "函数对文本串进行 "标记"(稍后我们将讨论这个问题)。
  • 为主题或插件生成可移植对象模板(POT) 文件,并将其包含在内。
  • 您可能需要为右向左 (RTL) 语音创建一个层叠样式表 (CSS) 文件。

译员将使用 .pot 文件进行本地化,因此它是整个程序的重要组成部分。

gettext 工具简介

对于不了解的人来说,POT文件是使用GNU gettext工具生成的文件的一个示例。这是 20 世纪 80 年代的技术和软件,对今天的 i18n 工作者仍有巨大价值。

要执行 WordPress i18n 并不需要确切了解它是什么,但从一般意义上了解它的作用和生成的内容是很有用的。将 gettext 视为帮助 WordPress 生成多语言信息的框架。

你经常会看到许多与 gettext 相关的文件:

  • POT文件。这是您 i18n 工作的模板,也是翻译人员用来启动他们那部分工作的文件。
  • 可移植对象 (PO) 文件。就所有意图和目的而言,POTPO文件之间并无实质区别。在翻译过程中,PO 文件将包含本地语言和翻译语言的文本字符串。
  • 机器对象(MO)文件。将 MO 文件视为 WordPress 代码友好版本的PO文件。它位于您安装的主题或插件目录中,在 WordPress 需要时提供翻译服务。

考虑到这些,您几乎可以开始 i18n 进程了。首先,最好为您的 WordPress 网站做好准备工作。

开始执行 WordPress i18n 流程之前

与任何与 WordPress 核心文件有关的项目一样,您需要在开始之前确保您的安装是 "干净的"。您还需要确保可以回滚所做的任何更改,以防最坏的情况发生而需要恢复。

因此,在 i18n 流程之前,有两个几乎是不容商量的 "前置步骤":

  • 完整备份网站。这应该是必然的,因为如果需要重新开始,完整备份是保护网站的唯一方法。
  • 进行插件审计。最好对网站的所有插件进行一次检查,并考虑两个问题:是否有更新,我是否需要该插件?

对于后者,我们建议您更新要保留的插件,删除多余的插件。

同样,我们将在 WordPress 核心文件中进行操作,因此你需要了解这些文件的工作原理和内容。我们将在教程中讨论的一些概念不一定有解释,但步骤本身会有解释。

完成所有这些要点后,您就可以开始 i18n 流程了。

如何使用主题和插件执行 WordPress i18n 程序

在接下来的几节中,我们将向您展示如何使用主题和插件进行 WordPress i18n。虽然每个部分可能都会有代码繁杂和技术性较强的地方,但我们会尽可能详尽地解释一切,并链接到您可能需要的任何其他资源。

我们将从如何国际化主题开始。

如何制作可翻译的 WordPress 主题

第一步是更新主题的标题,使其包含文本域名和域名路径。简而言之,就是

  • 文本域有助于 WordPress 理解哪些字符串 "属于 "主题。这必须与您的主题(和插件的)标题相匹配。
  • 域路径是指翻译文件 "所在 "的主题文件中的文件夹。/languages/ 目录是典型的默认名称,但您也可以根据需要使用其他名称。

要做到这一点,只需在主题的头文件中添加几个字即可:

/*
主题名称:My Custom Theme
Author:Weglot Translate
Text Domain: my-theme
Domain Path:/languages/
*/‍

接下来,您需要使用 "操作 "和 "函数 "加载文本域:

add_action( 'after_setup_theme', 'my_theme_setup' );
function my_theme_setup() {
load_theme_textdomain( 'my-theme', get_template_directory() . '/languages' );
}

这套代码需要放在主题的 functions.php 文件中,而不是网站的文件中。完成这些后,您就可以开始执行 "字符串审计 "了。这就需要用翻译函数封装主题中的所有文本字符串。有两个函数您会经常用到:

  • __().它包括一个双下划线(或 "dunder"),并返回一个翻译后的字符串。
  • _e().这会回声(或打印)翻译后的字符串。

这些函数需要两个参数:文本字符串和文本域。例如

__()
$welcome= __( 'Hello! Welcome to the dashboard!', 'my-theme' );
_e( 'Hello again!', 'my-theme' );‍

虽然各种翻译功能的来龙去脉不在本文的讨论范围之内,但《WordPress 主题开发人员手册》中几乎包含了完成这项工作所需的所有信息。


此时,您可以创建一个POT文件。有很多解决方案可以做到这一点,但WordPress 推荐使用 Poedit- 一种免费的开源解决方案。

下载并安装Poedit 后,在工具栏中点击 "文件">"新建":

在 Poedit 上创建新文件

接下来,创建一个新目录。您可以单击主屏幕中的 "从来源提取"链接:

在 Poedit 上提取资源

然后,在 "翻译属性"选项卡上填写项目名称、语言团队和主要语言:

Poedit 上的翻译属性选项卡

如果文件是新的,则应将其保存在此处(文件名应与主题的标题相同)。接下来,选择 "来源路径"选项卡,找到电脑上的/languages/文件夹:

Poedit 上的来源路径

最后的 "来源关键字"选项卡将列出您在主题中使用的翻译功能:

Poedit 上的来源关键字

您需要在这里添加这些关键词,不过要找到合适的关键词可能比较困难。首先,您可以使用以下列表:

__
_e

_x

_ex

_n
_nx
_n_noop

_nx_noop

translate_nooped_plural
number_format_i18n
date_i18n
esc_html__
esc_html__
esc_html_x
esc_attr__
esc_attr_e
esc_attr_x‍

点击确认后,保存更改并查看新文件:您将在电脑上看到MOPO文件。如果复制了PO文件,就可以添加POT扩展名,然后就可以进行本地化了。

如何制作可翻译的 WordPress 插件

您的初始任务与主题类似:首先,更新插件标题中的文本域和域路径字段:

/*
插件名称:My Custom Plugin
Plugin URI:weglot
Description:展示翻译和 i18n 的自定义插件。
作者:Weglot TranslateWeglot Translate
Version: 1.0
Author URI:weglot
Text Domain: my-plugin
Domain Path:/languages/
*/‍

我们建议为域路径创建一个 /languages/ 文件夹,并将其设置为域路径。从这里,您可以为插件加载文本域,但这次您可以在代码中添加以下函数,而不是通过 functions.php:

load_plugin_textdomain( $domain, $abs_rel_path, $plugin_rel_path );‍

不过,这只能让 WordPress 知道有一个翻译文件可用。要加载翻译文件,您需要将该函数封装在一个动作中:

add_action( 'plugins_loaded', 'plugin_load_td' );function plugin_load_td() {
load_plugin_textdomain( 'my-plugin', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
}

字符串审核的大部分内容与主题 i18n 类似。最后一步是使用与之前相同的流程生成 POT 文件;生成的文件最终将存放在当前工作目录下

WordPress i18n 有哪些局限性?

现在,您应该明白 WordPress i18n 有多么神奇了。如果您开发了主题或插件,并想让它们随时可以进行翻译,那么它就是最好的选择。然而,就像所有伟大的东西一样,它也有一些缺点。

例如,如果插件包含用户生成的内容,这将不会成为 i18n 翻译的一部分。

i18n 程序将为您编码的静态元素(如按钮文本)启用翻译。但是,如果用户想为某个字段输入特定短语、创建唯一标签以及其他 "客户端 "元素,您就无法对其进行说明。事实上,您可以做到这一点,但这是一项复杂的任务,超出了本篇文章的范围。

此外,如果您不是开发人员,i18n 无法帮助您翻译网站。为此,您需要一个插件,您可能想跳到下一节了解合适的选项。

值得注意的是,虽然翻译插件可以在很多方面提供帮助,但一个网站平均需要 五个插件才能完全实现多语种。相比之下,像 Weglot 这样的解决方案可以快速运行,检测网站的所有可翻译部分,而且几乎兼容所有主题和插件。无论这些主题和插件是否已做好翻译准备。

更重要的是,Weglot 使用前台 HTML 页面中的主题、插件和主要内容元素,并使这些元素具有可翻译性。因此,不需要 .pot 和 .po 文件,也不需要使用 gettext 方法。

Weglot 如何支持 WordPress i18n

从技术角度讲,我们现在要讨论的是内容的本地化--直接翻译过程。

一个好的翻译策略并不容易。它是一项艰巨的工作,需要大量的规划,以确保您的内容以正确的方式传播到不同的文化、地区和语言。这不仅仅是指内容正文中的翻译文本。您还需要考虑以下所有因素:

  • 你使用的漂亮永久链接
  • 帖子和页面元数据。
  • 媒体,如图片、视频、GIF、图标等,还包括相关的元数据。

若您使用电子商务平台,此处同样存在诸多考量因素。例如,您需要确保结账页面上的每个元素都提供完整翻译——尤其是货币和税费字段:

尼康相机 - 法语版

此外,发货信息也是需要完整、高质量翻译的一个关键方面。无论使用哪种语言,您都要让客户没有任何借口点击购买按钮。

尼康产品结账页面

Weglot为您完成了大量繁重的工作。它是您在 WordPress i18n 工作中的重要盟友,因为它会检测您网站中可以翻译的各个方面。在此基础上,它会为您进行第一层机器翻译:

WordPress 网站的翻译列表

这也许足以满足您的需求,但Weglot 还能帮您更进一步。您可以引入专业翻译、编辑现有翻译等。这就为您提供了对网站进行全面本地化所需的所有灵活性。

结论

WordPress 几乎遍布世界各地。因此,国际化的主题和插件有助于将它们翻译成其他语言。对于使用 WordPress 平台的开发人员来说,WordPress i18n 是至关重要的一环。

如果您能将主题国际化,帮助用户在不修改源代码的情况下创建翻译,那您就成功了。不过,应用 i18n 概念并不意味着您的主题或插件已经翻译好了。

要完成这一步,您需要借助 Weglot这样的解决方案。它与许多不同的平台和技术兼容,与 WordPress 的配合也非常出色。完成工作流程中的 i18n 部分后,您就可以使用Weglot 生成几乎任何语言的准确且易于实施的翻译。

Weglot 提供为期 10 天的免费试用,用户无需承担购买义务。

在这份指南中,我们将探讨:
这个网站的AI翻译有多靠谱?
准确率得分
想知道你的网站和翻译语言的准确率吗?用我们的免费工具,就能得到靠谱的估算和专属建议。

了解更多关于与Weglot合作的信息

常见问题图标

常见问题

没有找到任何内容。
开始使用

准备开始吧

几分钟内触达新受众,无需占用你团队的时间。任何人都可以安装。