Monday, November 24, 2008

Difference between I18n & L10n

Internationalization involves writing and designing an application so that it can be used with different languages, date, time, currency and other values without software modification.

Localization involves writing and designing an application capable of dealing with a specific region, country or language. In a sense, every application written for a specific area is localized. Usually, though, real localization is achieved by core code that accesses locale, location, political or other specific components and modules along with translating text.

A tax or accounting package that deals with, say, the U.S., Canada, Mexico and Brazil would need to be i18n'ed so that displays, reports and values would not have to be specific for each country, but also l10n'ed to handle different accounting and reporting procedures and taxes.

Proper internationalization facilitates localization. Internationalized applications are easier to localize than applications that have hard-coded text, number formats, embedded image names, etc.

Internationalization is typically a design and implementation job for a software engineer. Localization is typically a translation job for those who provide user visible elements. In some cases, however, when a a country or region requires custom features, some localization tasks may require new software modules or business logic. Hopefully the well-internationalized application has been designed for that issue and makes it easy to simply plug in additional functionality without modifying core application logic.

Check out more.

No comments: