Friday, April 8, 2011

Software Internationalisation and Localisation:

My Localisation process adheres to standards set by the Localisation Industry Standards Association (Lisa).

How is Localisation different from Translation?

Localisation of software is adapting software for use in various languages and locales. Localisation involves more than just translation of User Interface (UI) and documentation. Software may need to be adapted for dealing with:
  • Local APIs (Application Programming Interfaces), operating systems, search engines, or even currency and accounting standards;
  • Double-byte characters used in Asian languages, such as Japanese, Chinese, and Korean;
  • Right-to-left writing systems of Arabic, Hebrew, or Farsi;
  • Culture-dependent meanings of icons and underlying connotations of color schemes;
  • Sorting algorithms for non-Roman character sets;
  • Enabling various input methods;
  • Locale-dependent variations, such as date formats (dd-mm-yyyy vs. mm-dd-yyyy), calendar systems (e.g., Japanese use an Imperial Calendar, Muslim and Hebrew calendars are based on lunar months), currency, address formats, etc.
Is you project ready?

Before embarking on a localisation program, it is important to verify that your software is adequately Internationalised. Internationalisation is a process of making software ready for rapid and cost-effective localisation into (practically) any language and for any locale. Internationalisation does not involve any translation at all. It is simply making changes to the software to make both localisation and maintenance of international versions easier.

Ideally, Internationalisation is a fundamental part of the product design and development process. In reality, a vast majority of software needs further internationalisation work after it is released in the Anglo market. Internationalisation involves, among other things:
  • Enabling software installation and operation with foreign characters sets, platforms, and other localized programs (I18N Enablement);
  • Enabling software to be easily translated, maintained, and supported after it is localised;
  • Externalizing translatable resources from executable binaries and creating resource-only libraries;
  • Moving button and graphics text into string variables;
  • Adopting single-source materials for documentation management.
Benefits of Internationalisation and Localisation...

In the real world, it is rare to see software that has been one hundred percent internationalised. But doing as much Internationalisation upfront as possible before starting the localisation and translation processes has benefits that tend to far outweigh the costs.

Internationalisation can:
  • Facilitate smooth translation processes and tracking of future updates
  • Allow for increasing product language set — easily!
  • Reduce support costs (one set of binaries, not unique product versions);
  • Enable bug fixes to apply to all languages, and the same bug fixes can be delivered to worldwide customer base.
The more thorough the Internationalisation process is, the better the outcome of the whole software development process in terms of:
  • Stronger code integrity;
  • Faster turnaround;
  • Better quality of the code;
  • Reduced overall costs;
  • Consistency;
  • Satisfied international customer base;
  • Efficient software updates.
In other words, Internationalisation saves money and prevents many problems!