Loco 翻译不起作用? 常见问题及其解决方法

已发表: 2023-11-27

遇到 Loco Translate 无法工作的问题吗?

大多数时候,Loco Translate 提供了一种简单的方法,让您可以翻译核心 WordPress 软件以及主题和插件中的字符串。 您可以使用此功能将您的网站本地化为您想要使用的任何单一语言。

但是,有时您会遇到 Loco Translate 无法翻译部分或全部网站扩展程序中的部分或全部内容的问题。 或者,您可能会遇到其他问题,例如保存时出错、丢失翻译文件等。

如果您遇到这种情况,这篇文章可以为您提供帮助。

下面,我们将首先解释 Loco Translate 无法工作的最常见原因,以及如何解决这些问题。

如果这些故障排除步骤无法解决您的问题,我们还将分享 Loco Translate 替代方案,为您提供另一种翻译网站内容的方法(甚至可以创建一个多语言网站,如果这是您的目标)。

Loco Translate 不起作用:常见问题和修复

无需进一步介绍,让我们直接了解解决 Loco Translate 无法工作问题的技巧。

除了在继续之前尝试的一些一般提示之外,我们还将介绍七种类型问题的修复方法:

  • Loco Translate 缺少主题或插件中的一些字符串(但在其他方面工作正常)
  • Loco Translate 翻译未显示在您的网站上
  • 翻译文件不断消失
  • 保存或同步文件时出错(例如 404 Not Found 或其他 400 级错误)
  • 保存文件时出现 413 请求实体太大错误
  • 允许的内存大小耗尽错误(尤其是同步文件时)
  • 无法翻译动态内容

在排除故障之前尝试这些事情

在进一步解决 Loco Translate 无法翻译的问题之前,您首先需要执行一些内务步骤来消除一些基本问题。

更新到所有内容的最新版本

首先,确保您使用的是翻译网站所涉及的所有内容的最新版本。 其中包括 Loco Translate 插件本身,以及核心 WordPress 软件和您正在翻译的主题/插件。

设置您的 WordPress 网站语言

接下来,确保您已将 WordPress 网站的语言正确设置为您想要在网站上使用的正确语言:

  1. 转到 WordPress 仪表板中的“设置”→“常规”
  2. 站点语言设置为您要使用的语言。
  3. 单击底部的保存更改按钮。
如何更改 WordPress 网站语言以修复 Loco Translate 不起作用

清除您的缓存

最后,请确保清除站点上的所有缓存。

缓存是通过将文件存储在静态缓存中而不是动态下载/生成它们来提高性能的好方法。 但是,如果缓存文件中出现问题,可能会导致各种奇怪的问题。

因此,解决任何WordPress 问题的第一步都是清除缓存。

就是这样:

  1. 清除用于访问网站的网络浏览器中的浏览器缓存。 Kinsta 有一个指南,向您展示如何清除所有流行浏览器中的浏览器缓存。
  2. 清除网站的页面缓存。 如果您的主机提供服务器级缓存或通过缓存插件,您可以通过主机执行此操作。
  3. 如果您使用 CDN 服务,请清除 CDN 缓存
如何清除缓存

执行完这些基本故障排除步骤后,如果 Loco Translate 仍未翻译内容,您可以继续执行 Loco Translate 特定步骤。

Loco Translate 翻译未显示

在某些情况下,您也许能够在 Loco Translate 的后端翻译所有内容。 但是,这些翻译实际上可能不会显示在您网站的前端。

显然,这令人沮丧,所以让我们来看看一些潜在的问题和修复方法。

您的翻译文件可能已被删除

根据您保存翻译文件的方式,应用更新时它们可能会被删除,这将导致 Loco Translate 无法翻译网站前端的内容。

我们将在下面的专门部分中介绍如何解决此问题。 但基本的想法是,您应该尝试将翻译文件保存在 Loco Translate 在您的服务器上创建的特殊文件夹中。 这将防止它们在您应用更新时被覆盖。

您可以从“重新定位”选项卡将翻译文件移动到新文件夹。 我们建议尝试“自定义”选项,看看是否可以解决问题。

如何移动 Loco Translate 文件位置

您的 WordPress 网站语言错误

我们已经在上面的“故障排除之前尝试这些事情”部分中介绍了这一点。 但如果您的 WordPress 语言设置不正确,这将意味着您的翻译无法加载。

例如,如果您的翻译是西班牙语,但您的网站语言仍设置为英语,则 WordPress 将以英语显示所有内容,而不是使用您的翻译。

如何更改 WordPress 网站语言以修复 Loco Translate 不起作用

您的翻译文件尚未加载

