Skip to main content

Multilingual sites with Drupal

Reach a global audience

line drawing of two speech bubbles, one has the word bonjour in it.
If you want to go completely global or cater to specific international markets, there’s no better platform to use than Drupal. Tailoring your content, SEO, commerce options and more is all facilitated by the internationalisation ('i18n') possibilities baked into Drupal and its extensions. We at ComputerMinds have rich experience with multilingual websites and have taken the lead in building solutions into Drupal itself for multilingual projects.

There isn’t one single approach that fits everyone, which makes Drupal a perfect foundation to build upon due to its incredible flexibility and the interoperability of its extension ecosystem. We customise every website to meet the needs of you and your customers, whichever languages they speak. Localisation ('l10n') for properly relevant content and services is just one aspect of this.

Translation strategy options

animated line drawing of a box file transferring data to three smaller boxes.
Editors can set up translations themselves directly within Drupal’s administrative interface, and translators can be given access to work on the content through Drupal or via various external services. Bespoke dashboards and automatic workflows can be set up for your team’s workflow. Translations can be edited on the fly within Drupal, or prepared externally and imported. Drupal can act as your Translation Management System, or it can integrate with one you already use ... but we don’t even mind if you just want to rely on old-school spreadsheets!

We have a deep appreciation of the requirements of multilingual contexts so we will gladly help you navigate the options, at the level that your business needs.

Humans will always provide the best content, and translations are no different. That means solutions need to serve real human beings. So Drupal is a great fit as it is an open-source project with a strong international community that understands the real needs of multilingual websites. We can work with you to understand how the technology needs to be shaped for you, and to help you maximise the possibilities that Drupal offers.

Automated and AI translation

image of a user icon in the middle of a circle with smaller circles around the outside connected to the inner circle.
Machine translation can provide a helpful starting point for internationalisation, but there are also automated services for integrating translations provided by humans. The use of artificial intelligence for translation is continuing to grow. We have built integrations with each kind of service, such as Smartling, Lingotek, POEditor, LanguageWire, Transifex and Google translate. These can be fully automated, or include varying levels of human involvement, to communicate exactly what you want, exactly how you want.

Commerce

image of a letter T inside a square with an image icon next to it, all laid on top of a vertical rectangle.
Selling your stuff in different languages and currencies is easy with Drupal. We have a proven track record of building international commerce projects. Perhaps you have stock warehouses for distinct regions, or want to use unique payment providers in specific countries? Drupal makes it possible. Perhaps you need to localise your tax handling, or have complex business logic requirements? Drupal is ready for that too. Rather than force your business to work in the way that a simple off-the-shelf solution might require, we build a relationship with you to understand what shape your solution needs to take, and then have the skill to bend Drupal to match that.

Read some of our articles about language

A recipe for editing & translating over 100 fields

14th Jul 2020

I recently released a new contributed module to aid translation on Drupal 7 sites: Entity Translation: Separated Shared Elements Form (ETSSEF). Yes, it has a convoluted name! It finally resolves a suggestion from years ago in an Entity Translation project issue, to allow editing untranslatable fields separately to translatable ones. One of our clients has a multilingual product database site with a few hundred fields on their content, so anything like this that could reduce the size of their editing forms is useful. I figure the best way to demonstrate this is with a recipe that blends it together...

Read more

12 month contrib challenge: XML sitemap

5th May 2020

