localization tech note


Title: Key Resources in Win32 DLLs
Platform: Windows

Authors: Rob Thorne, Rick Elliott
Last modified: 21 May 1998

History

5 May 1998: Moved and updated information from Navigator 4.04 (rthorne)
20 May 1998: edited for public release.


Here is a partial list of resource localization errors that can make Communicator 4.05 misbehave either by causing a loss of functionality, or create cosmetic problems. We don't guarantee that this list is complete or even close to complete, but a number of us would have been happy to have a list like this, rather than learn through experience. So here's some of what we know about the product.

All of the resource problems we list here are in RESDLL.DLL. There may be similar issues in other files, but fairly few of them.

Crucial Issue Items Affected in RESDLL.DLL Type of Misbehavior
Note the use of one or more backtick characters (ASCII 96 = `) and apostrophes (ASCII 39 = ') instead of regular quotes. You MUST follow this convention. STRINGTABLE22151, STRINGTABLE22402, STRINGTABLE22404, STRINGTABLE22584, STRINGTABLE22585, STRINGTABLE22587, STRINGTABLE22588, STRINGTABLE23147, STRINGTABLE23148, STRINGTABLE23150, STRINGTABLE64355, STRINGTABLE64356, STRINGTABLE64387, STRINGTABLE64388, STRINGTABLE6576, STRINGTABLE6577, STRINGTABLE6597, STRINGTABLE6679, STRINGTABLE6747, STRINGTABLE22114 In many places, this error can cause Navigator to generate bad JavaScript, removing functionality or even crashing the product
Only translate "&lt; &lt; Remove" (the &lt; is the named entity for the left angle bracket ("<") STRINGTABLE22959 Potential for generating bad HTML
Only translate the URL portion, not 'Channel_Finder.' ALL_PREFSRCDATAnetcaster.containers.container1 Unknown [Can anyone tell me? --RMT]
Only translate the word "Back", leave the named entity &lt; this string must match STRINGTABLE30233 STRINGTABLE30226 Loss of functionality; the button won't work.
Only translate the word "Next", leave the named entity &gt; this string must match STRINGTABLE30232 STRINGTABLE30225 Loss of functionality; the button won't work.
Replace iso-8859-1 with sjis for Japanese, euc-kr for Korean, gb for Simplified Chinese, Big5 for Traditional Chinese, iso8859-2 for Latin 2 languages. ALL_PREFSRCDATAintl.accept_charsets You want the localized versions to try the correct encoding first; leaving this as is may force the user to select the encoding manually, which would be a pain.
The size of the "Subscribe" button in this dialog must also be able to accomodate the length of the word "Unsubscribe" (probably taken from STRINGTABLE22444). DIALOG1381Item5, DIALOG1382Item8, DIALOG1383Item3 Clipped strings in these dialogs.
This appears in the mail compose window; it is part of the drop down list of possible addressees for your message. The first letter in this string is used as an accelerator; no matter how you localize this string, you must specify the letter to be used as the accelerator as the first character in this string (even for dbcs). STRINGTABLE759, STRINGTABLE760, STRINGTABLE761, STRINGTABLE762, STRINGTABLE763, STRINGTABLE764 If you don't follow this convention, you won't have pickletters for these commands. Note you CAN use the usual & notation to get a pickletter, and it will be underlined.
This appears in the main Communicator menu when you view a page with frames. Select the pick letter so it doesn't conflict with the other menu items. STRINGTABLE62184 Pick-letter conflicts
This appears under the File menu. It needs a pickletter. STRINGTABLE62181 Pick-letter conflicts
This determines the default value of the ACCEPT_LANG property of the META tag. You can see this value by choosing Edit | Preferences, select Navigator | Language; the default value will be the 2 letter ISO Language code value you supply here. ALL_PREFSRCDATAintl.accept_languages Inappropriate preference for encoding when sites support multiple languages.
This determines the maximum number of characters a personal toolbar button title can contain. You may not need to change this, but it's there if you do. ALL_PREFSRCDATAbrowser.personal_toolbar_button.max_chars String clipping, toolbar buttons may be unavailable.
This dialog sometimes gets corrupted. The symptom is that when you try to download an unknown file type, instead of getting this dialog, you get either an empty dialog with no explanatory text, or you get an error message saying you've tried an unsupported operation. To fix this, open the US dll and the localized dll in MSDEV, copy the localized strings into the US dialog, then delete the dialog from the localized dll and copy and paste the one from the US dll into the localized dll. DIALOG142 This is a MIME type dialog. The dialog will be mostly blank when it is broken. DogTool should no longer do this, but if it does: set the VISIBLE property in the static text fields using the MFC GUI.
This is the attach button's tooltip in the mail message composer. STRINGTABLE774 Tooltip may be unavailable.
This is the status message displayed when you are searching a directory for certificates.

Note: since this is Javascript, you cannot use single or double quotes in this translation. If you need a quote or apostrophe, use a backtick character ( ` ), or even better, use the named entity "&#39;" to get the single quote in a safe way.

