English|中文|Deutsch|Español|Français|Indonesian|Italiano|日本語|Português|Pycckий

Three Pointe Dr.
Suite 301
Brea, California 92821
U.S.A.

Tel.: +1 714.671.9180
Fax: +1 714.671.9188
Toll Free (U.S.)
+1 888.472.2001

 

The Global Advisor Newsletter -  Tips for improving the process and reducing the cost of website localization. Bringing Medical Devices to Market - Useful links. Celebrating notable anniversaries...

Features articles of interest on language translation and localization, culture, language technology and other related topics. The goal of the Global Advisor Newsletter is to inform and entertain.

Other Editions

  Print this page

Forty-Fifth Edition - Beyond Translation(1) – Software Localization

Although English continues to be the dominant language for software applications, software developers are increasingly interested in tapping new into opportunities in the global market with applications adapted to a multicultural, multilingual audience. Making a product linguistically and culturally appropriate to the target locale (country/region and language) where it will be used and sold is called localization, and when the product is software, software localization.

Ideally, the process of localizing software begins at the moment when the program and the associated documentation are initially designed and developed. The resulting product should be able to handle multiple languages and cultural conventions without the need for re-design. In the industry, this is called globalization.

The goal of software localization is to develop multilingual applications that offer a consistent ‘look and feel’ and functionality across all language versions. Consistent terminology is also a key success factor. The purpose of this newsletter is to provide a very brief introduction to the software localization process.

The Software Localization Process - An Overview

What needs to be translated?

In general, the process of localizing software includes the translation of the GUI (Graphical User Interface) components of the software and all associated documentation (Online Help, and user instructions). Included are:
 
bullet Menus: A menu is a list of options from which you can make a selection and then perform a desired action, such as choosing a command (like Save As) or applying a particular format to part of a document (source: Microsoft). It can take the form of a listing of major categories with subcategories under it.
 
bullet Dialog boxes: A dialog box is a small window that appears on the screen to request input from the user or provide information to the user. It typically allows users to change options or settings.
 
bullet Strings: A string is a sequence of characters. Depending on the implementation, strings may contain error messages, alerts, status messages, questions, tips, etc., used in the application. The translation of user interface strings is the most challenging because, unlike menus and dialog boxes where the translators are able to see the text in context, software strings usually lack contextual information.
 
bullet Pop-up Tool Tips: These are pop-ups that come up when the user runs the mouse over a button. In some cases, the text for these pop-ups is contained in separate files.

Refer to the screen below for an illustration of translatable software components. As you can see, they include the document title, menu tree, dialog box title, dialog box options and fields as well as buttons.
 

What may not need to be localized:
 
bullet System Messages: Messages such as “Do you want to continue?” “Do you want to cancel?” may be embedded in the user's operating system, so they will be automatically localized based on the language setting of the OS. If this is the case, these messages do not need to be pulled out and submitted for translation.

Submitting Files for Translation

Since the associated documentation usually contains many references to the software, it is recommended to begin the software localization project with the translation and review of the User Interface.

Software files can be submitted for translation in various formats requiring different tools for editing. The choice of editing tool is usually determined by the software developers. The following are some examples:

bullet Resource files (.rc or .dlg files) are text-only files that contain all translatable software components, such as menus, dialog boxes, messages, etc. The translatable text in the software components can be edited with a text editor or word-processing program, such as Microsoft Word. After translation, the files need to be compiled into binary program.
 
bullet Compiled program files (.dll and exe) are binary files that contain the software components. The translatable text in these components may be accessed with a software localization program or resource editor. The advantage of working directly with the compiled program files is that it is possible for the localizers to see how text expansion will affect the layout of the user interface.
 
bullet Spreadsheets: Text may be extracted from the software components by the software developers and organized into a spreadsheet. When the translation is finished, the process is reversed to integrate the translations into the software.

In general, the software localization process requires the use of one of these tools:

bullet Text editor
bullet Resource editor
bullet Translation Memory tool
bullet Software localization tool

Regardless of the tool selected, it is important to filter to the user interface elements and encoding, so translators can access only the translatable text.

Software Resource Editors

These are utilities that facilitate viewing and editing resources in binary files. They may also include a resource script compiler and decompiler. There are a number of these utilities available - some are shareware.

Software localization tools

These tools typically support the editing of both text-only resource files (such as .rc or .dlg files) and compiled program files (such as .exe or .dll). They also provide:

