The Case for Internationalization
Before I even get into internationalization, what it is, and why you should be considering it when building applications, let me ask three questions. What is the following date?
4/11/18
What about?
30/11/18
Did your answer change?
Internationalization, Localization, and Globalization
Internet user growth in countries outside of the United States is accelerating. China and India have more smartphone owners and internet users than the United States. With only about 26% of India’s population is online, the market is still growing. If your webapp or mobile app is only in English, not only are you missing out on a huge number of users, but you are missing out on growth as well.
In order to get into these markets, you need to localize your applications to fit that market’s needs.
So what is internationalization (or i18n for short)? Internationalizing your application is the process of making your app able to be localized to a user’s preferences. For example, you would store dates and times in your database in UTC format. In JavaScript, the first date I mentioned in the article would be standardized in UTC as:
> new Date('11/4/18').toUTCString()
◁ "Sun, 04 Nov 2018 07:00:00 GMT"
Internationalizing also includes making your application able to be localized to the user’s language as well. There are many different techniques to do this, but in React applications, I prefer using react-intl to standardize text into a format called ICU.
Localization, on the other hand, is taking that standardized data and presenting it in a way that the user is familiar with. We call wishy-washy “familiarity” things locales. A locale can be specific, like “en_US” and “en_GB” or general, like “en”.
An Incomplete List of Things to Localize
There’s a lot more to i18n an l10n than just translating the text on your webapp. You need to consider:
- formatting numbers, including currencies
- calendars
- dates
- times
- relative dates and times
- pluralization
- counting
- sorting
- phone numbers
- addresses
- and so much more!
There are a lot of different items to consider when creating web applications and making them standardized in a way that they can feel native to users.
Calendar weeks, for example, normally start on Monday — well, unless you live in the United States, then they start on Sunday. And 3:00pm is written normally written as 16:00 in Ukraine.
Building apps is hard, and localizing them to work with a user’s locale is even harder. However, if you take the time to internationalize and localize your application, you’ll be able to enter new markets and the growth in new markets to fuel your application’s growth.
Ivan Montiel is the founder and CEO of Clarity Hub — a company that integrates with Intercom to give customer success teams real-time suggestions. He is also the UI Architect at Nextiva.