My experience with the Moodle LMS has involved dealing mostly with multilingual sites. Unfortunately there are still many core Moodle plugins and third party plugins and themes that still do not support multilingual content. However the situation is improving with each code release.

One Moodle plugin which has made life a lot easier when implementing multilingual courses is the Multi-linugual Content (multilangsecond) filter by Vanyo Georgiev. Unlike the core HTML based Multi-language Content filter plugin that comes bundled with Moodle, multilangsecond has a non-HTML syntax that enables you to wrap your content in plain text language markup tags like {mlang en}Hello{mlang}{mlang fr}Bonjour{mlang}. Entering these tags require no knowledge of HTML at all. Unlike the Multi-language filter which only supports inline content using HTML <span> tags, multilangsecond also supports block mode so you can do things like this:

{mlang en}
Put many paragraphs of English content, lists, images and just about anything else in here.
{mlang}{mlang fr}
Put many paragraphs of French content, lists, images and just about anything else in here.
{mlang}

Taking this one step further, Iñaki Arenaza recently enhanced multilangsecond with a new yet to be released plugin called multilang2 -- currently only available on GitHub. The main difference is that is optimized by dropping support for the older HTML syntax. The more important new feature is that you no longer need to have multiple languages.

For example, say you have content which is only available in English on a multilingual site. You might want to add a note that will only appears when students access the page in French. You could accomplish this by adding something like {mlang fr}Disponible en anglais seulement{mlang}.

Notice that the {mlang} tag syntax is 100% backwards compatible with the multilangsecond plugin? Sweet! Got to love it when you don't have to go through a migration process to upgrade.

This all seems far simpler than the old multi-lingual filter and I have to tell you that instructional designers really appreciate not having to edit HTML codes in the Moodle editor.

However Iñaki has gone above and beyond simplifying the process one step further by integrating the {mlang} tag system into TinyMCE with his tinymce moodlelang2 plugin, also currently only available on GitHub. It is compatible with both multilangsecond and multilang2. Multilingual language tagging of content has now become as simple as selecting the content with your mouse and selecting the appropriate language from TinyMCE's dropdown menu. It also locks the tags so you can't accidental delete part of them and even highlights them so you can see them while editing the text.

Here is a video that was made by the author demonstrating a beta version of his plugins:

I am super exited to see innovations like this making Moodle simpler to use for course developers and administrators which results in a better experience for students.

If you are involved in creating multilingual Moodle sites, drop me a comment below. I would love to hear about your experiences.

Michael Milette