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