1192830SedEasy Editor ("ee") provides the ability to translate the messages 2192830Seddisplayed to the user and the commands entered. This is done via message 3192830Sedcatalogs, following X/Open standards. ee supports eight bit characters, 4192830Sedas well as 16-bit characters. The Chinese Big 5 code set is the 16-bit 5192830Sedcode set that ee was modified to handle, as it is relatively easy to 6192830Sedsupport since two byte characters also take up two columns on the screen, 7192830Sedthereby simplifying the screen position calculations. Other multibyte 8192830Sedcode sets may function, but have not been tested. 9192830Sed 10192830Sed(The name ee.i18n.guide is for "ee internationalization guide". The i18n 11192830Sedabbreviation is used because there are 18 characters between the first 12192830Sedletter ("i") and last ("n") of "internationalization".) 13192830Sed 14192830SedAll of the messages, warnings, information, and commands, are contained 15192830Sedin the message catalog. Each numbered entry represents an individual 16192830Sedstring used by ee. Some strings contain formatting information for 17192830Sedformatted print statements, which are of the form "%s", or "%d", these 18192830Sedmust be preserved in the translation, or the correct information will not 19192830Sedbe displayed. For those strings containing multiple formatting codes, 20192830Sedthe order of each item must be preserved as well. 21192830Sed 22192830SedMessage content 23192830Sed1 title for modes, or settings menu 24192830Sed2 - 8 entries for modes menu, each line should be the same length 25192830Sed (padded with spaces) 26192830Sed9 - 34 other menu titles and entries 27192830Sed35 - 56 help screen 28192830Sed57 - 61 actions assigned to control keys 29192830Sed62 - 66 commands information 30192830Sed67 message displayed when info window turned off 31192830Sed68 indication that no file name was entered when invoking ee 32192830Sed69 prompt for decimal value of character to be entered 33192830Sed70 message displaying the print command being invoked 34192830Sed71 prompt for command 35192830Sed72 prompt for name of file to be written 36192830Sed73 prompt for name of file to be read 37192830Sed74 string used to display the decimal value of the character 38192830Sed the cursor is on 39192830Sed75 string displaying an unrecognized command 40192830Sed76 string indicating that the command entered is not a unique 41192830Sed substring of a valid command 42192830Sed77 string indicating the current line number 43192830Sed78 string for displaying the length of the line 44192830Sed79 string for displaying the name of the file 45192830Sed80 - 83 strings showing how to invoke ee, and its options 46192830Sed84 message indicating that the file entered is a directory, not a 47192830Sed text file 48192830Sed85 message informing that the entered file does not yet exist 49192830Sed86 message informing that the file can't be opened (because of 50192830Sed permission problems) 51192830Sed87 message after file has been read with the file name and number 52192830Sed of lines read 53192830Sed88 message indicating that the file has been read 54192830Sed89 message indicating that the file is being read 55192830Sed90 message indicating that permissions only allow the file to be 56192830Sed read, not written 57192830Sed91 message after file has been read with the file name and number 58192830Sed of lines read 59192830Sed92 prompt for name of file to be saved (used when no name was 60192830Sed entered for a file to edit) 61192830Sed93 message indicating that the file was not written, since no 62192830Sed name was entered at the prompt 63192830Sed94 prompt asking user if changes should not be saved ("yes_char" 64192830Sed will be expected for affirmative response) 65192830Sed95 "yes" character, single character expected to confirm action 66192830Sed (can be upper or lower case, will be converted to upper-case 67192830Sed during test) 68192830Sed96 prompt 69192830Sed97 error message 70192830Sed98 message indicating that the named file is being written 71192830Sed99 message indicating the name of the file written, the number of 72192830Sed lines, and the number of characters (order of items must be 73192830Sed maintained) 74192830Sed100 search in progress message 75192830Sed101 message that the string was not found 76192830Sed102 prompt for search 77192830Sed103 message that string could not be executed 78192830Sed104 self-explanatory 79192830Sed105 message for menus, indicating that the Escape character will 80192830Sed allow the user to exit the menu 81192830Sed106 error message indicating the menu won't fit on the screen 82192830Sed107 self-explanatory 83192830Sed108 prompt for shell command 84192830Sed109 message displayed while formatting a paragraph 85192830Sed110 string which places message for spell checking at top of 86192830Sed buffer (the portions 'list of unrecognized words' and 87192830Sed '-=-=-=-=-=-' may be replaced, but the rest must remain the 88192830Sed same) 89192830Sed111 message informing that spell checking is in progress 90192830Sed112 prompt for right margin 91192830Sed113 error informing user that operation is not permitted in ree 92192830Sed114 string indicating mode is turned 'on' in modes menu 93192830Sed115 string indicating mode is turned 'off' in modes menu 94192830Sed116 - 131 strings used for commands (some also used for initialization) 95192830Sed132 - 144 strings used for initialization 96192830Sed145 entry for settings menu for emacs key bindings settings 97192830Sed146 - 153 help screen entries for emacs key bindings info 98192830Sed154 - 158 info window entries for emacs key bindings info 99192830Sed159 string for turning on emacs key bindings in the init file 100192830Sed160 string for turning off emacs key bindings in the init file 101192830Sed161 fifth line of usage statement 102192830Sed162 error message when unable to save configuration file 103192830Sed163 positive feedback about saving the configuration file 104192830Sed164 - 167 menu items for saving editor configuration 105192830Sed168 error message when unable to save configuration file 106192830Sed169 error message for ree when not specifying the file 107192830Sed180 self-explanatory 108192830Sed181 - 182 indicators of more information in menu (for when scrolling 109192830Sed menus because menu contents won't fit vertically on screen) 110192830Sed183 menu entry for modes menu for 16 bit characters 111192830Sed184 - 185 strings for initialization to turn on or off 16 bit 112192830Sed character handling 113192830Sed 114192830SedCare should be taken when translating commands and initialization keywords 115192830Sedbecause the algorithm used for detecting uniqueness of entered commands 116192830Sedwill not be able to distinguish words that are not unique before the end 117192830Sedof the shorter word, for example, it would not be able to distinguish the 118192830Sedcommand 'abcd' from 'abcde'. 119192830Sed 120192830SedAfter translating the messages, use the 'gencat' command to create the compiled 121192830Sedcatalog used when running the software. The standard syntax would be: 122192830Sed 123192830Sed gencat ee.cat ee.msg 124192830Sed 125192830SedWhere ee.msg is the file containing the translations, and ee.cat is the 126192830Sedcompiled catalog. If the file ee.cat does not exist, it will be created. 127192830SedCheck the documentation for your system for proper syntax. 128192830Sed 129192830SedMessage catalog placement varies from system to system. A common location 130192830Sedfor message catalogs is in /usr/lib/nls. In this directory are 131192830Seddirectories with the names of other languages. The default language is 132192830Sed'C'. There is also an environment variable, named NLSPATH used to 133192830Seddetermine where message catalogs can be found. This variable is similar 134192830Sedto the PATH variable used for commands, but with some differences. The 135192830SedNLSPATH variable must have the ability to handle different names for 136192830Sedlanguages and the catalog files, so it has field descriptors for these. A 137192830Sedtypical setting for NLSPATH could be: 138192830Sed 139192830Sed NLSPATH=/usr/lib/nls/%L/%N.cat:/usr/local/lib/nls/%L/%N.cat 140192830Sed 141192830SedWhere "%L" is the field descriptor for the language (obtained from the 142192830SedLANG environment variable) and "%N" is the name of the file (with the 143192830Sed".cat" appended by the path variable, it is not passed from the requesting 144192830Sedprogram). The colon (:) is used to separate paths, so in the above 145192830Sedexample there are two paths possible for message catalogs. You may wish 146192830Sedto maintain catalogs for applications that are not supported by your 147192830Sedsystem vendor in a location unique for you, and this is facilitated by the 148192830SedNLSPATH variable. Remember to set and export both the LANG and NLSPATH 149192830Sedvariables for each user that expects to use localization either in a 150192830Sedsystem-wide profile or in each user's profile. See your system 151192830Seddocumentation for more information. 152192830Sed 153192830SedThe message catalog supplied with ee also uses the '$quote' directive to 154192830Sedspecify a quote around strings to ensure proper padding. This directive 155192830Sedmay not be supported on all systems, and lead to quotes being included in 156192830Sedthe string used in ee, which will cause incorrect behavior. If the 157192830Sed'$quote' directive is not supported by your system's gencat command, edit 158192830Sedthe msg file to remove the leading and trailing quotation marks. 159