什么是国际化?

国际化是指开发软件时,使其能够在不修改源代码的情况下轻松翻译成其他语言的过程。

让我们了解在 WordPress 中什么是国际化、为什么它很重要,并学习在哪里可以找到更多关于如何在 WordPress 开发中实现国际化的信息。

什么是国际化?

WordPress 被全球使用,用户使用多种语言。

因此,WordPress 中的任何文本字符串都需要进行编码,以便它们可以轻松翻译成其他语言。

让我们看一个例子:

当你第一次登录 WordPress 仪表盘时,页面顶部会出现“仪表盘”这个标题。

你可以在 wp-admin/index.php 文件的第 33 行找到生成这个标题的代码。

$title       = __( 'Dashboard' );

这里 $title 变量被设置为“仪表盘”。

注意文本字符串是如何被包裹在 __() 函数中的。这是一个 WordPress 函数,用于使文本字符串可翻译。

如果你访问用户的个人资料并将其更新为另一种语言,文本字符串将被翻译成该语言。

例如,如果我将我的用户个人资料更改为西班牙语,标题将被翻译为“Escritorio”。

但底层的代码保持不变。

这是可能的,因为西班牙语的语言文件已安装在网站上,并且包含了文本字符串“仪表盘”的翻译。

#. translators: Network menu item.
#: wp-includes/admin-bar.php:431 wp-includes/admin-bar.php:596
#: wp-includes/admin-bar.php:716 wp-includes/deprecated.php:2822
#: wp-includes/deprecated.php:2824 wp-admin/index.php:33 wp-admin/menu.php:24
#: wp-admin/my-sites.php:142 wp-admin/user/menu.php:10
#: wp-admin/includes/class-wp-ms-sites-list-table.php:746
#: wp-admin/network/index.php:21 wp-admin/network/menu.php:11
#: wp-admin/network/site-info.php:138 wp-admin/network/site-settings.php:95
#: wp-admin/network/site-themes.php:181 wp-admin/network/site-users.php:226
msgid "Dashboard"
msgstr "Escritorio"

由于使用了翻译函数,一旦为用户设置了语言,WordPress 将在相关语言文件中搜索该词的翻译,并根据上下文显示或存储翻译。

国际化是编写代码的过程,通过将可能显示给用户的任何文本字符串包裹在正确的翻译函数中,使其可翻译。

国际化通常缩写为 i18n(因为字母 i 和 n 之间有 18 个字母)。

将国际化的文本字符串翻译并适应特定区域或语言的过程称为本地化。

虽然本地化不在本课程范围内,但你可以在 WordPress 开发者资源中通用 API 手册的本地化部分阅读更多相关内容。

国际化不是什么

国际化并不等同于确保你网站前端的内容以多种语言提供。

这通常被称为确保你的内容是多语言或已翻译的。

由于这些内容存储在数据库中,最好为每种你想要支持的语言准备一个完全翻译的网站副本。

这可以通过使用 TranslatePress、Polylang 或 WeGlot 等插件来实现。

在哪里找到更多信息

WordPress 开发者资源在通用 API 手册中有一个关于国际化的优秀部分。它包括一个过程概述,以及一个列出 WordPress 中常用于国际化的函数的页面。它还包含一个关于国际化指南的部分,对于任何希望使其 WordPress 插件或主题可翻译的开发者来说,这都是必读内容。