Internationalization and Localization

You might have been into a shopping website and the price of the product listed as $XX,XXX. The currency format of the price is targeted at an American audience.

We can target our application to be available in the UK as well (just so that the language itself doesn’t change)? Britain uses a different date format and currency symbol, but you don’t want your code to undergo a change every time you need the application to support a new locale (in this case, en_US and en_UK). Internationalization is the process of abstracting out the date/time format, as well as the currency symbol, from your coding logic is known as (or i18n—the 18 denoting the number of letters between i and n in the word).

Even the strings in the UI changes if we wanted to support the application in Hindi Or Russian in addition to the date format and the currency symbol (and formatting). Localization process of providing translations and localized strings for the abstracted bits in various locales is known as Localization (or L10n—with a capital L to differentiate between i and l).

AngularJS supports i18n/L10n for the following filters:
• currency
• date/time
• number

The framework also supports pluralization for English as well as i18n/L10n with the ngPluralize directive. It is handled and managed by the $locale service, which manages the locale-specific rule sets. The $locale service works by specifying the locale IDs(the country code and the language code). For example, en_US and en_UK, denote English used in the US and the UK, respectively. Specifying a country code is optional, just specifying “en” is a valid locale code.
Related Tutorial