This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.



mLanguage adds Multilanguage Support to your Blog. You have only to write post, tagging each language.

This plugin will not be maintained any longer.

If you want to cantact me anyway, visit or send me a message on twitter(@gnomx,


  • You have to write only one post/site by tagging the different languages.
  • Easily switch between the Languages with the Menu without reloading the site.
  • Only displays default Language in the feed with a note at the bottom that this article is also available in other languages.
  • Options to add or delete Language Tags or change the default one.
  • Change Flags in the Options.


  • The Menu with 3 languages defined.
  • Writing a Post.
  • The Options Panel.


  1. Upload all the files in /wp-content/plugins/mlanguage/ directory.
  2. Activate the plugin through the ‘Plugins’ menu in WordPress.
  3. Place <?php mlang_menu() ?> in your templates or activate the Widget.
  4. You can start writing blog contents in multiple language using tags like:
    `[en]post in english[/en]
    [de]post in german[/de]«


How to use?

You have only to write post, tagging each language:

eg. [de]Deutsch[/de] [en]English[/en]

For titles, you have to write as normal title inside post, the one in the language you have set as default.

Then you have only to scroll till Custom Fields and add:

key: the short tag of the language ( eg. de or en, etc )
value: the title text

How to change default language?

Open the config Menu, you should find it in the Settings Menu.
Search for the Language you want to set to default in the List an click on Edit. Now click on the Checkbox labeled ‘Default Language’ and click ‘Update Tag’.

How to add a Language ?

Open the config Menu, fill in the Form on the bottom and click ‘Add Tag’.

Language Name = The full name off the Language eg. English

Language Tag = The shorten form of the language Code ( eg. de or en, etc)

Default Language = Check this if you want to make this Language to your default.

If you want to change the images or include more upload them to /wp-content/plugins/mlanguage/img/.

They must be named

For a Default Language: 
    TAG = First two letters of the language Code. ( eg. de, en)

For Sublanguages: 
    TAG = Full language Code in lower case. ( eg. de-at, en-us)

[TAG].png for the active state. (eg. en.png or de.png)

d[TAG].png for the disabled state. (eg den.png or dde.png)

Language Codes can be found here:

How can I translate my Menu items?

Go to your Menu options (Appearance->Menus) and select you menu if it isn’t already selected.
Now unfold the menu item you want to translate by clicking the arrow on the right side.
Change the Text from the ‘Navigation Label’ Field into e.g <span class="en">EnglishTitle</span><span class="de">Deutscher titel</span> aso.
Save the item.
Now Your Menu Item should switch like everything else on the site.

I got a trouble with the feed?

If you see the text unformated in your feed, you should go to your Reading Settings and set Full text«.

You can also use feedburner, it makes the feed nicer πŸ˜‰

If you updatet mlanguage and have problems on your site with the plugin, just go to Settings->mLanguage and enable `Create Feed« in every language. After you have updated your Settings you can disable it again if you want.

I got a trouble with titles, how to solve it?

I saw that some templates misuse the the_title function for the anchor title value too.

The solution to this problem is very easy, you have to edit a couple of your template files ( in particular single.php, index.php and page.php ).

First of all you have to find this line:

title="Permanent Link to <?php the_title(); ?>"

and the replace with this one:

title="Permanent Link to <?php echo strip_tags(get_the_title()); ?>"
problem how to fix ?

More problem is very easy to fix with a simple workaround, you have just to write a post doing this:

[de]Before more german[/de]
[en]Before more english[/en]
[de]After more german[/de]
[en]After more english[/en]


There are no reviews for this plugin.

Contributors & Developers

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


Translate “mLanguage” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • Not Active Languages were not initially hidden. They should not longer show up on load.


  • Fixed a Bug where the Title of Pages and Posts in menus got messed up
  • Rewritten the JS Code


  • Small Update. You can now tag Excerpts.
  • Added New Flags (Serbia, New Zealand and Turkey)


  • wtb more Eyes, spans are inline elements not block. duh


  • Now custom language tags around the whole site will also been hidden/shown on page load.


  • Fixed my own Dumpness.


  • Fixed a Fatal Error caused by a conflict with another plugin.


  • Added Support for Right-To-Left Languages. You have now the Option to set the Language to rtl.


  • Added an Option to show the Language Titles in the Menu beside the FLag.
  • Added Classes to the Menu Items, you can now style them via Css. (mlang-menu-link, mlang-menu-image and mlang-menu-title).


  • Fixed that Titles where no second language was defined would be wrapped in an tag.
  • Added new Flags: Denmark(da), Czech Republik(cs), Slovakia(sk), Hungary(hu) and Poland(pl).


  • I have rewritten the script init function, now jquery loads when necessary.
  • Added new Flags: Indonesia(id), Thailand(th), Korea(ko), Australia(en-au), South Afrika (en-za) and Argentinia (es-ar)


  • Added Option to hide the Article Footnote in Feeds.



  • Was to tired last night and borked up some code, i have fixed it.
  • jquery now loads as default.


  • Added RSS Feature, you can now set a rss2 feed for every language. (If you have problems after updating, just go to opions and edit your languges and click the Create feed checker and update, you can disable it after again if you want.)
  • Fixed RSS with PHP 4.


  • So now it should run with php4 (hopefully)


  • Some Typo
  • Added a link in the options to find language tags.
  • More Flags (sweden, finland(sv-fi), norway(nb), mexico(es-mx), portugal(pt), netherlands(nl), canada(en-ca)


  • Fixed a function & array in optins.php, hopfully works now with all php vers.
  • Once more added Flags: greece(el), israel(he) & arabic(ar)


  • Added indian(hi), brazil(pt-br), japan(ja) Flags
  • Changed that crapy button icon (shame on me) πŸ˜‰


  • Added a Button to the Editor, no more hand taging anymore, jea!
  • You Can now Change the Flag shown in the Menu, in the optins.
  • Added more Flags.


  • Added Menu Widget.
  • A lot dump failures cleared. (hope so)
  • Added more Flags( ru, de(ger), it).


  • Changed the Options Location, thy are now under the Settings Tab. It’s to Tiny for a own Menu site πŸ˜‰