i18n and L10n: 1 - The Basics
The article is intended as a brief introduction to the salient issues of International Computing
Author: Matthew Wittering | Published: 25th June 2009
Welcome to the first in a series of articles I am producing for topics covering Internationalization of software and its Localization to extend the applications use into other regions and culture around the world. The article is intended as a brief introduction to the salient issues of International Computing.
Links to sources and material used to compile this entry can be found at the end of the post.
International Computing
During my final year at Loughborough University I elected to read a Computer Science module called International Computing. The aims and objectives of the module:
To establish an understanding of computing and IT related to internationalisation of systems, websites, databases and applications. Internationalisation in this context means, not only the handling of international languages (eg. Chinese, Japanese and Korean), but also character sets and symbols (eg. Braille and scientific symbols).
Quote 1: Aims and objectives, Credit André Schappo.
Internationalization - i18n
Internationalization which is shortened to i18n is the activity of preparing software for configuration based upon the users cultural. This methodology allows the end user to choose the appropriate translation and configuration for their preferred regions and cultures.
Most intellectual property maybe produced in the Anglo cultures in Western Economic countries however this does not limit the user base to the English Language.
Due to the nature of the global economy, however you find it - software will be the driving force to re-energies the market producing physical and virtual commodities. From cooking and packaging your Kellogg's Cornflakes to completing the next feature film you see.
A global out look must be taken to maximise the user base, whether the product is commercial or an open source project. Possibly the best way to describe such a method is not as Internationalization but Globalization. Modern application require a global outlook and reach.
Localization - l10n
Localization is the activity of software adaptation to translate and alter an application to meet a different cultures requirements. Localization is not simple a straight forward translation, for example English to Spanish. There is much more to cover.
The most notable use for localization is how different nations choose to arrange the order of the date, month and year. For example two different formats and localizations for date formatting:
- United Kingdom - Day / Month / Year
- United States of America - Month / Day / Year
Localizing Google
Like you are probable use a number of Google services during your typical day or week. Google like any other global born Internet company has a multitude of users from a wide range or locations around the World. If you type into your browser the url: http://www.google.com/ you will witness localization. If you are browsing from out side of the United States of America you will be redirected to the site most appropriate to you based upon your geographical location.
When I browse to Google I arrive at http://www.google.co.uk because I am located in the United Kingdom. When you browse to a localized version of Google you will notice the navigation adapts as does the logo based upon the change of Top Level Domain name.
Examples of Google localizations:
- http://www.google.co.uk/
- http://www.google.fr/
- http://www.google.de/
- http://www.google.cn/
- http://www.google.co.jp/
Humanization
When learning about the Django python framework I read a chapter which covered Humanization. The process of humanization is to apply filters which arrange data points into regular formats. The Django project refers to these as filters.
Humanization filters for localization include:
- Numeric
- Date and Time
- Currency
Links
Below are a list of pages for used to help complete this article:
- André Schappo, Lecturer, Computer Science Department, Loughborough University
- http://www.w3.org/International/questions/qa-i18n
- http://en.wikipedia.org/wiki/Internationalization_and_localization
- http://en.wikipedia.org/wiki/Language_localisation
- http://www.djangoproject.com/
- http://docs.djangoproject.com/en/dev/ref/contrib/humanize/
This work is licenced under a Creative Commons Licence
I am a graduate of Lougborough University where I read Computing and Management BSc (Hons) earning a 2:1 classification.