1Easy Editor ("ee") provides the ability to translate the messages 2displayed to the user and the commands entered. This is done via message 3catalogs, following X/Open standards. ee supports eight bit characters, 4as well as 16-bit characters. The Chinese Big 5 code set is the 16-bit 5code set that ee was modified to handle, as it is relatively easy to 6support since two byte characters also take up two columns on the screen, 7thereby simplifying the screen position calculations. Other multibyte 8code sets may function, but have not been tested. 9 10(The name ee.i18n.guide is for "ee internationalization guide". The i18n 11abbreviation is used because there are 18 characters between the first 12letter ("i") and last ("n") of "internationalization".) 13 14All of the messages, warnings, information, and commands, are contained 15in the message catalog. Each numbered entry represents an individual 16string used by ee. Some strings contain formatting information for 17formatted print statements, which are of the form "%s", or "%d", these 18must be preserved in the translation, or the correct information will not 19be displayed. For those strings containing multiple formatting codes, 20the order of each item must be preserved as well. 21 22Message content 231 title for modes, or settings menu 242 - 8 entries for modes menu, each line should be the same length 25 (padded with spaces) 269 - 34 other menu titles and entries 2735 - 56 help screen 2857 - 61 actions assigned to control keys 2962 - 66 commands information 3067 message displayed when info window turned off 3168 indication that no file name was entered when invoking ee 3269 prompt for decimal value of character to be entered 3370 message displaying the print command being invoked 3471 prompt for command 3572 prompt for name of file to be written 3673 prompt for name of file to be read 3774 string used to display the decimal value of the character 38 the cursor is on 3975 string displaying an unrecognized command 4076 string indicating that the command entered is not a unique 41 substring of a valid command 4277 string indicating the current line number 4378 string for displaying the length of the line 4479 string for displaying the name of the file 4580 - 83 strings showing how to invoke ee, and its options 4684 message indicating that the file entered is a directory, not a 47 text file 4885 message informing that the entered file does not yet exist 4986 message informing that the file can't be opened (because of 50 permission problems) 5187 message after file has been read with the file name and number 52 of lines read 5388 message indicating that the file has been read 5489 message indicating that the file is being read 5590 message indicating that permissions only allow the file to be 56 read, not written 5791 message after file has been read with the file name and number 58 of lines read 5992 prompt for name of file to be saved (used when no name was 60 entered for a file to edit) 6193 message indicating that the file was not written, since no 62 name was entered at the prompt 6394 prompt asking user if changes should not be saved ("yes_char" 64 will be expected for affirmative response) 6595 "yes" character, single character expected to confirm action 66 (can be upper or lower case, will be converted to upper-case 67 during test) 6896 prompt 6997 error message 7098 message indicating that the named file is being written 7199 message indicating the name of the file written, the number of 72 lines, and the number of characters (order of items must be 73 maintained) 74100 search in progress message 75101 message that the string was not found 76102 prompt for search 77103 message that string could not be executed 78104 self-explanatory 79105 message for menus, indicating that the Escape character will 80 allow the user to exit the menu 81106 error message indicating the menu won't fit on the screen 82107 self-explanatory 83108 prompt for shell command 84109 message displayed while formatting a paragraph 85110 string which places message for spell checking at top of 86 buffer (the portions 'list of unrecognized words' and 87 '-=-=-=-=-=-' may be replaced, but the rest must remain the 88 same) 89111 message informing that spell checking is in progress 90112 prompt for right margin 91113 error informing user that operation is not permitted in ree 92114 string indicating mode is turned 'on' in modes menu 93115 string indicating mode is turned 'off' in modes menu 94116 - 131 strings used for commands (some also used for initialization) 95132 - 144 strings used for initialization 96145 entry for settings menu for emacs key bindings settings 97146 - 153 help screen entries for emacs key bindings info 98154 - 158 info window entries for emacs key bindings info 99159 string for turning on emacs key bindings in the init file 100160 string for turning off emacs key bindings in the init file 101161 fifth line of usage statement 102162 error message when unable to save configuration file 103163 positive feedback about saving the configuration file 104164 - 167 menu items for saving editor configuration 105168 error message when unable to save configuration file 106169 error message for ree when not specifying the file 107180 self-explanatory 108181 - 182 indicators of more information in menu (for when scrolling 109 menus because menu contents won't fit vertically on screen) 110183 menu entry for modes menu for 16 bit characters 111184 - 185 strings for initialization to turn on or off 16 bit 112 character handling 113 114Care should be taken when translating commands and initialization keywords 115because the algorithm used for detecting uniqueness of entered commands 116will not be able to distinguish words that are not unique before the end 117of the shorter word, for example, it would not be able to distinguish the 118command 'abcd' from 'abcde'. 119 120After translating the messages, use the 'gencat' command to create the compiled 121catalog used when running the software. The standard syntax would be: 122 123 gencat ee.cat ee.msg 124 125Where ee.msg is the file containing the translations, and ee.cat is the 126compiled catalog. If the file ee.cat does not exist, it will be created. 127Check the documentation for your system for proper syntax. 128 129Message catalog placement varies from system to system. A common location 130for message catalogs is in /usr/lib/nls. In this directory are 131directories with the names of other languages. The default language is 132'C'. There is also an environment variable, named NLSPATH used to 133determine where message catalogs can be found. This variable is similar 134to the PATH variable used for commands, but with some differences. The 135NLSPATH variable must have the ability to handle different names for 136languages and the catalog files, so it has field descriptors for these. A 137typical setting for NLSPATH could be: 138 139 NLSPATH=/usr/lib/nls/%L/%N.cat:/usr/local/lib/nls/%L/%N.cat 140 141Where "%L" is the field descriptor for the language (obtained from the 142LANG environment variable) and "%N" is the name of the file (with the 143".cat" appended by the path variable, it is not passed from the requesting 144program). The colon (:) is used to separate paths, so in the above 145example there are two paths possible for message catalogs. You may wish 146to maintain catalogs for applications that are not supported by your 147system vendor in a location unique for you, and this is facilitated by the 148NLSPATH variable. Remember to set and export both the LANG and NLSPATH 149variables for each user that expects to use localization either in a 150system-wide profile or in each user's profile. See your system 151documentation for more information. 152 153The message catalog supplied with ee also uses the '$quote' directive to 154specify a quote around strings to ensure proper padding. This directive 155may not be supported on all systems, and lead to quotes being included in 156the string used in ee, which will cause incorrect behavior. If the 157'$quote' directive is not supported by your system's gencat command, edit 158the msg file to remove the leading and trailing quotation marks. 159