This 20-letter word is often abbreviated as i18n when used by software engineers. Making a program useful in another country requires more than just replacing error messages from a new language. In software development, internationalization means designing a program so that it can be easily customized for various languages, scripts, units, currencies and date/time formats. The counterpart of i18n is localization (l10n), which is adapting a program for use in a particular locale. In other words, internationalization makes a piece of software easy to localize.