8
votes

I have always thought that the terms "internationalization" and "localization" (and their funny abbreviations i18n and l10n) were universally accepted and used for talking about software which is aware of language and cultural differences. But I recently read a question on SO about these subjects which referred to something called "globalization" and was also tagged as such.

Because I haven't heard this term before I wanted to know if is actually used by others and how it compares to the terms I thought were established and well known, so I went to the tags page and checked the different terms:

  • globali(z|s)ation: 37 questions
  • internationali(z|s)ation|i18n: 122 questions
  • locali(z|s)ation|l10n: 97 questions

So it seems to be a somewhat uncommon term. I find it also confusing because it somehow mixes the two terms i18n and l10n (and at least to me, "globalization" lets me think of organisations like attac :). As far as I can tell, the term originates from the .net/Microsoft jargon.

So my question is: Which terms do you use/prefer and what do you associate with these terms? Additionally, why did Microsoft chose to use a different term, which even has some totally different meaning to people not familiar with it?

6
"why did Microsoft chose to use a different term"? That's a question a lot of people have asked over and over again with their heads banging at the table/wall...some
I guess there is no answer then...Simon Lehmann

6 Answers

5
votes

(community wiki for voting)

internationalization / localization
i18n / l10n

2
votes

To me, all 3 have slightly different meanings:

Globalization - This is the "flattening of the world" as Thomas Friedman of the New York Times would describe it. Basically, the idea is that the world is getting smaller and we are more connected to each other than ever before.

Internationalization - This is merely referring to multiple countries, which is rather broad.

Localization - This is going even further into the personalization where a user's city may get a different site than another city, as well as taking into account subtle dialect differences that may exist within a country.

Thus, depending on what meaning I want to emphasize, each has their relevance though it is worth noting what perspective one is taking.

2
votes

AFAIK, a technical interpretation of i18n and l10n is that i18n is the refactoring to use hooks to get the l10n for the particular locale. (So i18n is the process of plugging in gettext and peppering the code with those _() macros and l10n is the actual translating.)

Wikipedia has i18n and l10n coming from DEC, back-in-the-day, while globalization/g11n is new from microsoft+ibm.

2
votes

Here is a pretty detailed explanation how Microsoft uses this terminology: Dr International

1
votes

(community wiki for voting)

globalization

1
votes

i18n: Modifying software to be locale-neutral
l10n: Adding support for a particular locale
g11n: i18n + l10n