Language Settings
Moodle supports over 100 languages and provides a comprehensive internationalization framework. This guide covers how to install language packs, configure default languages, and support multilingual content on your site.
Setting the Default Language
To set the default language for your entire site:
- Go to Site administration > General > Language settings
- Set the Default language dropdown to your desired language
- Click Save changes
The default language is used for the login page, the site interface for guests, and as the initial language for new user accounts. Users can change their preferred language in their profile settings if allowed.
Installing Language Packs
To install additional language packs:
- Navigate to Site administration > Language > Language packs
- From the Available language packs list, select the language(s) you want to install
- Click Install selected language pack(s)
Moodle downloads the language pack from the Moodle language server. The files are stored in your moodledata/lang directory. If your server cannot access the internet, you can manually download language packs from download.moodle.org/langpack/ and extract them into the moodledata/lang directory.
Updating Language Packs
Language packs are periodically updated by the Moodle community. To update installed packs:
- Go to Site administration > Language > Language packs
- Click Update all installed language packs
You can also automate this by enabling the scheduled task ool_langimport askupdate_langpacks_task in the scheduled tasks configuration.
Language Settings Options
At Site administration > General > Language settings, you can configure:
- Display language menu: Whether to show the language switcher to users. Disabling this forces all users to use the default language.
- Languages on the language menu: Restrict which installed languages appear in the language selector. Enter a comma-separated list of language codes (e.g.,
en,fr,de,es). - Default language: The site-wide default language.
- Cache language strings: Improves performance by caching translated strings. Should be enabled on production sites.
- Cache all language strings: Caches all language strings at once rather than on demand.
Language Customization
Moodle allows you to override any language string without modifying core files:
- Go to Site administration > Language > Language customisation
- Select the language to customize
- Click Open language pack for editing
- Use the Filter strings to find the string you want to change
- Enter the customized text in the Local customisation field
- Click Save changes to the language pack
Common customizations include changing "Course" to "Module," "Teacher" to "Instructor," or "Student" to "Learner" to match institutional terminology.
Multilingual Content Filter
The Multi-Language Content (v2) filter allows you to create content in multiple languages within a single course or resource. To enable this:
- Go to Site administration > Plugins > Filters > Manage filters
- Enable the Multi-Language Content filter
- Set it to On and choose whether to apply it to Content and headings or Content only
Then, in any text editor, use the following syntax:
<span class="multilang" lang="en">Welcome</span>
<span class="multilang" lang="fr">Bienvenue</span>
<span class="multilang" lang="de">Willkommen</span>
Moodle will display only the content matching the user's selected language.
Course-Level and User-Level Languages
- Course language: Each course can enforce a specific language under course settings. When set, all users see the course interface in that language regardless of their personal preference.
- User language: Users can select their preferred language in their profile (Preferences > Preferred language), assuming the language menu is displayed.
Right-to-Left (RTL) Languages
Moodle fully supports RTL languages such as Arabic and Hebrew. When a user selects an RTL language, the entire interface flips direction automatically, including navigation menus, text alignment, and layout elements.