Title: Software Localization
1Software Localization
Lecture 5
Dr. Gregory M. Shreve Institute for Applied
Linguistics
2Tools for I18N and L10N
Machine translation systems QA/testing/validation
tools Project management tools Term extraction
tools Terminology management systems Text
alignment/comparison tools Text analysis tools
Text editors Translation memory
systems Workflow management
Authoring tools Controlled language
tools Counting/costing tools Document / version
management tools DTP tools Engineering tools
(software) Resource extract / find / replace
tools Grammar and spelling tools Localization tool
Internationalization and localization can be
assisted by a number of specialized software
tools.
3Authoring Tools and Controlled Languages
These tools are used as part of efforts to
internationalize the large number of documents
(help text, user manuals, etc.) that are part of
a software package distribution.
Computer-assisted authoring systems (CAA) are
used in conjunction with controlled languages to
standardize the way that documents are written. A
controlled language is a form of language usage
restricted by grammar and vocabulary rules. CAA
systems can be used in conjunction with
controlled languages, specialized style checkers,
monolingual terminology databases and source text
memories to help internationalize the language
used in software documents.
4Machine Translation
Machine translation can be used successfully in
localization, but only if computer-assisted
authoring, controlled languages and standardized
terminology processes have been put in place as
part of the globalization internationalization
strategies of the software publisher.
Machine translation has not been used widely in
the localization industry, and this is largely
due to the way in which software publishers
develop their documentation Esselink, 2000 p. 360
5dependent
technical writers
controlled languages authoring systems
machine translation
help text
software documents
I18N
L10N
6Software Engineering Tools
These tools are used by software engineers or by
software engineers who specialize in
internationalization (internationalization
engineers) as part of efforts to
internationalize the actual software interface
(GUI). These tools include, of course, the actual
software IDE (integrated development environment
with its resource editors, program editor,
compiler and debugger) as well as some
specialized tools. Among the most common tools
are tools for finding, extracting and, in some
case, replacing localizable resources such as
bitmaps, strings, dialogs and menus.
7 C Code Not Internationalized
include main() int n char y5
printf("This program converts decimal numbers to
hexadecimal\n\n") while(1) printf("\nEnter
decimal number ") scanf("d",n)
printf("\nNumber entered is decimal and
hexa",n,n) printf("\nDo you want to
continue? ") scanf("s",y) if(strcmp(y,"yes"))
printf("\n exiting ..\n") exit()
strings are directly in code
source.c
8 C Code Extract Strings using Extract Tool to
Message File
include extern unsigned char
intl_m_msg(), intl_f_msg() main() int n
char y5 printf(intl_m_msg("","mypg",1))
while(1) printf(intl_m_msg("","mypg",2))
scanf("d",n) printf(intl_m_msg("","mypg",3),n
,n) printf(intl_m_msg("","mypg",4))
scanf("s",y) if(strcmp(y, (intl_m_msg("","mypg
",6))) printf(intl_m_msg("","mypg",5))
exit()
mypg.en
1 2 3 4 5 6
"This program converts decimal numbers to
hexadecimal\n\n" "\nEnter decimal number"
"\nNumber entered is decimal and hexa"
"\nDo you want to continue?" "\nexiting ..\n"
"yes"
source.c
9 C Code Translate Extracted Message File
include extern unsigned char
intl_m_msg(), intl_f_msg() main() int n
char y5 printf(intl_m_msg("","mypg",1))
while(1) printf(intl_m_msg("","mypg",2))
scanf("d",n) printf(intl_m_msg("","mypg",3),n
,n) printf(intl_m_msg("","mypg",4))
scanf("s",y) if(strcmp(y, (intl_m_msg("","mypg
",6))) printf(intl_m_msg("","mypg",5))
exit()
mypg.fr
""Ce programme convertit les nombres décimaux en
hexadécimal\n\n "\nEntrer le nombre décimal"
"\nLe nombre entré est décimal et
hexadécimal" "\nVoulez vous continuer?"
"\nSortie ..\n" "oui"
1 2 3 4 5 6
source.c
10 technical writers
controlled languages authoring systems
help text
software documents
I18N
L10N
resources
software internationalization tools
localizable software distribution
software engineers
11 Localization Project Management Tools
- After the localizable software distribution
reaches the localization vendor, the project
manager and his/her team will use varioustools to
manage the process of translation. They will use
and have access to many of the same tools the
translator uses, but will also use (not an
exhaustive list) - project management software to manage project
- enterprise editions of localization tool
(Catalyst) to prepare materials for localizers - document / version management software to manage
multiple versions, updates, changes - workflow management to know where in system
assigned work is at any time.
12project management tool
QA/testing/ validation tools
localizable software distribution
project manager localization engineer
L10N
localization tool (enterprise)
workflow management
document / version control
translators / localizers
13 Localizer / Translator Tools
- The project manager uses various software to
create a localizable distribution for the
translator to use. This distribution may take
various forms, but is increasingly reaching the
translator in the form of a localization toolkit.
An example of this is the Catalyst TTK file. The
translator may also receive the distribution as
word processing documents. The translator can
work on this toolkit using a translator version
of the localization tool (Catalyst Quickship) or
using an appropriate text editor or word
processor. They will also now begin to use the
usual computer-assisted translation (CAT) tools - Translation memory
- Terminology manager
14project manager localization engineer
localizable software distribution
localization tool (enterprise)
localization tool (translator)
translation memory
localization toolkit (distribution)
terminology manager
translators / localizers
15text alignment tool
localization tool (translator)
translation memory
localization toolkit (distribution)
terminology manager
translators / localizers
term extraction tool
The translation memory and the terminology
manager software databases may require further
assistance or processing. Term extraction tools
can be used to locate and extract terms from
documents to help populate a term database. A
text alignment tool can be used to create a
translation memory from previously translated
texts (that were not done in a TM environment).
16Localization Tools
- Localization tools group a number of important
localizing functions together for ease of use - Provide resource editing without the use of a
software IDE - Integrate resource editing with translation
memory and terminology manager functions. - Provide protection to software elements that
should not be changed - support workflow functions integrating with
localization project management (review, sign-off)
The focus is on supporting resource editng of rc,
res, and binary (dll, exe) resources. Some tools
(Catalyst) will support web page and help file
localization as well.
17static
Corel Catalyst AppLocalize Multilizer Passolo RC
WinTrans SDL Localization TransSuite
2000 AppleGlot (m) PowerGlot (m)
localization toolkit (distribution)
localization tool (translator)
Jargon
dynamic
Dynamic localization tools localize a tool while
it is running.
18Translation Memory and Localization
Localization is usually done with a translation
memory. The decision to use a translation memory
has to be made on the basis of volume and
repeatability. Do you have an expectation of
continued commissions from the same client, and
of stable domain and text type. A translation
memory may be made available to you from the
localization vendor.
localization tool (translator)
Trados STAR Transit Atril Déjà Vu SDLX Translation
Manager Wordfast (m)
A translation memory is a data bank in which a
source text and the corresponding target text are
recorded in the form of translation units. This
memory - the basis of CAT software - makes it
possible to find passages that have already been
translated automatically, or to find modified
passages that it then submits to the translator
for updating. For translation memory to work the
units have to be aligned.
19Alignment and Alignment Tools
Alignment is a process that consists of aligning,
i.e. creating equivalents, segment by segment,
between a source text and the corresponding
target text. The resulting table of equivalents
will then be used as a translation memory.
Alignment thus makes it possible to use previous
translations carried out without translation
support software. Even with the help of special
software programmes, alignment operations
nevertheless still require a considerable amount
of manual intervention. The decision to use an
alignment tool, like the decision to use
translation memory is a function of the job
parameters.
20Translation Memory and Localization
Translation memories are useful in software
localization because of the short life span of
versions / web sites. There are often multiple
short-lived versions with significant amounts of
reusable materials.
new version uses 70 same text
latest version uses 80 same text as previous
translation memory
Version 2
Version 3
20 change
30 change
Version 1
REUSABILITY / LEVERAGING
initial translation with TM tool
21Terminology Management and Localization
As a form of specialized translation, software
localization involves texts which are
terminologically dense. This is particularly
true of web sites with technical content, and of
help files and dialogs in specialized application
software. Terminology managers are typically used
in conjunction with translation memory. Related
to terminology management software or glossary
and dictionary managers, coordinating primarily
with word processors instead of TM.
Trados STAR Transit Atril Déjà Vu SDLX
Trados MultiTerm STAR Termstar Atril
Termwatch SDLX Translation Manager
22Different Materials in the Distribution
The software distribution from the vendor will
usually include a number of different kinds of
localizable materials. There are the RESOURCES of
the interface, the WinHelp, JavaHelp or HTML Help
files from the online help system, and there are
graphics embedded in both ( screen captures,
splash screens, buttons, etc.). A comprehensive
localization tool will handle most of these
different kinds of formats, but some file formats
may require special editors or the software with
which the file was created. The client or
localization vendor may also require the use of a
particular tool because of the way they have
structured workflow.
Multimedia
resource files (.rc and .res)
RTF files (WinHelp)
localization toolkit (distribution)
graphics
Text Files / WP Files / DTP
program files (.dll and .exe)
HTML files (HTMLHelp)