PageRenderTime 10ms CodeModel.GetById 1ms app.highlight 4ms RepoModel.GetById 1ms app.codeStats 0ms

Unknown | 158 lines | 147 code | 11 blank | 0 comment | 0 complexity | ba5de1cb1ef714b065a59fc2ebd383ae MD5 | raw file
  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. 
 10(The name 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".) 
 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. 
 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
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'.
120After translating the messages, use the 'gencat' command to create the compiled 
121catalog used when running the software.  The standard syntax would be:
123	gencat ee.msg
125Where ee.msg is the file containing the translations, and is the 
126compiled catalog.  If the file does not exist, it will be created.  
127Check the documentation for your system for proper syntax.  
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:
139	NLSPATH=/usr/lib/nls/%L/
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.
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.