Main | Versão em português
Resources in Microsoft .NET

Internationalization expert Bill Hall offers an in-depth look into some localization techniques for the .NET programming environment.

Maturity Levels for Localization Suppliers

Following the publication of a report by Common Sense Advisory, Joergen Danielsen proposes a new classification for localization vendors.

Step-by-Step Localization
Eva Müller

Questions, answers and procedures for a successful localization process


Steps in localization projects range from “what is to be localized,” “who performs the localization” and “monitoring the localization progress” to “how to assure quality.” This article covers the essential questions to be answered before a localization project can be started and provides a step-by-step overview of the phases of a localization project.

Before You Start
Before you can start to localize a software product, you have to consider:

What has to be localized? A localization project can include localization of the user interface, the printed documentation and the online help or any combination of these three. If you restrict localization to the user interface, users will have to cope with two languages — the user interface language and the documentation language. This reduces the user-friendliness of the product.

Is my software fit for localization? The internationalization level of the software to be localized has an impact on the localizability of the software. Support of Unicode enables you to display any character. A fixed form layout complicates the localization process since you have to deal with truncated user interface texts and introduce abbreviations. Consider that graphical elements and color schemes are not universally applicable. Their meaning depends on the target language and culture. A fixed report layout leads to similar problems as a fixed form layout. When you integrate third-party tools, check if the tools are available in your target languages.

Has my documentation been written for localization? Documentation also has to fulfill localization requirements. The use of consistent wording is a time-saver and money-saver. Writing for an international audience means providing examples without local references. If documentation is compiled according to the single-source concept, various output formats can be provided from one source. Otherwise, you must localize your documentation per output format.

What are the target languages? Depending on the target languages, the translation can be performed by internal or external resources. If there was a previous similar translation from your current source language into the target language, you should use the translation memories (TMs) of the other translation.

Is my localization kit up to date? All information required for the localization must be provided as a localization kit to the translators. A kit covers all localization features and is target language-oriented. It includes a description of workflow and tools to be used and style guides for user interface and documentation. The glossary of terms with definitions serves as an introduction to the product and supports the translator in the terminology definition in the target language.

Text Box: Terminologia    Internacionalização. O processo de planejar e implementar produtos que possam ser adaptados a culturas e idiomas locais específicos facilmente. Às vezes, o termo é abreviado como i18n (i + 18 letras + n).  Localização. O processo de adaptar um produto ou serviço a uma cultura e idioma específicos e à aparência local desejada. Algumas vezes, o termo é abreviado como l10n (l + 10 letras + n).  Pseudolocalização. Um procedimento para verificar se todos os textos da interface do usuário foram internacionalizados. Acrescente um prefixo comum a todos os textos da interface do usuário, execute o aplicativo e verifique se todos os textos da interface do usuário estão começando com o prefixo. Textos da interface sem prefixo não estão internacionalizados.  Conceito de origem única. Documentação conforme com o conceito de origem única significa usar uma origem comum para fornecer a documentação em vários formatos de saída (manual impresso, Ajuda online).  Sistema de memória de tradução. Um sistema de memória de tradução (TM) é uma ferramenta de tradução assistida por computador. A TM armazena em unidades gerenciáveis o texto original e a tradução humana. O sistema de TM sugere a tradução sempre que uma unidade igual ou semelhante aparece novamente.

Phases of a Project
Phases in a localization project are project setup, translator training, terminology definition, user interface translation, test of user interface translation, documentation translation, review of documentation translation, finalization of documentation translation and lessons learned.

Phase 1: Project setup. The basis for managing any project, including localization, is the project plan. Set up your project plan with milestones, time buffers and constraints.
To estimate the effort, count the words of the user interface and the documentation to be translated; add times for translation preparation and review.

Typical milestones are preparation of user interface translation, translation of user interface, test of translated user interface, preparation of documentation translation, translation of documentation, review of translated documentation, completion of documentation translation, compilation of online help and test of translated online help.

