Drupal.org is brought to you in part by the generous support of sponsors like:
Choosing and installing multilingual modules
Specific version(s)
This page is for Drupal 8, 9, 10 and 11.
Drupal's Multilingual improvements
When you install Drupal, the first thing you need to choose is the base language for the installation. The installer will attempt to make the reasonable choice based on your browser language, and should display the page in your browser language. If you are making a multilingual site, choose one of the languages that you want to use as installation language, and preferably not English (a non-English choice will cause some modules you'll need to be installed).
Unlike Drupal 7 and earlier, Drupal 8 and later site does not need to have English installed at all.
Drupal's Multilingual components
Unlike previous versions of Drupal, most of the functionality that you need to build a multi-lingual site is provided by the following 4 modules in Drupal core, rather than a suite of many contributed modules. To enable these modules, you'll need to go to the "Extend" administration page.
Language module
Located at core/modules/language/language.module [Drupal 10 API] [Drupal 11 API]
The base module needed for any non-English or multi-lingual site.
Allows users to configure languages and how page languages are chosen, and apply languages to content.
Provides the following functionality:
- Enable any non English language for your site's content (one or more)
- We can assign a language to everything: nodes, users, views, blocks, menus
- Two special type languages (Not specified/Not applicable)
- URL negotiation enabled by default
- Browser language detection made configurable with external language codes
- Fallback to selected language if language detection fails
- Admin interface language selection option per user
Core Issue Queue for Drupal's core language related issues
Locale (Interface Translation) module
Located at core/modules/locale/locale.module [Drupal 10 API] [Drupal 11 API]
Translates the built-in user interface, your added modules and themes.
- Automated downloads & updates
- English customizable/removable, no more need to use English as the default language
- Built-in translation UI revamped for easier editing
- Plural version editable on an integrated interface
- Custom (local) translations are protected and exportable
Content Translation module
Located at core/modules/content_translation/content_translation.module [Drupal 10 API] [Drupal 11 API]
Allow users to translate content entities.
Allows you to translate your site content, including pages, taxonomy terms, blocks, etc., into different languages.
- Field-level configurability
- Applies to all content
- Views integrated
- Exposed language information via search API
- Per-language content access
Configuration Translation
Located at core/modules/config_translation/config_translation.module [Drupal 10 API] [Drupal 11 API]
Provides a translation interface for configuration.
Allows you to translate text that is part of the configuration, such as field labels, the text used in Views, etc.
- All configuration is translatable (roles, text formats, blocks, views, panels, etc.)
- Built-in responsive translation interface
- All shipped are pre-translatable on localize.drupal.org
Drupal's Multilingual configuration
Continue onto Chapter 10 - Making your site multilingual in the user guide.
Other resources
SLIDES
If you want to reproduce a workshop at your company, a Drupal event or a meetup, please do so. We have some slides on Google Docs that you can copy and fork for your local needs.
https://docs.google.com/presentation/d/1rHtwt3O_QWvd0d1kETp7vULDm7P8ksjh...
TUTORIALS
The team recorded the Multilingual Workshops held on Drupal events.
And some other very good presentations from Drupal Cons:
- DrupalCon Vienna 2017: Lessons Learned from Building a Large Multilingual Site in Drupal 8
- DrupalCon New Orleans 2016: Drupal 8's multilingual APIs -- integrate with all the things
Testing Drupal Multilingual
Specific version(s)
This chapter is for Drupal 8 only and outdated.
We have prepared a multilingual Drupal demonstration distribution with sample data (and raw Google Translated sample text, be warned) to try.
You can download this distro or more simple, try it on simplytest.me
