433 lines
18 KiB
HTML
433 lines
18 KiB
HTML
<HTML>
|
|
<HEAD>
|
|
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
|
|
<META NAME="Author" CONTENT="Rick Elliott">
|
|
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (Win95; I) [Netscape]">
|
|
<TITLE>Using the Kit</TITLE>
|
|
</HEAD>
|
|
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
|
|
|
|
<DIV ALIGN=right> </DIV>
|
|
|
|
<TABLE COLS=1 WIDTH="100%" >
|
|
<TR>
|
|
<TD>
|
|
<CENTER><B><FONT COLOR="#FF0000">WARNING! Protect yourself from data loss
|
|
by making regular backups of your work.</FONT></B></CENTER>
|
|
</TD>
|
|
</TR>
|
|
</TABLE>
|
|
|
|
<H2>
|
|
<A NAME="usekit"></A>3. Using the Kit</H2>
|
|
Once your copy of the Windows Front End Localization Kit is correctly installed,
|
|
you may begin your localization work by following the instructions in the
|
|
remainder of this document. The next section discusses the contents of
|
|
the localization notes provided with this kit. It is important that
|
|
you work properly with the instructions contained in these files or the
|
|
localized product you create may not function.
|
|
<H3>
|
|
<A NAME="locdbf"></A>Understanding the Localization Notes</H3>
|
|
Each binary file to be localized has an associated localization notes file,
|
|
called a "DOG" file. These files are created by the Netscape translation
|
|
tool, ToolCool. For a complete description of the process used to create
|
|
these files, please consult the <B>Netscape Translation Tool User's Guide
|
|
</B>that comes with those tools. It is very important that you work properly
|
|
with these localization notes, as they contain the bulk of the instructions
|
|
for this project. Most importantly, the .DOG files identify the "forbidden"
|
|
resources - those resources that you must not change.
|
|
|
|
<P>Each DOG file associated with a. dll or .exe has the same name as the
|
|
binary file, but will have the extension .DOG.
|
|
<UL>E.g. <B><TT>RESDLL.DLL</TT></B> has an associated <B><TT>RESDLL.DOG</TT></B></UL>
|
|
The .DOG file lists certain information about each resource contained in
|
|
the associated binary file; :
|
|
<PRE>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"</PRE>
|
|
Resource IDs are made up of a combination of the resource type and a unique
|
|
identifier, depending on the type of resource. See the individual
|
|
sections dealing with each resource type for a description of how resources
|
|
are identified. You must not change the contents of this field.
|
|
|
|
<P>The original English string is what you need to translate; however,
|
|
your translation must go in the XL_STR field. It is not useful to change
|
|
the contents of the US_STR field.
|
|
|
|
<P>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.
|
|
|
|
<P>If a resource requires some extra explanation, this can be found in
|
|
the COMMENT field.
|
|
|
|
<P>The REASON field indicates the results of the leveraging process which
|
|
created the database, which in turn was used to generate the .DOG file.
|
|
Unless you are using the Netscape translation tools, this field is not
|
|
useful to you.
|
|
|
|
<P>The TRANSLATE field dictates whether or not you can change the value
|
|
of the XL_STR field. If this field is blank, the resource is OK to translate;
|
|
if the value is "FALSE", you must not translate it. (When viewed through
|
|
ToolCool, this field appears as a check box. When checked, you may translate
|
|
this resource; when unchecked, you may not.)
|
|
|
|
<P>The next section presents the basic localization process as a checklist.
|
|
<CENTER>
|
|
<HR WIDTH="50%"></CENTER>
|
|
|
|
<H3>
|
|
<A NAME="l10nchecklist"></A>Localization Checklist</H3>
|
|
The basic localization process is this:
|
|
|
|
<P><B>1. Create your working directories</B>
|
|
<BR>Copy the English directory (<B><TT>kitRoot\products\client\windows\<I>platform</I>\en</TT></B>)
|
|
to a new directory at the same level. Be sure to use the appropriate
|
|
naming convention for your new directory. This is the ISO 639:1988
|
|
standard (<I>Code for the representation of names of languages</I>).
|
|
A sub-set of these codes can be found in the accompanying <A HREF="isocodes.htm">table</A>.
|
|
You can go <A HREF="http://www.indigo.ie/egt/standards/iso639/iso639-1-en.html">here</A>
|
|
for a complete listing of the standard.
|
|
|
|
<P><B>2. Identify files to localize</B>
|
|
<BR>Consult the <A HREF="localize_these_files.html#table1">Localize These
|
|
Files</A> page to learn which binary files contain localizable resources.
|
|
|
|
<P>For each file to be localized, follow these steps using the tool of
|
|
your choice, being careful to follow all instructions contained in the
|
|
Localization Notes for that resource.:
|
|
<UL>
|
|
<LI>
|
|
Localize the STRINGTABLE resources</LI>
|
|
|
|
<LI>
|
|
Localize the MENU resources</LI>
|
|
|
|
<LI>
|
|
Localize the DIALOG resources</LI>
|
|
|
|
<LI>
|
|
Localize the Javascript preferences stored in DATA resources (<TT>RESDLL.DLL</TT>
|
|
only)</LI>
|
|
|
|
<LI>
|
|
Localize the remaining DATA resources (<TT>RESDLL.DLL</TT> only)</LI>
|
|
</UL>
|
|
<B>3. Localize external files</B>
|
|
<BR>In addition to the binary resource modules requiring localization,
|
|
there are a number of external files which <I>may </I>need to be localized<SUP><FONT SIZE=-1><A HREF="#fn1">1<A NAME="fn1_source"></A></A></FONT></SUP>:
|
|
these are listed in the <A HREF="localize_these_files.html#table2">Localize
|
|
These Files</A> page. Further instructions can be found there.
|
|
|
|
<P><B>4. Complete post-translation processing</B>
|
|
<BR>After translation is complete, you need to test your work and deal
|
|
with any problems:
|
|
<UL>
|
|
<LI>
|
|
Test the localized product.</LI>
|
|
|
|
<LI>
|
|
Fix translation bugs using your localization tools or a resource editor.</LI>
|
|
|
|
<LI>
|
|
Fix dialog size bugs using your localization tools or a resource editor.</LI>
|
|
|
|
<LI>
|
|
Report core bugs to Netscape.</LI>
|
|
</UL>
|
|
<B>5. Return kits (optional)</B>
|
|
<BR>Finally, you may be required to deliver files back to Netscape:
|
|
<UL>
|
|
<LI>
|
|
Return the necessary files to Netscape (if required).</LI>
|
|
|
|
<LI>
|
|
Inform us that the localized files have been returned (if required).</LI>
|
|
</UL>
|
|
|
|
<HR WIDTH="50%">
|
|
<H2>
|
|
<A NAME="branding"></A>Product Branding Issues</H2>
|
|
If you are using this kit under the auspices of the Unlimited Localization
|
|
Program, you must remove or replace Netscape trademarked strings, images
|
|
and icons in your localized version. Click <A HREF="branding.html">here</A>
|
|
for instructions.
|
|
|
|
<P>
|
|
<HR WIDTH="50%">
|
|
<H2>
|
|
<A NAME="howtol10n"></A>How to Localize Different Resource Types</H2>
|
|
This section provides you with general information about localizing the
|
|
various resource types and files found with this kit. (Remember,
|
|
specific localization notes for binary resources is found in the associated
|
|
.DOG file.)
|
|
<H3>
|
|
<A NAME="localizeURLs"></A>Localizing URLs</H3>
|
|
|
|
<UL>Many resources of all types in the Communicator contain Internet addresses
|
|
in the form of URLs (Universal Resource Locators). Because many of these
|
|
URLs originally point to locations within the Netscape domain, how they
|
|
are localized depends on whether you are creating a branded Netscape version
|
|
or not. The rules for how to handle URLs are found <A HREF="localizeURL.html">here</A>.</UL>
|
|
|
|
<H3>
|
|
<A NAME="localize_stringtable"></A>Localizing String Tables</H3>
|
|
|
|
<UL>STRINGTABLE resources are the most sensitive, potentially problematic
|
|
resource type you will be working with. Therefore, you must pay close attention
|
|
to the instructions provided in the localization notes.
|
|
<H4>
|
|
<A NAME="locnote_stringtable"></A>Localization Notes</H4>
|
|
String table resources are identified by the word STRINGTABLE, followed
|
|
by the numeric resource ID generated from the project's header files.
|
|
For example, in the file BRPREF32.DLL, STRINGTABLE109 contains the label
|
|
and explanatory text for the Languages pane of the preference dialog.
|
|
Localization notes for string table resources are provided in the comments
|
|
field for each resource contained in the associated .DOG file. Please pay
|
|
special attention to these notes and to the TRANSLATE field. In general,
|
|
be aware of the following:
|
|
<BR>
|
|
<UL>
|
|
<LI>
|
|
Many strings contain C++ print format strings, such as %s, %ld, %lu, etc.
|
|
Do not modify these while translating the rest of the string.</LI>
|
|
|
|
<LI>
|
|
Many strings contain new line characters: \n. In general, you should
|
|
try leave these as you find them. In some cases, the new line is
|
|
used to delimit a matched set of strings used to build a button label,
|
|
a ToolTip and a status bar message all relating to single control. In these
|
|
cases, you must preserve the new line characters.</LI>
|
|
|
|
<LI>
|
|
Many strings actually show up as part of an HTML or Javascript document
|
|
or dialog. Be careful not to break format tags, like <TITLE>,
|
|
<FONT>, etc. by translating these.</LI>
|
|
</UL>
|
|
</UL>
|
|
|
|
<H3>
|
|
<A NAME="localize_menus"></A>Localizing Menus</H3>
|
|
|
|
<UL>Menu translation is usually not as tricky as localizing string tables;
|
|
however, you should take care to assign unique pickletters to menu choices.
|
|
This process can be made difficult by the fact that some strings that appear
|
|
in menus at runtime actually come from string tables. The special
|
|
ID Build provided in this kit can help you find these.
|
|
<H4>
|
|
<A NAME="locnote_menus"></A>Localization Notes</H4>
|
|
Menu resources are identified first by the word MENU, then by a resource
|
|
number, then by a sequential Item number. For example, in RESDLL.DLL, MENU2ITEM0
|
|
contains the word "&File". This resource is the first item in menu
|
|
structure structure #2 (the File menu). The ampersand character (&)
|
|
denotes the pickletter is the letter "F". Localization notes for
|
|
individual MENU resource items are provided in the comments field for that
|
|
item in the localization databases. Not all MENU resource items need to
|
|
be translated so again, please pay special attention to these notes and
|
|
to the TRANSLATE field!</UL>
|
|
|
|
<H3>
|
|
<A NAME="localize_dialogs"></A>Localizing Dialogs</H3>
|
|
|
|
<UL>Dialog translation is usually not as tricky as localizing string tables;
|
|
however, you should take care to assign unique pickletters to dialog controls.
|
|
This process can be made difficult by the fact that some strings that appear
|
|
in menus and dialogs at runtime actually come from string tables.
|
|
The special ID Build provided in this kit can help you find these. Once
|
|
a DIALOG resource has been translated, the dialog may need to be resized
|
|
using a visual resource editor, such as MSDEV (Microsoft<SUP><FONT SIZE=-1>®</FONT></SUP>
|
|
Visual C++ 4.0 or greater) or Borland<SUP><FONT SIZE=-1>®</FONT></SUP>
|
|
Resource Workshop.
|
|
<H4>
|
|
<A NAME="locnote_menus"></A>Localization Notes</H4>
|
|
Dialog resources are identified first by the word DIALOG , then by a resource
|
|
number, then by a sequential Item number. For example, in NSMAILUI.DLL,
|
|
DIALOG129Item0 contains the word "Password". This resource is the first
|
|
item (the dialog title) in DIALOG129. Localization notes for individual
|
|
DIALOG resource items are provided in the comments field for that item
|
|
in the localization databases. Not all DIALOG resource items need to be
|
|
translated so again, please pay special attention to these notes and to
|
|
the TRANSLATE field!</UL>
|
|
|
|
<UL><B>A special note on Dialog fonts</B>:
|
|
<BR>The second item in each dialog definition (e.g. DIALOGnnnITEM1) is
|
|
the font information for that dialog. If you find it necessary to
|
|
change the font name or size, be aware of the following fact: the font
|
|
size is represented in the translation database by the ASCII character
|
|
corresponding to that size. In the US product the default font size
|
|
is 9, which appears as a Horizontal Tab (Font size = 9 = ASCII character
|
|
9 = tab). In the database, this will appear as an unprintable character,
|
|
such as a black box. There are two concerns here: first, if you change
|
|
the font name, be careful not to accidentally delete the tab character.
|
|
Second, if you decide to change the font size, you can do so by substituting
|
|
the appropriate ASCII character which matches the new size you want.
|
|
For example, to change the font size to 10, replace the tab with a Line
|
|
Feed character (ASCII 10). This is rather confusing, so it is probably
|
|
best to avoid changing the fonts if possible.</UL>
|
|
|
|
<H3>
|
|
<A NAME="localize_prefs"></A>Localizing Javascript Preferences</H3>
|
|
|
|
<UL>Javascript is used to define default preference information for the
|
|
Communicator and it's components. These preferences end up stored
|
|
in the DATA section of RESDLL.DLL. You can use the ToolCool to edit these
|
|
just as you would STRINGTABLE resources, or use your preferred localization
|
|
tools.
|
|
|
|
<P>There are two groups of localizable Javascript preferences: ALL_PREFS
|
|
and CONFIG_PREFS. Most of these preference settings are not localizable;
|
|
these are marked as forbidden in the localization notes. Those that
|
|
are localizable should be treated very carefully, as Javascript is rather
|
|
particular about the format of the data it receives. Pay special
|
|
attention not to unbalance quotes, delete the preceding tab characters,
|
|
etc.</UL>
|
|
|
|
<UL>
|
|
<H4>
|
|
<A NAME="locnote_allprefs"></A>Localization Notes for ALL_PREFS</H4>
|
|
The entries in the ALL_PREFS section contain the default values for certain
|
|
cross-platform preferences, including some crucial for the correct operation
|
|
of localized versions. The rules for how to handle this section are
|
|
found <A HREF="localizeAllPref.html">here</A>.
|
|
<H4>
|
|
<A NAME="locnote_configprefs"></A>Localization Notes for CONFIG_PREFS</H4>
|
|
The entries in the CONFIG_PREFS section make up the configurable Toolbar
|
|
and Help menu items and their functions. How they are localized depends
|
|
on whether you are creating a branded Netscape version or not. The
|
|
rules for how to handle this section are found <A HREF="localizeConfigPref.html">here</A>.</UL>
|
|
|
|
<H3>
|
|
<A NAME="localize_rcdata"></A>Localizing DATA</H3>
|
|
|
|
<UL>There are several additional resources stored as DATA that cannot be
|
|
edited using ToolCool. Therefore, you must use a resource editor
|
|
and a text editor to localize these by following this procedure.
|
|
(This example uses Microsoft<SUP><FONT SIZE=-1>®</FONT></SUP> MSDEV;
|
|
if you prefer a different resource editor you may need to execute slightly
|
|
different steps).</UL>
|
|
|
|
<UL>
|
|
<UL>
|
|
<LI>
|
|
Open the file containing the DATA resources (usually RESDLL.DLL)</LI>
|
|
|
|
<LI>
|
|
Expand the DATA resource type.</LI>
|
|
|
|
<LI>
|
|
Select the resource you want to localize</LI>
|
|
|
|
<LI>
|
|
Choose <B><TT>Edit | Select All.</TT></B></LI>
|
|
|
|
<LI>
|
|
Choose <B><TT>Edit | Copy</TT></B>.</LI>
|
|
|
|
<LI>
|
|
Open a text editor window by clicking on the new document icon (or if you
|
|
prefer, you may use any other text editor).</LI>
|
|
|
|
<LI>
|
|
Choose <B><TT>Edit | Paste</TT></B>.</LI>
|
|
|
|
<LI>
|
|
You should now have the text representation of the DATA resource in your
|
|
text editor window. You may localize it according to the instructions in
|
|
the Localization Notes section for each DATA resource.</LI>
|
|
|
|
<LI>
|
|
When done, save your work, then select ALL the text (use Edit | Select
|
|
All if your editor supports this).</LI>
|
|
|
|
<LI>
|
|
Choose <B><TT>Edit | Copy</TT></B>.</LI>
|
|
|
|
<LI>
|
|
Go back to the RESDLL.DLL in MSDEV and select the DATA resource you have
|
|
translated.</LI>
|
|
|
|
<LI>
|
|
Choose <B><TT>Edit | Select All</TT></B>.</LI>
|
|
|
|
<LI>
|
|
Choose <B><TT>Edit | Paste</TT></B>.</LI>
|
|
|
|
<LI>
|
|
You should now see the original English DATA resource replaced by your
|
|
translated version.</LI>
|
|
|
|
<LI>
|
|
<FONT COLOR="#FF0000"><BLINK>IMPORTANT</BLINK>:</FONT> Go to the end of
|
|
the resource and insert a NULL value by typing the number zero (0) in the
|
|
first empty byte position.</LI>
|
|
|
|
<LI>
|
|
Close the resource and save your work.</LI>
|
|
</UL>
|
|
</UL>
|
|
|
|
<UL>Consult the <A HREF="localize_these_files.html#table3">Localize These
|
|
Files</A> to see the list of DATA resources that require localization:</UL>
|
|
|
|
<H3>
|
|
<A NAME="localize_text"></A>Localizing External Files</H3>
|
|
|
|
<UL>As mentioned above, you may choose (or be required) to translate several
|
|
external files. If this is the case, the links contained in the text
|
|
file section of <A HREF="localize_these_files.html#table2">Localize These
|
|
Files</A> will tell you what to do. (Note: this may be nothing at all).</UL>
|
|
|
|
<H3>
|
|
<A NAME="localize_npnul"></A>Localizing the NULL Plugin</H3>
|
|
|
|
<UL>The so-called "NULL" plugin is the default plugin that ships with all
|
|
versions of the Communicator. It's job is to list the plugins that
|
|
you have installed, and if you don't have a requested plugin, to help you
|
|
get it.
|
|
|
|
<P>The name and location of the NULL plugin is given in the <A HREF="localize_these_files.html#table2">Localize
|
|
These Files</A> binary file section. Localization notes have been provided
|
|
for you to use when localizing the resources for this file. Instructions
|
|
for individual resources can be found in the COMMENT field of the matching
|
|
.DOG file.
|
|
|
|
<P>
|
|
<HR WIDTH="50%"></UL>
|
|
|
|
<H2>
|
|
<A NAME="notes"></A>Notes</H2>
|
|
|
|
<UL><A NAME="fn1"></A>1. Whether or not you have to incorporate or create
|
|
localized version of these files depends on your agreement with Netscape,
|
|
if any; or if localization is occurring as part of the Universal Localization
|
|
Program, upon your desire to perform this work.[<A HREF="usingKit.html#fn1_source">BACK]</A></UL>
|
|
|
|
<CENTER><TABLE COLS=3 WIDTH="50%" >
|
|
<TR>
|
|
<TD>
|
|
<CENTER>[<A HREF="gettingStarted.html">BACK</A>]</CENTER>
|
|
</TD>
|
|
|
|
<TD>
|
|
<CENTER>[<A HREF="testKit.html">NEXT</A>]</CENTER>
|
|
</TD>
|
|
|
|
<TD>
|
|
<CENTER>[<A HREF="toc.html">CONTENTS</A>]</CENTER>
|
|
</TD>
|
|
</TR>
|
|
</TABLE></CENTER>
|
|
|
|
<CENTER></CENTER>
|
|
|
|
<CENTER><FONT FACE="Arial, Helvetica"><FONT SIZE=-2>1998, Copyright Netscape
|
|
Communications Corp. All Rights Reserved</FONT></FONT></CENTER>
|
|
|
|
</BODY>
|
|
</HTML>
|