WordPress翻译与本地化的终极指南

WordPress在网络上超过1500万个网站,我为您提供了新闻-并非所有这些都是英文.事实上,"印刷机如此受欢迎的原因之一是由于其在许多语言中的可用性以及可以翻译的容易性.

更有趣的是,这是2014年,WordPress的非英语下载数量第一次超过英语下载数量.

发布歌词插件和主题目录将完全本地化 ,使它们更加访问,并完全可用于非英语扬声器,很容易看出为什么要认真地采取WordPress本地化是很重要的.

如果您通过销售主题或插件来实现WordPress的生活,那么您的工作需要支持多种语言.没有ifs,ands或bat.

如果你恰好是WordPress主题和插件的最终用户,知道它们包括支持您的母语是一个额外的奖金.

今天,我们将探索与Wordpress本地化相关的太阳下的一切,包括:

  1. 了解i18n和l10n
  2. 如何安装拟筑版本的wordpress
  3. 如何本地化现有的WordPress网站
  4. 如何贡献WordPress本地化
  5. 如何准备翻译
  6. 如何为翻译
  7. 准备您的主题

  8. 如何使用翻译主题和插件
  9. 用于主题和插件定位的插件

所以扣掉并准备好翻译工具.这即将在这里获得语言!

了解i18n和l10n

谈到WordPress和对您的语言的支持时,您需要了解两个关键术语:

第一个是国际化.国际化,或者i18n for short(因为我和n之间有18个字母),是您作为主题或插件开发人员准备主题或插件的过程出于翻译.

wordpress使用 gettext i18n的库和工具.

这是它的工作方式:

  • 开发人员在gettext函数中包装可翻译字符串
  • 源代码文件已解析,可翻译字符串被提取到pot(便携式对象模板)文件

  • 然后将POT文件送入GlotPress,是翻译人员的协作工具

  • 翻译器翻译,结果是po文件
  • PO文件被编译为二进制MO文件,这会给运行时更快地访问Strings

这意味着无论您使用什么语言开发您的工作,未来的用户(甚至开发人员)都可以轻松将其转换为所需的任何语言.

第二个重要术语是本地化或l10n 短(因为l和n之间有10个字母).

本地化通常在国际化之后发生,这是您的主题或插件被翻译和适用于特定语言的过程.

作为开发人员,您只需要关注自己的国际化-使您的主题或插件准备翻译.

虽然你没有必要提供翻译,如果你是多种语言,那么一定意味着都会有所作为.

与这些关键定义脱离,我们可以进入当今帖子的Nitty-Gritty,包括如何安装本地化的WordPress版本或如何将现有安装转换为本地化的帖子;如何为翻译准备您的主题和插件;如何贡献WordPress本地化;最后,我们会看看一些可以帮助您本地化的最佳插件.

The WordPress core software has been translated into 75 different languages. WordPress核心软件已被翻译成75种不同的语言.

如何安装lockpress

的本地化版本

安装LockPress的本地化版本的最简单方法是通过您的Web主机的CPanel.

大量主机允许您选择语言WordPress已安装.对于大多数用户,此选项通常是最简单的.

如果由于某种原因,您的主机不允许此操作,您必须自己完成工作.

要查看WordPress是否可用于您的语言,请访问WordPress.org.如果它以您的语言提供,您将看到一个黄色通知栏告诉您所以.

出于本文的目的,让我们假设您需要法国版WordPress.

安装的过程与常规WordPress版本相同,因此让我们简要介绍步骤:

  • 头到 fr.wordpress.org 并下载法语版本的WordPress.
  • 使用FileZilla(或您的首选FTP客户端),连接到Web服务器并将WordPress包解压缩到首选安装目录-通常 Public_html
  • 为Web服务器上的WordPress创建数据库,以及包含所有权限的MySQL用户.
  • 编辑 wp-config.php 文件并添加数据库信息.
  • 通过访问Web浏览器中的URL来运行WordPress安装脚本.

WordPress现在应该以法语安装.如果您需要更多的指导,请务必查看我们在主题上更详细的帖子,安装WordPress的最佳方式

如何本地化现有的WordPress站点

如果您已经拥有WordPress网站,您不想通过从头开始安装WordPress而感到困扰.

好消息是,你不必.

最简单的方法是登录仪表板,单击设置>常规,然后向下滚动到网站语言并选择从下拉下降的所需语言.

Change_Language_Settings 在仪表板中更改您的站点的语言.

请注意,这只会更改WordPress站点后端中使用的语言.如果您的帖子是英文,他们将保持英语.

