You are on page 1of 35

Software Localization Tools

Daminda Perera 04/04/2009

Resources

"A Practical Guide to Localization" By Bert Esselink (Bert Esselink has been active in multilingual publishing projects for over a decade) Dr. Thomas Wamer's Independent Software Reviews Comparing Tools Used in Software Localization" by Thomas Wamer LOCALIZATION READER 2003-2004 Localization Research Centre, CSIS Dept, University of Limerick, Limerick, Ireland Localization Trends (investments)

(http://www.localizationworks.com/DRTOM/Localize.html)

Lets discuss

Localization Localization Tools What do localization tools do? How to select the localization tool? Localization Vs Translation Localization tools (examples) Comparing Tools Used in Software Localization

Localization
"localization involves taking a product and making it linguistically and culturally appropriate to the target locale where it will be used and sold". Esselink (2000:3)

What does that mean?


linguistic content is culturally appropriate

graphical elements are culturally appropriate, too


units of measurement are appropriate & consistent

Is it a new industry? relatively: less than 20 years old What is being localized?
software documentation websites

advertising material

etc

Localization
involves taking a product and making it linguistically and culturally appropriate to the target locale (country/region and language) where it will be used and sold. (LISA)

means the linguistic and cultural adaptation of digital content to the requirements of a foreign market (Schler 2005) is the adaptation of products or services to the cultural, legal, linguistic, and technical requirements of a specific locale. (Lionbridge)

L10n Translation

Freelance, 28-year experience: Translation is not to be considered as being identical with localization. The last one implies an adequate, thorough knowledge of the culture, habits & the worldview of both the nations language from/into which one has to translate. Freelance, 10-year experience: Translation means the exchange of words and sentences from one language to another, whilst localization also implies an adaptation of the text to fit the reader profile. Freelance, 6-year experience: Localization is more than translation. The translator has to do more than just translate a text from a source language into one or more target languages. He/she has to adapt everything to the specific local conditions, that is, to localize. Freelance, one year experience: They are not the same thing. With localization, the text is adapted to the target group / country, and not just translated.

Localization 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 editing of rc, res, and binary (dll, exe) resources. Some tools (Catalyst) will support web page and help file localization as well.

Localization Tools

In general, localization tools are highly specialized applications for the Localization (L10N) of software. The main source and target formats: resource files (RC) or binary files such as EXE or DLL usually do not contain long translatable text strings surrounded by non-translatable code. Localization tools have to extract these short strings properly, provide a convenient graphical user interface (GUI) for the translation of the strings and save the translations correctly back into the surrounding code. In this process, special attention has to be paid to controls embedded in the translatable text like ampersands (&) and shortcuts (e.g. Alt+D), which have to be translated both unique and easy memorable. Another specialty of software localization is that translated strings should be about the same size as the original text. This is because the translated text needs to fit into the appropriate spaces of dialog windows.

Localization Tools (Contd)

If a size-equivalent translation is not possible, resizing procedures for the dialog boxes have to be offered. Real complex translation memories are usually unnecessary for short text strings. A bi- or multilingual terminology base or glossary is usually sufficient. In contrary, software documentation files (Windows Help format HLP, HTML Help format CHM, Web pages HTML or Adobe Acrobat PDF) contain much more translatable text in much longer text strings. These files are usually better handled by a translation memory (TM) software, which memorizes already used phrases, typically segmented by fullstops, and enable their recycling. TM software usually implements some fuzzy match algorithm to identify the degree of concordance between a new and an already translated segment and allows their insertion into and editing in the authoring environment.

What do localization tools do?


Work with a wide range of file formats, separating localizable content from formatting info or code Allow non-IT gurus to set up and manage localization projects Enable creation of projects with as many source files as necessary Ensure confidentiality of source and target products Reduce the workload of computer programmers Provide statistics useful for quotes Work with exact/fuzzy matches (like TM tools) Are capable of exchanging information with TM tools (dictionaries, translation memories, source segments)

Selection of Localization tools


Client Requirements: Which deliverables are required by the publisher what is the format of existing translation memories? If the Publisher is to supply the localization vendor which translation memories. Supported Languages: Each tool supports different feature sets and language sets. Make sure all target languages for current and possible future projects are supported by the tools chosen. Source file format: Each tool has different filter sets and parsers for supported files formats. Ensure that the source file format used in the project is supported. Support: How much support will be required for the translators using the tool? Will it be possible to support them fully? Costs: How many product license are needed? Are they available, and if not how much will the additional licenses cost? Alignment: If previous translations do exist, but no translation memories, the translated files need to be aligned in order to create a translation memory. Network Support: Does the tool allow translation memories to be shared over network? Which network protocols are supported? Customization: Does the tool contain features that enable the users to customize standard filter quickly or create filters for custom file formats?

Translation 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 SDLX Translation Manager Wordfast

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.

Translation Memory and Localization


Translation memories are useful in software localization because of the short life span of versions / web sites. There are often multiple shortlived versions with significant amounts of reusable materials.
new version uses 70% same text

translation memory
30% change

latest version uses 80% same text as previous 20% change

Version 2

Version 3

Version 1

REUSABILITY
Initial translation with TM tool
9/21/2013 13

Without localization software

DEAA, Faculdade de Letras da Universidade do Porto 5 June, 2007

With localizatio n software e.g. Passolo

DEAA, Faculdade de Letras da Universidade do Porto 5 June, 2007

DEAA, Faculdade de Letras da Universidade do Porto 5 June, 2007

Localization Tools

Alchemy CATALYST: Alchemy CATALYST is an integrated translation environment with powerful project management features. PASSOLO: PASSOLO optimizes the complete software localization process. It ensures easy compilation, exchange and processing of translation data. RC-WinTrans: Full featured translation environment to localize the Graphic User Interface (GUI) of Microsoft Windows software. TRADOS: TRADOS has been developing open platforms for multilingual content management and is well positioned as the Global Market Leader in Translation Technology. STAR Transit & TermStar: A Comprehensive Infrastructure for the Globalization of Product Information.

Alchemy Catalyst

World-leading visual translation environment Developed in 1995 On sale since 1997 Recognized Industry Leader in Visual Localization Solutions
ClientSide Excellence Award Software Localization Tools 2003 & 2004 Software Industry Award 2003 : Best Software Localization Solution 2003 Golden Globe Award 2002 : Best Software Localization Solution Golden Globe Award 2002 : Best Localization Technology 7 of the top 10 largest software publishers use Alchemy CATALYST in their localization process
Siebel - Largest CRM Company uses Alchemy CATALYST Microsoft - Worlds Largest Software Company recommends Alchemy CATALYST for .NET Applications GlobalSight - Worlds Leading GMS uses Alchemy CATALYST Canon - Largest manufacturer of Printers/Digital Camera Technology GE - Worlds Largest Corporation

Used by over 10,000+ clients worldwide Complete solution for software localization

Suite of visual editors QA / Verification tools Software engineering tools Project Management functions

Supports over 70 file formats

Alchemy Catalyst

An integrated translation environment with powerful project management features. Supports all Windows program ( DLL, EXE, INI), resource files (RC) and help files (RTF, CNT, CPP, HPP), as well as XML/XHTML based files and Internet applications. CATALYST includes several visual editors which work in a WYSIWYG manner. Each visual editor can validate translations automatically. In addition, glossary support and spell checking are included in all editor environments. QA of large localization projects is supported by a suite of tools ranging from layout, clipped text and duplicate hotkeys validation to the detection of missing parameters or controls and spellchecking. Another helpful tool is the Runtime Validation Expert, which detects errors introduced by dynamic dialogs and text substitutions as your translated software is running. This frees up your QA to focus on functional rather than cosmetic testing of your localized product.

Alchemy Catalyst

Software Engineers can develop custom editors and validators using the CATALYST Software Development Kit (SDK). Any text file can be parsed and included into the Translation Environment by using CATALYST's Text Parser Expert. Support for JavaScript, CGI, Pearl, ASP and .NET is provided through Alchemy's source file editor. Furthermore, CATALYST's Visual Comparison Expert enables engineers to determine the differences between product revisions and their impact on QA and translation schedules. CATALYST incorporates a number of essential project management tools ranging from basic word count reports to more complex update word counts. Such reports can be used to scope the cost, time and complexity of localization projects in order to priories resources. A memo function enables you to send messages to translators and track revisions and translation histories. CATALYST's internal TTKs (Translation Tool Kits) format can be exported into the industry standard translation memory interchange file format (TMX).

PASSOLO

PASSOLO is a specialized translation environment for the localization of Windows-based software. It focuses on the translation process itself providing professional translators with all necessary tools to ensure an easy compilation, exchange and processing of translation data. PASSOLO was designed to allow an open workflow architecture thus fitting into almost all localization scenarios. The software supports applications (EXE, DLL or OCX) programmed in Visual C++, Visual Basic, Borland Delphi and Borland C++Builder as well as Pocket Windows. Using free downloadable macros, PASSOLO also supports Java .PROPERTIES and text files such as Windows INI files. Optional Support of 16bit Windows executables and databases available. In order to extracting only the strings that can be translated while protecting the application from unintended modifications, PASSOLO intentionally does not support the translation of resource files (RC). Integrated editors for dialogs, menus, bitmaps, icons and cursors.

PASSOLO

Update feature: PASSOLO allows an easy updating if sources were changed. New or changed text is marked and can be filtered in order to make sure that only changes and additions are translated. Attributes like the size of controls in dialogs are automatically adjusted. As the update process uses resource IDs to identify the corresponding resource entries, texts with more than one translation will always be assigned correctly. Alignment tool: By visual alignment PASSOLO can reuse translations which were previously processed using another localization tool. Fuzzy Matching: PASSOLO can simultaneously use several general or project-oriented glossaries which can be individually created by the user. It is also possible to look up translations in a current translation list or in translation lists of other programs. Fuzzy Match displays all concordances between a translatable text string and the selected glossaries within a customizable fuzzy match percentage.

PASSOLO

PASSOLO's test features detect typical localization errors like missing translations, missing or duplicate access keys and short cuts respectively, truncated texts in dialog controls and overlapping controls. Using the test feature and the functions to resolve some of the errors automatically dramatically reduces the time needed for quality assurance. Hard-coded text, insufficiently sized text buffers, wrong font settings and similar programming errors can be identified easily by Pseudo Translation. The Translation Simulator can also be used to check if all texts that must not be translated are marked as read-only. Add-In technology for customer specific Export/Import filters and nonstandard resources in the Professional Edition. The Professional Edition of PASSOLO allows for data exchange between PASSOLO and other tools through Add-Ins. Presently, Add-Ins for the translation memories (TM) TRADOS and STAR Transit are available. Additional interconnectivity can be programmed by the user or on individual request by the PASSOLO development team. PASSOLO supports OLE-Automation, allowing most of its functions to be controlled from external applications like workflow management systems.

PASSOLO

The Statistics feature of PASSOLO helps both freelance translators as well as localization managers by calculating translation volume and project progress. Translated text, nontranslated text and repetitions are counted separately. Statistics can be performed per file, per language or per project. Using macros functions, PASSOLO is completely customizable: new functions can be added, and PASSOLO can be integrated with other tools. The creation and editing of macros is even for non-programmers an easy task thanks to the Sax Base Engine (www.sax.net) which is fully integrated into PASSOLO's Professional version. Macros can also be used for developing parser to support additional file formats. On Passware's web site, a couple of such macros e.g. to support the translation of databases are available.

RC-WinTrans

RC-WinTrans supports the localization of the Graphic User Interface (GUI) of Microsoft Windows software consisting of dialog boxes, menus, string tables, accelerator tables and bitmaps. RC-WinTrans conveniently translates Windows resource script files (.RC, .DLG, .RC2), Program files (.EXE, .DLL and .OCX) as well as Java .PROPERTIES files, simple C/C++ text definition files (.H), Windows INI files (:INI) and InstallShield stringtable files (.SHL). The application presents the source text and additional columns for each target language in a clear table view. It is also equipped with a built-in dialog box layout editor to adjust dialog boxes and dialog box items according to the requirements of the target text.One specialty of RC-WinTrans is the support of ActiveX controls used in dialogs. After extracting all text out of the ActiveX controls, there is no need to distribute and install the ActiveX controls in a distributed translation. Another advantage of using RC-WinTrans is the Change Control which tracks changes in the source file and points out where they affect existing translation(s). Changes are made visible to the translator and only the modified or new text elements need to be translated.

TRADOS

TRADOS specializes in terminology management and translation memory software. TRADOS consists of integrated editors and tools for Translators, Localization Engineers and Project Managers. The software supports a variety of file formats such as: ASCII- and ANSI-Text (TXT), Word documents (DOC and RTF), help files (RTF), resource files (RC), Microsoft PowerPoint Presentations, as well as tagged text file formats, including XML, SGML, HTML, FrameMaker, Interleaf, QuickSilver, QuarkXPress, PageMaker and Ventura. Through a currently free add-on (TWindow for Executables) it is now also possible to translate the text contained in executables (EXE), dynamic link libraries (DLL) and ActiveX controls (OCX). The TRADOS 5 system contains: WorkSpace: This is a new feature in TRADOS 5. WorkSpace is the central intuitive interface of TRADOS 5. With the advanced cross-application integration, WorkSpace serves as a powerful task-based launch pad for the individual TRADOS components. However, its main task goes much further, including a feature-rich project management, distribution of formatted packages to external coworkers and reintegration of packages after accomplished tasks, as well as automated batch tasks for conversion, analysis, pre-translation and statistics. XTranslate: This is another new feature in TRADOS 5, which enables project managers to transfer approved translations automatically from previous versions of bilingual documents into new versions of source documents. Translation Units (XUs) created by XTranslate are not touched during interactive or batch translations. Conversion and filter components for processing the most widely-used DTP and tagged text file formats, including XML, SGML, HTML, FrameMaker, Interleaf, QuickSilver, QuarkXPress, PageMaker and Ventura. These components are accessed through

Comparing Tools Used in Software Localization

SDL(PASSOLO) 2006 annual report

Thank you Any questions (simple)?

C Code: Extract Strings using Extract Tool to Message File

#include <stdio.h> extern unsigned char *intl_m_msg(), *intl_f_msg(); main() { int n; char y[5]; EXTRACT TOOL 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))) { mypg.en printf(intl_m_msg("","mypg",5)); exit(); 1 "This program converts decimal numbers to hexadecimal\n\n" } } 2 "\nEnter decimal number:" } 3 "\nNumber entered is <%d> decimal and <%x> hexa"

source.c

4 5 6

"\nDo you want to continue?"


"\nexiting ..\n" "yes"

9/21/2013

34

C Code: Translate Extracted Message File


#include <stdio.h> extern unsigned char *intl_m_msg(), *intl_f_msg(); main() { int n; char y[5]; EXTRACT TOOL 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)); mypg.fr exit(); } 1 ""Ce programme convertit les nombres dcimaux en } 2 hexadcimal\n\n } 3 "\nEntrer le nombre dcimal:"

source.c

4 5 6

"\nLe nombre entr est <%d> dcimal et <%x> hexadcimal" "\nVoulez vous continuer?" "\nSortie ..\n" "oui"
9/21/2013 35

You might also like