如果您的翻译文件存在但未加载,您也可能会遇到问题。

不幸的是,您需要轻松地分析代码才能实施许多此类故障排除步骤。 此外,您通常需要寻求插件或主题开发人员的帮助才能真正永久解决问题。

主题和插件可能无法加载您的翻译文件有以下几个原因:

  • 该扩展程序未调用 load_textdomain 函数(主题为 load_theme_textdomain,插件为 load_plugin_textdomain)。 您需要要求扩展程序的开发人员解决此问题,以确保您的翻译正确加载。
  • 您的翻译文件命名不正确。 如果扩展编码不正确并声明了与其实际使用的文本域不同的文本域,则可能会发生这种情况。 同样,您需要联系扩展程序的开发人员以让他们解决此问题。
  • 该扩展程序的翻译模板已过时。 如果翻译模板与源代码不匹配,这可能意味着您认为翻译的字符串实际上并不存在于源代码中。 同样,您需要要求开发人员更新翻译模板。

Loco Translate 缺少主题或插件中的某些字符串

在某些情况下,您可能会遇到 Loco Translate大部分工作正常的情况,但它无法识别您想要翻译的主题或插件中的某些字符串。

这可能会导致一种尴尬的情况,即翻译不完整,某些内容已正确翻译,而其余内容仍为原始语言。

这里最常见的问题是主题或插件的编码方式。 例如,如果插件将相关字符串作为 WordPress 站点选项动态存储在您站点的数据库中,您可能无法在 Loco Translate 中访问它。

但是,还存在一些其他潜在问题,因此值得更深入地研究这个问题。

确保您知道字符串来自哪里

故障排除的第一个步骤是确保您确实知道字符串来自何处。

例如,如果您认为该字符串来自核心 WordPress 软件,但它实际上来自插件,这可能可以解释为什么您无法找到它。

您还可能遇到同一字符串位于两个不同位置的情况。 您可能已经翻译了该字符串的一个来源,但错过了另一个来源。

如果字符串完全丢失则运行同步

一旦您确切知道字符串应该在哪里,您就可以开始更深入地调试。

如果您根本找不到该字符串,您应该尝试再次同步翻译。 您可以通过单击编辑器中的“同步”按钮来执行此操作:

如何同步翻译文件以解决 Loco Translate 无法工作的问题

这通常可以解决问题,但并非万无一失。

例如,如果扩展开发人员没有提供有效的翻译模板,Loco Translate 将需要尝试从源代码中提取字符串,这在某些情况下可能不起作用(这很大程度上取决于开发人员如何编码以及他们是否遵循最佳实践)。

可以创建自己的翻译模板来解决该问题。 但是,您需要具备开发知识才能做到这一点,因此这不适用于临时用户。 您最好的选择是联系扩展程序背后的开发人员,向他们寻求帮助。

Loco Translate 翻译文件不断消失

如果您遇到 Loco Translate 翻译文件消失的问题,最常见的问题是 WordPress 自动更新和您保存翻译文件的位置。

如果您将翻译文件保存在要翻译的内容的插件或主题文件夹中,则每当您更新相关主题或插件时,这些翻译文件通常都会被覆盖。

当 WordPress 更新站点上安装的语言时,核心翻译也会发生这种情况。

如果您为主题和插件启用了自动更新,即使您无需手动更新扩展,这种情况也可能会自动发生。

要解决此问题,您应该确保将翻译文件保存在 Loco Translate 提供的“安全”目录中。 它位于以下文件夹中:

wp-content/languages/loco

您可以在创建/移动文件时通过选择“自定义”选项来选择此选项。

如何选择自定义文件位置以避免 Loco Translate 无法工作的问题

通过将翻译文件保存在此文件夹中,您可以确信它们在 WordPress 更新期间不会被覆盖。

对于核心翻译文件,您还可以通过将以下过滤器添加到站点的 wp-config.php 文件来禁用自动翻译文件更新:

add_filter( 'auto_update_translation', '__return_false' );

保存 Loco Translate 时出现 400 级 HTTP 错误(404 Not Found、403 Forbidden、410 Gone 等)

如果您在尝试保存 Loco Translate 时遇到 400 级 HTTP 错误,最常见的问题是服务器配置存在问题。

这里常见的错误代码包括以下内容:

  • 404 未找到
  • 403 禁忌
  • 410 走了

这些问题可能比较棘手,因为它涉及服务器的配置方式。 因此,您可能需要一些技术知识来调试这些问题。