您的主题和您可能使用的任何插件仍然是英文.

本地化现有WordPress安装的另一种方法是通过下载和上传.mo 语言文件到您的/WP-Content/语言//WP-包括/语言/文件夹.

您必须在 WP-Content 目录中创建一个名为语言的新文件夹.

一旦您上传了所有的.mo和.po文件,请使用您的语言,下一步是告诉WordPress以使用这些语言文件.为此,请打开wp-config.php文件并更改以下行:

用您的语言和国家/地区代码替换 FR_FR .前两个字母用于语言代码,另外两个字母用于国家/地区代码.查看语言和国家/地区代码的完整列表.

一旦添加到wp-config.php文件中的文本,WordPress将以您的语言显示管理区域.

与先前的更改语言中的方法 settings 菜单,只有WordPress管理区域将处于您的语言中.您仍可能需要翻译WordPress主题或其他插件.

Translate WordPress is the place to go if you want to contribute to the polyglots team. translate wordpress是如果要为Polyglots团队贡献的地方.

如何贡献Wordpress本地化

虽然WordPress有多种语言,其中一些尚未完全翻译.如果您是多语言,为什么不使用技能贡献WordPress本地化.

你要做的第一件事就是要转到翻译wordpress .如果您有现有WordPress.org帐户,则您需要做的就是登录并开始为您的语言贡献.

在潜入翻译之前,您将想查看 translator的手册,这将教你关于翻译WordPress的一切,从如何开始最佳实践和期望.

熟悉手册后,您可以有几种不同的方式贡献.

如果您的语言已经存在,您可以成为当地团队的一部分.或者您可以创建一个团队.

Choose the language you want to use WordPress in. Choose the language you want to use WordPress in. 选择要使用Wordpress的语言.

您可以帮助翻译WordPress本身,主题,插件或应用程序.一旦您决定了您的翻译项目,您可以通过单击贡献.

然后您将介绍仍需要翻译的字符串.所以走出并翻译!

如何为翻译添加插件

准备你的插件for translation为您提供了一个远更广泛的受众,而不是简单地将它限制为一种语言,或者假设它是英语,每个人都会知道如何使用它.

这里看看如何为翻译提供译本:

1.设置翻译标题

第一步是将翻译标头添加到插件标题.翻译标题是文本域域路径.

文本域表示属于插件的所有文本.它是一个唯一的标识符,可确保WordPress可以区分所有加载的翻译.

文本域必须匹配插件的SLUP.

本质上讲,这意味着如果您的插件是一个名为 sample-plugin.php 的单个文件,或者插件在一个名为 sample-plugin 的文件夹中,则应be 样本插件.

值得一提的是,文本域名必须使用破折号而不是下划线.

域路径是WordPress将搜索.mo 翻译文件.

默认情况下,wordpress搜索要使用的翻译文件的插件目录.如果将翻译文件留在插件的根文件夹中,则可以使用分组插件结构结束.

这就是为什么它建议为翻译文件创建一个单独的文件夹,例如/语言.要向WordPress通知它,您需要使用域路径标头.

例如,已经国际化的WordPress插件的典型标题将如下所示:

2.加载文本域

添加翻译标题后,我们需要使用load_plugin_textdomain()函数加载文本域.如果用户的语言存在,此功能会告诉WordPress加载翻译文件.它看起来如此:

>>>>>>>>>>>>>

第一个参数$domain应该是文本域; $abs_rel_path已被弃用,并且应设置为false;最后,$plugin_rel_path是翻译文件的相对路径.

在我们的示例插件时,该功能将如下所示:

>>>>>>

函数应尽早在插件中调用,如plugins_loaded这样的操作:

现在

现在,文本域和域路径标头被设置,让我们看看如何将插件国际化.

我们将介绍翻译字符串,使用占位符,HTML转换,处理复数,处理消歧,逃逸翻译字符串.

3.字符串翻译

要在插件中翻译字符串,请将原始字符串包装在__()函数调用中:

如果要将字符串呼吸到浏览器,只需使用_e功能,而不是:

>>>>>>

为您要翻译的每个字符串重复此操作.

4.使用占位符

如果您在下面的示例中使用的字符串中使用变量,则应使用占位符:

>>>>>>

正确的方法是使用printf()功能:

>>>>>

如果您不使用占位符,那么您将把插件留给各种漏洞,例如译文错误地改变变量或更糟,替换为恶意代码,最终可能导致插件故障和整体站点漏洞.

5.翻译HTML

谈到HTML翻译时最大的混乱领域之一是翻译链接.

