Content last modified Monday 6 March 2017
hop to #bottom
Current version:
About It:
Get it:
Rate it:
  • Helpful?
  • 24 Yes
  • 6 No
Flag it:

If you'd like to provide updated information and do not have access to directly edit, please contact the site admin; thanks!

Multi-Lingual Publishing Pack

The MLP Pack is an extension pack for Textpattern that allows you to easily build and maintain multi-lingual websites and manage translations.

There is a tri-lingual demonstration site online at which shows off most of the public side features of the pack.

In addition, I have posted a 23 minute flash movie that shows the admin interface of the MLP Pack. You can view the movie here.

For more background to the work you can read this forum thread.

Admin Features

  • Each TxP user can choose their own admin language — and switch between admin languages at will.
  • Localisation of plugin strings via the admin interface (at last, no editing of source files!)
  • Ability to search for, and edit, any TxP language string by name or by content — in any of the languages supported by the site.
  • Ability to quickly locate strings with missing renditions in any language.
  • Support for ‘snippets’ to simplify page/form editing and writing or for localisation of tag attributes.
  • String editor can operate in RTL or LTR mode (JS to toggle between the two.)
  • Write tab now allows title/body/excerpt and preview in RTL as well as LTR mode.
  • Import/export of your plugin strings or snippets so you can upload to live sites or share with others.
  • Export of TxP strings using the TxP language file format for distribution to other/devs.
  • Export of the MLP Pack strings in its own file format for you to bundle into your client’s MLP distribution.
  • Support for articles as groups of renditions.
  • Support for cloning of renditions and their translation into other languages using the existing write tab.
  • Email notifications sent to translators when articles are cloned or have their author changed.
  • Extra filtering of the list of renditions by language.
  • No hijacking of existing fields (sections/categories/custom fields) to store language information, so you are free to use the all existing fields as you need to.
  • Full localisation of the following fields…
    • Category titles
    • Section titles
    • Image alt text and captions
    • Link descriptions
    • File descriptions
  • Setup and Cleanup wizards.

Public Features

  • Detection of the language the user wants to view a site in via the url or browser headers.
  • URLs re-written so that browser caches know the difference between the renditions of articles in different languages.
  • Automatic selection of the correct renditions of snippets in pages and forms.
  • Fully functional search/commenting/feeds for each language the site supports.
  • Feeds are also adjusted for RTL languages.
  • Localised categories, sections, file & link descriptions, image alt text & captions.
  • 404 support for finding renditions that are not available in the requested language.
  • A tag to list all available renditions of a given article and allow switching between them.
  • Tags for accessing language codes and direction information.
  • Conditional tag for testing the visitors’ browse languages or the directionality of the languages.


  • Marios Buttner for his initial ideas, support, feedback, testing and translation.
  • Graeme Porteous for the gbp_l10n plugin, the gbp_admin_library and help in the first few months of development.
  • Destry Wion for pledging support early on.
  • Team Textpattern for, ergh, Textpattern.
Article Request Count:
Initially released:
March 18, 2007
Posted here:
20 Jan 2007
Article modified:
03 Dec 2007

If there is a comment form at the Information URL, you may want to leave your comments/questions there or at the Forum thread for quicker feedback. Otherwise, comment away:

Commenting is closed for this article.

Commented (11)


it’s awesome! it must be a feature!


This plugin is great !

Reading the help may be required to fully understand the MLP logic but it’s actually flawless and very effective.

However, I may have spotted a bug… unless i am missing something :

When updating a rendition, if you change its language to another one for which a rendition already exist (for the same article) you get an error message BUT a new rendition seems to be created for the article anyway. The new rendition has a new ID but can not be edited/deleted with TxP or MLP admin tools.

It would be a big deal if the language drowp-down on the rendition page was defaulting on the rendition language…

Any idea if this can be easily fixed ?

This plugin is very easy to use and very useful. But now I have one question, what can I do when I have an image in 2 languages? How can I select one image depending on the language? Have anyone an idea?

Hello Fran,

when you include a txp:image tag in your page,form or article; just put the image ID into a snippet. Then you can adjust the ID used (and hence the image) for each language.

Good plugin, but it still has some flaws. And true it could be implemented as a a feature.

Version 0.7.626 is now available for download.

This version should fix a lot of errors people were having on PHP5 installations.

Hello Steve, hi all.
I have a problem installing the pack.

I installed and activated gbp_admin_library plugin, but once I try to to the same with l10n plugin I get this error:

Badly formed or empty plugin code.

I understand this could be generateb by a faulty copy&paste in the plugin form, but I tried several times, in any way (copying top-bottom, reverse, a chunck a time, and so on. Always the same error.

I tried to generate the code again from source but I got this:

Fatal error: Call to undefined function require_plugin() in /var/www/vhost/ on line 566

that line contains the following:

Thank you in advance for your reply :-)


Simone Borselli’s issue has been resolved over on the Textpattern forum.

I’ll be issuing the l10n.txt file as a compressed plugin in future builds.

Is there any way to make translations for the links? I’ve just found a solution translating the description of the links, but then I haven’t found any way to show it.

Can anybody help me?



Could you post a more detailed description of your problem over on the forum.

I seldom pop by here so 99% of the time I’d miss your comment.


Subscribe to this article's comments RSS feed. [ ? ]   View Recent Comments across the site.

Would you care to write a comment or visit the forum discussion?

You know you want to visit the Archives.




There are also tag clouds, 'cause those are fun.
Published with Textpattern