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.



ZdMultiLang is a wordpress plugin allowing you to blog in multiple languages.

Here is a list of functions :

  • Translate posts ang pages
  • Translate categories and tags
  • Switch blog language
  • Widget to change currently viewed language


  1. Setup is very simple, just unzip the archive in your wp-content/plugins folder
  2. You can now activate the plugin and change the options.
  3. Setup languages and start to translate stuffs

More on Official Zdmultilang Page


See Official FAQ

I would like to have separated comments for each language.

In order to have comments tracked separatly for each language, you will have to change your comments.php template file like this:
From this:

action=”<?php echo get_option(‘siteurl’); ?>/wp-comments-post.php”

to this:

action=”<?php echo get_option(‘siteurl’); ?>/wp-comments-post.php?lang=<?php echo zd_multilang_get_locale(); ?>”

Contributors & Developers

“ZdMultiLang” is open source software. The following people have contributed to this plugin.




  • The most expected feature is now working. You can have static pages as a frontpage !
  • Updated a bug with translation icon in the page while the page has never been saved
  • Added options to hide the flag in the widget
  • function zd_multilang_menu now takes two paramaters : zd_multilang_menu (show_language_name, show_language_flag) by default these are true
  • Added an option to display original post while translating
  • Added a donate button if you want to support development of the plugin
  • Added an option to select who can translate things
  • Added an option to keep comments separated – work by Pau Sanchez
  • Added an autosave feature, can be enabled/disabled from the option page. It will autosave every 5 minutes unless the status is published


  • Update for WordPress 2.8 : Media Upload fix + Save button fix


  • Updated a variable used to make translations, a bug prevented to translate posts/pages. This has been corrected.


  • Completely redesigned the editor page
  • Added import from google feature
  • Won’t display flags for current language
  • Added draft feature for translations
  • Added term descriptions
  • Added link descriptions and translations, Blog name, Blog description
  • Better definition of Languages
  • Compatible with WordPress 2.7


  • Added the media bar in the html editor
  • Found the reason why the editor didn’t work : csforms2 is breaking the tiny_mce editor, to fix it, just disable the WP Editor Button support in your general settings.


  • Added the possibility to switch default languages (meaning: exchange original posts/tags/cats with translated ones)
  • Added translate links directly into the manage pages & into the Media zone of page/posts edition
  • Added an option to generate permalinks for default language (ex-default behavior was always yes)
  • Changed default character set as UTF-8
  • Added an option to add “Translate with Google Translate” to untranslated posts
  • Added an option to hide untranslated posts if they exists (ex-default : show all posts)


  • Updated all database queries, reduced the numbers of queries executed per page (about 200 queries less) via caching methods. The plugin should now require something like 9 queries per page (which is huge i Know, but to translate a blog, this is “necessary”).