如何处理HTML链接的翻译取决于链接所在的上下文.如果链接与文本的其余部分分隔,则可以将其包装成_e()功能:

如果,另一方面,链接是段落的一部分(未与其周围的文本分开),那么您可以将其转换如下:

6.处理复数

在某些语言中,您可以在英语中具有多种复数形式,在那里您只有一个复数形式.这是 _n()功能派上方便的地方.

此函数接受四个参数:

  • 奇异- 字符串的单数形式
  • 复数- 字符串的复数形式
  • count - 确定单数或复数形式是否应返回
  • 文本域- 插件的文本域

_n()功能的示例如下:

现在,让我们分解所有这一切.

我们传递给_n函数的第一个参数是我们只有一个注释时会显示的文本.

第二个参数在注释的数量大于1时显示文本.第三个参数get_comments_number()是返回注释计数的函数.

最后,第四个参数是翻译文本域.

功能number_format_i18n()基于区域设置将注释计数转换为格式.

同样,date_i18n基于时间戳,从本地化格式中检索日期.

7.处理歧义

在某些情况下,一个术语可以携带几个不同的含义,尽管它可能是英语中的一个和相同的词,但它可能不会以不同的语言方式翻译.

在这种情况下,应使用_x_ex功能.

_x()_ex()函数附带额外的参数:$context.

>>>>>>>>>>

使用此方法,您将确保翻译人员在不同的上下文中看到两个注释字符串,并避免混淆.

8.逃脱翻译字符串

翻译字符串可以使用以下功能来逃避:

WordPress Codex .

一旦您完成了插件中的每个字符串,唯一剩下的是创建.pot 文件,这将允许其他用户将插件转换为自己的语言.

默认情况下,官方插件存储库有一个工具,用于生成位于每个插件列表的管理页面上的插件的POT文件.

将插件上传到存储库后,您可以单击 admin>生成pot文件然后获取pop文件.

如果您不想使用官方工具,可以使用 poedit .安装后,您可以创建.pot 文件.为此,转到文件>新目录.

将出现一个对话框,您需要输入项目的信息,特别是项目名称和您的语言/国家/地区以及"复数表单"框:

复数形式:nplurals = 2;复数= n!= 1;

paths 选项卡上,输入可以找到文件的路径.自从我们的示例中使用/语言文件夹以来,您需要输入..(两个时段).

下一个,您需要告诉Poedit扫描文件时要查找的关键字.输入以下内容:

__
_e
_N:1,2
_x:1,2c
_ex:1,2c

:1,2 扩展告诉Poedit这些关键字由两部分组成:第二个参数是复数.当您包含"C"时,您将告诉Poedit,第二个论点是评论.

然后单击"确定"并选择保存.pot 文件的位置.

请记住,它必须与您之前定义的路径相关.

p> poedit现在将扫描您的文件并查找翻译函数的所有发生并将其保存到您的.pot 文件中.

现在您可以为您的插件国际化的最低限度.

如果您知道一种不同的语言并希望进一步逐步,您可以翻译排放的所有字符串,并将翻译作为.po 文件.

但是,请小心命名您的.PO 文件.由于GetText使用ISO 639用于语言缩写标准,而ISO 3166对于本地信息,您必须牢记语言和国家/地区代码,以及大写.

您可以在以下链接中找到完整的语言和国家/地区代码:

保存后,Poedit将自动创建一个.po 文件的.mo 文件.

如何为翻译

准备主题

用于翻译主题的过程遵循与我们上面描述的插件相同的原则.区别在于您需要在函数中加载文本域.php 文件:

如何使用翻译主题和插件

一旦您准备了主题或插件进行安装,并且您希望在您的网站上使用它们,则需要为您的 WP-Config 文件进行小编辑.

要执行此操作,请打开 wp-config.php 并找到:

在空的空间中添加国家代码和语言环境代码以获取翻译语言.在法语的情况下,这一点代码将成为"

保存文件,您已完成.

用于主题和插件本地化

的插件

我们已经涵盖了翻译插件翻译插件在wpmu dev,但这一次,让我们专注于帮助准备主题和插件的插件.

虽然Poedit是一个很好的工具,但有一些插件可以允许您翻译,嗯,插件,在Wordpress管理员中.

包装

WordPress用户的数量每天都在增长.而虽然播放用户的公平数量是英语,但忽略其他语言是彻头彻尾的愚蠢.

为本地化准备主题和插件可确保您达到更广泛的受众,并且您可以获得最终用户的奖励积分.这是一个净获胜.

标签:

8

发表回复