views:

243

answers:

6

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?

+5  A: 

(community wiki for voting)

internationalization / localization
i18n / l10n

derobert
A: 

(community wiki for voting)

globalization

derobert
+2  A: 

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.

JB King
Your description of globalization is exactly what I think is the most common one and which makes this term sound weird in the context of software development. Also nice to have somewhat different interpretations of i18n and l10n!
Simon Lehmann
Globalization in the context of software development to me refers to the idea that I could be collaborating with people anywhere in the world if my company uses a 3rd party for some custom code in a system. That anywhere can be as far away as Russia or China or India or Australia for example.
JB King
+2  A: 

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.

Anders Eurenius
A: 

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

Mike Sickler
+2  A: 

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

Nemanja Trifunovic