We live in a truly global world.
All over the globe, people are logging on and logging in from their respective countries. It makes sense that people want to use the web to reach out to a global audience.
So much so that the W3C project recently released its internationalization checker, so you can check how well your site “internationalizes.” But what is internationalization, how does it relate to localization and why do you need to know them?
i18n and L10n
Well, let’s start with the basics. Internationalization (also known in various circles as i18n -- the 18 denoting the number of missing letters from the middle of the word) is designing a site, a piece of software or an application that can be adapted for many different cultures. It is a process that is generally only performed once during the creation process. In a sense it’s sort of a one-size-fits-all solution that paves a neat path towards...
...Localization (often abbreviated to L10n... the same rules apply), which is the actual adaptation of your design, interface, software, etc. for a particular area or culture. This includes translating the text into other languages, making sure pictures are culturally acceptable and removing references that may not be relevant. Where internationalization is a process that is done only once, localization is performed each time you want to target a particular culture/language set.
To internationalize, you need to be one step ahead. What features might you want to implement in the future? Even if you haven’t even thought about breaking into China or India yet, these are both up-and-coming countries with languages that are non-Latin script. Unicode is pretty much essential these days and can support all manner of scripts, languages and characters for when the time comes.
And this also involves the ways in which languages are read. Some scripts, like Hebrew or Farsi are read from right to left, which will affect all of your text, text entry controls and scroll bars. You can add markup in your DTD which will support bidirectional text (and thankfully Unicode automatically supports it too).
To this end, separating specific elements from your source code that you may need to localize later is certainly a must. By isolating these localizable elements, you can ensure that when you change these, the rest of the code remains untouched. Examples here might involve date and time formats or name and address inputs.
Working in CSS is also a no-brainer, especially when you’re working with different languages as any necessary changes can be simply made and applied across the board.
Speaking the lingo is a key point to getting localization right. Not only will it help you to gain the trust of new readers/users, but if you’re developing a website or web app, it’ll also give you prominence on foreign language search engines, which have less competition than their English-language counterparts. And with foreign language use on the internet rising at phenomenal rates, a multilingual future is surely ahead.
How your interface or site looks is also an incredibly important aspect of localization. While in Western countries, red is the color of desire and love, over in China it signifies luck, whereas in South Africa, it’s the color of mourning. Indeed, one of the challenges of localization is knowing exactly how each culture you’re aiming at can differ in small -- but highly significant -- ways.
It’s also important to make sure any images or animations won’t offend (as an aside, avoid Flash as it’s so difficult to translate and edit!), and you’ll need to ensure your currencies are correct. Drafting in a local of the country you’re targeting can help you to pinpoint any aspects that might need localizing that you may not have thought of. Did you know, for example, that while Americans will use quotation marks like this: (“ ”), the French will use what they call guillemets (« »)? A little bit of local knowledge can go a long way, especially if you’re involved in e-commerce.
It’s important that while g18n and L10n are two separate things, both must be implemented. In fact, it’s difficult to find one without the other, and they must be harmonious together to create a great experience for the end-user.
Of course, these only scratch the surface of what you need to do to fully internationalize and localize a project. You can find plenty of information about the topics covered here and many more on the W3C pages.
The most important thing to remember, however, is that while all of this seems a lot of work, if these issues are correctly addressed at the beginning of your project, it drastically minimizes the time you’ll have to spend re-writing when the time comes to go global.
Editor's Note: You may also be interested in reading: