What is internationalization?

Internationalization – often written as ‘i18n’ (18 being the number of letters between ‘i’ and ‘n’ in the English word) – is the design and development of an application using practices that simplify future localization for different countries, languages and cultures.
Group of four people looking at tablet

More about internationalization

What is typically involved in internationalization?   
  • Support for Unicode, relevant legacy character encodings, and different text directions
  • Using predefined localization data and formats from existing libraries, such as options for date and time, calendars, numbers, names and addresses, list sorting, etc
  • Keeping code distinct from UI string values, and ensuring that user-localizable elements can easily be loaded (based on identifying user language or location) or selected
  • Verification through pseudo-translation or by using machine translation to prepopulate strings to test a UI or function before real translations are available 
Are localization and internationalization the same?  
No, internationalization is part of the localization process. For example, the first step in taking software global is internationalization. It is the application of the principle in software development to cater to users outside of your home market. It means that even while developing for your home market, you build in compatibility for different currencies, tax regimes, character sets, language directions and formats for names, dates, addresses, and so on. This ‘multilocal’ approach avoids having to go back and build these in after the fact when it’s time to localize the product for an international launch.
Without the design and development practices of internationalization, localization becomes much more difficult, time-consuming and costly to do well – and the risk of failure much higher. I18n is critical to efficient and effective product globalization because it simplifies product localization.
What are the use cases for internationalization?
  • Building translation readiness into the software development process
  • Validation that UIs will display special characters
  • Validation that the UX design will support translated text expansion
What are the key benefits of internationalization? 
  • Faster time to market when going global
  • Reduced cost of product localization
  • Smoother user experience