5 Steps to Build a Drupal 8 Multi-langual Site
Drupal 8 is a massive undertaking. It's already been 5 years in the making.
Why did it take so long? Partly because so many important contributed modules are now core features. Translation is a perfect example.
It used to take several contributed modules to make even a small multi-lingual Drupal 7 site. Now, you can translate everything using just the Drupal 8 core.
Here's our 5-step guide to building your first Drupal 8 multi-lingual site.
Step #1. Enable the translation modules
You will need to enable these four core Drupal modules in order to translate your site
Step #2. Translate the Drupal core
First, let's translate of the core language inside the Drupal. In this example, I'm going to add Spanish as an option on my site:
- Go to Configuration > Languages
- Click "Add language"

- Choose your language and click "Add language".

Click on the percentage area, under "Interface Translation".

You'll be able to search for and manually translate all the language strings in here:

Step #3. Translate your own site set-up
- Go to Structure > Content types, you'll see a "Translate" option for your content types:

Inside the next screen, you'll see similar "Translate" links for all your fields:

Step #4. Add content
Now we can add content to your Drupal site.
- Go to Configuration > Content language and translation.
- Click the box next to "Content":

- Check the box, "Show language selector on create and edit pages".

- Now go and add content to your site. Thanks to the "Show language selector on create and edit pages" box, you'll able to choose the language you're writing in:

- After saving content, you'll see a "Translate" tab available:

- Click "Add" in order to create a new version of that content item:

Congratulations! You can now start translating your Drupal site. And you didn't use a single contributed module.

Step #5. Allow users to switch between languages
- Go to Structure > Blocks
- Click "Place blocks"

- Click "Place block" next to the "Language Switcher" block:

- Click "Save block".
- Go to the front of your site and the Language Switcher will be working:

One final nice touch is that the URLs were automatically configured. The URLs on my test site looked like this:
- /node/1
- /es/node/1