We've been busy recently, but that doesn't stop us at ComputerMinds contributing back to the Drupal community! For our latest multilingual website, we needed an XML sitemap with alternate links and hreflang attributes. This site uses separate domains for each language - for example, www.example.se (??) and www.example.no (??). Search engines need these alternate links to help them understand how to match up each translation of a page, which are distributed across these different domains. But this site is built on our existing Drupal 7 e-commerce platform that uses the XML sitemap project, which has no support for alternate links (nor entity translation...

Read more

New Language Hierarchy release for Drupal 8

21st Jan 2020

Do you want to reach more markets and people? Do you want to tailor your content for clients from a range of locations around the world, without having to manage every single translation? Then the Language Hierarchy project could be for you! I wrote a while ago about how this module gives editors more power and flexibility without the extra effort that can come with each translation added to a site. Now Drupal 8 sites can use the project with confidence, as I produced its first stable release candidate for Drupal 8 last month! 

Thank you to all those that contributed...

Read more

Creating multilingual variables

A super quick blast from the past today; a Drupal 7 based article!

I had some work recently to create a new "setting" variable for one our Drupal 7 multilingual sites, which meant creating multilingual versions of those variables. I soon found out that there is very much a correct way - or order - to achieve this as I got this one very wrong (I had to re-instate my DB!). So here I am writing a very quick guide to help those from my wrong doings.

(This guide assumes you have a multilingual site setup with [i18n's Variable translation...

Read more

Language Hierarchy: More power and flexibility without extra effort

4th Nov 2015

Several of our recent projects have involved setting up languages that feel like 'child' languages of other languages, for a variety of reasons. Sometimes it's for marketing, so that content can be overridden for markets using a specific currency, other times it's to target a specific audience. Our classic examples are 'Euro English' and 'British English' - in either case, these are special cases of regular English. A more traditional example would be Canadian French - where most content would be the same as French, but some pages would want different spellings or customisations. We came across Amazee Labs' work on language fallback which inspired us to work on the Language Hierarchy project.

Language Hierarchy

Read more

Language lessons: 10 Useful tips

14th Oct 2014

To complete my series on multilingual Drupal, here are some mini-lessons I've learnt. Some of them are are to improve the experience for administrators & translators, others cover obscure corners of code. The first few don't require any knowledge of code, but the later ones will be much more technical.

Read more

Language lessons: What are you translating?

19th Aug 2014

Content (node-level) translation or entity (field-level) translation?

It seems an obvious question to ask, but what are you translating?

The tools exist to translate just about anything in Drupal 7*, but in many different ways, so you need to know exactly what you're translating. Language is 'a first-class citizen', in the sense that any piece of text is inherently written by someone on some language, which Drupal 7 is built to recognise. Sometimes you want to translate each & every individual piece of text (e.g. at the sentence or paragraph level). Other times you want to translate a whole page or section that is made up of multiple pieces of text.

Read more

Language lessons: Default language

10th Jun 2014

When you are going to have multiple language set up on your Drupal site, it's important to set the default language appropriately before creating content. Once that is set, content will normally be set to be in that language, and any translations made on the site will be assumed to be from the default language as the source. So changing it is not a good idea, as there's no way to differentiate between translations made before and after the switch in Drupal 6 or 7! (This has been resolved in Drupal 8.)

So, once you've thought first about what is necessary for your multilingual site, the next step is to pick the right default language, ideally before setting up anything else, as everything is 'in' a language in some way. It's usually an obvious choice, but did you know that the Drupal software itself and associated modules (i.e. the codebase, referred to as the 'interface') is all written in U.S. English (as per the coding standards)?

Read more

Language lessons: Think first!

16th May 2014

Architecture has to be carefully thought through before implemented, or it could all come crashing down at an unexpected moment. You may not realise it, but language is a piece of architecture in all websites. Site builders will be used to thinking about how best to model content, usually in terms of content types, fields and vocabularies on Drupal sites. Every piece of text is modelled somehow - and every piece of text is written in some language. As soon as it matters which language that is - so that translations can be associated with each other and shown beside or instead of one another - that content model needs to incorporate language.

Read more

Language lessons: Getting started

24th Mar 2014

I recently got the chance to implement Drupal's multilingual capabilities on a major client site. Drupal has some of the best functionality around for localizing & translating a site, but it does take quite a lot to understand & configure. We will host a series of articles on this, entitled 'language lessons', starting on ... how to get started!

Getting started with multilingual Drupal 7

The first places to visit when getting started with languages in Drupal are the Drupal.org handbook page and Gábor Hojtsy's blog. Among other things, Gábor heads up the multilingual initiative for Drupal 8, which...

Read more