Languages and Language Settings in Moodle

Exclusive offer: get 50% off this eBook here
Moodle 1.9 E-Learning Course Development

Moodle 1.9 E-Learning Course Development — Save 50%

A complete guide to successful learning using Moodle

$26.99    $13.50
by William Rice | July 2008 | Moodle Open Source

Knowing different languages is always an added advantage. If our website is able to communicate with people of different languages, globally the popularity of the website would go up. With Moodle, we have the option of making our site more interactive as it offers support for different languages. In this article by William Rice, we will see how to configure different languages on our Moodle website and also look at some of the available language settings.


The default Moodle installation includes many Language packs. A language pack is a set of translations for the Moodle interface. Language packs translate the Moodle interface, and not the course content. Here's the Front Page of a site when the user selects Spanish from the language menu:

Languages and Language Settings in Moodle

Note that every aspect of the interface is being presented in Spanish: menu names, menu items, section names, buttons, and system messages. Now, let's take a look at the same Front Page when the user selects Romanian from the language menu:

Languages and Language Settings in Moodle

Note that much of the interface has not been translated. For example, the Site Administration menu and section name for Site news are still in English. When a part of Moodle's interface is not translated into the selected language, Moodle uses the English version.

Language Files

When you install an additional language, Moodle places the language pack in its data directory under the subdirectory /lang. It creates a subdirectory for each language files. The following screenshot shows the results of installing the International Spanish and Romanian languages:

Languages and Language Settings in Moodle

For example, the subdirectory, /lang/en_us, holds files for the U.S. English translation, and /lang/es_es holds the files for traditional Spanish (Espanol / Espana).

The name of the subdirectory is the 'language code'. Knowing this code will come in handy later. In the previous example, es_utf8 tells us that the language code for International Spanish is es.

Inside a language pack's directory, we see a list of files that contain the translations:

Languages and Language Settings in Moodle

For example, the /lang/es_utf8/forum.php file holds text used on the forum pages. Let us suppose that we are creating a course for students. This file would include the text that is displayed to the course creator while creating the forum, and the text that is displayed to the students when they use the forum. Here are the first few lines from the English version of that file:

$string['addanewdiscussion'] = 'Add a new discussion topic';
$string['addanewtopic'] = 'Add a new topic';
$string['advancedsearch'] = 'Advanced search';

And here are the same first three lines from the Spanish version of that file:

$string['addanewdiscussion'] = 'Colocar un nuevo tema de discusión aquí';
$string['addanewtopic'] = 'Agregar un nuevo tema';
$string['advancedsearch'] = 'Búsqueda avanzada';

The biggest task in localizing Moodle consists of translating these language files into the appropriate languages. Some translations are surprisingly complete. For example, most of the interface has been translated to Irish Gaelic, even though this language is used by only about 350,000 people everyday. The Romanian interface remains mostly untranslated although Romania has a population of over 23 million. This means that if a Moodle user chooses the Romanian language (ro), most of the interface will still default to English.

Language Settings

You access the Language settings page from the Site Administration menu.

Default Language and Display Language Menu

The Default language setting specifies the language that users will see when they first encounter your site. If you also select Display language menu, users can change the language. Selecting this displays a language menu on your Front Page.

Languages and Language Settings in Moodle

Languages on Language Menu and Cache Language Menu

The setting Languages on language menu enables you to specify the languages that users can pick from the language menu. There are directions for you to enter the 'language codes'. These codes are the names of the directories which hold the Language packs. In the subsection on Language Files on the previous page, you saw that the directory es_utf8 holds the language files for International Spanish. If you wanted to enter that language in the list, it would look like this:

Languages and Language Settings in Moodle

Leaving this field blank will enable your students to pick from all available languages. Entering the names of languages in this field limits the list to only those entered.

Sitewide Locale

Enter a language code into this field, and the system displays dates in the format appropriate to that language.

Excel Encoding

Most of the reports that Moodle generates can be downloaded as Excel files. User logs and grades are two examples. This setting lets you choose the encoding for those Excel files.

Languages and Language Settings in Moodle

Your choices are Unicode and Latin. The default is Unicode, because this character set includes many more characters other than Latin. In many cases, Latin encoding doesn't offer enough characters to completely represent a non-English language.

Offering Courses in Multiple Languages

The settings on the Language settings page are also applicable for translating the Moodle interface. However, they are not applicable for translating course content. If you want to offer course content in multiple languages, you have several choices. First, you could put all the different languages into each course. That is, each document would appear in a course in several languages. For example, if you offered a botany course in English and Spanish, you might have a document defining the different types of plants in both English and Spanish, side by side in the same course–Types of Plants or Tipos de Plantaras. While taking the course, students would select the documents in their language. Course names would appear in only one language.

Second, you could create separate courses for each language, and offer them on the same site. Course names would appear in each language. In this case, students would select the course in English or Spanish– Basic Botany or Botánica Básica.

Third, you could create a separate Moodle site for each language, for example, and At the Home Page of your site, students would select their language and would be directed to the correct Moodle installation. In this case, the entire Moodle site would appear in the students' language: the site name, the menus, the course names, and the course content. These are things you should consider before installing Moodle.

Installing Additional Languages

To install additional languages, you must be connected to the Internet. Then, from the Site Administration menu, select Language | Language packs. The page displays a list of all available Language packs:

Languages and Language Settings in Moodle

This list is taken from Moodle's /install/lang directory. In that directory, you will find a folder for each language pack that can be installed.

Languages and Language Settings in Moodle

The folder contains a file called install.php. That file retrieves the most recent version of the language pack from the Web and installs it. This is why Moodle must be connected to the Web to use this feature. If Moodle is not connected, you will need to download the language pack and copy it into the /lang directory yourself.

If you don't see the language you want on the list of Available language packs, either it's not available in the official Moodle site, or your list of available languages is out of date. Click to update this list. If the language doesn't appear, it's not available from official sources.


In this article, we have seen how Moodle website supports different languages and how to configure these different languages. This feature can be particularly useful while designing courses for students who come from different ethnic backgrounds. Language support can not only make the website more friendlier but also makes it more easy to browse.

Moodle 1.9 E-Learning Course Development A complete guide to successful learning using Moodle
Published: June 2008
eBook Price: $26.99
Book Price: $44.99
See more
Select your format and quantity:

About the Author :

William Rice

William Rice is an e-learning professional who lives, works, and plays in New York City. He is the author of books on Moodle, Blackboard, Magento, and software training. He especially enjoys building e-learning solutions for small and mid-sized businesses. His greatest professional satisfaction is when one of his courses enables students to do something that makes their work easier and more productive.

His indoor hobbies include writing books and spending way too much time reading His outdoor hobbies include practicing archery within sight of JFK Airport, and trying to keep up with his sons on the playground.

William is fascinated by the relationship between technology and society: how we create our tools, and how our tools in turn shape us. He is married to an incredible woman who encourages his writing pursuits, and has two amazing sons.

You can reach William through his website at

Books From Packt

Moodle 1.9 E-Learning Course Development
Moodle 1.9 E-Learning Course Development

Moodle Teaching Techniques
Moodle Teaching Techniques

Elgg Social Networking
Elgg Social Networking

Building Websites with Joomla! 1.5
Building Websites with Joomla! 1.5

Building Powerful and Robust Websites with Drupal 6
Building Powerful and Robust Websites with Drupal 6

WordPress Theme Design
WordPress Theme Design

OpenCms 7 Development
OpenCms 7 Development

Apache JMeter
Apache JMeter



No votes yet

Post new comment

This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Enter the code without spaces and pay attention to upper/lower case.
Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software