Building a Drupal Multilingual Website: A Complete Guide
Introduction
Want a website in multiple languages? Drupal is a great choice because it works with over 100 languages right out of the box. You can set it up to show different languages, translate your blog posts, and even change menu labels. The only tricky part is that translating everything yourself can take a lot of time.
In this article, you’ll learn how to build a multilingual website with Drupal and discover the best tips to make translation faster and easier.
Why Choose Drupal for Multilingual Sites
Drupal is one of the most flexible CMS platforms for multilingual projects because:
- Core multilingual modules (no paid add-ons needed)
- Supports right-to-left languages (Arabic, Urdu, Hebrew)
- Automatic language negotiation (browser language detection, URL prefixes)
- Translation workflows for content, menus, and configuration.
First, install Drupal if you haven’t already. If it’s already installed, you can move on to the next steps.
If Not Installed Then Run This CMD
mkdir my-drupal-site && cd my-drupal-site
ddev config --project-type=drupal --php-version=8.3 --docroot=web --create-docroot
ddev start
ddev composer create "drupal/recommended-project:^11"
ddev composer require drush/drush
ddev config --update
ddev restart
ddev drush site:install --account-name=admin --account-pass=admin -y
ddev launch
After completing these commands, your brand-new Drupal 11 site will launch when you run ddev launch.
How to Add Multiple Languages to a Drupal Site
Drupal has built-in multilingual features, making it a great choice for websites with a global audience. Translations for Drupal core, modules, themes, and distributions are created by a large community of volunteers. These translations are available for free from Drupal’s localization server.
Install and Enable Required Modules
Go to Extend → Multilingual and enable:

- Language (language): The foundation. Allows you to add and configure languages.
- Content Translation (content_translation): The most important one. Allows you to translate any content entity (Nodes, Blocks, Taxonomy terms, etc.).
- Configuration Translation (config_translation): Allows you to translate site configuration (Site name, Menus, Views, Form labels, etc.).
- Interface Translation (locale): Translates the Drupal user interface (buttons, labels, messages).
After selecting these modules, click the Install button at the bottom of the page to enable them.
Add a Language (or multiple languages)
Configuration → Regional and language → Languages.
Once you’re on the Languages page, click on the + Add language button

Let’s say I have added the Urdu language to my Drupal site

I chose Urdu and clicked Add language.

Add Language Switcher Block
Structure → Block layout
For example, I added it to the Menu region, but you can place it in any region you like.

When you add this block, it will appear like this on your pages.

Adding translations to content types and entities
Configuration→ Regional and language→ Content language and translation
I selected only Content, but you can select whatever you need.

Then select the content types (such as Article, Blog, etc.) that you want to enable for translation.

I selected Basic page, but you can select whichever content type you need.
Then click on Save configuration
Now edit it and translate your content type, taxonomy, blocks, or anything else you need.
Now your content type will look like this

Simply click Translate and add the content.

Click on the add button then add content to your site.
Then it will display like this.

Now, if you click English in the language switcher at the top menu, the site will switch to English.

That’s it! Enjoy your multilingual Drupal site now.
Conclusion
Building a multilingual website in Drupal is simple and powerful thanks to its built-in language tools. You can easily add new languages, translate content, and even switch between languages using the language switcher. With support for over 100 languages, Drupal makes it possible to reach a global audience. While some translation tasks can still be a bit manual, the flexibility and control it offers are worth it. By following the steps above, you can create a site that welcomes visitors in their preferred language. This not only improves user experience but also helps your website grow internationally.
Haris Khan
Drupal Frontend developer