Drupal 8's Multilingual APIs: Building for the Entire World


Are you interested in writing contributed modules, themes or distributions for Drupal 8? Then this is the session for you. In this session, we'll look at the most important APIs you would use to integrate with and best practices to use to ensure that your project is fully multilingual-ready.

This session will be valuable to all contributors even those whose projects are not inherently multilingual. Even if your project is not immediately intended to be multilingual, having a multilingual-capable module, theme or distribution makes your solution appealing to a much broader audience and is likely to provide value to global users.

Drupal 8 is a great platform to work with not only because it is so multilingual capable out-of-the-box, but also because you can easily expand while maintaining the translatability of your data. Drupal 8’s multilingual core offers a robust multilingual foundation, making the integration process much more seamless.

The majority of Drupal 8's APIs are designed to support multilingual by default and make sane assumptions about common scenarios. As a result, there are several important things to keep in mind to build the best integration possible.

In this session, we will walk through:

  • Working with language APIs, and the language your data is in.

  • Making your output strings translatable: t() and its friends, but also in twig templates

  • Why you should and how to code translatable content entities.

  • Customizing your field properties translatability so site builders can choose.

  • Configuration translation: translating your configuration entities

Intended Audience

Drupal developers working with contrib or custom modules that are designed for multilingual or non-English sites would benefit from this session (that means nearly every Drupal developer out there).

Drupal themers intending to make their theme templates translation ready.

Attendees will walk away with knowledge to add Drupal 8 multilingual support to your modules, themes and distributions.

Skill Levels

This session is suitable for beginners or intermediate Drupal users. It is best if you come to the session with some exposure to OOP, Drupal 8 code and twig templates, but even if you don’t have that foundation I’m sure you can catch up.

Improving Drupal Multilingual

To make multilingual Drupal 8 APIs even better, please get involved with the Drupal 8 Multilingual Initiative! You can also sprint with us before, during, and after the main DrupalCon Dublin session days. You do not need to know how to code to help. Testers, reviewers, writers, and designers are very welcome.

About the Speaker

Christian López (penyaskito on Drupal.org) works at Lingotek - The Translation Network, writing their open source integration for Drupal 8. This integration provides Drupal users the ability to extract their data and content and translate it using a cloud-based translation management system. This workflow pushed the development team to test the limits of the Drupal 8 multilingual APIs.

Christian has presented about Drupal 8’s multilingual capabilities at several camps around Europe. He is a frequent speaker at Spanish DrupalCamps and presented at international events like Drupal Dev Days 2016 (Milano, Italy), DrupalNorth 2016 (Montreal, Canada), DrupalCamp Leuven 2015 (Belgium), Drupalaton 2015 (Hungary) or DrupalCamp Vienna 2015 (Austria).

Christian has been a contributor to the Drupal 8 Multilingual Initiative since Drupal Dev Days in Barcelona in 2012.

Session Track

Coding and Development

Experience Level


Drupal Version

When & Where

Tuesday, 27 September, 2016 - 10:45 to 11:45
Liffey Hall 1 | Pantheon