This article has been updated and moved
to a new location.
A frequently used method to avoid programming repetitive messages
and to save valuable disk space. Messages are composed from a set
of static elements. A programmer may create a shell sentence and
then drop in the desired tokens at runtime as needed.
Insensitivity towards religious aspects may jeopardize your product
for an entire market. While a beautiful color graphic of a bikini-clad
beauty may sell software in California, the same picture may be
deemed offensive and morally objectionable in a more conservative
Also keep in mind that for instance flags are subject to different
rules and regulations in different countries and that their representative
values are viewed and felt differently by different peoples. The
Saudi Arabian flag includes a verse from the Koran. Printing this
flag onto a tear-open shrink-wrap or combining an illustration of
the flag with inappropriate additional picture material may be offensive
to members of the Islamic faith.
Other cultural questions to consider in the localization process:
- What degree of informality is acceptable in my target culture?
Can a demo or tutorial file use proper names (e.g. John's account,
Patricia.doc) or would that be considered rude?
How does the degree of acceptable informality affect the general
style of the translation? Should it be as chatty and friendly
as the English original or do users in my target market expect
a more formal, instructional, scholarly style?
- How should jokes, anecdotes and metaphors be handled in the
localization process? If there are references to current political
or cultural events (frequently encountered in multimedia titles),
how do I integrate these references? What should be done with
remarks that rely on the user's understanding and background knowledge
of popular culture?
- Does the product contain verbal or graphical references to holidays
that are not transferable to the target market? (pictures of Christmas
trees, Easter eggs, Thanksgiving turkeys, etc.). Are there any
explicit references to natural or cultural landmarks that are
unknown in the target country? (Mount Rushmore, Bay bridge, etc.)
- Do the product name, any of the used acronyms or abbreviations
have negative connotations in the target language? Can the product
name be changed, if these negative connotations are strong enough?
What are the legal implications of such a change? Consider the
impact of the following company names:
- Hornyphon: Telecommunications
- F.A.G.: Construction/Development
- NOVA: Automotive (in Spanish "nova" means "no
va", "it does not work")
See Numeric Format
Changing the code of a software application so it can recognize
characters that are encoded in two subsequent bytes rather than
a single byte. Most Asian languages are double- or multi-byte languages.
Most languages that use the Roman writing system can encode all
required characters in a single byte (= 8 bits) of information.
Conversely, many Asian languages contain thousands of characters
and thus require a larger amount of memory, i.e. two or more bytes,
to represent all characters of the language. A software package
that is localized into a double-byte language must be enabled to
recognize these larger, two-byte chunks of data as one character.
Correct character processing is essential for many software operations,
including printing, sorting and editing of text or numbers.
Graphical User Interface: The part of a software application that
is visible to an end user.
Text swell may cause software
strings to exceed the dimensions of source-language dialogs, buttons,
menus, etc. If this occurs, the UI elements need to be resized with
the help of specialized software tools, e.g. Resource Workshop (for
Windows applications) or ResEdit (for Macintosh applications). Resizing
operations have to be checked at run time to make sure that not
only static text but also dynamically placed UI elements/strings
are displayed correctly.
Frequently graphics and icons contain text or culture specific
symbols that need to be translated or checked for cultural appropriateness.
For example to illustrate savings, a piggy bank works fine in most
parts of the western world. There are however countries where pigs
are considered filthy and repugnant animals: in those regions the
piggy bank clearly fails to communicate the desired functionality.
Be aware that filing cabinets, mail boxes, windows, cars, houses,
etc. look different in other parts of the world. While most American
users intuitively recognize a little red flag on a mail box as a
symbol for incoming mail, the point may be entirely lost on a German
or Austrian user.
Internationalization is the generalization of localization,
refering to the process of developing software products independent
from cultural pecularities, language or other specific attributes
of a market.
Is a language professional specialized in the speech-to-speech
translation at conferences or during negotiations. Some interpreters
are capable to translate while the speaker has not yet finished
a sentence (simultaneous interpretation). Interpreters normally
do not work as translators
because of the different skillsets required.
Is a standard identifier for a language/cultural context. The locale
"en_US" refers to US American English and numeric
format conventions. The locale "de_DE" refers to German
from Germany while "de_LI" refers to the Liechtenstein
variant of that language.
Localization is the process of adapting the functionality, user
interface (UI), on-line help, and
- optionally - multimedia assets, of a software product to the specific
cultural preferences of the target market. The localization process
consists of several distinct steps:
- Translation of text strings in dialogs, menus, etc.
- Adaptation of culturally specific items, i.e. symbols or images
that may be deemed inappropriate in certain countries
- Reengineering of software, i.e. adapting numeric components
(date, number and currency formats), adjusting dialog box size,
reengineering software with left-to-right text flow for right-to-left
target market, double-byte enabling
See Translation Memory.
Refers to the collections of software components as part of an
application that deal with localization issues such as resource
file access or other localizable
Are all items that are specific to a language or culture such as:
- Date or number fields
- Icons or symbols
- Hot keys or accellerator keys
Is software written with consideration of localization issues.
Multilingual software typically include access interfaces to resource
files or database tables that maintain all localizable
Refers to software structure of the multilingual
subsystem in a specific application. Options include a single
resource file, multile resource files, database tables etc.
Refers to several software modules dealing with resource
file interfaces and other localizable
Different cultures use different formats to display numbers, dates,
etc. The engineer needs to adapt the software engine so it will
handle dates, currency information and other numeric information
correctly according to the rules and standards of the target market.
Imagine, for example, a word processor that automatically inserts
the current date into a document. In the US, the numeric representation
of the second day of June would read 06/02/1996. In many European
country, the exact same string of numbers would be interpreted as
February 6, 1996. Naturally, a mistake like this could wreak havoc
with time-sensitive documents, such as contracts.
Another issues tends to appear with komma and thousand separators:
"10.01" may be interpreted by a European user as Octoer
2001 while an American user would see a number slightly larger then
Text swell that occurs as
a direct result of the localization process may cause software strings
to exceed the dimensions of source-language dialogs, buttons, menus,
etc. If this occurs, the UI elements need to be resized with the
help of specialized software tools, e.g. Resource Workshop (for
Windows applications) or ResEdit (for Macintosh applications).
A special file type that is commonly used to store the resources
of a software application, which may include dialogs, buttons, cursors,
text strings, etc.
When writing software with the localization process in mind, text
elements, dialogs, menus and other localizable elements should be
stored in separate resource files and not be hard coded into the
source files for the executable.
Software globalization describes the process of altering software
products (including embedded systems) for sale to people who speak
languages other than English. Globalization places heavy demands
on software companies, and requires strategic planning, complex
project management, code writing, translation, and use of unfamiliar
software tools. Globalization, localization, and internationalization
are all terms used to refer to the various aspects of this process.
It includes translation, re-working computer code, managing projects
across different time zones and cultures, using industry-specific
software tools, and all the items and processes necessary to transition
a product from US-specific to the target market.
Terminology refers to the way vocabulary is translated in the specifc
context of a project. Please see also the terminology
section in the IT Systems page.
See Translation Memory.
Is a software component that maintains a history of all translated
sentences and synchronizes translations and terminology between
all translators working on
a specific project. The benefits of this technique include:
- Reduced translation time and cost.
- Consistent translations (terminology) across groups of translators
or during the lifetime of the translated documents or products
- Increased scalability of project teams
In its essence, translation memories are a kind of distributed
database storing pairs of strings together with a fuzzy matching
retreival technique. The database is integrated into the translation
process by a series of MS-Word macros.
Please see also the translation
memory section in the IT Systems
Translated text is often longer than its source. This increase
in the number of characters is generally referred to as text swell.
Text swell is probably the best-known localization problem for software
products. It is most visible in dialogs and pop-up windows, but
can also become a major challenge in localizing menus and dropdown
list boxes. In certain cases, text swell is limited by hardware
parameters (e.g. an LCD panel that can only display 16 characters
at a time). Generally, software designers should anticipate a text
swell of 30-40% when creating the original software.
A language professional specialized in text-to-text translation.
Professional translators only translate into their native language.
Translators normally do not work as interpreters
because of the different skillset required.
See User Interface.
A generalization of Graphical User
Interface. Refers to all parts of an application that are visible
to an end user.