Plugin Directory

Test out the new Plugin Directory and let us know what you think.
!This plugin hasn’t been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.


Gengo is a full featured plugin that provides multi-language blogging for WordPress 2.5+.

Does Gengo delete any of my data?

No. All of Gengo's information is stored in separate tables. The furthest you can go is to delete all posts marked as a translation of the current post, but you won't be able to do that if you don't have permissions.

How do I add / edit / delete a language

Go to Options->Gengo and follow the instructions there. It should be fairly self-explanatory.

How do I mark a post as being a translation?

In the sidebar on the post edit screen, click "This is a translation" and then select the post or group that this post is a translation of. Note that you can only choose to make a post a translation of a post in another language. Note also that you can't join a translation group for which a post in that language already exists. Summaries for the group or post it is a translation of will automatically be transferred to this post when you Save.

This also applies to pages, of course.

How do I write a summary?

On the post screen, in the Gengo section of the sidebar, click "View Summaries", select the language you wish to make a summary in, and click Add Summary. Edit the summary in the box that appears. IMPORTANT: This summary is not saved until you click "Update Summary" underneath the summary box. Summaries are not updated when you click "Save", "Save and Continue Editing" or "Publish". The summary you add will appear in the summaries block in the Gengo sidebar. You cannot write a summary for a post that has not been saved. You cannot add a summary if you are changing the translation option for a post or changing the language. You can only add one summary in any language for each post or translation group. (More than one summary in English of the same post doesn't make sense, for example).

How do I edit a summary?

On the post screen, in the Gengo sidebar, find the summary you wish to edit and click on the edit link. Edit as you wish and click "Update Summary". Your summary will be updated in the sidebar to reflect your changes.

How do I delete a summary?

On the post screen, in the Gengo sidebar, find the summary you wish to delete and click on the delete link. Confirm your choice and the post will be deleted. Mass editing of summaries will be in a future version.

How do I do side by side translating?

On the post screen, in the Gengo section of the sidebar, click "View Translations", "This is a translation" and then either click on the link for the post you wish to edit, underlined in a translation group, or select from the dropdown box of post translation options. Edit your translation as you wish. IMPORTANT: Edits to the translation are not saved until you click "Update Translation" underneath the translation box. Translations are not updated when you click "Save", "Save and Continue Editing" or "Publish".

I made a mistake and marked an entry as a translation when it wasn't!

No problem, simply uncheck the "This is a translation" checkbox or select a different post or group to join and click "Save". Note that removing a post from a translation group will unlink all of the summaries associated with that post. If you are joining a new group, the post will become associated with that group's summaries, if any exist. To double check that this is ok, make sure the "View Summaries" checkbox is ticked. This will show you how altering the translation group will affect this post's summaries.

I wrote a post with a summary and now I want to mark it as a translation of another post, but Gengo says I will lose the summary I just wrote!

Whenever you change the summary group of a post, you lose the summaries associated with it. The solution in this instance is to mark the other post as a translation of this post, wherein both will pickup this summary.

Why can I only see a few translation groups to choose from in the sidebar?

This is so that your sidebar doesn't grow to ridiculous lengths when you have lots of translation groups. Use the buttons on the sidebar to cycle through available groups. The default maximum of groups at one time is 3, plus the existing group, if it exists. You can change this maximum by editing GENGO_GROUPS_LIMIT in gengo.php. A similar restriction applies to the dropdown list of available posts, to prevent the listing of every single post. The default number for this is 10. You can change this maximum by editing GENGO_POSTS_LIMIT in gengo.php.

It doesn't translate for me!

That's right, it doesn't.

How can I set my default language?

Administrators can set the blog default language on the Gengo Options page. Users can set their personal default language on the profile page. You can see an overview of this information in the activity box on the dashboard.

What is reading in multiple languages?

It means just that. Some of your visitors will be bilingual and able to read your posts in more than one language. Multilanguage reading allows them to see all the content they can comprehend, showing your theme in their primary language. Gengo arranges the filtering so that posts are not duplicated in multiple languages and will autodetect their viewable languages from browser settings when they arrive for the first time. The gengo_language_control(); template function allows your visitors to add or remove readable languages, as required.

How can I translate categories?

Enter the synonyms you want on the Gengo->Category Synonyms admin page.

I want to do different stuff in my theme for different languages.

Use is_language() with the code of the language you want to check for, which will return true if that language is being displayed. Example:

<?php if (is_language('en')) echo "You are reading in English"; elseif (is_language('ja')) echo "You are reading in Japanese"; else echo "You are seeing all posts..."; ?>

This is a bad example though, because you can get the language the user will be looking at just by calling the_language(). Example:

<?php echo "You are reading: "; the_language(); ?>


<?php echo "You are reading: " . the_language(true); ?>

Why is there an extra <p style="clear: both"> element in the the_summaries() div block?

This is so that you can float right the list of links to other summary languages if you want to. An example of this is at WordPress Multilingual. If this causes problems with your theme, you can safely delete it. To customise this div, use the id and classes provided and do some CSS.

gengo_summaries_container: The container div of the summaries.

.gengo_summary_inner: The paragraph for each summary.

gengo_summaries_title: The legend for the summary group.

What semantic information does Gengo add?

It adds:

A meta content-language tag to the head of single language pages. link rel tags for all of the translations of a post. a href-lang tags for all links that will go to a language page.

Where can I see it in action?

You can see an example of Gengo in use, managing many languages at WordPress Multilingual.

Why aren't my posts surrounded by divs specifying the language anymore?

This was always a bit dodgy and could potentially screw up themes, so it was removed. You can add a lang or xml:lang attribute back in to your themes yourself using the_language_code().

I get "Fatal error: cannot instantiate non-existant class cachedfilereader"

You have to set WPLANG in your wp-config.php file to be the default language locale.

I get database errors like "BLOB/TEXT cannot have default value" when I activate Gengo

You are running MySQL 5.0 in strict mode. Find the 3 lines in gengo_schema.php and remove the "default ''". Reinstalling Gengo will fix the problem. This will be fixed in 0.9.1.

I get PHP errors complaining about problems with currentuser or $wp_rewrite

Another plugin you are running is incorrectly localised, which is causing this problem. See http://jamietalbot.com/wp-hacks/forum/comments.php?DiscussionID=3&Focus=31#Comment_31 for more information and how to fix this.

Fancy permalinks don't always work perfectly

They should do as of version 0.2, so if they don't send me a detailed report and I'll look into it.

The locale only changes the second time I view a specific language

This was fixed in 0.2

I sometimes get infinite redirects when Gengo isn't appending urls with language codes

This should hopefully be fixed in 0.81. It's a hard problem to solve, so if it's still broken, be sure to let me know in the forums.

Gengo breaks my XHTML validation for 1.1 or 1.0 Strict

It shouldn't do anymore. version 0.3 appended links with &, instead of relying on add_query_arg() which may or may not get fixed.

It's pretty slow sometimes...

If you mean after saving from the Edit Post screen, this probably isn't Gengo's fault. Try removing pingomatic from the Update Services menu to speed up. If saving a post times out because of pingomatic or any other update service, there is a chance that your Translation options will not be saved. If this happens, you can just link the translations again and save again. Best to disable pingomatic until its problems have been resolved though, I think.

What does Gengo mean?

It means 'language' in Japanese.

Why are you obsessed with Japanese?

I'm not obsessed, but I did live in Japan, so...

Requires: 2.5 or higher
Compatible up to: 2.6-bleeding2
Last Updated: 9 years ago
Active Installs: 80+


0 out of 5 stars


Got something to say? Need help?


Not enough data

0 people say it works.
0 people say it's broken.