bullet Translation memory and glossary development capabilities
bullet Spell checking and validation functionality
bullet Filters for software code
bullet Markers that indicate which strings have already been reviewed and approved, which ones have been reused from a previous translation and which ones are new and require review.

Translation Memory (TM) tools

These tools, such as TRADOS and Alchemy Catalyst, are used to create a Database of translated software terms that can be applied to the translation of future versions. This not only saves translation cost and time, but also facilitates the process of ensuring the consistency of terminology that is key to the success of a software localization project.
(For more information on TM tools, please refer to our html presentation)

Editing Resource Files - A few editing guidelines

bullet Quotation marks: Software developers usually place text strings within quotation marks. Therefore, the use of quotation marks within strings should be avoided. If you must use quotation marks within strings, such as in (“Click "Quit" to exit"), use a different notation, such as double quotes ("Click ""Quit"" to exit") or \” ("Click \"Start\" to enter"). It is also important to ensure that all leading and trailing quotation marks are left intact, as well as leading and trailing spaces. Removing the trailing space from "Quitter " could produce “Quitterinstallation”.
 
bullet Ampersands (&): These are reserved for hotkeys (&Schließen, &Fermer, &Close) therefore they should be avoided in running text. If it is necessary to use “&” to shorten the text in a button, for example, use a different notation, such as “&&”.

Do not translate (unless otherwise requested by the software developers):

bullet File names and extensions (e.g. readme.txt)
bullet Strings defining the date and time format, such as “mm/dd/yyy hh:mm AM/PM”
bullet Words in all caps, such as "RUNTIME", "STRINGTABLE"
bullet Words joined with an “_”, such as "visible_in_edit", "value_name"
bullet Words joined together, such as "SysAdmin", "valuedesc" (they may be used as “place holders”)

Quality Review

After translation, the software should be carefully tested. The user interface usually has a complex structure and contains a lot of text. Therefore, to ensure that all files are located and tested, localization testing should be performed using a tree structure or flowchart provided by the software developers.

Localization testing includes:

bullet Linguistic Testing
bullet Cosmetic Testing
bullet Functionality Testing
bullet Delivery Testing

Linguistic Testing: Focuses on the language aspects of the localized application and includes verifying that:

bullet the translation is complete and makes sense when viewed in context.
bullet text in dialog boxes and menus is not truncated.
bullet grammar, spelling and punctuation are correct.
bullet all text wraps, sorts and hyphenates according to the rules of the target language.
bullet accented characters display and print correctly.
bullet hotkey or control key assignments are consistent with operating system standards.
bullet concatenated strings and strings with variables display correctly in the running application.
bullet icons or graphics are appropriate for the target language market.

Cosmetic Testing: Focuses on the appearance of the localized application, such as dialog boxes, menus, reports and messages. It includes verifying that:

bullet the localized version includes the menus, options and commands as the source version.
all extended characters display correctly (some languages, such as Japanese and Chinese, use character sets that are larger than the range of values of type char.)
bullet the text in dialog boxes, buttons, menus, etc., is not truncated.
bullet hotkeys in dialog boxes and menus are not duplicated.
bullet all user interface items, such as menus, messages, dialog boxes, fit in the screen at all required resolutions.
bullet the visual aspects of the application are aesthetically acceptable; i.e., buttons are properly aligned, control boxes and buttons are consistently sized; the tab order of options in the dialog boxes matches the order of the source application, and so on.
bullet

regional settings are correct for the targeted locale, i.e., decimal separators, date and time formats, etc.

Functionality/Compatibility Testing: Focuses on finding bugs in the localized application. This is not a standard task in a software localization project, and does not have to be performed by the localizers. Clients may select to use their own software testers. This type of testing is not concerned with the linguistic aspects of the localized application, but with the code. Testers check the software compatibility with other localized versions to ensure that the target application mirrors the functions of the source language software.

Delivery Testing: Consists in verifying the functionality of the deliverable, and that all client-instructions have been followed, all updates have been implemented and all deliverable requirements such as file formats and file and folder structures, have been met.

References: "A Practical Guide to Localization", by Bert Esselink


(1) Editor’s Note: This is the first newsletter of a new category - “Beyond Translation”. It will focus on the challenges of merging translation and technology, for example in the localization of interactive products, such as software, games, and websites. This category will include also articles on productivity-enhancing tools and technologies applicable to the translation of publications created with high-end publishing softwares, such as QuarkXpress and InDesign.)

Join the InterSol, Inc. mailing list
Email:
 

Copyright 1996 - 2008 InterSol, Inc. All Rights Reserved