Software Internationalization

Re-designing your application with global scale in mind

Software Internationalization is the process of adapting your website for use by people in other geographies in the world. It is different from Globalization, which more generally describes the business mindset of preparing for a more interconnected world, and Localization, which refers to specific tailoring of your product to one or more geographies.

Arabic Web Design. Source: Dribble

To expand on the above point, let’s lay out the definitions of the terms “Globalization”, “Internationalization”, and Localization”. Definitions across the web vary, so I thought I would define my own, borrowing heavily from the W3Cs definitions, as well as aboutglobalization.com.

1. Globalization (often shortened to G11n), refers to the process of the economies, cultures, and ideas within different countries becoming more connected to one another, resulting in more commonalities amongst one another.

Globalization in the business context, is a strategic approach to expanding products and services to new customers in a more connected world. Internationalization and localization are both sub-concepts that stem from Globalization.

It is important to note here that Globalization and Internationalization are often used interchangeably. They are not the same thing, but the frequently used term “Software Globalization” is the mindset of globalization applied to software, and is essentially the same as “Software Internationalization”. You can think of Globalization in the product design and development space as synonymous.

2. Internationalization (i18n) the process discussed in this article, refers to the process of designing and developing a product, website, game or application so that it can be easily localized for markets that may vary in terms of culture, language, or region. Internationalization is a preliminary process before focusing on localization for a specific target locale.

3. Localization (l10n) refers to the adaptation of a product, application or document content to meet the language, cultural and other requirements of a specific target market (a locale). Translation is a central activity within the localization process, but it’s only one part.

4. A Locale is the combination of a region and language - the closest thing that we have in the software internationalization world to representing a target culture. This would be like “French Canadians” or “Arabic-speaking Egyptians” or “Traditional-Character-Reading Chinese”.

Often, localization is thought of as only the process of translating a product user interface and documentation, but there are others aspects to include here that will make localization successful, such as: customization of date and time numbers, symbols, colors or icons, keyboard usage, currency, various graphics, legal requirements as well as the project management, testing and release process.

Finally, that’s over.

Now we can move onto the real topic of this blog post, internationalizing your software. In this post I’m going to go over all of the components of i18n at a high level, and will include links to more detailed posts for further reading within each category.

The Goal Of Internationalization

Each of the components of i18n that I will describe, is ultimately an effort to decouple your website or web application from the location that it was created.

This will mean something different at each level of the technology stack, but the concept is the same: decoupling ‘culturally static’ components from the application so that they can be adjusted to suit the demands of the target locale.

Internationalization is the effort to decouple your web application from the location that it was created.

At the hardware level, this means adding new servers or cloud servers so that your app can reroute users on a per-locale basis to increase speed. At the database layer, this means ensuring that your application intelligently caches user information in different locations to make requests for user information quick and easy.

When it comes to analytics, it means ensuring that your application can flexibly start and stop collecting categories of user information and retargeting campaigns, so that it can remain compliant with user privacy regulations across the world.

Finally when it comes to User Experience (UX) it might mean making your user interface modular and flexible enough to accommodate differently shaped languages, as well as adjusting the formatting of different numbers and dates to your target locales.

Define your depth

There is a nearly limitless amount of complexity that you can delve into in the space, so it’s important before you begin the process of localizing your website to understand your goals and what your company is looking for out of the process.

Are you looking for a fully adapted website experience for all countries, or merely a view of your site experience in another language or currency?

What are your target locales?

Are you trying to create a unique brand for your international websites or loop them into your existing brand (this impacts SEO as well)?

Internationalization Areas

Below is a non-exhaustive list of the places that you will want to look for localization opportunities to pursue for your multinational users.

Networking and Infrastructure

Server location / load balancing : This is essentially answering the question of where are you serving your website from to users from different countries. In many cases this will be made simpler because of CDNs (Content Delivery Networks), but can still be a major question if you want to serve, for example, China and the US, whose internets are mutually blocked by country-scale firewalls.

source: https://orpical.com/

Where to store user data : Even if you decide to serve your website content from the USA, there is still a question of whether or not you want to serve user data from the same location. If you have a great website that loads quickly, but your users in Germany can’t log in as quickly because their account information is only stored in the US and every time they log in you need to ping a server in Kansas, then you still have not localized for that user group.

GDPR Compliance : In the European Union, there is an increased focus on internet privacy, and the primary internet privacy law, GDPR, establishes some strict, and strongly enforced, rules about where you can store the data of users from the EU, and what you are allowed to do with that data. As it applies to infrastructure, the GDPR mandates that any EU customer data that you store must meet certain security standards, and also must be able to be anonymized, to protect the individuals privacy.

Website Configuration

Domain Structure : This is how you structure your localized web sites with relation to one another. There are generally three options: Subdirectories (example.com/de/), subdomains (de.example.com), and country specific domains (example.de) that each have their own advantages and disadvantages, especially as it applies to SEO.

Login / Persistence Model + Redirects : How are you going to handle users that are cross-browsing, shopping on two or more websites — will you allow them to stay logged in? is the users cart and or log in going to persist across sessions? What if a user lands on a localized experience that they are not supposed to be on. Will you show them a modal popup that lets them choose where to do next or will you simply redirect them automatically, irritating users who are just curious?

SEO : How do you plan to maintain your companies Search Engine Optimization (SEO) advantage across different locales? Will you try to encourage Google to consider your site as a single entity to increase your site’s ranking initially, or will you encourage google to register your site as multiple entities, each with their own valuable content? Which Search Engines will you try to optimize your site for?

User Experience

Translation : Translation is the first thing that comes to mind when you say the word localization. this is how you are going to take the text content that you have on your website and get it translated, with a focus on maintaining the contextual meaning and the emotional sentiment of that text. Also within this topic is choosing which languages you are going to target and how are you going to hire your translators.

source: smartling.com

Formatting : Different locales have different standards when it comes to formatting numbers, currency values, and dates. You need to be able to flexible adapt your site to the expectations of each of your user groups. The number 1302.93in Italy is "1.302,93"and in Great Britain is "1,302.93"

GDPR Compliance : The privacy rules in the EU also affect what data and customization you are allowed to opt your users into. You need to build your site in such a way that you can allow tracking to stop if your users do not want certain types of data collected about them.

Design and UX : Certain cultures have a focus on trust, certain cultures have a more collectivist nature to them, certain cultures shop and make decisions in different ways on the web. There is a massive difference between the information that feels simple and easy to a Canadian person and the information that feels natural to a Chinese person. It is the designer and the UX researchers job to understand how users are interacting with the site and developers job to build a system flexible enough to allow for changes.

source: Taobao.com

QA : Finally, as it is one of the most important components of software i18n, is Quality Assurance or QA. The “efvfort” required to test your website will increase exponentially as you add new locale support and it is essential to be on top of the QA process as you begin expanding into different locales. Visual testing software, snapshot testing, and pseudolocalization testing are all tools that will allow you to maintain quality across the world.

I hope that this has given you some food for thought, happy localizing.

Alex Zito-Wolf

Product Manager + Software Developer. Interested in Travel, Culture, and the Internet.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store