Multi-language content filter
The Multi-language content filter enables resources to be created in multiple languages. When turned on, it looks for <span lang="xx" class="multilang"> tags which indicate that a text contains multiple languages. Then it selects and outputs the best language for the current user. The language of the resource will change when the user changes their selected Moodle language.
How to use in a course
To use this feature first create your contents in multiple languages (in the same resource). Then enclose each language block (aka multilang block) in the following tags:
<span lang="XX" class="multilang">your_content_here</span> <span lang="YY" class="multilang">your_content_in_other_language_here</span>
It is essential to be in the code editing mode (press [<>] in the HTML editor), when you enter these tags for them to work. Only spaces, tabs and enters can be used between the individual languages in the multilang block.
How it works internally
- Filter first looks for multilang blocks in the text
- For each multilang block:
- If there are texts in the currently active language, print them
- Else, if there exists texts in the current parent language, print them
- Else, print the first language found in the text
- Text outside of multilang blocks will be shown always
- The multilang filter is not enabled. It can be enabled by a site administrator in Settings > Site administration > Plugins > Filters > Manage filters.
- Extra characters between language span tags - editor might add <br /> or other tags, please review the html in source view
- If the course setting is "force" some language, you won't be able to change the displayed language.
- Extra spaces in language span tag
- Can not easily access language choice dropdown! Unfortunately you must go to the site homepage or your own profile to change the displayed language. It is possible to manually quickly change displayed lang by editing the URL in the browsers address bar. See Tips and tricks below!
Tips and tricks
Changing language displayed without going to front page
It is possible to change the displayed language by manually changing the link.
- Here is the default language page at id=2306. This link is in English, the default language:
- The link to change the page display to Spanish is
- When the default language is an other language, to change the page to an English version, the link would be:
Thus, with a bit of editing, you can manually change the displayed language by adding "&lang=xx" to the URL in the location bar of the browser. Where xx is the abbreviation for the language you want.