以下是一些需要考虑的领域的提示:

  • 检查 Gzip 压缩配置– 某些服务器压缩模块(例如 mod_deflate)可能会导致问题。 您可以尝试在向 wp-admin/admin-ajax.php 发出请求时禁用 Gzip 压缩。
  • 尝试禁用 PHP 的 zlib.output_compression 设置
  • 尝试暂时禁用站点的防火墙- 您可能会因为 Wordfence 等安全插件或 mod_security 等服务器模块而遇到问题。 不过,您不应该让防火墙永久禁用,因此如果这导致了问题,您将需要找到更长期的解决方案。

如果所有其他方法都失败,请考虑联系您的托管服务,因为他们可能能够调整服务器配置以阻止问题发生。

413 在 Loco Translate 中保存文件时请求实体太大

保存文件时可能遇到的另一个问题是 413 请求实体太大错误。

当您尝试保存的 PO 文件大于服务器配置为通过 POST 数据接受的文件时,就会发生此错误。

如果您的服务器配置低于 PO 文件的大小(对于 WooCommerce 等大型插件可能会发生这种情况),您需要提高限制来解决问题。

要检查服务器的当前限制,您可以转到 WordPress 仪表板中的Loco Translate → 设置 → 调试,然后查看PHP post_max_size限制。

Loco翻译调试信息

