## 5. Troubleshooting

This section discusses tools and tips for diagnosing, correcting or avoiding problems encountered using this localization kit.

### Using the idBuild

A special build of the US English product is provided with this kit, called the idBuild. This version of the product is designed to help you locate where specific strings are coming from within the resources. It does this by prepending to the resource string (putting in front) a token representing the resource ID. The token will be in the following form:

- an initial letter, either M, D or S, which stands for MENU, DIALOG or STRINGTABLE. (RCDATA is ignored.)
- the resource's numeric id
- for Menus and Dialogs, a dash followed by the Item number

Example: D2298-3 = DIALOG2298Item3

This knowledge can help expand upon the information provided in the localization notes by giving you the actual context in which a specific string appears. It can also help you locate problematic issues, such as STRINGTABLE resources being used in menus, concatenated strings, etc.

NOTE: the idBuild is provided "AS IS" with no guarantees as to functionality, stability or fitness for any purpose. It may crash, or some features may not work due to the unexpected way in which the resources have been modified. Use it at your own risk.

To use the idBuild:

- Install the current version of Communicator (4.03 as of this writing)
- Make backup copies of the 8 resource binaries listed in the table above. Store these copies somewhere safe.
- Copy the 8 resource binaries provided in the `kitRoot\products\client\windows\32bit\en\nav40\program\idBuild` directory to the installed version's `Program` directory (replacing the originals).
- Start the program as usual.

What you will see will be the modified Communicator, with resource IDs visible next to the actual English strings. In some cases, you might not be able to see the entire string because of the increased string length. If absolutely necessary, you can modify the idBuild's binaries using MSDEV to produce a more useful version, or you may simply inspect the strings you can't fully see at runtime.

idBuild Main Menu

In the image above, you can see the Communicator's main menu and the toolbar buttons displayed with attached resource IDs. Note how most of the menu items begin with "M", telling you they are standard menu resources. However, a few begin "S", indicating they come from the STRINGTABLE resources. These require special attention when assigning pickletters.

If you see a string in the product itself (not a web page being displayed) that does not have a resource ID attached, there are 4 possibilities as it's origin:

1. It is part of a multipart string. For example, the toolbar buttons are made up of strings with 3 components, each separated by newline characters (`\n` ). The first part is the status bar message; this will have the resource ID. The second and third components are the ToolTip (pop-up help message) and the button label itself. These won't show the resource ID because it is prepended to the first part.

2. The string comes from an RCDATA resource. For example, the Help menu contains a number of entries that come from CONFIG_PREFS. These are not touched by the idBuild generation process.

3. The string comes from an external source. For example, the idBuild doesn't contain the MFC resources, so any strings coming from MFC42.dll will be in there original form.

4. The string is hard coded in the Netscape binary. There are still several strings that have not been resourced (for example, the Java Console is entirely hard coded). You will not be able to localize these for this version.

[BACK] | [NEXT] | [CONTENTS]

1998, Copyright Netscape Communications Corp. All Rights Reserved