|
|||||||
|
![]() |
![]()
|
![]() |
Building a Localization Kit
See also: Preparing
for Translation - Part II of Series. The Localization
Kit
TARGET AUDIENCE This document was created to address a typical common problem afflicting localization managers, localization vendors, and project managers. This document is intended for readers with years of experience in the localization industry, as well as for newcomers. However, it is not intended to be comprehensive. The goal of this document is to be a useful reference for the target readers and provide a few guidelines to help them set up and maintain a localization kit for a product that make their job easier. Finally, just remove or ignore the sections specifically devoted to localization to have the instructions for building a translator’s kit instead. This document is the result of eightee nonths of research, retrieval, and collection of information: comments, feedback and suggestions from target readers would be appreciated. GENERAL NOTES A localization kit is a subset of tools, instructions and resources necessary to produce a localized version of a software product. For a localization project to be executed properly, localizers, testers, and engineers are to be provided with a thorough and well-designed localization kit. Since the quick release of localized software requires that translators begin work early, and developers can have a significant impact on translation, a localization kit will allow translators to work more independently because they can check their work as they go. The final quality and the success of a localization project depends on the amount of knowledge that is transferred to the localization vendor. This knowledge affects:
An effective localization kit offers a relatively easy solution to these challenges, and is one of the best things to do to ensure that the localization vendors have everything they need to get the job done efficiently. Although demanding, assembling the localization kit and writing the localization guide of a product is a one-time task that always pays off. RATIONALE Localization-friendly code allows developers to involve service providers in the process more quickly, easily and conveniently. A localization kit provides the material that serves two functions in the localization process:
A good localization kit is:
Ideally, corporate guidelines and a checklist for the development of a localization kit should be created, so that the kit remains consistent regardless of the manager or product. This will help ensure a high quality kit, eliminate time spent on reworking, and enhance the efficiency and scalability of localization processes. In addition, in the case of a long-term relationship with a localization partner, turn-around time on the generation of localization proposals/plans should shorten and projects can commence sooner. Ideally, a localization kit should be created after the primary version of the software has been code released to include all up-to-date resources and code, included, and should stand on its own. But, when sim-ship (simultaneous shipping of localized and primary versions) is required, a localization kit will be needed before the primary version is code released. By providing a complete set of files and requirements when requesting a proposal from a localization partner, a company is able to ensure that the scope of work resulting from the analysis will be correct and that the cost and turnaround time estimates will be accurate. The localization kit can then be easily used to kick-off the project with a clear understanding of the scope and requirements. The kit can also be used to ensure that the materials returned are as complete as possible and useable right away. This completeness is vital to the success of the localization effort. The localization kit helps you get organized. It documents the project requirements that otherwise may be lost during the transfer of information to the vendor, in a well-organized document tree with fully functional files, and serves as a central repository for the information needed to localize a product and enables anyone in an organization to easily assume responsibility for managing a project and immediately having the necessary information to request an analysis or start the project. THE CONTENT STRUCTURE OF A LOCALIZATION KIT The localization kit should be arranged during the pre-localization design and implementation stages for project evaluation and analysis with a very simple point: no one likes surprises, that is, missed deadlines and budget overruns. Moreover, since most software localization projects involve a large number of target languages, getting the translation kit right from the start would prevent many similar or identical questions from the various translators. Each localization kit differs depending on project requirements, but, in all cases, the more information is provided at the outset of a project, the more problems will be avoided later. Typically the localized version of a product should only contain translatables and configurations for the locale and not the binaries or libraries of the product. A well-assembled localization kit should contain all the final resources needed by localization vendors to create a localized version of the software without assistance from the original development team. The vendors should be able to use the kit to get the resources translated, integrated, and tested without assistance from the development team, and if the software code is localization-friendly, it is unlikely the source code will be needed to create the localized versions. Therefore, a localization kit should contain the files to be localized, identified and prepared for translation (the binary files and the resource files), along with instructions, guidelines, indications, and notes from the developers to project team members on how to deal with the various files and file types. It should also provide background and contextual information about what is being localized. Whatever the product, a fully functional version (at least a beta version) of the running software should be included. Finally, a localization kit should contain all the tools required to work with the files. ORGANIZATION OF A LOCALIZATION KIT Generally, a good practice to organize the files centrally, as everything to do with them is to be done as many times as the number of languages into which these files are to be localized. Therefore, a well-organized file tree pays off when the vendors have to fix all the broken cross-references, missing files, and broken graphics; and they will do it differently for each language! The reorganization of files in preparation for localization can partially be expedited by creating a list-of-references file where the location and properties of each file are reported when the first “build” is made. A CASE (Computer Aided Software Engineering) tool can help, and the list-of-references file can then become the foundation of the localization kit’s BoM (Bill of Materials). Not all projects may have all components, so not every project will have every component on the list. Often some components may not be available at the time an initial kit is prepared for analysis and proposal requests, but will be available when the project starts. If some components cannot be included in the first kit but are expected to be part of a project, it is a good idea to include whatever information is available about them, even if it is somewhat vague. Ideally, to ensure efficient production, all the professionals involved in the localization process should provide their input. USERS OF A LOCALIZATION KIT Localizers, testers, engineers, and project leaders/managers are all potential users of a localization kit. Testers and engineers also need information on what to do with the files. Providing test cases to the tester as well as an overview of the project will ensure the project is checked thoroughly. PROJECT MANAGERS To properly arrange an effective project plan, localization project managers must be provided with estimates on the amount of text, art, video and audio to be localized before the software is assembled. Project managers working for localization vendors would need the following information:
LOCALIZERS Localizers will be interested in knowing which files need to be localized, for which audience they localize and, in most cases, what not to change in each file. Quite obviously, they will also be interested in the overall word count and the number of words in each file. They will appreciate information, instructions, and comments about the strings to localize and their features. All text must be finalized. ENGINEERS Engineers will be interested in instructions for modifying code to verify functionality in the target locale. Engineers will also be interested in hardware and software required for building, and in compilation and testing procedures and instructions. For cosmetic adjustments of dialog boxes, instructions on testing will include operating system version and configuration (resolution) settings required. Should full software engineering and cosmetic testing be expected from the localization vendor, the localization engineers should be provided with batch files allowing automatic configuration of any required system parameters and compilation in all languages. These files should be placed in a special folder. All code must be stable enough for testing. CREATING A LOCALIZATION KIT A localization kit helps meet client deadlines as well as quality and service goals by clarifying expectations, establishing better communication and organizing the localization project drop. Products to be localized should be reviewed for internationalization readiness prior to localization in order to leverage this work across multiple language versions. Before localization starts, localizers should be aware of a series of issues such as:
When creating a localization kit, stick to the basics:
When content is added later, organize it in a “mini” localization kit to supplement the main one, with its own set of resources, tools, documentation, and code to avoid rearranging the initial localization kit to include the updates. However, even though a localization kit can help avoid the cost, frustration, and delays that result from not clearly stating expectations, it is no substitute for regular communication between clients and vendors. CONTENTS OF A LOCALIZATION KIT Today, a software product consists of several types of objects that must be archived for re-releases, ported to different platforms, and created specifially for OEM’s (Original Equipment Manufacturers.) These can be pre-installed on computers or bundled with other hardware. These archives will also be used to create any necessary patches, which should then be added to the archives, once completed. The localization kit is what the localization vendor needs. Every client has unique requirements, timetables, deliverables, and constituencies. As a result, localization kits will vary from company to company, if not from project to project. Nonetheless, a number of components should be included in most kits. A localization kit normally consists of hundreds of files, some of which are translatable and many which are not. To build a software application, all the resource files and code files are needed, which are then compiled into a binary or executable file which can be run on a computer. Therefore, a comprehensive localization kit has build environments for software applications and/or the accompanying on-line help files. Examples of resources are the bitmaps used in toolbars, such as the printer icon which executes the print command. In most cases, these resources do not have to be changed for any localized versions of the product. The translatable information, such as the menu text, dialog box options, and error messages, is stored in resource files. A software product which has been well-internationalized stores all translatable text in resource files, which makes the localization job relatively simple. However, in many cases, files containing translatable text are found all throughout the build environment. It is the localization engineer’s responsibility to locate and identify all the translatable files and prepare them for translation. Localization engineers should ensure that translators know exactly what they need to do, so they can get started quickly. To assemble a comprehensive localization kit a few general steps can be followed:
To help the project manager compile the instructions for the members of a localization team, a localization kit should come with:
If any of the objects making a localization kit is lacking or is insufficiently detailed, the localization kit could prove difficult to use, and the time to answer questions and provide any missing information or resources will turn into unbudgeted, therefore, intolerable costs. PROJECT MANAGEMENT The localization kit should be divided into sections specifically built for the team working on the project following a well-organized folder structure, even though future versions of common operating systems will have deeply integrated indexing features, making a folder system almost obsolete. The project manager’s prime responsibility is to complete the localization kit with a project-specific section. Any localization kit should include a letter of assignment to be signed and returned by all the localization team members to function also as a contract between the parties if necessary. The letter of assignment should carry all quotations grouped by component, the change management agreement, the project milestones, and the development cycle “freezing points”. This should contain a statement of work, listing all expected services and deliverables, and all the relevant reference materials. STATEMENT OF WORK The purpose of a statement of work (SoW) is to detail the work requirements, i.e. “what is to be done”, for the project. A SoW will be the basis for potential offerers to compete for the contract and when it becomes contractual it shall be used as a standard for determining if the supplier meets the stated performance requirements. The SoW will also support the localization project manager in outlining the required work effort through a WBS (Work Breakdown Structure) diagram and establish a delivery schedule. The SoW should include, but is not limited to, all of the following:
To prevent any disputes on word counts, indications on counting tools and methods together with the resulting analysis log files should be provided. Each log file should contain the number of replicated and untranslated words, translation memory (if any) full and fuzzy matches, and frequently occurring segments. All settings for the translation tools (e.g. segmentation rules, minimum match value, maximum number of hits, penalties, etc.) should be specified to allow the team members to reproduce all statistics and properly apply the translation memories. These settings should also be used to produce statistics for progress reports and a graphic projection of delivery dates. BILL OF MATERIALS Each SoW should be marked with a version number for traceability of updates and accompanied with a detailed bill of materials (BoM). This should include:
Excerpt of a localizable file list from a bill of materials
REFERENCE MATERIAL The project manager’s responsibilities include the arrangement of any reference materials for the project, which should typically include:
SOFTWARE In developing the localization kit, the localization project manager should identify elements that may be culturally dependent, and decide whether to generalize them for all cultures or isolate them for localization. Isolation is performed by removing the cultural information to a resource file and replacing it with a routine, which looks up the appropriate information in the resource file. If isolation is required, the localization project manager will send the code back to the software engineers with proper instructions for correction. Example
of bug fix report
Example
of a query sheet
Example of progress report
The translation of software resources must come before that of on-line help and documentation to have the software terminology be available to guarantee crosswise terminology consistency. Therefore, when assembling the reference material, the localization project manager, together with the client’s software experts, will also arrange the software resources for translation, possibly converting the data for processing with a translation editor. Before actually starting the localization process, the localization project manager should ensure that the original text is clear and concise, grammatically correct and free from slang or technical expressions that may lead to mistranslations. The localization project manager should also check for language and references consistency and for translation memory integrity and correctness. In addition to the converted software resources, the localization kit should further contain an executable version of the software (for reference purposes and to help translators get acquainted with the product), as well as the entire build environment if final compilation and testing is required. A localization kit should be arranged according to the scope of the project, and include a separate section for traditional and Internet software if necessary. When available, the results of pilot project(s) should be made accessible to localizers to allow them to find some specific issues that may have been overlooked in the internationalization stage. TRADITIONAL SOFTWARE "Traditional" is used here to mean desktop or handheld static software as opposed to Internet software. A traditional software section should include:
INTERNET SOFTWARE A Web site or application is quite different from a "traditional" static software application, and can hardly be localized in "safe mode", i.e. working on binaries, resource scripts, or string files only. In most cases localizers should be able to access source files to replicate the site or the application, and possibly set up a test environment. Therefore, a web localization project manager’s first concern should be protecting the code from accidental changes and assembling a language pack. If the product has been internationalized correctly, all localizable text should have been extracted from code and a language pack should consist mainly of the string tables and the language-specific image files. Translators will “only” have to translate the relevant column of the string table. In a well-internationalized product, translatable text is usually placed in a text file that is included in server-side scripting files with an <!-- # include file/virtual=”...”--> statement. Each module of the site should have a folder where these include files are kept, separate from the main web site folders. A typical language pack for an Internet software section should include:
For each object, the associated application must be specified (e.g. Adobe Photoshop for .psd files, Microsoft Access for .mdb files, and Macromedia ColdFusion for .cfm files). DOCUMENTATION AND ON-LINE HELP Once the localized version of the software is edited, the localization engineers should re-import it into a CAT tool to create a software glossary containing all dialog items in source and target language. The localization kit should then be updated with the documentation, the on-line help files and the new glossary. The statement of work should also be updated with the new project schedule details. The software documentation is needed both as source files and as fully formatted DTP files. Possibly, a print-out of all documents requiring translation should be provided as well. All files must be included in the localization kit following a proper directory structure. A folder called Documentation could be created with subfolders labeled Product documentation and Project documentation. The Product documentation folder could contain a User documentation and an On-line help folder. The compiled versions of DTP documentation, together with the original source files and a tagged-format version must be provided in the User documentation folder for processing with translation tools. If a DTP version is required, the User documentation folder should also contain a copy of the compiler. Fonts and font types to be used must be clearly specified and provided if unusual or proprietary. When giving the naming conventions a rule must be provided for fonts names to be consistent with the names given in the target locale. Finally, the User documentation folder of a localization kit should contain a bill of material in the form of a spreadsheet listing:
The On-line help folder should contain the following:
If a compiled version is required, the On-line help folder should also contain a copy of the compiler. The on-line help associated graphics could also be stored in a specific Graphics subfolder of the On-line help folder or in a On-line help subfolder of a more generic Graphics folder of the localization kit. The Project documentation folder could contain project guidelines and projects templates, the project style guide specifying all style conventions, typography, and naming conventions. Where possible, the folder should also contain the style guide used by the technical writers of the source files. A Project documentation folder could contain the localization guide providing the naming rules, the guidelines for document setup if separate copies have to be created for each language/locale, information on the printer driver version and the printer description file to be used, and the guidelines and instructions for text expansion. If any special fonts are used, the localization guide will also detail the font requirements. Finally, the localization guide will provide for instructions for DTP compilation, including the compiler version, and for help testing, including required platforms, operating systems, browsers, and relevant versions. The Project documentation folder as well could contain a bill of material in the form of a worksheet with a spreadsheet listing file names, types, and a brief explanation of each file’s purpose, as well as any other notes, including any special fonts required. GRAPHICS The User documentation and the On-line help folders could contain a specific Graphics subfolder each; alternatively, a more generic Graphics folder can be created in the root folder of the localization kit. In any case, a Source folder could be created to store all artwork in source formats while a Final folder could be arranged to store non-editable files. When graphics are created using multi-layered image authoring systems text should be placed in specific discrete layers. For artwork available only in non-editable formats, all text should be extracted and a spreadsheet should be created in the same worksheet as for documentation with the strings to be translated and re-imported after localization. This worksheet could be stored in the Project documentation subfolder of the Documentation folder. The same worksheet could contain a spreadsheet with all the available information for the required images sorted by area:
Also, in the graphics section of the localization guide, guidelines for text expansion and instructions on how to deal with “restricted” symbols must be provided together with any information on alternative forms. ![]() MULTIMEDIA Since more and more localization projects now include an audio/video component, it is important to demonstrate both technical capability and comprehensive studio talent. Multimedia embraces a vast range of “documents” that may have two or more of text, graphics, sound, video, and animation; therefore, a very basic principle in making multimedia files states that digital localizable elements should be separated from one another on different tracks on the timeline. The ideal situation is to present localizers with the project files and project settings from which the presentation was constructed. In properly encoded MPEG video and AVI movies, audio and video streams can be extracted and separated to be saved back after editing or localizing. In summary, the multimedia section of a localization kit should contain:
Some projects may require the script(s) to be divided into individual paragraphs, depending on the size of the project, so that the resulting files can be managed individually in a more comfortable way with the same code for both the original and the target languages. Each element of a script should then be listed in the bill of materials with the associated file name. Again, a print-out of all documents requiring translation should be provided. Then, a spreadsheet should be created with all the available information for the multimedia files. This spreadsheet could be stored in the Project documentation subfolder of the Documentation folder of the localization kit, and should provide for:
The multimedia section of the localization guide, must provide for:
For MPEG files, a fully standard-compliant version with time code and subtitling information could be extremely useful. COLLATERALS Peripheral documents are usually referred to as “collaterals”. These are usually made of graphics file, sometimes of DTP documents. The localization kit should be provided with a Collaterals folder containing:
Again, a print-out of all material requiring translation should be provided. Then, a spreadsheet should be created with all the available information for collaterals. This spreadsheet could be added to the specification worksheet stored in the Project documentation subfolder of the Documentation folder of the localization kit, and should provide for:
Also, in the collaterals section of the localization guide, guidelines and instructions for text expansion, instructions for DTP compilation, including the compiler version, and special instructions on how to deal with legal, tax or financial issues must be provided. DELIVERY An overview of folder contents should be provided together with instructions for creating a language pack from the localized files for a language and for returning it. Before issuing, the content of the localization kit should be verified by a third party for key tools and information missing that are necessary for localization:
Finally, the localization kit should be stored on a CD or DVD and labelled with:
If the localization kit is updated to include patches or additional content after the product is released, a mini localization kit should be created with the critical objects stored on a separate disk labeled with the same information of the main localization kit and an additional tag stating it is an addendum. WRITING THE LOCALIZATION GUIDE The localization guide should be created before the actual work on the project begins, together with the project work plan. The localization guide contains the instructions for localizing a product. The policies contained with localization guide are product- or company-dependent. Although it may seem time-consuming to develop, a good guide can work well with many projects; therefore, in most cases, it could only be created once and reused on subsequent projects with little modifications. For the localization of the project to run smoothly, the better the instructions, the fewer the problems. Therefore, developing a good localization guide involves:
Instructions must be provided on how localized material being returned will have to be organized and formatted. Any duplication must be mapped and the correlation of files explained. The instructions contained in the localization guide should be clear and precise enough to have the files repackaged so they can be properly put back in the product. The localization guide in the localization kit should accurately list and clear all issues and closely track changes. All lists should be kept updated to work as trusted and valid tracking tools. The localization guide should also be immediately updated with answers to questions and issues raised. The localization guide should therefore provide for:
The localization guide should finally provide for detailed communication and project logging procedures. What follows is a suggested strategy for authoring a localization guide. A very brief - and not exhaustive - sample can be found in the Appendix. INTRODUCTION Provide an overview of the entire document: describe all data, functional and behavioral requirements. Describe the contents of the kit. PROJECT ORGANIZATION List the major project roles and the actual people involved, possibly including an organization chart. An appropriate project organization structure can be depicted in the following list:
PROJECT ISSUES Describe the overall project goals with an overview of the overall project plan stating cost estimates and a top-level schedule for the project. STATEMENT OF SCOPE Define the breadth and limitations of the work to be done, not how to do it. Give a description of the project and the software with major functionalities and constraints. Place the software in a business or product line context and outline the major strategic issues so that the reader can understand the “big picture”. If possible, provide a usage scenario for the software with a description of the software interface(s) to the outside world and the control flow for the system. CONTENTS OF THE KIT Provide instructions for pick-up. Explain how the kit is organized; provide instructions to unpack and install the kit. RESOURCE REQUIREMENTS Provide an overall description of all hardware, software, documentation, personnel, and data requirements with a context-level model of the system architecture. Resource requirements should specifically detail:
TOOLS, TECHNIQUES AND METHODOLOGIES TOOLS A Tools folder should be created with a subfolder for each tool labeled following the name of the tool. Specify the programming language(s), scripts, compilers and tools used to develop the software, and provide a list of any specific tools, techniques, and methodologies that are to be used when performing localization and testing activities. TECHNIQUES Explain the procedure for localizing each type of file and how to use any proprietary tools included in the kit. Specify whether the deliverable of translation memory is required, and if so, in what format. Provide instructions on how to deal with error messages, composite strings, word order, gender, articles, plurals, and text expansion. When the software can only be localized by translating string resource files out of context, include a description of the syntax of the string resource files and how to deal with control characters, and provide screen captures in the source language to better understand the context-less strings. Provide instructions on how to deal with legal, tax or financial issues. METHODOLOGIES List the specific work tasks to meet project requirements to permit the acquirer and offerer(s) to estimate the probable cost and the offerer(s) to determine the levels of expertise, manpower, and other resources needed to accomplish the task. If a Work Breakdown Structure (WBS) is being used in the project, organize tasks in accordance with the WBS. State specific duties of the vendor in such a way that the vendor knows what is required and completes all tasks to the satisfaction of the client. DELIVERABLES List and describe project deliverables. Provide enough explanations and details so that the reader will be able to understand what is being produced. Include a chart showing deliverables according to the project major milestones. RISKS List and describe circumstances or events that are out of the control of the project team and that could have an adverse impact on the project, so that all project stakeholders can anticipate and manage them, thereby reducing the probability that they will occur. Risks should be listed with their probability of occurrence and negative impact. For each risk listed, identify activities to perform to eliminate or mitigate the risk. COMMUNICATIONS Project managers should communicate regularly to stakeholders, informing them of the current status of the project and managing future expectations. If these key people are not kept well informed of the project progress, there is a greater likelihood of problems stemming from differing levels of expectations. In fact, in many cases where conflicts arise, it is not because of the actual problem, but because a customer or stakeholder has been taken by surprise. Establish a communication plan to determine communication needs of all people involved with the project or that will be affected by the project and provide consistent and timely information to all project stakeholders. Provide a project status report for all project team members to fill in regularly. What follows is a suggested project status report template to be combined with a progress report like the one in the reference material. See Project status report template on next page. QUALITY ASSURANCE PLAN Describe the various quality assurance tasks that will be carried out for the project and indicate how they will be synchronized with project milestones. Reference any standards and guidelines that are expected to be used on the project, and address how compliance with these standards and guidelines shall be determined. Enclose or reference any relevant artifacts. QUALITY GOALS, CONTROL, TOOLS AND METRICS Outline the quality expectations for the product and the quality considered acceptable for each deliverable. Describe the tasks associated with the creation of project deliverables to verify that deliverables are of acceptable quality and that they meet the completeness and correctness criteria established. List any quality-related tools that this project will utilize. Describe the product, project, and process metrics that are to be captured and monitored for the project. Provide descriptions of the various quality records that will be maintained during the project, including how and where each type of record will be stored and for how long. In a localization context, there are basically two types of metrics: production metrics and business metrics. Production metrics focus on measuring efficiency. Business metrics focus on measuring value. Any metrics requires as much data as possible, and, to be collected, data should be defined and tracked. See List of sample metrics on page 26. TEST PLAN AND VALIDATION CRITERIA Describe the approach to functional testing issues for validation with the types of tests to be conducted, including as much detail as possible. Specify the hardware and software resources, setup settings, and performance requirements and the expected results from testing. Indicate responsibilities for bug fixing. Should a script suite be used for automated testing to reproduce expected usage of the product, provide instructions on how to run each script. Further, it is essential that the functional flow of the software user interface is outlined, so that testers don’t need to go through all of the functionality for each segment. For the vendor to set up and run a project-specific testing platform, provide the following information:
Finally, to properly assess the avail of the tests performed, provide instructions to access the bug tracking database. WEB LOCALIZATION ISSUES Web localization presents a few specific issues requiring consideration. Since the localization of HTML documents is relatively easy, especially with translation tools that allow the “locking” of tags, instructions must be given to identify and access localizable content within scripts, which is not easily parseable by mechanical means. Provide instructions to separate UI, content and code elements, and to identify the code for back-end functionality and the code that governs the UI, since the back-end functionality of the site produces the items visible to the user and should be identical for all languages. Give code adaptation guidelines accornding to the new directory structure, charset, etc. Arrange strict naming conventions to avoid behavioral differences between Unix/Unix-like (case-sensitive) and Windows platforms, as well as the Web server approach to extensions. Provide information for the site/application structural analysis as per:
Provide instructions on how to deal with dynamic content, that is the part of the Web site/application frequently updated or event-driven often stored in a database in different formats. Finally, provide instructions on how to deal with keywords, taxonomies, stop word lists and profanity filters. MAC LOCALIZATION ISSUES A typical Mac OS application is not shipped as a single executable file. Applications are generally shipped as a directory (bundle) in the system that contains, in a hierarchical organization, the application executable and the resources to support that code. Resource files specific to a particular language are grouped together in a subdirectory of the bundle directory. This subdirectory is named after the ISO language code followed by a .lproj extension. The bundle structure makes it easy to add localizations to an application, provided that all the necessary UI resources are stored in the Resources directory. The internal structure of bundles is quite similar. From the standpoint of localization, executables that have associated UI need to be bundled. Similarly, certain types of content cannot be packaged in the bundle structure. Each .lproj subdirectory in a bundle has the same set of files; all versions of a resource file must have the same name. If a resource doesn’t need to be localized at all, it should be stored in the bundle’s Resources directory, not in the .lproj subdirectories. The .lproj should have only localizable resources. In general, the following types of files should be marked localizable:
LINUX LOCALIZATION ISSUES Technically, localizing FOSS (Free/Open Source Software) is not different from localizing commercial software. GNU/Linux desktop is composed of layers of subsystems working on top of one another. Every layer has its own locale-dependent operations. Therefore, to enable a language completely, it is necessary to work on all layers. The layers, from the bottom up, are as follows:
.po FILES The translation framework most commonly used in FOSS is GNU gettext, which covers more than 90 percent of GNU/Linux desktops. Messages in program source code are isolated in files loaded at program initialization. Then, all messages are retrieved by quick lookup during program execution. Message-storing files are in plain-text format and are designated with the extension .po and are usually handed off to localizers for translation. Normally, a Unicode editor is needed as UTF-8 is now used as standard text encoding. The original string in these files is represented by the keyword msgid and strings are kept between a pair of “”. The corresponding translations are represented by the keyword msgstr with translated strings between a pair of “”. The general structure of a .po file is as follows: white-space # translator-comments #. automatic-comments #: reference... #, flag... msgid “untranslated-string” msgstr “translated-string” #: reference... #, flag... msgid “untranslated-string” msgstr “translated-string” Comments begin with a #. Where the character # is followed by some other special character such as . and ;, comments are inserted automatically during the extraction process. CVS’S Development could go in parallel with translation, and message-storing files could continuously be updated with new strings. To have new strings merged seamlessly with the same .po files as those the translators are working on, CVS’s (Concurrent Versions System) are used. A CVS is a repository where all source code, the documentation and all the other program-related material is stored and maintained, with a version control system for ASCII files which may be changed by multiple users across the network. A CVS is kept online: the files can usually be downloaded freely, but only a few authorized people can change them back.
The root is the place where the development of the next major release is being carried out. The maintenance and bug-fixes of older versions are carried out on the branches from the root where the regular updates are being carried out in parallel. A sample CVS structure is depicted in the figure on the right. TERMS AND DEFINITIONS ACCELERATOR/SHORTCUT (KEY) A keyboard key combination used to access functions in menus and sub-menus is usually represented by a mnemonic which is shown as an underline on the menu line; the mnemonic typically refers to the initial letter of the function. BUG A persistent error in the code or routine of a program causing malfunction. BUILD The compilation of multiple software resource files into a single, final product that can be executed by a computer. BUILD ENVIRONMENT The tools, methods and procedures used for compiling software. CASE Computer-Aided Software Engineering; software tools used in software development for analysis, design, programming and maintenance providing automated methods for designing and documenting traditional structured programming techniques, and a symbolic language for describing parts or all the software and generating the necessary code. CHARACTER SET OR CHARSET
COLLATERAL All the document(s) intended for publication and the media used by a company for communication. COMPILING Converting a source code program into an executable program. DELIVERABLE The measurable, tangible and verifiable result or output of a process to be produced to complete a project or a part of it. DTP Desktop Publishing; the software and techniques used to lay out and format text on pages and to produce high quality printed or camera-ready materials such as software manuals for commercial printing. GUI Graphical User Interface, the combination of menus, screen design, keyboard commands, command language and online help, which creates the way a user interacts with a computer. INTERNATIONALIZATION The practice of creating source material that is locale independent, where all language-specific and market-specific content reside outside the core application and all information is presented in a format to which the end user is accustomed; internalization also implies making a product localizable. LEVERAGE The portion of translated material from a previous version that can be reused, usually expressed as a percentage. LOCALE
METRICS System of parameters or mithods of quantitative assessment of a process that is to be measured, along with the processes to carry out such measurement. MILESTONE A crucial and identifiable stage in the completion of a project whose failure could cause significant problems; in project management, a milestone is an activity with zero duration usually marking the end of a period and corresponding to the completion of a major deliverable. QUALITY ASSURANCE The process of assuring that the target document or application resembles the source document or application as closely as possible through subsequent checks. RESOURCE FILES Source files that contain information to be compiled into the program as well as the parts of the application that is seen by the user. REBUILD Recompilation of the software after translation and resize, to construct the localized version of an application. SCREENSHOT An electronic image depicting a particular on-screen state of a software product utilized in online help and documentation to explain or illustrate a specific software product function to the user. SHORTCUT KEY SIM-SHIP Simultaneous shipment; releasing all language versions (localized and original source) of a particular product at the same time. SOURCE CODE The human readable code that is compiled to make a program. SOURCE FILE A file containing source code that is used to compile an executable program. STRING Grouping of characters (letters, numbers, and/or punctuation marks) that need to be translated as if they contain text used in programs for error messages, button labels, etc. that will be seen by the user. Strings are often enclosed in single or double quotes. STYLE GUIDE A guide developed for a target language to define the translation style. The style guide can include writing style, usage, grammar, punctuation, font and typeface, capitalization, etc. TEST SCRIPT Written plans and instructions for testing a software product (either source product or localized product). USER INTERFACE The combination of menus, screen design, keyboard commands, command language and online help, which creates the way a user interacts with a computer. VOICEOVER Adding audio to a video where the speaker’s lip movements cannot be seen. BIBLIOGRAPHY
APPENDIX LOCALIZATION
GUIDE FOR <PRODUCT NAME> NOTICE Please note that any work delivered back to us must comply exactly with the below specifications. Non-compliance may result in payment deductions and quality actions up to and including deactivation from our contractor database. INTRODUCTION
2. Microsoft Access local database; 3. Microsoft SQL Server database scripts; 4. Screenshots; 5. User guide; 6. Online Help. To properly localize all elements, they should be translated in this order. The CD contains all the necessary files. They are all included in the Source folder. REQUIREMENTS To
perform the localization of
Before starting, please go through the following steps:
2. spend a few hours training on the use of the software. USER INTERFACE The user interface may be the most difficult element to localize, but unfortunately it should be the first. TOOL To
localize the user interface the RESOURCES The
resources for the user interface can be found in the <tool name> Source\Resources\<lang> FORMS LOCALIZATION Forms
should be localized first. Please refer to the [Any special instructions on how to localize forms follows] GUI DESIGN If strings appears truncated in the translated form, try moving or resizing elements directly from within the translated form. RULES Not every property and window should be translated. Do not translate [The list of elements/values not to be translated follows] SHORTCUT LETTERS The character & should be moved to the appropriate letter. It prefixes the shortcut letter. For instance, &Save indicates that the user can press Alt+S to activate this menu. Make sure that there is no two items in the same menu with the same activation letter. RECOMMENDATION Save before activating another window/form. RESOURCE SCRIPTS After completing the localization of forms, please localize the resources strings. Some of them do not come fromVARIABLES Some strings may contain variables such as %s, %0:s, %1:s, etc. These variables will be replaced by some text during the execution of the program. For the proper execution of the program, these variables should be included in the translation. However, the order can be changed for re-wording and to reformulate the sentence. RECOMMENDATION Make sure that all translations are enclosed between single quotes. Don’t forget to save from time to time. DELIVERY After
completion of the translation of the user interface,
zip the REBUILDING Rebuilding
will be done at Once these tests have been completed, you can download a new version of the software to run for further testing. MICROSOFT ACCESS LOCAL DATABASE CREATING Copy
the Microsoft Access local database from the Source\Database\Access\ OPENING Launch
LINGUISTIC TEST Starting with the setup module, launch each module one by one and check if there is any data in a language other than the target language. If you find any, please translate it before submitting the software for functionality testing. During the translation of the database, check each module for text accommodation and correctness. Please use the terminology query sheet to report any changes necessary in the user interface. DELIVERY After
completion of the translation of the Microsoft Access
local database, zip the Source\Database\Access\<lang> MICROSOFT SQL SERVER DATABASE SCRIPTS All
scripts are contained in as many RTF files in the
Source\Database\SQL_Server\ Open these files with Microsoft Word and, if possible, translate them with TRADOS to display only the text to be translated. This is black, while the text that should not be translated is grey. DELIVERY After
completion of the translation of the Microsoft SQL
Server database scripts, zip the \Source\Database\SQL_Server\<lang> folder on the local drive and send the file to SCREENSHOTS The manuals of DELIVERY After
completion, zip the \Source\DocumentationScreenshots\ USER MANUAL The user guide can be found in the \Source\Documentation\User_manual\<lang> folder of the CD. Copy this folder on the local drive. Remove the read-only attribute from the usrman<lang>.doc file and open it with Microsoft Word. Activate the field code visualization option and search “D://<product_code_name>//<version>//User_manual//Graphics//” to replace with the path to the new screenshots. De-activate the field code visualization option to check that the new screenshots appear in the manual. Start translating the document with a translation tool to save a memory for future versions of the product and respect style and formatting of the original document. Save the translation memory in the same folder as the manual. A compiled version (in PDF format) of the user manual is available in the \Source\Documentation\User_manual\En folder of the CD. DELIVERY After
completion, zip the \Source\Documentation\User_manual\<lang> ONLINE HELP The
source files for the online help can be found in the
\Source\Documentation\Online_help\<lang> The online help files both pertain to a standard Windows help. A compiled version is available in the \Source\Documentation\Online_help\En folder of the CD. FOOTNOTES An online help source file has three kinds of footnotes:
The keyword footnote can be extended or reduced. GRAPHIC LINKS Graphic links such as {bmc graphics\floating_menu.bmp} must not be translated. The help compiler will interpret them and attach the corresponding graphic during rebuilding. TOPIC JUMP Topic jump allows the reader to click on a link to be redirected to the chapter explaining this topic. A topic jump consists of two parts. The first part in green double underlined is displayed to the reader and should be translated. The second part is a hidden text and should not be translated. Never introduce any space between the first and second parts of a topic jump. TABLE OF CONTENTS When opening a help file, the reader is prompted with the table of contents of the help file. This is stored in a separate file with the extension .cnt. It is a plain text file that can be translated with a translation tool. The first line of a .cnt file should be modified to show the name of the help file; in the second line only the text after “Title” needs to be translated. In the following lines do not change the initial number, translate the text before the = sign, and keep the second part unchanged. DELIVERY After
completion, zip the \Source\Documentation\Online_help\<lang> folder on the local drive and send the file to DELIVERY SCHEDULE INSTRUCTIONS FOR DOWNLOADING/UPLOADING FILES FROM/TO THE L10NCO. FTP SERVER To download or upload project files from or to our FTP server via a standard ftp client use the following parameters:
Note: once in the download directory (from_l10nco) you will be able to see filenames. However, in the upload (to_l10nco) directory you will not be able to see filenames. SUPPORT Please note that all project messages must be written in English, so that they can be forwarded to any team member as necessary.
Warranty The information contained herein is supplied without representation or warranty of any kind, and does not represent a commitment on the part of Luigi Muzii or Gruppo L10N. Therefore, Luigi Muzii & Gruppo L10N assume no responsibility and shall have no liability, consequential or otherwise, of any kind arising from this material or any part thereof, or any supplementary materials subsequently issued by Gruppo L10N. Luigi Muzii & Gruppo L10N have made every effort to ensure the accuracy of this material and intends the information contained in this document to be accurate and reliable, are not responsible for typographic errors or other inaccuracies in the content provided, and reserve the right to modify this document and the information contained herewith without notifying current or prospective users. If you have any questions or comments, please contact: Gruppo L10N Piazza dei Navigatori, 11 00147 RomaItaly Internet: http://www.gruppol10n.it E-mail: info@gruppol10n.it All the products mentioned in this document to describe firms and their products are registered trademarks or trademarks of their respective proprietors. Copyright © 2005 Luigi Muzii & Gruppo L10N. All rights reserved. Printed in Italy and ClientSide News LLC.This document is the property of Luigi Muzii & Gruppo L10N. Modification, copy, transcription, distribution, republishing, translation, or upload for electronic, mechanical, optical, chemical, manual or whatsoever archiving for commercial exploitation of any kind is prohibited without the prior written consent of Luigi Muzii & Gruppo L10N. Luigi Muzii has been working in the language industry for 23 years as a translator, localizer, technical writer and consultant. He spent 12 years in several departments of a major Italian telecommunications company, and two in a broadcasting service company, then started a consulting firm on his own to act as an information design and delivery consultant. He is also a visiting professor of terminology and localizatoin at the Libera Università degli “Studi S. Pio V” in Rome, and is one of the founders and the team leader of Gruppo L10N. He can be reached at info@id2.it.
Find the latest version of this article at: www.gruppol10n.it/Pubblicazioni/Pubblicazioni/LocalizationKit/En/l10n_kit.htm
www.gruppol10n.it/Pubblicazioni/Pubblicazioni/LocalizationKit/It/l10n_kit.htm
Registration
required at http://www.gruppol10n.it/Home/informa.php.
http://www.gruppol10n.it/RSS/rss.xml
ClientSide
News Magazine - www.clientsidenews.com
E-mail this article to your colleague! Need more translation jobs? Click here! Translation agencies are welcome to register here - Free! Freelance translators are welcome to register here - Free! |
![]() |
|
![]() |
![]() |
|
![]() |
![]() | |||
Legal Disclaimer Site Map |