Drupal CMS is (finally) speaking your language!
Drupal has long been known for its multilingual capabilities. But Drupal CMS has only just caught up with the release of 2.2.0.
And although setting up a site to publish in multiple languages has always been possible in Drupal, it was not easy. So when we implemented multilingual for Drupal CMS, we tackled the biggest pain points from the installer through to translating Canvas pages.
Finding your language in the installer
This may seem like a small change, but we've updated the language selector in the installer. Instead of scrolling through a long select list, you can now start typing and search for your language.
This makes for a much better first impression, and treats the language selection as more than just an afterthought.
Recipe config is now translated
This was the most complex part of the puzzle, and we're not quite finished. But before 2.2, if you installed Drupal CMS in another language, the configuration provided by recipes (such as content types, fields, views, even the dashboard) would still show up in English.
Recipes can include translatable configuration and that is now translated along with the rest of the site. This capability is planned for Drupal core, but it is provided by some gap-filling contrib modules for now.
The multilingual recipe
Adding a second language to a Drupal site involves a lot of steps: installing the right modules, configuring language detection, enabling translation for each content type and field, and making sure you haven't missed anything along the way. Most people figure this out through trial and error (and a fair amount of searching).
The new multilingual recipe takes care of most of this for you:
- Installs the required modules and applies the basic language settings
- Provides a multilingual setup checklist to guide you through the remaining steps
- Modifies the content translation settings page to make it more intuitive, including a 'Recommended setup' option that enables translation for the entities most commonly translated (node types, Canvas pages, menu links and taxonomy terms).
Translating Canvas pages
Canvas now fully supports translation and we're using Canvas Translate to provide the translation management within the canvas editor. You can translate any component on a page, and use the Canvas preview to see how the translated version will look before you publish it.
Using the bundled Canvas Translate AI module, you can also get AI-generated translations with one click: either for all components, or individually.
New multilingual demo
Drupal core has long shipped with the Umami multilingual demo, which has community contributed, cooked and photographed recipes. Umami will not be included in Drupal 12 anymore and it was in need of a design rethink and retooling with our new easy to use page building capabilities. This resulted in the new Dashi demo, which brings the same multilingual content to a customizable setup with Canvas page and content templates.
Try it out
Try it out by installing Drupal CMS 2.2.0!
- Install DDEV
- Run the following commands:
mkdir my-drupal-site && cd my-drupal-site
ddev config --project-type=drupal11 --docroot=web
ddev composer create-project drupal/cms
ddev launchContributors
Many people (and companies) contributed to making this possible! Sincere thanks to each and every one of them.
- gábor hojtsy has long been a champion of Drupal's multilingual capability, and took the lead on figuring out what was needed for this to work cohesively. He also created the contrib modules needed for it to work, and did painstaking testing, logging and fixing of issues in core and Canvas to make it possible to launch this.
- ygoex, anjali-rathod, ckrina, jose-reyero and penyaskito did significant work to kick off multilingual in Drupal CMS, producing detailed research, workflows and designs for improvements. Although we were not able to fully implement this now, we hope to do so in future.
- gareth.poole and stewest implemented the updated language selector.
- lauriii created the Canvas Translate module to save us from TMGMT (if you know you know).
- balintbrews ensured the worst of the Canvas bugs were fixed in time for our release.
- f0ns provided invaluable code review and testing, as well as encouragement to push this forward.
- joachim-namyslo nudged us along by aggregating the issues and creating a roadmap. He has also done significant work to make site templates fully installable in German, laying the groundwork for the addition of other languages as well.
- As always, phenaproxima provided the technical oversight and just-get-it-done attitude that has gotten us this far.
No doubt there were other contributors to this mammoth achievement, and we still have plenty of work to do!