Attention

As of version 1.5 (released on Jan 30, 2015), we’re not continuing the development and stop providing support on this plugin.

The plugin worked well for most of the people and helped thousands of people to migrate from a free multilingual plugin but without enough support and features to WPML, a more complete solution that also offers great support.

qTranslate是多语言WordPress的另一个插件。 它的工作原理与WPML有很大区别。与在不同的文章使用不同的语言相反,qTranslates将所有的语言放在同一文章中。

这个导入工具将不同语言的内容拆分为不同的文章,使您的网站使用WPML运行。

WordPress插件库中有这个插件:

http://wordpress.org/extend/plugins/qtranslate-to-wpml-export/

单语言转换(没有WPML,去除所有的翻译)

如果您不带WPML使用qTranslate导入工具,输出将是一个只有一种语言的网站。 转换过程中会问您要保留哪一种语言。 所有其他语言将被从网站上删除。

如果您已经尝试qTranslate,现在要从所有这些语言元标记清理数据库,这非常有用。

在处理结束时,所有文章只使用您选择的语言。

原理:

  1. 禁用qTranslate,启用qTranslate导入工具插件。
  2. 备份您的数据库。严格地讲,即使您只是在试验,您也要备份您的数据库。
  3. 进入设置->qTranslate导入工具,并选择您想要保留的语言。
  4. 按一下“清理”按钮。 这将检查该网站的所有内容,并从该内容中删除语言元数据。

该插件屏幕类似如下:

使用qTranslate导入工具转换为一种语言

选择您要保留的语言,并选择两个复选框。然后,您就可以开始清理。

多语言转换(从qTranslate转换到WPML)

如果您有WPML,qTranslate导入工具将来自一个文章的所有语言的网站转换为不同文章的不同的语言。 转换完成后,您可以在网站上使用WPML。

完成这个转换的最好办法是禁用qTranslate,启用WPML和qTranslate导入工具,进行自动转换。

导入过程将会:

  1. 检查qTranslate使用了哪种语言,并在WPML启用相同的语言
  2. 检查您在qTranslate中使用哪种语言固定链接,并在WPML中选择相同的设置
  3. 处理的所有文章、分类和自定义字段,并为不同的语言创建单独的内容。
  4. 产生URL重写规则,使您可以将传入链接重定向到他们的新的URL

要安全做到这一点,请按照下列步骤操作:

  1. 禁用qTranslate,启用WPML和qTranslate导入工具插件。
  2. 备份您的数据库。这是至关重要的。运行导入工具之前,您必须这么做。
  3. 进入设置- >qTranslate导入工具,并审查计划的数据转换。
  4. 点击“开始”按钮。 这将检查该网站的所有内容,将其转换为使用WPML。

导入到WPML的过程

该导入屏幕类似如下:

qTranslate到WPML的导入

它运行时,您会看到进度。不要打断导入过程,直到提示“完成”。屏幕应该每隔几秒钟更新,因为它一次处理10篇文章。

添加URL重定向

一旦导入完成,您会看到如下:

qTranslate到WPML转换完成

如果您可以修改.htaccess文件,从.htaccess重写规则框中复制全部,并将它添加到您网站的.htaccess文件中。

有一个“验证”按钮,将读取该文件,并检查您是否将规则加入到正确的位置。

或者,您可以将重定向信息添加到您的主题。点击按钮,利用重定向规则下载PHP文件,并将其保存在您的主题文件夹。

然后,将下面一行添加到主题中的functions.php文件:

include TEMPLATE_PATH . '/qt-importer-redirects.php';

这是一个PHP语句,所以它应该在<?php?>代码块中。

您可能必须手动编辑的其它文本

许多使用qTranslate的网站在不同的地方已经使用了语言元标签(PHP硬编码中,或者选项页面)。 一旦您从qTranslate离开,您需要用不同的方式来翻译这些字符串。

首先,找到它们。 检查您正在使用的主题和插件中的不同管理员屏幕,看看是否有任何标记类似如下:

<!–-:en–->English text<!–-:–-><!–-:fr–->French text<!–-:–->

将它们直接替换为默认语言的文本。

然后,您可以使用WPML的字符串翻译模块将其翻译为任何语言。