General

Which is the official language for Moodle?

The "official" language for Moodle is actually the Australian English (hey mate!) , which in 100% the same as UK English. The default language on a new installation of Moodle, unless you change it, will be this version of English, denoted by the language code "en".

What do codes like "en" and "en_us" or "es" and "es_mx" mean??

These are the language codes for each language. There is a standard for these, see ISO language code list.

The second part, "_us" or _mx" for example, represent localisations of the main language for a particular country or dialect. Typically these will include variant spellings and other preferred local terminology and phrasing. So "es_mx" has spellings and idioms used in Mexican Spanish which are distinct from international Spanish.

I found a mistake or typo in a language pack. Or my language is only partial, much of it is still English. What do I do?

Language packs have maintainers and Moodle has its own language translation toolkit, known as AMOS. Other than some core languages maintained by Moodle HQ, most languages are maintained by volunteer maintainers.

See the Translation FAQ page for how to report issues and the AMOS for newcomers page for more information.

Default Language

Where can I set the default language for the site?

Site Administration > Language > Language settings

Note you can only choose to set as default a Language pack that is already installed. If the language you want is not on the list, you will need to install the language pack first. See Language packs.

When I change to a new default language, users still have the old language.

Correct. When you change to a new site default language, this does not update the language setting in the profile for already existing users. It only sets a new default for new user accounts you create from now on.

To do updates for already existing users, you can:

I've set a default site language but when I log in it switches to English. Why?

By default, Moodle detects a user's language from their browser setting. This language auto-detection may be disabled so that the default site language is used instead in Site administration > Language > Language settings.

I've set a default site language, but the Moodle calendar is in English. Why?

If your Moodle calendar is not translated, then the string 'locale' (for *nix servers) or the string 'localewin' (for Windows servers) in the 'langconfig.php' file is wrong (or your server is not configured to support the language). There are quite a few languages that are not supported by Windows servers and the localewin server can not be set. In that case, you have to run your Moodle on a *nix server to make the translation of your Moodle calendar work. See dev:Translation_langconfig for details.

How can I disable (hide) the language dropdown menu on the site front page?

Go to Site administration > Language > Language settings and un-tick the 'Display language menu' checkbox.

Because it is a customisation, Moodle will not erase the xx_local language files in Moodledata with an upgrade. Moodle will upgrade any language folders it finds in the moodle/lang folder.

Language Customisation and Multi-language

How can I change a word or phrase used in Moodle?

In Administration > Site Administration > Language > Language customisation.

See Language customisation for details.

How can I find where a language string is located?

Tick the 'Show origin of languages strings' checkbox in Administration > Site administration > Development > Debugging then visit the page containing the string you want to customise. Add to the URL of the page ?strings=1 (or if it doesn't work try &strings=1) then reload the page.

Why are my changes not saved if I edit a language pack with the Moodle language pack editor?

This could be caused by the caching on the server. Language strings are cached into server memory for performance reasons and when you save changes, they may not be immediately picked up. First, refresh your own browser cache to refresh the pages from the site. Then if the strings are still not there, an administrator can purge the cache of the server.

How can I provide course content in more than one language?

Labels, web pages, activity descriptions etc. may be provided in more than one language using the Multi language content filter.

How can I provide course headings in more than one language?

Set the multi language content filter to apply to content AND headings in Site administration > Plugins > Filters > Manage filters.

Are there any short cuts for editing a language?

Yes, but be careful. You can make use of the customise language process. Basically copy the php files that contain the strings you want to change to the moodledata/lang/local folder. For example, copy the /lang/en/moodle.php file to someplace. Edit the file with a search and replace with whole word and case sensitive turned on, change Teacher to Instructor and Teachers to Instructors, do the same for teacher and teachers. Now copy that saved copy of the moodle.php file to the moodledata/lang/en_local folder. Be careful not to change the String name.

Is it possible to customise language strings per theme?

Not by default, as when strings are customised, they are customised for the whole site. However, it is possible to make a new language pack based on your main language and apply that pack to the course which has the theme. See this forum post for more information: https://moodle.org/mod/forum/discuss.php?d=220671


Other Language Questions

Will installing several language packs decrease my server performance?

Installing many (20+) language packs have almost 0 impact on Moodle performance. A copy of the language packs installed are stored in your site's local /mooodledata directory. Also, actively used language strings are cached in memory by your server as well to help performance, so as long as your server has sufficient RAM there will be no impact from having many language packs installed.



See also

Using Moodle forum discussions