使用一个插件将您的 qTranslate 翻译迁移到 WPML,该插件可以保留您的原始设置并清理残留的 qTranslate 元标记。
qTranslate 插件的工作方式与 WPML 完全不同。qTranslate 不是在不同的文章中使用不同的语言,而是将所有语言放在同一篇文章中。
它通过将文章从例如 Hello World 更改为 [:en]Hello World[:de]Hallo Welt[:] 来实现这一点。
当您卸载 qTranslate 时,所有这些元标记都将保留在您的数据库中。
我们的迁移插件可以执行以下操作:
- 将不同语言的内容拆分到不同的文章中,使您的站点可以使用 WPML 运行。
- 从数据库中清除 qTranslate 遗留的所有元标记。
- 通过删除所有翻译并仅保留您决定保留的语言,将您的 qTranslate 驱动的站点转换为单语言站点。
限制:
- 我们的迁移插件仅适用于文章和页面,即内置的 WordPress 文章类型。它不适用于自定义文章类型。
- 迁移后,您需要手动修复站点上的所有菜单。
您可以从 WordPress 存储库下载我们的 qTranslate X 清理和 WPML 导入插件。
单语言转换(无 WPML,剥离所有翻译)
如果您在没有 WPML 的情况下使用 qTranslate Importer 插件,则输出将是只有一个语言的站点。 转换过程会询问您希望保留哪种语言。 所有其他语言将从站点中删除。
如果您一直在试验 qTranslate,现在想要从数据库中清除所有这些语言元标记,这将非常有用。
在处理结束时,所有文章都将只有您选择的一种语言。
如何使用
- 禁用 qTranslate 并启用 qTranslate X 清理和 WPML 导入插件。
- 备份数据库 说真的,即使你只是做实验,也必须备份你的数据库。
- 转到设置 → qTranslate Importer,然后选择您要保留的语言。
- 点击 “清理“按钮。 这将遍历站点的所有内容,并从内容中删除语言元数据。
插件屏幕如下所示:

选择要保留的语言,并接受两个复选框。 然后,就可以开始清理了。
多语言转换(从 qTranslate 转换为 WPML)
如果您有 WPML,则 qTranslate 导入器会将站点从一篇文章中的所有语言转换为不同文章中的不同语言。转换完成后,您就可以在该站点上使用 WPML。
执行此转换的最佳方法是禁用 qTranslate,启用 WPML 和 qTranslate 导入器,然后让它自动完成所有操作。
导入过程将
- 检查 qTranslate 使用了哪些语言,并在 WPML 中启用相同的语言。
- 检查您在 qTranslate 中使用了哪种语言固定链接,并在 WPML 中选择相同的设置。
- 处理所有文章、分类法和自定义字段,并为不同的语言创建单独的文章、分类法和自定义字段。
- 制定 URL 重写规则,将进入的链接重定向到新的 URL。
为安全起见,请按照以下步骤操作:
- 禁用 qTranslate 并启用 WPML 和 qTranslate X 清理和 WPML 导入插件。
- 备份数据库 这一点至关重要。 您必须在运行导入之前执行此操作。
- 转到设置 → qTranslate Importer并查看计划的数据转换。
- 点击 “开始“按钮。 这将遍历站点的所有内容,并将其转换为使用 WPML。
导入到 WPML 的过程
导入屏幕如下所示:

运行过程中,您将看到进度。 在显示 “完成 “之前,不要中断导入过程。 屏幕应每隔几秒钟更新一次,因为它一次处理 10 篇文章。
添加 URL 重定向
导入完成后,您将看到以下内容:

如果您可以编辑 .htaccess 文件,请从 .htaccess 重写规则框中复制所有内容,并将其添加到站点的 .htaccess 文件中。
这里有一个验证按钮,可以读取该文件,检查你是否将规则添加到了正确的位置。
或者,您可以将重定向信息添加到您的主题中。单击按钮以下载包含重定向规则的 PHP 文件,并将其保存在主题的文件夹中。
然后,将以下行添加到主题中的 functions.php 文件中:
include(get_stylesheet_directory() . '/qt-importer-redirects.php');
这是一条 PHP 语句,因此应放在<?php … ?>块中。
其他可能需要手动编辑的文本
许多使用 qTranslate 的站点都在各种位置使用了语言元标记,这些标记以硬编码方式存在于 PHP 或选项页面中。一旦您不再使用 qTranslate,您将需要使用不同的方法来翻译这些字符串。
首先,确定它们的位置。 浏览您正在使用的主题和插件中的不同管理屏幕,看看是否有任何如下标记:
<!–-:en–->英文文本<!–-:–-><!–-:fr–->法语文本<!–-:–->
将这些内容替换为默认语言的文本。
然后,您可以使用 WPML 的 String Translation 模块将这些内容翻译成任何语言。
寻求帮助
如果您需要从 qTranslate 迁移到 WPML 的帮助,请访问 WPML 的支持论坛。