Which is the official language for Moodle?
The "official" language for Moodle is actually the Australian English (hey mate!), which is 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" and "es_ve" 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" and "_ve" 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 (and a very important Decimal separator) used in Mexican Spanish which are distinct from international Spanish. The es_ve has small differences from the international Spanish that are of significance to Moodle users in Venezuela.
"en_us" is the English - United States language pack; "en" is Australian English, which is practically the same as British English.
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.
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:
- Tell users how to change it themselves in their user profiles by setting their Preferences > Preferred language
- Use the Upload users tool to do a mass update from a csv file changing the lang field
- If you have access to the database, you can change this with a simple query. See here for an example of how to do this.
When I log in, the language switches to English. Why?
- For logged-in users, the language is set to the one they have set as their preferred language (Preferences > User account > Preferred language).
- For logged-out visitors (before they log in) the situation depends on whether the language auto-detection is enabled. They can either get the language their browser claims to be the requested one, or the site default language.
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 and Mac 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.
- Mac OSs have very poor locale support.
- See dev:Translation langconfig for details.
Actually, the one and only place where Moodle requires some locales to be installed on the machine is when handling date translation (according to this information).
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.
Warning message: Your server does not seem to fully support the following languages
When you install or update a language pack, your server might display the following warning:
Your server does not seem to fully support the following languages:
followed by a list of non-supported languages and the text:
Instead, the global locale (en_AU.UTF-8) will be used to format certain strings such as dates and numbers.
- This is caused by either:
- a problem with the locale (Linux and Mac) or localewin (windows) setting in langconfig.php for your language pack (you can contact your language pack maintainer listed in the translation credits)
- or the configuration of your server.
- If you have a Linux server (or a MoodleBox), see the documentation about installing additional locales.
- If you have a Windows or a Mac Moodle server that lacks the proper locales, we can not help you :(
- See the developer's documentation
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?
See the section 'Finding the component and string identifier' in Language customisation.
Why are my changes not saved in my MoodleCloud site?
Unfortunately customising language strings is not supported in MoodleCloud. (The same string cache is used for all sites and is read-only.)
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.
Another possibility is editing one language pack but testing with another. For more possibilities, see the discussion Dashboard "Timeline Block" Strings.
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.
Another option is to create activities in different languages and restrict access to them using the Restriction by language plugin.
See the discussion Multiple Languages for further options.
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
Is it possible to use a translation extension in the browser to display a Moodle site in another language
Yes, according to this forum post:
- For Firefox:
- For Chrome:
Is it possible to change the logo according to language selected, similar to multi-language content?
Yes. See this forum thread
Error writing to database when opening language pack
If you get the message "Error writing to database" after clicking Open language pack for editing you probably don't have full Unicode support set up in MySQL or MariaDB. Check the Environment report to see if the mysql_full_unicode_support warning appears. If so follow the steps to enable full Unicode support in your database.
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.
What is this Pirate version of English doing on my site?
It has become something of a custom in the Moodle community over the years to observe 'Talk Like a Pirate Day' (September 19) by temporarily changing the language of a site to allow the English - Pirate (en_ar) language pack. See the discussion here for more.
Lang pack download failed with 'HTTP response code: HTTP/1.1 404 Not Found' after new release
After we branch for a new release, Moodle will try and download the new version of lang packs, however for a while development is on-sync and no new language string differences will be introduced between the two branches. During this period, AMOS is not branched and so Moodle will fail to download new language packs.
This is expected and it will be resolved once AMOS is opened up for new changes in the new version. See MDL-34028 for example.
Why do the characters for my language (not English) show up as hollow squares ?
This problem may be caused by a missing/wrong character set or using a font that does not support the character map needed (see this forum thead).
Are there statistics for language packs downloads?
Yes. There are download stats for the past 60 days at Moodle downloads stats. See under Languages a long list of the different packs that have been downloaded:
Is it possible to streamline the translation of a Moodle course?
Kind of... See Translating a Moodle course in the developer's documentation.
Can I disable google page translation on my Moodle site?
Yes, according to this post:
The general answer is to add translate="no" to the html tag of your page, but that requires a code change. So the Moodle html-page starts with (source https://stackoverflow.com/questions/12238396/how-to-disable-google-translate-from-html-in-chrome) There are more options in the source discussion that are finer to control. In moodle/admin/settings.php?section=additionalhtml, you can add in the section <meta name="google" content="notranslate" /> and that should stop Google chrome to translate...
Can I add another language key to my Windows PC?
Yes. If you have an English keyboard in your PC, but you want to write Spanish words like "Hasta mañana" and you need to type the 'ñ' letter, see this link.
Can I get Closed Captions in languages other than English for Moodle HQ videos in YouTube?
Note: In September 2020, YouTube disabled community contributed subtitles.
For the Moodle HQ videos on Moodle 4.0 available in https://www.youtube.com/playlist?list=PLxcO_MFWQBDcI0BezfCOW8QRfJw6FblRn the user can choose to have automatically generated closed captions being automatically translated to a user language different from English.
The user watching a YouTube video must choose the cog symbol, choose Autotranslate and choose the target language. Obviously the CC icon must be activated for the auto-translated closed captions to be shown in these YouTube videos.
- MDL-57867 - Email notification language strings lose line breaks when customised bug
Any further questions?
Please post in the Languages forum on moodle.org.