要增加这些限制,您需要编辑服务器的配置,重点关注这些限制:

  • PHP post_max_size 限制(不是upload_max_filesize 限制,这是许多用户关注的
  • 如果使用 Apache,则 LimitRequestBody 限制
  • 如果使用 Nginx,则 client_max_body_size 限制

如果您不愿意编辑这些服务器级配置文件,我们建议您向主机的支持人员寻求帮助。

在 Loco Translate 中同步时允许的内存大小耗尽

当您首次从文件中提取文本字符串时,Loco Translate 在这些操作期间可能会占用大量内存,尤其是对于开发人员未提供翻译模板的较大翻译文件。

这可能会导致内存使用量激增,从而触发“错误:允许的内存大小已耗尽”消息。

如果可能,您可以尝试提高站点/服务器的内存限制:

  • 增加 PHP 内存限制
  • 增加站点的 wp-config.php 文件中的 WP_MEMORY_LIMIT 变量

您可以通过转到Loco Translate → 设置 → 调试 来检查站点的当前限制。

如果您不愿意自己进行这些更改,您可以向房东的支持人员寻求帮助。

如果无法增加内存限制,Loco Translate 可以让您跳过超过特定最大大小的文件。 默认情况下,它会跳过大于 100K 的文件,但您可以通过转到Loco Translate → 设置并调整数字来调整此设置。

如何在 Loco Translate 中跳过大文件

Loco Translate 不允许您翻译动态内容(例如 WordPress 编辑器中的内容)

最后一个并不是 Loco Translate 不起作用的真正例子 - 它只是超出了 Loco Translate 提供的范围。

Loco Translate 让您可以轻松访问和翻译 WordPress 核心、插件和主题中的翻译文件。

但是,它无法帮助您翻译在 WordPress 编辑器或其他动态区域中添加的内容。

对于单一语言网站,这不是问题,因为您只需以目标语言添加该内容即可。

但是,如果您想创建一个多语言网站,让用户可以为每段内容选择两种或多种语言,那么 Loco Translate 可能不是适合这项工作的插件。

这让我们进入文章的下一部分 – 如果您仍然遇到 Loco Translate 问题和/或您想要实际创建一个多语言 WordPress 网站,您可以考虑使用 Loco Translate 替代方案。

TranslatePress:如果 Loco Translate 不起作用,可以考虑的替代方案

如果您在 WordPress 上仍然遇到 Loco Translate 无法工作的问题,您可以考虑 TranslatePress。

TranslatePress 提供了一种使用可视化点击式编辑器翻译网站所有内容的简单方法。 它提供了一种全面的方法,完全支持 WordPress 核心的内容以及您正在使用的任何插件和主题。

TranslatePress 视觉翻译编辑器

以下更详细地介绍了为什么 TranslatePress 可以成为出色的 Loco Translate 替代品……

TranslatePress 多语言

如果您遇到 Loco Translate 无法工作的问题,请考虑最好的 Loco Translate 替代方案

获取插件

或下载免费版本

全面的翻译,即使插件的编码不同

TranslatePress 的优势之一是它能够为您网站上的所有内容(包括插件和主题)提供全面的翻译支持。

虽然 Loco Translate 通常可以很好地检测您正在翻译的插件和主题中的字符串,但您可能会遇到 Loco Translate 无法检测某些字符串的情况,这可能会导致翻译不完整。

发生这种情况通常是因为主题/插件开发人员对其扩展进行编码的方式,而不是 Loco Translate 本身的问题。 但最终结果是一样的——您很难完全翻译您的网站。

TranslatePress 能够通过使用不同的检测翻译的方法来绕过此问题。 TranslatePress 不是查看某个主题或插件中的幕后代码,而是查看网站的前端输出。

如果某个字符串出现在您的网站上,TranslatePress 会让您翻译它,无论它在幕后代码中如何出现。 它还仍然为 WordPress gettext 内容提供特殊处理。

总的来说,如果您因翻译不完整或翻译网站上的某些字符串遇到困难而感到沮丧,TranslatePress 可能是一个不错的选择。

可视化、点击式翻译编辑器

Loco Translate 让您使用类似于传统 PO 编辑器的界面进行工作,而 TranslatePress 让您可以使用可视化的点击式编辑器来管理翻译。

您将在右侧看到页面的实时预览,在左侧看到侧边栏。

要打开字​​符串进行翻译,您只需将鼠标悬停在该字符串上并单击铅笔图标即可。 gettext 字符串的铅笔图标为绿色,动态字符串的铅笔图标为蓝色。

TranslatePress 视觉翻译编辑器

全面的多语言支持

Loco Translate 主要只是一个用于访问更简单的翻译管理方法的工具。 它不需要直接使用 .po 或 .mo 文件,而是为您提供一个浏览器内界面来访问翻译。

虽然如果您只需要将插件或主题翻译成单一语言,这很好,但如果您想实际创建一个多语言网站,让您的网站访问者可以使用前端语言切换器在两种或多种不同语言之间进行选择,那么这就没那么有用了。

虽然您可以在单语言网站上使用 TranslatePress,但它的主要重点是帮助您创建一个有效的多语言网站。

价格实惠(还有免费版本)

与 Loco Translate 一样,TranslatePress 提供了 WordPress.org 上提供的免费版本,以及添加了更多功能的高级版本。

免费版本已经允许您访问可视化翻译编辑器,以及翻译核心 WordPress 软件和主题/插件的所有前端内容的能力。

如果您想使用更多功能,高级版本增加了对无限语言的支持(非常适合具有 3 种以上语言的多语言网站)、专用翻译帐户、多语言 SEO 功能等等,起价仅为 89 欧元。

如有疑问,您可以随时从免费版本开始,然后再升级。 即使您从免费版本转移到高级版本,您的所有翻译和设置仍然会存在。

如何开始使用 TranslatePress

如果您想尝试使用 TranslatePress 作为 Loco Translate 替代方案,这里有一个关于如何开始的快速指南:

  1. 从 WordPress.org 安装免费的 TranslatePress 插件(或购买并安装高级版本)。
  2. 转到设置 → TranslatePress选择您想要在网站上提供的语言。
  3. 可选– 转到 TranslatePress 设置区域中的自动翻译选项卡,通过 Google Translate 或 DeepL 设置机器翻译。
  4. 在网站前端打开一个包含您要翻译的内容的页面 - 这可能是来自核心软件、主题、插件等的内容。 只要内容在该页面上的某个位置可见,您就可以翻译它。
  5. 单击 WordPress 工具栏上的新翻译页面选项以启动可视化翻译编辑器。
  6. 在网站的实时预览中,将鼠标悬停在要翻译的内容上,然后单击铅笔图标。
  7. 在侧边栏中添加您的翻译并保存更改。
  8. 根据需要重复翻译其他内容。

要查看更深入地涵盖所有这些内容的完整教程,您可以查看这些帖子:

  • 如何创建多语言 WordPress 网站
  • 创建多语言网站的终极指南
  • 如何提供多种语言的 WordPress

Loco 翻译不起作用? 现在你可以修复它

Loco Translate 是一款出色的工具,可帮助您翻译 WordPress 上的内容。 然而,如果您遇到 Loco Translate 无法正常工作的情况,事情很快就会变得令人沮丧。

在这篇文章中,您学习了一些故障排除技巧,以找出问题所在并修复 Loco Translate 无法正常工作的问题。

如果您在尝试这些修复后仍然遇到问题,您可能还需要考虑使用 TranslatePress 作为 Loco Translate 的替代方案。

如果您想尝试 TranslatePress 并看看它是否满足您当前情况的需求,您可以安装 WordPress.org 的免费版本,以便已经能够全面翻译您的网站。

然后,您可以随时升级到 TranslatePress 的高级版本来访问附加功能,而不会丢失任何现有翻译。

TranslatePress 多语言

如果您遇到 Loco Translate 无法工作的问题,请考虑最好的 Loco Translate 替代方案

获取插件

或下载免费版本