Netscape Translation Tools User's Guide

Contents


Disclaimer

Introduction

The Netscape Translation Tools reduce the time required to localize a software product by creating "localization databases" directly from an application's user interface and by providing a user-friendly interface for working with these databases. The databases are generated by the Netscape Leveraging Tool (a.k.a. DogLev). DogLev can reuse previous translations of your software, if available, further reducing localization costs. The Translation Tool (a.k.a. ToolCool) allows you to work with the information from leveraged databases, presenting a large amount of information about each localizable resource, including the original English string, the localized string, locking information, localization notes and any available leveraging information. ToolCool saves localized resources directly to the application binaries; there is no need to recompile a localized application using this method. For this reason, we refer to this process as "no compile" or "binary" localization.

What is Binary Localization?

Binary localization refers to the process of translating, or localizing, binary resource modules, as opposed to the text based source files that generated them. What this means to you is that you will be using the tools and instructions contained in the Windows Localization Kits to create translated .dll and .exe files, without having to compile from source. There are many benefits to this approach, as has already been mentioned, chief of which is the ability to rely on databases to store and manipulate localization data. Using these localization databases gives the localizer a much higher degree of control and simpler ease of use than the traditional source file localization efforts of the past.

The binary localization process starts by generating localization databases from existing binary resource modules. Since this is also the time that prior translations of earlier versions of the software can be applied to the current version, we call this the "leveraging" step. Leveraging is done with another tool developed at Netscape, the Netscape Leveraging Tool. This tool creates the localization databases for the current project. If a previously localized version of the product is available, the existing translations are copied into the databases where possible; otherwise, the databases contain all the US English strings of the current version.

Using ToolCool, translators work on all strings needing translation or editing. Once the translation work is complete, ToolCool updates the resource binary directly: there is no need to compile from source.

Understanding the Localization Databases

Each binary file to be localized has an associated localization database, created by the Netscape Leveraging Tool. These files are in the dBASE® (5.0 compatible) format. It is very important that you work properly with these databases, as they contain the bulk of the localization notes and instructions for this project. Most importantly, the database identifies the "forbidden" resources - those you must not change.

Each database associated with a. dll or .exe has the same name as the binary file, but will have the extension .DBF. The memo field component of the database has the extension .DBT.

The structure of the database is as follows:

Field Field Name Type Length Dec Index
1 FILENAME CHARACTER 20 N
2 IDENTIFIER CHARACTER 50 N
3 US_STR MEMO 10 N
4 XL_STR MEMO 10 N
5 TRANSLATE CHARACTER 20 N
6 REASON CHARACTER 100 N
7 COMMENT MEMO 10 N
8 FILE CHARACTER 20 N
9 LOCCOMMENT MEMO 10 N
10 BINARY BINARY 10 N

Explanation of fields:

Field Name Purpose
FILENAME Not used.
IDENTIFIER Resource ID.
US_STR Original English string.
XL_STR Target translated string.
COMMENT Localization notes for translator.
REASON Explanation of leveraging results.
TRANSLATE Resource is forbidden from translation if this is "FALSE"

Resource IDs are made up of a combination of the resource type: either STRINGTABLE, MENU, DIALOG or DATA and a numeric identifier assigned by the compiler that built the binary file. You cannot change the contents of this field.

The original English string shows what will be translated; however, your translation must go in the XL_STR field. You cannot change the contents of the US_STR field.

Your translation will be done in the XL_STR field. If there is no leveraged translation from a prior version, this string will originally match the US_STR value.

The TRANSLATE field dictates whether or not you can change the value of the XL_STR field. If you export the database contents to a text format, this field will contain either a blank value (Ok to translate) or the value "FALSE" (do not translate). When viewed through the Netscape Translation Tool (ToolCool), this field appears as a checkbox. When checked, you may translate this resource; when unchecked, you may not.

The REASON field indicates the results of the leveraging process which created the database.

If a resource requires some extra explanation, this can be found in the COMMENT field.

Finally, special engineering related comments can be found in the LOCCOMMENT field, which is only available through the text output from ToolCool or directly via the database. This field is not currently used.


