An organization's response to
Globalization needs to be pervasive:
mulit-lingual call centers, branch offices, brochures, signage, product packaging, and software
in several languages.
Simultaneous release of software in several languages at the same time is a common requirement today. So tools for construction of software today need to assume an international audience.
The process for construction of internationalized software and localized products depends on whether there is an assumption of an American user base, as in the past before lower cost computers and the internet.
Source code embedded with language strings are "internationalized" by extracting "hard coded" text strings and replacing them with references to a resource file external from the source code. This has the advantage of unicode compliance. This separation of logic and data also makes it easier to distribute the work of translating strings to other languages.
Alternatively, text strings in source code can simply be replaced with text of another language. This carries less risk than changing source code logic.
The logic for translating specific words and phrases can reside in an organization's Translation Memory database.
Internationalization is the process of designing applications so that they can be localized (adapted) to various languages and regions without engineering changes.
This word is commonly abbreviated to I18N by removing the 18 characters between the first character (I) and last character (n) of the word.
Instead of hard coding application text intermingled among logic code, internationalized code obtain translated strings and objects using a key that is in every localized resource file. In each resource file is the text that goes with each key. Applications obtain text to a different language simply by looking in a different resource file.
The actual string or object that gets loaded depends on the current user interface Thread.CultureInfo.currentUIculture property for each thread.
So, unlike Java, .NET applications need to
start again after every switch in culture. Bummer, I know.
How to Internationalize preents a good overview.
Nicholas C. Zakas, Author, Professional JavaScript for Web Developers (ISBN 0764579088)
Localization is the process of translating text into local languages for specific locales, then testing the product for each locale implemented.
Localization may include creating graphics files containing localized images (such as flags) as well as the translation of text in message resource properties files.
For application code that has not been internationalized, the localization process may also include adapting or adding software components for a specific locale. There are software programs that look for application text strings in programs.
An important part of localization is testing, to detect when localized text (such as long words in German) do not fit on a screen designed for smaller English words.
A translation memory (TM) is a database of transalation assets, usually spanning over several projects of an organization. TMs are created using CAT software (Computer Aided Translation) and localization software.
Each early translation software vendor had to develop their own proprietary file formats. But the majority of translation software now support an industry-wide open standard called TMX (the Translation Memory eXchange) at lisa.org/tmx, a project of the OSCAR (Open Standards for Container/Content Allowing Re-use) Special Interest Groups of LISA (Localization Industry Standards Assn)..
The XML format consists of a header and a body which contains tu (translation unit) tags. A translation unit value is translated into a segment for each language.
For more, see this Evolt article.
Microsoft Terminology Translations (.csv in zip file) of
over 9,000 terms
Joom!Fish is a Joomla! component that helps =keep track of the translation process and
the dynamic content translated within a site.
|
|
|
|
|
| Your first name: [Alt+N] Your family name: [Alt+F] Your location (city, country): [Alt+L] Your Email address: [Alt+Y] |
[Alt+G] Top of Page Thank you! | |||