Include time buffers to each task to avoid running out of time. The buffer length depends on the task itself. If your effort estimation is quite rough, provide a longer buffer than for a task that can be estimated closely. For example, terminology definition for a new product in a language you have not supported so far will take more time than definition of new terms in an already supported language for which the terminology research has not been complex in the past.

Constraints such as project end, money and resources apply to each task.

Phase 2: Translator training. A translator’s first contact with your software should not be the translation of a context-less list of words. Instead, train the translators in the software to be localized.

Invite the translators to your site to participate in a standard user-training course or provide translators’ training. Use this training to establish a relationship on a personal basis. Because the translators might reside in another time zone, country or even continent, the training could be a computer-based training, a simulation or a demonstrator version located on your website.

If you cooperate with a translation agency, provide a teach-the-trainer course in order to train a representative of the translation agency. The representative will then train the translators. The representative will also provide a first-level support for the translator’s problems and will contact you only if he or she cannot solve a translator’s problem.
In addition to the training, introduce your localization kit so that the translators become familiar with your style guide and the workflow they should follow.

Phase 3: Terminology definition. In project documents with yet undefined terminology, the use of a consistent terminology will only be achieved after various cost-intensive iterations. Define the basic terminology to be used for translation of the user interface and the documentation. The basic terminology includes button labels, menus, functions and concepts used in the software.

Phase 4: User interface translation. After defining the basic terminology, start to localize the software. User interface localization can be performed with support of a localization tool or by translating string resource files. Software localization tools work the way translation tools do, with the segmentation rules applying to user interface strings rather than to sentences. A software localization tool supports the user in the definition of unique menu hotkeys and offers to display the form currently being localized.

When the software can only be localized by translating string resource files out of context, additional information must be provided to the translators. The localization kit should include a description of the syntax of the string resource files and how to deal with control characters. Add comments to the entries in the string resource files to provide their context. To ease the interpretation of context-less strings, provide screen captures in the source language.

Always reserve time for translators’ questions.


$set 5

7   "d" $international unit for precision (digit)

16  "DISY Integrated Weighing" $do not edit or translate

54  " Scale " $first and last character must be spaces

59  "Error" $dialog box title

Terminology databases
Context-less string resource with comments

Completeness of user interface translation


# Originator







Source text, chapter1.doc, p.12, index entry: Prnt -> Print

2 Internal



Description of parameter “Printer assignment”, chapter12.doc




Comment occurrences of “copy”, noun vs. verb

Lessons learned log

Consistent index entries

Phase 5: Test of user interface translation. To achieve your own product requirements, it is essential to thoroughly verify the localized version of your software. The user interface’s translator should preferably perform the test of the localized user interface. The tester must turn his or her attention to a wide range of topics.

A complete localization is only achieved if all controls (button labels, tooltips, menus, field labels and system messages) are translated.

Hotkeys and shortcuts for menus and dialog controls must be unique within their scope. Naming of forms and controls must be consistent. Do not switch between different naming schemes such as Master data of user vs. Calendar master data. Use either Master data of user and Master data of calendar or User master data and Calendar master data.

Check messages for consistent wording. This requires consistent wording in the source language since the translator cannot know that you mean the same thing when you use different terms.

Since text length varies in different languages, a visual check of all forms and reports is required. This check ensures that text is not truncated due to its length.

A further visual check covers the display of language-specific number and date formats.

Phase 6: Documentation translation. If you localize both the user interface and the documentation, you should finish and verify the user interface translation before starting translation of the documentation. Each modification of the user interface translation requires repetition of testing that translation with all its checks. So, provide enough time for the tests of the user interface translation.

For reference purposes, the translator needs the localized software or the entire system as screen captures. As a first step to achieve consistency between system and documentation, import the localized user interface texts into the TM that you will use for the documentation translation. And always reserve time for translators’ questions.

