Agile localization: The complete guide

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:

agile software development 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.

Agile Localization Agile Development

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:

1. Post-release

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:

  1. The developer pushes new code to the project codebase.
  2. The localization platform automatically recognizes new or modified strings.
  3. It pushes them to the localization team or translators to work on.
  4. 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?

Agile Localization Benefits

Efficiency

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.

Adaptability

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?

Agile Localization Challenges

Short-term vision

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

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?

Agile Localization Lokalise

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

Leading with languages: Why 30 languages is below average

As I’ve said for some time, the Internet connects devices, but language connects people.

And when you examine the native languages spoken by the world’s 4+ billion Internet users, it becomes evident that you must support many languages in order to reach many people.

In fact, if you want to reach more than 90% of the world’s Internet users, prepare to support more than 40 languages. Which is why it is no surprise that the organizations and companies that support a significant number of languages also tend to boast a significant number of customers, members and visitors.

Facebook supports more than a hundred languages and boasts nearly two billion users. Google supports more than a hundred languages via its search engine which continues to be the dominant search engine around the world (Russia and China excepted). And Wikipedia (which emerged number one in the 2019 Report Card) supports more than 280 languages and averages more than 17 billion page views per month.

But, for the rest of us, adding languages isn’t all that easy — as it can be quite expensive. While I would argue that the investment (for most organizations) pays off over the long run, a common question I get asked is how many languages should we support?

This is a difficult question to answer without first understanding your business, budget, customers and goals.

But I can first point to the latest data from the 2019 Web Globalization Report Card and say that, for the world’s leading brands, 32 language is the “average” number of languages they support.

2019 Web Globalization Report Card

The nice thing about studying the same websites for so many years is that I can tell not only how many languages companies such as Apple, Microsoft, BMW and Philips have supported since 2002, but exactly which languages they have supported. And though the pace of language growth may have slowed over the past two years, the overall trend is clear — companies continue to add languages as they seek to expand their global reach. Starbucks, for example, supported just three languages in 2003; today it supports 27 languages (and added a new localized website just last year).

Looking ahead, I fully expect this average to double yet again. Only a handful of companies have localized for India and this country alone has more than 20 official languages. Hindi, for example, is supported by just 7% of the websites in the Report Card.

As I noted in my introduction to the Report Card this year, with all the talk of trade wars and tariffs and walls, one might think that companies have been pulling back globally. But this is simply not the case.

More to come…stay tuned!

This post originally appeared on Globalbydesign.com