Continuous localization: the missing step in CI/CD workflows

Andrew Thomas 08 Feb 2022 6 mins
'CI/CD' – it's a term familiar to any software developer working in an Agile environment, and to the product and product development managers who oversee the evolution of products under continual development.
 
For those not in the know, here's a good overview explaining what continuous integration (CI) is, and why the 'D' in 'CD' can stand for 'deployment' or 'delivery'. The key takeaway from any discussion on CI/CD is that it's all about automation: it's the automatic building and testing of code that makes continuous integration possible, followed either by further automation in deployment, or delivery through a combination of automation and human intervention.
 
But what happens to the CI/CD workflow when you're developing product for more than one market, in more than one language? Well, it can go one of three ways. But only one of the three is recommended for businesses that are serious about product globalization, and that's the addition of continuous localization to the CI/CD process, turning it into CI/CL/CD.

CI/CD without CL = delay, delay, delay

Before getting to continuous localization, let's look briefly at what you don't want to do when developing localized versions of products for international markets through CI/CD.
 
The first thing to avoid is treating localization as an afterthought to CI/CD. Now, there are degrees to which you can fall foul of this issue, and I'm going to assume that you're not at the worst end of the scale. Many, many years back, when I worked for a digital game publisher that helped small development houses to localize their games, one of our clients had thought so little about localization that its developers had created 95% of the user interface (UI) as image files (GIFs, to be specific).
 
Our only choice was to copy all the English text strings from the GIFs to a spreadsheet for translation, then hire a freelancer to create GIFs for the four languages we needed. Of course, once the freelancer was done and that budget exhausted, I was the 'lucky' guy who had to learn Photoshop on the spot to fix the many errors that emerged from this cumbersome process!
 
So when I say that I assume you're not at the worst end of the scale, I'm assuming that – unlike the game developer above – you do know about and are using the principles of software internationalization. But internationalization on its own doesn't ensure that the translation and adaptation of the words and imagery in your UI, together with related material such as in-app help and support content, will happen as quickly and smoothly as you need it to.
 
Unlike internationalization, localization goes beyond the development team. It requires the input of a translation team. And if you leave this step until the end of the development process (treating it as an afterthought), then the only version of your product that will benefit from Agile development is the one for your home market. Every other market will have to wait for each new deployment or delivery drop to be localized, typically causing delays of weeks even for minor updates.

What about machine translation?

Development teams that don't have an in-house localization team or external localization partner to turn to for help may turn to machine translation (MT) to avoid delayed releases (though of course, MT can't address imagery).
 
Now there's no doubt that MT offers just the kind of automation that is at the heart of CI/CD. It provides instantaneous translation, and has seen such rapid improvement through the development of neural translation models that the quality is often excellent. In fact, I believe that MT has a critical role to play in product globalization. It's the perfect tool for in-context preview during development, and for the build-test cycles of CI.
 
But. And it's a big but.
 
It would be dangerous to rely on MT as your only localization process all the way through to deployment or delivery into production. Here are three reasons why MT in software localization typically needs a professional human translator in the loop to deliver the quality your international customers expect:
  • UIs commonly contain strings with length restrictions – and the MT algorithm can't know that a translation needs to fit into a specific, constrained space. 
  • UI strings also often lack context, and without context it's hard for MT to identify the correct translation reliably. For example, the English word 'open' may be used as an isolated string both for the action of opening a file, folder or project; and to denote that a project or process is not yet complete. Since these two meanings require different words in many other languages, the chances of an MT gaffe are high.
  • To avoid confusing your users, it's important to use terms consistently within (for example) the UI, the in-app help, the content on your support site and the product's training materials. The MT algorithm doesn't understand this, and without careful training informed by a consistently managed terminology strategy, it may use different translations for the same term in different contexts.
 
For all these reasons – and as long as you believe in delivering a quality experience to all users of your products around the world – you'll want to supplement MT with a professional human-led translation process before moving from CI to CD.
This brings us to continuous localization.

In a global context, CI/CD should be CI/CL/CD

Continuous localization has been developed by the translation industry primarily to meet the needs of businesses engaged in Agile development and the rapid digital communication cycles associated with it. Done well, continuous localization handles incremental updates seamlessly, getting translation done immediately – by humans, with or without the prior help of MT – each time new or updated code is committed.
 
From the point of view of your developers, continuous localization should really feel no different from CI. They commit their code and move on to their next task. The fact that the translatable strings will now automatically be submitted to a new step, CL, in parallel with the code being integrated and tested, makes no difference to their daily work. But it makes a huge difference to how quickly you can deploy or deliver localized versions of the product that will meet the quality expectations of your users in international markets.

How to embed CL into CI/CD

Successful CL – just like CI – depends on high levels of automation, and to make this work you need to augment your CI/CD workflow with an agile translation management system (TMS). This may mean investing in your own subscription to such a system and using your choice of language service providers to deliver continuous localization through the TMS. Or you may prefer to partner with a suitable technology-enabled language service provider – one that provides continuous localization services through its own investment in an agile TMS.
 
Either way, the TMS needs specific functionality to handle continuous localization, including the ability to:
  • Connect to your code repository (Github, for example) and developer tools 
  • Automatically extract translatable strings and deliver them to translators in a format they're comfortable with (and with the context they need)
  • Automatically handle updates to content already being translated, without confusing translators or translation project managers
  • Automatically deliver approved translated content back to the code repository, to the relevant language version
 
In addition to the right tech, successful continuous localization calls for a change in process and culture. Product development and management teams need to understand the value and importance of localization and work closely with either an in-house localization team or an external partner. Your localization team, whether in-house or not, should become an extension of your development team, with responsibility for the continuous localization workflow and the quality it delivers.

Beyond CI/CL/CD

Finally, remember that continuous localization is just one critical element contributing to successful product globalization. To learn how it fits into the bigger globalization picture, explore our four principles of successful product globalization.
Andrew Thomas
Author

Andrew Thomas

I’m Andrew Thomas, and I’m a huge geek. I’m also a parent and a poet and endlessly fascinated with technology. I’m passionate about the future and how companies can embrace new ways of creating and delivering knowledge that helps their customers solve problems. From time to time, I like to blog about any or all of these topics.
All from Andrew Thomas