Translation Management System for Streaming Services: Our Tool of Choice to Translate Any Content into Any Language

Kirill Evseenko
STARTteam
Published in
5 min readNov 21, 2022

In 2021, while exploring the best way to engage foreign audiences, we at START decided to develop a multilingual app. We decided to start with Eastern European countries, so we went for Serbian, Croatian and Bulgarian.

Dubbing and subtitling are the most common forms of audio-visual translation. Our app features two types of content that needs translation. First of all, it’s the film content, including subtitles, audio, and posters; this complex work happens under the service’s hood. Also, we have a static part, which involves translation of texts in the app’s interface.

Identifying product tasks

Different applications use different types of data to be translated, so there is no universal tool that could work with texts and adaptations across different platforms. For instance, Android apps have a string format (XML resource that provides a single string), and JSON (JavaScript Object Notation) is used on the web. All platforms have their native features, as well as different options for connectivity and subtitles. Therefore, we needed to support a considerable array of data structures.

While different platforms use different translation mechanisms and tools, we had to identify a single model for all the interpretation processes. This guideline aimed to help our engineering team with product implementation, and also at the support stage, in a bid to keep all the content up to date. The support of plurals or plural nouns (a series of words with different endings) posed additional challenges, seeing as not all applications can identify them correctly. That being said, we are so far working with relatively simple languages. The truly complicated part will start once we get into Chinese or Japanese with their special characters, or those with ​​a right-to-left script. They have different hyphenation rules and require a particular UI format.

Finding the right approach and development instruments

In software development, there is an approach called continuous integration, which allows for collecting all the data when building the app. We considered introducing translations as part of continuous integration so that all elements of the app would be collected and translated automatically. Our second option was to set aside the translation microservice and opt for a different solution for content translation. We began comparing our options, considering the cost, implementation speed, and support time.

Our initial findings hinted that the first path would be more cost-efficient and offer a better implementation speed. Continuous integration seemed to be the most efficient way to build up the translation base, prepare all the files and store them in a single repository. However, we then faced the issue of having to train the translators in using all the necessary tools; they had to be fairly tech-savvy, which did not work for some of them. It turned out that we could not have a unified standard for everything, since applications are compiled in different ways; they all have different integrations and development pipelines. Launching a proprietary solution turned out to be quite an expensive endeavor, and it would have taken quite a while to develop it.

We then turned to researching existing solutions, such as Phrase, Oneskyapp, Locize, Transifex and others. There are different types of translation offerings on the market: they range from platforms for freelance translators to cloud-based systems to tools you need to install on your own equipment. When choosing the right tool for us, we considered the implementation speed, support system, user-friendliness, convenience, development opportunities, cost (there are both free or paid options out there), support for all the necessary devices, and the community management aspect.

Basically, we studied every solution on the market, finding out that some lacked the functionality we needed; e.g. support for all the needed file formats. In the end, we went for a tool that fit all our requirements best.

Previously, all the texts were hardcoded within the apps, and now all the texts that need translation are kept separately. These files can be accessed in the code by keys, and translators use their admin interface to set up work projects. Besides, we have changed our internal procedures, adding an additional step: translators now receive an automatic notification if text changes are required.

Subtitling is done simultaneously, therefore, we have secured the multilingual features for our platform from the technical perspective. Our users can opt for multiple languages and play several audio tracks simultaneously. We decided not to switch to automated interpretation, since its quality is lacking so far. Today, we have a base of translation providers and can add on more users on our side, if needed. Our solution has flexible management features: all the texts can be updated remotely to implement immediate interface updates when needed. Any translation mistakes found within the app can be rectified quite handily this way.

Our translation team

Our editorial team is collaborating with external experts in a number of languages. The solution we wanted had to be user-friendly since we pay special attention to translation quality and thus use native speakers, many of whom, being older people, are not very tech-savvy.

We engage local translators on a project-by-project basis, since it is unfeasible for a tech business to keep them on a payroll. Netflix had a similar issue in 2017 when launching their Hermes global website: they set up an in-house team with experts from all over the world, but in the end, this approach proved to be too costly even for the industry leader, and the project was scrapped. Instead, Netflix started to contract translators on a case-by-case basis, which appears to be the optimal format for streaming services.

The service allows START to add a significant number of languages. The system helps estimate the time needed for each translation and understand the context for a given sentence or phrase. Users can attach screenshots to explain the contents and the placement of the translation. This way, translators have a better idea of when exactly this word or phrase is seen or heard in the movie, and go for the best adaptation.

Conclusion

When choosing a tool or approach, you should primarily consider the business requirements of your app. If your business aims at engaging audiences from different countries speaking different languages, then you should think about providing multilingual functionality from the get-go to avoid running into issues later.

The translation system we chose fully meets our requirements in terms of both time and cost. We only had to very slightly modify our development processes, adding the necessary steps to the overall process.

We are continuing work to gradually translate all of our content into the selected languages. In the near future, we plan to add support for other languages, Spanish among them.

#START, #VOD, #Videoservice, #Translationservice, #Localization, #Engineering

--

--