Phase 7: Review of documentation translation. Your documentation quality and usability requirements also apply to localized versions. If possible, a translator other than the documentation’s translator should review the translated manuals.

In addition to the linguistic check, the review must ensure the consistency between user interface and documentation. This consistency is important. It supports the user in locating the description of a user interface’s form in the manual and vice versa.

Consistent wording throughout the whole manual improves the navigation in both the printed version and online help. If you write Click OK to close the data form and To close the data form click the OK button, the translator might be misled and assume different concepts because of the different wording.

Another documentation component used for navigation is the index. Misdirection and less user-friendliness will be consequences of inconsistent index entries.

Phase 8: Finalize documentation translation. After completion and review of the documentation translation, you can finalize the documentation.

Insert the graphics in the documents, perform the final formatting, update the table of contents and index and compile the online help.

Phase 9: Lessons learned. This phase applies to every project, not just localization projects. Review your lessons learned log.

Check the translators’ problem reports and questions to identify possible enhancements that may apply to your processes, workflow or your source-language documents.

Text Box: Lista de itens de projetos de localização    ü	Forneça todas as informações aos tradutores para minimizar os mal-entendidos.  ü	Identifique os riscos e leve-os em consideração no planejamento do projeto para estabelecer um plano realista.  ü	Use a regra básica - interface do usuário: 30%, documentação: 70%, em um cálculo aproximado.  ü	Defina um arquivamento de documentos consistente para os vários tipos de arquivos (recebidos, enviados, pré-testados, testados e versão final).  ü	Execute uma pseudolocalização dos textos da interface do usuário antes da localização para identificar textos não-localizáveis.  ü	Atualize o kit de localização para fornecer aos tradutores as informações adequadas.  ü	Mantenha o histórico das lições aprendidas a fim de reunir possíveis aperfeiçoamentos para os futuros projetos de localização.  ü	Responda rápida e eficazmente às perguntas dos tradutores para manter o processo de tradução em andamento.  ü	Verifique o cronograma e providencie uma reserva de tempo para evitar ter que lidar com tarefas no caminho crítico e atrasar o projeto.

Continuous Tasks
You should continuously execute several tasks while your localization project is running.

Always monitor the localization progress and check the actual time and effort against your project plan on a regular basis so that you will always be up to date and able to adjust your project plan in time.

When receiving translators’ problem reports, answer promptly. This will be the basis for a good cooperation between you and the translator. Also check the questions for misunderstandings. The translator is the first user of your user interface texts and documentation and therefore acts like a guinea pig. Depending on the kind of misunderstanding, you will have to update your user interface text and documentation. Enter every incident in your lessons learned log on a regular basis. Do not wait until the project is completed. You will certainly miss some entries. Annotate the entries with meaningful descriptions.

Check all partial delivery and the translators’ problem reports for consistent wording and spelling of the translated text. Testing at an early stage is the key to reducing costs.

The following statements will help you to establish a professional localization process.

Early centralized definition of the terminology to be used helps to prevent multiple correction iterations. Iterations require the repetition of several steps.

The user interface must have been thoroughly tested before documentation can be translated or you will risk creating correction tasks for a not-yet-completed translation.

Full briefing of external resources usually saves time. Terminology definition without context will definitely lead to faulty terms.

Localization cannot fix all defects of the source version. Wrong terms in the source language can be replaced by correct terms in the target language. On the other hand, a non-localizable string remains non-localizable. Be aware of differences in text length in your target language.

Page breaks and the number of pages vary from language to language. User interface texts must be shortened, especially when you translate from English into Romanic languages. Talk to developers at an early stage if localization is difficult or even impossible so that the situation can be solved. High quality in internationalization and localization reduces the effort for customer support in the long run.

Reprinted from MultiLingual magazine (2005, #75 Volume 16 Issue 7) with permission from Multilingual Computing, Inc.,

Eva Müller is an information developer at Rockwell Automation/Propack Data.

Main | Versão em português