Internationalization in software design: A business starter guide

Updated April 2, 2021
Internationalization is not the same as localization how to make sense of i18n - Smartcat blog
Vova Zakharov
Written by
Vova Zakharov

Smartcat’s former editor-in-chief, Vova loves g̶l̶o̶b̶e̶t̶r̶o̶t̶t̶i̶n̶g̶ staying at home with his family, playing some good old metalcore, and talking to self-aware robots.

Full bio

Learn about our editorial policies

Kacie Saxer-Taulbee
Edited by
Kacie Saxer-Taulbee

Kacie Saxer-Taulbee is a data-informed content leader with a background in high-scale B2B SaaS, legal tech, and insurtech. Currently the Director of Content and Strategic Brand at Smartcat, she leads the company's global storytelling efforts, harmonizing thought leadership with AI-powered localization and multilingual communication. Her work has been featured or quoted in Business Insider, ABC News, Yahoo Finance, The Seattle Times, Property Casualty 360, The Balance, FinTech Global, and Insurance Business America. She prioritizes rigorous research and analysis to provide enterprise corporations with the best information to address their agentic AI and global content needs

FollowFull bio

Learn about our editorial policies

Nicole DiNicola
Reviewed by
Nicole DiNicola

Nicole DiNicola is a high-performing and empathetic global marketing leader with over 15 years of experience in the fast-paced B2B tech industry. Currently the Global VP of Marketing at Smartcat, she leads a full-stack global team focused on building awareness, driving growth, and enabling internal and external customers throughout the customer journey. Nicole is a “Scale Up” marketing expert with deep expertise in GTM strategy, product marketing, and account-based initiatives. She has held leadership roles at Qualtrics, Smartsheet, Citrix, and SOCi—where she most recently led the launch of the world’s first CoMarketing Cloud, an AI-powered local marketing platform. She is known for creating scalable marketing organizations that align cross-functional teams around common goals, maximizing resources and results. As a customer-first innovator, she leverages data and insights to shape clear and compelling messaging in complex, competitive markets. Nicole is also a passionate advocate for new moms in the workplace and women in tech. Outside of work, she’s a runner, reader, and imaginative mom to two young children.

FollowFull bio

Learn about our editorial policies

Why you can trust Smartcat

Comparing accurate insurance quotes should never put you at risk of spam. We earn an agent commission only if you buy a policy based on our quotes. Our editorial team follows a rigorous set of editorial standards and operates independently from our insurance partners. Learn more.

The terms “internationalization” and “localization” are often used interchangeably, which leads to some confusion, especially among software developers. This article explains what internationalization really is, and how to best approach it in your company.


Let’s start with quoting Wikipedia:

Localization is the process of adapting internationalized software for a specific region or language by translating text and adding locale-specific components.
Internationalization is the process of designing a software application so that it can be adapted to various languages and regions without engineering changes.

The key takeaway here is that, unlike localization, internationalization is a developer task, i.e. it should be done well before the product launch. It requires careful planning, as well as development processes and tools tailored for this purpose.

Key aspects of internationalization

Internationalization is a complex process that involves many aspects. The most important ones are:

1. User Interface (UI) design

The UI should be designed in such a way that it can be easily adapted to various languages and regions. This includes:

  • Fonts: The UI should use fonts that can be easily changed to others if they are not available in other languages.

  • Colors and images: Those should be easily changeable too, because sometimes colors and images can have negative connotations in other cultures.

  • Text-containing elements: Ideally, these should be designed in such a way that they will work with both very long and very short texts, as well as right-to-left scripts.

2. Data format and storage

Strings should be stored in a way that makes them easy to localize. This includes:

  • Encoding: Strings should be encoded using UTF-8, which is the most widely used encoding for Unicode strings.

  • Grammar forms: Strings should be designed in such a way that they can be easily adapted to different plural and gender forms, e.g. using the ICU format.

  • Dates and times: These should be stored in a format that is easy to localize, e.g. using the ISO 8601 standard.

  • Numbers: These should be stored in a format that is easy to localize, e.g. using the ISO 4217 standard for currencies and the UN M.49 standard for region codes.

A common mistake that is to store strings right in the code, e.g. for user interface elements like buttons or fields. This makes localization much harder down the line and can lead to significant delays in product launches.

3. Processes and tools

Internationalization is a complex process that requires careful planning and development. It also requires tools to support the process, e.g. for translation memory & terminology management or for automated testing of localized products.

There are many tools available for this, but we recommend focusing on those that enable a CI/CD process for translation and localization. This way, you won’t have to manually send content for translation or check the status of the work done by translators.

Where to start?

Internationalization starts before the product is built and it continues even after it has been launched. Therefore, internationalization should be a part of the top level planning process.

1. Find (or become) the internationalization champion

Ironically, the most challenging part is often to convince everyone concerned that internationalization can have a huge impact on the success of the product and should be taken seriously.

To do this, you should prepare a clear argumentation about the business benefits of internationalization, e.g. that it can increase your revenue by making your product available to new customers in new markets, or that it can reduce your costs by saving time and money spent on localizing products later on.

An anecdotal example you can use here is the story of Lotus 1-2-3, a once market-leading spreadsheet product. However, all their strings were hard-coded, so when they decided to localize the product, they had to spend two years separating the code from the text, ultimately resulting in losing the race to Microsoft.

2. Figure out the format(s) and tool(s) you will use

Once the need for i18n is clear to everyone, you can start thinking about the technicalities. For example:

  • What format will you use for storing strings and converting them to actual text within your code?

  • What tools/technologies will you use for translation and localization?

  • What roles and responsibilities will be involved in the process?

Ideally, you would draw up a detailed internationalization plan/strategy and design a process that can be followed across all your products, so that it will be easy to adapt to the needs of each new launch once the strategy has been established. This will also help avoid discussing the same things over and over again.

3. Execute and monitor

Once the strategy has been established, it is time to execute and monitor the process. Start by introducing the new tools and technologies that will support your process, then gradually introduce new roles, responsibilities and processes (but don’t overdo it).

Look for pain points in the process and eliminate them, e.g. by automating something or finding a new tool to make something easier. Continue to collect feedback from localizers and adjust the process accordingly.

In the end, it is all about creating a solid process with an efficient and effective workflow. This will also make it easier to start with localizing future products. The more your internationalization process becomes established, the less you will need to think about it.

Conclusion

Internationalization is a vital part of the product development process, but it can be very challenging to get it going in the right direction, especially when the benefits of doing it aren’t clear to everyone.

Hopefully, this short article has helped you get started in the right direction.

You might just as well want to check out Smartcat, an all-in-one localization platform that supports a variety of localization approaches, has a built-in marketplace of both freelancers and translation agencies, and has integrations with the most popular version control systems.

💌

Subscribe to our newsletter

Email *