Skip to main content

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:

Image
Install and Enable Required Modules
  • 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

Image
lang page

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

Image
add a language

I chose Urdu and clicked Add language.

Image
chose urdu lang

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.

Image
Add Language Switcher Block

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

Image
how it will display

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.

Image
content language & translation

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

Image
choose content type

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

Image
your content type will look like this.

Simply click Translate and add the content.

Image
click Translate and add the content

Click on the add button then add content to your site.

Then it will display like this.

Image
urdu display look like this

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

 

Image
translate into 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

Haris Khan

Drupal Frontend developer

Add new comment