It is a well known fact that English is no longer the universal language for reaching an Internet audience. Statistics show that although English is still the first language used on the Internet, it is now the primary spoken language for only about 30% of Internet users around the globe. English is also among the languages that has shown the slowest growth on the Internet since 2000. While there are around 2.5 times more English Internet users in 2009 than in 2000, Chinese and Spanish Internet users have increased 9 and 6 times respectively over the same period of time.
A portion of the 70% of non-English
users on the Internet may also speak English as a second language. This
percentage of non-English users who know English as a second language will
actually reduce while Internet penetration across other languages continues to
grow.
As a result of these trends, many
companies have already invested time and money to localize their products and
websites into other languages or are planning to do so in the near future. This
leads to a critical question:
"What is the best way to adapt
and translate my existing English based application or website into other
languages?"
To effectively answer this question,
it is necessary to introduce two concepts: Localization and Internationalization.
According to the World Wide Web Consortium (W3C):
Localization
(l10n):
Is the adaptation of a product,
application or document content to meet the language, cultural and other
requirements of the specific target market (a "locale").
Internationalization
(i18n):
Is the design and development or
modification of a product, application or document content that enables easy
localization for target audiences that vary in culture, region, or language.
The best way to translate or
localize an application/website is to follow a 2-step process:
- internationalize the application first and then
- localize the application into the desired languages
(locales).
Unfortunately, most translation and
localization customers do not follow this path; the majority skip the first
step and just try to localize their products with no prior preparation. On the
surface, this choice might appear to save time and money, but in the long run
the result is quite the opposite. Internationalization dramatically saves time
and money by having key tasks performed just once, which reduces the effort to
localize an application into other languages.
Benefits
of Internationalization
Internationalization's key concept
is to convert your locale-dependent application, which might have been
developed for English or any other language, into a core, locale-neutral
application and a collection of satellite locale-dependent components (often
referred to as resource files). Use of this method will make your code
application completely independent of the locale; it can be shared between all
localized versions.
Common
Internationalization Issues
This new locale-neutral application
will need to accommodate and resolve certain issues that are usually present in
any locale-centric application. There are many of these internationalization
issues; several common examples are listed below.
Locale
Implementation:
Encoding:
When any application needs to store
or retrieve content from any type of media (disk, memory, etc) it needs to use
a specific encoding
for that task. An application that is targeted for any locale must use an
encoding that will support any possible writing script or language. The most
common encoding in use today is Unicode.
Content
Externalization:
As described above, any type of
content that might change based on the locale, such as text, images or media,
must be externalized from the core application and put into external resource
files. When the application is localized, the core application does not need to
be modified for each locale, but only the resource files corresponding to those
locales.
Locale
Sensitive Formatting:
User
Interface Layout Localization:
Some languages display text from
left-to-right while others (such as Arabic layout) display text from right-to-left. Also, some
languages need more space to express the same message: English to German text
translation might expand the number of text characters by 33% or more. A
locale-independent application must also accommodate these issues and dynamically
modify the user interface (UI) to present text and labels to the user in a
clear and well-organized fashion.
Application
Localization Goals
In summary, adapting an application
for a specific language and locale involves more than just translating visible
text. It is a much more complex process and, ideally, the steps described in
this article should be considered from the first day of application design and
development. Having all internationalization issues in mind while designing an
application will dramatically save time and money when that application is
localized into other languages.
Although more applications are now
being developed with internationalization in mind, all too many of them are
still being developed with no foundation for internationalization. Fortunately,
there is some good news for developers in the later category: many tools have
been developed to help localization engineers and programmers test and fix the
types of issues described in this article. Tools of this nature facilitate this
highly complex process, especially for repetitive tasks like extracting content
from an application.
No comments:
Post a Comment