System Requirements


Configuring the Netscape Translation Tool

It is recommended that you install ToolCool (ToolCool.exe) to the kitRoot\l10nkits\client\windows\tools\dogTool directory. Please refer to the Netscape Localization Kit documentation, available from mozilla.org, for further details on setting up your localization kit environment.

Configuring ODBC

The Translation tools use the ODBC drivers to access the localization databases. These drivers are normally installed by the Netscape Translation Tools installation program. It should not be necessary to do any special configuration of However, if you receive an error message when trying to open a database similar to the following:

"Data source name not found and no default driver specified"

you can manually configure ODBC by completing the following steps:


Setting the Default Locale

It is very important that you work with the translation databases only with the correct locale set for your Windows session. To verify or change your default locale, open the Start menu, then choose Settings | Control Panel. Select the Regional Settings icon. This will display a dialog similar to this one:

Image 3: Regional Settings Properties dialog

Use the drop down list to select the locale you desire. Make sure you set this as your system default by checking the checkbox. You will need your Windows NT CD-ROM and you must reboot in order for the default setting to take effect.


Using the Netscape Translation Tool - ToolCool

There are two ways to perform localization using ToolCool:
  1. work directly on the localization database (recommended)
  2. work on exported text files generated by ToolCool
The first method is recommended, because the process of importing and exporting localized text files to different file formats may introduce unknown errors; working directly on the localization database is safer. In either case, however, you MUST save your localization work to the application's resource binaries using ToolCool's SAVE function. If you have localized text files generated by ToolCool, you must import them back into the localization database before saving them to the binary file.

Here is an overview of using ToolCool to localize your software. Note: this overview assumes you have downloaded or created localization databases for the product you wish to localize.

Fixing Bugs Using ToolCool

When you fix any translation bugs, except for resizing dialogs, you MUST fix the resource in the translation databases and use the Save to DLL feature of ToolCool. This way, your translation database will always be up-to-date. If you fix the bug directly in the binary, using MSDEV, for example, your fix will not be reflected in the database and a regression (reappearance of a previously fixed bug) may occur if you use the SAVE to DLL feature of ToolCool again.


Using DogLev

DogLev is a resource "leveraging tool." Leveraging is the process of moving translations from one version to the next. DogLev works by comparing 3 versions of any given resource binary (.DLL or .EXE). DogLev writes leveraged resource information to a 4th version (the new localized target). It also creates a database that can be used by ToolCool to do further translations. The graphic below represents leveraging from German 4.x to German 5.0.

The Leveraging Process

When DogLev leverages a set of files, there are 4 basic results for any resource the program knows how to deal with1. These results are written to the REASON field of the translation database for each file leveraged. These results are explained below.

The possible results are:

Making It Work

There are two ways to use DogLev: through the GUI and via the command line (DOS). In either case, you need to provide a target .DBF, and 4 instances of a resource .DLL (or .EXE containing resources).

The 4 instances you will need are:

Example: You want to go from localized 4.03 Greek to 4.05 Greek. Set up your working environment so that you have 4 directories, each with a full compliment of the files you want to localize. The simplest directory structure would look like this:


(temp will be your language directory - Greek in this example.)

Place the following versions of the files you want to leverage into the appropriate directories:

4.05 32-bit US English version
4.05 32-bit US English version
4.03 32-bit English version
4.03 32-bit Greek version

Note: It is VERY important that the versions match properly. If, for example, you used 4.03 to localize Greek, but used a 4.04 version in oldUS, the leveraging results will have errors. oldUS must contain 4.03 in this example.

Please note: you MUST have your NT system locale set properly or you may experience character corruption during leveraging. This is definitely a risk for languages that don't use the DOS 437 or DOS 850 code pages.


Notes

1. DogLev currently knows how to handle the following resources: <BACK>

2. Menus and dialogs don't have set ID values, as do string tables. The leveraging tool relies on the ID to make it's matching algorithm work with 100% certainty. Thus, if a menu or dialog control is added to an existing, previously translated version, leveraging is often not possible.
<BACK>

1998, Copyright Netscape Communications Corp. All Rights Reserved