Since its advent in the 1990s, agile software development has gained increasing popularity among tech companies of all shapes and sizes. According to the 2018 Stack Overflow Developer Survey, 85.9% of developers already work with agile methodologies today. This approach offers significant advantages to both companies and customers. But what about multilingual software products? Where does translation fit into the picture?
Agile methods aim at producing working code at a continuous pace in short development cycles (often referred to as “sprints”). Instead of planning ahead for a long period of time and developing an entire product sequentially, agile methodologies allow companies to test and release faster, get feedback quicker, and iterate to implement improvements.
Challenges for Localization
Despite its many advantages, this fast-paced, continuous development process also entails challenges – especially for global software products with releases shipped in different languages at the same time:
- Rhythm: to keep up with product development, updates may need to be translated on a weekly basis, or even several times a week. Content may be ready for translation at any point during or at the end of a sprint, making it difficult to plan ahead,
- Volume: due to the iterative nature of the development process with frequent incremental changes, translation requests often consist of no more than a couple of isolated strings of just a few words,
- Speed: translations must be finished more or less at the same time as the code to avoid delays or untranslated strings when the release is shipped despite translations not being complete,
- Collaboration: the development process needs to be adapted to accommodate localization, which requires close collaboration between linguists and development teams.
Building an Efficient Localization Strategy
Dealing with these challenges is no easy feat, but with the right strategy and tools, any organization can overcome them.
Most importantly, as Amr Zaki observes in his GALA article The Challenges of Localization, translation can no longer be treated as an additional step at the end of the development process. Instead, companies need an appropriate localization strategy and leverage translation technologies to build a continuous localization workflow that forms part of the development cycle (find out more here).
First of all, organizations need to improve the collaboration between developers and linguists to align the translation process with development iterations.
Secondly, they need to create an efficient localization workflow that balances their requirements regarding speed, quality, and costs. There’s no one-size-fits-all solution, but some general aspects apply to most cases:
- Build a permanent team of translators and reviewers, and foster a direct relationship with them,
- Work out a translation schedule that matches the development cycle, or arrange for translation updates at regular (e.g. weekly) intervals,
- Start translating new user interface strings as soon as the first version is available, and introduce changes as development continues,
- Leverage CAT (Computer-assisted translation) technology and process automation to gain speed,
- Provide context information to help translators produce high quality translations the first time, minimizing the need for changes later,
- Be pragmatic when it comes to quality: it is an illusion to think that simultaneous releases in several languages will always be perfect. With this unconditional focus on speed, you will probably have to approach quality in a different way. If all languages must be released at the same time, prioritize them into tiers and focus pre-release QA (Quality analysis) on the most important ones. With short release cycles allowing for quick bug fixing, it might be sufficient to perform linguistic testing after delivery for the other languages.
Choosing the Right Localization Tool
In addition to the right localization strategy, modern localization tools have many features that enable a smooth continuous localization process:
An absolute must-have for continuous localization is automated resource file synchronization, e.g. via the web-based code repositories GitHub or Bitbucket. This eliminates the need for time-consuming manual exchanges of localization files – a huge time saver, especially when only a few words need to be translated. As soon as a developer updates the language files in the repository, changes are automatically submitted to the localization tool. Translators get notified and can start working immediately. After translation and review, the localized strings can be synced back at the push of a button. Errors are quickly fixed the same way, so localization teams can put speed first if needed, and still take care of quality in the next step without losing much time in between.
Just like in traditional localization scenarios, translation memories and termbases help leverage existing translations and ensure consistency. But integrated machine translation can also be helpful when it comes to speed. Depending on the product, the customers, and the language combination, Machine Translation Post-Editing can be a suitable alternative to translating manually from scratch. Additionally, if waiting for the translation into a low-priority language would either delay the scheduled release or add complexity to the process, shipping a machine-translated version first and publishing a revised update a few days later can also be a perfectly acceptable solution.
Quality Right First Time
Features that help provide translators with comments, screenshots, and additional information such as visual context or key identifiers are incredibly valuable to get quality translations right away. Automated QA checks ensure that variables and tags have not been damaged during translation, and source-language editing can be useful to correct the original strings directly in the translation tool.
There is a growing number of cloud-based localization tools that cater to the specific needs of localization in agile software development, including Memsource, PhraseApp, POEditor, Transifex, and many more. There is also a growing number of specialized Language Service Providers that help companies to develop a localization strategy adapted to their particular needs and to implement an efficient continuous localization process.
Written by Kathrin Klein