QA Labs brings you practical tips and tools on testing, quality assurance (QA), and related topics through this monthly e-newsletter.
Localization Series
Localization and Internationalization
This pair of articles about localization is divided in
two parts: the first article is related to marketing while
the second article is focused on testing. Although the main
focus of the article is localization, internationalization
is also mentioned since they are strongly related.
First of all, there are two concepts that need to be defined:
internationalization and localization. Internationalization
covers generic coding and design issues while localization
involves translating and customizing a product for a specific
market. As examples: when you are able to change the keyboard
settings to Japanese while you use a US version of Windows
it is an internalization issue. Ensuring the size of the
dialog boxes fit properly in a German application is a localization
issue.
Internationalization - Why internationalize your product?
Why would you invest additional resources, time and money
to internationalize your applications? Internationalization
provides a means for:
- Possible use of your applications in other locales
even without translation of messages, documentation and
User Interface elements;
- Reduced time and cost for localization resulting in
higher revenues and profits from other markets (no lost
revenues due to lag between domestic and localized applications);
- A single source code base for your domestic and all
localized applications (instead of potentially as many
code bases as localizations) which makes maintenance of
your code base simpler;
- Improved code architecture of your source code baseline
and consistency to standards.
During the product planning phase, when describing internationalization
issues, (such as which features will be removed or customized
for different editions) feature's behaviors that are locale-sensitive
have to be addressed. It's important to be familiar with
foreign languages and typical locale-specific information
typical as postal codes, string sort orders, business letter
formats, punctuation rules, paper size, currency, number
formats, numeric separators and so on must be considered
at this point.
Some simple examples are:
- The symbol # is not universal for "number". No is also
common.
- A negative number isn't preceded by a dash in all languages;
bracketing conventions for negatives numbers vary, too.
- Money symbols might go before or after the monetary
amount.
Localization - Why localize your application?
The international software market has become more and more
important for software companies. Some of the reasons are:
- Many U.S. software companies obtain more than half of
their revenues and profits from international sales;
- Users in general prefer an application which works
in their language and cultural environment;
- The freedom of exchange between countries, and the
growth of worldwide networks like the Internet has raised
the awareness and computer literacy in many countries;
- The actual cost of localization, when correctly done,
is usually a minor cost component when seen over the lifetime
of the product.
Users expect localized software to support the same basic
set of features as the native language edition of the product
does, and of course to have the same level of quality. They
also expect different language editions to interact smoothly
with one another, within the same language or across all
languages. If files are unreadable from one language edition
to the next, or if they convert with numerous errors, international
users become frustrated.
Localization can be performed on several levels, depending
on the target market and the application type. An analysis
of how much time and money will be spent in the localization
process versus the potential return needs to be done by
the company before any localization process is started.
Some companies may even decide not to localize their products
if the market is too small or there is no competition. But
if the target market has limited knowledge of English or
the market is very competitive, the company may decide for
a full or partial localization.
Below is a listing of the different levels of localization:
- Translation of documentation and packaging only
- Translation software menus and dialogs
- Enabling the code
- Translation of online help, tutorials and README files
- Support for locale-specific hardware
- Customized features for specific locale
The first two options listed above involve little development
cost. The next level, enabling the code, which allows the
customer to create documents in their own language even
if the user interface is not localized, involves no translation
cost but involves some development cost since the code that
handles input, layout, editing and printing must be changed.
The last three levels represent more costs, since translation
or even development of special piece of code is required.
When localizing an application, it is important to consider
the user interface design and the feature set for each language
edition of a product. They might not be exactly the same.
Whoever is writing the specifications needs to know in advance
which languages and locales the final product is targeting
and how much of each language edition will actually be translated.
If localization and/or internationalization issues are
taken in account during the initial feature specification
and design stages it helps to maximize the quality of all
language editions of the product while minimizing the amount
of time and money invested.
Another advantage to describing the product features in
detail is that there is the up front opportunity to address
other factors that may affect product ship dates, such as
staffing requirements and the deadlines for coding, translation,
and testing.
Cultural and Market Issues
Considerations about culture and market are very important
since what is natural for one culture may be offensive in
another. For example hand gestures, representation of animals,
religions, even mythological symbols might be misinterpreted
or offend users in another country. Also, images of sports
equipment, national monuments or even sounds and colors
that are familiar in some culture might be unfamiliar in
other. This kind of information is sometimes hard to find,
so it's important that sufficient amount of research on
the target country is performed.
Windows and Macintosh Globalization Resources
For a great resource on globalization and localization,
we recommend Microsoft's Global Development site at http://www.microsoft.com/globaldev/.
In particular, check out the Step-by-step guide to globalization
of Windows software at http://www.microsoft.com/globaldev/wrguide/wrguide.asp
If you're planning to localize Macintosh applications,
check the http://developer.apple.com/technotes/ov/ov_20.html
QA Labs is a powerful player on your team supplying the critical competitive advantage you need today. Our mission is to help you make your software products succeed in the marketplace, whatever the climate. We work with you to make wise choices that reflect project constraints, industry trends, and business considerations. We are the largest independent software quality assurance and testing service provider in Canada. For more information, please visit www.qalabs.com.