STRINGTABLE30456 Bad JavaScript could get generated, causing anything from lost functionality or a crash.
These menu items are the top level "&Communicator" menu title in a variety of menu resources. These all need to be localized exactly the same (including the pick letter), and STRINGTABLE62524 must match all of them exactly, including the pick-letter.
MENU2ITEM8, MENU120ITEM32, MENU214ITEM46, MENU218ITEM66, MENU221ITEM43, MENU224ITEM136, MENU231ITEM32, MENU1203ITEM40, MENU1255ITEM126, MENU1349ITEM10, and MENU1377ITEM62
The Bookmarks submenu and Netcaster menu item in the Window menu will fail to display if these top level menu items do not match STRINGTABLE62524
These menu items (&Bookmarks) must exactly match STRINGTABLE62525, including pickletter. MENU2ITEM17, MENU101ITEM140, MENU120ITEM41, MENU214ITEM54, MENU221ITEM52, MENU224ITEM145, MENU231ITEM41, MENU1203ITEM49, MENU1255ITEM135, MENU1349ITEM19, and MENU1377ITEM71 You won't be able to see the rest of the bookmarks after the Guide section in the Communicator | Bookmarks menu if you get this wrong.
These menu items ("&File Bookmark" in EN) must exactly match STRINGTABLE62526, including pickletter. MENU2ITEM19, MENU101ITEM142, MENU120ITEM43, MENU214ITEM56, MENU221ITEM54, MENU224ITEM147, MENU231ITEM43, MENU1203ITEM51, MENU1255ITEM137, MENU1349ITEM21, and MENU1377ITEM73 You won't be able to file a bookmark in the Communicator | Bookmarks | File Bookmark menu if you get this wrong.
These strings have the format "Status text\nTooltip text\nButton Text". If you omit the third field , then the second field is used for both button text and tooltip text; occasionally, the US version will omit the third field , usually when the text in the button is self-explanatory). If you need to abbreviate considerably, add tooltip text as the second field. STRINGTABLE103, STRINGTABLE139, STRINGTABLE34135, STRINGTABLE34137, STRINGTABLE32871, STRINGTABLE34521, STRINGTABLE42378, STRINGTABLE42427, STRINGTABLE42448, STRINGTABLE42458, STRINGTABLE59405 Missing tooltips, or cryptic tooltips. Note that the US string may only have two fields, but you may need three for your localized version.
This is a file type list in a file open or save dialog. Watch out for ID ONLY matches here, which can indicate we now support new file types in a given version. STRINGTABLE62336, STRINGTABLE62337 Some file types will not appear in an Open File dialog.
The client determines what is its default encoding to use for many purposes by looking at this setting in the STRINGTABLE, along with the settings in the RC_DATA.
STRINGTABLE62093
Japanese strings or Korean strings will render as Garbage in HTML dialogs.
This string should match the value used to translate STRINGTABLE42169 (but it's not critical if it doesn't). ALL_PREFSRCDATAeditor.color_scheme ???????
You only need to change this for non-LATIN1 languages. Use the CSID Reference table to look up the appropriate value for other languages. ALL_PREFSRCDATAintl.character_set This sets the default Encoding for browsing and also for UI components, this is a must for MBCS enablement.


1998, Copyright Netscape Communications Corp. All Rights Reserved