Explore Our Venue

Don't miss our next announcement

Subscribe to our newsletter:

Developer Intermediate Gaige Hall 201

Rosetta Translations - A Self-Service and Cost Effective Website Translation Solution

Kyle Davis

Kyle L Davis

Ben Hamelin headshot

Ben Hamelin

Synopsis 

Take control of your site translation. Using an open source project along with Drupal, you can self-manage your own live site translations without having to pay expensive monthly fees to a third party.

Description

The new Drupal contributed module Rosetta Live Site Translation (https://www.drupal.org/project/rosetta_translation) integrates the open source Rosetta project (https://github.com/au5ton/rosetta) to provide site-wide automatic translation through a client interface that can use any correctly configured back-end server. Host the back-end yourself and have complete control over the cost. We will dive into how you can easily integrate the front end using the module as well as how to set up the back-end so you can self-manage the process without having to rely on expensive translation services.

The Story of How We Got Here

Earlier this year we were tasked with providing an updated translation solution for the Brown University Health website https://www.brownhealth.org. The site was using the Drupal core translation system to provide some Spanish content, but the client needed to support more languages and automate the process as much as possible. We evaluated a number of services and potential solutions, but most were too expensive with pricing models that included setup fees as well as ongoing costs. We had previously supported another client during an upgrade to a custom solution that included a Javascript frontend and a Python back-end, so we decided to look closer at a similar option. We found the Rosetta project and were able to set up a proof of concept using it and a simple Python application that was deployed to Google Cloud Platform and leveraged the Google Cloud Translation API. We then estimated the costs by reviewing Google Analytics data for their non English speaking site visitors.

Once the client approved the approach, we created a custom Drupal module to implement Rosetta on the site and launched the new feature. During our work, we opened a few Github issues for Rosetta which we wanted to resolve. The maintainer addressed one of the minor ones, but activity on the project was minimal. A few months ago we opened another issue, and pinged them directly to see if we could move the fixes forward. Instead, we were offered co-maintainership of the project as the maintainer stated they were no longer actively using it and were happy to have someone take it over.

At this point we decided to convert the custom module to a proper Drupal contributed module, to best support the project and make it available to the broader community. Feedback from the client was extremely positive, and so the idea to tell this story at NEDCamp became a goal.

Learning objectives 

At the end of this session attendees will be able to integrate an open source translation project into their Drupal site or other website framework.

Attendees will understand how to create their own Google Cloud Platform application to provide a back-end service that can handle the automatic translations of all site content.

Attendees will be able to compare the Rosetta Translation solution to other popular translation solutions in the market and understand how to integrate it into their website.

Target audience 

This session is for developers and site builders that have a need to translate site content automatically with minimal budget and resources. 

This session is also relevant to organizational decision makers who manage web properties that would benefit from a cost effective translation solution.

Difficulty Level

From a developer perspective we feel this is an intermediate level topic, with both frontend and back-end code examples, an API integration with Google’s Cloud Translation API, and the Google Cloud Platform application deployment process.

However, from a general site builder perspective the contrib module and associated configuration and implementation are fairly straightforward.

Prerequisites 

Attendees will get the most out of this session by being familiar with website translation options and challenges. Attendees who have worked with translation API services or third party translation tools will come away with a clear comparison of those options and the Rosetta solution we are presenting.

Drupal Version

D10/D11

Additional Details:

  • Audience level: Intermediate
  • Topic: Developer
  • Room: Gaige Hall 201

Updates

Join Us at the Higher Education Summit Keynote: Higher Ed, Civic Trust and the Role of the Web

Discover how higher ed websites can build civic trust and reflect community values. Join Jessica Pontarelli Evans of Brown University as she explores the web’s public purpose at the New England Drupal Camp’s Higher Education Summit keynote.

2025 Keynote Announced!

What happens when you treat curiosity not as a means to an end, but as a design tool in its own right? In this year’s keynote, Jason Pamental unpacks how following hunches, chasing questions, and poking at the edges of the unknown can lead to richer, more resonant digital experiences.