Internationalization Primer

Interested in internationalization or localization? For my latest article at Digital Web, I cover a few introductory topics on the subject. Internationalization (often shortened to i18n) is essentially the process of making the application or site available in any language. It's often the framework for localization (L10n). Localization is the process of making an application or site tailored to a specific locale.

The article is by no means exhaustive as entire sites can and are dedicated to i18n. The goal was to cover some key topics on how to handle the development of it and to hopefully get people thinking about it. i18n and L10n are often tacked on elements of a project as is evident by the ommission of such features in many frameworks.

Read Internationlization Primer over at Digital Web

Published June 06, 2006 · Updated September 14, 2006
Categorized as Writing
Short URL:


10 Comments · RSS feed
WD Milner said on June 06, 2006

It's an interesting topic.

The interesting thing is that it seems to have an inverse relation in that the smaller the site and fewer the languages the more of a major undertaking providing the "customization" can be. Making the framework is the major part of the work - after that it's just a matter of populating with the content in the appropriate language therefore internationalization is generally more effective (cost and time wise) for larger sites and projects, unless it is something specialized.

In terms of web sites, I find that sites located in (or operated by) Europe or European based entities are far more likely to have implemented some form of internationalization or localisation than sites in/from either North America, Asia or Africa. South America are somewhere in between. This isn't any hard core research just personal experience.

I always use an international standard for time/date in my sites/projects as it is almost a necessity to avoid ambiguities - today's date being a perfect example of such. Some day I'll manage to get my personal site up in English/French/Gaelic. That is if I ever finish the English one! :)

Steve Tucker said on June 06, 2006

Another of the hurdles with multi-region application development is understanding the psycology of visitors from forign regions. The meaning of one colour to a visitor from region-A, for example, could be entirely different to a visitor from region-B. This is especially the case with eastern countries and countries whose cultures are naturally quite different from our own. Alternating CSS files depending on region make logical sense in some cases.

EJ said on June 06, 2006

Interesting posts. I actually just finished perusing through O'Reilly's 'Building Scalable Web Sites' which was a great read and very informative. They actually devote an entire chapter to i18n, L10n, and Unicode which are without a doubt heated topics in today's rapidly evolving development arena.

Admittedly, Im just an aspiring web developer (still in school :) ) and still have so much to learn. A lot of the information was 'over-my-head' but can probably be useful to others.

Finally, I like that CSS idea that alternates per region. Perhaps, a server side script (php?) that reads in the user IP, does a whois lookup, then displays based on region that way. The only problem I see with that is what if the user is using a proxy like the popular 'tor'. Assigning a stylesheet might not be so easy.

What it really comes down to is whether your business or site will benefit from the added time and expense used to implement a scalable feature.

Jonathan Snook said on June 06, 2006

WD Milner: I agree that anecdotally, Europe is more likely to have implemented some form of i18n. I hypothesize that this is due to the variety of languages in a smaller geographical area.

Steve Tucker: Yeah, cultural sensitivities is definitely another facet of localization. I haven't had to handle such issues but I'd suspect you'd start to see both design and content be tailored for such a different locale.

EJ: Yeah, I always caution on assuming too much of the user. Basing it on IP isn't reliable. For example, I may be an English speaking individual living in Quebec. How would you know what language to send me?

If you pre-select the language, be sure to allow the user to change it. Always give users the choice.

Ian said on June 06, 2006


As most web browsers send an accepted languages header, you can simply read the header and switch CSS that way :)

Like Jonathan said, it's always good to allow the user to change their default language.

WD Milner said on June 06, 2006

Oh definitely the concentration of varied languages has made most Europeans multilingual and therefore qutie aware of the situation.

The variation in CSS as regards colours is also a quite astute observation. While black is often regarded as a 'death' colour in western cultures, in many Asiatic cultures the 'death' colour is white. In Japan yellow is often associated with royalty while in Europe purple is usually the imperial colour.

I concur on using prefered language from the browser as a starting point rather than IP. I have yet to find an IP sniffer that locates me accurately. Some have placed me up to 1500 miles away and in another country to boot :)

What a wonderfully complex world we live in! :)

Johan said on June 07, 2006

How about a cookie to save language prefs?

Johan said on June 08, 2006

Why not let the user set his language and other languages he knows in the browser by default.

Jonathan Snook said on June 08, 2006

Johan: most users don't change their default settings and therefore it's best not to rely on that. In fact, when I wrote the article, my language settings were still United States English.

Johan said on June 08, 2006

The reason why I am so hard thinking about it. I am working on a bilingual site now (I know they have php enabled so I could do something server. I only have put nl-be for *dutch* and *nl-fr* for walloon (french) native speakers in the lang attribute in the html tag. I dont like to redirect anyone (the buttons with the lang pref is for them to use).

Sorry, comments are closed for this post. If you have any further questions or comments, feel free to send them to me directly.