In the world of software development, localization used to be an afterthought. Product teams would focus on the design and development of the product. Only when the product is complete the need for localization arises.
In today’s world, software development doesn’t work that way anymore. Companies went from annual and biannual releases to weekly and even daily releases. This has raised the need for agile localization to keep up with the fast-paced world of software development.
In this guide, we will discuss:
- What agile localization is.
- The benefits of agile localization.
- The challenges that come with agile localization.
- Some tips to help you through your localization journey.
Let’s start by taking a look at what agile development is.
What is agile software development?
Agile software development is a set of software development methodologies which are based on iterative and cross-functional team collaboration approaches. It allows developers to produce high-quality code as well as ship products faster and more often.
Before agile, development teams used to follow the waterfall methodology. This means that all the software requirements are defined beforehand. Making any changes during the process used to be almost impossible and very costly. Agile breaks this linear sequential approach. It splits the product development process into smaller parts or iterations. That way, the requirements change and evolve into a more flexible manner based on need.
Agile Software Development spans many different frameworks and methodologies of software development, including Lean software development, Kanban, and Scrum.
The term “Agile” was popularized by the Manifesto for Agile Software Development which lists down four core values:
But how does localization adapt to agile software development? Well, that’s where agile localization comes in.
What is agile localization?
Agile localization is a set of practices to incorporate localization and translation into an agile product development cycle.
Translations aren’t just done once and delivered at the end of the development cycle. Instead, they are translated as the product is being developed. This means that once new iterations are released, translators or localization teams can simultaneously work on the localization of the changes happening in the product.
There are still the waterfall advocates who prefer it to agile. They believe that it offers a more firm and fixed structure that gives you an idea of how the project is going to unfold. That’s why there are companies that use the waterfall localization workflow to this day.
So what is the waterfall localization workflow?
Initially, there were only two main approaches that developers and localization teams followed. While they may not be ideal, some still adopt them:
Post-release is a common software localization approach where, as the name suggests, the localization takes place after the release of the product. In this approach, the localization teams can start working on the translations only when the product has been delivered.
This approach causes a considerable delay. There is a distinctive gap between the completion of the development of the product and the completion of the translation. Latter option causes a waste of resources and makes companies incapable of releasing their software.
2. String freeze
The string freeze approach combats the inefficiencies of the first approach. There is a “string freeze” period during the software development process. During that time, strings that need to be localized are locked and can’t be changed, modified or removed. The string freeze duration can be anything from a few days to several weeks. It gives the localization teams time to work on translating the strings and then send them back to the developers in time for the software release. During the time of the freeze, developers can work on fixing bugs and defects, again without changing any of the strings.
This approach can definitely be a lot more time-saving than the first one. However, developers would still need to manually identify the modified strings in the code which causes it to remain cumbersome.
That’s why more and more companies eventually started adapting the agile localization workflow.
How is the agile localization workflow different?
Agile localization syncs the localization process with the development process so that they are both operating simultaneously. This is accomplished by incorporating a continuous localization platform into your workflow which automatically facilitates and handles the process. The agile localization workflow then takes place as follows:
- The developer pushes new code to the project codebase.
- The localization platform automatically recognizes new or modified strings.
- It pushes them to the localization team or translators to work on.
- Once they’re done and the translations are approved, the platform automatically sends the translations back to the developers. It also syncs them back into the project so that they’re ready for release.
What are the benefits of agile localization?
When agile localization is implemented correctly, the entire process becomes more efficient and effective with no resistance or bottlenecks. Any new updates to the code are recognized, and new or updated strings are automatically sent to the translators. The translators can now work on the strings, then push it back into the code, without needing any prior knowledge of the development process of the product. That way developers can be more focused on the development of the product without having to worry about other aspects of it.
Agile localization also helps save a lot of resources, whether it’s time or money, as it closes the gap between the software development and localization processes.
Ease of use
One of the most significant advantages of continuous localization is how it makes the developers’ and especially the translators’ lives a whole lot easier. Before agile localization, developers would send translators a batch of strings in different formats (e.g., .xml files for Android apps, .strings files for iOS apps, .csv files, etc.). This forced translators to learn multiple different technologies to be able to work with them. The use of a continuous localization platform has eliminated that hassle. It allows you to import all your favorite file formats to the platform or even have it done automatically through the use of integration (e.g., GitHub). Moreover, the translators can work on the strings straight through the platform’s online intuitive dashboard.
Agile localization platforms, like Lokalise, easily adapt to your workflow and open up a whole new world of translation possibilities for you. It doesn’t matter whether you’re a big company that has its own localization team or an indie developer who hires independent translators. Localization platforms also offer the possibility of crowdsourcing translations. Some even give you access to certified translators. In this case, you can leverage professionals to start working on your project immediately.
So what challenges come with agile localization?
As opposed to the traditional waterfall model which had teams create a full plan from the beginning to an end with a set timeline, the agile approach is more flexible with shorter sprints. And while this has its benefits, you need to make sure that you plan your sprints effectively.
That’s why you need to make sure that you have a localization team or enough translators to be able to handle those short sprints. If you don’t, you can leverage a translation management system which allows you to order professional translations. You can have your product translated to all popular languages, in Lokalise, for as low as $0.07 per word.
Speed vs. quality
Working in a fast-paced agile workflow, their focus is more on speed than quality. For example, using machine translation tools like DeepL, Google Translate can impact the quality of the translations.
However, the trade-off is usually acceptable, especially since they can be easily fixed with continuous localization as opposed to waterfall localization, where things have to be perfect by the time of the release.
Now, let’s take a look at some tips to help you overcome these agile localization challenges.
Agile localization tips
Establish an internationalization (i18n) mindset
Agile localization can have a drawback where developers only focus on the code. They would pay no attention to internationalization, which is a crucial process needed for localization. That is why it’s essential for developers to always work with an internationalization-centric mindset. They need to understand how important it is to always make sure to adapt the code and prepare it for localization.
Create clear translation guidelines
To combat the translation inconsistencies continuous localization platforms offer a glossary feature. It helps maintain consistent translations across the project by providing definitions.
The glossary can contain things like the names of products and services, brand-specific slogans, terminology, abbreviations, acronyms, etc. This ensures maintaining brand unity as well as speed up the translation process by providing clear guidelines to your translators.
Conduct localization and linguistic testing
It is critical to perform localization as well as linguistic testing once the translation is done. Linguistic testing ensures that all translations are complete and accurate without any grammatical or spelling mistakes. Localization testing ensures that the localized content abides by local customs and UI standards. This helps you locate and fix any translation errors, code issues and have them fixed ahead of release.
It is also advised that the testing is performed on an audience from your target demographic. They can provide you with valuable insights that you wouldn’t know or have access to otherwise.
Pick the right Translation Management System
There are multiple localization tools and platforms that you can choose from but there are a few things to keep in mind:
- Automation: The platform needs to be able to blend flawlessly into your development workflow.
- Supported Platforms: The ability to support the platforms you’re working with. Also, when using multiple platforms, having the ability to store all platform keys in the same project.
- Collaboration Tools: Allows you to invite team members and translators to work on the same project. They should also have the ability to assign different translation tasks.
How can Lokalise help?
Lokalise is the leading localization and translation tool for web and apps. It integrates flawlessly with your existing development workflow through a plethora of one-click integrations, libraries, and plugins.
It offers all the essential localization features like an online editor, translation memory, translation history, the use of a glossary, and more. In addition, Lokalise has more advanced features like inline machine translations, automatic screenshot linking, iOS and Android SDKs which allow you to preview the translations and app changes instantly.
This post originally appeared on Lokalise.com