To translate content on your website, it is possible to use Google Translate. There are 2 ways to do this:

  • Translating the website on the client side (in Drupal by using the module GTranslate). The website will be readable in more than 50 languages.
  • Translating the content for every language used on your website.

Because Google Translator does not translates perfectly, the results should be modified. So the last option I would like to use.

Drupal and Internationalization

In the post Making a multi-language site is described how to install and configure the Internationalization (i18n) module.

When the Internationalization is installed, you will have some nice features in Drupal available. For example the node translating features

Node translating

If you have 2 or more languages installed in Drupal and configured i18n well, you can select the select the language, when editing content. When editing content, also a tab ‘Translate’ is available. If you are not able to see this, check the following:

  • Is for this content type ‘Enabled, with translation’ enabled?
  • When editing, is the language on ‘Language neutral’?
  • Check step by step the installation: Making a multi-language site

Translate tab

So for every post, which is not language neutral, we will have a ‘Translate’ tab. Press on this tab and you will see for all other languages, a ‘add translation’ under Operations.

Click on ‘add translation’ and you will see the content in the original language, marked with ‘(source)’. Wouldn’t it be nice, to have this content already translated by Google Translate?

Google Translate module

I have tested quite some translation modules and the i18n_auto module was the best quality and also nearly like I wanted to have it. But the i18n_auto module translates automatically in batch, for all other languages. For example when publishing a post, it will automatically publish in other languages. I would like to have more control in which post is translated and when publishing this.

I had an email correspondence with the i18n_auto maintainer (Greg Harvey). He described it in issue drupal.org/node/708874.

In the meantime I developed on the base of i18n_auto module, the module i18nTranslate. Which is exactly doing what I described above.

i18nTranslate

So it works like the original function, but when clicking on ‘add translation’, the body and the title will be translated automatically by Google Translate. Now you can modify what you would like to modify in the content and then you can press ‘Save’ and publish the content.

i18nTranslate module status

This module is not an official Drupal module. I would like to help Greg to integrate this module in the i18n_auto module. But in the meantime you can use the i18nTranslate module from here attached to this post.

Installing i18nTranslate

  • Download the module i18nTranslate here: i18ntranslate.tar.gz
  • Install the module in the /sites/all/modules directory, including the gtranslate-api-php directory
  • Activate the module i18nTranslate in menu: Home » Administer » Site building » Modules
  • If you are using Taxonomy, like Tags, and you also want to copy them to the translated post, please take care that the modules ‘Synchronize translations’ and ‘Taxonomy translations’ also are activated. Taxonomy will not be translated by Google Translate, it will only be copied.

Remark: Google Translator preserves the HTML formating, but the HTML code does not contain any cariage returns anymore. But editors like CKEditor solving this problem and reformats the HTML code into like it was.