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