A very commonly misunderstood pair of terms for app development are Internationalization and Localization. We find that apps are always asked to be localized or localization to be part of the build requirements but there is no mention of internationalization. So what is the difference?

A great definition of these are on W3C which describe them as:

  • Localization 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).
  • Internationalization is the design and development of a product, application or document content that enables easy localization for target audiences that vary in culture, region, or language.

As LocalizationKit was started on iOS lets take a look at Apple definition:

  • Localization (i10n) is the cultural and linguistic adaptation of an internationalized application to two or more culturally-distinct markets
  • Internationalization (i18n) is the process of designing and building an application to facilitate localization. The main concern is that application can be adapted to various languages and regions without engineering changes.

Between W3C and Apple it gives us a clearer picture of what these two terms mean and define as a process. What this means for apps are Localization is translating the user interface, which is further than just the strings but also numbers, dates, currency etc You also need to consider assets like images, app name, sound files and video files as they may have language strings baked into them that need localization. Internationalized is the mechanism that makes localization easier.

LocalizationKit helps localization because it provides an internationalization capability within the app.